[med-svn] [r-bioc-rbgl] 01/01: New upstream version 1.50.0+dfsg1

Andreas Tille tille at debian.org
Fri Nov 11 21:49:43 UTC 2016


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

tille pushed a commit to annotated tag upstream/1.50.0+dfsg1
in repository r-bioc-rbgl.

commit d35f4d74b143f525025b26970c3648f18c136c7b
Author: Andreas Tille <tille at debian.org>
Date:   Fri Nov 11 22:28:50 2016 +0100

    New upstream version 1.50.0+dfsg1
---
 inst/old_boost/rbgl_trimmed_boost_1_49_0.tar.gz    |  Bin 1937497 -> 0 bytes
 src/rbgl_trimmed_boost_1_61_0/boost/align.hpp      |   23 -
 .../boost/align/align.hpp                          |   20 -
 .../boost/align/align_down.hpp                     |   27 -
 .../boost/align/align_down_forward.hpp             |   24 -
 .../boost/align/align_up.hpp                       |   27 -
 .../boost/align/align_up_forward.hpp               |   24 -
 .../boost/align/aligned_alloc.hpp                  |   44 -
 .../boost/align/aligned_allocator.hpp              |  161 -
 .../boost/align/aligned_allocator_adaptor.hpp      |  185 -
 .../align/aligned_allocator_adaptor_forward.hpp    |   23 -
 .../boost/align/aligned_allocator_forward.hpp      |   23 -
 .../boost/align/aligned_delete.hpp                 |   32 -
 .../boost/align/aligned_delete_forward.hpp         |   20 -
 .../boost/align/alignment_of.hpp                   |   54 -
 .../boost/align/alignment_of_forward.hpp           |   21 -
 .../boost/align/assume_aligned.hpp                 |   29 -
 .../boost/align/detail/addressof.hpp               |   34 -
 .../boost/align/detail/align.hpp                   |   38 -
 .../boost/align/detail/align_cxx11.hpp             |   22 -
 .../boost/align/detail/align_down.hpp              |   29 -
 .../boost/align/detail/align_up.hpp                |   29 -
 .../boost/align/detail/aligned_alloc.hpp           |   52 -
 .../boost/align/detail/aligned_alloc_android.hpp   |   34 -
 .../boost/align/detail/aligned_alloc_macos.hpp     |   44 -
 .../boost/align/detail/aligned_alloc_msvc.hpp      |   34 -
 .../boost/align/detail/aligned_alloc_posix.hpp     |   41 -
 .../boost/align/detail/aligned_alloc_sunos.hpp     |   34 -
 .../boost/align/detail/alignment_of.hpp            |   34 -
 .../boost/align/detail/alignment_of_clang.hpp      |   28 -
 .../boost/align/detail/alignment_of_codegear.hpp   |   28 -
 .../boost/align/detail/alignment_of_cxx11.hpp      |   24 -
 .../boost/align/detail/alignment_of_gcc.hpp        |   28 -
 .../boost/align/detail/alignment_of_msvc.hpp       |   35 -
 .../boost/align/detail/assume_aligned.hpp          |   17 -
 .../boost/align/detail/assume_aligned_clang.hpp    |   19 -
 .../boost/align/detail/assume_aligned_gcc.hpp      |   18 -
 .../boost/align/detail/assume_aligned_intel.hpp    |   18 -
 .../boost/align/detail/assume_aligned_msvc.hpp     |   20 -
 .../boost/align/detail/element_type.hpp            |  106 -
 .../boost/align/detail/integral_constant.hpp       |   42 -
 .../boost/align/detail/is_aligned.hpp              |   36 -
 .../boost/align/detail/is_alignment.hpp            |   29 -
 .../boost/align/detail/is_alignment_constant.hpp   |   28 -
 .../boost/align/detail/max_align.hpp               |   28 -
 .../boost/align/detail/max_objects.hpp             |   29 -
 .../boost/align/detail/max_size.hpp                |   28 -
 .../boost/align/detail/min_size.hpp                |   28 -
 .../boost/align/is_aligned.hpp                     |   27 -
 .../boost/align/is_aligned_forward.hpp             |   24 -
 .../boost/aligned_storage.hpp                      |   18 -
 src/rbgl_trimmed_boost_1_61_0/boost/any.hpp        |  325 --
 .../boost/archive/archive_exception.hpp            |  100 -
 .../boost/archive/basic_archive.hpp                |  304 --
 .../boost/archive/basic_binary_iarchive.hpp        |  204 -
 .../boost/archive/basic_binary_iprimitive.hpp      |  198 -
 .../boost/archive/basic_binary_oarchive.hpp        |  185 -
 .../boost/archive/basic_binary_oprimitive.hpp      |  188 -
 .../boost/archive/basic_streambuf_locale_saver.hpp |  108 -
 .../boost/archive/basic_text_iarchive.hpp          |   96 -
 .../boost/archive/basic_text_iprimitive.hpp        |  142 -
 .../boost/archive/basic_text_oarchive.hpp          |  119 -
 .../boost/archive/basic_text_oprimitive.hpp        |  211 --
 .../boost/archive/basic_xml_archive.hpp            |   67 -
 .../boost/archive/basic_xml_iarchive.hpp           |  120 -
 .../boost/archive/basic_xml_oarchive.hpp           |  138 -
 .../boost/archive/binary_iarchive.hpp              |   64 -
 .../boost/archive/binary_iarchive_impl.hpp         |  105 -
 .../boost/archive/binary_oarchive.hpp              |   64 -
 .../boost/archive/binary_oarchive_impl.hpp         |  106 -
 .../boost/archive/binary_wiarchive.hpp             |   56 -
 .../boost/archive/binary_woarchive.hpp             |   59 -
 .../boost/archive/codecvt_null.hpp                 |  106 -
 .../boost/archive/detail/abi_prefix.hpp            |   16 -
 .../boost/archive/detail/abi_suffix.hpp            |   15 -
 .../archive/detail/archive_serializer_map.hpp      |   54 -
 .../boost/archive/detail/auto_link_archive.hpp     |   48 -
 .../boost/archive/detail/auto_link_warchive.hpp    |   47 -
 .../boost/archive/detail/basic_iarchive.hpp        |  105 -
 .../boost/archive/detail/basic_iserializer.hpp     |   91 -
 .../boost/archive/detail/basic_oarchive.hpp        |   94 -
 .../boost/archive/detail/basic_oserializer.hpp     |   89 -
 .../archive/detail/basic_pointer_iserializer.hpp   |   70 -
 .../archive/detail/basic_pointer_oserializer.hpp   |   68 -
 .../boost/archive/detail/basic_serializer.hpp      |   77 -
 .../boost/archive/detail/basic_serializer_map.hpp  |   69 -
 .../boost/archive/detail/check.hpp                 |  169 -
 .../boost/archive/detail/common_iarchive.hpp       |   88 -
 .../boost/archive/detail/common_oarchive.hpp       |   88 -
 .../boost/archive/detail/decl.hpp                  |   57 -
 .../boost/archive/detail/helper_collection.hpp     |   99 -
 .../boost/archive/detail/interface_iarchive.hpp    |   85 -
 .../boost/archive/detail/interface_oarchive.hpp    |   87 -
 .../boost/archive/detail/iserializer.hpp           |  624 ---
 .../boost/archive/detail/oserializer.hpp           |  532 ---
 .../archive/detail/polymorphic_iarchive_route.hpp  |  218 --
 .../archive/detail/polymorphic_oarchive_route.hpp  |  209 -
 .../boost/archive/detail/register_archive.hpp      |   91 -
 .../boost/archive/detail/utf8_codecvt_facet.hpp    |   34 -
 .../boost/archive/dinkumware.hpp                   |  224 --
 .../boost/archive/impl/archive_serializer_map.ipp  |   71 -
 .../boost/archive/impl/basic_binary_iarchive.ipp   |  134 -
 .../boost/archive/impl/basic_binary_iprimitive.ipp |  171 -
 .../boost/archive/impl/basic_binary_oarchive.ipp   |   42 -
 .../boost/archive/impl/basic_binary_oprimitive.ipp |  124 -
 .../boost/archive/impl/basic_text_iarchive.ipp     |   76 -
 .../boost/archive/impl/basic_text_iprimitive.ipp   |  137 -
 .../boost/archive/impl/basic_text_oarchive.ipp     |   62 -
 .../boost/archive/impl/basic_text_oprimitive.ipp   |  115 -
 .../boost/archive/impl/basic_xml_grammar.hpp       |  173 -
 .../boost/archive/impl/basic_xml_iarchive.ipp      |  115 -
 .../boost/archive/impl/basic_xml_oarchive.ipp      |  272 --
 .../boost/archive/impl/text_iarchive_impl.ipp      |  128 -
 .../boost/archive/impl/text_oarchive_impl.ipp      |  122 -
 .../boost/archive/impl/text_wiarchive_impl.ipp     |  118 -
 .../boost/archive/impl/text_woarchive_impl.ipp     |   85 -
 .../boost/archive/impl/xml_iarchive_impl.ipp       |  199 -
 .../boost/archive/impl/xml_oarchive_impl.ipp       |  142 -
 .../boost/archive/impl/xml_wiarchive_impl.ipp      |  189 -
 .../boost/archive/impl/xml_woarchive_impl.ipp      |  169 -
 .../boost/archive/iterators/base64_exception.hpp   |   68 -
 .../boost/archive/iterators/base64_from_binary.hpp |  109 -
 .../boost/archive/iterators/binary_from_base64.hpp |  118 -
 .../boost/archive/iterators/dataflow.hpp           |  102 -
 .../boost/archive/iterators/dataflow_exception.hpp |   80 -
 .../boost/archive/iterators/escape.hpp             |  114 -
 .../boost/archive/iterators/insert_linebreaks.hpp  |   99 -
 .../boost/archive/iterators/istream_iterator.hpp   |   92 -
 .../boost/archive/iterators/mb_from_wchar.hpp      |  137 -
 .../boost/archive/iterators/ostream_iterator.hpp   |   83 -
 .../boost/archive/iterators/remove_whitespace.hpp  |  167 -
 .../boost/archive/iterators/transform_width.hpp    |  176 -
 .../boost/archive/iterators/unescape.hpp           |   89 -
 .../boost/archive/iterators/wchar_from_mb.hpp      |  192 -
 .../boost/archive/iterators/xml_escape.hpp         |  121 -
 .../boost/archive/iterators/xml_unescape.hpp       |  125 -
 .../archive/iterators/xml_unescape_exception.hpp   |   49 -
 .../boost/archive/polymorphic_binary_iarchive.hpp  |   54 -
 .../boost/archive/polymorphic_binary_oarchive.hpp  |   43 -
 .../boost/archive/polymorphic_iarchive.hpp         |  168 -
 .../boost/archive/polymorphic_oarchive.hpp         |  154 -
 .../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 -
 .../boost/archive/text_iarchive.hpp                |  132 -
 .../boost/archive/text_oarchive.hpp                |  121 -
 .../boost/archive/text_wiarchive.hpp               |  137 -
 .../boost/archive/text_woarchive.hpp               |  155 -
 .../boost/archive/tmpdir.hpp                       |   50 -
 .../boost/archive/wcslen.hpp                       |   56 -
 .../boost/archive/xml_archive_exception.hpp        |   57 -
 .../boost/archive/xml_iarchive.hpp                 |  142 -
 .../boost/archive/xml_oarchive.hpp                 |  137 -
 .../boost/archive/xml_wiarchive.hpp                |  149 -
 .../boost/archive/xml_woarchive.hpp                |  134 -
 src/rbgl_trimmed_boost_1_61_0/boost/array.hpp      |  446 ---
 src/rbgl_trimmed_boost_1_61_0/boost/asio.hpp       |  121 -
 src/rbgl_trimmed_boost_1_61_0/boost/assert.hpp     |   85 -
 src/rbgl_trimmed_boost_1_61_0/boost/assign.hpp     |   24 -
 src/rbgl_trimmed_boost_1_61_0/boost/atomic.hpp     |   18 -
 src/rbgl_trimmed_boost_1_61_0/boost/bimap.hpp      |   19 -
 src/rbgl_trimmed_boost_1_61_0/boost/bind.hpp       |   41 -
 src/rbgl_trimmed_boost_1_61_0/boost/bind/apply.hpp |   74 -
 src/rbgl_trimmed_boost_1_61_0/boost/bind/arg.hpp   |   62 -
 src/rbgl_trimmed_boost_1_61_0/boost/bind/bind.hpp  | 2256 -----------
 .../boost/bind/bind_cc.hpp                         |  117 -
 .../boost/bind/bind_mf2_cc.hpp                     |  228 --
 .../boost/bind/bind_mf_cc.hpp                      |  441 ---
 .../boost/bind/bind_template.hpp                   |  345 --
 .../boost/bind/make_adaptable.hpp                  |  187 -
 .../boost/bind/mem_fn.hpp                          |  389 --
 .../boost/bind/mem_fn_cc.hpp                       |  103 -
 .../boost/bind/mem_fn_template.hpp                 | 1047 -----
 .../boost/bind/mem_fn_vw.hpp                       |  130 -
 .../boost/bind/placeholders.hpp                    |   62 -
 .../boost/bind/protect.hpp                         |  304 --
 .../boost/bind/storage.hpp                         |  475 ---
 src/rbgl_trimmed_boost_1_61_0/boost/blank.hpp      |  106 -
 src/rbgl_trimmed_boost_1_61_0/boost/blank_fwd.hpp  |   22 -
 .../boost/call_traits.hpp                          |   20 -
 src/rbgl_trimmed_boost_1_61_0/boost/cast.hpp       |   20 -
 src/rbgl_trimmed_boost_1_61_0/boost/cerrno.hpp     |  331 --
 .../boost/checked_delete.hpp                       |   17 -
 src/rbgl_trimmed_boost_1_61_0/boost/chrono.hpp     |   20 -
 .../boost/circular_buffer.hpp                      |   65 -
 .../boost/circular_buffer_fwd.hpp                  |   43 -
 .../boost/compressed_pair.hpp                      |   20 -
 src/rbgl_trimmed_boost_1_61_0/boost/compute.hpp    |   44 -
 .../boost/concept/assert.hpp                       |   45 -
 .../concept/detail/backward_compatibility.hpp      |   16 -
 .../boost/concept/detail/borland.hpp               |   30 -
 .../boost/concept/detail/concept_def.hpp           |   34 -
 .../boost/concept/detail/concept_undef.hpp         |    5 -
 .../boost/concept/detail/general.hpp               |   77 -
 .../boost/concept/detail/has_constraints.hpp       |   50 -
 .../boost/concept/detail/msvc.hpp                  |  123 -
 .../boost/concept/requires.hpp                     |   93 -
 .../boost/concept/usage.hpp                        |   36 -
 .../boost/concept_archetype.hpp                    |  669 ----
 .../boost/concept_check.hpp                        | 1082 ------
 .../boost/concept_check/borland.hpp                |   25 -
 .../boost/concept_check/general.hpp                |   82 -
 .../boost/concept_check/has_constraints.hpp        |   31 -
 .../boost/concept_check/msvc.hpp                   |   90 -
 src/rbgl_trimmed_boost_1_61_0/boost/config.hpp     |   67 -
 .../boost/config/abi/borland_prefix.hpp            |   27 -
 .../boost/config/abi/borland_suffix.hpp            |   12 -
 .../boost/config/abi/msvc_prefix.hpp               |   22 -
 .../boost/config/abi/msvc_suffix.hpp               |    8 -
 .../boost/config/abi_prefix.hpp                    |   25 -
 .../boost/config/abi_suffix.hpp                    |   27 -
 .../boost/config/auto_link.hpp                     |  439 ---
 .../boost/config/compiler/borland.hpp              |  318 --
 .../boost/config/compiler/clang.hpp                |  288 --
 .../boost/config/compiler/codegear.hpp             |  220 --
 .../boost/config/compiler/comeau.hpp               |   59 -
 .../boost/config/compiler/common_edg.hpp           |  143 -
 .../boost/config/compiler/compaq_cxx.hpp           |   19 -
 .../boost/config/compiler/cray.hpp                 |   92 -
 .../boost/config/compiler/digitalmars.hpp          |  124 -
 .../boost/config/compiler/gcc.hpp                  |  327 --
 .../boost/config/compiler/gcc_xml.hpp              |   95 -
 .../boost/config/compiler/greenhills.hpp           |   28 -
 .../boost/config/compiler/hp_acc.hpp               |  145 -
 .../boost/config/compiler/intel.hpp                |  543 ---
 .../boost/config/compiler/kai.hpp                  |   33 -
 .../boost/config/compiler/metrowerks.hpp           |  179 -
 .../boost/config/compiler/mpw.hpp                  |  121 -
 .../boost/config/compiler/nvcc.hpp                 |   24 -
 .../boost/config/compiler/pathscale.hpp            |  114 -
 .../boost/config/compiler/pgi.hpp                  |  155 -
 .../boost/config/compiler/sgi_mipspro.hpp          |   29 -
 .../boost/config/compiler/sunpro_cc.hpp            |  190 -
 .../boost/config/compiler/vacpp.hpp                |  162 -
 .../boost/config/compiler/visualc.hpp              |  298 --
 .../boost/config/compiler/xlcpp.hpp                |  258 --
 .../boost/config/no_tr1/cmath.hpp                  |   28 -
 .../boost/config/no_tr1/complex.hpp                |   28 -
 .../boost/config/no_tr1/functional.hpp             |   28 -
 .../boost/config/no_tr1/memory.hpp                 |   28 -
 .../boost/config/no_tr1/utility.hpp                |   28 -
 .../boost/config/platform/aix.hpp                  |   33 -
 .../boost/config/platform/amigaos.hpp              |   15 -
 .../boost/config/platform/beos.hpp                 |   26 -
 .../boost/config/platform/bsd.hpp                  |   86 -
 .../boost/config/platform/cloudabi.hpp             |   18 -
 .../boost/config/platform/cray.hpp                 |   18 -
 .../boost/config/platform/cygwin.hpp               |   58 -
 .../boost/config/platform/haiku.hpp                |   31 -
 .../boost/config/platform/hpux.hpp                 |   87 -
 .../boost/config/platform/irix.hpp                 |   31 -
 .../boost/config/platform/linux.hpp                |  105 -
 .../boost/config/platform/macos.hpp                |   87 -
 .../boost/config/platform/qnxnto.hpp               |   31 -
 .../boost/config/platform/solaris.hpp              |   31 -
 .../boost/config/platform/symbian.hpp              |   97 -
 .../boost/config/platform/vms.hpp                  |   25 -
 .../boost/config/platform/vxworks.hpp              |  369 --
 .../boost/config/platform/win32.hpp                |   90 -
 .../boost/config/posix_features.hpp                |   95 -
 .../boost/config/requires_threads.hpp              |   92 -
 .../boost/config/select_compiler_config.hpp        |  148 -
 .../boost/config/select_platform_config.hpp        |  137 -
 .../boost/config/select_stdlib_config.hpp          |  105 -
 .../boost/config/stdlib/dinkumware.hpp             |  198 -
 .../boost/config/stdlib/libcomo.hpp                |   83 -
 .../boost/config/stdlib/libcpp.hpp                 |   88 -
 .../boost/config/stdlib/libstdcpp3.hpp             |  281 --
 .../boost/config/stdlib/modena.hpp                 |   69 -
 .../boost/config/stdlib/msl.hpp                    |   88 -
 .../boost/config/stdlib/roguewave.hpp              |  198 -
 .../boost/config/stdlib/sgi.hpp                    |  158 -
 .../boost/config/stdlib/stlport.hpp                |  248 --
 .../boost/config/stdlib/vacpp.hpp                  |   64 -
 .../boost/config/suffix.hpp                        | 1007 -----
 .../boost/config/user.hpp                          |  133 -
 .../boost/config/warning_disable.hpp               |   47 -
 src/rbgl_trimmed_boost_1_61_0/boost/convert.hpp    |  216 --
 .../boost/core/addressof.hpp                       |  162 -
 .../boost/core/checked_delete.hpp                  |   69 -
 .../boost/core/demangle.hpp                        |  131 -
 .../boost/core/enable_if.hpp                       |  128 -
 .../boost/core/explicit_operator_bool.hpp          |  154 -
 .../boost/core/ignore_unused.hpp                   |   70 -
 .../boost/core/is_same.hpp                         |   40 -
 .../boost/core/lightweight_test.hpp                |  171 -
 .../boost/core/lightweight_test_trait.hpp          |   56 -
 .../boost/core/no_exceptions_support.hpp           |   44 -
 .../boost/core/noncopyable.hpp                     |   48 -
 .../boost/core/null_deleter.hpp                    |   44 -
 src/rbgl_trimmed_boost_1_61_0/boost/core/ref.hpp   |  301 --
 .../boost/core/scoped_enum.hpp                     |  194 -
 src/rbgl_trimmed_boost_1_61_0/boost/core/swap.hpp  |   60 -
 .../boost/core/typeinfo.hpp                        |  151 -
 .../boost/core/underlying_type.hpp                 |   79 -
 src/rbgl_trimmed_boost_1_61_0/boost/crc.hpp        | 1110 ------
 src/rbgl_trimmed_boost_1_61_0/boost/cregex.hpp     |   39 -
 src/rbgl_trimmed_boost_1_61_0/boost/cstdfloat.hpp  |   58 -
 src/rbgl_trimmed_boost_1_61_0/boost/cstdint.hpp    |  546 ---
 src/rbgl_trimmed_boost_1_61_0/boost/cstdlib.hpp    |   41 -
 .../boost/current_function.hpp                     |   71 -
 .../boost/cxx11_char_types.hpp                     |   70 -
 src/rbgl_trimmed_boost_1_61_0/boost/date_time.hpp  |   17 -
 .../boost/detail/algorithm.hpp                     |   82 -
 .../boost/detail/allocator_utilities.hpp           |  187 -
 .../boost/detail/atomic_count.hpp                  |   21 -
 .../boost/detail/atomic_redef_macros.hpp           |   19 -
 .../boost/detail/atomic_undef_macros.hpp           |   39 -
 .../boost/detail/basic_pointerbuf.hpp              |  139 -
 .../boost/detail/binary_search.hpp                 |  216 --
 .../boost/detail/bitmask.hpp                       |   47 -
 .../boost/detail/call_traits.hpp                   |  172 -
 .../boost/detail/catch_exceptions.hpp              |  142 -
 .../boost/detail/compressed_pair.hpp               |  443 ---
 .../boost/detail/container_fwd.hpp                 |  157 -
 .../boost/detail/dynamic_bitset.hpp                |  241 --
 .../boost/detail/endian.hpp                        |   11 -
 .../boost/detail/fenv.hpp                          |  101 -
 .../boost/detail/has_default_constructor.hpp       |   29 -
 .../boost/detail/identifier.hpp                    |   87 -
 .../boost/detail/indirect_traits.hpp               |  204 -
 .../boost/detail/interlocked.hpp                   |  218 --
 .../boost/detail/is_incrementable.hpp              |  125 -
 .../boost/detail/is_sorted.hpp                     |   56 -
 .../boost/detail/is_xxx.hpp                        |   27 -
 .../boost/detail/iterator.hpp                      |   26 -
 .../boost/detail/lcast_precision.hpp               |  184 -
 .../boost/detail/lightweight_main.hpp              |   36 -
 .../boost/detail/lightweight_mutex.hpp             |   22 -
 .../boost/detail/lightweight_test.hpp              |   17 -
 .../boost/detail/lightweight_test_report.hpp       |   56 -
 .../boost/detail/lightweight_thread.hpp            |  135 -
 .../boost/detail/named_template_params.hpp         |  177 -
 .../boost/detail/no_exceptions_support.hpp         |   17 -
 .../boost/detail/numeric_traits.hpp                |  182 -
 .../boost/detail/ob_compressed_pair.hpp            |  499 ---
 .../boost/detail/quick_allocator.hpp               |   23 -
 .../boost/detail/reference_content.hpp             |  120 -
 .../boost/detail/scoped_enum_emulation.hpp         |   17 -
 .../boost/detail/select_type.hpp                   |   36 -
 .../boost/detail/sp_typeinfo.hpp                   |   36 -
 .../boost/detail/templated_streams.hpp             |   74 -
 .../boost/detail/utf8_codecvt_facet.hpp            |  218 --
 .../boost/detail/utf8_codecvt_facet.ipp            |  283 --
 .../boost/detail/winapi/GetCurrentProcess.hpp      |   25 -
 .../boost/detail/winapi/GetCurrentThread.hpp       |   25 -
 .../boost/detail/winapi/GetLastError.hpp           |   25 -
 .../boost/detail/winapi/GetProcessTimes.hpp        |   24 -
 .../boost/detail/winapi/GetThreadTimes.hpp         |   25 -
 .../boost/detail/winapi/access_rights.hpp          |   84 -
 .../boost/detail/winapi/apc.hpp                    |   47 -
 .../boost/detail/winapi/basic_types.hpp            |  233 --
 .../detail/winapi/character_code_conversion.hpp    |  108 -
 .../boost/detail/winapi/condition_variable.hpp     |  123 -
 .../boost/detail/winapi/config.hpp                 |   73 -
 .../boost/detail/winapi/critical_section.hpp       |  184 -
 .../boost/detail/winapi/crypt.hpp                  |  193 -
 .../boost/detail/winapi/dbghelp.hpp                |  171 -
 .../boost/detail/winapi/detail/cast_ptr.hpp        |   40 -
 .../boost/detail/winapi/directory_management.hpp   |   94 -
 .../boost/detail/winapi/dll.hpp                    |  221 --
 .../boost/detail/winapi/error_handling.hpp         |  143 -
 .../boost/detail/winapi/event.hpp                  |  190 -
 .../boost/detail/winapi/file_management.hpp        |  493 ---
 .../boost/detail/winapi/file_mapping.hpp           |  238 --
 .../boost/detail/winapi/get_current_process.hpp    |   34 -
 .../boost/detail/winapi/get_current_process_id.hpp |   33 -
 .../boost/detail/winapi/get_current_thread.hpp     |   34 -
 .../boost/detail/winapi/get_current_thread_id.hpp  |   34 -
 .../boost/detail/winapi/get_last_error.hpp         |   33 -
 .../boost/detail/winapi/get_process_times.hpp      |   60 -
 .../boost/detail/winapi/get_system_directory.hpp   |   63 -
 .../boost/detail/winapi/get_thread_times.hpp       |   55 -
 .../boost/detail/winapi/handle_info.hpp            |   62 -
 .../boost/detail/winapi/handles.hpp                |   61 -
 .../boost/detail/winapi/heap_memory.hpp            |   72 -
 .../boost/detail/winapi/init_once.hpp              |  123 -
 .../boost/detail/winapi/limits.hpp                 |   51 -
 .../boost/detail/winapi/local_memory.hpp           |   51 -
 .../boost/detail/winapi/memory.hpp                 |   20 -
 .../boost/detail/winapi/mutex.hpp                  |  184 -
 .../boost/detail/winapi/overlapped.hpp             |   51 -
 .../boost/detail/winapi/page_protection_flags.hpp  |   56 -
 .../boost/detail/winapi/pipes.hpp                  |  317 --
 .../boost/detail/winapi/priority_class.hpp         |   78 -
 .../boost/detail/winapi/process.hpp                |  386 --
 .../boost/detail/winapi/security.hpp               |   80 -
 .../boost/detail/winapi/semaphore.hpp              |  177 -
 .../boost/detail/winapi/shell.hpp                  |  145 -
 .../boost/detail/winapi/show_window.hpp            |  105 -
 .../boost/detail/winapi/srw_lock.hpp               |  116 -
 .../boost/detail/winapi/synchronization.hpp        |   28 -
 .../boost/detail/winapi/system.hpp                 |   73 -
 .../boost/detail/winapi/thread.hpp                 |   42 -
 .../boost/detail/winapi/thread_pool.hpp            |  126 -
 .../boost/detail/winapi/time.hpp                   |  139 -
 .../boost/detail/winapi/timers.hpp                 |   48 -
 .../boost/detail/winapi/tls.hpp                    |   60 -
 .../boost/detail/winapi/wait.hpp                   |   84 -
 .../boost/detail/winapi/waitable_timer.hpp         |  145 -
 .../boost/detail/workaround.hpp                    |  267 --
 src/rbgl_trimmed_boost_1_61_0/boost/dll.hpp        |   27 -
 .../boost/dynamic_bitset.hpp                       |   17 -
 .../boost/dynamic_bitset_fwd.hpp                   |   25 -
 .../boost/enable_shared_from_this.hpp              |   18 -
 .../boost/exception/N3757.hpp                      |   46 -
 .../boost/exception/all.hpp                        |   36 -
 .../boost/exception/current_exception_cast.hpp     |   43 -
 .../exception/detail/clone_current_exception.hpp   |   56 -
 .../boost/exception/detail/error_info_impl.hpp     |   74 -
 .../boost/exception/detail/exception_ptr.hpp       |  513 ---
 .../exception/detail/is_output_streamable.hpp      |   60 -
 .../boost/exception/detail/object_hex_dump.hpp     |   50 -
 .../boost/exception/detail/type_info.hpp           |   81 -
 .../boost/exception/diagnostic_information.hpp     |  201 -
 .../boost/exception/enable_current_exception.hpp   |    6 -
 .../boost/exception/enable_error_info.hpp          |    6 -
 .../boost/exception/errinfo_api_function.hpp       |   22 -
 .../boost/exception/errinfo_at_line.hpp            |   18 -
 .../boost/exception/errinfo_errno.hpp              |   44 -
 .../boost/exception/errinfo_file_handle.hpp        |   20 -
 .../boost/exception/errinfo_file_name.hpp          |   26 -
 .../boost/exception/errinfo_file_open_mode.hpp     |   26 -
 .../boost/exception/errinfo_nested_exception.hpp   |   18 -
 .../boost/exception/errinfo_type_info_name.hpp     |   23 -
 .../boost/exception/error_info.hpp                 |    9 -
 .../boost/exception/exception.hpp                  |  499 ---
 .../boost/exception/get_error_info.hpp             |  130 -
 .../boost/exception/info.hpp                       |  198 -
 .../boost/exception/info_tuple.hpp                 |  100 -
 .../boost/exception/to_string.hpp                  |   88 -
 .../boost/exception/to_string_stub.hpp             |  117 -
 .../boost/exception_ptr.hpp                        |   11 -
 src/rbgl_trimmed_boost_1_61_0/boost/filesystem.hpp |   21 -
 src/rbgl_trimmed_boost_1_61_0/boost/flyweight.hpp  |   22 -
 src/rbgl_trimmed_boost_1_61_0/boost/foreach.hpp    | 1127 ------
 .../boost/foreach_fwd.hpp                          |   51 -
 src/rbgl_trimmed_boost_1_61_0/boost/format.hpp     |   59 -
 src/rbgl_trimmed_boost_1_61_0/boost/function.hpp   |   66 -
 .../boost/function_equal.hpp                       |   28 -
 .../boost/function_output_iterator.hpp             |   62 -
 .../boost/function_types/components.hpp            |  424 ---
 .../boost/function_types/config/cc_names.hpp       |   31 -
 .../boost/function_types/config/compiler.hpp       |  116 -
 .../boost/function_types/config/config.hpp         |   59 -
 .../function_types/detail/class_transform.hpp      |   60 -
 .../boost/function_types/detail/classifier.hpp     |   87 -
 .../detail/classifier_impl/arity10_0.hpp           |   55 -
 .../detail/classifier_impl/arity10_1.hpp           |   52 -
 .../detail/classifier_impl/arity20_0.hpp           |   53 -
 .../detail/classifier_impl/arity20_1.hpp           |   53 -
 .../detail/classifier_impl/arity30_0.hpp           |   53 -
 .../detail/classifier_impl/arity30_1.hpp           |   53 -
 .../detail/classifier_impl/arity40_0.hpp           |   53 -
 .../detail/classifier_impl/arity40_1.hpp           |   53 -
 .../detail/classifier_impl/arity50_0.hpp           |   53 -
 .../detail/classifier_impl/arity50_1.hpp           |   52 -
 .../detail/classifier_impl/master.hpp              |   33 -
 .../detail/components_as_mpl_sequence.hpp          |  138 -
 .../detail/components_impl/arity10_0.hpp           |  132 -
 .../detail/components_impl/arity10_1.hpp           |  122 -
 .../detail/components_impl/arity20_0.hpp           |  123 -
 .../detail/components_impl/arity20_1.hpp           |  123 -
 .../detail/components_impl/arity30_0.hpp           |  123 -
 .../detail/components_impl/arity30_1.hpp           |  123 -
 .../detail/components_impl/arity40_0.hpp           |  123 -
 .../detail/components_impl/arity40_1.hpp           |  123 -
 .../detail/components_impl/arity50_0.hpp           |  123 -
 .../detail/components_impl/arity50_1.hpp           |  123 -
 .../detail/components_impl/master.hpp              |   61 -
 .../boost/function_types/detail/cv_traits.hpp      |  132 -
 .../function_types/detail/encoding/aliases_def.hpp |   16 -
 .../detail/encoding/aliases_undef.hpp              |   16 -
 .../boost/function_types/detail/encoding/def.hpp   |   51 -
 .../boost/function_types/detail/encoding/undef.hpp |   38 -
 .../boost/function_types/detail/pp_arity_loop.hpp  |  149 -
 .../function_types/detail/pp_cc_loop/master.hpp    |  136 -
 .../detail/pp_cc_loop/preprocessed.hpp             |  120 -
 .../boost/function_types/detail/pp_loop.hpp        |   80 -
 .../detail/pp_retag_default_cc/master.hpp          |  103 -
 .../detail/pp_retag_default_cc/preprocessed.hpp    |   59 -
 .../boost/function_types/detail/pp_tags/cc_tag.hpp |   17 -
 .../boost/function_types/detail/pp_tags/master.hpp |  126 -
 .../function_types/detail/pp_tags/preprocessed.hpp |   77 -
 .../detail/pp_variate_loop/master.hpp              |  152 -
 .../detail/pp_variate_loop/preprocessed.hpp        |  283 --
 .../function_types/detail/retag_default_cc.hpp     |   23 -
 .../boost/function_types/detail/synthesize.hpp     |   79 -
 .../detail/synthesize_impl/arity10_0.hpp           |  334 --
 .../detail/synthesize_impl/arity10_1.hpp           |  326 --
 .../detail/synthesize_impl/arity20_0.hpp           |  517 ---
 .../detail/synthesize_impl/arity20_1.hpp           |  527 ---
 .../detail/synthesize_impl/arity30_0.hpp           |  717 ----
 .../detail/synthesize_impl/arity30_1.hpp           |  727 ----
 .../detail/synthesize_impl/arity40_0.hpp           |  917 -----
 .../detail/synthesize_impl/arity40_1.hpp           |  927 -----
 .../detail/synthesize_impl/arity50_0.hpp           | 1117 ------
 .../detail/synthesize_impl/arity50_1.hpp           | 1127 ------
 .../detail/synthesize_impl/master.hpp              |   87 -
 .../boost/function_types/detail/to_sequence.hpp    |   45 -
 .../boost/function_types/function_arity.hpp        |   36 -
 .../boost/function_types/function_pointer.hpp      |   30 -
 .../boost/function_types/function_reference.hpp    |   30 -
 .../boost/function_types/function_type.hpp         |   28 -
 .../boost/function_types/is_callable_builtin.hpp   |   33 -
 .../boost/function_types/is_function.hpp           |   32 -
 .../boost/function_types/is_function_pointer.hpp   |   32 -
 .../boost/function_types/is_function_reference.hpp |   32 -
 .../function_types/is_member_function_pointer.hpp  |   31 -
 .../function_types/is_member_object_pointer.hpp    |   32 -
 .../boost/function_types/is_member_pointer.hpp     |   32 -
 .../is_nonmember_callable_builtin.hpp              |   33 -
 .../function_types/member_function_pointer.hpp     |   31 -
 .../boost/function_types/member_object_pointer.hpp |   32 -
 .../boost/function_types/parameter_types.hpp       |   53 -
 .../boost/function_types/property_tags.hpp         |  147 -
 .../boost/function_types/result_type.hpp           |   48 -
 src/rbgl_trimmed_boost_1_61_0/boost/functional.hpp |  548 ---
 .../boost/functional/factory.hpp                   |  179 -
 .../boost/functional/forward_adapter.hpp           |  472 ---
 .../boost/functional/hash.hpp                      |    7 -
 .../functional/hash/detail/float_functions.hpp     |  336 --
 .../boost/functional/hash/detail/hash_float.hpp    |  271 --
 .../boost/functional/hash/detail/limits.hpp        |   62 -
 .../boost/functional/hash/extensions.hpp           |  318 --
 .../boost/functional/hash/hash.hpp                 |  559 ---
 .../boost/functional/hash/hash_fwd.hpp             |   36 -
 .../boost/functional/hash_fwd.hpp                  |   11 -
 .../functional/lightweight_forward_adapter.hpp     |  259 --
 .../boost/functional/overloaded_function.hpp       |  311 --
 .../functional/overloaded_function/config.hpp      |   50 -
 .../functional/overloaded_function/detail/base.hpp |   86 -
 .../overloaded_function/detail/function_type.hpp   |   85 -
 .../boost/functional/value_factory.hpp             |   69 -
 .../boost/generator_iterator.hpp                   |   85 -
 src/rbgl_trimmed_boost_1_61_0/boost/geometry.hpp   |   19 -
 .../boost/get_pointer.hpp                          |   76 -
 .../boost/graph/accounting.hpp                     |   36 -
 .../boost/graph/adj_list_serialize.hpp             |  116 -
 .../boost/graph/adjacency_iterator.hpp             |  102 -
 .../boost/graph/adjacency_list.hpp                 |  456 ---
 .../boost/graph/adjacency_list_io.hpp              |  406 --
 .../boost/graph/adjacency_matrix.hpp               | 1235 ------
 .../boost/graph/astar_search.hpp                   |  564 ---
 .../boost/graph/bandwidth.hpp                      |   87 -
 .../boost/graph/bc_clustering.hpp                  |  166 -
 .../boost/graph/bellman_ford_shortest_paths.hpp    |  240 --
 .../boost/graph/betweenness_centrality.hpp         |  616 ---
 .../boost/graph/biconnected_components.hpp         |  417 --
 .../boost/graph/bipartite.hpp                      |  381 --
 .../boost/graph/boyer_myrvold_planar_test.hpp      |  322 --
 .../boost/graph/boykov_kolmogorov_max_flow.hpp     |  873 -----
 .../boost/graph/breadth_first_search.hpp           |  413 --
 .../boost/graph/bron_kerbosch_all_cliques.hpp      |  310 --
 .../boost/graph/buffer_concepts.hpp                |   91 -
 .../boost/graph/chrobak_payne_drawing.hpp          |  279 --
 .../boost/graph/circle_layout.hpp                  |   58 -
 .../boost/graph/closeness_centrality.hpp           |  156 -
 .../boost/graph/clustering_coefficient.hpp         |  159 -
 .../boost/graph/compressed_sparse_row_graph.hpp    | 1606 --------
 .../boost/graph/connected_components.hpp           |  107 -
 src/rbgl_trimmed_boost_1_61_0/boost/graph/copy.hpp |  511 ---
 .../boost/graph/core_numbers.hpp                   |  351 --
 .../boost/graph/create_condensation_graph.hpp      |   83 -
 .../boost/graph/cuthill_mckee_ordering.hpp         |  188 -
 .../boost/graph/cycle_canceling.hpp                |  181 -
 .../boost/graph/dag_shortest_paths.hpp             |  159 -
 .../boost/graph/degree_centrality.hpp              |  131 -
 .../boost/graph/depth_first_search.hpp             |  361 --
 .../boost/graph/detail/adj_list_edge_iterator.hpp  |  117 -
 .../boost/graph/detail/adjacency_list.hpp          | 2827 --------------
 .../boost/graph/detail/array_binary_tree.hpp       |  181 -
 .../boost/graph/detail/augment.hpp                 |   63 -
 .../graph/detail/compressed_sparse_row_struct.hpp  |  647 ----
 .../boost/graph/detail/connected_components.hpp    |  208 -
 .../boost/graph/detail/d_ary_heap.hpp              |  319 --
 .../boost/graph/detail/edge.hpp                    |  119 -
 .../boost/graph/detail/geodesic.hpp                |  131 -
 .../boost/graph/detail/histogram_sort.hpp          |  293 --
 .../boost/graph/detail/incidence_iterator.hpp      |   79 -
 .../boost/graph/detail/incremental_components.hpp  |   77 -
 .../boost/graph/detail/index.hpp                   |   74 -
 .../boost/graph/detail/indexed_properties.hpp      |  284 --
 .../boost/graph/detail/is_distributed_selector.hpp |   26 -
 .../boost/graph/detail/labeled_graph_traits.hpp    |  237 --
 .../boost/graph/detail/list_base.hpp               |  220 --
 .../boost/graph/detail/permutation.hpp             |  205 -
 .../boost/graph/detail/read_graphviz_new.hpp       |  108 -
 .../boost/graph/detail/read_graphviz_spirit.hpp    |  614 ---
 .../boost/graph/detail/self_avoiding_walk.hpp      |  418 --
 .../boost/graph/detail/set_adaptor.hpp             |  123 -
 .../boost/graph/detail/shadow_iterator.hpp         |  139 -
 .../boost/graph/detail/sparse_ordering.hpp         |  198 -
 .../boost/graph/dijkstra_shortest_paths.hpp        |  623 ---
 .../graph/dijkstra_shortest_paths_no_color_map.hpp |  250 --
 .../boost/graph/dimacs.hpp                         |  310 --
 .../boost/graph/directed_graph.hpp                 |  701 ----
 .../boost/graph/distributed/adjacency_list.hpp     | 3989 --------------------
 .../boost/graph/distributed/adjlist/handlers.hpp   |  148 -
 .../boost/graph/distributed/adjlist/initialize.hpp |  319 --
 .../graph/distributed/adjlist/redistribute.hpp     |  392 --
 .../graph/distributed/adjlist/serialization.hpp    |  988 -----
 .../graph/distributed/betweenness_centrality.hpp   | 1700 ---------
 .../distributed/boman_et_al_graph_coloring.hpp     |  371 --
 .../graph/distributed/breadth_first_search.hpp     |  163 -
 .../distributed/compressed_sparse_row_graph.hpp    | 1987 ----------
 .../boost/graph/distributed/concepts.hpp           |  213 --
 .../graph/distributed/connected_components.hpp     |  763 ----
 .../connected_components_parallel_search.hpp       |  407 --
 .../distributed/crauser_et_al_shortest_paths.hpp   |  658 ----
 .../distributed/dehne_gotz_min_spanning_tree.hpp   |  937 -----
 .../distributed/delta_stepping_shortest_paths.hpp  |  513 ---
 .../boost/graph/distributed/depth_first_search.hpp |  307 --
 .../distributed/detail/dijkstra_shortest_paths.hpp |   50 -
 .../graph/distributed/detail/filtered_queue.hpp    |  108 -
 .../graph/distributed/detail/mpi_process_group.ipp | 1007 -----
 .../boost/graph/distributed/detail/queue.ipp       |  177 -
 .../graph/distributed/detail/remote_update_set.hpp |  259 --
 .../graph/distributed/detail/tag_allocator.hpp     |   84 -
 .../graph/distributed/dijkstra_shortest_paths.hpp  |  204 -
 .../distributed/distributed_graph_utility.hpp      |  154 -
 .../distributed/eager_dijkstra_shortest_paths.hpp  |  440 ---
 .../boost/graph/distributed/filtered_graph.hpp     |   51 -
 .../graph/distributed/fruchterman_reingold.hpp     |  384 --
 .../boost/graph/distributed/graphviz.hpp           |  292 --
 .../distributed/hohberg_biconnected_components.hpp | 1128 ------
 .../boost/graph/distributed/local_subgraph.hpp     |  175 -
 .../boost/graph/distributed/mpi_process_group.hpp  |  809 ----
 .../boost/graph/distributed/named_graph.hpp        | 1239 ------
 .../boost/graph/distributed/one_bit_color_map.hpp  |  116 -
 .../boost/graph/distributed/page_rank.hpp          |  225 --
 .../boost/graph/distributed/queue.hpp              |  278 --
 .../boost/graph/distributed/reverse_graph.hpp      |   38 -
 .../graph/distributed/rmat_graph_generator.hpp     |  164 -
 .../boost/graph/distributed/selector.hpp           |   44 -
 .../graph/distributed/shuffled_distribution.hpp    |  114 -
 .../boost/graph/distributed/st_connected.hpp       |  186 -
 .../boost/graph/distributed/strong_components.hpp  |  982 -----
 .../boost/graph/distributed/two_bit_color_map.hpp  |  116 -
 .../boost/graph/distributed/unsafe_serialize.hpp   |   11 -
 .../graph/distributed/vertex_list_adaptor.hpp      |  403 --
 .../boost/graph/dll_import_export.hpp              |   28 -
 .../boost/graph/dominator_tree.hpp                 |  492 ---
 .../boost/graph/eccentricity.hpp                   |  114 -
 .../boost/graph/edge_coloring.hpp                  |  196 -
 .../boost/graph/edge_connectivity.hpp              |  183 -
 .../boost/graph/edge_list.hpp                      |  304 --
 .../boost/graph/edmonds_karp_max_flow.hpp          |  249 --
 .../boost/graph/edmunds_karp_max_flow.hpp          |   19 -
 .../boost/graph/erdos_renyi_generator.hpp          |  195 -
 .../boost/graph/exception.hpp                      |   55 -
 .../boost/graph/exterior_property.hpp              |  117 -
 .../boost/graph/filtered_graph.hpp                 |  540 ---
 .../boost/graph/find_flow_cost.hpp                 |   52 -
 .../boost/graph/floyd_warshall_shortest.hpp        |  256 --
 .../boost/graph/fruchterman_reingold.hpp           |  440 ---
 .../boost/graph/geodesic_distance.hpp              |  211 --
 .../boost/graph/graph_archetypes.hpp               |  298 --
 .../boost/graph/graph_as_tree.hpp                  |  150 -
 .../boost/graph/graph_concepts.hpp                 |  618 ---
 .../boost/graph/graph_mutability_traits.hpp        |  204 -
 .../boost/graph/graph_selectors.hpp                |   38 -
 .../boost/graph/graph_stats.hpp                    |  137 -
 .../boost/graph/graph_test.hpp                     |  384 --
 .../boost/graph/graph_traits.hpp                   |  404 --
 .../boost/graph/graph_utility.hpp                  |  486 ---
 .../boost/graph/graphml.hpp                        |  352 --
 .../boost/graph/graphviz.hpp                       |  958 -----
 .../boost/graph/grid_graph.hpp                     | 1015 -----
 .../boost/graph/gursoy_atun_layout.hpp             |  357 --
 .../boost/graph/hawick_circuits.hpp                |  381 --
 .../boost/graph/howard_cycle_ratio.hpp             |  635 ----
 .../boost/graph/incremental_components.hpp         |  231 --
 .../boost/graph/is_kuratowski_subgraph.hpp         |  331 --
 .../boost/graph/is_straight_line_drawing.hpp       |  250 --
 .../boost/graph/isomorphism.hpp                    |  581 ---
 .../boost/graph/iteration_macros.hpp               |  140 -
 .../boost/graph/iteration_macros_undef.hpp         |   22 -
 .../boost/graph/johnson_all_pairs_shortest.hpp     |  203 -
 .../boost/graph/kamada_kawai_spring_layout.hpp     |  622 ---
 .../boost/graph/king_ordering.hpp                  |  316 --
 .../boost/graph/kruskal_min_spanning_tree.hpp      |  155 -
 .../boost/graph/labeled_graph.hpp                  |  815 ----
 .../boost/graph/leda_graph.hpp                     |  950 -----
 .../boost/graph/lookup_edge.hpp                    |   50 -
 .../boost/graph/loop_erased_random_walk.hpp        |  119 -
 .../boost/graph/make_biconnected_planar.hpp        |  121 -
 .../boost/graph/make_connected.hpp                 |   99 -
 .../boost/graph/make_maximal_planar.hpp            |  275 --
 .../boost/graph/matrix_as_graph.hpp                |  127 -
 .../boost/graph/max_cardinality_matching.hpp       |  899 -----
 .../boost/graph/maximum_adjacency_search.hpp       |  319 --
 .../boost/graph/mcgregor_common_subgraphs.hpp      | 1137 ------
 .../boost/graph/mesh_graph_generator.hpp           |  158 -
 .../boost/graph/metis.hpp                          |  339 --
 .../boost/graph/metric_tsp_approx.hpp              |  313 --
 .../boost/graph/minimum_degree_ordering.hpp        |  655 ----
 .../boost/graph/named_function_params.hpp          |  738 ----
 .../boost/graph/named_graph.hpp                    |  508 ---
 .../boost/graph/neighbor_bfs.hpp                   |  322 --
 .../boost/graph/numeric_values.hpp                 |   52 -
 .../boost/graph/one_bit_color_map.hpp              |  104 -
 .../boost/graph/overloading.hpp                    |   46 -
 .../boost/graph/page_rank.hpp                      |  161 -
 .../boost/graph/parallel/algorithm.hpp             |   84 -
 .../boost/graph/parallel/basic_reduce.hpp          |   11 -
 .../boost/graph/parallel/container_traits.hpp      |   45 -
 .../graph/parallel/detail/inplace_all_to_all.hpp   |   78 -
 .../graph/parallel/detail/property_holders.hpp     |  152 -
 .../boost/graph/parallel/detail/untracked_pair.hpp |   11 -
 .../boost/graph/parallel/distribution.hpp          |  615 ---
 .../boost/graph/parallel/process_group.hpp         |   11 -
 .../boost/graph/parallel/properties.hpp            |  111 -
 .../boost/graph/parallel/simple_trigger.hpp        |   13 -
 .../boost/graph/planar_canonical_ordering.hpp      |  212 --
 .../graph/planar_detail/add_edge_visitors.hpp      |   59 -
 .../graph/planar_detail/boyer_myrvold_impl.hpp     | 2012 ----------
 .../boost/graph/planar_detail/bucket_sort.hpp      |  144 -
 .../boost/graph/planar_detail/face_handles.hpp     |  497 ---
 .../boost/graph/planar_detail/face_iterators.hpp   |  375 --
 .../boost/graph/planar_face_traversal.hpp          |  213 --
 .../boost/graph/plod_generator.hpp                 |  253 --
 .../boost/graph/point_traits.hpp                   |   26 -
 .../boost/graph/prim_minimum_spanning_tree.hpp     |   91 -
 .../boost/graph/profile.hpp                        |   43 -
 .../boost/graph/properties.hpp                     |  363 --
 .../boost/graph/property_iter_range.hpp            |  118 -
 .../graph/property_maps/constant_property_map.hpp  |   92 -
 .../graph/property_maps/container_property_map.hpp |   75 -
 .../graph/property_maps/matrix_property_map.hpp    |   67 -
 .../graph/property_maps/null_property_map.hpp      |   41 -
 .../boost/graph/push_relabel_max_flow.hpp          |  746 ----
 .../boost/graph/r_c_shortest_paths.hpp             |  782 ----
 .../boost/graph/random.hpp                         |  264 --
 .../boost/graph/random_layout.hpp                  |   36 -
 .../boost/graph/random_spanning_tree.hpp           |  109 -
 .../boost/graph/read_dimacs.hpp                    |  310 --
 .../boost/graph/relax.hpp                          |   93 -
 .../boost/graph/reverse_graph.hpp                  |  520 ---
 .../boost/graph/rmat_graph_generator.hpp           |  595 ---
 .../boost/graph/sequential_vertex_coloring.hpp     |  124 -
 .../boost/graph/simple_point.hpp                   |   23 -
 .../boost/graph/sloan_ordering.hpp                 |  449 ---
 .../boost/graph/small_world_generator.hpp          |  114 -
 .../boost/graph/smallest_last_ordering.hpp         |  140 -
 .../boost/graph/ssca_graph_generator.hpp           |  169 -
 .../boost/graph/st_connected.hpp                   |   82 -
 .../boost/graph/stanford_graph.hpp                 |  523 ---
 .../boost/graph/stoer_wagner_min_cut.hpp           |  250 --
 .../boost/graph/strong_components.hpp              |  342 --
 .../boost/graph/subgraph.hpp                       | 1070 ------
 ...uccessive_shortest_path_nonnegative_weights.hpp |  261 --
 .../boost/graph/tiernan_all_cycles.hpp             |  376 --
 .../boost/graph/topological_sort.hpp               |   77 -
 .../boost/graph/topology.hpp                       |  598 ---
 .../boost/graph/transitive_closure.hpp             |  373 --
 .../boost/graph/transitive_reduction.hpp           |  130 -
 .../boost/graph/transpose_graph.hpp                |   40 -
 .../boost/graph/tree_traits.hpp                    |   43 -
 .../boost/graph/two_bit_color_map.hpp              |  109 -
 .../graph/two_graphs_common_spanning_trees.hpp     |  863 -----
 .../boost/graph/undirected_dfs.hpp                 |  255 --
 .../boost/graph/undirected_graph.hpp               |  710 ----
 .../boost/graph/use_mpi.hpp                        |   15 -
 .../boost/graph/vector_as_graph.hpp                |  326 --
 .../boost/graph/vertex_and_edge_range.hpp          |  141 -
 .../boost/graph/vf2_sub_graph_iso.hpp              | 1233 ------
 .../boost/graph/visitors.hpp                       |  300 --
 .../boost/graph/wavefront.hpp                      |  135 -
 .../boost/graph/write_dimacs.hpp                   |   68 -
 src/rbgl_trimmed_boost_1_61_0/boost/hana.hpp       |  208 -
 .../boost/implicit_cast.hpp                        |   36 -
 .../boost/indirect_reference.hpp                   |   43 -
 src/rbgl_trimmed_boost_1_61_0/boost/integer.hpp    |  262 --
 .../boost/integer/common_factor.hpp                |   16 -
 .../boost/integer/common_factor_ct.hpp             |  102 -
 .../boost/integer/common_factor_rt.hpp             |  460 ---
 .../boost/integer/integer_log2.hpp                 |  112 -
 .../boost/integer/integer_mask.hpp                 |  126 -
 .../boost/integer/static_log2.hpp                  |  127 -
 .../boost/integer/static_min_max.hpp               |   51 -
 .../boost/integer_fwd.hpp                          |  187 -
 .../boost/integer_traits.hpp                       |  256 --
 .../boost/intrusive_ptr.hpp                        |   18 -
 src/rbgl_trimmed_boost_1_61_0/boost/io_fwd.hpp     |   67 -
 .../boost/is_placeholder.hpp                       |   31 -
 src/rbgl_trimmed_boost_1_61_0/boost/iterator.hpp   |   20 -
 .../boost/iterator/counting_iterator.hpp           |  220 --
 .../boost/iterator/detail/any_conversion_eater.hpp |   21 -
 .../boost/iterator/detail/config_def.hpp           |  128 -
 .../boost/iterator/detail/config_undef.hpp         |   24 -
 .../boost/iterator/detail/enable_if.hpp            |   83 -
 .../iterator/detail/facade_iterator_category.hpp   |  193 -
 .../boost/iterator/detail/minimum_category.hpp     |   19 -
 .../boost/iterator/filter_iterator.hpp             |  137 -
 .../boost/iterator/function_input_iterator.hpp     |  169 -
 .../boost/iterator/indirect_iterator.hpp           |  145 -
 .../boost/iterator/interoperable.hpp               |   54 -
 .../boost/iterator/is_lvalue_iterator.hpp          |  165 -
 .../boost/iterator/is_readable_iterator.hpp        |  118 -
 .../boost/iterator/iterator_adaptor.hpp            |  360 --
 .../boost/iterator/iterator_archetypes.hpp         |  509 ---
 .../boost/iterator/iterator_categories.hpp         |  215 --
 .../boost/iterator/iterator_concepts.hpp           |  275 --
 .../boost/iterator/iterator_facade.hpp             |  980 -----
 .../boost/iterator/iterator_traits.hpp             |   60 -
 .../boost/iterator/minimum_category.hpp            |   95 -
 .../boost/iterator/new_iterator_tests.hpp          |  264 --
 .../boost/iterator/permutation_iterator.hpp        |   76 -
 .../boost/iterator/reverse_iterator.hpp            |   74 -
 .../boost/iterator/transform_iterator.hpp          |  171 -
 .../boost/iterator/zip_iterator.hpp                |  368 --
 .../boost/iterator_adaptors.hpp                    |   13 -
 src/rbgl_trimmed_boost_1_61_0/boost/last_value.hpp |   54 -
 .../boost/lexical_cast.hpp                         |  105 -
 src/rbgl_trimmed_boost_1_61_0/boost/limits.hpp     |  146 -
 .../boost/local_function.hpp                       |  459 ---
 src/rbgl_trimmed_boost_1_61_0/boost/locale.hpp     |   27 -
 .../boost/make_default.hpp                         |   40 -
 .../boost/make_shared.hpp                          |   17 -
 .../boost/make_unique.hpp                          |   14 -
 src/rbgl_trimmed_boost_1_61_0/boost/math_fwd.hpp   |  108 -
 src/rbgl_trimmed_boost_1_61_0/boost/mem_fn.hpp     |   24 -
 .../boost/memory_order.hpp                         |   57 -
 src/rbgl_trimmed_boost_1_61_0/boost/metaparse.hpp  |  123 -
 .../boost/move/adl_move_swap.hpp                   |  266 --
 .../boost/move/algo/adaptive_merge.hpp             |   67 -
 .../boost/move/algo/adaptive_sort.hpp              |   63 -
 .../boost/move/algo/detail/adaptive_sort_merge.hpp | 2284 -----------
 .../boost/move/algo/detail/basic_op.hpp            |   63 -
 .../move/algo/detail/bufferless_merge_sort.hpp     |  120 -
 .../boost/move/algo/detail/insertion_sort.hpp      |  127 -
 .../boost/move/algo/detail/merge.hpp               |  444 ---
 .../boost/move/algo/detail/merge_sort.hpp          |  124 -
 .../boost/move/algo/move.hpp                       |  155 -
 .../boost/move/algorithm.hpp                       |  167 -
 src/rbgl_trimmed_boost_1_61_0/boost/move/core.hpp  |  502 ---
 .../boost/move/default_delete.hpp                  |  201 -
 .../boost/move/detail/config_begin.hpp             |   21 -
 .../boost/move/detail/config_end.hpp               |   12 -
 .../boost/move/detail/destruct_n.hpp               |   67 -
 .../boost/move/detail/fwd_macros.hpp               |  661 ----
 .../boost/move/detail/iterator_traits.hpp          |   77 -
 .../boost/move/detail/meta_utils.hpp               |  585 ---
 .../boost/move/detail/meta_utils_core.hpp          |  120 -
 .../boost/move/detail/move_helpers.hpp             |  256 --
 .../boost/move/detail/placement_new.hpp            |   30 -
 .../boost/move/detail/std_ns_begin.hpp             |   30 -
 .../boost/move/detail/std_ns_end.hpp               |   14 -
 .../boost/move/detail/type_traits.hpp              | 1078 ------
 .../boost/move/detail/unique_ptr_meta_utils.hpp    |  591 ---
 .../boost/move/detail/workaround.hpp               |   68 -
 .../boost/move/iterator.hpp                        |  311 --
 .../boost/move/make_unique.hpp                     |  237 --
 src/rbgl_trimmed_boost_1_61_0/boost/move/move.hpp  |   35 -
 .../boost/move/traits.hpp                          |   77 -
 .../boost/move/unique_ptr.hpp                      |  871 -----
 .../boost/move/utility.hpp                         |  150 -
 .../boost/move/utility_core.hpp                    |  318 --
 src/rbgl_trimmed_boost_1_61_0/boost/mpi.hpp        |   35 -
 .../boost/mpl/O1_size.hpp                          |   40 -
 .../boost/mpl/O1_size_fwd.hpp                      |   24 -
 .../boost/mpl/accumulate.hpp                       |   39 -
 .../boost/mpl/advance.hpp                          |   76 -
 .../boost/mpl/advance_fwd.hpp                      |   28 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/alias.hpp  |   21 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/always.hpp |   38 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/and.hpp    |   60 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/apply.hpp  |  229 --
 .../boost/mpl/apply_fwd.hpp                        |  107 -
 .../boost/mpl/apply_wrap.hpp                       |  234 --
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/arg.hpp    |  131 -
 .../boost/mpl/arg_fwd.hpp                          |   28 -
 .../boost/mpl/arithmetic.hpp                       |   25 -
 .../boost/mpl/as_sequence.hpp                      |   38 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/assert.hpp |  439 ---
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/at.hpp     |   52 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/at_fwd.hpp |   24 -
 .../boost/mpl/aux_/O1_size_impl.hpp                |   87 -
 .../boost/mpl/aux_/adl_barrier.hpp                 |   48 -
 .../boost/mpl/aux_/advance_backward.hpp            |  128 -
 .../boost/mpl/aux_/advance_forward.hpp             |  127 -
 .../boost/mpl/aux_/apply_1st.hpp                   |   35 -
 .../boost/mpl/aux_/arg_typedef.hpp                 |   31 -
 .../boost/mpl/aux_/arithmetic_op.hpp               |   92 -
 .../boost/mpl/aux_/arity.hpp                       |   39 -
 .../boost/mpl/aux_/arity_spec.hpp                  |   67 -
 .../boost/mpl/aux_/at_impl.hpp                     |   45 -
 .../boost/mpl/aux_/back_impl.hpp                   |   43 -
 .../boost/mpl/aux_/basic_bind.hpp                  |   21 -
 .../boost/mpl/aux_/begin_end_impl.hpp              |  101 -
 .../boost/mpl/aux_/clear_impl.hpp                  |   35 -
 .../boost/mpl/aux_/common_name_wknd.hpp            |   34 -
 .../boost/mpl/aux_/comparison_op.hpp               |   83 -
 .../boost/mpl/aux_/config/adl.hpp                  |   40 -
 .../boost/mpl/aux_/config/arrays.hpp               |   30 -
 .../boost/mpl/aux_/config/bcc.hpp                  |   28 -
 .../boost/mpl/aux_/config/bind.hpp                 |   33 -
 .../boost/mpl/aux_/config/compiler.hpp             |   66 -
 .../boost/mpl/aux_/config/ctps.hpp                 |   30 -
 .../boost/mpl/aux_/config/dependent_nttp.hpp       |   35 -
 .../boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp   |   27 -
 .../boost/mpl/aux_/config/dtp.hpp                  |   46 -
 .../boost/mpl/aux_/config/eti.hpp                  |   47 -
 .../boost/mpl/aux_/config/forwarding.hpp           |   27 -
 .../boost/mpl/aux_/config/gcc.hpp                  |   23 -
 .../boost/mpl/aux_/config/gpu.hpp                  |   35 -
 .../boost/mpl/aux_/config/has_apply.hpp            |   32 -
 .../boost/mpl/aux_/config/has_xxx.hpp              |   34 -
 .../boost/mpl/aux_/config/integral.hpp             |   38 -
 .../boost/mpl/aux_/config/intel.hpp                |   21 -
 .../boost/mpl/aux_/config/lambda.hpp               |   32 -
 .../boost/mpl/aux_/config/msvc.hpp                 |   21 -
 .../boost/mpl/aux_/config/msvc_typename.hpp        |   26 -
 .../boost/mpl/aux_/config/nttp.hpp                 |   41 -
 .../boost/mpl/aux_/config/operators.hpp            |   34 -
 .../boost/mpl/aux_/config/overload_resolution.hpp  |   29 -
 .../boost/mpl/aux_/config/pp_counter.hpp           |   26 -
 .../boost/mpl/aux_/config/preprocessor.hpp         |   39 -
 .../boost/mpl/aux_/config/static_constant.hpp      |   25 -
 .../boost/mpl/aux_/config/ttp.hpp                  |   41 -
 .../boost/mpl/aux_/config/typeof.hpp               |   38 -
 .../boost/mpl/aux_/config/use_preprocessed.hpp     |   19 -
 .../boost/mpl/aux_/config/workaround.hpp           |   19 -
 .../boost/mpl/aux_/contains_impl.hpp               |   61 -
 .../boost/mpl/aux_/count_args.hpp                  |  105 -
 .../boost/mpl/aux_/count_impl.hpp                  |   44 -
 .../boost/mpl/aux_/empty_impl.hpp                  |   43 -
 .../boost/mpl/aux_/erase_impl.hpp                  |   69 -
 .../boost/mpl/aux_/erase_key_impl.hpp              |   32 -
 .../boost/mpl/aux_/filter_iter.hpp                 |  140 -
 .../boost/mpl/aux_/find_if_pred.hpp                |   31 -
 .../boost/mpl/aux_/fold_impl.hpp                   |   43 -
 .../boost/mpl/aux_/fold_impl_body.hpp              |  365 --
 .../boost/mpl/aux_/fold_op.hpp                     |   37 -
 .../boost/mpl/aux_/fold_pred.hpp                   |   37 -
 .../boost/mpl/aux_/front_impl.hpp                  |   41 -
 .../boost/mpl/aux_/full_lambda.hpp                 |  354 --
 .../boost/mpl/aux_/has_apply.hpp                   |   32 -
 .../boost/mpl/aux_/has_begin.hpp                   |   23 -
 .../boost/mpl/aux_/has_key_impl.hpp                |   34 -
 .../boost/mpl/aux_/has_rebind.hpp                  |   99 -
 .../boost/mpl/aux_/has_size.hpp                    |   23 -
 .../boost/mpl/aux_/has_tag.hpp                     |   23 -
 .../boost/mpl/aux_/has_type.hpp                    |   23 -
 .../boost/mpl/aux_/include_preprocessed.hpp        |   42 -
 .../boost/mpl/aux_/insert_impl.hpp                 |   68 -
 .../boost/mpl/aux_/insert_range_impl.hpp           |   80 -
 .../boost/mpl/aux_/inserter_algorithm.hpp          |  159 -
 .../boost/mpl/aux_/integral_wrapper.hpp            |   93 -
 .../boost/mpl/aux_/is_msvc_eti_arg.hpp             |   64 -
 .../boost/mpl/aux_/iter_apply.hpp                  |   47 -
 .../boost/mpl/aux_/iter_fold_if_impl.hpp           |  210 --
 .../boost/mpl/aux_/iter_fold_impl.hpp              |   42 -
 .../boost/mpl/aux_/iter_push_front.hpp             |   36 -
 .../boost/mpl/aux_/joint_iter.hpp                  |  120 -
 .../boost/mpl/aux_/lambda_arity_param.hpp          |   25 -
 .../boost/mpl/aux_/lambda_no_ctps.hpp              |  193 -
 .../boost/mpl/aux_/lambda_spec.hpp                 |   49 -
 .../boost/mpl/aux_/lambda_support.hpp              |  169 -
 .../boost/mpl/aux_/largest_int.hpp                 |   63 -
 .../boost/mpl/aux_/logical_op.hpp                  |  165 -
 .../boost/mpl/aux_/msvc_dtw.hpp                    |   68 -
 .../boost/mpl/aux_/msvc_eti_base.hpp               |   77 -
 .../boost/mpl/aux_/msvc_is_class.hpp               |   58 -
 .../boost/mpl/aux_/msvc_never_true.hpp             |   34 -
 .../boost/mpl/aux_/msvc_type.hpp                   |   62 -
 .../boost/mpl/aux_/na.hpp                          |   95 -
 .../boost/mpl/aux_/na_assert.hpp                   |   34 -
 .../boost/mpl/aux_/na_fwd.hpp                      |   31 -
 .../boost/mpl/aux_/na_spec.hpp                     |  175 -
 .../boost/mpl/aux_/nested_type_wknd.hpp            |   48 -
 .../boost/mpl/aux_/nttp_decl.hpp                   |   35 -
 .../boost/mpl/aux_/numeric_cast_utils.hpp          |   77 -
 .../boost/mpl/aux_/numeric_op.hpp                  |  315 --
 .../boost/mpl/aux_/order_impl.hpp                  |   76 -
 .../boost/mpl/aux_/overload_names.hpp              |   48 -
 .../boost/mpl/aux_/partition_op.hpp                |   58 -
 .../boost/mpl/aux_/pop_back_impl.hpp               |   34 -
 .../boost/mpl/aux_/pop_front_impl.hpp              |   44 -
 .../mpl/aux_/preprocessed/bcc/advance_backward.hpp |   97 -
 .../mpl/aux_/preprocessed/bcc/advance_forward.hpp  |   97 -
 .../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 ---
 .../boost/mpl/aux_/preprocessed/bcc/arg.hpp        |  117 -
 .../boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp |  300 --
 .../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 --
 .../boost/mpl/aux_/preprocessed/bcc/less.hpp       |   94 -
 .../boost/mpl/aux_/preprocessed/bcc/less_equal.hpp |   94 -
 .../boost/mpl/aux_/preprocessed/bcc/list.hpp       |  323 --
 .../boost/mpl/aux_/preprocessed/bcc/list_c.hpp     |  328 --
 .../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 -
 .../boost/mpl/aux_/preprocessed/bcc/or.hpp         |   69 -
 .../mpl/aux_/preprocessed/bcc/placeholders.hpp     |  105 -
 .../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 --
 .../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 -
 .../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 -
 .../boost/mpl/aux_/preprocessed/dmc/arg.hpp        |  123 -
 .../boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp |  406 --
 .../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 --
 .../boost/mpl/aux_/preprocessed/dmc/less.hpp       |   94 -
 .../boost/mpl/aux_/preprocessed/dmc/less_equal.hpp |   94 -
 .../boost/mpl/aux_/preprocessed/dmc/list.hpp       |  323 --
 .../boost/mpl/aux_/preprocessed/dmc/list_c.hpp     |  328 --
 .../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 -
 .../boost/mpl/aux_/preprocessed/dmc/or.hpp         |   69 -
 .../mpl/aux_/preprocessed/dmc/placeholders.hpp     |  105 -
 .../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 --
 .../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 -
 .../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 -
 .../boost/mpl/aux_/preprocessed/gcc/arg.hpp        |  123 -
 .../boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp |  440 ---
 .../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 --
 .../boost/mpl/aux_/preprocessed/gcc/less.hpp       |   94 -
 .../boost/mpl/aux_/preprocessed/gcc/less_equal.hpp |   94 -
 .../boost/mpl/aux_/preprocessed/gcc/list.hpp       |  323 --
 .../boost/mpl/aux_/preprocessed/gcc/list_c.hpp     |  328 --
 .../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 -
 .../boost/mpl/aux_/preprocessed/gcc/or.hpp         |   69 -
 .../mpl/aux_/preprocessed/gcc/placeholders.hpp     |  105 -
 .../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 --
 .../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 -
 .../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 ---
 .../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 --
 .../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 -
 .../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 --
 .../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 -
 .../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 --
 .../boost/mpl/aux_/preprocessor/add.hpp            |   65 -
 .../mpl/aux_/preprocessor/def_params_tail.hpp      |  105 -
 .../boost/mpl/aux_/preprocessor/default_params.hpp |   67 -
 .../boost/mpl/aux_/preprocessor/enum.hpp           |   62 -
 .../boost/mpl/aux_/preprocessor/ext_params.hpp     |   78 -
 .../boost/mpl/aux_/preprocessor/filter_params.hpp  |   28 -
 .../boost/mpl/aux_/preprocessor/is_seq.hpp         |   54 -
 .../boost/mpl/aux_/preprocessor/params.hpp         |   65 -
 .../mpl/aux_/preprocessor/partial_spec_params.hpp  |   32 -
 .../boost/mpl/aux_/preprocessor/range.hpp          |   30 -
 .../boost/mpl/aux_/preprocessor/repeat.hpp         |   51 -
 .../boost/mpl/aux_/preprocessor/sub.hpp            |   65 -
 .../boost/mpl/aux_/preprocessor/token_equal.hpp    |   56 -
 .../boost/mpl/aux_/preprocessor/tuple.hpp          |   29 -
 .../boost/mpl/aux_/ptr_to_ref.hpp                  |   46 -
 .../boost/mpl/aux_/push_back_impl.hpp              |   70 -
 .../boost/mpl/aux_/push_front_impl.hpp             |   71 -
 .../boost/mpl/aux_/range_c/O1_size.hpp             |   31 -
 .../boost/mpl/aux_/range_c/back.hpp                |   34 -
 .../boost/mpl/aux_/range_c/empty.hpp               |   37 -
 .../boost/mpl/aux_/range_c/front.hpp               |   33 -
 .../boost/mpl/aux_/range_c/iterator.hpp            |  106 -
 .../boost/mpl/aux_/range_c/size.hpp                |   37 -
 .../boost/mpl/aux_/range_c/tag.hpp                 |   24 -
 .../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 -
 .../boost/mpl/aux_/sequence_wrapper.hpp            |  292 --
 .../boost/mpl/aux_/shift_op.hpp                    |   87 -
 .../boost/mpl/aux_/single_element_iter.hpp         |  118 -
 .../boost/mpl/aux_/size_impl.hpp                   |   52 -
 .../boost/mpl/aux_/sort_impl.hpp                   |  121 -
 .../boost/mpl/aux_/static_cast.hpp                 |   27 -
 .../boost/mpl/aux_/template_arity.hpp              |  189 -
 .../boost/mpl/aux_/template_arity_fwd.hpp          |   23 -
 .../boost/mpl/aux_/test.hpp                        |   32 -
 .../boost/mpl/aux_/test/assert.hpp                 |   29 -
 .../boost/mpl/aux_/test/data.hpp                   |   25 -
 .../boost/mpl/aux_/test/test_case.hpp              |   21 -
 .../boost/mpl/aux_/traits_lambda_spec.hpp          |   63 -
 .../boost/mpl/aux_/transform_iter.hpp              |  123 -
 .../boost/mpl/aux_/type_wrapper.hpp                |   47 -
 .../boost/mpl/aux_/unwrap.hpp                      |   51 -
 .../boost/mpl/aux_/value_wknd.hpp                  |   89 -
 .../boost/mpl/aux_/yes_no.hpp                      |   58 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/back.hpp   |   39 -
 .../boost/mpl/back_fwd.hpp                         |   24 -
 .../boost/mpl/back_inserter.hpp                    |   34 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/base.hpp   |   35 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/begin.hpp  |   19 -
 .../boost/mpl/begin_end.hpp                        |   57 -
 .../boost/mpl/begin_end_fwd.hpp                    |   27 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/bind.hpp   |  551 ---
 .../boost/mpl/bind_fwd.hpp                         |   99 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitand.hpp |   45 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitor.hpp  |   45 -
 .../boost/mpl/bitwise.hpp                          |   24 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitxor.hpp |   23 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/bool.hpp   |   39 -
 .../boost/mpl/bool_fwd.hpp                         |   33 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/char.hpp   |   22 -
 .../boost/mpl/char_fwd.hpp                         |   27 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/clear.hpp  |   39 -
 .../boost/mpl/clear_fwd.hpp                        |   24 -
 .../boost/mpl/comparison.hpp                       |   24 -
 .../boost/mpl/contains.hpp                         |   41 -
 .../boost/mpl/contains_fwd.hpp                     |   25 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/copy.hpp   |   58 -
 .../boost/mpl/copy_if.hpp                          |   96 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/count.hpp  |   40 -
 .../boost/mpl/count_fwd.hpp                        |   24 -
 .../boost/mpl/count_if.hpp                         |   79 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/deque.hpp  |   58 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/deref.hpp  |   41 -
 .../boost/mpl/distance.hpp                         |   78 -
 .../boost/mpl/distance_fwd.hpp                     |   28 -
 .../boost/mpl/divides.hpp                          |   21 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty.hpp  |   39 -
 .../boost/mpl/empty_base.hpp                       |   63 -
 .../boost/mpl/empty_fwd.hpp                        |   24 -
 .../boost/mpl/empty_sequence.hpp                   |   43 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/end.hpp    |   19 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/equal.hpp  |  112 -
 .../boost/mpl/equal_to.hpp                         |   21 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase.hpp  |   42 -
 .../boost/mpl/erase_fwd.hpp                        |   24 -
 .../boost/mpl/erase_key.hpp                        |   41 -
 .../boost/mpl/erase_key_fwd.hpp                    |   24 -
 .../boost/mpl/eval_if.hpp                          |   71 -
 .../boost/mpl/filter_view.hpp                      |   46 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/find.hpp   |   38 -
 .../boost/mpl/find_if.hpp                          |   50 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/fold.hpp   |   48 -
 .../boost/mpl/for_each.hpp                         |  123 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/front.hpp  |   39 -
 .../boost/mpl/front_fwd.hpp                        |   24 -
 .../boost/mpl/front_inserter.hpp                   |   33 -
 .../boost/mpl/greater.hpp                          |   21 -
 .../boost/mpl/greater_equal.hpp                    |   21 -
 .../boost/mpl/has_key.hpp                          |   41 -
 .../boost/mpl/has_key_fwd.hpp                      |   25 -
 .../boost/mpl/has_xxx.hpp                          |  647 ----
 .../boost/mpl/identity.hpp                         |   45 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/if.hpp     |  135 -
 .../boost/mpl/index_if.hpp                         |   60 -
 .../boost/mpl/index_of.hpp                         |   39 -
 .../boost/mpl/inherit.hpp                          |  229 --
 .../boost/mpl/inherit_linearly.hpp                 |   39 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert.hpp |   41 -
 .../boost/mpl/insert_fwd.hpp                       |   24 -
 .../boost/mpl/insert_range.hpp                     |   41 -
 .../boost/mpl/insert_range_fwd.hpp                 |   24 -
 .../boost/mpl/inserter.hpp                         |   32 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/int.hpp    |   22 -
 .../boost/mpl/int_fwd.hpp                          |   27 -
 .../boost/mpl/integral_c.hpp                       |   51 -
 .../boost/mpl/integral_c_fwd.hpp                   |   32 -
 .../boost/mpl/integral_c_tag.hpp                   |   26 -
 .../boost/mpl/is_placeholder.hpp                   |   67 -
 .../boost/mpl/is_sequence.hpp                      |  112 -
 .../boost/mpl/iter_fold.hpp                        |   49 -
 .../boost/mpl/iter_fold_if.hpp                     |  117 -
 .../boost/mpl/iterator_category.hpp                |   35 -
 .../boost/mpl/iterator_range.hpp                   |   42 -
 .../boost/mpl/iterator_tags.hpp                    |   27 -
 .../boost/mpl/joint_view.hpp                       |   65 -
 .../boost/mpl/key_type.hpp                         |   42 -
 .../boost/mpl/key_type_fwd.hpp                     |   25 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/lambda.hpp |   29 -
 .../boost/mpl/lambda_fwd.hpp                       |   57 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/less.hpp   |   21 -
 .../boost/mpl/less_equal.hpp                       |   21 -
 .../boost/mpl/limits/arity.hpp                     |   21 -
 .../boost/mpl/limits/list.hpp                      |   21 -
 .../boost/mpl/limits/map.hpp                       |   21 -
 .../boost/mpl/limits/set.hpp                       |   21 -
 .../boost/mpl/limits/string.hpp                    |   21 -
 .../boost/mpl/limits/unrolling.hpp                 |   21 -
 .../boost/mpl/limits/vector.hpp                    |   21 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/list.hpp   |   57 -
 .../boost/mpl/list/aux_/O1_size.hpp                |   33 -
 .../boost/mpl/list/aux_/begin_end.hpp              |   44 -
 .../boost/mpl/list/aux_/clear.hpp                  |   34 -
 .../boost/mpl/list/aux_/empty.hpp                  |   34 -
 .../boost/mpl/list/aux_/front.hpp                  |   33 -
 .../boost/mpl/list/aux_/include_preprocessed.hpp   |   35 -
 .../boost/mpl/list/aux_/item.hpp                   |   55 -
 .../boost/mpl/list/aux_/iterator.hpp               |   76 -
 .../boost/mpl/list/aux_/numbered.hpp               |   68 -
 .../boost/mpl/list/aux_/numbered_c.hpp             |   71 -
 .../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 -
 .../boost/mpl/list/aux_/push_back.hpp              |   36 -
 .../boost/mpl/list/aux_/push_front.hpp             |   39 -
 .../boost/mpl/list/aux_/size.hpp                   |   33 -
 .../boost/mpl/list/aux_/tag.hpp                    |   24 -
 .../boost/mpl/list/list0.hpp                       |   42 -
 .../boost/mpl/list/list0_c.hpp                     |   31 -
 .../boost/mpl/list/list10.hpp                      |   43 -
 .../boost/mpl/list/list10_c.hpp                    |   43 -
 .../boost/mpl/list/list20.hpp                      |   43 -
 .../boost/mpl/list/list20_c.hpp                    |   43 -
 .../boost/mpl/list/list30.hpp                      |   43 -
 .../boost/mpl/list/list30_c.hpp                    |   43 -
 .../boost/mpl/list/list40.hpp                      |   43 -
 .../boost/mpl/list/list40_c.hpp                    |   43 -
 .../boost/mpl/list/list50.hpp                      |   43 -
 .../boost/mpl/list/list50_c.hpp                    |   43 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/list_c.hpp |   60 -
 .../boost/mpl/logical.hpp                          |   21 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/long.hpp   |   22 -
 .../boost/mpl/long_fwd.hpp                         |   27 -
 .../boost/mpl/lower_bound.hpp                      |  143 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/map.hpp    |   57 -
 .../boost/mpl/map/aux_/at_impl.hpp                 |  144 -
 .../boost/mpl/map/aux_/begin_end_impl.hpp          |   50 -
 .../boost/mpl/map/aux_/clear_impl.hpp              |   35 -
 .../boost/mpl/map/aux_/contains_impl.hpp           |   43 -
 .../boost/mpl/map/aux_/empty_impl.hpp              |   34 -
 .../boost/mpl/map/aux_/erase_impl.hpp              |   41 -
 .../boost/mpl/map/aux_/erase_key_impl.hpp          |   53 -
 .../boost/mpl/map/aux_/has_key_impl.hpp            |   44 -
 .../boost/mpl/map/aux_/include_preprocessed.hpp    |   53 -
 .../boost/mpl/map/aux_/insert_impl.hpp             |   72 -
 .../boost/mpl/map/aux_/insert_range_impl.hpp       |   41 -
 .../boost/mpl/map/aux_/item.hpp                    |  141 -
 .../boost/mpl/map/aux_/iterator.hpp                |  169 -
 .../boost/mpl/map/aux_/key_type_impl.hpp           |   36 -
 .../boost/mpl/map/aux_/map0.hpp                    |   74 -
 .../boost/mpl/map/aux_/numbered.hpp                |  110 -
 .../mpl/map/aux_/preprocessed/no_ctps/map10.hpp    |  350 --
 .../mpl/map/aux_/preprocessed/no_ctps/map20.hpp    |  370 --
 .../mpl/map/aux_/preprocessed/no_ctps/map30.hpp    |  390 --
 .../mpl/map/aux_/preprocessed/no_ctps/map40.hpp    |  410 --
 .../mpl/map/aux_/preprocessed/no_ctps/map50.hpp    |  430 ---
 .../mpl/map/aux_/preprocessed/plain/map10.hpp      |  290 --
 .../mpl/map/aux_/preprocessed/plain/map20.hpp      |  310 --
 .../mpl/map/aux_/preprocessed/plain/map30.hpp      |  330 --
 .../mpl/map/aux_/preprocessed/plain/map40.hpp      |  350 --
 .../mpl/map/aux_/preprocessed/plain/map50.hpp      |  370 --
 .../map/aux_/preprocessed/typeof_based/map10.hpp   |  150 -
 .../map/aux_/preprocessed/typeof_based/map20.hpp   |  170 -
 .../map/aux_/preprocessed/typeof_based/map30.hpp   |  190 -
 .../map/aux_/preprocessed/typeof_based/map40.hpp   |  210 --
 .../map/aux_/preprocessed/typeof_based/map50.hpp   |  230 --
 .../boost/mpl/map/aux_/size_impl.hpp               |   33 -
 .../boost/mpl/map/aux_/tag.hpp                     |   24 -
 .../boost/mpl/map/aux_/value_type_impl.hpp         |   36 -
 .../boost/mpl/map/map0.hpp                         |   37 -
 .../boost/mpl/map/map10.hpp                        |   44 -
 .../boost/mpl/map/map20.hpp                        |   44 -
 .../boost/mpl/map/map30.hpp                        |   44 -
 .../boost/mpl/map/map40.hpp                        |   44 -
 .../boost/mpl/map/map50.hpp                        |   44 -
 .../boost/mpl/math/fixed_c.hpp                     |   36 -
 .../boost/mpl/math/is_even.hpp                     |   54 -
 .../boost/mpl/math/rational_c.hpp                  |   37 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/max.hpp    |   19 -
 .../boost/mpl/max_element.hpp                      |   72 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/min.hpp    |   19 -
 .../boost/mpl/min_element.hpp                      |   40 -
 .../boost/mpl/min_max.hpp                          |   46 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/minus.hpp  |   21 -
 .../boost/mpl/modulus.hpp                          |   22 -
 .../boost/mpl/multiplies.hpp                       |   53 -
 .../boost/mpl/multiset/aux_/count_impl.hpp         |   82 -
 .../boost/mpl/multiset/aux_/insert_impl.hpp        |   34 -
 .../boost/mpl/multiset/aux_/item.hpp               |  114 -
 .../boost/mpl/multiset/aux_/multiset0.hpp          |   34 -
 .../boost/mpl/multiset/aux_/tag.hpp                |   23 -
 .../boost/mpl/multiset/multiset0.hpp               |   36 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/negate.hpp |   81 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/next.hpp   |   19 -
 .../boost/mpl/next_prior.hpp                       |   49 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/not.hpp    |   51 -
 .../boost/mpl/not_equal_to.hpp                     |   21 -
 .../boost/mpl/numeric_cast.hpp                     |   41 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/or.hpp     |   61 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/order.hpp  |   41 -
 .../boost/mpl/order_fwd.hpp                        |   25 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/pair.hpp   |   70 -
 .../boost/mpl/pair_view.hpp                        |  169 -
 .../boost/mpl/partition.hpp                        |   53 -
 .../boost/mpl/placeholders.hpp                     |  100 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/plus.hpp   |   21 -
 .../boost/mpl/pop_back.hpp                         |   39 -
 .../boost/mpl/pop_back_fwd.hpp                     |   24 -
 .../boost/mpl/pop_front.hpp                        |   39 -
 .../boost/mpl/pop_front_fwd.hpp                    |   24 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/print.hpp  |   75 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/prior.hpp  |   19 -
 .../boost/mpl/protect.hpp                          |   55 -
 .../boost/mpl/push_back.hpp                        |   53 -
 .../boost/mpl/push_back_fwd.hpp                    |   24 -
 .../boost/mpl/push_front.hpp                       |   52 -
 .../boost/mpl/push_front_fwd.hpp                   |   24 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/quote.hpp  |  151 -
 .../boost/mpl/range_c.hpp                          |   48 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/remove.hpp |   52 -
 .../boost/mpl/remove_if.hpp                        |   83 -
 .../boost/mpl/replace.hpp                          |   55 -
 .../boost/mpl/replace_if.hpp                       |   88 -
 .../boost/mpl/reverse.hpp                          |   38 -
 .../boost/mpl/reverse_fold.hpp                     |   50 -
 .../boost/mpl/reverse_iter_fold.hpp                |   56 -
 .../boost/mpl/same_as.hpp                          |   55 -
 .../boost/mpl/sequence_tag.hpp                     |  124 -
 .../boost/mpl/sequence_tag_fwd.hpp                 |   26 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/set.hpp    |   57 -
 .../boost/mpl/set/aux_/at_impl.hpp                 |   40 -
 .../boost/mpl/set/aux_/begin_end_impl.hpp          |   43 -
 .../boost/mpl/set/aux_/clear_impl.hpp              |   35 -
 .../boost/mpl/set/aux_/empty_impl.hpp              |   34 -
 .../boost/mpl/set/aux_/erase_impl.hpp              |   41 -
 .../boost/mpl/set/aux_/erase_key_impl.hpp          |   53 -
 .../boost/mpl/set/aux_/has_key_impl.hpp            |   60 -
 .../boost/mpl/set/aux_/include_preprocessed.hpp    |   42 -
 .../boost/mpl/set/aux_/insert_impl.hpp             |   65 -
 .../boost/mpl/set/aux_/insert_range_impl.hpp       |   41 -
 .../boost/mpl/set/aux_/item.hpp                    |   82 -
 .../boost/mpl/set/aux_/iterator.hpp                |   98 -
 .../boost/mpl/set/aux_/key_type_impl.hpp           |   34 -
 .../boost/mpl/set/aux_/numbered.hpp                |   48 -
 .../boost/mpl/set/aux_/numbered_c.hpp              |   48 -
 .../mpl/set/aux_/preprocessed/plain/set10.hpp      |  140 -
 .../mpl/set/aux_/preprocessed/plain/set10_c.hpp    |  145 -
 .../mpl/set/aux_/preprocessed/plain/set20.hpp      |  168 -
 .../mpl/set/aux_/preprocessed/plain/set20_c.hpp    |  154 -
 .../mpl/set/aux_/preprocessed/plain/set30.hpp      |  195 -
 .../mpl/set/aux_/preprocessed/plain/set30_c.hpp    |  164 -
 .../mpl/set/aux_/preprocessed/plain/set40.hpp      |  221 --
 .../mpl/set/aux_/preprocessed/plain/set40_c.hpp    |  174 -
 .../mpl/set/aux_/preprocessed/plain/set50.hpp      |  250 --
 .../mpl/set/aux_/preprocessed/plain/set50_c.hpp    |  184 -
 .../boost/mpl/set/aux_/set0.hpp                    |   69 -
 .../boost/mpl/set/aux_/size_impl.hpp               |   33 -
 .../boost/mpl/set/aux_/tag.hpp                     |   24 -
 .../boost/mpl/set/aux_/value_type_impl.hpp         |   34 -
 .../boost/mpl/set/set0.hpp                         |   36 -
 .../boost/mpl/set/set0_c.hpp                       |   32 -
 .../boost/mpl/set/set10.hpp                        |   44 -
 .../boost/mpl/set/set10_c.hpp                      |   45 -
 .../boost/mpl/set/set20.hpp                        |   44 -
 .../boost/mpl/set/set20_c.hpp                      |   45 -
 .../boost/mpl/set/set30.hpp                        |   44 -
 .../boost/mpl/set/set30_c.hpp                      |   45 -
 .../boost/mpl/set/set40.hpp                        |   44 -
 .../boost/mpl/set/set40_c.hpp                      |   45 -
 .../boost/mpl/set/set50.hpp                        |   44 -
 .../boost/mpl/set/set50_c.hpp                      |   45 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/set_c.hpp  |   60 -
 .../boost/mpl/shift_left.hpp                       |   22 -
 .../boost/mpl/shift_right.hpp                      |   22 -
 .../boost/mpl/single_view.hpp                      |   38 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/size.hpp   |   42 -
 .../boost/mpl/size_fwd.hpp                         |   24 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/size_t.hpp |   25 -
 .../boost/mpl/size_t_fwd.hpp                       |   28 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/sizeof.hpp |   36 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/sort.hpp   |   27 -
 .../boost/mpl/stable_partition.hpp                 |   75 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/string.hpp |  607 ---
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/switch.hpp |   49 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/tag.hpp    |   52 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/times.hpp  |   21 -
 .../boost/mpl/transform.hpp                        |  145 -
 .../boost/mpl/transform_view.hpp                   |   46 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/unique.hpp |   85 -
 .../boost/mpl/unpack_args.hpp                      |  150 -
 .../boost/mpl/upper_bound.hpp                      |  141 -
 .../boost/mpl/value_type.hpp                       |   42 -
 .../boost/mpl/value_type_fwd.hpp                   |   25 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector.hpp |   57 -
 .../boost/mpl/vector/aux_/O1_size.hpp              |   56 -
 .../boost/mpl/vector/aux_/at.hpp                   |  116 -
 .../boost/mpl/vector/aux_/back.hpp                 |   59 -
 .../boost/mpl/vector/aux_/begin_end.hpp            |   49 -
 .../boost/mpl/vector/aux_/clear.hpp                |   55 -
 .../boost/mpl/vector/aux_/empty.hpp                |   68 -
 .../boost/mpl/vector/aux_/front.hpp                |   56 -
 .../boost/mpl/vector/aux_/include_preprocessed.hpp |   55 -
 .../boost/mpl/vector/aux_/item.hpp                 |  103 -
 .../boost/mpl/vector/aux_/iterator.hpp             |  130 -
 .../boost/mpl/vector/aux_/numbered.hpp             |  218 --
 .../boost/mpl/vector/aux_/numbered_c.hpp           |   77 -
 .../boost/mpl/vector/aux_/pop_back.hpp             |   40 -
 .../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 -
 .../boost/mpl/vector/aux_/push_back.hpp            |   40 -
 .../boost/mpl/vector/aux_/push_front.hpp           |   40 -
 .../boost/mpl/vector/aux_/size.hpp                 |   49 -
 .../boost/mpl/vector/aux_/tag.hpp                  |   32 -
 .../boost/mpl/vector/aux_/vector0.hpp              |   52 -
 .../boost/mpl/vector/vector0.hpp                   |   34 -
 .../boost/mpl/vector/vector0_c.hpp                 |   31 -
 .../boost/mpl/vector/vector10.hpp                  |   45 -
 .../boost/mpl/vector/vector10_c.hpp                |   46 -
 .../boost/mpl/vector/vector20.hpp                  |   45 -
 .../boost/mpl/vector/vector20_c.hpp                |   46 -
 .../boost/mpl/vector/vector30.hpp                  |   45 -
 .../boost/mpl/vector/vector30_c.hpp                |   47 -
 .../boost/mpl/vector/vector40.hpp                  |   45 -
 .../boost/mpl/vector/vector40_c.hpp                |   46 -
 .../boost/mpl/vector/vector50.hpp                  |   45 -
 .../boost/mpl/vector/vector50_c.hpp                |   46 -
 .../boost/mpl/vector_c.hpp                         |   61 -
 src/rbgl_trimmed_boost_1_61_0/boost/mpl/void.hpp   |   76 -
 .../boost/mpl/void_fwd.hpp                         |   26 -
 .../boost/mpl/zip_view.hpp                         |   65 -
 .../boost/multi_array.hpp                          |  499 ---
 .../boost/multi_index/composite_key.hpp            | 1513 --------
 .../boost/multi_index/detail/access_specifier.hpp  |   54 -
 .../boost/multi_index/detail/adl_swap.hpp          |   44 -
 .../multi_index/detail/archive_constructed.hpp     |   79 -
 .../boost/multi_index/detail/auto_space.hpp        |   91 -
 .../boost/multi_index/detail/base_type.hpp         |   74 -
 .../multi_index/detail/bidir_node_iterator.hpp     |  114 -
 .../boost/multi_index/detail/bucket_array.hpp      |  243 --
 .../boost/multi_index/detail/cons_stdtuple.hpp     |   93 -
 .../boost/multi_index/detail/converter.hpp         |   52 -
 .../boost/multi_index/detail/copy_map.hpp          |  142 -
 .../detail/do_not_copy_elements_tag.hpp            |   34 -
 .../multi_index/detail/duplicates_iterator.hpp     |  120 -
 .../boost/multi_index/detail/has_tag.hpp           |   42 -
 .../boost/multi_index/detail/hash_index_args.hpp   |  105 -
 .../multi_index/detail/hash_index_iterator.hpp     |  166 -
 .../boost/multi_index/detail/hash_index_node.hpp   |  778 ----
 .../boost/multi_index/detail/header_holder.hpp     |   50 -
 .../boost/multi_index/detail/index_base.hpp        |  293 --
 .../boost/multi_index/detail/index_loader.hpp      |  139 -
 .../boost/multi_index/detail/index_matcher.hpp     |  249 --
 .../boost/multi_index/detail/index_node_base.hpp   |  131 -
 .../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/is_transparent.hpp    |  135 -
 .../boost/multi_index/detail/iter_adaptor.hpp      |  321 --
 .../multi_index/detail/modify_key_adaptor.hpp      |   49 -
 .../boost/multi_index/detail/no_duplicate_tags.hpp |   97 -
 .../boost/multi_index/detail/node_type.hpp         |   66 -
 .../boost/multi_index/detail/ord_index_args.hpp    |   83 -
 .../boost/multi_index/detail/ord_index_impl.hpp    | 1567 --------
 .../multi_index/detail/ord_index_impl_fwd.hpp      |  128 -
 .../boost/multi_index/detail/ord_index_node.hpp    |  658 ----
 .../boost/multi_index/detail/ord_index_ops.hpp     |  266 --
 .../boost/multi_index/detail/promotes_arg.hpp      |   83 -
 .../boost/multi_index/detail/raw_ptr.hpp           |   52 -
 .../boost/multi_index/detail/rnd_index_loader.hpp  |  173 -
 .../boost/multi_index/detail/rnd_index_node.hpp    |  273 --
 .../boost/multi_index/detail/rnd_index_ops.hpp     |  203 -
 .../multi_index/detail/rnd_index_ptr_array.hpp     |  144 -
 .../boost/multi_index/detail/rnd_node_iterator.hpp |  140 -
 .../boost/multi_index/detail/rnk_index_ops.hpp     |  300 --
 .../boost/multi_index/detail/safe_mode.hpp         |  588 ---
 .../boost/multi_index/detail/scope_guard.hpp       |  453 ---
 .../boost/multi_index/detail/seq_index_node.hpp    |  217 --
 .../boost/multi_index/detail/seq_index_ops.hpp     |  199 -
 .../multi_index/detail/serialization_version.hpp   |   73 -
 .../boost/multi_index/detail/uintptr_type.hpp      |   76 -
 .../boost/multi_index/detail/unbounded.hpp         |   66 -
 .../boost/multi_index/detail/value_compare.hpp     |   56 -
 .../boost/multi_index/detail/vartempl_support.hpp  |  247 --
 .../boost/multi_index/global_fun.hpp               |  185 -
 .../boost/multi_index/hashed_index.hpp             | 1725 ---------
 .../boost/multi_index/hashed_index_fwd.hpp         |   74 -
 .../boost/multi_index/identity.hpp                 |  145 -
 .../boost/multi_index/identity_fwd.hpp             |   26 -
 .../boost/multi_index/indexed_by.hpp               |   68 -
 .../boost/multi_index/key_extractors.hpp           |   22 -
 .../boost/multi_index/mem_fun.hpp                  |  205 -
 .../boost/multi_index/member.hpp                   |  262 --
 .../boost/multi_index/ordered_index.hpp            |  114 -
 .../boost/multi_index/ordered_index_fwd.hpp        |   35 -
 .../boost/multi_index/random_access_index.hpp      | 1167 ------
 .../boost/multi_index/random_access_index_fwd.hpp  |   91 -
 .../boost/multi_index/ranked_index.hpp             |  382 --
 .../boost/multi_index/ranked_index_fwd.hpp         |   35 -
 .../boost/multi_index/safe_mode_errors.hpp         |   48 -
 .../boost/multi_index/sequenced_index.hpp          | 1062 ------
 .../boost/multi_index/sequenced_index_fwd.hpp      |   91 -
 .../boost/multi_index/tag.hpp                      |   88 -
 .../boost/multi_index_container.hpp                | 1362 -------
 .../boost/multi_index_container_fwd.hpp            |  121 -
 src/rbgl_trimmed_boost_1_61_0/boost/next_prior.hpp |  165 -
 src/rbgl_trimmed_boost_1_61_0/boost/non_type.hpp   |   27 -
 .../boost/noncopyable.hpp                          |   17 -
 .../boost/nondet_random.hpp                        |   22 -
 src/rbgl_trimmed_boost_1_61_0/boost/none.hpp       |   59 -
 src/rbgl_trimmed_boost_1_61_0/boost/none_t.hpp     |   39 -
 src/rbgl_trimmed_boost_1_61_0/boost/operators.hpp  |  892 -----
 .../boost/operators_v1.hpp                         |  951 -----
 src/rbgl_trimmed_boost_1_61_0/boost/optional.hpp   |   18 -
 .../boost/optional/bad_optional_access.hpp         |   32 -
 .../detail/old_optional_implementation.hpp         | 1059 ------
 .../optional/detail/optional_aligned_storage.hpp   |   75 -
 .../boost/optional/detail/optional_config.hpp      |   99 -
 .../optional/detail/optional_factory_support.hpp   |   36 -
 .../optional/detail/optional_reference_spec.hpp    |  203 -
 .../boost/optional/detail/optional_relops.hpp      |  196 -
 .../boost/optional/detail/optional_swap.hpp        |  117 -
 .../boost/optional/optional.hpp                    | 1146 ------
 .../boost/optional/optional_fwd.hpp                |   41 -
 .../boost/optional/optional_io.hpp                 |   94 -
 src/rbgl_trimmed_boost_1_61_0/boost/parameter.hpp  |   21 -
 .../boost/parameter/aux_/arg_list.hpp              |  436 ---
 .../boost/parameter/aux_/cast.hpp                  |  141 -
 .../boost/parameter/aux_/default.hpp               |   69 -
 .../boost/parameter/aux_/is_maybe.hpp              |   26 -
 .../boost/parameter/aux_/maybe.hpp                 |  120 -
 .../boost/parameter/aux_/overloads.hpp             |   88 -
 .../parameter/aux_/parameter_requirements.hpp      |   25 -
 .../boost/parameter/aux_/parenthesized_type.hpp    |   35 -
 .../boost/parameter/aux_/preprocessor/flatten.hpp  |  115 -
 .../boost/parameter/aux_/preprocessor/for_each.hpp |  103 -
 .../boost/parameter/aux_/python/invoker.hpp        |  132 -
 .../parameter/aux_/python/invoker_iterate.hpp      |   93 -
 .../boost/parameter/aux_/result_of0.hpp            |   36 -
 .../boost/parameter/aux_/set.hpp                   |   66 -
 .../boost/parameter/aux_/tag.hpp                   |   38 -
 .../boost/parameter/aux_/tagged_argument.hpp       |  188 -
 .../boost/parameter/aux_/template_keyword.hpp      |   47 -
 .../boost/parameter/aux_/unwrap_cv_reference.hpp   |   91 -
 .../boost/parameter/aux_/void.hpp                  |   29 -
 .../boost/parameter/aux_/yesno.hpp                 |   26 -
 .../boost/parameter/binding.hpp                    |   80 -
 .../boost/parameter/config.hpp                     |   14 -
 .../boost/parameter/keyword.hpp                    |  122 -
 .../boost/parameter/macros.hpp                     |   99 -
 .../boost/parameter/match.hpp                      |   55 -
 .../boost/parameter/name.hpp                       |  146 -
 .../boost/parameter/parameters.hpp                 |  931 -----
 .../boost/parameter/preprocessor.hpp               | 1077 ------
 .../boost/parameter/python.hpp                     |  735 ----
 .../boost/parameter/value_type.hpp                 |   82 -
 .../boost/pending/bucket_sorter.hpp                |  134 -
 .../boost/pending/container_traits.hpp             |  630 ----
 .../boost/pending/detail/disjoint_sets.hpp         |   88 -
 .../boost/pending/detail/int_iterator.hpp          |   81 -
 .../boost/pending/detail/property.hpp              |   21 -
 .../boost/pending/disjoint_sets.hpp                |  220 --
 .../boost/pending/fenced_priority_queue.hpp        |  152 -
 .../boost/pending/fibonacci_heap.hpp               |  271 --
 .../boost/pending/indirect_cmp.hpp                 |   87 -
 .../boost/pending/integer_log2.hpp                 |    9 -
 .../boost/pending/is_heap.hpp                      |   62 -
 .../boost/pending/iterator_adaptors.hpp            |    6 -
 .../boost/pending/iterator_tests.hpp               |  278 --
 .../boost/pending/lowest_bit.hpp                   |   39 -
 .../boost/pending/mutable_heap.hpp                 |   64 -
 .../boost/pending/mutable_queue.hpp                |  135 -
 .../boost/pending/property.hpp                     |  270 --
 .../boost/pending/property_serialize.hpp           |   70 -
 .../boost/pending/queue.hpp                        |  118 -
 .../boost/pending/relaxed_heap.hpp                 |  647 ----
 .../boost/pending/stringtok.hpp                    |  116 -
 src/rbgl_trimmed_boost_1_61_0/boost/phoenix.hpp    |   13 -
 src/rbgl_trimmed_boost_1_61_0/boost/pointee.hpp    |   74 -
 .../boost/pointer_cast.hpp                         |   45 -
 .../boost/pointer_to_other.hpp                     |   55 -
 .../boost/polymorphic_cast.hpp                     |  100 -
 .../boost/polymorphic_pointer_cast.hpp             |   78 -
 src/rbgl_trimmed_boost_1_61_0/boost/predef.h       |   24 -
 .../boost/predef/architecture.h                    |   32 -
 .../boost/predef/architecture/alpha.h              |   59 -
 .../boost/predef/architecture/arm.h                |   70 -
 .../boost/predef/architecture/blackfin.h           |   46 -
 .../boost/predef/architecture/convex.h             |   65 -
 .../boost/predef/architecture/ia64.h               |   49 -
 .../boost/predef/architecture/m68k.h               |   82 -
 .../boost/predef/architecture/mips.h               |   73 -
 .../boost/predef/architecture/parisc.h             |   64 -
 .../boost/predef/architecture/ppc.h                |   72 -
 .../boost/predef/architecture/pyramid.h            |   42 -
 .../boost/predef/architecture/rs6k.h               |   56 -
 .../boost/predef/architecture/sparc.h              |   54 -
 .../boost/predef/architecture/superh.h             |   67 -
 .../boost/predef/architecture/sys370.h             |   43 -
 .../boost/predef/architecture/sys390.h             |   43 -
 .../boost/predef/architecture/x86.h                |   38 -
 .../boost/predef/architecture/x86/32.h             |   87 -
 .../boost/predef/architecture/x86/64.h             |   50 -
 .../boost/predef/architecture/z.h                  |   42 -
 .../boost/predef/compiler.h                        |   43 -
 .../boost/predef/compiler/borland.h                |   63 -
 .../boost/predef/compiler/clang.h                  |   56 -
 .../boost/predef/compiler/comeau.h                 |   61 -
 .../boost/predef/compiler/compaq.h                 |   66 -
 .../boost/predef/compiler/diab.h                   |   56 -
 .../boost/predef/compiler/digitalmars.h            |   56 -
 .../boost/predef/compiler/dignus.h                 |   56 -
 .../boost/predef/compiler/edg.h                    |   56 -
 .../boost/predef/compiler/ekopath.h                |   57 -
 .../boost/predef/compiler/gcc.h                    |   68 -
 .../boost/predef/compiler/gcc_xml.h                |   53 -
 .../boost/predef/compiler/greenhills.h             |   66 -
 .../boost/predef/compiler/hp_acc.h                 |   61 -
 .../boost/predef/compiler/iar.h                    |   56 -
 .../boost/predef/compiler/ibm.h                    |   72 -
 .../boost/predef/compiler/intel.h                  |   65 -
 .../boost/predef/compiler/kai.h                    |   56 -
 .../boost/predef/compiler/llvm.h                   |   57 -
 .../boost/predef/compiler/metaware.h               |   53 -
 .../boost/predef/compiler/metrowerks.h             |   77 -
 .../boost/predef/compiler/microtec.h               |   53 -
 .../boost/predef/compiler/mpw.h                    |   63 -
 .../boost/predef/compiler/palm.h                   |   56 -
 .../boost/predef/compiler/pgi.h                    |   60 -
 .../boost/predef/compiler/sgi_mipspro.h            |   66 -
 .../boost/predef/compiler/sunpro.h                 |   76 -
 .../boost/predef/compiler/tendra.h                 |   53 -
 .../boost/predef/compiler/visualc.h                |   91 -
 .../boost/predef/compiler/watcom.h                 |   56 -
 .../boost/predef/detail/_cassert.h                 |   17 -
 .../boost/predef/detail/_exception.h               |   15 -
 .../boost/predef/detail/comp_detected.h            |   10 -
 .../boost/predef/detail/endian_compat.h            |   26 -
 .../boost/predef/detail/os_detected.h              |   10 -
 .../boost/predef/detail/platform_detected.h        |   10 -
 .../boost/predef/detail/test.h                     |   17 -
 .../boost/predef/detail/test_def.h                 |   71 -
 .../boost/predef/hardware.h                        |   16 -
 .../boost/predef/hardware/simd.h                   |  119 -
 .../boost/predef/hardware/simd/arm.h               |   57 -
 .../boost/predef/hardware/simd/arm/versions.h      |   32 -
 .../boost/predef/hardware/simd/ppc.h               |   69 -
 .../boost/predef/hardware/simd/ppc/versions.h      |   51 -
 .../boost/predef/hardware/simd/x86.h               |  123 -
 .../boost/predef/hardware/simd/x86/versions.h      |  129 -
 .../boost/predef/hardware/simd/x86_amd.h           |   87 -
 .../boost/predef/hardware/simd/x86_amd/versions.h  |   51 -
 .../boost/predef/language.h                        |   17 -
 .../boost/predef/language/objc.h                   |   42 -
 .../boost/predef/language/stdc.h                   |   53 -
 .../boost/predef/language/stdcpp.h                 |  121 -
 .../boost/predef/library.h                         |   16 -
 .../boost/predef/library/c.h                       |   20 -
 .../boost/predef/library/c/_prefix.h               |   13 -
 .../boost/predef/library/c/gnu.h                   |   61 -
 .../boost/predef/library/c/uc.h                    |   47 -
 .../boost/predef/library/c/vms.h                   |   47 -
 .../boost/predef/library/c/zos.h                   |   56 -
 .../boost/predef/library/std.h                     |   25 -
 .../boost/predef/library/std/_prefix.h             |   23 -
 .../boost/predef/library/std/cxx.h                 |   46 -
 .../boost/predef/library/std/dinkumware.h          |   52 -
 .../boost/predef/library/std/libcomo.h             |   47 -
 .../boost/predef/library/std/modena.h              |   45 -
 .../boost/predef/library/std/msl.h                 |   53 -
 .../boost/predef/library/std/roguewave.h           |   56 -
 .../boost/predef/library/std/sgi.h                 |   51 -
 .../boost/predef/library/std/stdcpp3.h             |   53 -
 .../boost/predef/library/std/stlport.h             |   59 -
 .../boost/predef/library/std/vacpp.h               |   44 -
 src/rbgl_trimmed_boost_1_61_0/boost/predef/make.h  |   89 -
 src/rbgl_trimmed_boost_1_61_0/boost/predef/os.h    |   33 -
 .../boost/predef/os/aix.h                          |   66 -
 .../boost/predef/os/amigaos.h                      |   46 -
 .../boost/predef/os/android.h                      |   45 -
 .../boost/predef/os/beos.h                         |   45 -
 .../boost/predef/os/bsd.h                          |  103 -
 .../boost/predef/os/bsd/bsdi.h                     |   48 -
 .../boost/predef/os/bsd/dragonfly.h                |   50 -
 .../boost/predef/os/bsd/free.h                     |   60 -
 .../boost/predef/os/bsd/net.h                      |   84 -
 .../boost/predef/os/bsd/open.h                     |  171 -
 .../boost/predef/os/cygwin.h                       |   45 -
 .../boost/predef/os/haiku.h                        |   46 -
 .../boost/predef/os/hpux.h                         |   47 -
 .../boost/predef/os/ios.h                          |   51 -
 .../boost/predef/os/irix.h                         |   46 -
 .../boost/predef/os/linux.h                        |   46 -
 .../boost/predef/os/macos.h                        |   65 -
 .../boost/predef/os/os400.h                        |   45 -
 .../boost/predef/os/qnxnto.h                       |   59 -
 .../boost/predef/os/solaris.h                      |   46 -
 .../boost/predef/os/unix.h                         |   76 -
 .../boost/predef/os/vms.h                          |   52 -
 .../boost/predef/os/windows.h                      |   51 -
 src/rbgl_trimmed_boost_1_61_0/boost/predef/other.h |   16 -
 .../boost/predef/other/endian.h                    |  204 -
 .../boost/predef/platform.h                        |   21 -
 .../boost/predef/platform/mingw.h                  |   69 -
 .../boost/predef/platform/windows_desktop.h        |   45 -
 .../boost/predef/platform/windows_phone.h          |   43 -
 .../boost/predef/platform/windows_runtime.h        |   45 -
 .../boost/predef/platform/windows_store.h          |   43 -
 .../boost/predef/version.h                         |   15 -
 .../boost/predef/version_number.h                  |   53 -
 .../boost/preprocessor.hpp                         |   19 -
 .../boost/preprocessor/arithmetic.hpp              |   25 -
 .../boost/preprocessor/arithmetic/add.hpp          |   51 -
 .../boost/preprocessor/arithmetic/dec.hpp          |  289 --
 .../preprocessor/arithmetic/detail/div_base.hpp    |   61 -
 .../boost/preprocessor/arithmetic/div.hpp          |   39 -
 .../boost/preprocessor/arithmetic/inc.hpp          |  288 --
 .../boost/preprocessor/arithmetic/mod.hpp          |   39 -
 .../boost/preprocessor/arithmetic/mul.hpp          |   53 -
 .../boost/preprocessor/arithmetic/sub.hpp          |   50 -
 .../boost/preprocessor/array.hpp                   |   32 -
 .../boost/preprocessor/array/data.hpp              |   28 -
 .../boost/preprocessor/array/detail/get_data.hpp   |   55 -
 .../boost/preprocessor/array/elem.hpp              |   29 -
 .../boost/preprocessor/array/enum.hpp              |   33 -
 .../boost/preprocessor/array/insert.hpp            |   55 -
 .../boost/preprocessor/array/pop_back.hpp          |   37 -
 .../boost/preprocessor/array/pop_front.hpp         |   38 -
 .../boost/preprocessor/array/push_back.hpp         |   35 -
 .../boost/preprocessor/array/push_front.hpp        |   35 -
 .../boost/preprocessor/array/remove.hpp            |   54 -
 .../boost/preprocessor/array/replace.hpp           |   49 -
 .../boost/preprocessor/array/reverse.hpp           |   29 -
 .../boost/preprocessor/array/size.hpp              |   28 -
 .../boost/preprocessor/array/to_list.hpp           |   47 -
 .../boost/preprocessor/array/to_seq.hpp            |   46 -
 .../boost/preprocessor/array/to_tuple.hpp          |   33 -
 .../boost/preprocessor/assert_msg.hpp              |   17 -
 .../boost/preprocessor/cat.hpp                     |   35 -
 .../boost/preprocessor/comma.hpp                   |   17 -
 .../boost/preprocessor/comma_if.hpp                |   17 -
 .../boost/preprocessor/comparison.hpp              |   24 -
 .../boost/preprocessor/comparison/equal.hpp        |   34 -
 .../boost/preprocessor/comparison/greater.hpp      |   38 -
 .../preprocessor/comparison/greater_equal.hpp      |   38 -
 .../boost/preprocessor/comparison/less.hpp         |   46 -
 .../boost/preprocessor/comparison/less_equal.hpp   |   39 -
 .../boost/preprocessor/comparison/not_equal.hpp    |  814 ----
 .../boost/preprocessor/config/config.hpp           |  104 -
 .../boost/preprocessor/config/limits.hpp           |   30 -
 .../boost/preprocessor/control.hpp                 |   22 -
 .../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 ---
 .../boost/preprocessor/control/expr_if.hpp         |   30 -
 .../boost/preprocessor/control/expr_iif.hpp        |   31 -
 .../boost/preprocessor/control/if.hpp              |   30 -
 .../boost/preprocessor/control/iif.hpp             |   34 -
 .../boost/preprocessor/control/while.hpp           |  312 --
 .../boost/preprocessor/debug.hpp                   |   18 -
 .../boost/preprocessor/debug/assert.hpp            |   44 -
 .../boost/preprocessor/debug/error.hpp             |   33 -
 .../boost/preprocessor/debug/line.hpp              |   35 -
 .../boost/preprocessor/dec.hpp                     |   17 -
 .../boost/preprocessor/detail/auto_rec.hpp         |  293 --
 .../boost/preprocessor/detail/check.hpp            |   48 -
 .../boost/preprocessor/detail/dmc/auto_rec.hpp     |  286 --
 .../boost/preprocessor/detail/is_binary.hpp        |   30 -
 .../boost/preprocessor/detail/is_nullary.hpp       |   30 -
 .../boost/preprocessor/detail/is_unary.hpp         |   30 -
 .../boost/preprocessor/detail/null.hpp             |   17 -
 .../boost/preprocessor/detail/split.hpp            |   35 -
 .../boost/preprocessor/empty.hpp                   |   17 -
 .../boost/preprocessor/enum.hpp                    |   17 -
 .../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.hpp            |   17 -
 .../boost/preprocessor/enum_shifted_params.hpp     |   17 -
 .../boost/preprocessor/expand.hpp                  |   17 -
 .../boost/preprocessor/expr_if.hpp                 |   17 -
 .../boost/preprocessor/facilities.hpp              |   23 -
 .../boost/preprocessor/facilities/apply.hpp        |   34 -
 .../preprocessor/facilities/detail/is_empty.hpp    |   55 -
 .../boost/preprocessor/facilities/empty.hpp        |   23 -
 .../boost/preprocessor/facilities/expand.hpp       |   28 -
 .../boost/preprocessor/facilities/identity.hpp     |   27 -
 .../boost/preprocessor/facilities/intercept.hpp    |  277 --
 .../boost/preprocessor/facilities/is_1.hpp         |   23 -
 .../boost/preprocessor/facilities/is_empty.hpp     |   56 -
 .../preprocessor/facilities/is_empty_or_1.hpp      |   31 -
 .../preprocessor/facilities/is_empty_variadic.hpp  |   57 -
 .../boost/preprocessor/facilities/overload.hpp     |   25 -
 .../boost/preprocessor/for.hpp                     |   17 -
 .../boost/preprocessor/identity.hpp                |   17 -
 .../boost/preprocessor/if.hpp                      |   17 -
 .../boost/preprocessor/inc.hpp                     |   17 -
 .../boost/preprocessor/iterate.hpp                 |   17 -
 .../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 -
 .../boost/preprocessor/iteration/iterate.hpp       |   82 -
 .../boost/preprocessor/iteration/local.hpp         |   26 -
 .../boost/preprocessor/iteration/self.hpp          |   19 -
 .../boost/preprocessor/library.hpp                 |   37 -
 .../boost/preprocessor/limits.hpp                  |   17 -
 .../boost/preprocessor/list.hpp                    |   37 -
 .../boost/preprocessor/list/adt.hpp                |   73 -
 .../boost/preprocessor/list/append.hpp             |   40 -
 .../boost/preprocessor/list/at.hpp                 |   39 -
 .../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 --
 .../boost/preprocessor/list/enum.hpp               |   41 -
 .../boost/preprocessor/list/filter.hpp             |   54 -
 .../boost/preprocessor/list/first_n.hpp            |   58 -
 .../boost/preprocessor/list/fold_left.hpp          |  303 --
 .../boost/preprocessor/list/fold_right.hpp         |   40 -
 .../boost/preprocessor/list/for_each.hpp           |   49 -
 .../boost/preprocessor/list/for_each_i.hpp         |   65 -
 .../boost/preprocessor/list/for_each_product.hpp   |  141 -
 .../boost/preprocessor/list/rest_n.hpp             |   55 -
 .../boost/preprocessor/list/reverse.hpp            |   40 -
 .../boost/preprocessor/list/size.hpp               |   58 -
 .../boost/preprocessor/list/to_array.hpp           |  155 -
 .../boost/preprocessor/list/to_seq.hpp             |   32 -
 .../boost/preprocessor/list/to_tuple.hpp           |   61 -
 .../boost/preprocessor/list/transform.hpp          |   49 -
 .../boost/preprocessor/logical.hpp                 |   29 -
 .../boost/preprocessor/logical/and.hpp             |   30 -
 .../boost/preprocessor/logical/bitand.hpp          |   38 -
 .../boost/preprocessor/logical/bitnor.hpp          |   38 -
 .../boost/preprocessor/logical/bitor.hpp           |   38 -
 .../boost/preprocessor/logical/bitxor.hpp          |   38 -
 .../boost/preprocessor/logical/bool.hpp            |  288 --
 .../boost/preprocessor/logical/compl.hpp           |   36 -
 .../boost/preprocessor/logical/nor.hpp             |   30 -
 .../boost/preprocessor/logical/not.hpp             |   30 -
 .../boost/preprocessor/logical/or.hpp              |   30 -
 .../boost/preprocessor/logical/xor.hpp             |   30 -
 .../boost/preprocessor/max.hpp                     |   17 -
 .../boost/preprocessor/min.hpp                     |   17 -
 .../boost/preprocessor/punctuation.hpp             |   22 -
 .../boost/preprocessor/punctuation/comma.hpp       |   21 -
 .../boost/preprocessor/punctuation/comma_if.hpp    |   31 -
 .../punctuation/detail/is_begin_parens.hpp         |   48 -
 .../preprocessor/punctuation/is_begin_parens.hpp   |   51 -
 .../boost/preprocessor/punctuation/paren.hpp       |   23 -
 .../boost/preprocessor/punctuation/paren_if.hpp    |   38 -
 .../preprocessor/punctuation/remove_parens.hpp     |   39 -
 .../boost/preprocessor/repeat.hpp                  |   17 -
 .../boost/preprocessor/repeat_2nd.hpp              |   17 -
 .../boost/preprocessor/repeat_3rd.hpp              |   17 -
 .../boost/preprocessor/repeat_from_to.hpp          |   17 -
 .../boost/preprocessor/repeat_from_to_2nd.hpp      |   17 -
 .../boost/preprocessor/repeat_from_to_3rd.hpp      |   17 -
 .../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 --
 .../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 -
 .../boost/preprocessor/repetition/for.hpp          |  324 --
 .../boost/preprocessor/repetition/repeat.hpp       |  825 ----
 .../preprocessor/repetition/repeat_from_to.hpp     |   87 -
 .../boost/preprocessor/selection.hpp               |   18 -
 .../boost/preprocessor/selection/max.hpp           |   39 -
 .../boost/preprocessor/selection/min.hpp           |   39 -
 .../boost/preprocessor/seq.hpp                     |   44 -
 .../boost/preprocessor/seq/cat.hpp                 |   49 -
 .../preprocessor/seq/detail/binary_transform.hpp   |   48 -
 .../boost/preprocessor/seq/detail/is_empty.hpp     |   49 -
 .../boost/preprocessor/seq/detail/split.hpp        |  284 --
 .../boost/preprocessor/seq/elem.hpp                |  304 --
 .../boost/preprocessor/seq/enum.hpp                |  288 --
 .../boost/preprocessor/seq/filter.hpp              |   54 -
 .../boost/preprocessor/seq/first_n.hpp             |   30 -
 .../boost/preprocessor/seq/fold_left.hpp           | 1070 ------
 .../boost/preprocessor/seq/fold_right.hpp          |  288 --
 .../boost/preprocessor/seq/for_each.hpp            |  107 -
 .../boost/preprocessor/seq/for_each_i.hpp          |  109 -
 .../boost/preprocessor/seq/for_each_product.hpp    |  126 -
 .../boost/preprocessor/seq/insert.hpp              |   28 -
 .../boost/preprocessor/seq/pop_back.hpp            |   29 -
 .../boost/preprocessor/seq/pop_front.hpp           |   27 -
 .../boost/preprocessor/seq/push_back.hpp           |   19 -
 .../boost/preprocessor/seq/push_front.hpp          |   19 -
 .../boost/preprocessor/seq/remove.hpp              |   29 -
 .../boost/preprocessor/seq/replace.hpp             |   45 -
 .../boost/preprocessor/seq/rest_n.hpp              |   46 -
 .../boost/preprocessor/seq/reverse.hpp             |   39 -
 .../boost/preprocessor/seq/seq.hpp                 |   44 -
 .../boost/preprocessor/seq/size.hpp                |  548 ---
 .../boost/preprocessor/seq/subseq.hpp              |   28 -
 .../boost/preprocessor/seq/to_array.hpp            |   28 -
 .../boost/preprocessor/seq/to_list.hpp             |   29 -
 .../boost/preprocessor/seq/to_tuple.hpp            |   27 -
 .../boost/preprocessor/seq/transform.hpp           |   48 -
 .../boost/preprocessor/seq/variadic_seq_to_seq.hpp |   28 -
 .../boost/preprocessor/slot.hpp                    |   17 -
 .../boost/preprocessor/slot/counter.hpp            |   25 -
 .../boost/preprocessor/slot/detail/counter.hpp     |  269 --
 .../boost/preprocessor/slot/detail/def.hpp         |   49 -
 .../boost/preprocessor/slot/detail/shared.hpp      |  247 --
 .../boost/preprocessor/slot/detail/slot1.hpp       |  267 --
 .../boost/preprocessor/slot/detail/slot2.hpp       |  267 --
 .../boost/preprocessor/slot/detail/slot3.hpp       |  267 --
 .../boost/preprocessor/slot/detail/slot4.hpp       |  267 --
 .../boost/preprocessor/slot/detail/slot5.hpp       |  267 --
 .../boost/preprocessor/slot/slot.hpp               |   32 -
 .../boost/preprocessor/stringize.hpp               |   33 -
 .../boost/preprocessor/tuple.hpp                   |   35 -
 .../preprocessor/tuple/detail/is_single_return.hpp |   28 -
 .../boost/preprocessor/tuple/eat.hpp               |  115 -
 .../boost/preprocessor/tuple/elem.hpp              |  201 -
 .../boost/preprocessor/tuple/enum.hpp              |   22 -
 .../boost/preprocessor/tuple/insert.hpp            |   37 -
 .../boost/preprocessor/tuple/pop_back.hpp          |   64 -
 .../boost/preprocessor/tuple/pop_front.hpp         |   65 -
 .../boost/preprocessor/tuple/push_back.hpp         |   31 -
 .../boost/preprocessor/tuple/push_front.hpp        |   32 -
 .../boost/preprocessor/tuple/rem.hpp               |  149 -
 .../boost/preprocessor/tuple/remove.hpp            |   64 -
 .../boost/preprocessor/tuple/replace.hpp           |   37 -
 .../boost/preprocessor/tuple/reverse.hpp           |  117 -
 .../boost/preprocessor/tuple/size.hpp              |   28 -
 .../boost/preprocessor/tuple/to_array.hpp          |   39 -
 .../boost/preprocessor/tuple/to_list.hpp           |  118 -
 .../boost/preprocessor/tuple/to_seq.hpp            |  119 -
 .../boost/preprocessor/variadic.hpp                |   23 -
 .../variadic/detail/is_single_return.hpp           |   28 -
 .../boost/preprocessor/variadic/elem.hpp           |   94 -
 .../boost/preprocessor/variadic/size.hpp           |   30 -
 .../boost/preprocessor/variadic/to_array.hpp       |   32 -
 .../boost/preprocessor/variadic/to_list.hpp        |   25 -
 .../boost/preprocessor/variadic/to_seq.hpp         |   25 -
 .../boost/preprocessor/variadic/to_tuple.hpp       |   24 -
 .../boost/preprocessor/while.hpp                   |   17 -
 .../boost/preprocessor/wstringize.hpp              |   29 -
 .../boost/program_options.hpp                      |   25 -
 src/rbgl_trimmed_boost_1_61_0/boost/progress.hpp   |  142 -
 .../boost/property_map/compose_property_map.hpp    |   81 -
 .../boost/property_map/dynamic_property_map.hpp    |  352 --
 .../boost/property_map/function_property_map.hpp   |   66 -
 .../boost/property_map/parallel/basic_reduce.hpp   |   38 -
 .../property_map/parallel/caching_property_map.hpp |   92 -
 .../parallel/detail/untracked_pair.hpp             |   81 -
 .../parallel/distributed_property_map.hpp          |  693 ----
 .../property_map/parallel/global_index_map.hpp     |   70 -
 .../parallel/impl/distributed_property_map.ipp     |  424 ---
 .../property_map/parallel/local_property_map.hpp   |   87 -
 .../parallel/parallel_property_maps.hpp            |  233 --
 .../boost/property_map/parallel/process_group.hpp  |   97 -
 .../boost/property_map/parallel/simple_trigger.hpp |  106 -
 .../property_map/parallel/unsafe_serialize.hpp     |   81 -
 .../property_map/parallel/vector_property_map.hpp  |  104 -
 .../boost/property_map/property_map.hpp            |  603 ---
 .../boost/property_map/property_map_iterator.hpp   |  113 -
 .../property_map/shared_array_property_map.hpp     |   52 -
 .../property_map/transform_value_property_map.hpp  |   67 -
 .../boost/property_map/vector_property_map.hpp     |   99 -
 src/rbgl_trimmed_boost_1_61_0/boost/python.hpp     |   76 -
 src/rbgl_trimmed_boost_1_61_0/boost/random.hpp     |   91 -
 src/rbgl_trimmed_boost_1_61_0/boost/range.hpp      |   23 -
 .../boost/range/adaptor/adjacent_filtered.hpp      |  237 --
 .../boost/range/adaptor/argument_fwd.hpp           |   80 -
 .../boost/range/adaptor/copied.hpp                 |   68 -
 .../boost/range/adaptor/define_adaptor.hpp         |  109 -
 .../boost/range/adaptor/filtered.hpp               |  121 -
 .../boost/range/adaptor/formatted.hpp              |  229 --
 .../boost/range/adaptor/indexed.hpp                |  370 --
 .../boost/range/adaptor/indirected.hpp             |  100 -
 .../boost/range/adaptor/map.hpp                    |  204 -
 .../boost/range/adaptor/replaced.hpp               |  169 -
 .../boost/range/adaptor/replaced_if.hpp            |  177 -
 .../boost/range/adaptor/reversed.hpp               |  103 -
 .../boost/range/adaptor/sliced.hpp                 |   96 -
 .../boost/range/adaptor/strided.hpp                |  697 ----
 .../boost/range/adaptor/tokenized.hpp              |  137 -
 .../boost/range/adaptor/transformed.hpp            |  137 -
 .../boost/range/adaptor/type_erased.hpp            |  196 -
 .../boost/range/adaptor/uniqued.hpp                |   97 -
 .../boost/range/adaptors.hpp                       |   31 -
 .../boost/range/algorithm.hpp                      |  104 -
 .../boost/range/algorithm/adjacent_find.hpp        |  125 -
 .../boost/range/algorithm/binary_search.hpp        |   49 -
 .../boost/range/algorithm/copy.hpp                 |   41 -
 .../boost/range/algorithm/copy_backward.hpp        |   43 -
 .../boost/range/algorithm/count.hpp                |   50 -
 .../boost/range/algorithm/count_if.hpp             |   51 -
 .../boost/range/algorithm/equal.hpp                |  200 -
 .../boost/range/algorithm/equal_range.hpp          |   80 -
 .../boost/range/algorithm/fill.hpp                 |   49 -
 .../boost/range/algorithm/fill_n.hpp               |   53 -
 .../boost/range/algorithm/find.hpp                 |   80 -
 .../boost/range/algorithm/find_end.hpp             |  152 -
 .../boost/range/algorithm/find_first_of.hpp        |  155 -
 .../boost/range/algorithm/find_if.hpp              |   81 -
 .../boost/range/algorithm/for_each.hpp             |  110 -
 .../boost/range/algorithm/generate.hpp             |   49 -
 .../boost/range/algorithm/heap_algorithm.hpp       |  194 -
 .../boost/range/algorithm/inplace_merge.hpp        |   74 -
 .../range/algorithm/lexicographical_compare.hpp    |   58 -
 .../boost/range/algorithm/lower_bound.hpp          |  124 -
 .../boost/range/algorithm/max_element.hpp          |  115 -
 .../boost/range/algorithm/merge.hpp                |   61 -
 .../boost/range/algorithm/min_element.hpp          |  115 -
 .../boost/range/algorithm/mismatch.hpp             |  195 -
 .../boost/range/algorithm/nth_element.hpp          |   74 -
 .../boost/range/algorithm/partial_sort.hpp         |   76 -
 .../boost/range/algorithm/partial_sort_copy.hpp    |   82 -
 .../boost/range/algorithm/partition.hpp            |   74 -
 .../boost/range/algorithm/permutation.hpp          |  108 -
 .../boost/range/algorithm/random_shuffle.hpp       |   68 -
 .../boost/range/algorithm/remove.hpp               |   74 -
 .../boost/range/algorithm/remove_copy.hpp          |   44 -
 .../boost/range/algorithm/remove_copy_if.hpp       |   38 -
 .../boost/range/algorithm/remove_if.hpp            |   75 -
 .../boost/range/algorithm/replace.hpp              |   53 -
 .../boost/range/algorithm/replace_copy.hpp         |   42 -
 .../boost/range/algorithm/replace_copy_if.hpp      |   46 -
 .../boost/range/algorithm/replace_if.hpp           |   54 -
 .../boost/range/algorithm/reverse.hpp              |   50 -
 .../boost/range/algorithm/reverse_copy.hpp         |   40 -
 .../boost/range/algorithm/rotate.hpp               |   51 -
 .../boost/range/algorithm/rotate_copy.hpp          |   44 -
 .../boost/range/algorithm/search.hpp               |  134 -
 .../boost/range/algorithm/search_n.hpp             |  360 --
 .../boost/range/algorithm/set_algorithm.hpp        |  198 -
 .../boost/range/algorithm/sort.hpp                 |   68 -
 .../boost/range/algorithm/stable_partition.hpp     |   73 -
 .../boost/range/algorithm/stable_sort.hpp          |   68 -
 .../boost/range/algorithm/swap_ranges.hpp          |  132 -
 .../boost/range/algorithm/transform.hpp            |   96 -
 .../boost/range/algorithm/unique.hpp               |  107 -
 .../boost/range/algorithm/unique_copy.hpp          |   51 -
 .../boost/range/algorithm/upper_bound.hpp          |  127 -
 .../boost/range/algorithm_ext.hpp                  |   28 -
 .../boost/range/algorithm_ext/copy_n.hpp           |   53 -
 .../boost/range/algorithm_ext/erase.hpp            |   61 -
 .../boost/range/algorithm_ext/for_each.hpp         |   86 -
 .../boost/range/algorithm_ext/insert.hpp           |   48 -
 .../boost/range/algorithm_ext/iota.hpp             |   54 -
 .../boost/range/algorithm_ext/is_sorted.hpp        |   57 -
 .../boost/range/algorithm_ext/overwrite.hpp        |   84 -
 .../boost/range/algorithm_ext/push_back.hpp        |   41 -
 .../boost/range/algorithm_ext/push_front.hpp       |   41 -
 .../boost/range/any_range.hpp                      |  204 -
 .../boost/range/as_array.hpp                       |   45 -
 .../boost/range/as_literal.hpp                     |  127 -
 src/rbgl_trimmed_boost_1_61_0/boost/range/atl.hpp  |  724 ----
 .../boost/range/begin.hpp                          |  135 -
 .../boost/range/category.hpp                       |   29 -
 .../boost/range/combine.hpp                        |   45 -
 .../boost/range/concepts.hpp                       |  386 --
 .../boost/range/config.hpp                         |   56 -
 .../boost/range/const_iterator.hpp                 |   76 -
 .../boost/range/const_reverse_iterator.hpp         |   35 -
 .../boost/range/counting_range.hpp                 |   76 -
 .../boost/range/detail/any_iterator.hpp            |  589 ---
 .../boost/range/detail/any_iterator_buffer.hpp     |  117 -
 .../boost/range/detail/any_iterator_interface.hpp  |  277 --
 .../boost/range/detail/any_iterator_wrapper.hpp    |  640 ----
 .../boost/range/detail/as_literal.hpp              |   33 -
 .../boost/range/detail/begin.hpp                   |   83 -
 .../boost/range/detail/collection_traits.hpp       |  265 --
 .../range/detail/collection_traits_detail.hpp      |  502 ---
 .../boost/range/detail/combine_cxx03.hpp           |  131 -
 .../boost/range/detail/combine_cxx11.hpp           |   40 -
 .../boost/range/detail/combine_no_rvalue.hpp       |   73 -
 .../boost/range/detail/combine_rvalue.hpp          |   32 -
 .../boost/range/detail/common.hpp                  |  118 -
 .../detail/default_constructible_unary_fn.hpp      |   64 -
 .../range/detail/demote_iterator_traversal_tag.hpp |   91 -
 .../boost/range/detail/detail_str.hpp              |  376 --
 .../boost/range/detail/difference_type.hpp         |  121 -
 .../boost/range/detail/empty.hpp                   |  120 -
 .../boost/range/detail/end.hpp                     |   86 -
 .../boost/range/detail/extract_optional_type.hpp   |   48 -
 .../boost/range/detail/has_member_size.hpp         |   66 -
 .../boost/range/detail/implementation_help.hpp     |  114 -
 .../boost/range/detail/join_iterator.hpp           |  354 --
 .../boost/range/detail/microsoft.hpp               |  931 -----
 .../boost/range/detail/misc_concept.hpp            |   33 -
 .../range/detail/msvc_has_iterator_workaround.hpp  |  132 -
 .../boost/range/detail/range_return.hpp            |  180 -
 .../boost/range/detail/remove_extent.hpp           |  157 -
 .../boost/range/detail/safe_bool.hpp               |   72 -
 .../boost/range/detail/sfinae.hpp                  |   77 -
 .../boost/range/detail/size_type.hpp               |   55 -
 .../boost/range/detail/sizer.hpp                   |   35 -
 .../boost/range/detail/str_types.hpp               |   38 -
 .../boost/range/detail/value_type.hpp              |   72 -
 .../boost/range/difference_type.hpp                |   47 -
 .../boost/range/distance.hpp                       |   34 -
 .../boost/range/empty.hpp                          |   34 -
 src/rbgl_trimmed_boost_1_61_0/boost/range/end.hpp  |  128 -
 .../boost/range/functions.hpp                      |   27 -
 .../boost/range/has_range_iterator.hpp             |   83 -
 .../boost/range/irange.hpp                         |  236 --
 .../boost/range/istream_range.hpp                  |   37 -
 .../boost/range/iterator.hpp                       |   74 -
 .../boost/range/iterator_range.hpp                 |   16 -
 .../boost/range/iterator_range_core.hpp            |  883 -----
 .../boost/range/iterator_range_hash.hpp            |   22 -
 .../boost/range/iterator_range_io.hpp              |   93 -
 src/rbgl_trimmed_boost_1_61_0/boost/range/join.hpp |   91 -
 .../boost/range/metafunctions.hpp                  |   31 -
 src/rbgl_trimmed_boost_1_61_0/boost/range/mfc.hpp  |  984 -----
 .../boost/range/mfc_map.hpp                        |  114 -
 .../boost/range/mutable_iterator.hpp               |   79 -
 .../boost/range/numeric.hpp                        |  188 -
 .../boost/range/pointer.hpp                        |   30 -
 .../boost/range/range_fwd.hpp                      |   63 -
 .../boost/range/rbegin.hpp                         |   65 -
 .../boost/range/reference.hpp                      |   29 -
 src/rbgl_trimmed_boost_1_61_0/boost/range/rend.hpp |   65 -
 .../boost/range/result_iterator.hpp                |   33 -
 .../boost/range/reverse_iterator.hpp               |   42 -
 .../boost/range/reverse_result_iterator.hpp        |   32 -
 src/rbgl_trimmed_boost_1_61_0/boost/range/size.hpp |   76 -
 .../boost/range/size_type.hpp                      |   95 -
 .../boost/range/sub_range.hpp                      |  287 --
 .../boost/range/traversal.hpp                      |   31 -
 .../boost/range/value_type.hpp                     |   30 -
 src/rbgl_trimmed_boost_1_61_0/boost/ratio.hpp      |   14 -
 src/rbgl_trimmed_boost_1_61_0/boost/rational.hpp   |  709 ----
 src/rbgl_trimmed_boost_1_61_0/boost/ref.hpp        |   17 -
 src/rbgl_trimmed_boost_1_61_0/boost/regex.hpp      |   37 -
 src/rbgl_trimmed_boost_1_61_0/boost/regex_fwd.hpp  |   33 -
 src/rbgl_trimmed_boost_1_61_0/boost/scope_exit.hpp | 1415 -------
 .../boost/scoped_array.hpp                         |   16 -
 src/rbgl_trimmed_boost_1_61_0/boost/scoped_ptr.hpp |   16 -
 .../boost/serialization/access.hpp                 |  145 -
 .../serialization/archive_input_unordered_map.hpp  |   91 -
 .../serialization/archive_input_unordered_set.hpp  |   75 -
 .../boost/serialization/array.hpp                  |  172 -
 .../boost/serialization/assume_abstract.hpp        |   60 -
 .../boost/serialization/base_object.hpp            |  100 -
 .../boost/serialization/binary_object.hpp          |   79 -
 .../boost/serialization/bitset.hpp                 |   75 -
 .../boost/serialization/boost_unordered_map.hpp    |  154 -
 .../boost/serialization/boost_unordered_set.hpp    |  150 -
 .../boost/serialization/collection_size_type.hpp   |   62 -
 .../boost/serialization/collection_traits.hpp      |   79 -
 .../boost/serialization/collections_load_imp.hpp   |  105 -
 .../boost/serialization/collections_save_imp.hpp   |   82 -
 .../boost/serialization/complex.hpp                |   81 -
 .../boost/serialization/config.hpp                 |   74 -
 .../boost/serialization/deque.hpp                  |   81 -
 .../boost/serialization/detail/get_data.hpp        |   59 -
 .../detail/is_default_constructible.hpp            |   48 -
 .../serialization/detail/shared_count_132.hpp      |  551 ---
 .../boost/serialization/detail/shared_ptr_132.hpp  |  443 ---
 .../serialization/detail/shared_ptr_nmt_132.hpp    |  182 -
 .../serialization/detail/stack_constructor.hpp     |   66 -
 .../boost/serialization/ephemeral.hpp              |   73 -
 .../boost/serialization/export.hpp                 |  225 --
 .../boost/serialization/extended_type_info.hpp     |  116 -
 .../serialization/extended_type_info_no_rtti.hpp   |  182 -
 .../serialization/extended_type_info_typeid.hpp    |  167 -
 .../boost/serialization/factory.hpp                |  100 -
 .../boost/serialization/force_include.hpp          |   55 -
 .../boost/serialization/forward_list.hpp           |  126 -
 .../serialization/hash_collections_load_imp.hpp    |   77 -
 .../serialization/hash_collections_save_imp.hpp    |   97 -
 .../boost/serialization/hash_map.hpp               |  231 --
 .../boost/serialization/hash_set.hpp               |  221 --
 .../serialization/is_bitwise_serializable.hpp      |   46 -
 .../boost/serialization/item_version_type.hpp      |   68 -
 .../boost/serialization/level.hpp                  |  116 -
 .../boost/serialization/level_enum.hpp             |   55 -
 .../boost/serialization/list.hpp                   |   86 -
 .../boost/serialization/map.hpp                    |  142 -
 .../boost/serialization/nvp.hpp                    |  123 -
 .../boost/serialization/optional.hpp               |   96 -
 .../boost/serialization/priority_queue.hpp         |   74 -
 .../boost/serialization/queue.hpp                  |   74 -
 .../boost/serialization/scoped_ptr.hpp             |   58 -
 .../boost/serialization/serialization.hpp          |  154 -
 .../boost/serialization/set.hpp                    |  140 -
 .../boost/serialization/shared_ptr.hpp             |  281 --
 .../boost/serialization/shared_ptr_132.hpp         |  222 --
 .../boost/serialization/shared_ptr_helper.hpp      |  214 --
 .../boost/serialization/singleton.hpp              |  152 -
 .../boost/serialization/slist.hpp                  |  144 -
 .../boost/serialization/smart_cast.hpp             |  275 --
 .../boost/serialization/split_free.hpp             |   93 -
 .../boost/serialization/split_member.hpp           |   86 -
 .../boost/serialization/stack.hpp                  |   74 -
 .../boost/serialization/state_saver.hpp            |   96 -
 .../boost/serialization/static_warning.hpp         |  103 -
 .../boost/serialization/string.hpp                 |   30 -
 .../boost/serialization/strong_typedef.hpp         |   46 -
 .../boost/serialization/throw_exception.hpp        |   44 -
 .../boost/serialization/tracking.hpp               |  118 -
 .../boost/serialization/tracking_enum.hpp          |   41 -
 .../boost/serialization/traits.hpp                 |   65 -
 .../serialization/type_info_implementation.hpp     |   73 -
 .../boost/serialization/unique_ptr.hpp             |   68 -
 .../unordered_collections_load_imp.hpp             |   74 -
 .../unordered_collections_save_imp.hpp             |   86 -
 .../boost/serialization/unordered_map.hpp          |  160 -
 .../boost/serialization/unordered_set.hpp          |  162 -
 .../boost/serialization/utility.hpp                |   56 -
 .../boost/serialization/valarray.hpp               |   74 -
 .../boost/serialization/variant.hpp                |  158 -
 .../boost/serialization/vector.hpp                 |  227 --
 .../boost/serialization/vector_135.hpp             |   26 -
 .../boost/serialization/version.hpp                |  107 -
 .../boost/serialization/void_cast.hpp              |  298 --
 .../boost/serialization/void_cast_fwd.hpp          |   37 -
 .../boost/serialization/weak_ptr.hpp               |   99 -
 .../boost/serialization/wrapper.hpp                |   60 -
 .../boost/shared_array.hpp                         |   19 -
 .../boost/shared_container_iterator.hpp            |   69 -
 src/rbgl_trimmed_boost_1_61_0/boost/shared_ptr.hpp |   19 -
 src/rbgl_trimmed_boost_1_61_0/boost/signal.hpp     |  366 --
 src/rbgl_trimmed_boost_1_61_0/boost/signals.hpp    |   10 -
 src/rbgl_trimmed_boost_1_61_0/boost/signals2.hpp   |   23 -
 src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr.hpp  |   31 -
 .../boost/smart_ptr/allocate_shared_array.hpp      |  181 -
 .../boost/smart_ptr/bad_weak_ptr.hpp               |   59 -
 .../boost/smart_ptr/detail/array_allocator.hpp     |  318 --
 .../boost/smart_ptr/detail/array_count_impl.hpp    |   67 -
 .../boost/smart_ptr/detail/array_traits.hpp        |   60 -
 .../boost/smart_ptr/detail/array_utility.hpp       |  214 --
 .../boost/smart_ptr/detail/atomic_count.hpp        |   96 -
 .../boost/smart_ptr/detail/atomic_count_gcc.hpp    |   72 -
 .../smart_ptr/detail/atomic_count_gcc_x86.hpp      |   77 -
 .../boost/smart_ptr/detail/atomic_count_nt.hpp     |   59 -
 .../boost/smart_ptr/detail/atomic_count_pt.hpp     |   97 -
 .../smart_ptr/detail/atomic_count_solaris.hpp      |   59 -
 .../boost/smart_ptr/detail/atomic_count_spin.hpp   |   62 -
 .../smart_ptr/detail/atomic_count_std_atomic.hpp   |   60 -
 .../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 -
 .../boost/smart_ptr/detail/lwm_nop.hpp             |   37 -
 .../boost/smart_ptr/detail/lwm_pthreads.hpp        |   87 -
 .../boost/smart_ptr/detail/lwm_win32_cs.hpp        |  119 -
 .../boost/smart_ptr/detail/operator_bool.hpp       |   64 -
 .../boost/smart_ptr/detail/quick_allocator.hpp     |  199 -
 .../boost/smart_ptr/detail/shared_count.hpp        |  709 ----
 .../boost/smart_ptr/detail/sp_convertible.hpp      |   92 -
 .../boost/smart_ptr/detail/sp_counted_base.hpp     |   93 -
 .../smart_ptr/detail/sp_counted_base_acc_ia64.hpp  |  151 -
 .../boost/smart_ptr/detail/sp_counted_base_aix.hpp |  143 -
 .../smart_ptr/detail/sp_counted_base_clang.hpp     |  140 -
 .../smart_ptr/detail/sp_counted_base_cw_ppc.hpp    |  171 -
 .../smart_ptr/detail/sp_counted_base_cw_x86.hpp    |  159 -
 .../smart_ptr/detail/sp_counted_base_gcc_ia64.hpp  |  158 -
 .../smart_ptr/detail/sp_counted_base_gcc_mips.hpp  |  182 -
 .../smart_ptr/detail/sp_counted_base_gcc_ppc.hpp   |  182 -
 .../smart_ptr/detail/sp_counted_base_gcc_sparc.hpp |  167 -
 .../smart_ptr/detail/sp_counted_base_gcc_x86.hpp   |  174 -
 .../boost/smart_ptr/detail/sp_counted_base_nt.hpp  |  108 -
 .../boost/smart_ptr/detail/sp_counted_base_pt.hpp  |  137 -
 .../smart_ptr/detail/sp_counted_base_snc_ps3.hpp   |  162 -
 .../smart_ptr/detail/sp_counted_base_solaris.hpp   |  114 -
 .../smart_ptr/detail/sp_counted_base_spin.hpp      |  132 -
 .../detail/sp_counted_base_std_atomic.hpp          |  137 -
 .../smart_ptr/detail/sp_counted_base_sync.hpp      |  156 -
 .../smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp |  151 -
 .../boost/smart_ptr/detail/sp_counted_base_w32.hpp |  131 -
 .../boost/smart_ptr/detail/sp_counted_impl.hpp     |  271 --
 .../smart_ptr/detail/sp_disable_deprecated.hpp     |   40 -
 .../boost/smart_ptr/detail/sp_forward.hpp          |   52 -
 .../boost/smart_ptr/detail/sp_has_sync.hpp         |   69 -
 .../boost/smart_ptr/detail/sp_if_array.hpp         |   34 -
 .../boost/smart_ptr/detail/sp_interlocked.hpp      |  163 -
 .../boost/smart_ptr/detail/sp_nullptr_t.hpp        |   45 -
 .../boost/smart_ptr/detail/spinlock.hpp            |   65 -
 .../boost/smart_ptr/detail/spinlock_gcc_arm.hpp    |  121 -
 .../boost/smart_ptr/detail/spinlock_nt.hpp         |   89 -
 .../boost/smart_ptr/detail/spinlock_pool.hpp       |   91 -
 .../boost/smart_ptr/detail/spinlock_pt.hpp         |   79 -
 .../boost/smart_ptr/detail/spinlock_std_atomic.hpp |   83 -
 .../boost/smart_ptr/detail/spinlock_sync.hpp       |   87 -
 .../boost/smart_ptr/detail/spinlock_w32.hpp        |  113 -
 .../boost/smart_ptr/detail/yield_k.hpp             |  177 -
 .../boost/smart_ptr/enable_shared_from_raw.hpp     |  165 -
 .../boost/smart_ptr/enable_shared_from_this.hpp    |   89 -
 .../boost/smart_ptr/intrusive_ptr.hpp              |  336 --
 .../boost/smart_ptr/intrusive_ref_counter.hpp      |  187 -
 .../boost/smart_ptr/make_shared.hpp                |   22 -
 .../boost/smart_ptr/make_shared_array.hpp          |  158 -
 .../boost/smart_ptr/make_shared_object.hpp         | 1131 ------
 .../boost/smart_ptr/make_unique.hpp                |  105 -
 .../boost/smart_ptr/owner_less.hpp                 |   57 -
 .../boost/smart_ptr/scoped_array.hpp               |  132 -
 .../boost/smart_ptr/scoped_ptr.hpp                 |  167 -
 .../boost/smart_ptr/shared_array.hpp               |  292 --
 .../boost/smart_ptr/shared_ptr.hpp                 | 1077 ------
 .../boost/smart_ptr/weak_ptr.hpp                   |  253 --
 src/rbgl_trimmed_boost_1_61_0/boost/spirit.hpp     |   27 -
 .../boost/static_assert.hpp                        |  180 -
 src/rbgl_trimmed_boost_1_61_0/boost/swap.hpp       |   17 -
 src/rbgl_trimmed_boost_1_61_0/boost/thread.hpp     |   26 -
 .../boost/throw_exception.hpp                      |  102 -
 src/rbgl_trimmed_boost_1_61_0/boost/timer.hpp      |   72 -
 .../boost/token_functions.hpp                      |  651 ----
 .../boost/token_iterator.hpp                       |  128 -
 src/rbgl_trimmed_boost_1_61_0/boost/tokenizer.hpp  |   98 -
 .../boost/tti/detail/dcomp_mem_fun.hpp             |   78 -
 .../boost/tti/detail/ddata.hpp                     |   29 -
 .../boost/tti/detail/ddeftype.hpp                  |   23 -
 .../boost/tti/detail/dftclass.hpp                  |   43 -
 .../boost/tti/detail/dfunction.hpp                 |   34 -
 .../boost/tti/detail/dlambda.hpp                   |   34 -
 .../boost/tti/detail/dmem_data.hpp                 |  219 --
 .../boost/tti/detail/dmem_fun.hpp                  |  133 -
 .../boost/tti/detail/dmem_type.hpp                 |   51 -
 .../boost/tti/detail/dmetafunc.hpp                 |   29 -
 .../boost/tti/detail/dnotype.hpp                   |   23 -
 .../boost/tti/detail/dnullptr.hpp                  |   22 -
 .../boost/tti/detail/dplaceholder.hpp              |   36 -
 .../boost/tti/detail/dptmf.hpp                     |   46 -
 .../boost/tti/detail/dstatic_mem_data.hpp          |  117 -
 .../boost/tti/detail/dstatic_mem_fun.hpp           |  103 -
 .../boost/tti/detail/dtclass.hpp                   |   34 -
 .../boost/tti/detail/dtemplate.hpp                 |   67 -
 .../boost/tti/detail/dtemplate_params.hpp          |  239 --
 .../boost/tti/detail/dtfunction.hpp                |   35 -
 .../boost/tti/detail/dtype.hpp                     |   80 -
 .../boost/tti/detail/dvm_template_params.hpp       |  164 -
 .../boost/tti/gen/has_data_gen.hpp                 |   31 -
 .../boost/tti/gen/has_function_gen.hpp             |   31 -
 .../boost/tti/gen/has_member_data_gen.hpp          |   31 -
 .../boost/tti/gen/has_member_function_gen.hpp      |   31 -
 .../boost/tti/gen/has_static_member_data_gen.hpp   |   31 -
 .../tti/gen/has_static_member_function_gen.hpp     |   31 -
 .../boost/tti/gen/has_template_gen.hpp             |   31 -
 .../boost/tti/gen/has_type_gen.hpp                 |   31 -
 .../boost/tti/gen/member_type_gen.hpp              |   31 -
 .../boost/tti/gen/namespace_gen.hpp                |   25 -
 .../boost/tti/has_data.hpp                         |   98 -
 .../boost/tti/has_function.hpp                     |  109 -
 .../boost/tti/has_member_data.hpp                  |  106 -
 .../boost/tti/has_member_function.hpp              |  119 -
 .../boost/tti/has_static_member_data.hpp           |   87 -
 .../boost/tti/has_static_member_function.hpp       |  113 -
 .../boost/tti/has_template.hpp                     |  348 --
 .../boost/tti/has_type.hpp                         |  165 -
 .../boost/tti/member_type.hpp                      |  189 -
 src/rbgl_trimmed_boost_1_61_0/boost/tti/tti.hpp    |   20 -
 .../boost/tuple/detail/tuple_basic.hpp             |  989 -----
 .../boost/tuple/tuple.hpp                          |   67 -
 .../boost/tuple/tuple_comparison.hpp               |  175 -
 .../boost/tuple/tuple_io.hpp                       |  341 --
 src/rbgl_trimmed_boost_1_61_0/boost/type.hpp       |   18 -
 src/rbgl_trimmed_boost_1_61_0/boost/type_index.hpp |  265 --
 .../boost/type_traits.hpp                          |  150 -
 .../boost/type_traits/add_const.hpp                |   46 -
 .../boost/type_traits/add_cv.hpp                   |   41 -
 .../boost/type_traits/add_lvalue_reference.hpp     |   27 -
 .../boost/type_traits/add_pointer.hpp              |   61 -
 .../boost/type_traits/add_reference.hpp            |   59 -
 .../boost/type_traits/add_rvalue_reference.hpp     |   64 -
 .../boost/type_traits/add_volatile.hpp             |   40 -
 .../boost/type_traits/aligned_storage.hpp          |  138 -
 .../boost/type_traits/alignment_of.hpp             |  119 -
 .../boost/type_traits/alignment_traits.hpp         |   15 -
 .../boost/type_traits/arithmetic_traits.hpp        |   20 -
 .../boost/type_traits/array_traits.hpp             |   15 -
 .../boost/type_traits/broken_compiler_spec.hpp     |   21 -
 .../boost/type_traits/common_type.hpp              |  145 -
 .../boost/type_traits/composite_traits.hpp         |   29 -
 .../boost/type_traits/conditional.hpp              |   20 -
 .../boost/type_traits/config.hpp                   |   21 -
 .../boost/type_traits/conversion_traits.hpp        |   17 -
 .../boost/type_traits/copy_cv.hpp                  |   34 -
 .../boost/type_traits/cv_traits.hpp                |   24 -
 .../boost/type_traits/decay.hpp                    |   43 -
 .../boost/type_traits/declval.hpp                  |   44 -
 .../boost/type_traits/detail/bool_trait_def.hpp    |  179 -
 .../boost/type_traits/detail/bool_trait_undef.hpp  |   28 -
 .../type_traits/detail/common_arithmetic_type.hpp  |  218 --
 .../boost/type_traits/detail/common_type_impl.hpp  |  107 -
 .../detail/composite_member_pointer_type.hpp       |  113 -
 .../type_traits/detail/composite_pointer_type.hpp  |  153 -
 .../boost/type_traits/detail/config.hpp            |   72 -
 .../type_traits/detail/has_binary_operator.hpp     |  222 --
 .../type_traits/detail/has_postfix_operator.hpp    |  195 -
 .../type_traits/detail/has_prefix_operator.hpp     |  205 -
 .../boost/type_traits/detail/ice_and.hpp           |   42 -
 .../boost/type_traits/detail/ice_eq.hpp            |   43 -
 .../boost/type_traits/detail/ice_not.hpp           |   38 -
 .../boost/type_traits/detail/ice_or.hpp            |   41 -
 .../type_traits/detail/is_function_ptr_helper.hpp  |  176 -
 .../type_traits/detail/is_function_ptr_tester.hpp  |  449 ---
 .../type_traits/detail/is_mem_fun_pointer_impl.hpp |  723 ----
 .../detail/is_mem_fun_pointer_tester.hpp           | 1800 ---------
 .../boost/type_traits/detail/mp_defer.hpp          |   56 -
 .../type_traits/detail/template_arity_spec.hpp     |   16 -
 .../boost/type_traits/detail/yes_no_type.hpp       |   26 -
 .../boost/type_traits/extent.hpp                   |  138 -
 .../boost/type_traits/floating_point_promotion.hpp |   20 -
 .../boost/type_traits/function_traits.hpp          |  174 -
 .../boost/type_traits/has_bit_and.hpp              |   49 -
 .../boost/type_traits/has_bit_and_assign.hpp       |   55 -
 .../boost/type_traits/has_bit_or.hpp               |   49 -
 .../boost/type_traits/has_bit_or_assign.hpp        |   55 -
 .../boost/type_traits/has_bit_xor.hpp              |   49 -
 .../boost/type_traits/has_bit_xor_assign.hpp       |   55 -
 .../boost/type_traits/has_complement.hpp           |   32 -
 .../boost/type_traits/has_dereference.hpp          |   31 -
 .../boost/type_traits/has_divides.hpp              |   40 -
 .../boost/type_traits/has_divides_assign.hpp       |   47 -
 .../boost/type_traits/has_equal_to.hpp             |   49 -
 .../boost/type_traits/has_greater.hpp              |   49 -
 .../boost/type_traits/has_greater_equal.hpp        |   49 -
 .../boost/type_traits/has_left_shift.hpp           |   49 -
 .../boost/type_traits/has_left_shift_assign.hpp    |   55 -
 .../boost/type_traits/has_less.hpp                 |   49 -
 .../boost/type_traits/has_less_equal.hpp           |   49 -
 .../boost/type_traits/has_logical_and.hpp          |   40 -
 .../boost/type_traits/has_logical_not.hpp          |   32 -
 .../boost/type_traits/has_logical_or.hpp           |   40 -
 .../boost/type_traits/has_minus.hpp                |   60 -
 .../boost/type_traits/has_minus_assign.hpp         |   65 -
 .../boost/type_traits/has_modulus.hpp              |   49 -
 .../boost/type_traits/has_modulus_assign.hpp       |   55 -
 .../boost/type_traits/has_multiplies.hpp           |   40 -
 .../boost/type_traits/has_multiplies_assign.hpp    |   47 -
 .../boost/type_traits/has_negate.hpp               |   25 -
 .../boost/type_traits/has_new_operator.hpp         |  147 -
 .../boost/type_traits/has_not_equal_to.hpp         |   49 -
 .../boost/type_traits/has_nothrow_assign.hpp       |   83 -
 .../boost/type_traits/has_nothrow_constructor.hpp  |   72 -
 .../boost/type_traits/has_nothrow_copy.hpp         |   82 -
 .../boost/type_traits/has_nothrow_destructor.hpp   |   47 -
 .../boost/type_traits/has_operator.hpp             |   51 -
 .../boost/type_traits/has_plus.hpp                 |   54 -
 .../boost/type_traits/has_plus_assign.hpp          |   66 -
 .../boost/type_traits/has_post_decrement.hpp       |   44 -
 .../boost/type_traits/has_post_increment.hpp       |   44 -
 .../boost/type_traits/has_pre_decrement.hpp        |   44 -
 .../boost/type_traits/has_pre_increment.hpp        |   44 -
 .../boost/type_traits/has_right_shift.hpp          |   49 -
 .../boost/type_traits/has_right_shift_assign.hpp   |   55 -
 .../boost/type_traits/has_trivial_assign.hpp       |   51 -
 .../boost/type_traits/has_trivial_constructor.hpp  |   57 -
 .../boost/type_traits/has_trivial_copy.hpp         |   62 -
 .../boost/type_traits/has_trivial_destructor.hpp   |   48 -
 .../boost/type_traits/has_trivial_move_assign.hpp  |   72 -
 .../type_traits/has_trivial_move_constructor.hpp   |   77 -
 .../boost/type_traits/has_unary_minus.hpp          |   25 -
 .../boost/type_traits/has_unary_plus.hpp           |   23 -
 .../boost/type_traits/has_virtual_destructor.hpp   |   26 -
 .../boost/type_traits/ice.hpp                      |   20 -
 .../boost/type_traits/integral_constant.hpp        |  106 -
 .../boost/type_traits/integral_promotion.hpp       |  181 -
 .../boost/type_traits/intrinsics.hpp               |  380 --
 .../boost/type_traits/is_abstract.hpp              |  149 -
 .../boost/type_traits/is_arithmetic.hpp            |   22 -
 .../boost/type_traits/is_array.hpp                 |   43 -
 .../boost/type_traits/is_assignable.hpp            |   76 -
 .../boost/type_traits/is_base_and_derived.hpp      |  244 --
 .../boost/type_traits/is_base_of.hpp               |   39 -
 .../boost/type_traits/is_base_of_tr1.hpp           |   37 -
 .../boost/type_traits/is_class.hpp                 |  114 -
 .../boost/type_traits/is_complex.hpp               |   24 -
 .../boost/type_traits/is_compound.hpp              |   24 -
 .../boost/type_traits/is_const.hpp                 |   46 -
 .../boost/type_traits/is_constructible.hpp         |   80 -
 .../boost/type_traits/is_convertible.hpp           |  488 ---
 .../boost/type_traits/is_copy_assignable.hpp       |  141 -
 .../boost/type_traits/is_copy_constructible.hpp    |  187 -
 .../boost/type_traits/is_default_constructible.hpp |   83 -
 .../boost/type_traits/is_destructible.hpp          |   60 -
 .../boost/type_traits/is_empty.hpp                 |  120 -
 .../boost/type_traits/is_enum.hpp                  |  166 -
 .../boost/type_traits/is_final.hpp                 |   30 -
 .../boost/type_traits/is_float.hpp                 |   20 -
 .../boost/type_traits/is_floating_point.hpp        |   30 -
 .../boost/type_traits/is_function.hpp              |  102 -
 .../boost/type_traits/is_fundamental.hpp           |   26 -
 .../boost/type_traits/is_integral.hpp              |   89 -
 .../boost/type_traits/is_lvalue_reference.hpp      |   50 -
 .../type_traits/is_member_function_pointer.hpp     |  120 -
 .../boost/type_traits/is_member_object_pointer.hpp |   24 -
 .../boost/type_traits/is_member_pointer.hpp        |   45 -
 .../type_traits/is_nothrow_move_assignable.hpp     |   81 -
 .../type_traits/is_nothrow_move_constructible.hpp  |   86 -
 .../boost/type_traits/is_object.hpp                |   28 -
 .../boost/type_traits/is_pod.hpp                   |   58 -
 .../boost/type_traits/is_pointer.hpp               |   47 -
 .../boost/type_traits/is_polymorphic.hpp           |  122 -
 .../boost/type_traits/is_reference.hpp             |   30 -
 .../boost/type_traits/is_rvalue_reference.hpp      |   25 -
 .../boost/type_traits/is_same.hpp                  |   41 -
 .../boost/type_traits/is_scalar.hpp                |   27 -
 .../boost/type_traits/is_signed.hpp                |  163 -
 .../boost/type_traits/is_stateless.hpp             |   33 -
 .../boost/type_traits/is_union.hpp                 |   31 -
 .../boost/type_traits/is_unsigned.hpp              |  163 -
 .../boost/type_traits/is_virtual_base_of.hpp       |  105 -
 .../boost/type_traits/is_void.hpp                  |   26 -
 .../boost/type_traits/is_volatile.hpp              |   45 -
 .../boost/type_traits/make_signed.hpp              |  131 -
 .../boost/type_traits/make_unsigned.hpp            |  130 -
 .../boost/type_traits/object_traits.hpp            |   33 -
 .../boost/type_traits/promote.hpp                  |   20 -
 .../boost/type_traits/rank.hpp                     |   86 -
 .../boost/type_traits/reference_traits.hpp         |   15 -
 .../boost/type_traits/remove_all_extents.hpp       |   35 -
 .../boost/type_traits/remove_bounds.hpp            |   21 -
 .../boost/type_traits/remove_const.hpp             |   33 -
 .../boost/type_traits/remove_cv.hpp                |   40 -
 .../boost/type_traits/remove_extent.hpp            |   35 -
 .../boost/type_traits/remove_pointer.hpp           |   77 -
 .../boost/type_traits/remove_reference.hpp         |   54 -
 .../boost/type_traits/remove_volatile.hpp          |   34 -
 .../boost/type_traits/same_traits.hpp              |   15 -
 .../boost/type_traits/transform_traits.hpp         |   21 -
 .../boost/type_traits/type_identity.hpp            |   22 -
 .../boost/type_traits/type_with_alignment.hpp      |  261 --
 .../boost/typeof/dmc/typeof_impl.hpp               |  100 -
 .../boost/typeof/encode_decode.hpp                 |   61 -
 .../boost/typeof/encode_decode_params.hpp          |   34 -
 .../boost/typeof/incr_registration_group.hpp       |   14 -
 .../boost/typeof/int_encoding.hpp                  |  118 -
 .../boost/typeof/integral_template_param.hpp       |   80 -
 .../boost/typeof/message.hpp                       |    8 -
 .../boost/typeof/modifiers.hpp                     |  121 -
 .../boost/typeof/msvc/typeof_impl.hpp              |  283 --
 .../boost/typeof/native.hpp                        |   60 -
 .../boost/typeof/pointers_data_members.hpp         |   38 -
 .../boost/typeof/register_functions.hpp            |   50 -
 .../boost/typeof/register_functions_iterate.hpp    |  135 -
 .../boost/typeof/register_fundamental.hpp          |   62 -
 .../boost/typeof/register_mem_functions.hpp        |   32 -
 .../boost/typeof/std/bitset.hpp                    |   15 -
 .../boost/typeof/std/complex.hpp                   |   15 -
 .../boost/typeof/std/deque.hpp                     |   17 -
 .../boost/typeof/std/fstream.hpp                   |   27 -
 .../boost/typeof/std/functional.hpp                |   55 -
 .../boost/typeof/std/iostream.hpp                  |   18 -
 .../boost/typeof/std/istream.hpp                   |   21 -
 .../boost/typeof/std/iterator.hpp                  |   58 -
 .../boost/typeof/std/list.hpp                      |   17 -
 .../boost/typeof/std/locale.hpp                    |   40 -
 .../boost/typeof/std/map.hpp                       |   23 -
 .../boost/typeof/std/memory.hpp                    |   17 -
 .../boost/typeof/std/ostream.hpp                   |   18 -
 .../boost/typeof/std/queue.hpp                     |   17 -
 .../boost/typeof/std/set.hpp                       |   22 -
 .../boost/typeof/std/sstream.hpp                   |   32 -
 .../boost/typeof/std/stack.hpp                     |   17 -
 .../boost/typeof/std/streambuf.hpp                 |   17 -
 .../boost/typeof/std/string.hpp                    |   24 -
 .../boost/typeof/std/utility.hpp                   |   15 -
 .../boost/typeof/std/valarray.hpp                  |   21 -
 .../boost/typeof/std/vector.hpp                    |   17 -
 .../boost/typeof/template_encoding.hpp             |  160 -
 .../boost/typeof/template_template_param.hpp       |  149 -
 .../boost/typeof/type_encoding.hpp                 |   27 -
 .../boost/typeof/type_template_param.hpp           |   37 -
 .../boost/typeof/typeof.hpp                        |  218 --
 .../boost/typeof/typeof_impl.hpp                   |  186 -
 .../boost/typeof/unsupported.hpp                   |   29 -
 .../boost/typeof/vector.hpp                        |  166 -
 .../boost/typeof/vector100.hpp                     |  321 --
 .../boost/typeof/vector150.hpp                     |  471 ---
 .../boost/typeof/vector200.hpp                     |  621 ---
 .../boost/typeof/vector50.hpp                      |  171 -
 .../boost/unordered/detail/allocate.hpp            | 1128 ------
 .../boost/unordered/detail/buckets.hpp             |  928 -----
 .../boost/unordered/detail/equivalent.hpp          |  686 ----
 .../boost/unordered/detail/extract_key.hpp         |  188 -
 .../boost/unordered/detail/fwd.hpp                 |   23 -
 .../boost/unordered/detail/table.hpp               |  873 -----
 .../boost/unordered/detail/unique.hpp              |  628 ---
 .../boost/unordered/detail/util.hpp                |  266 --
 .../boost/unordered/unordered_map.hpp              | 1657 --------
 .../boost/unordered/unordered_map_fwd.hpp          |   65 -
 .../boost/unordered/unordered_set.hpp              | 1554 --------
 .../boost/unordered/unordered_set_fwd.hpp          |   63 -
 .../boost/unordered_map.hpp                        |   19 -
 .../boost/unordered_set.hpp                        |   19 -
 src/rbgl_trimmed_boost_1_61_0/boost/utility.hpp    |   21 -
 .../boost/utility/addressof.hpp                    |   17 -
 .../boost/utility/base_from_member.hpp             |  171 -
 .../boost/utility/binary.hpp                       |  708 ----
 .../boost/utility/compare_pointees.hpp             |   68 -
 .../boost/utility/declval.hpp                      |   13 -
 .../utility/detail/in_place_factory_prefix.hpp     |   36 -
 .../utility/detail/in_place_factory_suffix.hpp     |   23 -
 .../boost/utility/detail/result_of_iterate.hpp     |  221 --
 .../boost/utility/empty_deleter.hpp                |   43 -
 .../boost/utility/enable_if.hpp                    |   17 -
 .../boost/utility/explicit_operator_bool.hpp       |   17 -
 .../boost/utility/identity_type.hpp                |   46 -
 .../boost/utility/in_place_factory.hpp             |   86 -
 .../boost/utility/result_of.hpp                    |  210 --
 .../boost/utility/string_ref.hpp                   |  536 ---
 .../boost/utility/string_ref_fwd.hpp               |   37 -
 .../boost/utility/string_view.hpp                  |  670 ----
 .../boost/utility/string_view_fwd.hpp              |   39 -
 .../boost/utility/swap.hpp                         |   17 -
 .../boost/utility/typed_in_place_factory.hpp       |   77 -
 .../boost/utility/value_init.hpp                   |  281 --
 src/rbgl_trimmed_boost_1_61_0/boost/variant.hpp    |   27 -
 src/rbgl_trimmed_boost_1_61_0/boost/version.hpp    |   32 -
 src/rbgl_trimmed_boost_1_61_0/boost/visit_each.hpp |   27 -
 src/rbgl_trimmed_boost_1_61_0/boost/wave.hpp       |   23 -
 src/rbgl_trimmed_boost_1_61_0/boost/weak_ptr.hpp   |   18 -
 3126 files changed, 496689 deletions(-)

diff --git a/inst/old_boost/rbgl_trimmed_boost_1_49_0.tar.gz b/inst/old_boost/rbgl_trimmed_boost_1_49_0.tar.gz
deleted file mode 100644
index c1d2e9c..0000000
Binary files a/inst/old_boost/rbgl_trimmed_boost_1_49_0.tar.gz and /dev/null differ
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align.hpp
deleted file mode 100644
index 89eebe1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_HPP
-#define BOOST_ALIGN_HPP
-
-#include <boost/align/align.hpp>
-#include <boost/align/align_down.hpp>
-#include <boost/align/align_up.hpp>
-#include <boost/align/aligned_alloc.hpp>
-#include <boost/align/aligned_allocator.hpp>
-#include <boost/align/aligned_allocator_adaptor.hpp>
-#include <boost/align/aligned_delete.hpp>
-#include <boost/align/alignment_of.hpp>
-#include <boost/align/assume_aligned.hpp>
-#include <boost/align/is_aligned.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/align.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/align.hpp
deleted file mode 100644
index 3582dcc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/align.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGN_HPP
-#define BOOST_ALIGN_ALIGN_HPP
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_NO_CXX11_STD_ALIGN)
-#include <boost/align/detail/align_cxx11.hpp>
-#else
-#include <boost/align/detail/align.hpp>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_down.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/align_down.hpp
deleted file mode 100644
index f437f8e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_down.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGN_DOWN_HPP
-#define BOOST_ALIGN_ALIGN_DOWN_HPP
-
-#include <boost/align/detail/align_down.hpp>
-#include <boost/align/align_down_forward.hpp>
-
-namespace boost {
-namespace alignment {
-
-BOOST_CONSTEXPR inline std::size_t align_down(std::size_t value,
-    std::size_t alignment) BOOST_NOEXCEPT
-{
-    return value & ~(alignment - 1);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_down_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/align_down_forward.hpp
deleted file mode 100644
index 6d124e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_down_forward.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGN_DOWN_FORWARD_HPP
-#define BOOST_ALIGN_ALIGN_DOWN_FORWARD_HPP
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-
-BOOST_CONSTEXPR std::size_t align_down(std::size_t value,
-    std::size_t alignment) BOOST_NOEXCEPT;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_up.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/align_up.hpp
deleted file mode 100644
index b1cec19..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_up.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGN_UP_HPP
-#define BOOST_ALIGN_ALIGN_UP_HPP
-
-#include <boost/align/detail/align_up.hpp>
-#include <boost/align/align_up_forward.hpp>
-
-namespace boost {
-namespace alignment {
-
-BOOST_CONSTEXPR inline std::size_t align_up(std::size_t value,
-    std::size_t alignment) BOOST_NOEXCEPT
-{
-    return (value + alignment - 1) & ~(alignment - 1);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_up_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/align_up_forward.hpp
deleted file mode 100644
index 47fdfcd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/align_up_forward.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGN_UP_FORWARD_HPP
-#define BOOST_ALIGN_ALIGN_UP_FORWARD_HPP
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-
-BOOST_CONSTEXPR std::size_t align_up(std::size_t value,
-    std::size_t alignment) BOOST_NOEXCEPT;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_alloc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_alloc.hpp
deleted file mode 100644
index 7f2c0bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_alloc.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_ALLOC_HPP
-#define BOOST_ALIGN_ALIGNED_ALLOC_HPP
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_HAS_UNISTD_H)
-#include <unistd.h>
-#endif
-
-#if defined(__APPLE__) || defined(__APPLE_CC__) || defined(macintosh)
-#include <AvailabilityMacros.h>
-#endif
-
-#if defined(BOOST_ALIGN_USE_ALLOCATE)
-#include <boost/align/detail/aligned_alloc.hpp>
-#elif defined(_MSC_VER) && !defined(UNDER_CE)
-#include <boost/align/detail/aligned_alloc_msvc.hpp>
-#elif defined(__MINGW32__) && (__MSVCRT_VERSION__ >= 0x0700)
-#include <boost/align/detail/aligned_alloc_msvc.hpp>
-#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-#include <boost/align/detail/aligned_alloc_posix.hpp>
-#elif MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
-#include <boost/align/detail/aligned_alloc_macos.hpp>
-#elif defined(__ANDROID__)
-#include <boost/align/detail/aligned_alloc_android.hpp>
-#elif defined(__SunOS_5_11) || defined(__SunOS_5_12)
-#include <boost/align/detail/aligned_alloc_posix.hpp>
-#elif defined(sun) || defined(__sun)
-#include <boost/align/detail/aligned_alloc_sunos.hpp>
-#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)
-#include <boost/align/detail/aligned_alloc_posix.hpp>
-#else
-#include <boost/align/detail/aligned_alloc.hpp>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator.hpp
deleted file mode 100644
index 83af070..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator.hpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_HPP
-#define BOOST_ALIGN_ALIGNED_ALLOCATOR_HPP
-
-#include <boost/align/detail/addressof.hpp>
-#include <boost/align/detail/is_alignment_constant.hpp>
-#include <boost/align/detail/max_objects.hpp>
-#include <boost/align/detail/max_size.hpp>
-#include <boost/align/aligned_alloc.hpp>
-#include <boost/align/aligned_allocator_forward.hpp>
-#include <boost/align/alignment_of.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <new>
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <utility>
-#endif
-
-namespace boost {
-namespace alignment {
-
-template<class T, std::size_t Alignment>
-class aligned_allocator {
-    BOOST_STATIC_ASSERT(detail::
-        is_alignment_constant<Alignment>::value);
-
-public:
-    typedef T value_type;
-    typedef T* pointer;
-    typedef const T* const_pointer;
-    typedef void* void_pointer;
-    typedef const void* const_void_pointer;
-    typedef std::size_t size_type;
-    typedef std::ptrdiff_t difference_type;
-    typedef T& reference;
-    typedef const T& const_reference;
-
-private:
-    enum {
-        min_align = detail::max_size<Alignment,
-            alignment_of<value_type>::value>::value
-    };
-
-public:
-    template<class U>
-    struct rebind {
-        typedef aligned_allocator<U, Alignment> other;
-    };
-
-#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
-    aligned_allocator() = default;
-#else
-    aligned_allocator() BOOST_NOEXCEPT {
-    }
-#endif
-
-    template<class U>
-    aligned_allocator(const aligned_allocator<U, Alignment>&)
-        BOOST_NOEXCEPT {
-    }
-
-    pointer address(reference value) const BOOST_NOEXCEPT {
-        return detail::addressof(value);
-    }
-
-    const_pointer address(const_reference value) const BOOST_NOEXCEPT {
-        return detail::addressof(value);
-    }
-
-    pointer allocate(size_type size, const_void_pointer = 0) {
-        void* p = 0;
-        if (size > 0) {
-            p = aligned_alloc(min_align, sizeof(T) * size);
-            if (!p) {
-                ::boost::throw_exception(std::bad_alloc());
-            }
-        }
-        return static_cast<T*>(p);
-    }
-
-    void deallocate(pointer ptr, size_type) {
-        ::boost::alignment::aligned_free(ptr);
-    }
-
-    BOOST_CONSTEXPR size_type max_size() const BOOST_NOEXCEPT {
-        return detail::max_objects<T>::value;
-    }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    template<class U, class... Args>
-    void construct(U* ptr, Args&&... args) {
-        ::new(static_cast<void*>(ptr)) U(std::forward<Args>(args)...);
-    }
-#else
-    template<class U, class V>
-    void construct(U* ptr, V&& value) {
-        ::new(static_cast<void*>(ptr)) U(std::forward<V>(value));
-    }
-#endif
-#else
-    template<class U, class V>
-    void construct(U* ptr, const V& value) {
-        ::new(static_cast<void*>(ptr)) U(value);
-    }
-#endif
-
-    template<class U>
-    void construct(U* ptr) {
-        ::new(static_cast<void*>(ptr)) U();
-    }
-
-    template<class U>
-    void destroy(U* ptr) {
-        (void)ptr;
-        ptr->~U();
-    }
-};
-
-template<std::size_t Alignment>
-class aligned_allocator<void, Alignment> {
-    BOOST_STATIC_ASSERT(detail::
-        is_alignment_constant<Alignment>::value);
-
-public:
-    typedef void value_type;
-    typedef void* pointer;
-    typedef const void* const_pointer;
-
-    template<class U>
-    struct rebind {
-        typedef aligned_allocator<U, Alignment> other;
-    };
-};
-
-template<class T1, class T2, std::size_t Alignment>
-inline bool operator==(const aligned_allocator<T1, Alignment>&,
-    const aligned_allocator<T2, Alignment>&) BOOST_NOEXCEPT
-{
-    return true;
-}
-
-template<class T1, class T2, std::size_t Alignment>
-inline bool operator!=(const aligned_allocator<T1, Alignment>&,
-    const aligned_allocator<T2, Alignment>&) BOOST_NOEXCEPT
-{
-    return false;
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_adaptor.hpp
deleted file mode 100644
index 29d1387..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_adaptor.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_HPP
-#define BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_HPP
-
-#include <boost/align/detail/addressof.hpp>
-#include <boost/align/detail/is_alignment_constant.hpp>
-#include <boost/align/detail/max_align.hpp>
-#include <boost/align/detail/max_size.hpp>
-#include <boost/align/align.hpp>
-#include <boost/align/aligned_allocator_adaptor_forward.hpp>
-#include <boost/align/alignment_of.hpp>
-#include <boost/static_assert.hpp>
-#include <new>
-
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-#include <memory>
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <utility>
-#endif
-
-namespace boost {
-namespace alignment {
-
-template<class Allocator, std::size_t Alignment>
-class aligned_allocator_adaptor
-    : public Allocator {
-    BOOST_STATIC_ASSERT(detail::
-        is_alignment_constant<Alignment>::value);
-
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-    typedef std::allocator_traits<Allocator> traits;
-
-    typedef typename traits::
-        template rebind_alloc<char> char_alloc;
-
-    typedef typename traits::
-        template rebind_traits<char> char_traits;
-
-    typedef typename char_traits::pointer char_ptr;
-#else
-    typedef typename Allocator::
-        template rebind<char>::other char_alloc;
-
-    typedef typename char_alloc::pointer char_ptr;
-#endif
-
-public:
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-    typedef typename traits::value_type value_type;
-    typedef typename traits::size_type size_type;
-#else
-    typedef typename Allocator::value_type value_type;
-    typedef typename Allocator::size_type size_type;
-#endif
-
-    typedef value_type* pointer;
-    typedef const value_type* const_pointer;
-    typedef void* void_pointer;
-    typedef const void* const_void_pointer;
-    typedef std::ptrdiff_t difference_type;
-
-private:
-    enum {
-        min_align = detail::max_size<Alignment,
-            detail::max_align<value_type, char_ptr>::value>::value
-    };
-
-public:
-    template<class U>
-    struct rebind {
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        typedef aligned_allocator_adaptor<typename traits::
-            template rebind_alloc<U>, Alignment> other;
-#else
-        typedef aligned_allocator_adaptor<typename Allocator::
-            template rebind<U>::other, Alignment> other;
-#endif
-    };
-
-#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
-    aligned_allocator_adaptor() = default;
-#else
-    aligned_allocator_adaptor()
-        : Allocator() {
-    }
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-    template<class A>
-    explicit aligned_allocator_adaptor(A&& alloc) BOOST_NOEXCEPT
-        : Allocator(std::forward<A>(alloc)) {
-    }
-#else
-    template<class A>
-    explicit aligned_allocator_adaptor(const A& alloc)
-        BOOST_NOEXCEPT
-        : Allocator(alloc) {
-    }
-#endif
-
-    template<class U>
-    aligned_allocator_adaptor(const aligned_allocator_adaptor<U,
-        Alignment>& other) BOOST_NOEXCEPT
-        : Allocator(other.base()) {
-    }
-
-    Allocator& base() BOOST_NOEXCEPT {
-        return static_cast<Allocator&>(*this);
-    }
-
-    const Allocator& base() const BOOST_NOEXCEPT {
-        return static_cast<const Allocator&>(*this);
-    }
-
-    pointer allocate(size_type size) {
-        std::size_t s = size * sizeof(value_type);
-        std::size_t n = s + min_align - 1;
-        char_alloc a(base());
-        char_ptr p = a.allocate(sizeof p + n);
-        void* r = detail::addressof(*p) + sizeof p;
-        (void)align(min_align, s, r, n);
-        ::new(static_cast<void*>(static_cast<char_ptr*>(r) -
-            1)) char_ptr(p);
-        return static_cast<pointer>(r);
-    }
-
-    pointer allocate(size_type size, const_void_pointer hint) {
-        std::size_t s = size * sizeof(value_type);
-        std::size_t n = s + min_align - 1;
-        char_ptr h = char_ptr();
-        if (hint) {
-            h = *(static_cast<const char_ptr*>(hint) - 1);
-        }
-        char_alloc a(base());
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        char_ptr p = char_traits::allocate(a, sizeof p + n, h);
-#else
-        char_ptr p = a.allocate(sizeof p + n, h);
-#endif
-        void* r = detail::addressof(*p) + sizeof p;
-        (void)align(min_align, s, r, n);
-        ::new(static_cast<void*>(static_cast<char_ptr*>(r) -
-            1)) char_ptr(p);
-        return static_cast<pointer>(r);
-    }
-
-    void deallocate(pointer ptr, size_type size) {
-        char_ptr* p = reinterpret_cast<char_ptr*>(ptr) - 1;
-        char_ptr r = *p;
-        p->~char_ptr();
-        char_alloc a(base());
-        a.deallocate(r, sizeof r + size * sizeof(value_type) +
-            min_align - 1);
-    }
-};
-
-template<class A1, class A2, std::size_t Alignment>
-inline bool operator==(const aligned_allocator_adaptor<A1,
-    Alignment>& a, const aligned_allocator_adaptor<A2,
-    Alignment>& b) BOOST_NOEXCEPT
-{
-    return a.base() == b.base();
-}
-
-template<class A1, class A2, std::size_t Alignment>
-inline bool operator!=(const aligned_allocator_adaptor<A1,
-    Alignment>& a, const aligned_allocator_adaptor<A2,
-    Alignment>& b) BOOST_NOEXCEPT
-{
-    return !(a == b);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_adaptor_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_adaptor_forward.hpp
deleted file mode 100644
index d606f09..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_adaptor_forward.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_FORWARD_HPP
-#define BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_FORWARD_HPP
-
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-
-template<class Allocator, std::size_t Alignment = 1>
-class aligned_allocator_adaptor;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_forward.hpp
deleted file mode 100644
index 41f917f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_allocator_forward.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_FORWARD_HPP
-#define BOOST_ALIGN_ALIGNED_ALLOCATOR_FORWARD_HPP
-
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-
-template<class T, std::size_t Alignment = 1>
-class aligned_allocator;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_delete.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_delete.hpp
deleted file mode 100644
index 6db2bd8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_delete.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_DELETE_HPP
-#define BOOST_ALIGN_ALIGNED_DELETE_HPP
-
-#include <boost/align/aligned_alloc.hpp>
-#include <boost/align/aligned_delete_forward.hpp>
-
-namespace boost {
-namespace alignment {
-
-struct aligned_delete {
-    template<class T>
-    void operator()(T* ptr) const
-        BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(ptr->~T())) {
-        if (ptr) {
-            ptr->~T();
-            ::boost::alignment::aligned_free(ptr);
-        }
-    }
-};
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_delete_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_delete_forward.hpp
deleted file mode 100644
index 7334beb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/aligned_delete_forward.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNED_DELETE_FORWARD_HPP
-#define BOOST_ALIGN_ALIGNED_DELETE_FORWARD_HPP
-
-namespace boost {
-namespace alignment {
-
-struct aligned_delete;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/alignment_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/alignment_of.hpp
deleted file mode 100644
index fee9183..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/alignment_of.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP
-#define BOOST_ALIGN_ALIGNMENT_OF_HPP
-
-#include <boost/align/detail/element_type.hpp>
-#include <boost/align/alignment_of_forward.hpp>
-
-#if defined(BOOST_MSVC)
-#include <boost/align/detail/alignment_of_msvc.hpp>
-#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__)
-#include <boost/align/detail/alignment_of.hpp>
-#elif defined(BOOST_CLANG) && !defined(__x86_64__)
-#include <boost/align/detail/alignment_of.hpp>
-#elif !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-#include <boost/align/detail/alignment_of_cxx11.hpp>
-#elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
-#include <boost/align/detail/alignment_of_gcc.hpp>
-#elif defined(__CODEGEARC__)
-#include <boost/align/detail/alignment_of_codegear.hpp>
-#elif defined(BOOST_CLANG)
-#include <boost/align/detail/alignment_of_clang.hpp>
-#elif __GNUC__ > 4
-#include <boost/align/detail/alignment_of_gcc.hpp>
-#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)
-#include <boost/align/detail/alignment_of_gcc.hpp>
-#else
-#include <boost/align/detail/alignment_of.hpp>
-#endif
-
-namespace boost {
-namespace alignment {
-
-template<class T>
-struct alignment_of
-    : detail::alignment_of<typename
-        detail::element_type<T>::type>::type {
-};
-
-#if !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
-template<class T>
-constexpr std::size_t alignment_of_v = alignment_of<T>::value;
-#endif
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/alignment_of_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/alignment_of_forward.hpp
deleted file mode 100644
index 7ab2275..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/alignment_of_forward.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP
-#define BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP
-
-namespace boost {
-namespace alignment {
-
-template<class T>
-struct alignment_of;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/assume_aligned.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/assume_aligned.hpp
deleted file mode 100644
index 8d9f6cc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/assume_aligned.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-(c) 2015 NumScale SAS
-(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI
-
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_ASSUME_ALIGNED_HPP
-#define BOOST_ALIGN_ASSUME_ALIGNED_HPP
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_MSVC)
-#include <boost/align/detail/assume_aligned_msvc.hpp>
-#elif defined(BOOST_CLANG) && defined(__has_builtin)
-#include <boost/align/detail/assume_aligned_clang.hpp>
-#elif BOOST_GCC_VERSION >= 40700
-#include <boost/align/detail/assume_aligned_gcc.hpp>
-#elif defined(__INTEL_COMPILER)
-#include <boost/align/detail/assume_aligned_intel.hpp>
-#else
-#include <boost/align/detail/assume_aligned.hpp>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/addressof.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/addressof.hpp
deleted file mode 100644
index 50731a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/addressof.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ADDRESSOF_HPP
-#define BOOST_ALIGN_DETAIL_ADDRESSOF_HPP
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_NO_CXX11_ADDRESSOF)
-#include <memory>
-#else
-#include <boost/core/addressof.hpp>
-#endif
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-#if !defined(BOOST_NO_CXX11_ADDRESSOF)
-using std::addressof;
-#else
-using boost::addressof;
-#endif
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align.hpp
deleted file mode 100644
index 0828c58..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGN_HPP
-#define BOOST_ALIGN_DETAIL_ALIGN_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace alignment {
-
-inline void* align(std::size_t alignment, std::size_t size,
-    void*& ptr, std::size_t& space)
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    if (size <= space) {
-        char* p = reinterpret_cast<char*>((reinterpret_cast<std::
-            size_t>(ptr) + alignment - 1) & ~(alignment - 1));
-        std::ptrdiff_t n = p - static_cast<char*>(ptr);
-        if (size <= space - n) {
-            ptr = p;
-            space -= n;
-            return p;
-        }
-    }
-    return 0;
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_cxx11.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_cxx11.hpp
deleted file mode 100644
index a95b84c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_cxx11.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP
-#define BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP
-
-#include <memory>
-
-namespace boost {
-namespace alignment {
-
-using std::align;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_down.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_down.hpp
deleted file mode 100644
index a7a72ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_down.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGN_DOWN_HPP
-#define BOOST_ALIGN_DETAIL_ALIGN_DOWN_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/align/align_down_forward.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace alignment {
-
-inline void* align_down(void* ptr, std::size_t alignment) BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return reinterpret_cast<void*>(align_down(reinterpret_cast<std::
-        size_t>(ptr), alignment));
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_up.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_up.hpp
deleted file mode 100644
index d52e099..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/align_up.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGN_UP_HPP
-#define BOOST_ALIGN_DETAIL_ALIGN_UP_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/align/align_up_forward.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace alignment {
-
-inline void* align_up(void* ptr, std::size_t alignment) BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return reinterpret_cast<void*>(align_up(reinterpret_cast<std::
-        size_t>(ptr), alignment));
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc.hpp
deleted file mode 100644
index 0488847..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/align/align.hpp>
-#include <boost/align/alignment_of.hpp>
-#include <boost/assert.hpp>
-#include <cstdlib>
-
-namespace boost {
-namespace alignment {
-
-inline void* aligned_alloc(std::size_t alignment, std::size_t size)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    enum {
-        min_align = alignment_of<void*>::value
-    };
-    if (alignment < min_align) {
-        alignment = min_align;
-    }
-    std::size_t n = size + alignment - min_align;
-    void* r = 0;
-    void* p = std::malloc(sizeof(void*) + n);
-    if (p) {
-        r = static_cast<char*>(p) + sizeof p;
-        (void)align(alignment, size, r, n);
-        *(static_cast<void**>(r) - 1) = p;
-    }
-    return r;
-}
-
-inline void aligned_free(void* ptr) BOOST_NOEXCEPT
-{
-    if (ptr) {
-        std::free(*(static_cast<void**>(ptr) - 1));
-    }
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_android.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_android.hpp
deleted file mode 100644
index 0ed28a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_android.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-#include <malloc.h>
-
-namespace boost {
-namespace alignment {
-
-inline void* aligned_alloc(std::size_t alignment, std::size_t size)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return ::memalign(alignment, size);
-}
-
-inline void aligned_free(void* ptr) BOOST_NOEXCEPT
-{
-    ::free(ptr);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_macos.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_macos.hpp
deleted file mode 100644
index 0bdb7c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_macos.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-#include <stdlib.h>
-
-namespace boost {
-namespace alignment {
-
-inline void* aligned_alloc(std::size_t alignment, std::size_t size)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    if (size == 0) {
-        return 0;
-    }
-    if (alignment < sizeof(void*)) {
-        alignment = sizeof(void*);
-    }
-    void* p;
-    if (::posix_memalign(&p, alignment, size) != 0) {
-        p = 0;
-    }
-    return p;
-}
-
-inline void aligned_free(void* ptr) BOOST_NOEXCEPT
-{
-    ::free(ptr);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_msvc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_msvc.hpp
deleted file mode 100644
index abeccfc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_msvc.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-#include <malloc.h>
-
-namespace boost {
-namespace alignment {
-
-inline void* aligned_alloc(std::size_t alignment, std::size_t size)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return ::_aligned_malloc(size, alignment);
-}
-
-inline void aligned_free(void* ptr) BOOST_NOEXCEPT
-{
-    ::_aligned_free(ptr);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_posix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_posix.hpp
deleted file mode 100644
index 931b0c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_posix.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-#include <stdlib.h>
-
-namespace boost {
-namespace alignment {
-
-inline void* aligned_alloc(std::size_t alignment, std::size_t size)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    if (alignment < sizeof(void*)) {
-        alignment = sizeof(void*);
-    }
-    void* p;
-    if (::posix_memalign(&p, alignment, size) != 0) {
-        p = 0;
-    }
-    return p;
-}
-
-inline void aligned_free(void* ptr) BOOST_NOEXCEPT
-{
-    ::free(ptr);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_sunos.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_sunos.hpp
deleted file mode 100644
index 5039c73..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/aligned_alloc_sunos.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-#include <stdlib.h>
-
-namespace boost {
-namespace alignment {
-
-inline void* aligned_alloc(std::size_t alignment, std::size_t size)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return ::memalign(alignment, size);
-}
-
-inline void aligned_free(void* ptr) BOOST_NOEXCEPT
-{
-    ::free(ptr);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of.hpp
deleted file mode 100644
index 2a630e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP
-
-#include <boost/align/detail/min_size.hpp>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T>
-struct alignof_helper {
-    char value;
-    T object;
-};
-
-template<class T>
-struct alignment_of
-    : min_size<sizeof(T),
-        sizeof(alignof_helper<T>) - sizeof(T)>::type {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_clang.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_clang.hpp
deleted file mode 100644
index a8e2a34..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_clang.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CLANG_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CLANG_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T>
-struct alignment_of
-    : integral_constant<std::size_t, __alignof(T)> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_codegear.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_codegear.hpp
deleted file mode 100644
index 8875e6c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_codegear.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CODEGEAR_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CODEGEAR_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T>
-struct alignment_of
-    : integral_constant<std::size_t, alignof(T)> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_cxx11.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_cxx11.hpp
deleted file mode 100644
index cbe2d9e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_cxx11.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP
-
-#include <type_traits>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-using std::alignment_of;
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_gcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_gcc.hpp
deleted file mode 100644
index 0812fde..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_gcc.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_GCC_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_GCC_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T>
-struct alignment_of
-    : integral_constant<std::size_t, __alignof__(T)> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_msvc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_msvc.hpp
deleted file mode 100644
index df6912f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/alignment_of_msvc.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP
-#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP
-
-#include <boost/align/detail/min_size.hpp>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T>
-struct alignof_helper {
-    T first;
-    char value;
-    T second;
-};
-
-template<class T>
-struct alignment_of
-    : min_size<sizeof(T),
-        sizeof(alignof_helper<T>) - (sizeof(T) << 1)>::type {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned.hpp
deleted file mode 100644
index a1c632b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-(c) 2015 NumScale SAS
-(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI
-
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_HPP
-#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_HPP
-
-#define BOOST_ALIGN_ASSUME_ALIGNED(p, n)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_clang.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_clang.hpp
deleted file mode 100644
index 76046ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_clang.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_CLANG_HPP
-#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_CLANG_HPP
-
-#if __has_builtin(__builtin_assume_aligned)
-#define BOOST_ALIGN_ASSUME_ALIGNED(p, n) \
-(p) = static_cast<__typeof__(p)>(__builtin_assume_aligned((p), (n)))
-#else
-#define BOOST_ALIGN_ASSUME_ALIGNED(p, n)
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_gcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_gcc.hpp
deleted file mode 100644
index 38fab66..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_gcc.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-(c) 2015 NumScale SAS
-(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI
-
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_GCC_HPP
-#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_GCC_HPP
-
-#define BOOST_ALIGN_ASSUME_ALIGNED(p, n) \
-(p) = static_cast<__typeof__(p)>(__builtin_assume_aligned((p), (n)))
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_intel.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_intel.hpp
deleted file mode 100644
index 1944f3d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_intel.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-(c) 2015 NumScale SAS
-(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI
-
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_INTEL_HPP
-#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_INTEL_HPP
-
-#define BOOST_ALIGN_ASSUME_ALIGNED(p, n) \
-__assume_aligned((p), (n))
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_msvc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_msvc.hpp
deleted file mode 100644
index 84c4d59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/assume_aligned_msvc.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-(c) 2015 NumScale SAS
-(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI
-
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_MSVC_HPP
-#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_MSVC_HPP
-
-#include <cstddef>
-
-#define BOOST_ALIGN_ASSUME_ALIGNED(p, n) \
-__assume((reinterpret_cast<std::size_t>(p) & ((n) - 1)) == 0)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/element_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/element_type.hpp
deleted file mode 100644
index 793e25e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/element_type.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_ELEMENT_TYPE_HPP
-#define BOOST_ALIGN_DETAIL_ELEMENT_TYPE_HPP
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-#include <type_traits>
-#else
-#include <cstddef>
-#endif
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-template<class T>
-struct element_type {
-    typedef typename
-        std::remove_cv<typename
-        std::remove_all_extents<typename
-        std::remove_reference<T>::
-        type>::type>::type type;
-};
-#else
-template<class T>
-struct remove_reference {
-    typedef T type;
-};
-
-template<class T>
-struct remove_reference<T&> {
-    typedef T type;
-};
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-template<class T>
-struct remove_reference<T&&> {
-    typedef T type;
-};
-#endif
-
-template<class T>
-struct remove_all_extents {
-    typedef T type;
-};
-
-template<class T>
-struct remove_all_extents<T[]> {
-    typedef typename remove_all_extents<T>::type type;
-};
-
-template<class T, std::size_t N>
-struct remove_all_extents<T[N]> {
-    typedef typename remove_all_extents<T>::type type;
-};
-
-template<class T>
-struct remove_const {
-    typedef T type;
-};
-
-template<class T>
-struct remove_const<const T> {
-    typedef T type;
-};
-
-template<class T>
-struct remove_volatile {
-    typedef T type;
-};
-
-template<class T>
-struct remove_volatile<volatile T> {
-    typedef T type;
-};
-
-template<class T>
-struct remove_cv {
-    typedef typename remove_volatile<typename
-        remove_const<T>::type>::type type;
-};
-
-template<class T>
-struct element_type {
-    typedef typename
-        remove_cv<typename
-        remove_all_extents<typename
-        remove_reference<T>::
-        type>::type>::type type;
-};
-#endif
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/integral_constant.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/integral_constant.hpp
deleted file mode 100644
index 3f8bf0a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/integral_constant.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
-#define BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-#include <type_traits>
-#endif
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-using std::integral_constant;
-#else
-template<class T, T Value>
-struct integral_constant {
-    typedef T value_type;
-    typedef integral_constant type;
-
-    BOOST_CONSTEXPR operator value_type() const {
-        return Value;
-    }
-
-    static BOOST_CONSTEXPR_OR_CONST T value = Value;
-};
-#endif
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_aligned.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_aligned.hpp
deleted file mode 100644
index e9c97ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_aligned.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNED_HPP
-#define BOOST_ALIGN_DETAIL_IS_ALIGNED_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/align/is_aligned_forward.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace alignment {
-
-inline bool is_aligned(const void* ptr, std::size_t alignment)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return is_aligned(reinterpret_cast<std::size_t>(ptr), alignment);
-}
-
-inline bool is_aligned(std::size_t alignment, const void* ptr)
-    BOOST_NOEXCEPT
-{
-    BOOST_ASSERT(detail::is_alignment(alignment));
-    return is_aligned(reinterpret_cast<std::size_t>(ptr), alignment);
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_alignment.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_alignment.hpp
deleted file mode 100644
index 12d8df9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_alignment.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP
-#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-BOOST_CONSTEXPR inline bool is_alignment(std::size_t value)
-    BOOST_NOEXCEPT
-{
-    return (value > 0) && ((value & (value - 1)) == 0);
-}
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_alignment_constant.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_alignment_constant.hpp
deleted file mode 100644
index 2c29343..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/is_alignment_constant.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_CONSTANT_HPP
-#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_CONSTANT_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<std::size_t N>
-struct is_alignment_constant
-    : integral_constant<bool, (N > 0) && ((N & (N - 1)) == 0)> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_align.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_align.hpp
deleted file mode 100644
index 8ae6901..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_align.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_MAX_ALIGN_HPP
-#define BOOST_ALIGN_DETAIL_MAX_ALIGN_HPP
-
-#include <boost/align/detail/max_size.hpp>
-#include <boost/align/alignment_of.hpp>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class A, class B>
-struct max_align
-    : max_size<alignment_of<A>::value, alignment_of<B>::value>::type {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_objects.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_objects.hpp
deleted file mode 100644
index eb56d6f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_objects.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_MAX_OBJECTS_HPP
-#define BOOST_ALIGN_DETAIL_MAX_OBJECTS_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T>
-struct max_objects
-    : integral_constant<std::size_t,
-        ~static_cast<std::size_t>(0) / sizeof(T)> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_size.hpp
deleted file mode 100644
index 48fc45e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/max_size.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_MAX_SIZE_HPP
-#define BOOST_ALIGN_DETAIL_MAX_SIZE_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<std::size_t A, std::size_t B>
-struct max_size
-    : integral_constant<std::size_t, (A > B) ? A : B> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/min_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/min_size.hpp
deleted file mode 100644
index 8ed3e87..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/detail/min_size.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_DETAIL_MIN_SIZE_HPP
-#define BOOST_ALIGN_DETAIL_MIN_SIZE_HPP
-
-#include <boost/align/detail/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<std::size_t A, std::size_t B>
-struct min_size
-    : integral_constant<std::size_t, (A < B) ? A : B> {
-};
-
-} /* .detail */
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/is_aligned.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/is_aligned.hpp
deleted file mode 100644
index cbace96..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/is_aligned.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_IS_ALIGNED_HPP
-#define BOOST_ALIGN_IS_ALIGNED_HPP
-
-#include <boost/align/detail/is_aligned.hpp>
-#include <boost/align/is_aligned_forward.hpp>
-
-namespace boost {
-namespace alignment {
-
-BOOST_CONSTEXPR inline bool is_aligned(std::size_t value,
-    std::size_t alignment) BOOST_NOEXCEPT
-{
-    return (value & (alignment - 1)) == 0;
-}
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/align/is_aligned_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/align/is_aligned_forward.hpp
deleted file mode 100644
index d1bcbc1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/align/is_aligned_forward.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-(c) 2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_ALIGN_IS_ALIGNED_FORWARD_HPP
-#define BOOST_ALIGN_IS_ALIGNED_FORWARD_HPP
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-namespace boost {
-namespace alignment {
-
-BOOST_CONSTEXPR bool is_aligned(std::size_t value,
-    std::size_t alignment) BOOST_NOEXCEPT;
-
-} /* .alignment */
-} /* .boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/aligned_storage.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/aligned_storage.hpp
deleted file mode 100644
index f400fa9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/aligned_storage.hpp
+++ /dev/null
@@ -1,18 +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 <boost/type_traits/aligned_storage.hpp>
-
-#endif // BOOST_ALIGNED_STORAGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/any.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/any.hpp
deleted file mode 100644
index 437de2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/any.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-// See http://www.boost.org/libs/any for Documentation.
-
-#ifndef BOOST_ANY_INCLUDED
-#define BOOST_ANY_INCLUDED
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-// what:  variant type boost::any
-// who:   contributed by Kevlin Henney,
-//        with features contributed and bugs found by
-//        Antony Polukhin, Ed Brey, Mark Rodgers, 
-//        Peter Dimov, and James Curran
-// when:  July 2001, April 2013 - May 2013
-
-#include <algorithm>
-
-#include "boost/config.hpp"
-#include <boost/type_index.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost
-{
-    class any
-    {
-    public: // structors
-
-        any() BOOST_NOEXCEPT
-          : content(0)
-        {
-        }
-
-        template<typename ValueType>
-        any(const ValueType & value)
-          : content(new holder<
-                BOOST_DEDUCED_TYPENAME remove_cv<BOOST_DEDUCED_TYPENAME decay<const ValueType>::type>::type
-            >(value))
-        {
-        }
-
-        any(const any & other)
-          : content(other.content ? other.content->clone() : 0)
-        {
-        }
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-        // Move constructor
-        any(any&& other) BOOST_NOEXCEPT
-          : content(other.content)
-        {
-            other.content = 0;
-        }
-
-        // Perfect forwarding of ValueType
-        template<typename ValueType>
-        any(ValueType&& value
-            , typename boost::disable_if<boost::is_same<any&, ValueType> >::type* = 0 // disable if value has type `any&`
-            , typename boost::disable_if<boost::is_const<ValueType> >::type* = 0) // disable if value has type `const ValueType&&`
-          : content(new holder< typename decay<ValueType>::type >(static_cast<ValueType&&>(value)))
-        {
-        }
-#endif
-
-        ~any() BOOST_NOEXCEPT
-        {
-            delete content;
-        }
-
-    public: // modifiers
-
-        any & swap(any & rhs) BOOST_NOEXCEPT
-        {
-            std::swap(content, rhs.content);
-            return *this;
-        }
-
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-        template<typename ValueType>
-        any & operator=(const ValueType & rhs)
-        {
-            any(rhs).swap(*this);
-            return *this;
-        }
-
-        any & operator=(any rhs)
-        {
-            any(rhs).swap(*this);
-            return *this;
-        }
-
-#else 
-        any & operator=(const any& rhs)
-        {
-            any(rhs).swap(*this);
-            return *this;
-        }
-
-        // move assignement
-        any & operator=(any&& rhs) BOOST_NOEXCEPT
-        {
-            rhs.swap(*this);
-            any().swap(rhs);
-            return *this;
-        }
-
-        // Perfect forwarding of ValueType
-        template <class ValueType>
-        any & operator=(ValueType&& rhs)
-        {
-            any(static_cast<ValueType&&>(rhs)).swap(*this);
-            return *this;
-        }
-#endif
-
-    public: // queries
-
-        bool empty() const BOOST_NOEXCEPT
-        {
-            return !content;
-        }
-
-        void clear() BOOST_NOEXCEPT
-        {
-            any().swap(*this);
-        }
-
-        const boost::typeindex::type_info& type() const BOOST_NOEXCEPT
-        {
-            return content ? content->type() : boost::typeindex::type_id<void>().type_info();
-        }
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-    private: // types
-#else
-    public: // types (public so any_cast can be non-friend)
-#endif
-
-        class placeholder
-        {
-        public: // structors
-
-            virtual ~placeholder()
-            {
-            }
-
-        public: // queries
-
-            virtual const boost::typeindex::type_info& type() const BOOST_NOEXCEPT = 0;
-
-            virtual placeholder * clone() const = 0;
-
-        };
-
-        template<typename ValueType>
-        class holder : public placeholder
-        {
-        public: // structors
-
-            holder(const ValueType & value)
-              : held(value)
-            {
-            }
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-            holder(ValueType&& value)
-              : held(static_cast< ValueType&& >(value))
-            {
-            }
-#endif
-        public: // queries
-
-            virtual const boost::typeindex::type_info& type() const BOOST_NOEXCEPT
-            {
-                return boost::typeindex::type_id<ValueType>().type_info();
-            }
-
-            virtual placeholder * clone() const
-            {
-                return new holder(held);
-            }
-
-        public: // representation
-
-            ValueType held;
-
-        private: // intentionally left unimplemented
-            holder & operator=(const holder &);
-        };
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-    private: // representation
-
-        template<typename ValueType>
-        friend ValueType * any_cast(any *) BOOST_NOEXCEPT;
-
-        template<typename ValueType>
-        friend ValueType * unsafe_any_cast(any *) BOOST_NOEXCEPT;
-
-#else
-
-    public: // representation (public so any_cast can be non-friend)
-
-#endif
-
-        placeholder * content;
-
-    };
- 
-    inline void swap(any & lhs, any & rhs) BOOST_NOEXCEPT
-    {
-        lhs.swap(rhs);
-    }
-
-    class BOOST_SYMBOL_VISIBLE bad_any_cast :
-#ifndef BOOST_NO_RTTI
-        public std::bad_cast
-#else
-        public std::exception
-#endif
-    {
-    public:
-        virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW
-        {
-            return "boost::bad_any_cast: "
-                   "failed conversion using boost::any_cast";
-        }
-    };
-
-    template<typename ValueType>
-    ValueType * any_cast(any * operand) BOOST_NOEXCEPT
-    {
-        return operand && operand->type() == boost::typeindex::type_id<ValueType>()
-            ? &static_cast<any::holder<BOOST_DEDUCED_TYPENAME remove_cv<ValueType>::type> *>(operand->content)->held
-            : 0;
-    }
-
-    template<typename ValueType>
-    inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT
-    {
-        return any_cast<ValueType>(const_cast<any *>(operand));
-    }
-
-    template<typename ValueType>
-    ValueType any_cast(any & operand)
-    {
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
-
-
-        nonref * result = any_cast<nonref>(&operand);
-        if(!result)
-            boost::throw_exception(bad_any_cast());
-
-        // Attempt to avoid construction of a temporary object in cases when 
-        // `ValueType` is not a reference. Example:
-        // `static_cast<std::string>(*result);` 
-        // which is equal to `std::string(*result);`
-        typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
-            boost::is_reference<ValueType>,
-            ValueType,
-            BOOST_DEDUCED_TYPENAME boost::add_reference<ValueType>::type
-        >::type ref_type;
-
-        return static_cast<ref_type>(*result);
-    }
-
-    template<typename ValueType>
-    inline ValueType any_cast(const any & operand)
-    {
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
-        return any_cast<const nonref &>(const_cast<any &>(operand));
-    }
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    template<typename ValueType>
-    inline ValueType any_cast(any&& operand)
-    {
-        BOOST_STATIC_ASSERT_MSG(
-            boost::is_rvalue_reference<ValueType&&>::value /*true if ValueType is rvalue or just a value*/
-            || boost::is_const< typename boost::remove_reference<ValueType>::type >::value,
-            "boost::any_cast shall not be used for getting nonconst references to temporary objects" 
-        );
-        return any_cast<ValueType>(operand);
-    }
-#endif
-
-
-    // Note: The "unsafe" versions of any_cast are not part of the
-    // public interface and may be removed at any time. They are
-    // required where we know what type is stored in the any and can't
-    // use typeid() comparison, e.g., when our types may travel across
-    // different shared libraries.
-    template<typename ValueType>
-    inline ValueType * unsafe_any_cast(any * operand) BOOST_NOEXCEPT
-    {
-        return &static_cast<any::holder<ValueType> *>(operand->content)->held;
-    }
-
-    template<typename ValueType>
-    inline const ValueType * unsafe_any_cast(const any * operand) BOOST_NOEXCEPT
-    {
-        return unsafe_any_cast<ValueType>(const_cast<any *>(operand));
-    }
-}
-
-// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/archive_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/archive_exception.hpp
deleted file mode 100644
index fabcdb5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/archive_exception.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
-#define BOOST_ARCHIVE_ARCHIVE_EXCEPTION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/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_SYMBOL_VISIBLE archive_exception : 
-    public virtual std::exception
-{
-private:
-    char m_buffer[128];
-protected:
-    BOOST_ARCHIVE_DECL unsigned int
-    append(unsigned int l, const char * a);
-    BOOST_ARCHIVE_DECL
-    archive_exception() BOOST_NOEXCEPT;
-public:
-    typedef enum {
-        no_exception,       // initialized without code
-        other_exception,    // any excepton not listed below
-        unregistered_class, // attempt to serialize a pointer of
-                            // 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 serialized through a pointer.  
-                            // Were this permitted, 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 program
-                            // 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;
-    exception_code code;
-
-    BOOST_ARCHIVE_DECL archive_exception(
-        exception_code c, 
-        const char * e1 = NULL,
-        const char * e2 = NULL
-    ) BOOST_NOEXCEPT;
-    BOOST_ARCHIVE_DECL archive_exception(archive_exception const &) BOOST_NOEXCEPT ;
-    virtual BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ;
-    virtual BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
-};
-
-}// 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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_archive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_archive.hpp
deleted file mode 100644
index ce7ac99..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_archive.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_ARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 <cstring> // count
-#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) {};
-    // note: presumes that size_t >= unsigned int.
-    explicit object_id_type(const std::size_t & 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;
-    }
-    std::size_t size() const {
-        return std::strlen(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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_iarchive.hpp
deleted file mode 100644
index c0cc655..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_iarchive.hpp
+++ /dev/null
@@ -1,204 +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)
-# 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/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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_binary_iarchive - read serialized objects from a input binary stream
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : 
-    public detail::common_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // 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
-#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){
-      this->detail_common_iarchive::load_override(t);
-    }
-
-    // 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 */){}
-
-    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){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_iarchive::load_override(t);
-        }
-        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){
-        load_override(static_cast<class_id_type &>(t));
-    }
-
-    void load_override(version_type & t){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_iarchive::load_override(t);
-        }
-        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){
-        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);
-        }
-        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){
-        if(boost::archive::library_version_type(5) < this->get_library_version()){
-            this->detail_common_iarchive::load_override(t);
-        }
-        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);
-    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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_iprimitive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_iprimitive.hpp
deleted file mode 100644
index 40f45d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_iprimitive.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
-#define BOOST_ARCHIVE_BINARY_IPRIMITIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/serialization/throw_exception.hpp>
-#include <boost/integer.hpp>
-#include <boost/integer_traits.hpp>
-
-//#include <boost/mpl/placeholders.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/serialization/array.hpp>
-
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#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 {
-
-/////////////////////////////////////////////////////////////////////////////
-// class binary_iarchive - read serialized objects from a input binary stream
-template<class Archive, class Elem, class Tr>
-class BOOST_SYMBOL_VISIBLE 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
-    // note order! - if you change this, libstd++ will fail!
-    // a) create new locale with new codecvt facet
-    // b) save current locale
-    // c) change locale to new one
-    // d) use stream buffer
-    // e) change locale back to original
-    // f) destroy new codecvt facet
-    boost::archive::codecvt_null<Elem> codecvt_null_facet;
-    basic_streambuf_locale_saver<Elem, Tr> locale_saver;
-    std::locale archive_locale;
-    #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 
-    basic_binary_iprimitive(
-        std::basic_streambuf<Elem, Tr> & sb, 
-        bool no_codecvt
-    );
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL 
-    ~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 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_wrapper<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, static_cast<std::size_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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_oarchive.hpp
deleted file mode 100644
index f05f2f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_oarchive.hpp
+++ /dev/null
@@ -1,185 +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)
-# 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/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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-//////////////////////////////////////////////////////////////////////
-// 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 BOOST_SYMBOL_VISIBLE basic_binary_oarchive : 
-    public detail::common_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // 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
-#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){
-      this->detail_common_oarchive::save_override(t);
-    }
-
-    // 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 */){}
-
-    // enable this if we decide to support generation of previous versions
-    #if 0
-    void save_override(const boost::archive::version_type & t){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_oarchive::save_override(t);
-        }
-        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){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_oarchive::save_override(t);
-        }
-        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){
-        library_version_type lvt = this->get_library_version();
-        if(boost::archive::library_version_type(7) < lvt){
-            this->detail_common_oarchive::save_override(t);
-        }
-        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){
-        save_override(static_cast<class_id_type &>(t));
-    }
-
-    #endif
-
-    // explicitly convert to char * to avoid compile ambiguities
-    void save_override(const class_name_type & t){
-        const std::string s(t);
-        * this->This() << s;
-    }
-
-    #if 0
-    void save_override(const serialization::collection_size_type & t){
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_oprimitive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_oprimitive.hpp
deleted file mode 100644
index 4b7f454..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_binary_oprimitive.hpp
+++ /dev/null
@@ -1,188 +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)
-# 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/mpl/placeholders.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/serialization/array.hpp>
-
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#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 {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_binary_oprimitive - binary output of prmitives
-
-template<class Archive, class Elem, class Tr>
-class BOOST_SYMBOL_VISIBLE 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
-    // note order! - if you change this, libstd++ will fail!
-    // a) create new locale with new codecvt facet
-    // b) save current locale
-    // c) change locale to new one
-    // d) use stream buffer
-    // e) change locale back to original
-    // f) destroy new codecvt facet
-    boost::archive::codecvt_null<Elem> codecvt_null_facet;
-    basic_streambuf_locale_saver<Elem, Tr> locale_saver;
-    std::locale archive_locale;
-    #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 
-    basic_binary_oprimitive(
-        std::basic_streambuf<Elem, Tr> & sb, 
-        bool no_codecvt
-    );
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL 
-    ~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 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_wrapper<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(count <= std::size_t(boost::integer_traits<std::streamsize>::const_max));
-    // 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);
-    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 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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_streambuf_locale_saver.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_streambuf_locale_saver.hpp
deleted file mode 100644
index 5cd4b36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_streambuf_locale_saver.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP
-#define BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// basic_streambuf_locale_saver.hpp
-
-// (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.
-
-// note derived from boost/io/ios_state.hpp
-// 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_NO_STD_LOCALE
-
-#include <locale>     // for std::locale
-#include <ios>
-#include <streambuf>  // for std::basic_streambuf
-
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost{
-namespace archive{
-
-template < typename Ch, class Tr >
-class basic_streambuf_locale_saver :
-    private boost::noncopyable
-{
-public:
-    explicit basic_streambuf_locale_saver(std::basic_streambuf<Ch, Tr> &s) :
-        m_streambuf(s),
-        m_locale(s.getloc())
-    {}
-    ~basic_streambuf_locale_saver(){
-        m_streambuf.pubsync();
-        m_streambuf.pubimbue(m_locale);
-    }
-private:
-    std::basic_streambuf<Ch, Tr> &       m_streambuf;
-    std::locale const  m_locale;
-};
-
-template < typename Ch, class Tr >
-class basic_istream_locale_saver :
-    private boost::noncopyable
-{
-public:
-    explicit basic_istream_locale_saver(std::basic_istream<Ch, Tr> &s) :
-        m_istream(s),
-        m_locale(s.getloc())
-    {}
-    ~basic_istream_locale_saver(){
-        // libstdc++ crashes without this
-        m_istream.sync();
-        m_istream.imbue(m_locale);
-    }
-private:
-    std::basic_istream<Ch, Tr> & m_istream;
-    std::locale const  m_locale;
-};
-
-template < typename Ch, class Tr >
-class basic_ostream_locale_saver :
-    private boost::noncopyable
-{
-public:
-    explicit basic_ostream_locale_saver(std::basic_ostream<Ch, Tr> &s) :
-        m_ostream(s),
-        m_locale(s.getloc())
-    {}
-    ~basic_ostream_locale_saver(){
-        m_ostream.flush();
-        m_ostream.imbue(m_locale);
-    }
-private:
-    std::basic_ostream<Ch, Tr> & m_ostream;
-    std::locale const  m_locale;
-};
-
-
-} // archive
-} // boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_NO_STD_LOCALE
-#endif // BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_iarchive.hpp
deleted file mode 100644
index 583041d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_iarchive.hpp
+++ /dev/null
@@ -1,96 +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)
-# 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/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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_iarchive - read serialized objects from a input text stream
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE basic_text_iarchive : 
-    public detail::common_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // 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
-#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){
-        this->detail_common_iarchive::load_override(t);
-    }
-    // text file don't include the optional information 
-    void load_override(class_id_optional_type & /*t*/){}
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    load_override(class_name_type & t);
-
-    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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_iprimitive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_iprimitive.hpp
deleted file mode 100644
index bf936b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_iprimitive.hpp
+++ /dev/null
@@ -1,142 +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)
-# 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 <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/io/ios_state.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/detail/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-#include <boost/archive/dinkumware.hpp>
-#endif
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/codecvt_null.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 BOOST_SYMBOL_VISIBLE basic_text_iprimitive {
-protected:
-    IStream &is;
-    io::ios_flags_saver flags_saver;
-    io::ios_precision_saver precision_saver;
-
-    #ifndef BOOST_NO_STD_LOCALE
-    // note order! - if you change this, libstd++ will fail!
-    // a) create new locale with new codecvt facet
-    // b) save current locale
-    // c) change locale to new one
-    // d) use stream buffer
-    // e) change locale back to original
-    // f) destroy new codecvt facet
-    boost::archive::codecvt_null<typename IStream::char_type> codecvt_null_facet;
-    std::locale archive_locale;
-    basic_istream_locale_saver<
-        typename IStream::char_type,
-        typename IStream::traits_type
-    > locale_saver;
-    #endif
-
-    template<class T>
-    void load(T & t)
-    {
-        if(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 
-    basic_text_iprimitive(IStream  &is, bool no_codecvt);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL 
-    ~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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_oarchive.hpp
deleted file mode 100644
index 6f7f8fb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_oarchive.hpp
+++ /dev/null
@@ -1,119 +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)
-# 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/config.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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_oarchive 
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE basic_text_oarchive : 
-    public detail::common_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // 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
-#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){
-        this->detail_common_oarchive::save_override(t);
-    }
-
-    // start new objects on a new line
-    void save_override(const object_id_type & t){
-        this->This()->newline();
-        this->detail_common_oarchive::save_override(t);
-    }
-
-    // text file don't include the optional information 
-    void save_override(const class_id_optional_type & /* t */){}
-
-    void save_override(const class_name_type & t){
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_oprimitive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_oprimitive.hpp
deleted file mode 100644
index c9f8c59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_text_oprimitive.hpp
+++ /dev/null
@@ -1,211 +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)
-# 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 <cstddef> // size_t
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/io/ios_state.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/type_traits/is_floating_point.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/limits.hpp>
-#include <boost/integer.hpp>
-#include <boost/io/ios_state.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/archive/basic_streambuf_locale_saver.hpp>
-#include <boost/archive/codecvt_null.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-
-namespace boost {
-namespace archive {
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_text_oprimitive - output of prmitives to stream
-template<class OStream>
-class BOOST_SYMBOL_VISIBLE basic_text_oprimitive
-{
-protected:
-    OStream &os;
-    io::ios_flags_saver flags_saver;
-    io::ios_precision_saver precision_saver;
-
-    #ifndef BOOST_NO_STD_LOCALE
-    // note order! - if you change this, libstd++ will fail!
-    // a) create new locale with new codecvt facet
-    // b) save current locale
-    // c) change locale to new one
-    // d) use stream buffer
-    // e) change locale back to original
-    // f) destroy new codecvt facet
-    boost::archive::codecvt_null<typename OStream::char_type> codecvt_null_facet;
-    std::locale archive_locale;
-    basic_ostream_locale_saver<
-        typename OStream::char_type,
-        typename OStream::traits_type
-    > locale_saver;
-    #endif
-
-    /////////////////////////////////////////////////////////
-    // 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
-
-    /////////////////////////////////////////////////////////
-    // saving of any types not listed above
-
-    template<class T>
-    void save_impl(const T &t, boost::mpl::bool_<false> &){
-        if(os.fail())
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::output_stream_error)
-            );
-        os << t;
-    }
-
-    /////////////////////////////////////////////////////////
-    // floating point types need even more special treatment
-    // the following determines whether the type T is some sort
-    // of floating point type.  Note that we then assume that
-    // the stream << operator is defined on that type - if not
-    // we'll get a compile time error. This is meant to automatically
-    // support synthesized types which support floating point
-    // operations. Also it should handle compiler dependent types
-    // such long double.  Due to John Maddock.
-
-    template<class T>
-    struct is_float {
-        typedef typename mpl::bool_< 
-            boost::is_floating_point<T>::value 
-            || (std::numeric_limits<T>::is_specialized
-            && !std::numeric_limits<T>::is_integer
-            && !std::numeric_limits<T>::is_exact
-            && std::numeric_limits<T>::max_exponent) 
-        >::type type;
-    };
-
-    template<class T>
-    void save_impl(const T &t, boost::mpl::bool_<true> &){
-        // 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)
-            );
-        // The formulae for the number of decimla digits required is given in
-        // http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1822.pdf
-        // which is derived from Kahan's paper:
-        // www.eecs.berkeley.edu/~wkahan/ieee754status/ieee754.ps
-        // const unsigned int digits = (std::numeric_limits<T>::digits * 3010) / 10000;
-        // note: I've commented out the above because I didn't get good results.  e.g.
-        // in one case I got a difference of 19 units.
-        #ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
-            const unsigned int digits = std::numeric_limits<T>::max_digits10;
-        #else
-            const unsigned int digits = std::numeric_limits<T>::digits10 + 2;
-        #endif
-        os << std::setprecision(digits) << std::scientific << t;
-    }
-
-    template<class T>
-    void save(const T & t){
-        boost::io::ios_flags_saver fs(os);
-        boost::io::ios_precision_saver ps(os);
-        typename is_float<T>::type tf;
-        save_impl(t, tf);
-    }
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL
-    basic_text_oprimitive(OStream & os, bool no_codecvt);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL 
-    ~basic_text_oprimitive();
-public:
-    // unformatted append of one character
-    void put(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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_archive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_archive.hpp
deleted file mode 100644
index bef368b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_iarchive.hpp
deleted file mode 100644
index a882df5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_iarchive.hpp
+++ /dev/null
@@ -1,120 +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)
-# 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/mpl/assert.hpp>
-
-#include <boost/archive/detail/common_iarchive.hpp>
-#include <boost/serialization/nvp.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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-/////////////////////////////////////////////////////////////////////////
-// class basic_xml_iarchive - read serialized objects from a input text stream
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE basic_xml_iarchive :
-    public detail::common_iarchive<Archive>
-{
-    unsigned int depth;
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_iarchive<Archive>;
-#endif
-    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)
-    {
-        // 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);
-    }
-
-    // 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(
-        const boost::serialization::nvp< T > & t
-    ){
-        this->This()->load_start(t.name());
-        this->detail_common_iarchive::load_override(t.value());
-        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
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    load_override(class_id_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    load_override(class_id_optional_type & /* t */){}
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    load_override(object_id_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    load_override(version_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    load_override(tracking_type & t);
-    // 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);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL
-    basic_xml_iarchive(unsigned int flags);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL
-    ~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/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_oarchive.hpp
deleted file mode 100644
index 107fca4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/basic_xml_oarchive.hpp
+++ /dev/null
@@ -1,138 +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)
-# 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/mpl/assert.hpp>
-
-#include <boost/archive/detail/common_oarchive.hpp>
-#include <boost/serialization/nvp.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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-//////////////////////////////////////////////////////////////////////
-// class basic_xml_oarchive - write serialized objects to a xml output stream
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE basic_xml_oarchive :
-    public detail::common_oarchive<Archive>
-{
-    // special stuff for xml output
-    unsigned int depth;
-    bool pending_preamble;
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_oarchive<Archive>;
-#endif
-    bool indent_next;
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    indent();
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    init();
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    windup();
-    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)
-    {
-        // 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);
-    }
-
-    // special treatment for name-value pairs.
-    typedef detail::common_oarchive<Archive> detail_common_oarchive;
-    template<class T>
-    void save_override(
-        const ::boost::serialization::nvp< T > & t
-    ){
-        this->This()->save_start(t.name());
-        this->detail_common_oarchive::save_override(t.const_value());
-        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 class_id_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const class_id_optional_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const class_id_reference_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const object_id_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const object_reference_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const version_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const class_name_type & t);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-    save_override(const tracking_type & t);
-
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL
-    basic_xml_oarchive(unsigned int flags);
-    BOOST_ARCHIVE_OR_WARCHIVE_DECL
-    ~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/rbgl_trimmed_boost_1_61_0/boost/archive/binary_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_iarchive.hpp
deleted file mode 100644
index 785ce76..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_iarchive.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 this class.  If you want to extend this functionality
-// via inhertance, derived from binary_iarchive_impl instead.  This will
-// preserve correct static polymorphism.
-class BOOST_SYMBOL_VISIBLE binary_iarchive :
-    public binary_iarchive_impl<
-        boost::archive::binary_iarchive, 
-        std::istream::char_type, 
-        std::istream::traits_type
-    >{
-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/rbgl_trimmed_boost_1_61_0/boost/archive/binary_iarchive_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_iarchive_impl.hpp
deleted file mode 100644
index b4747c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_iarchive_impl.hpp
+++ /dev/null
@@ -1,105 +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)
-# 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/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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-template<class Archive, class Elem, class Tr>
-class BOOST_SYMBOL_VISIBLE binary_iarchive_impl : 
-    public basic_binary_iprimitive<Archive, Elem, Tr>,
-    public basic_binary_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // for some inexplicable reason insertion of "class" generates compile erro
-        // on msvc 7.1
-        friend detail::interface_iarchive<Archive>;
-        friend basic_binary_iarchive<Archive>;
-        friend load_access;
-    #else
-        friend class detail::interface_iarchive<Archive>;
-        friend class basic_binary_iarchive<Archive>;
-        friend class load_access;
-    #endif
-#endif
-    template<class T>
-    void load_override(T & t){
-        this->basic_binary_iarchive<Archive>::load_override(t);
-    }
-    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/rbgl_trimmed_boost_1_61_0/boost/archive/binary_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_oarchive.hpp
deleted file mode 100644
index e8313fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_oarchive.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 BOOST_SYMBOL_VISIBLE 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)
-    {}
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/archive/binary_oarchive_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_oarchive_impl.hpp
deleted file mode 100644
index 6b4d018..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_oarchive_impl.hpp
+++ /dev/null
@@ -1,106 +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)
-# 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/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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-template<class Archive, class Elem, class Tr>
-class BOOST_SYMBOL_VISIBLE binary_oarchive_impl : 
-    public basic_binary_oprimitive<Archive, Elem, Tr>,
-    public basic_binary_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // for some inexplicable reason insertion of "class" generates compile erro
-        // on msvc 7.1
-        friend detail::interface_oarchive<Archive>;
-        friend basic_binary_oarchive<Archive>;
-        friend save_access;
-    #else
-        friend class detail::interface_oarchive<Archive>;
-        friend class basic_binary_oarchive<Archive>;
-        friend class save_access;
-    #endif
-#endif
-    template<class T>
-    void save_override(T & t){
-        this->basic_binary_oarchive<Archive>::save_override(t);
-    }
-    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/rbgl_trimmed_boost_1_61_0/boost/archive/binary_wiarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_wiarchive.hpp
deleted file mode 100644
index 775d8f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_wiarchive.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-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/rbgl_trimmed_boost_1_61_0/boost/archive/binary_woarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_woarchive.hpp
deleted file mode 100644
index a8817d6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/binary_woarchive.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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)
-    {}
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/archive/codecvt_null.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/codecvt_null.hpp
deleted file mode 100644
index 9cc9e57..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/codecvt_null.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef BOOST_ARCHIVE_CODECVT_NULL_HPP
-#define BOOST_ARCHIVE_CODECVT_NULL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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)
-    {}
-    virtual ~codecvt_null(){};
-};
-
-template<>
-class BOOST_SYMBOL_VISIBLE 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();
-    }
-public:
-    explicit codecvt_null(std::size_t no_locale_manage = 0) :
-        std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage)
-    {}
-    virtual ~codecvt_null(){};
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/abi_prefix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/abi_prefix.hpp
deleted file mode 100644
index debf79e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/abi_prefix.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// abi_prefix.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/abi_prefix.hpp> // must be the last header
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4251 4231 4660 4275)
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/abi_suffix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/abi_suffix.hpp
deleted file mode 100644
index 4e054d6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/abi_suffix.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// abi_suffix.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.
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/archive_serializer_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/archive_serializer_map.hpp
deleted file mode 100644
index 5432bfc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/archive_serializer_map.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef BOOST_ARCHIVE_SERIALIZER_MAP_HPP
-#define BOOST_ARCHIVE_SERIALIZER_MAP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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_SYMBOL_VISIBLE archive_serializer_map {
-public:
-    static BOOST_ARCHIVE_OR_WARCHIVE_DECL bool insert(const basic_serializer * bs);
-    static BOOST_ARCHIVE_OR_WARCHIVE_DECL void erase(const basic_serializer * bs);
-    static BOOST_ARCHIVE_OR_WARCHIVE_DECL 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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/auto_link_archive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/auto_link_archive.hpp
deleted file mode 100644
index 79b0e49..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/auto_link_warchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/auto_link_warchive.hpp
deleted file mode 100644
index 683d191..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_iarchive.hpp
deleted file mode 100644
index 1f5a8bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_iarchive.hpp
+++ /dev/null
@@ -1,105 +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)
-# 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/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/scoped_ptr.hpp>
-
-#include <boost/serialization/tracking_enum.hpp>
-#include <boost/archive/basic_archive.hpp>
-#include <boost/archive/detail/decl.hpp>
-#include <boost/archive/detail/helper_collection.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 basic_iserializer;
-class basic_pointer_iserializer;
-
-//////////////////////////////////////////////////////////////////////
-// class basic_iarchive - read serialized objects from a input stream
-class BOOST_SYMBOL_VISIBLE basic_iarchive :
-    private boost::noncopyable,
-    public boost::archive::detail::helper_collection
-{
-    friend class basic_iarchive_impl;
-    // hide implementation of this class to minimize header conclusion
-    boost::scoped_ptr<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:
-    BOOST_ARCHIVE_DECL basic_iarchive(unsigned int flags);
-    boost::archive::detail::helper_collection &
-    get_helper_collection(){
-        return *this;
-    }
-public:
-    // some msvc versions require that the following function be public
-    // otherwise it should really protected.
-    virtual BOOST_ARCHIVE_DECL ~basic_iarchive();
-    // note: NOT part of the public API.
-    BOOST_ARCHIVE_DECL void next_object_pointer(void *t);
-    BOOST_ARCHIVE_DECL void register_basic_serializer(
-        const basic_iserializer & bis
-    );
-    BOOST_ARCHIVE_DECL void load_object(
-        void *t, 
-        const basic_iserializer & bis
-    );
-    BOOST_ARCHIVE_DECL 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
-    BOOST_ARCHIVE_DECL void 
-    set_library_version(library_version_type archive_library_version);
-    BOOST_ARCHIVE_DECL library_version_type 
-    get_library_version() const;
-    BOOST_ARCHIVE_DECL unsigned int
-    get_flags() const;
-    BOOST_ARCHIVE_DECL void 
-    reset_object_address(const void * new_address, const void * old_address);
-    BOOST_ARCHIVE_DECL void 
-    delete_created_pointers();
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif //BOOST_ARCHIVE_DETAIL_BASIC_IARCHIVE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_iserializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_iserializer.hpp
deleted file mode 100644
index 0d66674..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_iserializer.hpp
+++ /dev/null
@@ -1,91 +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)
-# 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 basic_iarchive;
-class basic_pointer_iserializer;
-
-class BOOST_SYMBOL_VISIBLE basic_iserializer : 
-    public basic_serializer
-{
-private:
-    basic_pointer_iserializer *m_bpis;
-protected:
-    explicit BOOST_ARCHIVE_DECL basic_iserializer(
-        const boost::serialization::extended_type_info & type
-    );
-    virtual BOOST_ARCHIVE_DECL ~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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_oarchive.hpp
deleted file mode 100644
index c379108..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_oarchive.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-#ifndef BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
-#define BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/scoped_ptr.hpp>
-
-#include <boost/archive/basic_archive.hpp>
-#include <boost/serialization/tracking_enum.hpp>
-#include <boost/archive/detail/helper_collection.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 basic_oserializer;
-class basic_pointer_oserializer;
-
-//////////////////////////////////////////////////////////////////////
-// class basic_oarchive - write serialized objects to an output stream
-class BOOST_SYMBOL_VISIBLE basic_oarchive :
-    private boost::noncopyable,
-    public boost::archive::detail::helper_collection
-{
-    friend class basic_oarchive_impl;
-    // hide implementation of this class to minimize header conclusion
-    boost::scoped_ptr<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:
-    BOOST_ARCHIVE_DECL basic_oarchive(unsigned int flags = 0);
-    BOOST_ARCHIVE_DECL boost::archive::detail::helper_collection &
-    get_helper_collection();
-    virtual BOOST_ARCHIVE_DECL ~basic_oarchive();
-public:
-    // note: NOT part of the public interface
-    BOOST_ARCHIVE_DECL void register_basic_serializer(
-        const basic_oserializer & bos
-    );
-    BOOST_ARCHIVE_DECL void save_object(
-        const void *x, 
-        const basic_oserializer & bos
-    );
-    BOOST_ARCHIVE_DECL 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
-    BOOST_ARCHIVE_DECL void end_preamble(); // default implementation does nothing
-    BOOST_ARCHIVE_DECL library_version_type get_library_version() const;
-    BOOST_ARCHIVE_DECL unsigned int get_flags() const;
-};
-
-} // namespace detail
-} // namespace archive
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif //BOOST_ARCHIVE_BASIC_OARCHIVE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_oserializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_oserializer.hpp
deleted file mode 100644
index 94247e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_oserializer.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
-#define BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 basic_oarchive;
-class basic_pointer_oserializer;
-
-class BOOST_SYMBOL_VISIBLE basic_oserializer :
-    public basic_serializer
-{
-private:
-    basic_pointer_oserializer *m_bpos;
-protected:
-    explicit BOOST_ARCHIVE_DECL basic_oserializer(
-        const boost::serialization::extended_type_info & type_
-    );
-    virtual BOOST_ARCHIVE_DECL ~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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_pointer_iserializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_pointer_iserializer.hpp
deleted file mode 100644
index 1fc4b14..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_pointer_iserializer.hpp
+++ /dev/null
@@ -1,70 +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)
-# 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 basic_iarchive;
-class basic_iserializer;
-
-class BOOST_SYMBOL_VISIBLE basic_pointer_iserializer
-    : public basic_serializer {
-protected:
-    explicit BOOST_ARCHIVE_DECL basic_pointer_iserializer(
-        const boost::serialization::extended_type_info & type_
-    );
-    virtual BOOST_ARCHIVE_DECL ~basic_pointer_iserializer();
-public:
-    virtual void * heap_allocation() const = 0;
-    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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_pointer_oserializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_pointer_oserializer.hpp
deleted file mode 100644
index 1a5d954..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_pointer_oserializer.hpp
+++ /dev/null
@@ -1,68 +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)
-# 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 basic_oarchive;
-class basic_oserializer;
-
-class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer : 
-    public basic_serializer
-{
-protected:
-    explicit BOOST_ARCHIVE_DECL basic_pointer_oserializer(
-        const boost::serialization::extended_type_info & type_
-    );
-public:
-    virtual BOOST_ARCHIVE_DECL ~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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_serializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_serializer.hpp
deleted file mode 100644
index f9c4203..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_serializer.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef  BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
-#define BOOST_ARCHIVE_BASIC_SERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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)
-    {}
-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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_serializer_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/basic_serializer_map.hpp
deleted file mode 100644
index 7934180..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/noncopyable.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_SYMBOL_VISIBLE
-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:
-    BOOST_ARCHIVE_DECL bool insert(const basic_serializer * bs);
-    BOOST_ARCHIVE_DECL void erase(const basic_serializer * bs);
-    BOOST_ARCHIVE_DECL 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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/check.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/check.hpp
deleted file mode 100644
index 10034e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 
-        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 
-        typename mpl::or_<
-            typename mpl::greater<
-                serialization::implementation_level< T >,
-                mpl::int_<serialization::object_serializable>
-            >,
-            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 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 
-        typename mpl::or_<
-            typename mpl::greater<
-                serialization::implementation_level< T >,
-                mpl::int_<serialization::object_serializable>
-            >,
-            typename mpl::not_<
-                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 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
-        typename mpl::or_<
-            typename boost::serialization::is_wrapper< T >,
-            typename mpl::not_<
-                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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/common_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/common_iarchive.hpp
deleted file mode 100644
index 82304f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 BOOST_SYMBOL_VISIBLE 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){
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/common_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/common_oarchive.hpp
deleted file mode 100644
index ee42bbe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/common_oarchive.hpp
+++ /dev/null
@@ -1,88 +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)
-# 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 BOOST_SYMBOL_VISIBLE 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){
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/decl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/decl.hpp
deleted file mode 100644
index 4f731cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/decl.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_DECL_HPP
-#define BOOST_ARCHIVE_DETAIL_DECL_HPP 
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif 
-
-/////////1/////////2///////// 3/////////4/////////5/////////6/////////7/////////8
-//  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
-
-//----------------------------------------------------------------------------// 
-
-// This header implements separate compilation features as described in
-// http://www.boost.org/more/separate_compilation.html
-
-#include <boost/config.hpp>
-
-#if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK))
-    #if defined(BOOST_ARCHIVE_SOURCE)
-        #define BOOST_ARCHIVE_DECL BOOST_SYMBOL_EXPORT
-    #else
-        #define BOOST_ARCHIVE_DECL BOOST_SYMBOL_IMPORT
-    #endif
-
-    #if defined(BOOST_WARCHIVE_SOURCE)
-        #define BOOST_WARCHIVE_DECL BOOST_SYMBOL_EXPORT
-    #else
-        #define BOOST_WARCHIVE_DECL BOOST_SYMBOL_IMPORT
-    #endif
-
-    #if defined(BOOST_WARCHIVE_SOURCE) || defined(BOOST_ARCHIVE_SOURCE)
-        #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_EXPORT
-    #else
-        #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_IMPORT
-    #endif
-
-#endif
-
-#if ! defined(BOOST_ARCHIVE_DECL)
-    #define BOOST_ARCHIVE_DECL
-#endif
-#if ! defined(BOOST_WARCHIVE_DECL)
-    #define BOOST_WARCHIVE_DECL
-#endif
-#if ! defined(BOOST_ARCHIVE_OR_WARCHIVE_DECL)
-    #define BOOST_ARCHIVE_OR_WARCHIVE_DECL
-#endif
-
-#endif // BOOST_ARCHIVE_DETAIL_DECL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/helper_collection.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/helper_collection.hpp
deleted file mode 100644
index edb4125..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/helper_collection.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_HELPER_COLLECTION_HPP
-#define BOOST_ARCHIVE_DETAIL_HELPER_COLLECTION_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
-// helper_collection.hpp: archive support for run-time helpers
-
-// (C) Copyright 2002-2008 Robert Ramey and Joaquin M Lopez Munoz
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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 <vector>
-#include <utility>
-#include <memory>
-#include <algorithm>
-
-#include <boost/config.hpp>
-
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared.hpp>
-
-namespace boost {
-
-namespace archive {
-namespace detail {
-
-class helper_collection
-{
-    helper_collection(const helper_collection&);              // non-copyable
-    helper_collection& operator = (const helper_collection&); // non-copyable
-
-    // note: we dont' actually "share" the function object pointer
-    // we only use shared_ptr to make sure that it get's deleted
-
-    typedef std::pair<
-        const void *,
-        boost::shared_ptr<void>
-    > helper_value_type;
-    template<class T>
-    boost::shared_ptr<void> make_helper_ptr(){
-        // use boost::shared_ptr rather than std::shared_ptr to maintain
-        // c++03 compatibility
-        return boost::make_shared<T>();
-    }
-
-    typedef std::vector<helper_value_type> collection;
-    collection m_collection;
-
-    struct predicate {
-        BOOST_DELETED_FUNCTION(predicate & operator=(const predicate & rhs))
-    public:
-        const void * const m_ti;
-        bool operator()(helper_value_type const &rhs) const {
-            return m_ti == rhs.first;
-        }
-        predicate(const void * ti) :
-            m_ti(ti)
-        {}
-    };
-protected:
-    helper_collection(){}
-    ~helper_collection(){}
-public:
-    template<typename Helper>
-    Helper& find_helper(void * const id = 0) {
-        collection::const_iterator it =
-            std::find_if(
-                m_collection.begin(),
-                m_collection.end(),
-                predicate(id)
-            );
-
-        void * rval = 0;
-        if(it == m_collection.end()){
-            m_collection.push_back(
-                std::make_pair(id, make_helper_ptr<Helper>())
-            );
-            rval = m_collection.back().second.get();
-        }
-        else{
-            rval = it->second.get();
-        }
-        return *static_cast<Helper *>(rval);
-    }
-};
-
-} // namespace detail
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_DETAIL_HELPER_COLLECTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/interface_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/interface_iarchive.hpp
deleted file mode 100644
index 4a99e28..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/interface_iarchive.hpp
+++ /dev/null
@@ -1,85 +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)
-# 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/archive/detail/helper_collection.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 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 Helper>
-    Helper &
-    get_helper(void * const id = 0){
-        helper_collection & hc = this->This()->get_helper_collection();
-        return hc.template find_helper<Helper>(id);
-    }
-    
-    template<class T>
-    Archive & operator>>(T & t){
-        this->This()->load_override(t);
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/interface_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/interface_oarchive.hpp
deleted file mode 100644
index 359463e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/interface_oarchive.hpp
+++ /dev/null
@@ -1,87 +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)
-# 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 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 Helper>
-    Helper &
-    get_helper(void * const id = 0){
-        helper_collection & hc = this->This()->get_helper_collection();
-        return hc.template find_helper<Helper>(id);
-    }
-
-    template<class T>
-    Archive & operator<<(const T & t){
-        this->This()->save_override(t);
-        return * this->This();
-    }
-    
-    // the & operator 
-    template<class T>
-    Archive & operator&(const 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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/iserializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/iserializer.hpp
deleted file mode 100644
index 6bec499..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/iserializer.hpp
+++ /dev/null
@@ -1,624 +0,0 @@
-#ifndef BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
-#define BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 <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/core/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>
-
-#ifndef BOOST_MSVC
-    #define DONT_USE_HAS_NEW_OPERATOR (                    \
-           BOOST_WORKAROUND(__IBMCPP__, < 1210)            \
-        || defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x590)   \
-    )
-#else
-    #define DONT_USE_HAS_NEW_OPERATOR 0
-#endif
-
-#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<
-                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
-
-// the purpose of this code is to allocate memory for an object
-// without requiring the constructor to be called.  Presumably
-// the allocated object will be subsequently initialized with
-// "placement new". 
-// note: we have the boost type trait has_new_operator but we
-// have no corresponding has_delete_operator.  So we presume
-// that the former being true would imply that the a delete
-// operator is also defined for the class T.
-
-template<class T>
-struct heap_allocation {
-    // 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_new(){
-            return static_cast<T *>(operator new(sizeof(T)));
-        }
-        static void invoke_delete(T *t){
-            (operator delete(t));
-        }
-    #else
-        // note: we presume that a true value for has_new_operator
-        // implies the existence of a class specific delete operator as well
-        // as a class specific new operator.
-        struct has_new_operator {
-            static T * invoke_new() {
-                return static_cast<T *>((T::operator new)(sizeof(T)));
-            }
-            static void invoke_delete(T * t) {
-                // if compilation fails here, the likely cause that the class
-                // T has a class specific new operator but no class specific
-                // delete operator which matches the following signature.
-                // note that this solution addresses the issue that two
-                // possible signatures.  But it doesn't address the possibility
-                // that the class might have class specific new with NO
-                // class specific delete at all.  Patches (compatible with
-                // C++03) welcome!
-                delete t;
-            }
-        };
-        struct doesnt_have_new_operator {
-            static T* invoke_new() {
-                return static_cast<T *>(operator new(sizeof(T)));
-            }
-            static void invoke_delete(T * t) {
-                // Note: I'm reliance upon automatic conversion from T * to void * here
-                delete t;
-            }
-        };
-        static T * invoke_new() {
-            typedef 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_new();
-        }
-        static void invoke_delete(T *t) {
-            typedef typename
-                mpl::eval_if<
-                    boost::has_new_operator< T >,
-                    mpl::identity<has_new_operator >,
-                    mpl::identity<doesnt_have_new_operator >    
-                >::type typex;
-            typex::invoke_delete(t);
-        }
-    #endif
-    explicit heap_allocation(){
-        m_p = invoke_new();
-    }
-    ~heap_allocation(){
-        if (0 != m_p)
-            invoke_delete(m_p);
-    }
-    T* get() const {
-        return m_p;
-    }
-
-    T* release() {
-        T* p = m_p;
-        m_p = 0;
-        return p;
-    }
-private:
-    T* m_p;
-};
-
-template<class Archive, class T>
-class pointer_iserializer :
-    public basic_pointer_iserializer
-{
-private:
-    virtual void * heap_allocation() const {
-        detail::heap_allocation<T> h;
-        T * t = h.get();
-        h.release();
-        return t;
-    }
-    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: 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 * t,
-    const unsigned int file_version
-) const
-{
-    Archive & ar_impl = 
-        boost::serialization::smart_cast_reference<Archive &>(ar);
-
-    // note that the above will throw std::bad_alloc if the allocation
-    // fails so we don't have to address this contingency here.
-
-    // 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 situation 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,
-            static_cast<T *>(t),
-            file_version
-        );
-    }
-    BOOST_CATCH(...){
-        // if we get here the load_construct failed.  The heap_allocation
-        // will be automatically deleted so we don't have to do anything
-        // special here.
-        BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-
-    ar_impl >> boost::serialization::make_nvp(NULL, * static_cast<T *>(t));
-}
-
-template<class Archive, class T>
-pointer_iserializer<Archive, T>::pointer_iserializer() :
-    basic_pointer_iserializer(
-        boost::serialization::singleton<
-            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 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
-            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
-        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 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
-        void * upcast = const_cast<void *>(
-            boost::serialization::void_upcast(
-                eti,
-                boost::serialization::singleton<
-                    typename 
-                    boost::serialization::type_info_implementation< T >::type
-                >::get_const_instance(),
-                t
-            )
-        );
-        if(NULL == upcast)
-            boost::serialization::throw_exception(
-                archive_exception(archive_exception::unregistered_class)
-            );
-        return static_cast<T *>(upcast);
-    }
-
-    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 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
-        typename mpl::eval_if<is_pointer< T >,
-            mpl::identity<detail::load_pointer_type<Archive> >
-        ,//else
-        typename mpl::eval_if<is_array< T >,
-            mpl::identity<detail::load_array_type<Archive> >
-        ,//else
-        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);
-}
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_DETAIL_ISERIALIZER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/oserializer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/oserializer.hpp
deleted file mode 100644
index 0f2e733..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/oserializer.hpp
+++ /dev/null
@@ -1,532 +0,0 @@
-#ifndef BOOST_ARCHIVE_OSERIALIZER_HPP
-#define BOOST_ARCHIVE_OSERIALIZER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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>
-#include <boost/mpl/bool_fwd.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<
-                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<
-            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 
-            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
-            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
-            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 
-            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
-        ){
-            typename 
-            boost::serialization::type_info_implementation< T >::type const
-            & i = boost::serialization::singleton<
-                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 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 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 
-        typename mpl::eval_if<is_pointer< T >,
-            mpl::identity<detail::save_pointer_type<Archive> >,
-        //else
-        typename mpl::eval_if<is_enum< T >,
-            mpl::identity<detail::save_enum_type<Archive> >,
-        //else
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/polymorphic_iarchive_route.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/polymorphic_iarchive_route.hpp
deleted file mode 100644
index 105685e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/polymorphic_iarchive_route.hpp
+++ /dev/null
@@ -1,218 +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)
-# 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 basic_iserializer;
-class 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);
-    }
-    virtual helper_collection &
-    get_helper_collection(){
-        return ArchiveImplementation::get_helper_collection();
-    }
-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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/polymorphic_oarchive_route.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/polymorphic_oarchive_route.hpp
deleted file mode 100644
index b23fd6b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/polymorphic_oarchive_route.hpp
+++ /dev/null
@@ -1,209 +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)
-# 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 basic_oserializer;
-class 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);
-    }
-    virtual helper_collection &
-    get_helper_collection(){
-        return ArchiveImplementation::get_helper_collection();
-    }
-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/rbgl_trimmed_boost_1_61_0/boost/archive/detail/register_archive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/register_archive.hpp
deleted file mode 100644
index 5ffecc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/register_archive.hpp
+++ /dev/null
@@ -1,91 +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_ARCHIVE_DETAIL_REGISTER_ARCHIVE_DWA2006521_HPP
-# define BOOST_ARCHIVE_DETAIL_REGISTER_ARCHIVE_DWA2006521_HPP
-
-namespace boost { namespace archive { namespace detail { 
-
-// No instantiate_ptr_serialization overloads generated by
-// BOOST_SERIALIZATION_REGISTER_ARCHIVE that lexically follow the call
-// will be seen *unless* they are in an associated namespace of one of
-// the arguments, so we pass one of these along to make sure this
-// namespace is considered.  See temp.dep.candidate (14.6.4.2) in the
-// standard.
-struct adl_tag {};
-
-template <class Archive, class Serializable>
-struct ptr_serialization_support;
-
-// We could've just used ptr_serialization_support, above, but using
-// it with only a forward declaration causes vc6/7 to complain about a
-// missing instantiate member, even if it has one.  This is just a
-// friendly layer of indirection.
-template <class Archive, class Serializable>
-struct _ptr_serialization_support
-  : ptr_serialization_support<Archive,Serializable>
-{
-    typedef int type;
-};
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5130)
-
-template<int N>
-struct counter : counter<N-1> {};
-template<>
-struct counter<0> {};
-
-template<class Serializable>
-void instantiate_ptr_serialization(Serializable* s, int, adl_tag) {
-    instantiate_ptr_serialization(s, counter<20>());
-}
-
-template<class Archive>
-struct get_counter {
-    static const int value = sizeof(adjust_counter(counter<20>()));
-    typedef counter<value> type;
-    typedef counter<value - 1> prior;
-    typedef char (&next)[value+1];
-};
-
-char adjust_counter(counter<0>);
-template<class Serializable>
-void instantiate_ptr_serialization(Serializable*, counter<0>) {}
-
-#define BOOST_SERIALIZATION_REGISTER_ARCHIVE(Archive)                     \
-namespace boost { namespace archive { namespace detail {                  \
-    get_counter<Archive >::next adjust_counter(get_counter<Archive >::type);\
-    template<class Serializable>                                          \
-    void instantiate_ptr_serialization(Serializable* s,                   \
-        get_counter<Archive >::type) {                                    \
-        ptr_serialization_support<Archive, Serializable> x;               \
-        instantiate_ptr_serialization(s, get_counter<Archive >::prior()); \
-    }\
-}}}
-
-
-#else
-
-// This function gets called, but its only purpose is to participate
-// in overload resolution with the functions declared by
-// BOOST_SERIALIZATION_REGISTER_ARCHIVE, below.
-template <class Serializable>
-void instantiate_ptr_serialization(Serializable*, int, adl_tag ) {}
-
-// The function declaration generated by this macro never actually
-// gets called, but its return type gets instantiated, and that's
-// enough to cause registration of serialization functions between
-// Archive and any exported Serializable type.  See also:
-// boost/serialization/export.hpp
-# define BOOST_SERIALIZATION_REGISTER_ARCHIVE(Archive)                  \
-namespace boost { namespace archive { namespace detail {                \
-                                                                        \
-template <class Serializable>                                           \
-typename _ptr_serialization_support<Archive, Serializable>::type  \
-instantiate_ptr_serialization( Serializable*, Archive*, adl_tag );              \
-                                                                        \
-}}}
-#endif
-}}} // namespace boost::archive::detail
-
-#endif // BOOST_ARCHIVE_DETAIL_INSTANTIATE_SERIALIZE_DWA2006521_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/utf8_codecvt_facet.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/utf8_codecvt_facet.hpp
deleted file mode 100644
index dfbec6b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/detail/utf8_codecvt_facet.hpp
+++ /dev/null
@@ -1,34 +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
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP
-#define BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP
-
-#include <boost/config.hpp>
-
-// std::codecvt_utf8 doesn't seem to work for msvc
-// versions prior to MSVC 14.0
-
-#if defined(_MSC_VER) && _MSC_VER < 1900 \
-||  defined( BOOST_NO_CXX11_HDR_CODECVT )
-    #include <boost/archive/detail/decl.hpp>
-    #define BOOST_UTF8_BEGIN_NAMESPACE \
-         namespace boost { namespace archive { namespace detail {
-    #define BOOST_UTF8_DECL BOOST_ARCHIVE_DECL
-    #define BOOST_UTF8_END_NAMESPACE }}}
-
-    #include <boost/detail/utf8_codecvt_facet.hpp>
-
-    #undef BOOST_UTF8_END_NAMESPACE
-    #undef BOOST_UTF8_DECL
-    #undef BOOST_UTF8_BEGIN_NAMESPACE
-#else
-    #include <codecvt>
-    namespace boost { namespace archive { namespace detail {
-        typedef std::codecvt_utf8<wchar_t> utf8_codecvt_facet;
-    } } }
-#endif // BOOST_NO_CXX11_HDR_CODECVT
-#endif // BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/dinkumware.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/dinkumware.hpp
deleted file mode 100644
index 90ba627..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/dinkumware.hpp
+++ /dev/null
@@ -1,224 +0,0 @@
-#ifndef BOOST_ARCHIVE_DINKUMWARE_HPP
-#define BOOST_ARCHIVE_DINKUMWARE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// dinkumware.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 file adds a couple of things that are missing from the dinkumware
-// implementation of the standard library.
-
-#include <iterator>
-#include <string>
-
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-
-namespace std {
-
-// define i/o operators for 64 bit integers
-template<class CharType>
-basic_ostream<CharType> & 
-operator<<(basic_ostream<CharType> & os, boost::uint64_t t){
-    // octal rendering of 64 bit number would be 22 octets + eos
-    CharType d[23];
-    unsigned int radix;
-
-    if(os.flags() & (int)std::ios_base::hex)
-        radix = 16;
-    else
-    if(os.flags() & (int)std::ios_base::oct)
-        radix = 8;
-    else
-    //if(s.flags() & (int)std::ios_base::dec)
-        radix =  10;
-    unsigned int i = 0;
-    do{
-        unsigned int j = t % radix;
-        d[i++] = j + ((j < 10) ? '0' : ('a' - 10));
-        t /= radix;
-    }
-    while(t > 0);
-    d[i--] = '\0';
-
-    // reverse digits
-    unsigned int j = 0;
-    while(j < i){
-        CharType k = d[i];
-        d[i] = d[j];
-        d[j] = k;
-        --i;++j;
-    }
-    os << d;
-    return os;
-
-}
-
-template<class CharType>
-basic_ostream<CharType> & 
-operator<<(basic_ostream<CharType> &os, boost::int64_t t){
-    if(0 <= t){
-        os << static_cast<boost::uint64_t>(t);
-    }
-    else{
-        os.put('-');
-        os << -t;
-    }
-    return os;
-}
-
-template<class CharType>
-basic_istream<CharType> & 
-operator>>(basic_istream<CharType> &is, boost::int64_t & t){
-    CharType d;
-    do{
-        d = is.get();
-    }
-    while(::isspace(d));
-    bool negative = (d == '-');
-    if(negative)
-        d = is.get();
-    unsigned int radix;
-    if(is.flags() & (int)std::ios_base::hex)
-        radix = 16;
-    else
-    if(is.flags() & (int)std::ios_base::oct)
-        radix = 8;
-    else
-    //if(s.flags() & (int)std::ios_base::dec)
-        radix =  10;
-    t = 0;
-    do{
-        if('0' <= d && d <= '9')
-            t = t * radix + (d - '0');
-        else
-        if('a' <= d && d <= 'f')
-            t = t * radix + (d - 'a' + 10);
-        else
-            break;
-        d = is.get();
-    }
-    while(!is.fail());
-    // restore the delimiter
-    is.putback(d);
-    is.clear();
-    if(negative)
-        t = -t;
-    return is;
-}
-
-template<class CharType>
-basic_istream<CharType> & 
-operator>>(basic_istream<CharType> &is, boost::uint64_t & t){
-    boost::int64_t it;
-    is >> it;
-    t = it;
-    return is;
-}
-
-//#endif
-
-template<>
-class back_insert_iterator<basic_string<char> > : public 
-    iterator<output_iterator_tag, char>
-{
-public:
-    typedef basic_string<char> container_type;
-    typedef container_type::reference reference;
-
-    explicit back_insert_iterator(container_type & s)
-        : container(& s)
-    {}    // construct with container
-    
-    back_insert_iterator<container_type> & operator=(
-        container_type::const_reference Val_
-    ){    // push value into container
-        //container->push_back(Val_);
-        *container += Val_;
-        return (*this);
-    }
-
-    back_insert_iterator<container_type> & operator*(){
-        return (*this);
-    }
-
-    back_insert_iterator<container_type> & operator++(){
-        // pretend to preincrement
-        return (*this);
-    }
-
-    back_insert_iterator<container_type> operator++(int){
-        // pretend to postincrement
-        return (*this);
-    }
-
-protected:
-    container_type *container;    // pointer to container
-};
-
-template<char> 
-inline back_insert_iterator<basic_string<char> > back_inserter(
-    basic_string<char> & s
-){
-    return (std::back_insert_iterator<basic_string<char> >(s));
-}
-
-template<>
-class back_insert_iterator<basic_string<wchar_t> > : public 
-    iterator<output_iterator_tag, wchar_t>
-{
-public:
-    typedef basic_string<wchar_t> container_type;
-    typedef container_type::reference reference;
-
-    explicit back_insert_iterator(container_type & s)
-        : container(& s)
-    {}    // construct with container
-    
-    back_insert_iterator<container_type> & operator=(
-        container_type::const_reference Val_
-    ){    // push value into container
-        //container->push_back(Val_);
-        *container += Val_;
-        return (*this);
-    }
-
-    back_insert_iterator<container_type> & operator*(){
-        return (*this);
-    }
-
-    back_insert_iterator<container_type> & operator++(){
-        // pretend to preincrement
-        return (*this);
-    }
-
-    back_insert_iterator<container_type> operator++(int){
-        // pretend to postincrement
-        return (*this);
-    }
-
-protected:
-    container_type *container;    // pointer to container
-};
-
-template<wchar_t> 
-inline back_insert_iterator<basic_string<wchar_t> > back_inserter(
-    basic_string<wchar_t> & s
-){
-    return (std::back_insert_iterator<basic_string<wchar_t> >(s));
-}
-
-} // namespace std
-
-#endif //BOOST_ARCHIVE_DINKUMWARE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/archive_serializer_map.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/archive_serializer_map.ipp
deleted file mode 100644
index 8dabf0d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_iarchive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_iarchive.ipp
deleted file mode 100644
index d5619ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_iarchive.ipp
+++ /dev/null
@@ -1,134 +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>
-#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){
-    std::string cn;
-    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
-    load_override(cn);
-    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(void){
-    // read signature in an archive version independent manner
-    std::string file_signature;
-    
-    #if 0 // commented out since it interfers with derivation
-    BOOST_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);
-        }
-    }
-    BOOST_CATCH(archive_exception const &) {  // catch stream_error archive exceptions
-        // will cause invalid_signature archive exception to be thrown below
-        file_signature = "";   
-    }
-    BOOST_CATCH_END
-    #else
-    // https://svn.boost.org/trac/boost/ticket/7301
-    * this->This() >> file_signature;
-    #endif
-
-    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
-    detail::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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_iprimitive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_iprimitive.ipp
deleted file mode 100644
index 7082b00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_iprimitive.ipp
+++ /dev/null
@@ -1,171 +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/serialization/throw_exception.hpp>
-#include <boost/core/no_exceptions_support.hpp>
-#include <boost/archive/archive_exception.hpp>
-#include <boost/archive/basic_binary_iprimitive.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
-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),
-    codecvt_null_facet(1),
-    locale_saver(m_sb),
-    archive_locale(sb.getloc(), & codecvt_null_facet)
-{
-    if(! no_codecvt){
-        m_sb.pubsync();
-        m_sb.pubimbue(archive_locale);
-    }
-}
-#else
-    m_sb(sb)
-{}
-#endif
-
-// 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
-basic_binary_iprimitive<Archive, Elem, Tr>::~basic_binary_iprimitive(){}
-
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_oarchive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_oarchive.ipp
deleted file mode 100644
index d5a019d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_oarchive.ipp
+++ /dev/null
@@ -1,42 +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>
-#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>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL void
-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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_oprimitive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_oprimitive.ipp
deleted file mode 100644
index 130831e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_binary_oprimitive.ipp
+++ /dev/null
@@ -1,124 +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/archive/basic_binary_oprimitive.hpp>
-#include <boost/core/no_exceptions_support.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
-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),
-    codecvt_null_facet(1),
-    locale_saver(m_sb),
-    archive_locale(sb.getloc(), & codecvt_null_facet)
-{
-    if(! no_codecvt){
-        m_sb.pubsync();
-        m_sb.pubimbue(archive_locale);
-    }
-}
-#else
-    m_sb(sb)
-{}
-#endif
-
-// 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
-basic_binary_oprimitive<Archive, Elem, Tr>::~basic_binary_oprimitive(){}
-
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_iarchive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_iarchive.ipp
deleted file mode 100644
index 9ec8c65..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_iarchive.ipp
+++ /dev/null
@@ -1,76 +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>
-#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){
-    std::string cn;
-    cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE);
-    load_override(cn);
-    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
-    detail::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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_iprimitive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_iprimitive.ipp
deleted file mode 100644
index 4e44728..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_iprimitive.ipp
+++ /dev/null
@@ -1,137 +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, NULL
-#include <limits> // 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/archive/basic_text_iprimitive.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 detail {
-    template<class CharType>
-    static inline bool is_whitespace(CharType c);
-
-    template<>
-    inline bool is_whitespace(char t){
-        return 0 != std::isspace(t);
-    }
-
-    #ifndef BOOST_NO_CWCHAR
-    template<>
-    inline bool is_whitespace(wchar_t t){
-        return 0 != std::iswspace(t);
-    }
-    #endif
-} // detail
-
-// 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 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 typename
-        iterators::transform_width<
-            iterators::binary_from_base64<
-                iterators::remove_whitespace<
-                    iterators::istream_iterator<CharType>
-                >
-                ,typename IStream::int_type
-            >
-            ,8
-            ,6
-            ,CharType
-        > 
-        binary;
-        
-    binary i = binary(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>(*i++);
-    }
-
-    // skip over any excess input
-    for(;;){
-        typename IStream::int_type r;
-        r = is.get();
-        if(is.eof())
-            break;
-        if(detail::is_whitespace(static_cast<CharType>(r)))
-            break;
-    }
-}
-    
-template<class IStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL
-basic_text_iprimitive<IStream>::basic_text_iprimitive(
-    IStream  &is_,
-    bool no_codecvt
-) :
-    is(is_),
-    flags_saver(is_),
-    precision_saver(is_),
-#ifndef BOOST_NO_STD_LOCALE
-    codecvt_null_facet(1),
-    archive_locale(is.getloc(), & codecvt_null_facet),
-    locale_saver(is)
-{
-    if(! no_codecvt){
-        is_.sync();
-        is_.imbue(archive_locale);
-    }
-    is_ >> std::noboolalpha;
-}
-#else
-{}
-#endif
-
-template<class IStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL
-basic_text_iprimitive<IStream>::~basic_text_iprimitive(){
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_oarchive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_oarchive.ipp
deleted file mode 100644
index 44bc140..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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>
-#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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_oprimitive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_oprimitive.ipp
deleted file mode 100644
index 6030fd4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_text_oprimitive.ipp
+++ /dev/null
@@ -1,115 +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 <algorithm> // std::copy
-#include <exception> // std::uncaught_exception
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#include <boost/archive/basic_text_oprimitive.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 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
-                >
-            > 
-            ,76
-            ,const char // cwpro8 needs this
-        > 
-        base64_text;
-
-    boost::archive::iterators::ostream_iterator<CharType> oi(os);
-    std::copy(
-        base64_text(static_cast<const char *>(address)),
-        base64_text(
-            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
-basic_text_oprimitive<OStream>::basic_text_oprimitive(
-    OStream & os_,
-    bool no_codecvt
-) : 
-    os(os_),
-    flags_saver(os_),
-    precision_saver(os_),
-#ifndef BOOST_NO_STD_LOCALE
-    codecvt_null_facet(1),
-    archive_locale(os.getloc(), & codecvt_null_facet),
-    locale_saver(os)
-{
-    if(! no_codecvt){
-        os_.flush();
-        os_.imbue(archive_locale);
-    }
-    os_ << std::noboolalpha;
-}
-#else
-{}
-#endif
-
-
-template<class OStream>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL
-basic_text_oprimitive<OStream>::~basic_text_oprimitive(){
-    if(std::uncaught_exception())
-        return;
-    os << std::endl;
-}
-
-} //namespace boost 
-} //namespace archive 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_grammar.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_grammar.hpp
deleted file mode 100644
index 6d4e468..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_grammar.hpp
+++ /dev/null
@@ -1,173 +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)
-# 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>
-
-#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 typename std::basic_istream<CharType> IStream;
-    typedef typename std::basic_string<CharType> StringType;
-    typedef typename boost::spirit::classic::chset<CharType> chset_t;
-    typedef typename boost::spirit::classic::chlit<CharType> chlit_t;
-    typedef typename boost::spirit::classic::scanner<
-        typename  std::basic_string<CharType>::iterator
-    > scanner_t;
-    typedef 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);
-    bool windup(IStream & is);
-    basic_xml_grammar();
-};
-
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_BASIC_XML_GRAMMAR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_iarchive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_iarchive.ipp
deleted file mode 100644
index 625458b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_iarchive.ipp
+++ /dev/null
@@ -1,115 +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){
-    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){
-    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){
-    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){
-    t = this->This()->gimpl->rv.tracking_level;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL
-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
-basic_xml_iarchive<Archive>::~basic_xml_iarchive(){
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_oarchive.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_oarchive.ipp
deleted file mode 100644
index 3184413..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/basic_xml_oarchive.ipp
+++ /dev/null
@@ -1,272 +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/core/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 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 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)
-{
-    // 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
-){
-    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)
-{
-    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)
-{
-    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
-){
-    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
-){
-    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)
-{
-    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)
-{
-    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 void
-basic_xml_oarchive<Archive>::windup(){
-    // xml_trailer
-    this->This()->put("</boost_serialization>\n");
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL
-basic_xml_oarchive<Archive>::basic_xml_oarchive(unsigned int flags) :
-    detail::common_oarchive<Archive>(flags),
-    depth(0),
-    pending_preamble(false),
-    indent_next(false)
-{
-}
-
-template<class Archive>
-BOOST_ARCHIVE_OR_WARCHIVE_DECL
-basic_xml_oarchive<Archive>::~basic_xml_oarchive(){
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_iarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_iarchive_impl.ipp
deleted file mode 100644
index ae4e275..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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){
-    basic_text_iarchive<Archive>::load_override(t);
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL void
-text_iarchive_impl<Archive>::init(){
-    basic_text_iarchive<Archive>::init();
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL 
-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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_oarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_oarchive_impl.ipp
deleted file mode 100644
index 37d8664..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_oarchive_impl.ipp
+++ /dev/null
@@ -1,122 +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 <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/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 
-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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_wiarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_wiarchive_impl.ipp
deleted file mode 100644
index 12af2b9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 
-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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_woarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/text_woarchive_impl.ipp
deleted file mode 100644
index 2b6d427..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_iarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_iarchive_impl.ipp
deleted file mode 100644
index efc32e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_iarchive_impl.ipp
+++ /dev/null
@@ -1,199 +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
-#include <exception>
-
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::memcpy;
-} // namespace std
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-#include <cwchar> // mbstate_t and mbrtowc
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::mbstate_t;
-    using ::mbrtowc;
- } // 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/core/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);
-    std::mbstate_t mbs = std::mbstate_t();
-    const char * start = s.data();
-    const char * end = start + s.size();
-    while(start < end){
-        wchar_t wc;
-        std::size_t count = std::mbrtowc(&wc, start, end - start, &mbs);
-        if(count == static_cast<std::size_t>(-1))
-            boost::serialization::throw_exception(
-                iterators::dataflow_exception(
-                    iterators::dataflow_exception::invalid_conversion
-                )
-            );
-        if(count == static_cast<std::size_t>(-2))
-            continue;
-        start += count;
-        ws += wc;
-    }
-}
-#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
-            )
-        );
-        
-    std::mbstate_t mbs = std::mbstate_t();
-    const char * start = s.data();
-    const char * end = start + s.size();
-    while(start < end){
-        wchar_t wc;
-        std::size_t length = std::mbrtowc(&wc, start, end - start, &mbs);
-        if(static_cast<std::size_t>(-1) == length)
-            boost::serialization::throw_exception(
-                iterators::dataflow_exception(
-                    iterators::dataflow_exception::invalid_conversion
-                )
-            );
-        if(static_cast<std::size_t>(-2) == length)
-            continue;
-
-        start += length;
-        *ws++ = wc;
-    }
-    *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){
-    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
-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))
-        init();
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL
-xml_iarchive_impl<Archive>::~xml_iarchive_impl(){
-    if(std::uncaught_exception())
-        return;
-    if(0 == (this->get_flags() & no_header)){
-        gimpl->windup(is);
-    }
-}
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_oarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_oarchive_impl.ipp
deleted file mode 100644
index 5ebd454..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_oarchive_impl.ipp
+++ /dev/null
@@ -1,142 +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> // std::copy
-#include <string>
-#include <exception>
-
-#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(begin),
-        translator(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(s.data()),
-        xml_escape_translator(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(s),
-        xml_escape_translator(s + std::strlen(s)),
-        boost::archive::iterators::ostream_iterator<char>(os)
-    );
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL
-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();
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL void
-xml_oarchive_impl<Archive>::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;
-}
-
-template<class Archive>
-BOOST_ARCHIVE_DECL
-xml_oarchive_impl<Archive>::~xml_oarchive_impl(){
-    if(std::uncaught_exception())
-        return;
-    if(0 == (this->get_flags() & no_header))
-        this->windup();
-}
-
-} // namespace archive
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_wiarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_wiarchive_impl.ipp
deleted file mode 100644
index ee66c12..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_wiarchive_impl.ipp
+++ /dev/null
@@ -1,189 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_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 <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> // std::copy
-#include <exception> // uncaught exception
-#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/core/no_exceptions_support.hpp>
-#include <boost/serialization/string.hpp>
-
-#include <boost/archive/basic_xml_archive.hpp>
-#include <boost/archive/xml_wiarchive.hpp>
-
-#include <boost/archive/xml_archive_exception.hpp>
-#include <boost/archive/iterators/mb_from_wchar.hpp>
-
-#include <boost/archive/detail/utf8_codecvt_facet.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>(
-            ws.begin()
-        ), 
-        iterators::mb_from_wchar<std::wstring::const_iterator>(
-            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>(
-            ws.begin()
-        ), 
-        iterators::mb_from_wchar<std::wstring::iterator>(
-            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){
-    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
-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)){
-        std::locale l = std::locale(
-            is_.getloc(),
-            new boost::archive::detail::utf8_codecvt_facet
-        );
-        // libstdc++ crashes without this
-        is_.sync();
-        is_.imbue(l);
-    }
-    if(0 == (flags & no_header))
-        init();
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL
-xml_wiarchive_impl<Archive>::~xml_wiarchive_impl(){
-    if(std::uncaught_exception())
-        return;
-    if(0 == (this->get_flags() & no_header)){
-        gimpl->windup(is);
-    }
-}
-
-} // namespace archive
-} // namespace boost
-
-#endif  // BOOST_NO_STD_WSTREAMBUF
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_woarchive_impl.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_woarchive_impl.ipp
deleted file mode 100644
index 58f92c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/impl/xml_woarchive_impl.ipp
+++ /dev/null
@@ -1,169 +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> // std::copy
-#include <locale>
-#include <exception>
-
-#include <cstring> // strlen
-#include <cstdlib> // mbtowc
-#include <cwchar>  // wcslen
-
-#include <boost/config.hpp>
-#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/archive/xml_woarchive.hpp>
-#include <boost/archive/detail/utf8_codecvt_facet.hpp>
-
-#include <boost/serialization/throw_exception.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>
-
-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(begin),
-        xmbtows(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(ws.begin()),
-        xmbtows(ws.end()),
-        boost::archive::iterators::ostream_iterator<wchar_t>(os)
-    );
-#endif
-    typedef iterators::xml_escape<const wchar_t *> xmbtows;
-    std::copy(
-        xmbtows(ws.data()),
-        xmbtows(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(ws),
-        xmbtows(ws + std::wcslen(ws)),
-        boost::archive::iterators::ostream_iterator<wchar_t>(os)
-    );
-}
-#endif
-
-template<class Archive>
-BOOST_WARCHIVE_DECL
-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)
-{
-    if(0 == (flags & no_codecvt)){
-        std::locale l = std::locale(
-            os_.getloc(),
-            new boost::archive::detail::utf8_codecvt_facet
-        );
-        os_.flush();
-        os_.imbue(l);
-    }
-    if(0 == (flags & no_header))
-        this->init();
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL
-xml_woarchive_impl<Archive>::~xml_woarchive_impl(){
-    if(std::uncaught_exception())
-        return;
-    if(0 == (this->get_flags() & no_header)){
-        save(L"</boost_serialization>\n");
-    }
-}
-
-template<class Archive>
-BOOST_WARCHIVE_DECL void
-xml_woarchive_impl<Archive>::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;
-}
-
-} // namespace archive
-} // namespace boost
-
-#endif //BOOST_NO_STD_WSTREAMBUF
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/base64_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/base64_exception.hpp
deleted file mode 100644
index 8f9208b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/base64_exception.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_BASE64_EXCEPTION_HPP
-#define BOOST_ARCHIVE_ITERATORS_BASE64_EXCEPTION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// base64_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 <boost/config.hpp>
-#ifndef BOOST_NO_EXCEPTIONS
-#include <exception>
-
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace archive {
-namespace iterators {
-
-//////////////////////////////////////////////////////////////////////
-// exceptions thrown by base64s
-//
-class base64_exception : public std::exception
-{
-public:
-    typedef enum {
-        invalid_code,       // attempt to encode a value > 6 bits
-        invalid_character,  // decode a value not in base64 char set
-        other_exception
-    } exception_code;
-    exception_code code;
-
-    base64_exception(exception_code c = other_exception) : code(c)
-    {}
-
-    virtual const char *what( ) const throw( )
-    {
-        const char *msg = "unknown exception code";
-        switch(code){
-        case invalid_code:
-            msg = "attempt to encode a value > 6 bits";
-            break;
-        case invalid_character:
-            msg = "attempt to decode a value not in base64 char set";
-            break;
-        default:
-            BOOST_ASSERT(false);
-            break;
-        }
-        return msg;
-    }
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif //BOOST_NO_EXCEPTIONS
-#endif //BOOST_ARCHIVE_ITERATORS_ARCHIVE_EXCEPTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/base64_from_binary.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/base64_from_binary.hpp
deleted file mode 100644
index 00c4e10..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/base64_from_binary.hpp
+++ /dev/null
@@ -1,109 +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)
-# 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
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#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 = 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 = typename Base::value_type>
-template<
-    class Base, 
-    class CharType = 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<
-        typename detail::from_6_bit<CharType>,
-        Base
-    > super_t;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    base64_from_binary(T start) :
-        super_t(
-            Base(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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/binary_from_base64.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/binary_from_base64.hpp
deleted file mode 100644
index 2eb7828..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/binary_from_base64.hpp
+++ /dev/null
@@ -1,118 +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)
-# 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/serialization/throw_exception.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, 0,-1,-1, // render '=' as 0
-            -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 = 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 = 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(T  start) :
-        super_t(
-            Base(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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/dataflow.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/dataflow.hpp
deleted file mode 100644
index 07733d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/dataflow.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_DATAFLOW_HPP
-#define BOOST_ARCHIVE_ITERATORS_DATAFLOW_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// dataflow.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/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/int.hpp>
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-// poor man's tri-state
-struct tri_state {
-    enum state_enum {
-        is_false = false,
-        is_true = true,
-        is_indeterminant
-    } m_state;
-    // convert to bool
-    operator bool (){
-        BOOST_ASSERT(is_indeterminant != m_state);
-        return is_true == m_state ? true : false;
-    }
-    // assign from bool
-    tri_state & operator=(bool rhs) {
-        m_state = rhs ? is_true : is_false;
-        return *this;
-    }
-    tri_state(bool rhs) :
-        m_state(rhs ? is_true : is_false)
-    {}
-    tri_state(state_enum state) :
-        m_state(state)
-    {}
-    bool operator==(const tri_state & rhs) const {
-        return m_state == rhs.m_state;
-    }
-    bool operator!=(const tri_state & rhs) const {
-        return m_state != rhs.m_state;
-    }
-};
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implement functions common to dataflow iterators
-template<class Derived>
-class dataflow {
-    bool m_eoi;
-protected:
-    // test for iterator equality
-    tri_state equal(const Derived & rhs) const {
-        if(m_eoi && rhs.m_eoi)
-            return true;
-        if(m_eoi || rhs.m_eoi)
-            return false;
-        return tri_state(tri_state::is_indeterminant);
-    }
-    void eoi(bool tf){
-        m_eoi = tf;
-    }
-    bool eoi() const {
-        return m_eoi;
-    }
-public:
-    dataflow(bool tf) :
-        m_eoi(tf)
-    {}
-    dataflow() : // used for iterator end
-        m_eoi(true)
-    {}
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_DATAFLOW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/dataflow_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/dataflow_exception.hpp
deleted file mode 100644
index e3e1860..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/dataflow_exception.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_DATAFLOW_EXCEPTION_HPP
-#define BOOST_ARCHIVE_ITERATORS_DATAFLOW_EXCEPTION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// dataflow_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 <boost/config.hpp>
-#ifndef BOOST_NO_EXCEPTIONS
-#include <exception>
-#endif //BOOST_NO_EXCEPTIONS
-
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace archive {
-namespace iterators {
-
-//////////////////////////////////////////////////////////////////////
-// exceptions thrown by dataflows
-//
-class dataflow_exception : public std::exception
-{
-public:
-    typedef enum {
-        invalid_6_bitcode,
-        invalid_base64_character,
-        invalid_xml_escape_sequence,
-        comparison_not_permitted,
-        invalid_conversion,
-        other_exception
-    } exception_code;
-    exception_code code;
-
-    dataflow_exception(exception_code c = other_exception) : code(c)
-    {}
-
-    virtual const char *what( ) const throw( )
-    {
-        const char *msg = "unknown exception code";
-        switch(code){
-        case invalid_6_bitcode:
-            msg = "attempt to encode a value > 6 bits";
-            break;
-        case invalid_base64_character:
-            msg = "attempt to decode a value not in base64 char set";
-            break;
-        case invalid_xml_escape_sequence:
-            msg = "invalid xml escape_sequence";
-            break;
-        case comparison_not_permitted:
-            msg = "cannot invoke iterator comparison now";
-            break;
-        case invalid_conversion:
-            msg = "invalid multbyte/wide char conversion";
-            break;
-        default:
-            BOOST_ASSERT(false);
-            break;
-        }
-        return msg;
-    }
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif //BOOST_ARCHIVE_ITERATORS_DATAFLOW_EXCEPTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/escape.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/escape.hpp
deleted file mode 100644
index a1fee91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/escape.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_ESCAPE_HPP
-#define BOOST_ARCHIVE_ITERATORS_ESCAPE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// 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 <cstddef> // NULL
-
-#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 escapes into text
-
-template<class Derived, class Base>
-class escape : 
-    public boost::iterator_adaptor<
-        Derived, 
-        Base, 
-        typename boost::iterator_value<Base>::type,
-        single_pass_traversal_tag,
-        typename boost::iterator_value<Base>::type
-    >
-{
-    typedef typename boost::iterator_value<Base>::type base_value_type;
-    typedef typename boost::iterator_reference<Base>::type reference_type;
-    friend class boost::iterator_core_access;
-
-    typedef typename boost::iterator_adaptor<
-        Derived, 
-        Base, 
-        base_value_type,
-        single_pass_traversal_tag,
-        base_value_type
-    > super_t;
-
-    typedef escape<Derived, Base> this_t;
-
-    void dereference_impl() {
-        m_current_value = static_cast<Derived *>(this)->fill(m_bnext, m_bend);
-        m_full = true;
-    }
-
-    //Access the value referred to 
-    reference_type dereference() const {
-        if(!m_full)
-            const_cast<this_t *>(this)->dereference_impl();
-        return m_current_value;
-    }
-
-    bool equal(const this_t & rhs) const {
-        if(m_full){
-            if(! rhs.m_full)
-                const_cast<this_t *>(& rhs)->dereference_impl();
-        }
-        else{
-            if(rhs.m_full)
-                const_cast<this_t *>(this)->dereference_impl();
-        }
-        if(m_bnext != rhs.m_bnext)
-            return false;
-        if(this->base_reference() != rhs.base_reference())
-            return false;
-        return true;
-    }
-
-   void increment(){
-        if(++m_bnext < m_bend){
-            m_current_value = *m_bnext;
-            return;
-        }
-        ++(this->base_reference());
-        m_bnext = NULL;
-        m_bend = NULL;
-        m_full = false;
-    }
-
-    // buffer to handle pending characters
-    const base_value_type *m_bnext;
-    const base_value_type *m_bend;
-    bool m_full;
-    base_value_type m_current_value;
-public:
-    escape(Base base) : 
-        super_t(base),
-        m_bnext(NULL),
-        m_bend(NULL),
-        m_full(false)
-    {
-    }
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_ESCAPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/insert_linebreaks.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/insert_linebreaks.hpp
deleted file mode 100644
index 2504b03..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/insert_linebreaks.hpp
+++ /dev/null
@@ -1,99 +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)
-# 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>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ using ::memcpy; }
-#endif
-
-#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 = 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(T  start) :
-        super_t(Base(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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/istream_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/istream_iterator.hpp
deleted file mode 100644
index 9a1d555..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/istream_iterator.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_ISTREAM_ITERATOR_HPP
-#define BOOST_ARCHIVE_ITERATORS_ISTREAM_ITERATOR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// istream_iterator.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.
-
-// note: this is a custom version of the standard istream_iterator.
-// This is necessary as the standard version doesn't work as expected
-// for wchar_t based streams on systems for which wchar_t not a true
-// type but rather a synonym for some integer type.
-
-#include <cstddef> // NULL
-#include <istream>
-#include <boost/iterator/iterator_facade.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-// given a type, make an input iterator based on a pointer to that type
-template<class Elem = char>
-class istream_iterator :  
-    public boost::iterator_facade<
-        istream_iterator<Elem>,
-        Elem,
-        std::input_iterator_tag,
-        Elem
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef istream_iterator this_t ;
-    typedef typename boost::iterator_facade<
-        istream_iterator<Elem>,
-        Elem,
-        std::input_iterator_tag,
-        Elem
-    > super_t;
-    typedef typename std::basic_istream<Elem> istream_type;
- 
-    bool equal(const this_t & rhs) const {
-        // note: only  works for comparison against end of stream
-        return m_istream == rhs.m_istream;
-    }
-
-    //Access the value referred to 
-    Elem dereference() const {
-        return m_istream->peek();
-    }
-
-    void increment(){
-        if(NULL != m_istream){
-            m_istream->ignore(1);
-        }
-    }
-
-    istream_type *m_istream;
-    Elem m_current_value;
-public:
-    istream_iterator(istream_type & is) :
-        m_istream(& is)
-    {
-        //increment();
-    }
-
-    istream_iterator() :
-        m_istream(NULL)
-    {}
-
-    istream_iterator(const istream_iterator<Elem> & rhs) :
-        m_istream(rhs.m_istream),
-        m_current_value(rhs.m_current_value)
-    {}
-
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_ISTREAM_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/mb_from_wchar.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/mb_from_wchar.hpp
deleted file mode 100644
index d5110de..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/mb_from_wchar.hpp
+++ /dev/null
@@ -1,137 +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)
-# 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 <cwchar> //  mbstate_t
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::mbstate_t;
-} // namespace std
-#endif
-#include <boost/archive/detail/utf8_codecvt_facet.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 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();
-        const wchar_t *wend;
-        char *bend;
-        std::codecvt_base::result r = m_codecvt_facet.out(
-            m_mbs,
-            & value, & value + 1, wend,
-            m_buffer, m_buffer + sizeof(m_buffer), bend
-        );
-        BOOST_ASSERT(std::codecvt_base::ok == r);
-        m_bnext = 0;
-        m_bend = bend - m_buffer;
-    }
-
-    void increment(){
-        if(++m_bnext < m_bend)
-            return;
-        m_bend = 
-        m_bnext = 0;
-        ++(this->base_reference());
-        m_full = false;
-    }
-
-    boost::archive::detail::utf8_codecvt_facet m_codecvt_facet;
-    std::mbstate_t m_mbs;
-    // buffer to handle pending characters
-    char m_buffer[9 /* MB_CUR_MAX */];
-    std::size_t m_bend;
-    std::size_t m_bnext;
-    bool m_full;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    mb_from_wchar(T start) :
-        super_t(Base(static_cast< T >(start))),
-        m_mbs(std::mbstate_t()),
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/ostream_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/ostream_iterator.hpp
deleted file mode 100644
index 49a9b99..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/ostream_iterator.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_OSTREAM_ITERATOR_HPP
-#define BOOST_ARCHIVE_ITERATORS_OSTREAM_ITERATOR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// ostream_iterator.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.
-
-// note: this is a custom version of the standard ostream_iterator.
-// This is necessary as the standard version doesn't work as expected
-// for wchar_t based streams on systems for which wchar_t not a true
-// type but rather a synonym for some integer type.
-
-#include <ostream>
-#include <boost/iterator/iterator_facade.hpp>
-
-namespace boost { 
-namespace archive {
-namespace iterators {
-
-// given a type, make an input iterator based on a pointer to that type
-template<class Elem>
-class ostream_iterator :  
-    public boost::iterator_facade<
-        ostream_iterator<Elem>,
-        Elem,
-        std::output_iterator_tag,
-        ostream_iterator<Elem> &
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef ostream_iterator this_t ;
-    typedef Elem char_type;
-    typedef std::basic_ostream<char_type> ostream_type;
-
-    //emulate the behavior of std::ostream 
-    ostream_iterator & dereference() const {
-        return const_cast<ostream_iterator &>(*this);
-    }
-    bool equal(const this_t & rhs) const {
-        return m_ostream == rhs.m_ostream;
-    }
-    void increment(){}
-protected:
-    ostream_type *m_ostream;
-    void put_val(char_type e){
-        if(NULL != m_ostream){
-            m_ostream->put(e);
-            if(! m_ostream->good())
-                m_ostream = NULL;
-        }
-    }
-public:
-    this_t & operator=(char_type c){
-        put_val(c);
-        return *this;
-    }
-    ostream_iterator(ostream_type & os) :
-        m_ostream (& os)
-    {}
-    ostream_iterator() :
-        m_ostream (NULL)
-    {}
-    ostream_iterator(const ostream_iterator & rhs) :
-        m_ostream (rhs.m_ostream)
-    {}
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_OSTREAM_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/remove_whitespace.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/remove_whitespace.hpp
deleted file mode 100644
index c3580ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/remove_whitespace.hpp
+++ /dev/null
@@ -1,167 +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)
-# 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/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/filter_iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-// 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
-
-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 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 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<
-            typename boost::iterator_value<Base>::type
-            //typename Base::value_type
-        >,
-        Base
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef filter_iterator<
-        remove_whitespace_predicate<
-            typename boost::iterator_value<Base>::type
-            //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(T start) :
-        super_t(Base(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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/transform_width.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/transform_width.hpp
deleted file mode 100644
index d042560..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/transform_width.hpp
+++ /dev/null
@@ -1,176 +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)
-# 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 <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-#include <algorithm> // std::min
-
-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 = 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 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 typename iterator_value<Base>::type base_value_type;
-
-    void fill();
-
-    CharType dereference() const {
-        if(!m_buffer_out_full)
-            const_cast<this_t *>(this)->fill();
-        return m_buffer_out;
-    }
-
-    bool equal_impl(const this_t & rhs){
-        if(BitsIn < BitsOut) // discard any left over bits
-            return this->base_reference() == rhs.base_reference();
-        else{
-            // BitsIn > BitsOut  // zero fill
-            if(this->base_reference() == rhs.base_reference()){
-                m_end_of_sequence = true;
-                return 0 == m_remaining_bits;
-            }
-            return false;
-        }
-    }
-
-    // standard iterator interface
-    bool equal(const this_t & rhs) const {
-        return const_cast<this_t *>(this)->equal_impl(rhs);
-    }
-
-    void increment(){
-        m_buffer_out_full = false;
-    }
-
-    bool m_buffer_out_full;
-    CharType m_buffer_out;
-
-    // last read element from input
-    base_value_type m_buffer_in;
-
-    // number of bits to left in the input buffer.
-    unsigned int m_remaining_bits;
-
-    // flag to indicate we've reached end of data.
-    bool m_end_of_sequence;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    transform_width(T start) : 
-        super_t(Base(static_cast< T >(start))),
-        m_buffer_out_full(false),
-        // To disable GCC warning, but not truly necessary 
-	    //(m_buffer_in will be initialized later before being 
-	    //used because m_remaining_bits == 0)
-        m_buffer_in(0), 
-        m_remaining_bits(0),
-        m_end_of_sequence(false)
-    {}
-    // intel 7.1 doesn't like default copy constructor
-    transform_width(const transform_width & rhs) : 
-        super_t(rhs.base_reference()),
-        m_buffer_out_full(rhs.m_buffer_out_full),
-        m_buffer_out(rhs.m_buffer_out),
-        m_buffer_in(rhs.m_buffer_in),
-        m_remaining_bits(rhs.m_remaining_bits),
-        m_end_of_sequence(false)
-    {}
-};
-
-template<
-    class Base, 
-    int BitsOut, 
-    int BitsIn, 
-    class CharType
->
-void transform_width<Base, BitsOut, BitsIn, CharType>::fill() {
-    unsigned int missing_bits = BitsOut;
-    m_buffer_out = 0;
-    do{
-        if(0 == m_remaining_bits){
-            if(m_end_of_sequence){
-                m_buffer_in = 0;
-                m_remaining_bits = missing_bits;
-            }
-            else{
-                m_buffer_in = * this->base_reference()++;
-                m_remaining_bits = BitsIn;
-            }
-        }
-
-        // append these bits to the next output
-        // up to the size of the output
-        unsigned int i = (std::min)(missing_bits, m_remaining_bits);
-        // shift interesting bits to least significant position
-        base_value_type j = m_buffer_in >> (m_remaining_bits - i);
-        // and mask off the un interesting higher bits
-        // note presumption of twos complement notation
-        j &= (1 << i) - 1;
-        // append then interesting bits to the output value
-        m_buffer_out <<= i;
-        m_buffer_out |= j;
-
-        // and update counters
-        missing_bits -= i;
-        m_remaining_bits -= i;
-    }while(0 < missing_bits);
-    m_buffer_out_full = true;
-}
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_TRANSFORM_WIDTH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/unescape.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/unescape.hpp
deleted file mode 100644
index abf6240..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/unescape.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_UNESCAPE_HPP
-#define BOOST_ARCHIVE_ITERATORS_UNESCAPE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// 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/iterator/iterator_adaptor.hpp>
-#include <boost/pointee.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 Derived, class Base>
-class unescape 
-    : public boost::iterator_adaptor<
-        unescape<Derived, Base>,
-        Base, 
-        typename pointee<Base>::type,
-        single_pass_traversal_tag,
-        typename pointee<Base>::type
-    >
-{
-    friend class boost::iterator_core_access;
-    typedef typename boost::iterator_adaptor<
-        unescape<Derived, Base>, 
-        Base, 
-        typename pointee<Base>::type,
-        single_pass_traversal_tag,
-        typename pointee<Base>::type
-    > super_t;
-
-    typedef unescape<Derived, Base> this_t;
-public:
-    typedef typename this_t::value_type value_type;
-    typedef typename this_t::reference reference;
-private:
-    value_type dereference_impl() {
-        if(! m_full){
-            m_current_value = static_cast<Derived *>(this)->drain();
-            m_full = true;
-        }
-        return m_current_value;
-    }
-
-    reference dereference() const {
-        return const_cast<this_t *>(this)->dereference_impl();
-    }
-
-    value_type m_current_value;
-    bool m_full;
-
-    void increment(){
-        ++(this->base_reference());
-        dereference_impl();
-        m_full = false;
-    };
-
-public:
-
-    unescape(Base base) : 
-        super_t(base),
-        m_full(false)
-    {}
-
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_UNESCAPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/wchar_from_mb.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/wchar_from_mb.hpp
deleted file mode 100644
index 52a44bd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/wchar_from_mb.hpp
+++ /dev/null
@@ -1,192 +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)
-# 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 <cwchar>  // mbstate_t
-#include <algorithm> // copy
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::mbstate_t;
-} // namespace std
-#endif
-#include <boost/array.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/archive/detail/utf8_codecvt_facet.hpp>
-#include <boost/archive/iterators/dataflow_exception.hpp>
-#include <boost/serialization/throw_exception.hpp>
-
-#include <iostream>
-
-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 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;
-
-    void drain();
-
-    wchar_t dereference() const {
-        if(m_output.m_next == m_output.m_next_available)
-            return static_cast<wchar_t>(0);
-        return * m_output.m_next;
-    }
-
-    void increment(){
-        if(m_output.m_next == m_output.m_next_available)
-            return;
-        if(++m_output.m_next == m_output.m_next_available){
-            if(m_input.m_done)
-                return;
-            drain();
-        }
-    }
-
-    bool equal(this_t const & rhs) const {
-        return dereference() == rhs.dereference();
-    }
-
-    boost::archive::detail::utf8_codecvt_facet m_codecvt_facet;
-    std::mbstate_t m_mbs;
-
-    template<typename T>
-    struct sliding_buffer {
-        boost::array<T, 32> m_buffer;
-        typename boost::array<T, 32>::const_iterator m_next_available;
-        typename boost::array<T, 32>::iterator m_next;
-        bool m_done;
-        // default ctor
-        sliding_buffer() :
-            m_next_available(m_buffer.begin()),
-            m_next(m_buffer.begin()),
-            m_done(false)
-        {}
-        // copy ctor
-        sliding_buffer(const sliding_buffer & rhs) :
-            m_next_available(
-                std::copy(
-                    rhs.m_buffer.begin(),
-                    rhs.m_next_available,
-                    m_buffer.begin()
-                )
-            ),
-            m_next(
-                m_buffer.begin() + (rhs.m_next - rhs.m_buffer.begin())
-            ),
-            m_done(rhs.m_done)
-        {}
-    };
-
-    sliding_buffer<typename iterator_value<Base>::type> m_input;
-    sliding_buffer<typename iterator_value<this_t>::type> m_output;
-
-public:
-    // make composible buy using templated constructor
-    template<class T>
-    wchar_from_mb(T start) : 
-        super_t(Base(static_cast< T >(start))),
-        m_mbs(std::mbstate_t())
-    {
-        BOOST_ASSERT(std::mbsinit(&m_mbs));
-        drain();
-    }
-    // default constructor used as an end iterator
-    wchar_from_mb(){}
-
-    // copy ctor
-    wchar_from_mb(const wchar_from_mb & rhs) :
-        super_t(rhs.base_reference()),
-        m_mbs(rhs.m_mbs),
-        m_input(rhs.m_input),
-        m_output(rhs.m_output)
-    {}
-};
-
-template<class Base>
-void wchar_from_mb<Base>::drain(){
-    BOOST_ASSERT(! m_input.m_done);
-    for(;;){
-        typename boost::iterators::iterator_reference<Base>::type c = *(this->base_reference());
-        // a null character in a multibyte stream is takes as end of string
-        if(0 == c){
-            m_input.m_done = true;
-            break;
-        }
-        ++(this->base_reference());
-        * const_cast<typename iterator_value<Base>::type *>(
-            (m_input.m_next_available++)
-        ) = c;
-        // if input buffer is full - we're done for now
-        if(m_input.m_buffer.end() == m_input.m_next_available)
-            break;
-    }
-    const typename boost::iterators::iterator_value<Base>::type * input_new_start;
-    typename iterator_value<this_t>::type * next_available;
-
-    std::codecvt_base::result r = m_codecvt_facet.in(
-        m_mbs,
-        m_input.m_buffer.begin(),
-        m_input.m_next_available,
-        input_new_start,
-        m_output.m_buffer.begin(),
-        m_output.m_buffer.end(),
-        next_available
-    );
-    BOOST_ASSERT(std::codecvt_base::ok == r);
-    m_output.m_next_available = next_available;
-    m_output.m_next = m_output.m_buffer.begin();
-
-    // we're done with some of the input so shift left.
-    m_input.m_next_available = std::copy(
-        input_new_start,
-        m_input.m_next_available,
-        m_input.m_buffer.begin()
-    );
-    m_input.m_next = m_input.m_buffer.begin();
-}
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif // BOOST_ARCHIVE_ITERATORS_WCHAR_FROM_MB_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_escape.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_escape.hpp
deleted file mode 100644
index c838a73..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_escape.hpp
+++ /dev/null
@@ -1,121 +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)
-# 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/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(T start) :
-        super_t(Base(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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_unescape.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_unescape.hpp
deleted file mode 100644
index 6997740..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_unescape.hpp
+++ /dev/null
@@ -1,125 +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)
-# 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/serialization/throw_exception.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 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 typename this_t::value_type value_type;
-    #endif
-
-    void drain_residue(const char *literal);
-    value_type drain();
-
-    template<class T>
-    xml_unescape(T start) : 
-        super_t(Base(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>
-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/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_unescape_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_unescape_exception.hpp
deleted file mode 100644
index 71a6437..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/iterators/xml_unescape_exception.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_EXCEPTION_HPP
-#define BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_EXCEPTION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// xml_unescape_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 <boost/config.hpp>
-#ifndef BOOST_NO_EXCEPTIONS
-#include <exception>
-
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace archive {
-namespace iterators {
-
-//////////////////////////////////////////////////////////////////////
-// exceptions thrown by xml_unescapes
-//
-class xml_unescape_exception : public std::exception
-{
-public:
-    xml_unescape_exception()
-    {}
-
-    virtual const char *what( ) const throw( )
-    {
-        return "xml contained un-recognized escape code";
-    }
-};
-
-} // namespace iterators
-} // namespace archive
-} // namespace boost
-
-#endif //BOOST_NO_EXCEPTIONS
-#endif //BOOST_ARCHIVE_ITERATORS_XML_UNESCAPE_EXCEPTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_binary_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_binary_iarchive.hpp
deleted file mode 100644
index 4a898a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<binary_iarchive>
-{
-public:
-    polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_binary_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_binary_oarchive.hpp
deleted file mode 100644
index 931b243..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<
-        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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_iarchive.hpp
deleted file mode 100644
index d3c59a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_iarchive.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/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 {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail {
-    class basic_iarchive;
-    class basic_iserializer;
-}
-
-class polymorphic_iarchive;
-
-class BOOST_SYMBOL_VISIBLE 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;
-    virtual detail::helper_collection & get_helper_collection() = 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)
-    {
-        archive::load(* this->This(), t);
-    }
-    // special treatment for name-value pairs.
-    template<class T>
-    void load_override(
-        const boost::serialization::nvp< T > & t
-    ){
-        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
-
-namespace boost {
-namespace archive {
-
-class BOOST_SYMBOL_VISIBLE polymorphic_iarchive :
-    public polymorphic_iarchive_impl
-{
-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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_oarchive.hpp
deleted file mode 100644
index edac4ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_oarchive.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
-#define BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/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 {
-namespace serialization {
-    class extended_type_info;
-} // namespace serialization
-namespace archive {
-namespace detail {
-    class basic_oarchive;
-    class basic_oserializer;
-}
-
-class polymorphic_oarchive;
-
-class BOOST_SYMBOL_VISIBLE 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 detail::helper_collection & get_helper_collection() = 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)
-    {
-        archive::save(* this->This(), t);
-    }
-    // special treatment for name-value pairs.
-    template<class T>
-    void save_override(
-            const ::boost::serialization::nvp< T > & t
-        ){
-        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 BOOST_SYMBOL_VISIBLE 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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_iarchive.hpp
deleted file mode 100644
index 7bef292..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<text_iarchive>
-{
-public:
-    polymorphic_text_iarchive(std::istream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_oarchive.hpp
deleted file mode 100644
index 457aad9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_wiarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_wiarchive.hpp
deleted file mode 100644
index 8466f05..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<text_wiarchive>
-{
-public:
-    polymorphic_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_woarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_text_woarchive.hpp
deleted file mode 100644
index 295625d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_iarchive.hpp
deleted file mode 100644
index 4dc3f89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<xml_iarchive>
-{
-public:
-    polymorphic_xml_iarchive(std::istream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_oarchive.hpp
deleted file mode 100644
index 514f9e5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_wiarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_wiarchive.hpp
deleted file mode 100644
index d4ab731..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<xml_wiarchive>
-{
-public:
-    polymorphic_xml_wiarchive(std::wistream & is, unsigned int flags = 0) :
-        detail::polymorphic_iarchive_route<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/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_woarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/polymorphic_xml_woarchive.hpp
deleted file mode 100644
index dd8963f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<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/rbgl_trimmed_boost_1_61_0/boost/archive/text_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_iarchive.hpp
deleted file mode 100644
index d9d60ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_iarchive.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE text_iarchive_impl :
-    public basic_text_iprimitive<std::istream>,
-    public basic_text_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_iarchive<Archive>;
-    friend class load_access;
-#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
-    template<class T>
-    void load_override(T & t){
-        basic_text_iarchive<Archive>::load_override(t);
-    }
-    BOOST_ARCHIVE_DECL void
-    load_override(class_name_type & t);
-    BOOST_ARCHIVE_DECL void
-    init();
-    BOOST_ARCHIVE_DECL 
-    text_iarchive_impl(std::istream & is, unsigned int flags);
-    // don't import inline definitions! leave this as a reminder.
-    //BOOST_ARCHIVE_DECL 
-    ~text_iarchive_impl(){};
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class BOOST_SYMBOL_VISIBLE text_iarchive : 
-    public text_iarchive_impl<text_iarchive>{
-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/rbgl_trimmed_boost_1_61_0/boost/archive/text_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_oarchive.hpp
deleted file mode 100644
index 9ba0daf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_oarchive.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE text_oarchive_impl :
-     /* protected ? */ public basic_text_oprimitive<std::ostream>,
-     public basic_text_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_text_oarchive<Archive>;
-    friend class save_access;
-#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 
-    text_oarchive_impl(std::ostream & os, unsigned int flags);
-    // don't import inline definitions! leave this as a reminder.
-    //BOOST_ARCHIVE_DECL 
-    ~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 BOOST_SYMBOL_VISIBLE 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(){}
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/archive/text_wiarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_wiarchive.hpp
deleted file mode 100644
index 3adf068..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_wiarchive.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE text_wiarchive_impl :
-    public basic_text_iprimitive<std::wistream>,
-    public basic_text_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // for some inexplicable reason insertion of "class" generates compile erro
-        // on msvc 7.1
-        friend detail::interface_iarchive<Archive>;
-        friend load_access;
-    #else
-        friend class detail::interface_iarchive<Archive>;
-        friend class load_access;
-    #endif
-#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
-    template<class T>
-    void load_override(T & t){
-        basic_text_iarchive<Archive>::load_override(t);
-    }
-    BOOST_WARCHIVE_DECL 
-    text_wiarchive_impl(std::wistream & is, unsigned int flags);
-    ~text_wiarchive_impl(){};
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class BOOST_SYMBOL_VISIBLE text_wiarchive : 
-    public text_wiarchive_impl<text_wiarchive>{
-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/rbgl_trimmed_boost_1_61_0/boost/archive/text_woarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_woarchive.hpp
deleted file mode 100644
index b6b4f8e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/text_woarchive.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-#ifndef BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE text_woarchive_impl :
-    public basic_text_oprimitive<std::wostream>,
-    public basic_text_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    #if BOOST_WORKAROUND(BOOST_MSVC, < 1500)
-        // for some inexplicable reason insertion of "class" generates compile erro
-        // on msvc 7.1
-        friend detail::interface_oarchive<Archive>;
-        friend basic_text_oarchive<Archive>;
-        friend save_access;
-    #else
-        friend class detail::interface_oarchive<Archive>;
-        friend class basic_text_oarchive<Archive>;
-        friend class save_access;
-    #endif
-#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 BOOST_SYMBOL_VISIBLE 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(){}
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/archive/tmpdir.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/tmpdir.hpp
deleted file mode 100644
index 400d23b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/tmpdir.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef BOOST_ARCHIVE_TMPDIR_HPP
-#define BOOST_ARCHIVE_TMPDIR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// tmpdir.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> // getenv
-#include <cstddef> // NULL
-//#include <boost/assert.hpp>
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std {
-    using ::getenv;
-}
-#endif
-
-namespace boost {
-namespace archive {
-
-inline const char * tmpdir(){
-    const char *dirname;
-    dirname = std::getenv("TMP");
-    if(NULL == dirname)
-        dirname = std::getenv("TMPDIR");
-    if(NULL == dirname)
-        dirname = std::getenv("TEMP");
-    if(NULL == dirname){
-        //BOOST_ASSERT(false); // no temp directory found
-        dirname = ".";
-    }
-    return dirname;
-}
-
-} // archive
-} // boost
-
-#endif // BOOST_ARCHIVE_TMPDIR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/wcslen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/wcslen.hpp
deleted file mode 100644
index 2a3d635..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/wcslen.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_ARCHIVE_WCSLEN_HPP
-#define BOOST_ARCHIVE_WCSLEN_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// wcslen.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>
-#if defined(BOOST_NO_STDC_NAMESPACE)
-namespace std{ 
-    using ::size_t; 
-} // namespace std
-#endif
-
-#ifndef BOOST_NO_CWCHAR
-
-// a couple of libraries which include wchar_t don't include
-// wcslen
-
-#if defined(BOOST_DINKUMWARE_STDLIB) && BOOST_DINKUMWARE_STDLIB < 306 \
-|| defined(__LIBCOMO__) 
-
-namespace std {
-inline std::size_t wcslen(const wchar_t * ws)
-{
-    const wchar_t * eows = ws;
-    while(* eows != 0)
-        ++eows;
-    return eows - ws;
-}
-} // namespace std
-
-#else
-
-#include <cwchar>
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::wcslen; }
-#endif
-
-#endif // wcslen
-
-#endif //BOOST_NO_CWCHAR
-
-#endif //BOOST_ARCHIVE_WCSLEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_archive_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_archive_exception.hpp
deleted file mode 100644
index 82c53ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_archive_exception.hpp
+++ /dev/null
@@ -1,57 +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)
-# 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/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_SYMBOL_VISIBLE 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;
-    BOOST_ARCHIVE_DECL xml_archive_exception(
-        exception_code c, 
-        const char * e1 = NULL,
-        const char * e2 = NULL
-    );
-    BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ;
-    virtual BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ;
-};
-
-}// 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/rbgl_trimmed_boost_1_61_0/boost/archive/xml_iarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_iarchive.hpp
deleted file mode 100644
index abd2f9f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_iarchive.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_IARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_IARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-template<class CharType>
-class basic_xml_grammar;
-typedef basic_xml_grammar<char> xml_grammar;
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : 
-    public basic_text_iprimitive<std::istream>,
-    public basic_xml_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_xml_iarchive<Archive>;
-    friend class load_access;
-#endif
-    // use boost:scoped_ptr to implement automatic deletion;
-    boost::scoped_ptr<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){
-        basic_xml_iarchive<Archive>::load_override(t);
-    }
-    BOOST_ARCHIVE_DECL void
-    load_override(class_name_type & t);
-    BOOST_ARCHIVE_DECL void
-    init();
-    BOOST_ARCHIVE_DECL 
-    xml_iarchive_impl(std::istream & is, unsigned int flags);
-    BOOST_ARCHIVE_DECL
-    ~xml_iarchive_impl();
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class BOOST_SYMBOL_VISIBLE xml_iarchive : 
-    public xml_iarchive_impl<xml_iarchive>{
-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/rbgl_trimmed_boost_1_61_0/boost/archive/xml_oarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_oarchive.hpp
deleted file mode 100644
index eea1268..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_oarchive.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_OARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_OARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : 
-    public basic_text_oprimitive<std::ostream>,
-    public basic_xml_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_xml_oarchive<Archive>;
-    friend class save_access;
-#endif
-    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 
-    xml_oarchive_impl(std::ostream & os, unsigned int flags);
-    BOOST_ARCHIVE_DECL 
-    ~xml_oarchive_impl();
-public:
-    BOOST_ARCHIVE_DECL
-    void save_binary(const void *address, std::size_t count);
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-// 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 BOOST_SYMBOL_VISIBLE 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(){}
-};
-
-} // namespace archive
-} // namespace boost
-
-// required by export
-BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive)
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_wiarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_wiarchive.hpp
deleted file mode 100644
index ac24289..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_wiarchive.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_WIARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_WIARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/smart_ptr/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/utf8_codecvt_facet.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 {
-
-namespace detail {
-    template<class Archive> class interface_iarchive;
-} // namespace detail
-
-template<class CharType>
-class basic_xml_grammar;
-typedef basic_xml_grammar<wchar_t> xml_wgrammar;
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : 
-    public basic_text_iprimitive<std::wistream>,
-    public basic_xml_iarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_iarchive<Archive>;
-    friend class basic_xml_iarchive<Archive>;
-    friend class load_access;
-#endif
-    boost::scoped_ptr<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){
-        basic_xml_iarchive<Archive>::load_override(t);
-    }
-    BOOST_WARCHIVE_DECL void
-    load_override(class_name_type & t);
-    BOOST_WARCHIVE_DECL void 
-    init();
-    BOOST_WARCHIVE_DECL 
-    xml_wiarchive_impl(std::wistream & is, unsigned int flags) ;
-    BOOST_WARCHIVE_DECL 
-    ~xml_wiarchive_impl();
-};
-
-} // namespace archive
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#  pragma warning(pop) 
-#endif
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable : 4511 4512)
-#endif
-
-namespace boost { 
-namespace archive {
-
-class BOOST_SYMBOL_VISIBLE xml_wiarchive :
-    public xml_wiarchive_impl<xml_wiarchive>{
-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/rbgl_trimmed_boost_1_61_0/boost/archive/xml_woarchive.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_woarchive.hpp
deleted file mode 100644
index cb7ce68..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/archive/xml_woarchive.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef BOOST_ARCHIVE_XML_WOARCHIVE_HPP
-#define BOOST_ARCHIVE_XML_WOARCHIVE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/smart_ptr/scoped_ptr.hpp>
-#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/utf8_codecvt_facet.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 {
-
-namespace detail {
-    template<class Archive> class interface_oarchive;
-} // namespace detail
-
-template<class Archive>
-class BOOST_SYMBOL_VISIBLE xml_woarchive_impl :
-    public basic_text_oprimitive<std::wostream>,
-    public basic_xml_oarchive<Archive>
-{
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-protected:
-    friend class detail::interface_oarchive<Archive>;
-    friend class basic_xml_oarchive<Archive>;
-    friend class save_access;
-#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 
-    xml_woarchive_impl(std::wostream & os, unsigned int flags);
-    BOOST_WARCHIVE_DECL
-    ~xml_woarchive_impl();
-public:
-    BOOST_WARCHIVE_DECL void
-    save_binary(const void *address, std::size_t count);
-
-};
-
-// 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 BOOST_SYMBOL_VISIBLE 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(){}
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/array.hpp
deleted file mode 100644
index fa06fa9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/array.hpp
+++ /dev/null
@@ -1,446 +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)
- *
- * 14 Apr 2012 - (mtc) Added support for boost::hash
- * 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 <boost/functional/hash_fwd.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_MSG( i < N, "out of range" );
-            return elems[i];
-        }
-        
-        const_reference operator[](size_type i) const 
-        {     
-            BOOST_ASSERT_MSG( 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
-
-
-    template<class T, std::size_t N>
-    std::size_t hash_value(const array<T,N>& arr)
-    {
-        return boost::hash_range(arr.begin(), arr.end());
-    }
-
-} /* namespace boost */
-
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
-# pragma warning(pop)  
-#endif 
-
-#endif /*BOOST_ARRAY_HPP*/
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/asio.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/asio.hpp
deleted file mode 100644
index 67658a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/asio.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-// asio.hpp
-// ~~~~~~~~
-//
-// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot 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 www.boost.org/libs/asio for documentation.
-//
-
-#ifndef BOOST_ASIO_HPP
-#define BOOST_ASIO_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/basic_datagram_socket.hpp>
-#include <boost/asio/basic_deadline_timer.hpp>
-#include <boost/asio/basic_io_object.hpp>
-#include <boost/asio/basic_raw_socket.hpp>
-#include <boost/asio/basic_seq_packet_socket.hpp>
-#include <boost/asio/basic_serial_port.hpp>
-#include <boost/asio/basic_signal_set.hpp>
-#include <boost/asio/basic_socket_acceptor.hpp>
-#include <boost/asio/basic_socket_iostream.hpp>
-#include <boost/asio/basic_socket_streambuf.hpp>
-#include <boost/asio/basic_stream_socket.hpp>
-#include <boost/asio/basic_streambuf.hpp>
-#include <boost/asio/basic_waitable_timer.hpp>
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/buffered_read_stream_fwd.hpp>
-#include <boost/asio/buffered_read_stream.hpp>
-#include <boost/asio/buffered_stream_fwd.hpp>
-#include <boost/asio/buffered_stream.hpp>
-#include <boost/asio/buffered_write_stream_fwd.hpp>
-#include <boost/asio/buffered_write_stream.hpp>
-#include <boost/asio/buffers_iterator.hpp>
-#include <boost/asio/completion_condition.hpp>
-#include <boost/asio/connect.hpp>
-#include <boost/asio/coroutine.hpp>
-#include <boost/asio/datagram_socket_service.hpp>
-#include <boost/asio/deadline_timer_service.hpp>
-#include <boost/asio/deadline_timer.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/generic/basic_endpoint.hpp>
-#include <boost/asio/generic/datagram_protocol.hpp>
-#include <boost/asio/generic/raw_protocol.hpp>
-#include <boost/asio/generic/seq_packet_protocol.hpp>
-#include <boost/asio/generic/stream_protocol.hpp>
-#include <boost/asio/handler_alloc_hook.hpp>
-#include <boost/asio/handler_continuation_hook.hpp>
-#include <boost/asio/handler_invoke_hook.hpp>
-#include <boost/asio/handler_type.hpp>
-#include <boost/asio/io_service.hpp>
-#include <boost/asio/ip/address.hpp>
-#include <boost/asio/ip/address_v4.hpp>
-#include <boost/asio/ip/address_v6.hpp>
-#include <boost/asio/ip/basic_endpoint.hpp>
-#include <boost/asio/ip/basic_resolver.hpp>
-#include <boost/asio/ip/basic_resolver_entry.hpp>
-#include <boost/asio/ip/basic_resolver_iterator.hpp>
-#include <boost/asio/ip/basic_resolver_query.hpp>
-#include <boost/asio/ip/host_name.hpp>
-#include <boost/asio/ip/icmp.hpp>
-#include <boost/asio/ip/multicast.hpp>
-#include <boost/asio/ip/resolver_query_base.hpp>
-#include <boost/asio/ip/resolver_service.hpp>
-#include <boost/asio/ip/tcp.hpp>
-#include <boost/asio/ip/udp.hpp>
-#include <boost/asio/ip/unicast.hpp>
-#include <boost/asio/ip/v6_only.hpp>
-#include <boost/asio/is_read_buffered.hpp>
-#include <boost/asio/is_write_buffered.hpp>
-#include <boost/asio/local/basic_endpoint.hpp>
-#include <boost/asio/local/connect_pair.hpp>
-#include <boost/asio/local/datagram_protocol.hpp>
-#include <boost/asio/local/stream_protocol.hpp>
-#include <boost/asio/placeholders.hpp>
-#include <boost/asio/posix/basic_descriptor.hpp>
-#include <boost/asio/posix/basic_stream_descriptor.hpp>
-#include <boost/asio/posix/descriptor_base.hpp>
-#include <boost/asio/posix/stream_descriptor.hpp>
-#include <boost/asio/posix/stream_descriptor_service.hpp>
-#include <boost/asio/raw_socket_service.hpp>
-#include <boost/asio/read.hpp>
-#include <boost/asio/read_at.hpp>
-#include <boost/asio/read_until.hpp>
-#include <boost/asio/seq_packet_socket_service.hpp>
-#include <boost/asio/serial_port.hpp>
-#include <boost/asio/serial_port_base.hpp>
-#include <boost/asio/serial_port_service.hpp>
-#include <boost/asio/signal_set.hpp>
-#include <boost/asio/signal_set_service.hpp>
-#include <boost/asio/socket_acceptor_service.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/strand.hpp>
-#include <boost/asio/stream_socket_service.hpp>
-#include <boost/asio/streambuf.hpp>
-#include <boost/asio/time_traits.hpp>
-#include <boost/asio/version.hpp>
-#include <boost/asio/wait_traits.hpp>
-#include <boost/asio/waitable_timer_service.hpp>
-#include <boost/asio/windows/basic_handle.hpp>
-#include <boost/asio/windows/basic_object_handle.hpp>
-#include <boost/asio/windows/basic_random_access_handle.hpp>
-#include <boost/asio/windows/basic_stream_handle.hpp>
-#include <boost/asio/windows/object_handle.hpp>
-#include <boost/asio/windows/object_handle_service.hpp>
-#include <boost/asio/windows/overlapped_ptr.hpp>
-#include <boost/asio/windows/random_access_handle.hpp>
-#include <boost/asio/windows/random_access_handle_service.hpp>
-#include <boost/asio/windows/stream_handle.hpp>
-#include <boost/asio/windows/stream_handle_service.hpp>
-#include <boost/asio/write.hpp>
-#include <boost/asio/write_at.hpp>
-
-#endif // BOOST_ASIO_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/assert.hpp
deleted file mode 100644
index 9650d7a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/assert.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-//  boost/assert.hpp - BOOST_ASSERT(expr)
-//                     BOOST_ASSERT_MSG(expr, msg)
-//                     BOOST_VERIFY(expr)
-//                     BOOST_VERIFY_MSG(expr, msg)
-//                     BOOST_ASSERT_IS_VOID
-//
-//  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-//  Copyright (c) 2007, 2014 Peter Dimov
-//  Copyright (c) Beman Dawes 2011
-//  Copyright (c) 2015 Ion Gaztanaga
-//
-//  Distributed under the 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/assert/assert.html for documentation.
-//
-
-//
-// Stop inspect complaining about use of 'assert':
-//
-// boostinspect:naassert_macro
-//
-
-//
-// BOOST_ASSERT, BOOST_ASSERT_MSG, BOOST_ASSERT_IS_VOID
-//
-
-#undef BOOST_ASSERT
-#undef BOOST_ASSERT_MSG
-#undef BOOST_ASSERT_IS_VOID
-
-#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) )
-
-# define BOOST_ASSERT(expr) ((void)0)
-# define BOOST_ASSERT_MSG(expr, msg) ((void)0)
-# define BOOST_ASSERT_IS_VOID
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) )
-
-#include <boost/config.hpp> // for BOOST_LIKELY
-#include <boost/current_function.hpp>
-
-namespace boost
-{
-    void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined
-    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(expr) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-#define BOOST_ASSERT_MSG(expr, msg) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed_msg(#expr, msg, 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)
-# define BOOST_ASSERT_MSG(expr, msg) assert((expr)&&(msg))
-#if defined(NDEBUG)
-# define BOOST_ASSERT_IS_VOID
-#endif
-
-#endif
-
-//
-// BOOST_VERIFY, BOOST_VERIFY_MSG
-//
-
-#undef BOOST_VERIFY
-#undef BOOST_VERIFY_MSG
-
-#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
-
-# define BOOST_VERIFY(expr) ((void)(expr))
-# define BOOST_VERIFY_MSG(expr, msg) ((void)(expr))
-
-#else
-
-# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)
-# define BOOST_VERIFY_MSG(expr, msg) BOOST_ASSERT_MSG(expr,msg)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/assign.hpp
deleted file mode 100644
index fffb7ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/atomic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/atomic.hpp
deleted file mode 100644
index cc28b1a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/atomic.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef BOOST_ATOMIC_HPP
-#define BOOST_ATOMIC_HPP
-
-//  Copyright (c) 2011 Helge Bahmann
-//
-//  Distributed under the 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 includes all Boost.Atomic public headers
-
-#include <boost/atomic/atomic.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/bimap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bimap.hpp
deleted file mode 100644
index 51d726d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/bimap.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Boost.Bimap
-//
-// Copyright (c) 2006-2007 Matias Capeletto
-//
-// Distributed under the Boost 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/bimap for documentation.
-
-// Convenience header
-
-#include <boost/bimap/bimap.hpp>
-
-namespace boost
-{
-    using ::boost::bimaps::bimap;
-}
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind.hpp
deleted file mode 100644
index 450120c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/bind.hpp
+++ /dev/null
@@ -1,41 +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, 2015 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>
-
-#ifndef BOOST_BIND_NO_PLACEHOLDERS
-
-#if defined(BOOST_CLANG)
-# pragma clang diagnostic push
-# if  __has_warning("-Wheader-hygiene")
-#  pragma clang diagnostic ignored "-Wheader-hygiene"
-# endif
-#endif
-
-using namespace boost::placeholders;
-
-#if defined(BOOST_CLANG)
-# pragma clang diagnostic pop
-#endif
-
-#endif // #ifndef BOOST_BIND_NO_PLACEHOLDERS
-
-#endif // #ifndef BOOST_BIND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/bind/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/apply.hpp
deleted file mode 100644
index 6a43a89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/arg.hpp
deleted file mode 100644
index a74b829..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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>
-#include <boost/static_assert.hpp>
-
-namespace boost
-{
-
-template< int I > struct arg
-{
-    BOOST_CONSTEXPR arg()
-    {
-    }
-
-    template< class T > BOOST_CONSTEXPR arg( T const & /* t */ )
-    {
-        BOOST_STATIC_ASSERT( I == is_placeholder<T>::value );
-    }
-};
-
-template< int I > BOOST_CONSTEXPR 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/rbgl_trimmed_boost_1_61_0/boost/bind/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind.hpp
deleted file mode 100644
index f793551..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind.hpp
+++ /dev/null
@@ -1,2256 +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>
-#include <boost/core/enable_if.hpp>
-#include <boost/core/is_same.hpp>
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-#include <utility> // std::forward
-#endif
-
-// 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
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-template< class A1 > class rrlist1
-{
-private:
-
-    A1 & a1_; // not A1&& because of msvc-10.0
-
-public:
-
-    explicit rrlist1( A1 & a1 ): a1_( a1 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); } // not static_cast because of g++ 4.9
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( 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 A1, class A2 > class rrlist2
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-
-public:
-
-    rrlist2( A1 & a1, A2 & a2 ): a1_( a1 ), a2_( a2 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( 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 A1, class A2, class A3 > class rrlist3
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-
-public:
-
-    rrlist3( A1 & a1, A2 & a2, A3 & a3 ): a1_( a1 ), a2_( a2 ), a3_( a3 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( 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 A1, class A2, class A3, class A4 > class rrlist4
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-    A4 & a4_;
-
-public:
-
-    rrlist4( A1 & a1, A2 & a2, A3 & a3, A4 & a4 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( 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 A1, class A2, class A3, class A4, class A5 > class rrlist5
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-    A4 & a4_;
-    A5 & a5_;
-
-public:
-
-    rrlist5( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( 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 A1, class A2, class A3, class A4, class A5, class A6 > class rrlist6
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-    A4 & a4_;
-    A5 & a5_;
-    A6 & a6_;
-
-public:
-
-    rrlist6( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( 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 A1, class A2, class A3, class A4, class A5, class A6, class A7 > class rrlist7
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-    A4 & a4_;
-    A5 & a5_;
-    A6 & a6_;
-    A7 & a7_;
-
-public:
-
-    rrlist7( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
-    A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
-    A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( 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 A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class rrlist8
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-    A4 & a4_;
-    A5 & a5_;
-    A6 & a6_;
-    A7 & a7_;
-    A8 & a8_;
-
-public:
-
-    rrlist8( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ), a8_( a8 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
-    A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
-    A8 && operator[] (boost::arg<8>) const { return std::forward<A8>( a8_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
-    A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
-    A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward<A8>( 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 A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 > class rrlist9
-{
-private:
-
-    A1 & a1_;
-    A2 & a2_;
-    A3 & a3_;
-    A4 & a4_;
-    A5 & a5_;
-    A6 & a6_;
-    A7 & a7_;
-    A8 & a8_;
-    A9 & a9_;
-
-public:
-
-    rrlist9( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ), a8_( a8 ), a9_( a9 ) {}
-
-    A1 && operator[] (boost::arg<1>) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2>) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3>) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4>) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5>) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6>) const { return std::forward<A6>( a6_ ); }
-    A7 && operator[] (boost::arg<7>) const { return std::forward<A7>( a7_ ); }
-    A8 && operator[] (boost::arg<8>) const { return std::forward<A8>( a8_ ); }
-    A9 && operator[] (boost::arg<9>) const { return std::forward<A9>( a9_ ); }
-
-    A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward<A1>( a1_ ); }
-    A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward<A2>( a2_ ); }
-    A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward<A3>( a3_ ); }
-    A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward<A4>( a4_ ); }
-    A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward<A5>( a5_ ); }
-    A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward<A6>( a6_ ); }
-    A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward<A7>( a7_ ); }
-    A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward<A8>( a8_ ); }
-    A9 && operator[] (boost::arg<9> (*) ()) const { return std::forward<A9>( 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 L> class bind_t
-{
-private:
-
-    F f_;
-    L l_;
-
-public:
-
-    typedef typename result_traits<R, F>::type result_type;
-    typedef bind_t this_type;
-
-    bind_t( F f, L const & l ): f_( f ), l_( l ) {}
-
-    //
-
-    result_type operator()()
-    {
-        list0 a;
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    result_type operator()() const
-    {
-        list0 a;
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    template<class A1> result_type operator()( A1 && a1 )
-    {
-        rrlist1< A1 > a( a1 );
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    template<class A1> result_type operator()( A1 && a1 ) const
-    {
-        rrlist1< A1 > a( a1 );
-        return l_(type<result_type>(), f_, a, 0);
-    }
-
-    template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 )
-    {
-        rrlist2< A1, A2 > a( a1, a2 );
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 ) const
-    {
-        rrlist2< A1, A2 > a( a1, a2 );
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 )
-    {
-        rrlist3< A1, A2, A3 > a( a1, a2, a3 );
-        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
-    {
-        rrlist3< A1, A2, A3 > a( a1, a2, a3 );
-        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 )
-    {
-        rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
-        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
-    {
-        rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
-        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 )
-    {
-        rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
-        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
-    {
-        rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
-        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 )
-    {
-        rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
-        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
-    {
-        rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
-        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 )
-    {
-        rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
-        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
-    {
-        rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
-        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 )
-    {
-        rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
-        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
-    {
-        rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
-        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 )
-    {
-        rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
-        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
-    {
-        rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    //
-
-    template<class A> result_type eval( A & a )
-    {
-        return l_( type<result_type>(), f_, a, 0 );
-    }
-
-    template<class A> result_type eval( A & a ) const
-    {
-        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_;
-    }
-};
-
-#elif !defined( 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 // no void returns
-
-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__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION
-
-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/rbgl_trimmed_boost_1_61_0/boost/bind/bind_cc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind_cc.hpp
deleted file mode 100644
index 35f8ece..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/bind_mf2_cc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind_mf2_cc.hpp
deleted file mode 100644
index 66476bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/bind_mf_cc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind_mf_cc.hpp
deleted file mode 100644
index e149384..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind_mf_cc.hpp
+++ /dev/null
@@ -1,441 +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));
-}
-
-template<class Rt2, class R, class T,
-    class A1>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    >::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<Rt2, F, list_type>(F(f), list_type(a1));
-}
-
-template<class Rt2, class R, class T,
-    class A1>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    >::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<Rt2, 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));
-}
-
-template<class Rt2, class R, class T,
-    class B1,
-    class A1, class A2>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    >::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<Rt2, F, list_type>(F(f), list_type(a1, a2));
-}
-
-template<class Rt2, class R, class T,
-    class B1,
-    class A1, class A2>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    >::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<Rt2, 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));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2,
-    class A1, class A2, class A3>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    >::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<Rt2, 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));
-}
-
-template<class Rt2, class R, class T,
-    class B1, class B2, class B3,
-    class A1, class A2, class A3, class A4>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<Rt2, 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));
-}
-
-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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<Rt2, 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));
-}
-
-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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<Rt2, 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));
-}
-
-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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<Rt2, 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));
-}
-
-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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<Rt2, 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));
-}
-
-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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<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>
-    typename boost::enable_if_c<!boost::core::is_same<Rt2, R>::value,
-    _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>
-    >::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<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
-}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind_template.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/bind_template.hpp
deleted file mode 100644
index 411d20c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/make_adaptable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/make_adaptable.hpp
deleted file mode 100644
index b9f083e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn.hpp
deleted file mode 100644
index 956e7d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn_cc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn_cc.hpp
deleted file mode 100644
index 8b6ea0b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn_template.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn_template.hpp
deleted file mode 100644
index b26d585..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn_vw.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/mem_fn_vw.hpp
deleted file mode 100644
index f3fc58d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/placeholders.hpp
deleted file mode 100644
index b819ef4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/bind/placeholders.hpp
+++ /dev/null
@@ -1,62 +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.
-//  Copyright 2015 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/arg.hpp>
-#include <boost/config.hpp>
-
-namespace boost
-{
-
-namespace placeholders
-{
-
-#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ < 4)
-
-inline boost::arg<1> _1() { return boost::arg<1>(); }
-inline boost::arg<2> _2() { return boost::arg<2>(); }
-inline boost::arg<3> _3() { return boost::arg<3>(); }
-inline boost::arg<4> _4() { return boost::arg<4>(); }
-inline boost::arg<5> _5() { return boost::arg<5>(); }
-inline boost::arg<6> _6() { return boost::arg<6>(); }
-inline boost::arg<7> _7() { return boost::arg<7>(); }
-inline boost::arg<8> _8() { return boost::arg<8>(); }
-inline boost::arg<9> _9() { return boost::arg<9>(); }
-
-#else
-
-BOOST_STATIC_CONSTEXPR boost::arg<1> _1;
-BOOST_STATIC_CONSTEXPR boost::arg<2> _2;
-BOOST_STATIC_CONSTEXPR boost::arg<3> _3;
-BOOST_STATIC_CONSTEXPR boost::arg<4> _4;
-BOOST_STATIC_CONSTEXPR boost::arg<5> _5;
-BOOST_STATIC_CONSTEXPR boost::arg<6> _6;
-BOOST_STATIC_CONSTEXPR boost::arg<7> _7;
-BOOST_STATIC_CONSTEXPR boost::arg<8> _8;
-BOOST_STATIC_CONSTEXPR boost::arg<9> _9;
-
-#endif
-
-} // namespace placeholders
-
-} // namespace boost
-
-#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/bind/protect.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/protect.hpp
deleted file mode 100644
index 749e158..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/bind/storage.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/bind/storage.hpp
deleted file mode 100644
index be490b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/blank.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/blank.hpp
deleted file mode 100644
index d0fe5ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/blank_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/blank_fwd.hpp
deleted file mode 100644
index 8bfe97c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/call_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/call_traits.hpp
deleted file mode 100644
index 2c1328e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/call_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/utility for most recent version including documentation.
-
-//  See boost/detail/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
-
-#include <boost/detail/call_traits.hpp>
-
-#endif // BOOST_CALL_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cast.hpp
deleted file mode 100644
index ab452bd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/cast.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  boost cast.hpp header file
-//
-//  (C) Copyright Antony Polukhin 2014.
-//
-//  Distributed under the Boost
-//  Software License, Version 1.0. (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.
-
-// This is a DEPRECATED header file!
-// Use <boost/polymorphic_cast.hpp> or <boost/numeric/conversion/cast.hpp> instead
-
-#ifndef BOOST_CAST_HPP
-#define BOOST_CAST_HPP
-
-# include <boost/polymorphic_cast.hpp>
-# include <boost/numeric/conversion/cast.hpp>
-
-#endif  // BOOST_CAST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/cerrno.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cerrno.hpp
deleted file mode 100644
index 6f26698..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/checked_delete.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/checked_delete.hpp
deleted file mode 100644
index fb71c78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/checked_delete.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_CHECKED_DELETE_HPP
-#define BOOST_CHECKED_DELETE_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/checked_delete.hpp instead.
-
-#include <boost/core/checked_delete.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/chrono.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/chrono.hpp
deleted file mode 100644
index a3a3522..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/chrono.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Vicente J. Botet Escriba 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/stm for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_CHRONO_HPP
-#define BOOST_CHRONO_HPP
-
-//-----------------------------------------------------------------------------
-#include <boost/chrono/include.hpp>
-//-----------------------------------------------------------------------------
-
-#endif // BOOST_CHRONO_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/circular_buffer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/circular_buffer.hpp
deleted file mode 100644
index f5eff60..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/circular_buffer.hpp
+++ /dev/null
@@ -1,65 +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)
-    #pragma once
-#endif
-
-#include <boost/circular_buffer_fwd.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/static_assert.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_IS_CONVERTIBLE: Check if Iterator::value_type is convertible to Type.
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x0550) || BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
-    #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_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_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_ASSERT
-#undef BOOST_CB_ENABLE_DEBUG
-
-#endif // #if !defined(BOOST_CIRCULAR_BUFFER_HPP)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/circular_buffer_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/circular_buffer_fwd.hpp
deleted file mode 100644
index 621fb95..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-    #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/rbgl_trimmed_boost_1_61_0/boost/compressed_pair.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/compressed_pair.hpp
deleted file mode 100644
index a7be0f2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/compressed_pair.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/utility for most recent version including documentation.
-
-//  See boost/detail/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
-
-#include <boost/detail/compressed_pair.hpp>
-
-#endif // BOOST_COMPRESSED_PAIR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/compute.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/compute.hpp
deleted file mode 100644
index 83e17ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/compute.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//---------------------------------------------------------------------------//
-// Copyright (c) 2013 Kyle Lutz <kyle.r.lutz 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
-//
-// See http://boostorg.github.com/compute for more information.
-//---------------------------------------------------------------------------//
-
-#ifndef BOOST_COMPUTE_HPP
-#define BOOST_COMPUTE_HPP
-
-#include <boost/compute/algorithm.hpp>
-#include <boost/compute/allocator.hpp>
-#include <boost/compute/async.hpp>
-#include <boost/compute/buffer.hpp>
-#include <boost/compute/cl.hpp>
-#include <boost/compute/command_queue.hpp>
-#include <boost/compute/config.hpp>
-#include <boost/compute/container.hpp>
-#include <boost/compute/context.hpp>
-#include <boost/compute/device.hpp>
-#include <boost/compute/functional.hpp>
-#include <boost/compute/image.hpp>
-#include <boost/compute/iterator.hpp>
-#include <boost/compute/kernel.hpp>
-#include <boost/compute/lambda.hpp>
-#include <boost/compute/pipe.hpp>
-#include <boost/compute/platform.hpp>
-#include <boost/compute/program.hpp>
-#include <boost/compute/random.hpp>
-#include <boost/compute/svm.hpp>
-#include <boost/compute/system.hpp>
-#include <boost/compute/types.hpp>
-#include <boost/compute/user_event.hpp>
-#include <boost/compute/utility.hpp>
-#include <boost/compute/version.hpp>
-
-#ifdef BOOST_COMPUTE_HAVE_HDR_CL_EXT
-#include <boost/compute/cl_ext.hpp>
-#endif
-
-#endif // BOOST_COMPUTE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept/assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/assert.hpp
deleted file mode 100644
index cf98179..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept/assert.hpp
+++ /dev/null
@@ -1,45 +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))
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/concept/detail/backward_compatibility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/backward_compatibility.hpp
deleted file mode 100644
index 66d573e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/concept/detail/borland.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/borland.hpp
deleted file mode 100644
index 300d5d4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/concept/detail/concept_def.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/concept_def.hpp
deleted file mode 100644
index 750561e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/concept_def.hpp
+++ /dev/null
@@ -1,34 +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.
-# 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                                                                
-    
-// Helper for BOOST_concept, above.
-# define BOOST_CONCEPT_typename(r, ignored, index, t) \
-    BOOST_PP_COMMA_IF(index) typename t
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/concept_undef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/concept_undef.hpp
deleted file mode 100644
index 713db89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/concept/detail/general.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/general.hpp
deleted file mode 100644
index 525ea65..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/general.hpp
+++ /dev/null
@@ -1,77 +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/config.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__)             \
-      BOOST_ATTRIBUTE_UNUSED
-
-}}
-
-#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/has_constraints.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/has_constraints.hpp
deleted file mode 100644
index a309db3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/concept/detail/msvc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/msvc.hpp
deleted file mode 100644
index 078dd22..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept/detail/msvc.hpp
+++ /dev/null
@@ -1,123 +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>
-# include <boost/config.hpp>
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-#  include <boost/concept/detail/has_constraints.hpp>
-#  include <boost/mpl/if.hpp>
-# endif
-
-# ifdef BOOST_MSVC
-#  pragma warning(push)
-#  pragma warning(disable:4100)
-# 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
-}}
-
-# ifdef BOOST_MSVC
-#  pragma warning(pop)
-# endif
-
-#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept/requires.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/requires.hpp
deleted file mode 100644
index 365ce10..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept/requires.hpp
+++ /dev/null
@@ -1,93 +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_REQUIRES_DWA2006430_HPP
-# define BOOST_CONCEPT_REQUIRES_DWA2006430_HPP
-
-# include <boost/config.hpp>
-# include <boost/concept/assert.hpp>
-# include <boost/preprocessor/seq/for_each.hpp>
-
-namespace boost { 
-
-// unaryfunptr_arg_type from parameter/aux_/parenthesized_type.hpp
-
-namespace ccheck_aux {
-
-// A metafunction that transforms void(*)(T) -> T
-template <class UnaryFunctionPointer>
-struct unaryfunptr_arg_type;
-
-template <class Arg>
-struct unaryfunptr_arg_type<void(*)(Arg)>
-{
-    typedef Arg type;
-};
-
-template <>
-struct unaryfunptr_arg_type<void(*)(void)>
-{
-    typedef void type;
-};
-
-} // namespace ccheck_aux
-
-// Template for use in handwritten assertions
-template <class Model, class More>
-struct requires_ : More
-{
-    BOOST_CONCEPT_ASSERT((Model));
-};
-
-// Template for use by macros, where models must be wrapped in parens.
-// This isn't in namespace detail to keep extra cruft out of resulting
-// error messages.
-template <class ModelFn>
-struct _requires_
-{
-    enum { value = 0 };
-    BOOST_CONCEPT_ASSERT_FN(ModelFn);
-};
-
-template <int check, class Result>
-struct Requires_ : ::boost::ccheck_aux::unaryfunptr_arg_type<Result>
-{
-};
-
-# if BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1010))
-#  define BOOST_CONCEPT_REQUIRES_(r,data,t) | (::boost::_requires_<void(*)t>::value)
-# else 
-#  define BOOST_CONCEPT_REQUIRES_(r,data,t) + (::boost::_requires_<void(*)t>::value)
-# endif
-
-#if defined(NDEBUG)
-
-# define BOOST_CONCEPT_REQUIRES(models, result)                                    \
-    typename ::boost::ccheck_aux::unaryfunptr_arg_type<void(*)result>::type
-
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-// Same thing as below without the initial typename
-# define BOOST_CONCEPT_REQUIRES(models, result)                                \
-    ::boost::Requires_<                                                        \
-      (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)),           \
-      ::boost::ccheck_aux::unaryfunptr_arg_type<void(*)result>          \
-                     >::type
-
-#else
-
-// This just ICEs on MSVC6 :(
-# define BOOST_CONCEPT_REQUIRES(models, result)                                        \
-    typename ::boost::Requires_<                                                       \
-      (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)),                   \
-      void(*)result                                                                 \
-    >::type
-
-#endif 
-
-// C++0x proposed syntax changed.  This supports an older usage
-#define BOOST_CONCEPT_WHERE(models,result) BOOST_CONCEPT_REQUIRES(models,result)
-
-} // namespace boost::concept_check
-
-#endif // BOOST_CONCEPT_REQUIRES_DWA2006430_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept/usage.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept/usage.hpp
deleted file mode 100644
index e73370f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept/usage.hpp
+++ /dev/null
@@ -1,36 +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 { 
-
-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
-
-}} // namespace boost::concepts
-
-#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept_archetype.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept_archetype.hpp
deleted file mode 100644
index f21c817..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept_archetype.hpp
+++ /dev/null
@@ -1,669 +0,0 @@
-//
-// (C) Copyright Jeremy Siek 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)
-//
-// Revision History:
-//
-//   17 July  2001: Added const to some member functions. (Jeremy Siek) 
-//   05 May   2001: Removed static dummy_cons object. (Jeremy Siek)
-
-// See http://www.boost.org/libs/concept_check for documentation.
-
-#ifndef BOOST_CONCEPT_ARCHETYPES_HPP
-#define BOOST_CONCEPT_ARCHETYPES_HPP
-
-#include <boost/config.hpp>
-#include <boost/iterator.hpp>
-#include <boost/mpl/identity.hpp>
-#include <functional>
-
-namespace boost {
-
-  //===========================================================================
-  // Basic Archetype Classes
-
-  namespace detail {
-    class dummy_constructor { };
-  }
-
-  // A type that models no concept. The template parameter 
-  // is only there so that null_archetype types can be created
-  // that have different type.
-  template <class T = int>
-  class null_archetype {
-  private:
-    null_archetype() { }
-    null_archetype(const null_archetype&) { }
-    null_archetype& operator=(const null_archetype&) { return *this; }
-  public:
-    null_archetype(detail::dummy_constructor) { }
-#ifndef __MWERKS__
-    template <class TT>
-    friend void dummy_friend(); // just to avoid warnings
-#endif
-  };
-
-  // This is a helper class that provides a way to get a reference to
-  // an object. The get() function will never be called at run-time
-  // (nothing in this file will) so this seemingly very bad function
-  // is really quite innocent. The name of this class needs to be
-  // changed.
-  template <class T>
-  class static_object
-  {
-  public:
-      static T& get()
-      {
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-          return *reinterpret_cast<T*>(0);
-#else 
-          static char d[sizeof(T)];
-          return *reinterpret_cast<T*>(d);
-#endif 
-      }
-  };
-
-  template <class Base = null_archetype<> >
-  class default_constructible_archetype : public Base {
-  public:
-    default_constructible_archetype() 
-      : Base(static_object<detail::dummy_constructor>::get()) { }
-    default_constructible_archetype(detail::dummy_constructor x) : Base(x) { }
-  };
-
-  template <class Base = null_archetype<> >
-  class assignable_archetype : public Base {
-    assignable_archetype() { }
-    assignable_archetype(const assignable_archetype&) { }
-  public:
-    assignable_archetype& operator=(const assignable_archetype&) {
-      return *this;
-    }
-    assignable_archetype(detail::dummy_constructor x) : Base(x) { }
-  };
-
-  template <class Base = null_archetype<> >
-  class copy_constructible_archetype : public Base {
-  public:
-    copy_constructible_archetype() 
-      : Base(static_object<detail::dummy_constructor>::get()) { }
-    copy_constructible_archetype(const copy_constructible_archetype&)
-      : Base(static_object<detail::dummy_constructor>::get()) { }
-    copy_constructible_archetype(detail::dummy_constructor x) : Base(x) { }
-  };
-
-  template <class Base = null_archetype<> >
-  class sgi_assignable_archetype : public Base {
-  public:
-    sgi_assignable_archetype(const sgi_assignable_archetype&)
-      : Base(static_object<detail::dummy_constructor>::get()) { }
-    sgi_assignable_archetype& operator=(const sgi_assignable_archetype&) {
-      return *this;
-    }
-    sgi_assignable_archetype(const detail::dummy_constructor& x) : Base(x) { }
-  };
-
-  struct default_archetype_base {
-    default_archetype_base(detail::dummy_constructor) { }
-  };
-
-  // Careful, don't use same type for T and Base. That results in the
-  // conversion operator being invalid.  Since T is often
-  // null_archetype, can't use null_archetype for Base.
-  template <class T, class Base = default_archetype_base>
-  class convertible_to_archetype : public Base {
-  private:
-    convertible_to_archetype() { }
-    convertible_to_archetype(const convertible_to_archetype& ) { }
-    convertible_to_archetype& operator=(const convertible_to_archetype&)
-      { return *this; }
-  public:
-    convertible_to_archetype(detail::dummy_constructor x) : Base(x) { }
-    operator const T&() const { return static_object<T>::get(); }
-  };
-
-  template <class T, class Base = default_archetype_base>
-  class convertible_from_archetype : public Base {
-  private:
-    convertible_from_archetype() { }
-    convertible_from_archetype(const convertible_from_archetype& ) { }
-    convertible_from_archetype& operator=(const convertible_from_archetype&)
-      { return *this; }
-  public:
-    convertible_from_archetype(detail::dummy_constructor x) : Base(x) { }
-    convertible_from_archetype(const T&) { }
-    convertible_from_archetype& operator=(const T&)
-      { return *this; }
-  };
-
-  class boolean_archetype {
-  public:
-    boolean_archetype(const boolean_archetype&) { }
-    operator bool() const { return true; }
-    boolean_archetype(detail::dummy_constructor) { }
-  private:
-    boolean_archetype() { }
-    boolean_archetype& operator=(const boolean_archetype&) { return *this; }
-  };
-  
-  template <class Base = null_archetype<> >
-  class equality_comparable_archetype : public Base {
-  public:
-    equality_comparable_archetype(detail::dummy_constructor x) : Base(x) { }
-  };
-  template <class Base>
-  boolean_archetype
-  operator==(const equality_comparable_archetype<Base>&,
-             const equality_comparable_archetype<Base>&) 
-  { 
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-  template <class Base>
-  boolean_archetype
-  operator!=(const equality_comparable_archetype<Base>&,
-             const equality_comparable_archetype<Base>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-
-
-  template <class Base = null_archetype<> >
-  class equality_comparable2_first_archetype : public Base {
-  public:
-    equality_comparable2_first_archetype(detail::dummy_constructor x) 
-      : Base(x) { }
-  };
-  template <class Base = null_archetype<> >
-  class equality_comparable2_second_archetype : public Base {
-  public:
-    equality_comparable2_second_archetype(detail::dummy_constructor x) 
-      : Base(x) { }
-  };
-  template <class Base1, class Base2>
-  boolean_archetype
-  operator==(const equality_comparable2_first_archetype<Base1>&,
-             const equality_comparable2_second_archetype<Base2>&) 
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-  template <class Base1, class Base2>
-  boolean_archetype
-  operator!=(const equality_comparable2_first_archetype<Base1>&,
-             const equality_comparable2_second_archetype<Base2>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-
-
-  template <class Base = null_archetype<> >
-  class less_than_comparable_archetype : public Base {
-  public:
-    less_than_comparable_archetype(detail::dummy_constructor x) : Base(x) { }
-  };
-  template <class Base>
-  boolean_archetype
-  operator<(const less_than_comparable_archetype<Base>&,
-            const less_than_comparable_archetype<Base>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-
-
-
-  template <class Base = null_archetype<> >
-  class comparable_archetype : public Base {
-  public:
-    comparable_archetype(detail::dummy_constructor x) : Base(x) { }
-  };
-  template <class Base>
-  boolean_archetype
-  operator<(const comparable_archetype<Base>&,
-            const comparable_archetype<Base>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-  template <class Base>
-  boolean_archetype
-  operator<=(const comparable_archetype<Base>&,
-             const comparable_archetype<Base>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-  template <class Base>
-  boolean_archetype
-  operator>(const comparable_archetype<Base>&,
-            const comparable_archetype<Base>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-  template <class Base>
-  boolean_archetype
-  operator>=(const comparable_archetype<Base>&,
-             const comparable_archetype<Base>&)
-  {
-    return boolean_archetype(static_object<detail::dummy_constructor>::get());
-  }
-
-
-  // The purpose of the optags is so that one can specify
-  // exactly which types the operator< is defined between.
-  // This is useful for allowing the operations:
-  //
-  // A a; B b;
-  // a < b
-  // b < a
-  //
-  // without also allowing the combinations:
-  //
-  // a < a
-  // b < b
-  //
-  struct optag1 { };
-  struct optag2 { };
-  struct optag3 { };
-
-#define BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(OP, NAME)                       \
-  template <class Base = null_archetype<>, class Tag = optag1 >                 \
-  class NAME##_first_archetype : public Base {                                  \
-  public:                                                                       \
-    NAME##_first_archetype(detail::dummy_constructor x) : Base(x) { }           \
-  };                                                                            \
-                                                                                \
-  template <class Base = null_archetype<>, class Tag = optag1 >                 \
-  class NAME##_second_archetype : public Base {                                 \
-  public:                                                                       \
-    NAME##_second_archetype(detail::dummy_constructor x) : Base(x) { }          \
-  };                                                                            \
-                                                                                \
-  template <class BaseFirst, class BaseSecond, class Tag>                       \
-  boolean_archetype                                                             \
-  operator OP (const NAME##_first_archetype<BaseFirst, Tag>&,                   \
-               const NAME##_second_archetype<BaseSecond, Tag>&)                 \
-  {                                                                             \
-   return boolean_archetype(static_object<detail::dummy_constructor>::get());   \
-  }
-
-  BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(==, equal_op)
-  BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(!=, not_equal_op)
-  BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(<, less_than_op)
-  BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(<=, less_equal_op)
-  BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(>, greater_than_op)
-  BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(>=, greater_equal_op)
-
-#define BOOST_DEFINE_OPERATOR_ARCHETYPE(OP, NAME) \
-  template <class Base = null_archetype<> > \
-  class NAME##_archetype : public Base { \
-  public: \
-    NAME##_archetype(detail::dummy_constructor x) : Base(x) { } \
-    NAME##_archetype(const NAME##_archetype&)  \
-      : Base(static_object<detail::dummy_constructor>::get()) { } \
-    NAME##_archetype& operator=(const NAME##_archetype&) { return *this; } \
-  }; \
-  template <class Base> \
-  NAME##_archetype<Base> \
-  operator OP (const NAME##_archetype<Base>&,\
-               const NAME##_archetype<Base>&)  \
-  { \
-    return \
-     NAME##_archetype<Base>(static_object<detail::dummy_constructor>::get()); \
-  }
-
-  BOOST_DEFINE_OPERATOR_ARCHETYPE(+, addable)
-  BOOST_DEFINE_OPERATOR_ARCHETYPE(-, subtractable)
-  BOOST_DEFINE_OPERATOR_ARCHETYPE(*, multipliable)
-  BOOST_DEFINE_OPERATOR_ARCHETYPE(/, dividable)
-  BOOST_DEFINE_OPERATOR_ARCHETYPE(%, modable)
-
-  // As is, these are useless because of the return type.
-  // Need to invent a better way...
-#define BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(OP, NAME) \
-  template <class Return, class Base = null_archetype<> > \
-  class NAME##_first_archetype : public Base { \
-  public: \
-    NAME##_first_archetype(detail::dummy_constructor x) : Base(x) { } \
-  }; \
-  \
-  template <class Return, class Base = null_archetype<> > \
-  class NAME##_second_archetype : public Base { \
-  public: \
-    NAME##_second_archetype(detail::dummy_constructor x) : Base(x) { } \
-  }; \
-  \
-  template <class Return, class BaseFirst, class BaseSecond> \
-  Return \
-  operator OP (const NAME##_first_archetype<Return, BaseFirst>&, \
-               const NAME##_second_archetype<Return, BaseSecond>&) \
-  { \
-    return Return(static_object<detail::dummy_constructor>::get()); \
-  }
-
-  BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(+, plus_op)
-  BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(*, time_op)
-  BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(/, divide_op)
-  BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(-, subtract_op)
-  BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(%, mod_op)
-
-  //===========================================================================
-  // Function Object Archetype Classes
-
-  template <class Return>
-  class generator_archetype {
-  public:
-    const Return& operator()() {
-      return static_object<Return>::get(); 
-    }
-  };
-
-  class void_generator_archetype {
-  public:
-    void operator()() { }
-  };
-
-  template <class Arg, class Return>
-  class unary_function_archetype {
-  private:
-    unary_function_archetype() { }
-  public:
-    unary_function_archetype(detail::dummy_constructor) { }
-    const Return& operator()(const Arg&) const {
-      return static_object<Return>::get(); 
-    }
-  };
-
-  template <class Arg1, class Arg2, class Return>
-  class binary_function_archetype {
-  private:
-    binary_function_archetype() { }
-  public:
-    binary_function_archetype(detail::dummy_constructor) { }
-    const Return& operator()(const Arg1&, const Arg2&) const {
-      return static_object<Return>::get(); 
-    }
-  };
-
-  template <class Arg>
-  class unary_predicate_archetype {
-    typedef boolean_archetype Return;
-    unary_predicate_archetype() { }
-  public:
-    unary_predicate_archetype(detail::dummy_constructor) { }
-    const Return& operator()(const Arg&) const {
-      return static_object<Return>::get(); 
-    }
-  };
-
-  template <class Arg1, class Arg2, class Base = null_archetype<> >
-  class binary_predicate_archetype {
-    typedef boolean_archetype Return;
-    binary_predicate_archetype() { }
-  public:
-    binary_predicate_archetype(detail::dummy_constructor) { }
-    const Return& operator()(const Arg1&, const Arg2&) const {
-      return static_object<Return>::get(); 
-    }
-  };
-
-  //===========================================================================
-  // Iterator Archetype Classes
-
-  template <class T, int I = 0>
-  class input_iterator_archetype
-  {
-  private:
-    typedef input_iterator_archetype self;
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef T value_type;
-    struct reference {
-      operator const value_type&() const { return static_object<T>::get(); }
-    };
-    typedef const T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return reference(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-  };
-
-  template <class T>
-  class input_iterator_archetype_no_proxy
-  {
-  private:
-    typedef input_iterator_archetype_no_proxy self;
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef const T& reference;
-    typedef const T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-  };
-
-  template <class T>
-  struct output_proxy {
-    output_proxy& operator=(const T&) { return *this; }
-  };
-
-  template <class T>
-  class output_iterator_archetype
-  {
-  public:
-    typedef output_iterator_archetype self;
-  public:
-    typedef std::output_iterator_tag iterator_category;
-    typedef output_proxy<T> value_type;
-    typedef output_proxy<T> reference;
-    typedef void pointer;
-    typedef void difference_type;
-    output_iterator_archetype(detail::dummy_constructor) { }
-    output_iterator_archetype(const self&) { }
-    self& operator=(const self&) { return *this; }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return output_proxy<T>(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-  private:
-    output_iterator_archetype() { }
-  };
-
-  template <class T>
-  class input_output_iterator_archetype
-  {
-  private:
-    typedef input_output_iterator_archetype self;
-    struct in_out_tag : public std::input_iterator_tag, public std::output_iterator_tag { };
-  public:
-    typedef in_out_tag iterator_category;
-    typedef T value_type;
-    struct reference {
-      reference& operator=(const T&) { return *this; }
-      operator value_type() { return static_object<T>::get(); }
-    };
-    typedef const T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    input_output_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return reference(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-  };
-
-  template <class T>
-  class forward_iterator_archetype
-  {
-  public:
-    typedef forward_iterator_archetype self;
-  public:
-    typedef std::forward_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef const T& reference;
-    typedef T const* pointer;
-    typedef std::ptrdiff_t difference_type;
-    forward_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-  };
-
-  template <class T>
-  class mutable_forward_iterator_archetype
-  {
-  public:
-    typedef mutable_forward_iterator_archetype self;
-  public:
-    typedef std::forward_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef T& reference;
-    typedef T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    mutable_forward_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-  };
-
-  template <class T>
-  class bidirectional_iterator_archetype
-  {
-  public:
-    typedef bidirectional_iterator_archetype self;
-  public:
-    typedef std::bidirectional_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef const T& reference;
-    typedef T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    bidirectional_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-    self& operator--() { return *this; }
-    self operator--(int) { return *this; }
-  };
-
-  template <class T>
-  class mutable_bidirectional_iterator_archetype
-  {
-  public:
-    typedef mutable_bidirectional_iterator_archetype self;
-  public:
-    typedef std::bidirectional_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef T& reference;
-    typedef T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    mutable_bidirectional_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-    self& operator--() { return *this; }
-    self operator--(int) { return *this; }
-  };
-
-  template <class T>
-  class random_access_iterator_archetype
-  {
-  public:
-    typedef random_access_iterator_archetype self;
-  public:
-    typedef std::random_access_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef const T& reference;
-    typedef T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    random_access_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-    self& operator--() { return *this; }
-    self operator--(int) { return *this; }
-    reference operator[](difference_type) const
-      { return static_object<T>::get(); }
-    self& operator+=(difference_type) { return *this; }
-    self& operator-=(difference_type) { return *this; }
-    difference_type operator-(const self&) const
-      { return difference_type(); }
-    self operator+(difference_type) const { return *this; }
-    self operator-(difference_type) const { return *this; }
-    bool operator<(const self&) const { return true; }
-    bool operator<=(const self&) const { return true; }
-    bool operator>(const self&) const { return true; }
-    bool operator>=(const self&) const { return true; }
-  };
-  template <class T>
-  random_access_iterator_archetype<T> 
-  operator+(typename random_access_iterator_archetype<T>::difference_type, 
-            const random_access_iterator_archetype<T>& x) 
-    { return x; }
-
-
-  template <class T>
-  class mutable_random_access_iterator_archetype
-  {
-  public:
-    typedef mutable_random_access_iterator_archetype self;
-  public:
-    typedef std::random_access_iterator_tag iterator_category;
-    typedef T value_type;
-    typedef T& reference;
-    typedef T* pointer;
-    typedef std::ptrdiff_t difference_type;
-    mutable_random_access_iterator_archetype() { }
-    self& operator=(const self&) { return *this;  }
-    bool operator==(const self&) const { return true; }
-    bool operator!=(const self&) const { return true; }
-    reference operator*() const { return static_object<T>::get(); }
-    self& operator++() { return *this; }
-    self operator++(int) { return *this; }
-    self& operator--() { return *this; }
-    self operator--(int) { return *this; }
-    reference operator[](difference_type) const
-      { return static_object<T>::get(); }
-    self& operator+=(difference_type) { return *this; }
-    self& operator-=(difference_type) { return *this; }
-    difference_type operator-(const self&) const
-      { return difference_type(); }
-    self operator+(difference_type) const { return *this; }
-    self operator-(difference_type) const { return *this; }
-    bool operator<(const self&) const { return true; }
-    bool operator<=(const self&) const { return true; }
-    bool operator>(const self&) const { return true; }
-    bool operator>=(const self&) const { return true; }
-  };
-  template <class T>
-  mutable_random_access_iterator_archetype<T> 
-  operator+
-    (typename mutable_random_access_iterator_archetype<T>::difference_type, 
-     const mutable_random_access_iterator_archetype<T>& x) 
-    { return x; }
-
-} // namespace boost
-
-#endif // BOOST_CONCEPT_ARCHETYPES_H
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept_check.hpp
deleted file mode 100644
index 25f118b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check.hpp
+++ /dev/null
@@ -1,1082 +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 <iterator>
-# 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/concept/usage.hpp>
-# include <boost/concept/detail/concept_def.hpp>
-
-#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
-
-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;
-  };
-
-  // 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;
-  };
-
-  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 std::iterator_traits<TT>::value_type value_type;
-      typedef typename std::iterator_traits<TT>::difference_type difference_type;
-      typedef typename std::iterator_traits<TT>::reference reference;
-      typedef typename std::iterator_traits<TT>::pointer pointer;
-      typedef typename std::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++ = *j;         // require postincrement and assignment
-      }
-   private:
-      TT i, j;
-  };
-
-  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-- = *j;                  // require postdecrement and assignment
-      }
-   private:
-      TT i, j;
-  };
-
-  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 std::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 std::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, t),
-              c2(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(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& cc) {
-        ci = cc.begin();
-        ci = cc.end();
-        n = cc.size();
-        b = cc.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
-
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-
-# include <boost/concept/detail/concept_undef.hpp>
-
-#endif // BOOST_CONCEPT_CHECKS_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/borland.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/borland.hpp
deleted file mode 100644
index 107926b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/borland.hpp
+++ /dev/null
@@ -1,25 +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_BORLAND_DWA2006429_HPP
-# define BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP
-
-namespace boost {
-
-template <class ModelFn>
-struct concept_check;
-
-template <class Model>
-struct concept_check<void(*)(Model)>
-{
-    enum { instantiate = sizeof((((Model*)0)->~Model()), 3) };
-};
-
-#  define BOOST_CONCEPT_ASSERT( ModelInParens )                     \
-  enum { BOOST_PP_CAT(boost_concept_check,__LINE__) =               \
-         boost::concept_check<void(*)ModelInParens>::instantiate    \
-  }
-
-} // namespace boost::concept_checking
-
-#endif // BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/general.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/general.hpp
deleted file mode 100644
index cd09fb0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/general.hpp
+++ /dev/null
@@ -1,82 +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
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-#  include <boost/concept_check/has_constraints.hpp>
-#  include <boost/mpl/if.hpp>
-# endif
-
-
-// This implementation works on GCC and Comeau, but has actually been
-// fairly carefully tuned to work on GCC versions starting with
-// gcc-2.95.x.  If you're trying to get an additional compiler to pass
-// the tests you might consider breaking out a separate gcc.hpp and
-// starting over on the general case.
-namespace boost
-{
-  namespace concept_checking
-  {
-    template <void(*)()> struct instantiate {};
-  }
-  
-  template <class ModelFn> struct concept_check_;
-
-  template <class Model>
-  void concept_check_failed()
-  {
-      ((Model*)0)->~Model();
-  }
-
-  template <class Model>
-  struct concept_check
-  {
-      concept_checking::instantiate<concept_check_failed<Model> > x;
-      enum { instantiate = 1 };
-  };
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-  
-  template <class Model>
-  void constraint_check_failed()
-  {
-      ((Model*)0)->constraints();
-  }
-
-  template <class Model>
-  struct constraint_check
-  {
-      concept_checking::instantiate<constraint_check_failed<Model> > x;
-      enum { instantiate = 1 };
-  };
-  
-  template <class Model>
-  struct concept_check_<void(*)(Model)>
-    : mpl::if_c<
-          concept_checking::has_constraints<Model>::value
-        , constraint_check<Model>
-        , concept_check<Model>
-      >::type
-  {};
-  
-# else
-  
-  template <class Model>
-  struct concept_check_<void(*)(Model)>
-    : concept_check<Model>
-  {};
-  
-# endif
-  
-  // Usage, in class or function context:
-  //
-  //     BOOST_CONCEPT_ASSERT((UnaryFunctionConcept<F,bool,int>));
-#  define BOOST_CONCEPT_ASSERT( ModelInParens )                             \
-  enum { BOOST_PP_CAT(boost_concept_check,__LINE__) =                       \
-         ::boost::concept_check_<void(*) ModelInParens>::instantiate        \
-  }
-}
-
-#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/has_constraints.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/has_constraints.hpp
deleted file mode 100644
index e19f664..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/has_constraints.hpp
+++ /dev/null
@@ -1,31 +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_HAS_CONSTRAINTS_DWA2006429_HPP
-# define BOOST_CONCEPT_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP
-
-namespace boost { namespace concept_checking { 
-
-// 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 {};
-    
-template <class Model>
-inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
-inline no has_constraints_(...);
-
-template <class Model>
-struct has_constraints
-{
-    BOOST_STATIC_CONSTANT(
-        bool
-      , value = sizeof( concept_checking::has_constraints_((Model*)0) ) == 1 );
-};
-
-}} // namespace boost::concept_checking
-
-#endif // BOOST_CONCEPT_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/msvc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/msvc.hpp
deleted file mode 100644
index 3968469..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/concept_check/msvc.hpp
+++ /dev/null
@@ -1,90 +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
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-#  include <boost/concept_check/has_constraints.hpp>
-#  include <boost/mpl/if.hpp>
-# endif
-
-
-namespace boost
-{
-  namespace concept_checking
-  {
-    template <class Model>
-    struct concept_check_
-    {
-        virtual void failed(Model* x)
-        {
-            x->~Model();
-        }
-    };
-  }
-  
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-  
-  namespace concept_checking
-  {
-    template <class Model>
-    struct constraint_check
-    {
-        virtual void failed(Model* x)
-        {
-            x->constraints();
-        }
-    };
-  }
-
-  template <class Model>
-  struct concept_check
-    : mpl::if_c<
-          concept_checking::has_constraints<Model>::value
-        , concept_checking::constraint_check<Model>
-        , concept_checking::concept_check_<Model>
-      >::type
-  {};
-      
-# else
-  
-  template <class Model>
-  struct concept_check
-    : concept_checking::concept_check_<Model>
-  {};
-  
-# endif
-
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
-  //
-  // The iterator library sees some really strange errors unless we
-  // use partial specialization to extract the model type with
-  // msvc-7.1
-  // 
-  template <class Model>
-  struct concept_check<void(*)(Model)>
-    : concept_check<Model>
-  { };
-
-# define BOOST_CONCEPT_ASSERT( ModelInParens )                          \
-  enum { BOOST_PP_CAT(boost_concept_check,__LINE__) =                   \
-         sizeof(::boost::concept_check<void(*) ModelInParens>)          \
-  }
-  
-# else
-  
-  template <class Model>
-  concept_check<Model>
-  concept_check_(void(*)(Model));
-  
-# define BOOST_CONCEPT_ASSERT( ModelInParens )                          \
-  enum { BOOST_PP_CAT(boost_concept_check,__LINE__) =                   \
-         sizeof(::boost::concept_check_((void(*) ModelInParens)0))      \
-  }
-  
-# endif 
-}
-
-#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config.hpp
deleted file mode 100644
index d49bb27..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config.hpp
+++ /dev/null
@@ -1,67 +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>
-#if 0
-// For dependency trackers:
-#  include <boost/config/user.hpp>
-#endif
-#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>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif  // BOOST_CONFIG_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/abi/borland_prefix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/abi/borland_prefix.hpp
deleted file mode 100644
index 3a0e5ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/abi/borland_suffix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/abi/borland_suffix.hpp
deleted file mode 100644
index 940535f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/abi/msvc_prefix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/abi/msvc_prefix.hpp
deleted file mode 100644
index 97f06cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/abi/msvc_suffix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/abi/msvc_suffix.hpp
deleted file mode 100644
index a64d783..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/abi_prefix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/abi_prefix.hpp
deleted file mode 100644
index 3b13474..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/abi_suffix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/abi_suffix.hpp
deleted file mode 100644
index 9391616..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/auto_link.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/auto_link.hpp
deleted file mode 100644
index 56a16b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/auto_link.hpp
+++ /dev/null
@@ -1,439 +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 hyphen:
-
-                      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).
-                      p      STLport build.
-                      n      STLport build without its IOStreams.
-
-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
-#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
-    // Note: no compilers before 1200 are supported
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-
-#    ifdef UNDER_CE
-       // eVC4:
-#      define BOOST_LIB_TOOLSET "evc4"
-#    else
-       // vc6:
-#      define BOOST_LIB_TOOLSET "vc6"
-#    endif
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
-
-     // vc7:
-#    define BOOST_LIB_TOOLSET "vc7"
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
-
-     // vc71:
-#    define BOOST_LIB_TOOLSET "vc71"
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
-
-     // vc80:
-#    define BOOST_LIB_TOOLSET "vc80"
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
-
-     // vc90:
-#    define BOOST_LIB_TOOLSET "vc90"
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
-
-     // vc10:
-#    define BOOST_LIB_TOOLSET "vc100"
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
-
-     // vc11:
-#    define BOOST_LIB_TOOLSET "vc110"
-
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
-
-     // vc12:
-#    define BOOST_LIB_TOOLSET "vc120"
-
-# elif defined(BOOST_MSVC)
-
-   // vc14:
-#  define BOOST_LIB_TOOLSET "vc140"
-
-#  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
-#elif defined(BOOST_LIB_BUILDID)
-#  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 "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".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 "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/borland.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/borland.hpp
deleted file mode 100644
index 80dd230..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/borland.hpp
+++ /dev/null
@@ -1,318 +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_CXX11_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_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#  define BOOST_NO_CXX11_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_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS    // UTF-8 still not supported
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/clang.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/clang.hpp
deleted file mode 100644
index 01355bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/clang.hpp
+++ /dev/null
@@ -1,288 +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.
-
-#define BOOST_HAS_PRAGMA_ONCE
-
-// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
-#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
-#   define BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#endif
-
-// When compiling with clang before __has_extension was defined,
-// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
-// clang reports a compiler error. So the only workaround found is:
-
-#ifndef __has_extension
-#define __has_extension __has_feature
-#endif
-
-#ifndef __has_attribute
-#define __has_attribute(x) 0
-#endif
-
-#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
-#  define BOOST_NO_TYPEID
-#endif
-
-#if defined(__int64) && !defined(__GNUC__)
-#  define BOOST_HAS_MS_INT64
-#endif
-
-#define BOOST_HAS_NRVO
-
-// Branch prediction hints
-#if defined(__has_builtin)
-#if __has_builtin(__builtin_expect)
-#define BOOST_LIKELY(x) __builtin_expect(x, 1)
-#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
-#endif
-#endif
-
-// Clang supports "long long" in all compilation modes.
-#define BOOST_HAS_LONG_LONG
-
-//
-// We disable this if the compiler is really nvcc with C++03 as it
-// doesn't actually support __int128 as of CUDA_VERSION=7500
-// even though it defines __SIZEOF_INT128__.
-// See https://svn.boost.org/trac/boost/ticket/10418
-//     https://svn.boost.org/trac/boost/ticket/11852
-// Only re-enable this for nvcc if you're absolutely sure
-// of the circumstances under which it's supported.
-// Similarly __SIZEOF_INT128__ is defined when targetting msvc
-// compatibility even though the required support functions are absent.
-//
-#if defined(__CUDACC__)
-#  if defined(BOOST_GCC_CXX11)
-#    define BOOST_NVCC_CXX11
-#  else
-#    define BOOST_NVCC_CXX03
-#  endif
-#endif
-
-#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER)
-#  define BOOST_HAS_INT128
-#endif
-
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
-#  define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
-#  define BOOST_SYMBOL_IMPORT
-#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
-#endif
-
-//
-// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
-// between switch labels.
-//
-#if __cplusplus >= 201103L && defined(__has_warning)
-#  if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
-#    define BOOST_FALLTHROUGH [[clang::fallthrough]]
-#  endif
-#endif
-
-#if !__has_feature(cxx_auto_type)
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-//
-// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
-//
-#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#endif
-
-#if !__has_feature(cxx_constexpr)
-#  define BOOST_NO_CXX11_CONSTEXPR
-#endif
-
-#if !__has_feature(cxx_decltype)
-#  define BOOST_NO_CXX11_DECLTYPE
-#endif
-
-#if !__has_feature(cxx_decltype_incomplete_return_types)
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#endif
-
-#if !__has_feature(cxx_defaulted_functions)
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#endif
-
-#if !__has_feature(cxx_deleted_functions)
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#endif
-
-#if !__has_feature(cxx_explicit_conversions)
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#endif
-
-#if !__has_feature(cxx_default_function_template_args)
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-
-#if !__has_feature(cxx_generalized_initializers)
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
-#if !__has_feature(cxx_lambdas)
-#  define BOOST_NO_CXX11_LAMBDAS
-#endif
-
-#if !__has_feature(cxx_local_type_template_args)
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-
-#if !__has_feature(cxx_noexcept)
-#  define BOOST_NO_CXX11_NOEXCEPT
-#endif
-
-#if !__has_feature(cxx_nullptr)
-#  define BOOST_NO_CXX11_NULLPTR
-#endif
-
-#if !__has_feature(cxx_range_for)
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#endif
-
-#if !__has_feature(cxx_raw_string_literals)
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#endif
-
-#if !__has_feature(cxx_reference_qualified_functions)
-#  define BOOST_NO_CXX11_REF_QUALIFIERS
-#endif
-
-#if !__has_feature(cxx_generalized_initializers)
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-#if !__has_feature(cxx_rvalue_references)
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-
-#if !__has_feature(cxx_strong_enums)
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-#if !__has_feature(cxx_static_assert)
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-
-#if !__has_feature(cxx_alias_templates)
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#endif
-
-#if !__has_feature(cxx_unicode_literals)
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#endif
-
-#if !__has_feature(cxx_variadic_templates)
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-
-#if !__has_feature(cxx_user_literals)
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#endif
-
-#if !__has_feature(cxx_alignas)
-#  define BOOST_NO_CXX11_ALIGNAS
-#endif
-
-#if !__has_feature(cxx_trailing_return)
-#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#endif
-
-#if !__has_feature(cxx_inline_namespaces)
-#  define BOOST_NO_CXX11_INLINE_NAMESPACES
-#endif
-
-#if !__has_feature(cxx_override_control)
-#  define BOOST_NO_CXX11_FINAL
-#endif
-
-#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-
-#if !__has_feature(__cxx_decltype_auto__)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-
-#if !__has_feature(__cxx_aggregate_nsdmi__)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-
-#if !__has_feature(__cxx_init_captures__)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-
-#if !__has_feature(__cxx_generic_lambdas__)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-
-// clang < 3.5 has a defect with dependent type, like following.
-//
-//  template <class T>
-//  constexpr typename enable_if<pred<T> >::type foo(T &)
-//  { } // error: no return statement in constexpr function
-//
-// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
-// Therefore we don't care such case.
-//
-// Note that we can't check Clang version directly as the numbering system changes depending who's
-// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
-// so instead verify that we have a feature that was introduced at the same time as working C++14
-// constexpr (generic lambda's in this case):
-//
-#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-
-#if !__has_feature(__cxx_return_type_deduction__)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-
-#if !__has_feature(__cxx_variable_templates__)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#if __cplusplus < 201400
-// All versions with __cplusplus above this value seem to support this:
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-//
-// __builtin_unreachable:
-#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)
-#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
-#endif
-
-// Clang has supported the 'unused' attribute since the first release.
-#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/codegear.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/codegear.hpp
deleted file mode 100644
index 02bd792..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/codegear.hpp
+++ /dev/null
@@ -1,220 +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
-
-// Reportedly, #pragma once is supported since C++ Builder 2010
-#if (__CODEGEARC__ >= 0x620)
-#  define BOOST_HAS_PRAGMA_ONCE
-#endif
-
-//
-// C++0x macros:
-//
-#if (__CODEGEARC__ <= 0x620)
-#define BOOST_NO_CXX11_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_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-//
-// 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_CXX11_HDR_INITIALIZER_LIST
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/comeau.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/comeau.hpp
deleted file mode 100644
index 278222d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/common_edg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/common_edg.hpp
deleted file mode 100644
index b92e574..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/common_edg.hpp
+++ /dev/null
@@ -1,143 +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
-
-// Not sure what version was the first to support #pragma once, but
-// different EDG-based compilers (e.g. Intel) supported it for ages.
-// Add a proper version check if it causes problems.
-#define BOOST_HAS_PRAGMA_ONCE
-
-//
-// C++0x features
-//
-//   See above for BOOST_NO_LONG_LONG
-//
-#if (__EDG_VERSION__ < 310)
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#endif
-#if (__EDG_VERSION__ <= 310)
-// No support for initializer lists
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-#if (__EDG_VERSION__ < 400)
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/compaq_cxx.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/compaq_cxx.hpp
deleted file mode 100644
index b44486c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/cray.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/cray.hpp
deleted file mode 100644
index 3f66043..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/cray.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//  (C) Copyright John Maddock 2011.
-//  (C) Copyright Cray, Inc. 2013
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (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 < 8
-#  error "Boost is not configured for Cray compilers prior to version 8, 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"
-
-
-//
-//
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-
-//#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 
-
-/* everything that follows is working around what are thought to be
- * compiler shortcomings.  Revist all of these regularly.
- */
-
-//#define BOOST_USE_ENUM_STATIC_ASSERT
-//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define
-
-// These constants should be provided by the 
-// compiler, at least when -hgnu is asserted on the command line.
-
-#ifndef __ATOMIC_RELAXED
-#define __ATOMIC_RELAXED 0
-#define __ATOMIC_CONSUME 1
-#define __ATOMIC_ACQUIRE 2
-#define __ATOMIC_RELEASE 3
-#define __ATOMIC_ACQ_REL 4
-#define __ATOMIC_SEQ_CST 5
-#endif
-
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/digitalmars.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/digitalmars.hpp
deleted file mode 100644
index a3d293c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/digitalmars.hpp
+++ /dev/null
@@ -1,124 +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 !defined(BOOST_STRICT_CONFIG)
-#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:
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_WINTHREADS
-
-#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_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#if (__DMC__ <= 0x840)
-#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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/gcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/gcc.hpp
deleted file mode 100644
index fbd3dd9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/gcc.hpp
+++ /dev/null
@@ -1,327 +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.
-
-//
-// Define BOOST_GCC so we know this is "real" GCC and not some pretender:
-//
-#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-#if !defined(__CUDACC__)
-#define BOOST_GCC BOOST_GCC_VERSION
-#endif
-
-#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
-#  define BOOST_GCC_CXX11
-#endif
-
-#if __GNUC__ == 3
-#  if defined (__PATHSCALE__)
-#     define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#     define BOOST_NO_IS_ABSTRACT
-#  endif
-
-#  if __GNUC_MINOR__ < 4
-#     define BOOST_NO_IS_ABSTRACT
-#  endif
-#  define BOOST_NO_CXX11_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
-
-// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links
-#if BOOST_GCC_VERSION >= 30400
-#define BOOST_HAS_PRAGMA_ONCE
-#endif
-
-#if BOOST_GCC_VERSION < 40400
-// 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"
-// Except on Darwin with standard compliance enabled (-pedantic)
-// Apple gcc helpfully defines this macro we can query
-//
-#if !defined(__DARWIN_NO_LONG_LONG)
-# define BOOST_HAS_LONG_LONG
-#endif
-
-//
-// gcc implements the named return value optimization since version 3.1
-//
-#define BOOST_HAS_NRVO
-
-// Branch prediction hints
-#define BOOST_LIKELY(x) __builtin_expect(x, 1)
-#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
-
-//
-// 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 BOOST_GCC_VERSION > 40300
-#  ifndef __GXX_RTTI
-#     ifndef BOOST_NO_TYPEID
-#        define BOOST_NO_TYPEID
-#     endif
-#     ifndef BOOST_NO_RTTI
-#        define BOOST_NO_RTTI
-#     endif
-#  endif
-#endif
-
-//
-// Recent GCC versions have __int128 when in 64-bit mode.
-//
-// We disable this if the compiler is really nvcc with C++03 as it
-// doesn't actually support __int128 as of CUDA_VERSION=7500
-// even though it defines __SIZEOF_INT128__.
-// See https://svn.boost.org/trac/boost/ticket/8048
-//     https://svn.boost.org/trac/boost/ticket/11852
-// Only re-enable this for nvcc if you're absolutely sure
-// of the circumstances under which it's supported:
-//
-#if defined(__CUDACC__)
-#  if defined(BOOST_GCC_CXX11)
-#    define BOOST_NVCC_CXX11
-#  else
-#    define BOOST_NVCC_CXX03
-#  endif
-#endif
-
-#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03)
-#  define BOOST_HAS_INT128
-#endif
-//
-// Recent GCC versions have a __float128 native type, we need to
-// include a std lib header to detect this - not ideal, but we'll
-// be including <cstddef> later anyway when we select the std lib.
-//
-// Nevertheless, as of CUDA 7.5, using __float128 with the host
-// compiler in pre-C++11 mode is still not supported.
-// See https://svn.boost.org/trac/boost/ticket/11852
-//
-#ifdef __cplusplus
-#include <cstddef>
-#else
-#include <stddef.h>
-#endif
-#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03)
-# define BOOST_HAS_FLOAT128
-#endif
-
-// C++0x features in 4.3.n and later
-//
-#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11)
-// 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_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-
-// C++0x features in 4.4.n and later
-//
-#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11)
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#  define BOOST_NO_CXX11_INLINE_NAMESPACES
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-
-#if BOOST_GCC_VERSION < 40500
-#  define BOOST_NO_SFINAE_EXPR
-#endif
-
-// GCC 4.5 forbids declaration of defaulted functions in private or protected sections
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11)
-#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
-#endif
-
-// C++0x features in 4.5.0 and later
-//
-#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11)
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#endif
-
-// C++0x features in 4.5.1 and later
-//
-#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11)
-// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-// C++0x features in 4.6.n and later
-//
-#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11)
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-// C++0x features in 4.7.n and later
-//
-#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11)
-#  define BOOST_NO_CXX11_FINAL
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#  define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
-#endif
-
-// C++0x features in 4.8.n and later
-//
-#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)
-#  define BOOST_NO_CXX11_ALIGNAS
-#endif
-
-// C++0x features in 4.8.1 and later
-//
-#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11)
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#  define BOOST_NO_CXX11_REF_QUALIFIERS
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-
-// C++14 features in 4.9.0 and later
-//
-#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#  if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11))
-#     define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#  endif
-#endif
-
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-//
-// Unused attribute:
-#if __GNUC__ >= 4
-#  define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
-#endif
-//
-// __builtin_unreachable:
-#if BOOST_GCC_VERSION >= 40800
-#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
-#endif
-
-#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 3.30:
-#if (BOOST_GCC_VERSION< 30300)
-#  error "Compiler not configured - please reconfigure"
-#endif
-//
-// last known and checked version is 4.9:
-#if (BOOST_GCC_VERSION > 40900)
-#  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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/gcc_xml.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/gcc_xml.hpp
deleted file mode 100644
index c11f29d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/gcc_xml.hpp
+++ /dev/null
@@ -1,95 +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_CXX11_CONSTEXPR
-#  define BOOST_NO_CXX11_NULLPTR
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#  define BOOST_NO_SFINAE_EXPR
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#  define BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#  define BOOST_NO_CXX11_ALIGNAS
-#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#  define BOOST_NO_CXX11_INLINE_NAMESPACES
-#  define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/greenhills.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/greenhills.hpp
deleted file mode 100644
index 038b6b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/hp_acc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/hp_acc.hpp
deleted file mode 100644
index fb63839..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/hp_acc.hpp
+++ /dev/null
@@ -1,145 +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_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-
-/*
-  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_CXX11_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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/intel.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/intel.hpp
deleted file mode 100644
index 88ac023..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/intel.hpp
+++ /dev/null
@@ -1,543 +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:
-
-#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
-
-#ifdef _MSC_VER
-
-#include <boost/config/compiler/visualc.hpp>
-
-#undef BOOST_MSVC
-#undef BOOST_MSVC_FULL_VER
-
-#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900)
-//
-// These appear to be supported, even though VC++ may not support them:
-//
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_LOG1P
-#undef BOOST_NO_CXX14_BINARY_LITERALS
-// This one may be a little risky to enable??
-#undef BOOST_NO_SFINAE_EXPR
-
-#endif
-
-#else
-
-#include <boost/config/compiler/gcc.hpp>
-
-#undef BOOST_GCC_VERSION
-#undef BOOST_GCC_CXX11
-
-#endif
-
-#undef BOOST_COMPILER
-
-#if defined(__INTEL_COMPILER)
-#if __INTEL_COMPILER == 9999
-#  define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.
-#else
-#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
-#endif
-#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__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_INTEL_STDCXX0X
-#endif
-#if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#  define BOOST_INTEL_STDCXX0X
-#endif
-
-#ifdef __GNUC__
-#  define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-#endif
-
-#if !defined(BOOST_COMPILER)
-#  if defined(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
-#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
-
-#else
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#if defined(__INTEL_COMPILER)
-#if __INTEL_COMPILER == 9999
-#  define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.
-#else
-#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
-#endif
-#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__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_INTEL_STDCXX0X
-#endif
-#if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#  define BOOST_INTEL_STDCXX0X
-#endif
-
-#ifdef __GNUC__
-#  define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-#endif
-
-#if !defined(BOOST_COMPILER)
-#  if defined(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
-#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 <= 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)) || (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
-
-// Branch prediction hints
-// I'm not sure 8.0 was the first version to support these builtins,
-// update the condition if the version is not accurate. (Andrey Semashev)
-#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800
-#define BOOST_LIKELY(x) __builtin_expect(x, 1)
-#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
-#endif
-
-// RTTI
-// __RTTI is the EDG macro
-// __INTEL_RTTI__ is the Intel macro
-// __GXX_RTTI is the g++ macro
-// _CPPRTTI is the MSVC++ macro
-#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI)
-
-#if !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-// in MS mode, static typeid works even when RTTI is off
-#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID)
-# define BOOST_NO_TYPEID
-#endif
-
-#endif
-
-//
-// versions check:
-// we don't support Intel prior to version 6.0:
-#if BOOST_INTEL_CXX_VERSION < 600
-#  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) || (defined(_WIN32) && (__INTEL_COMPILER < 1600))
-#    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
-// For each feature we need to check both the Intel compiler version, 
-// and the version of MSVC or GCC that we are emulating.
-// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
-// for a list of which features were implemented in which Intel releases.
-//
-#if defined(BOOST_INTEL_STDCXX0X)
-// BOOST_NO_CXX11_CONSTEXPR:
-#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER)
-// Available in earlier Intel versions, but fail our tests:
-#  undef BOOST_NO_CXX11_CONSTEXPR
-#endif
-// BOOST_NO_CXX11_NULLPTR:
-#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-#  undef BOOST_NO_CXX11_NULLPTR
-#endif
-// BOOST_NO_CXX11_TEMPLATE_ALIASES
-#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_TEMPLATE_ALIASES
-#endif
-
-// BOOST_NO_CXX11_DECLTYPE
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-#  undef BOOST_NO_CXX11_DECLTYPE
-#endif
-
-// BOOST_NO_CXX11_DECLTYPE_N3276
-#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_DECLTYPE_N3276
-#endif
-
-// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-
-// BOOST_NO_CXX11_RVALUE_REFERENCES
-#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-// This is available from earlier Intel versions, but breaks Filesystem and other libraries:
-#  undef BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-
-// BOOST_NO_CXX11_STATIC_ASSERT
-#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-#  undef BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-
-// BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-
-// BOOST_NO_CXX11_VARIADIC_MACROS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400))
-#  undef BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-// BOOST_NO_CXX11_AUTO_DECLARATIONS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-#  undef BOOST_NO_CXX11_AUTO_DECLARATIONS
-#endif
-
-// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-#  undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-// BOOST_NO_CXX11_CHAR16_T
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
-#  undef BOOST_NO_CXX11_CHAR16_T
-#endif
-
-// BOOST_NO_CXX11_CHAR32_T
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
-#  undef BOOST_NO_CXX11_CHAR32_T
-#endif
-
-// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#endif
-
-// BOOST_NO_CXX11_DELETED_FUNCTIONS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_DELETED_FUNCTIONS
-#endif
-
-// BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
-#  undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
-// BOOST_NO_CXX11_SCOPED_ENUMS
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
-// This is available but broken in earlier Intel releases.
-#  undef BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-// BOOST_NO_SFINAE_EXPR
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
-#  undef BOOST_NO_SFINAE_EXPR
-#endif
-
-// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-// This is available in earlier Intel releases, but breaks Multiprecision:
-#  undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#endif
-
-// BOOST_NO_CXX11_LAMBDAS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
-#  undef BOOST_NO_CXX11_LAMBDAS
-#endif
-
-// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500))
-#  undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-
-// BOOST_NO_CXX11_RANGE_BASED_FOR
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
-#  undef BOOST_NO_CXX11_RANGE_BASED_FOR
-#endif
-
-// BOOST_NO_CXX11_RAW_LITERALS
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_RAW_LITERALS
-#endif
-
-// BOOST_NO_CXX11_UNICODE_LITERALS
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
-#  undef BOOST_NO_CXX11_UNICODE_LITERALS
-#endif
-
-// BOOST_NO_CXX11_NOEXCEPT
-#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
-// Available in earlier Intel release, but generates errors when used with 
-// conditional exception specifications, for example in multiprecision:
-#  undef BOOST_NO_CXX11_NOEXCEPT
-#endif
-
-// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
-#  undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-// BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
-#  undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#endif
-
-// BOOST_NO_CXX11_ALIGNAS
-#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
-#  undef BOOST_NO_CXX11_ALIGNAS
-#endif
-
-// BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
-#  undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#endif
-
-// BOOST_NO_CXX11_INLINE_NAMESPACES
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
-#  undef BOOST_NO_CXX11_INLINE_NAMESPACES
-#endif
-
-// BOOST_NO_CXX11_REF_QUALIFIERS
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
-#  undef BOOST_NO_CXX11_REF_QUALIFIERS
-#endif
-
-// BOOST_NO_CXX11_FINAL
-#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
-#  undef BOOST_NO_CXX11_FINAL
-#endif
-
-#endif
-
-//
-// Broken in all versions up to 15:
-#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
-
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400)
-// A regression in Intel's compiler means that <tuple> seems to be broken in this release as well as <future> :
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#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
-
-// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections,
-// producing the following errors:
-// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object
-#if (BOOST_INTEL_CXX_VERSION <= 1310)
-#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#  define BOOST_HAS_STDINT_H
-#endif
-
-#if defined(__CUDACC__)
-#  if defined(BOOST_GCC_CXX11)
-#    define BOOST_NVCC_CXX11
-#  else
-#    define BOOST_NVCC_CXX03
-#  endif
-#endif
-
-#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03)
-#  define BOOST_HAS_INT128
-#endif
-
-#endif
-//
-// last known and checked version:
-#if (BOOST_INTEL_CXX_VERSION > 1500)
-#  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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/kai.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/kai.hpp
deleted file mode 100644
index 2337e6a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/metrowerks.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/metrowerks.hpp
deleted file mode 100644
index c930143..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/metrowerks.hpp
+++ /dev/null
@@ -1,179 +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_CXX11_RVALUE_REFERENCES
-#endif
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/mpw.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/mpw.hpp
deleted file mode 100644
index 76045bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/mpw.hpp
+++ /dev/null
@@ -1,121 +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_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-//
-// 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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/nvcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/nvcc.hpp
deleted file mode 100644
index 5a04707..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/nvcc.hpp
+++ /dev/null
@@ -1,24 +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__
-
-// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions
-// https://svn.boost.org/trac/boost/ticket/11897
-// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
-// check is enough to detect versions < 7.5
-#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
-#   define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/pathscale.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/pathscale.hpp
deleted file mode 100644
index 7c211c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/pathscale.hpp
+++ /dev/null
@@ -1,114 +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_CXX11_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#  define BOOST_NO_SFINAE_EXPR
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_NULLPTR
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#  define BOOST_NO_CXX11_CONSTEXPR
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#  define BOOST_NO_CXX11_ALIGNAS
-#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#  define BOOST_NO_CXX11_INLINE_NAMESPACES
-#  define BOOST_NO_CXX11_REF_QUALIFIERS
-#  define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/pgi.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/pgi.hpp
deleted file mode 100644
index e5605c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/pgi.hpp
+++ /dev/null
@@ -1,155 +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(BOOST_COMPILER_VERSION)
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-
-#if __PGIC__ >= 11
-
-// options requested by configure --enable-test
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_PTHREAD_YIELD
-#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
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-
-#elif __PGIC__ >= 10
-
-// options requested by configure --enable-test
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
-#if defined(linux) || defined(__linux) || defined(__linux__)
-#  define BOOST_HAS_STDINT_H
-#endif
-
-// 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_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_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_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NUMERIC_LIMITS
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-
-#define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#define BOOST_NO_CXX11_HDR_TYPEINDEX
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#define BOOST_NO_CXX11_HDR_TUPLE
-#define BOOST_NO_CXX11_HDR_THREAD
-#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#define BOOST_NO_CXX11_HDR_REGEX
-#define BOOST_NO_CXX11_HDR_RATIO
-#define BOOST_NO_CXX11_HDR_RANDOM
-#define BOOST_NO_CXX11_HDR_MUTEX
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_HDR_FUTURE
-#define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#define BOOST_NO_CXX11_HDR_CODECVT
-#define BOOST_NO_CXX11_HDR_CHRONO
-#define BOOST_NO_CXX11_HDR_ARRAY
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-//
-// version check:
-// probably nothing to do here?
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/sgi_mipspro.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/sgi_mipspro.hpp
deleted file mode 100644
index 9068831..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/sunpro_cc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/sunpro_cc.hpp
deleted file mode 100644
index 6017660..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/sunpro_cc.hpp
+++ /dev/null
@@ -1,190 +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
-
-#if (__SUNPRO_CC < 0x5130)
-// C++03 features in 12.4:
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_ADL_BARRIER
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100)
-// C++11 only featuires in 12.4:
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_FINAL
-#endif
-
-#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#endif
-
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-//
-// C++0x features
-//
-#  define BOOST_HAS_LONG_LONG
-
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-//
-// 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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/vacpp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/vacpp.hpp
deleted file mode 100644
index 6c228ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/vacpp.hpp
+++ /dev/null
@@ -1,162 +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 1210:
-#if (__IBMCPP__ > 1210)
-#  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_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-#if ! __IBMCPP_UTF_LITERAL__
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#endif
-#if ! __IBMCPP_CONSTEXPR
-#  define BOOST_NO_CXX11_CONSTEXPR
-#endif
-#if ! __IBMCPP_DECLTYPE
-#  define BOOST_NO_CXX11_DECLTYPE
-#else
-#  define BOOST_HAS_DECLTYPE
-#endif
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#endif
-#if ! __IBMCPP_EXTERN_TEMPLATE
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#endif
-#if ! __IBMCPP_VARIADIC_TEMPLATES
-// not enabled separately at this time
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#if ! __IBMCPP_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-#if ! __IBMCPP_SCOPED_ENUM
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#if ! __IBMCPP_STATIC_ASSERT
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#if ! __IBMCPP_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-#if ! __C99_MACRO_WITH_VA_ARGS
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-#define BOOST_NO_CXX11_REF_QUALIFIERS
-#define BOOST_NO_CXX11_FINAL
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-#if (__cplusplus < 201304) // There's no SD6 check for this....
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/visualc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/visualc.hpp
deleted file mode 100644
index baaab58..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/visualc.hpp
+++ /dev/null
@@ -1,298 +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:
-//
-//  We need to be careful with the checks in this file, as contrary
-//  to popular belief there are versions with _MSC_VER with the final
-//  digit non-zero (mainly the MIPS cross compiler).
-//
-//  So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
-//  No other comparisons (==, >, or <=) are safe.
-//
-
-#define BOOST_MSVC _MSC_VER
-
-//
-// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
-//
-#if _MSC_FULL_VER > 100000000
-#  define BOOST_MSVC_FULL_VER _MSC_FULL_VER
-#else
-#  define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
-#endif
-
-// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
-#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
-
-#define BOOST_HAS_PRAGMA_ONCE
-
-//
-// versions check:
-// we don't support Visual C++ prior to version 7.1:
-#if _MSC_VER < 1310
-#  error "Compiler not supported or configured - please reconfigure"
-#endif
-
-#if _MSC_FULL_VER < 180020827
-#  define BOOST_NO_FENV_H
-#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_CXX11_EXTERN_TEMPLATE
-// Variadic macros do not exist for VC7.1 and lower
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-
-#if _MSC_VER < 1500  // 140X == VC++ 8.0
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-#if _MSC_VER < 1600  // 150X == VC++ 9.0
-   // A bug in VC9:
-#  define BOOST_NO_ADL_BARRIER
-#endif
-
-
-#ifndef _NATIVE_WCHAR_T_DEFINED
-#  define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-//
-// check for exception handling support:
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
-#endif
-
-//
-// __int64 support:
-//
-#define BOOST_HAS_MS_INT64
-#if 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
-#if _MSC_VER >= 1600  // 160X == VC++ 10.0
-#  define BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#endif
-//
-// disable Win32 API's if compiler extensions 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
-
-//
-// TR1 features:
-//
-#if _MSC_VER >= 1700
-// # define BOOST_HAS_TR1_HASH			// don't know if this is true yet.
-// # define BOOST_HAS_TR1_TYPE_TRAITS	// don't know if this is true yet.
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-#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_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#  define BOOST_NO_CXX11_NULLPTR
-#  define BOOST_NO_CXX11_DECLTYPE
-#endif // _MSC_VER < 1600
-
-#if _MSC_VER >= 1600
-#  define BOOST_HAS_STDINT_H
-#endif
-
-// C++11 features supported by VC++ 11 (aka 2012)
-//
-#if _MSC_VER < 1700
-#  define BOOST_NO_CXX11_FINAL
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif // _MSC_VER < 1700
-
-// C++11 features supported by VC++ 12 (aka 2013).
-//
-#if _MSC_FULL_VER < 180020827
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#endif
-
-// C++11 features supported by VC++ 14 (aka 2015)
-//
-#if (_MSC_FULL_VER < 190023026)
-#  define BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NO_CXX11_REF_QUALIFIERS
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#  define BOOST_NO_CXX11_ALIGNAS
-#  define BOOST_NO_CXX11_INLINE_NAMESPACES
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-
-// MSVC including version 14 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
-// Reported again by John Maddock in 2015 for VC14:
-// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, May 2010)
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-// C++11 features not supported by any versions
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-//
-// This is somewhat supported in VC14, but we may need to wait for
-// a service release before enabling:
-//
-#define BOOST_NO_CXX11_CONSTEXPR
-
-// C++ 14:
-#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-//
-// 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
-
-#ifndef BOOST_COMPILER
-// 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 < 1400
-      // Note: I'm not aware of any CE compiler with version 13xx
-#      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
-#   elif _MSC_VER < 1500
-#     define BOOST_COMPILER_VERSION evc8
-#   elif _MSC_VER < 1600
-#     define BOOST_COMPILER_VERSION evc9
-#   elif _MSC_VER < 1700
-#     define BOOST_COMPILER_VERSION evc10
-#   elif _MSC_VER < 1800 
-#     define BOOST_COMPILER_VERSION evc11 
-#   elif _MSC_VER < 1900 
-#     define BOOST_COMPILER_VERSION evc12
-#   elif _MSC_VER < 2000  
-#     define BOOST_COMPILER_VERSION evc14
-#   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 < 1310
-      // Note: Versions up to 7.0 aren't supported.
-#     define BOOST_COMPILER_VERSION 5.0
-#   elif _MSC_VER < 1300
-#     define BOOST_COMPILER_VERSION 6.0
-#   elif _MSC_VER < 1310
-#     define BOOST_COMPILER_VERSION 7.0
-#   elif _MSC_VER < 1400
-#     define BOOST_COMPILER_VERSION 7.1
-#   elif _MSC_VER < 1500
-#     define BOOST_COMPILER_VERSION 8.0
-#   elif _MSC_VER < 1600
-#     define BOOST_COMPILER_VERSION 9.0
-#   elif _MSC_VER < 1700
-#     define BOOST_COMPILER_VERSION 10.0
-#   elif _MSC_VER < 1800 
-#     define BOOST_COMPILER_VERSION 11.0
-#   elif _MSC_VER < 1900
-#     define BOOST_COMPILER_VERSION 12.0
-#   elif _MSC_VER < 2000
-#     define BOOST_COMPILER_VERSION 14.0
-#   else
-#     define BOOST_COMPILER_VERSION _MSC_VER
-#   endif
-# endif
-
-#  define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-#endif
-
-//
-// last known and checked version is 19.00.23026 (VC++ 2015 RTM):
-#if (_MSC_VER > 1900)
-#  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/rbgl_trimmed_boost_1_61_0/boost/config/compiler/xlcpp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/xlcpp.hpp
deleted file mode 100644
index e369ece..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/compiler/xlcpp.hpp
+++ /dev/null
@@ -1,258 +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.
-
-//  compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang.
-
-#define BOOST_HAS_PRAGMA_ONCE
-
-// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
-#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
-#   define BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#endif
-
-// When compiling with clang before __has_extension was defined,
-// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
-// clang reports a compiler error. So the only workaround found is:
-
-#ifndef __has_extension
-#define __has_extension __has_feature
-#endif
-
-#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
-#  define BOOST_NO_TYPEID
-#endif
-
-#if defined(__int64) && !defined(__GNUC__)
-#  define BOOST_HAS_MS_INT64
-#endif
-
-#define BOOST_HAS_NRVO
-
-// Branch prediction hints
-#if defined(__has_builtin)
-#if __has_builtin(__builtin_expect)
-#define BOOST_LIKELY(x) __builtin_expect(x, 1)
-#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
-#endif
-#endif
-
-// Clang supports "long long" in all compilation modes.
-#define BOOST_HAS_LONG_LONG
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
-#  define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
-#  define BOOST_SYMBOL_IMPORT
-#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
-#endif
-
-//
-// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
-// between switch labels.
-//
-#if __cplusplus >= 201103L && defined(__has_warning)
-#  if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
-#    define BOOST_FALLTHROUGH [[clang::fallthrough]]
-#  endif
-#endif
-
-#if !__has_feature(cxx_auto_type)
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-//
-// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
-//
-#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#endif
-
-#if !__has_feature(cxx_constexpr)
-#  define BOOST_NO_CXX11_CONSTEXPR
-#endif
-
-#if !__has_feature(cxx_decltype)
-#  define BOOST_NO_CXX11_DECLTYPE
-#endif
-
-#if !__has_feature(cxx_decltype_incomplete_return_types)
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#endif
-
-#if !__has_feature(cxx_defaulted_functions)
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#endif
-
-#if !__has_feature(cxx_deleted_functions)
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#endif
-
-#if !__has_feature(cxx_explicit_conversions)
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#endif
-
-#if !__has_feature(cxx_default_function_template_args)
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-
-#if !__has_feature(cxx_generalized_initializers)
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
-#if !__has_feature(cxx_lambdas)
-#  define BOOST_NO_CXX11_LAMBDAS
-#endif
-
-#if !__has_feature(cxx_local_type_template_args)
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-
-#if !__has_feature(cxx_noexcept)
-#  define BOOST_NO_CXX11_NOEXCEPT
-#endif
-
-#if !__has_feature(cxx_nullptr)
-#  define BOOST_NO_CXX11_NULLPTR
-#endif
-
-#if !__has_feature(cxx_range_for)
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#endif
-
-#if !__has_feature(cxx_raw_string_literals)
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#endif
-
-#if !__has_feature(cxx_reference_qualified_functions)
-#  define BOOST_NO_CXX11_REF_QUALIFIERS
-#endif
-
-#if !__has_feature(cxx_generalized_initializers)
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-#if !__has_feature(cxx_rvalue_references)
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-
-#if !__has_feature(cxx_strong_enums)
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif
-
-#if !__has_feature(cxx_static_assert)
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#endif
-
-#if !__has_feature(cxx_alias_templates)
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#endif
-
-#if !__has_feature(cxx_unicode_literals)
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#endif
-
-#if !__has_feature(cxx_variadic_templates)
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#endif
-
-#if !__has_feature(cxx_user_literals)
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#endif
-
-#if !__has_feature(cxx_alignas)
-#  define BOOST_NO_CXX11_ALIGNAS
-#endif
-
-#if !__has_feature(cxx_trailing_return)
-#  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#endif
-
-#if !__has_feature(cxx_inline_namespaces)
-#  define BOOST_NO_CXX11_INLINE_NAMESPACES
-#endif
-
-#if !__has_feature(cxx_override_control)
-#  define BOOST_NO_CXX11_FINAL
-#endif
-
-#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
-#  define BOOST_NO_CXX14_BINARY_LITERALS
-#endif
-
-#if !__has_feature(__cxx_decltype_auto__)
-#  define BOOST_NO_CXX14_DECLTYPE_AUTO
-#endif
-
-#if !__has_feature(__cxx_aggregate_nsdmi__)
-#  define BOOST_NO_CXX14_AGGREGATE_NSDMI
-#endif
-
-#if !__has_feature(__cxx_init_captures__)
-#  define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
-#endif
-
-#if !__has_feature(__cxx_generic_lambdas__)
-#  define BOOST_NO_CXX14_GENERIC_LAMBDAS
-#endif
-
-// clang < 3.5 has a defect with dependent type, like following.
-//
-//  template <class T>
-//  constexpr typename enable_if<pred<T> >::type foo(T &)
-//  { } // error: no return statement in constexpr function
-//
-// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
-// Therefore we don't care such case.
-//
-// Note that we can't check Clang version directly as the numbering system changes depending who's
-// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
-// so instead verify that we have a feature that was introduced at the same time as working C++14
-// constexpr (generic lambda's in this case):
-//
-#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
-#  define BOOST_NO_CXX14_CONSTEXPR
-#endif
-
-#if !__has_feature(__cxx_return_type_deduction__)
-#  define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
-#endif
-
-#if !__has_feature(__cxx_variable_templates__)
-#  define BOOST_NO_CXX14_VARIABLE_TEMPLATES
-#endif
-
-#if __cplusplus < 201400
-// All versions with __cplusplus above this value seem to support this:
-#  define BOOST_NO_CXX14_DIGIT_SEPARATORS
-#endif
-
-
-// Unused attribute:
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#  define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/cmath.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/cmath.hpp
deleted file mode 100644
index d8268d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/complex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/complex.hpp
deleted file mode 100644
index ca20092..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/functional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/functional.hpp
deleted file mode 100644
index e395efc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/memory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/memory.hpp
deleted file mode 100644
index 2b5d208..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/no_tr1/utility.hpp
deleted file mode 100644
index dea8f11..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/aix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/aix.hpp
deleted file mode 100644
index 894ef42..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/amigaos.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/amigaos.hpp
deleted file mode 100644
index 34bcf41..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/beos.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/beos.hpp
deleted file mode 100644
index 48c3d8d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/bsd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/bsd.hpp
deleted file mode 100644
index a014297..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/cloudabi.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/cloudabi.hpp
deleted file mode 100644
index bed7b63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/cloudabi.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//       Copyright Nuxi, https://nuxi.nl/ 2015.
-// Distributed under the 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_PLATFORM "CloudABI"
-
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_UNISTD_H
-
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_SCHED_YIELD
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/cray.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/cray.hpp
deleted file mode 100644
index 5c476e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/cygwin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/cygwin.hpp
deleted file mode 100644
index b7ef572..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/haiku.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/haiku.hpp
deleted file mode 100644
index 750866c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/haiku.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//  (C) Copyright Jessica Hamilton 2014.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (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.
-
-//  Haiku specific config options:
-
-#define BOOST_PLATFORM "Haiku"
-
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_STDINT_H
-
-#ifndef BOOST_DISABLE_THREADS
-#  define BOOST_HAS_THREADS
-#endif
-
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-
-//
-// thread API's not auto detected:
-//
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_GETTIMEOFDAY
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/hpux.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/hpux.hpp
deleted file mode 100644
index 19ce68e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/irix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/irix.hpp
deleted file mode 100644
index aeae49c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/linux.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/linux.hpp
deleted file mode 100644
index 6fa5f45..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/linux.hpp
+++ /dev/null
@@ -1,105 +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>
-#ifdef __USE_GNU
-#define BOOST_HAS_PTHREAD_YIELD
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/platform/macos.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/macos.hpp
deleted file mode 100644
index 5be4e3b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/qnxnto.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/qnxnto.hpp
deleted file mode 100644
index b1377c8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/solaris.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/solaris.hpp
deleted file mode 100644
index 6e4efc9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/solaris.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.
-
-//  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
-
-#define BOOST_HAS_STDINT_H 
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 
-#define BOOST_HAS_LOG1P 
-#define BOOST_HAS_EXPM1
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/symbian.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/symbian.hpp
deleted file mode 100644
index e02a778..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/vms.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/vms.hpp
deleted file mode 100644
index f70efcf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/platform/vxworks.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/vxworks.hpp
deleted file mode 100644
index cdda015..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/vxworks.hpp
+++ /dev/null
@@ -1,369 +0,0 @@
-//  (C) Copyright Dustin Spicuzza 2009.
-//      Adapted to vxWorks 6.9 by Peter Brockamp 2012.
-//  Use, modification and distribution are subject to the
-//  Boost Software License, Version 1.0. (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.
-
-//  Since WRS does not yet properly support boost under vxWorks
-//  and this file was badly outdated, but I was keen on using it,
-//  I patched boost myself to make things work. This has been tested
-//  and adapted by me for vxWorks 6.9 *only*, as I'm lacking access
-//  to earlier 6.X versions! The only thing I know for sure is that
-//  very old versions of vxWorks (namely everything below 6.x) are
-//  absolutely unable to use boost. This is mainly due to the completely
-//  outdated libraries and ancient compiler (GCC 2.96 or worse). Do
-//  not even think of getting this to work, a miserable failure will
-//  be guaranteed!
-//  Equally, this file has been tested for RTPs (Real Time Processes)
-//  only, not for DKMs (Downloadable Kernel Modules). These two types
-//  of executables differ largely in the available functionality of
-//  the C-library, STL, and so on. A DKM uses a library similar to those
-//  of vxWorks 5.X - with all its limitations and incompatibilities
-//  with respect to ANSI C++ and STL. So probably there might be problems
-//  with the usage of boost from DKMs. WRS or any voluteers are free to
-//  prove the opposite!
-
-// ====================================================================
-//
-// Some important information regarding the usage of POSIX semaphores:
-// -------------------------------------------------------------------
-//
-// VxWorks as a real time operating system handles threads somewhat
-// different from what "normal" OSes do, regarding their scheduling!
-// This could lead to a scenario called "priority inversion" when using
-// semaphores, see http://en.wikipedia.org/wiki/Priority_inversion.
-//
-// Now, VxWorks POSIX-semaphores for DKM's default to the usage of
-// priority inverting semaphores, which is fine. On the other hand,
-// for RTP's it defaults to using non priority inverting semaphores,
-// which could easily pose a serious problem for a real time process,
-// i.e. deadlocks! To overcome this two possibilities do exist:
-//
-// a) Patch every piece of boost that uses semaphores to instanciate
-//    the proper type of semaphores. This is non-intrusive with respect
-//    to the OS and could relatively easy been done by giving all
-//    semaphores attributes deviating from the default (for in-depth
-//    information see the POSIX functions pthread_mutexattr_init()
-//    and pthread_mutexattr_setprotocol()). However this breaks all
-//    too easily, as with every new version some boost library could
-//    all in a sudden start using semaphores, resurrecting the very
-//    same, hard to locate problem over and over again!
-//
-// b) We could change the default properties for POSIX-semaphores
-//    that VxWorks uses for RTP's and this is being suggested here,
-//    as it will more or less seamlessly integrate with boost. I got
-//    the following information from WRS how to do this, compare
-//    Wind River TSR# 1209768:
-//
-// Instructions for changing the default properties of POSIX-
-// semaphores for RTP's in VxWorks 6.9:
-// - Edit the file /vxworks-6.9/target/usr/src/posix/pthreadLib.c
-//   in the root of your Workbench-installation.
-// - Around line 917 there should be the definition of the default
-//   mutex attributes:
-//
-//   LOCAL pthread_mutexattr_t defaultMutexAttr =
-//       {
-//       PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0,
-//       PTHREAD_MUTEX_DEFAULT
-//       };
-//
-//   Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
-// - Around line 1236 there should be a definition for the function
-//   pthread_mutexattr_init(). A couple of lines below you should
-//   find a block of code like this:
-//
-//   pAttr->mutexAttrStatus      = PTHREAD_INITIALIZED_OBJ;
-//   pAttr->mutexAttrProtocol    = PTHREAD_PRIO_NONE;
-//   pAttr->mutexAttrPrioceiling = 0;
-//   pAttr->mutexAttrType        = PTHREAD_MUTEX_DEFAULT;
-//
-//   Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
-// - Finally, rebuild your VSB. This will create a new VxWorks kernel
-//   with the changed properties. That's it! Now, using boost should
-//   no longer cause any problems with task deadlocks!
-//
-// And here's another useful piece of information concerning VxWorks'
-// POSIX-functionality in general:
-// VxWorks is not a genuine POSIX-OS in itself, rather it is using a
-// kind of compatibility layer (sort of a wrapper) to emulate the
-// POSIX-functionality by using its own resources and functions.
-// At the time a task (thread) calls it's first POSIX-function during
-// runtime it is being transformed by the OS into a POSIX-thread.
-// This transformation does include a call to malloc() to allocate the
-// memory required for the housekeeping of POSIX-threads. In a high
-// priority RTP this malloc() call may be highly undesirable, as its
-// timing is more or less unpredictable (depending on what your actual
-// heap looks like). You can circumvent this problem by calling the
-// function thread_self() at a well defined point in the code of the
-// task, e.g. shortly after the task spawns up. Thereby you are able
-// to define the time when the task-transformation will take place and
-// you could shift it to an uncritical point where a malloc() call is
-// tolerable. So, if this could pose a problem for your code, remember
-// to call thread_self() from the affected task at an early stage.
-//
-// ====================================================================
-
-// Block out all versions before vxWorks 6.x, as these don't work:
-// Include header with the vxWorks version information and query them
-#include <version.h>
-#if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6)
-#  error "The vxWorks version you're using is so badly outdated,\
-          it doesn't work at all with boost, sorry, no chance!"
-#endif
-
-// Handle versions above 5.X but below 6.9
-#if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9)
-// TODO: Starting from what version does vxWorks work with boost?
-// We can't reasonably insert a #warning "" as a user hint here,
-// as this will show up with every file including some boost header,
-// badly bugging the user... So for the time being we just leave it.
-#endif
-
-// vxWorks specific config options:
-// --------------------------------
-#define BOOST_PLATFORM "vxWorks"
-
-// Special behaviour for DKMs:
-#ifdef _WRS_KERNEL
-  // DKMs do not have the <cwchar>-header,
-  // but apparently they do have an intrinsic wchar_t meanwhile!
-#  define BOOST_NO_CWCHAR
-
-  // Lots of wide-functions and -headers are unavailable for DKMs as well:
-#  define BOOST_NO_CWCTYPE
-#  define BOOST_NO_SWPRINTF
-#  define BOOST_NO_STD_WSTRING
-#  define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-// Generally available headers:
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_SLIST
-
-// vxWorks does not have installed an iconv-library by default,
-// so unfortunately no Unicode support from scratch is available!
-// Thus, instead it is suggested to switch to ICU, as this seems
-// to be the most complete and portable option...
-#define BOOST_LOCALE_WITH_ICU
-
-// Generally available functionality:
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_MACRO_USE_FACET
-
-// Generally unavailable functionality, delivered by boost's test function:
-//#define BOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result!
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-
-// Generally available threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_SIGACTION
-
-// Functionality available for RTPs only:
-#ifdef __RTP__
-#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  define BOOST_HAS_LOG1P
-#  define BOOST_HAS_EXPM1
-#endif
-
-// Functionality available for DKMs only:
-#ifdef _WRS_KERNEL
-  // Luckily, at the moment there seems to be none!
-#endif
-
-// These #defines allow posix_features to work, since vxWorks doesn't
-// #define them itself for DKMs (for RTPs on the contrary it does):
-#ifdef _WRS_KERNEL
-#  ifndef _POSIX_TIMERS
-#    define _POSIX_TIMERS  1
-#  endif
-#  ifndef _POSIX_THREADS
-#    define _POSIX_THREADS 1
-#  endif
-#endif
-
-// vxWorks doesn't work with asio serial ports:
-#define BOOST_ASIO_DISABLE_SERIAL_PORT
-// TODO: The problem here seems to bee that vxWorks uses its own, very specific
-//       ways to handle serial ports, incompatible with POSIX or anything...
-//       Maybe a specific implementation would be possible, but until the
-//       straight need arises... This implementation would presumably consist
-//       of some vxWorks specific ioctl-calls, etc. Any voluteers?
-
-// vxWorks-around: <time.h> #defines CLOCKS_PER_SEC as sysClkRateGet() but
-//                 miserably fails to #include the required <sysLib.h> to make
-//                 sysClkRateGet() available! So we manually include it here.
-#ifdef __RTP__
-#  include <time.h>
-#  include <sysLib.h>
-#endif
-
-// vxWorks-around: In <stdint.h> the macros INT32_C(), UINT32_C(), INT64_C() and
-//                 UINT64_C() are defined errorneously, yielding not a signed/
-//                 unsigned long/long long type, but a signed/unsigned int/long
-//                 type. Eventually this leads to compile errors in ratio_fwd.hpp,
-//                 when trying to define several constants which do not fit into a
-//                 long type! We correct them here by redefining.
-#include <cstdint>
-
-// Some macro-magic to do the job
-#define VX_JOIN(X, Y)     VX_DO_JOIN(X, Y)
-#define VX_DO_JOIN(X, Y)  VX_DO_JOIN2(X, Y)
-#define VX_DO_JOIN2(X, Y) X##Y
-
-// Correctly setup the macros
-#undef  INT32_C
-#undef  UINT32_C
-#undef  INT64_C
-#undef  UINT64_C
-#define INT32_C(x)  VX_JOIN(x, L)
-#define UINT32_C(x) VX_JOIN(x, UL)
-#define INT64_C(x)  VX_JOIN(x, LL)
-#define UINT64_C(x) VX_JOIN(x, ULL)
-
-// #include Libraries required for the following function adaption
-#include <ioLib.h>
-#include <tickLib.h>
-#include <sys/time.h>
-
-// Use C-linkage for the following helper functions
-extern "C" {
-
-// vxWorks-around: The required functions getrlimit() and getrlimit() are missing.
-//                 But we have the similar functions getprlimit() and setprlimit(),
-//                 which may serve the purpose.
-//                 Problem: The vxWorks-documentation regarding these functions
-//                 doesn't deserve its name! It isn't documented what the first two
-//                 parameters idtype and id mean, so we must fall back to an educated
-//                 guess - null, argh... :-/
-
-// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason.
-//       Thus for DKMs there would have to be another implementation.
-#ifdef __RTP__
-  inline int getrlimit(int resource, struct rlimit *rlp){
-    return getprlimit(0, 0, resource, rlp);
-  }
-
-  inline int setrlimit(int resource, const struct rlimit *rlp){
-    return setprlimit(0, 0, resource, const_cast<struct rlimit*>(rlp));
-  }
-#endif
-
-// vxWorks has ftruncate() only, so we do simulate truncate():
-inline int truncate(const char *p, off_t l){
-  int fd = open(p, O_WRONLY);
-  if (fd == -1){
-    errno = EACCES;
-    return -1;
-  }
-  if (ftruncate(fd, l) == -1){
-    close(fd);
-    errno = EACCES;
-    return -1;
-  }
-  return close(fd);
-}
-
-// Fake symlink handling by dummy functions:
-inline int symlink(const char*, const char*){
-  // vxWorks has no symlinks -> always return an error!
-  errno = EACCES;
-  return -1;
-}
-
-inline ssize_t readlink(const char*, char*, size_t){
-  // vxWorks has no symlinks -> always return an error!
-  errno = EACCES;
-  return -1;
-}
-
-// vxWorks claims to implement gettimeofday in sys/time.h
-// but nevertheless does not provide it! See
-// https://support.windriver.com/olsPortal/faces/maintenance/techtipDetail_noHeader.jspx?docId=16442&contentId=WR_TECHTIP_006256
-// We implement a surrogate version here via clock_gettime:
-inline int gettimeofday(struct timeval *tv, void * /*tzv*/) {
-  struct timespec ts;
-  clock_gettime(CLOCK_MONOTONIC, &ts);
-  tv->tv_sec  = ts.tv_sec;
-  tv->tv_usec = ts.tv_nsec / 1000;
-  return 0;
-}
-
-// vxWorks does provide neither struct tms nor function times()!
-// We implement an empty dummy-function, simply setting the user
-// and system time to the half of thew actual system ticks-value
-// and the child user and system time to 0.
-// Rather ugly but at least it suppresses compiler errors...
-// Unfortunately, this of course *does* have an severe impact on
-// dependant libraries, actually this is chrono only! Here it will
-// not be possible to correctly use user and system times! But
-// as vxWorks is lacking the ability to calculate user and system
-// process times there seems to be no other possible solution.
-struct tms{
-  clock_t tms_utime;  // User CPU time
-  clock_t tms_stime;  // System CPU time
-  clock_t tms_cutime; // User CPU time of terminated child processes
-  clock_t tms_cstime; // System CPU time of terminated child processes
-};
-
-inline clock_t times(struct tms *t){
-  struct timespec ts;
-  clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
-  clock_t ticks(static_cast<clock_t>(static_cast<double>(ts.tv_sec)  * CLOCKS_PER_SEC +
-                                     static_cast<double>(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0));
-  t->tms_utime  = ticks/2U;
-  t->tms_stime  = ticks/2U;
-  t->tms_cutime = 0; // vxWorks is lacking the concept of a child process!
-  t->tms_cstime = 0; // -> Set the wait times for childs to 0
-  return ticks;
-}
-
-} // extern "C"
-
-// Put the selfmade functions into the std-namespace, just in case
-namespace std {
-# ifdef __RTP__
-    using ::getrlimit;
-    using ::setrlimit;
-# endif
-  using ::truncate;
-  using ::symlink;
-  using ::readlink;
-  using ::times;
-  using ::gettimeofday;
-}
-
-// Some more macro-magic:
-// vxWorks-around: Some functions are not present or broken in vxWorks
-//                 but may be patched to life via helper macros...
-
-// Include signal.h which might contain a typo to be corrected here
-#include <signal.h>
-
-#define getpagesize()    sysconf(_SC_PAGESIZE)         // getpagesize is deprecated anyway!
-#ifndef S_ISSOCK
-#  define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket?
-#endif
-#define lstat(p, b)      stat(p, b)                    // lstat() == stat(), as vxWorks has no symlinks!
-#ifndef FPE_FLTINV
-#  define FPE_FLTINV     (FPE_FLTSUB+1)                // vxWorks has no FPE_FLTINV, so define one as a dummy
-#endif
-#if !defined(BUS_ADRALN) && defined(BUS_ADRALNR)
-#  define BUS_ADRALN     BUS_ADRALNR                   // Correct a supposed typo in vxWorks' <signal.h>
-#endif
-//typedef int              locale_t;                     // locale_t is a POSIX-extension, currently unpresent in vxWorks!
-
-// #include boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-// vxWorks lies about XSI conformance, there is no nl_types.h:
-#undef BOOST_HAS_NL_TYPES_H
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/win32.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/win32.hpp
deleted file mode 100644
index 450158f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/platform/win32.hpp
+++ /dev/null
@@ -1,90 +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
-#  ifndef __STDC_LIMIT_MACROS
-#     define __STDC_LIMIT_MACROS
-#  endif
-#  define BOOST_HAS_DIRENT_H
-#  define BOOST_HAS_UNISTD_H
-#endif
-
-#if defined(__MINGW32__) && (__GNUC__ >= 4)
-// Mingw has these functions but there are persistent problems
-// with calls to these crashing, so disable for now:
-//#  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).
-//
-
-#ifndef BOOST_HAS_PTHREADS
-#  define BOOST_HAS_WINTHREADS
-#endif
-
-//
-// WinCE configuration:
-//
-#if defined(_WIN32_WCE) || defined(UNDER_CE)
-#  define BOOST_NO_ANSI_APIS
-// Windows CE does not have a conforming signature for swprintf
-#  define BOOST_NO_SWPRINTF
-#else
-#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#  define BOOST_HAS_THREADEX
-#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
-//
-// Windows Runtime
-//
-#if defined(WINAPI_FAMILY) && \
-  (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
-#  define BOOST_NO_ANSI_APIS
-#endif
-
-#ifndef BOOST_DISABLE_WIN32
-// WEK: Added
-#define BOOST_HAS_FTIME
-#define BOOST_WINDOWS 1
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/posix_features.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/posix_features.hpp
deleted file mode 100644
index d129547..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/requires_threads.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/requires_threads.hpp
deleted file mode 100644
index cfaff23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/config/select_compiler_config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/select_compiler_config.hpp
deleted file mode 100644
index 4d87093..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/select_compiler_config.hpp
+++ /dev/null
@@ -1,148 +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 __CUDACC__
-//  NVIDIA CUDA C++ compiler for GPU
-#   include "boost/config/compiler/nvcc.hpp"
-
-#endif
-
-#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 __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(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-//  Intel
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
-
-#elif defined __clang__ && !defined(__CUDACC__) && !defined(__ibmxl__)
-// when using clang and cuda at same time, you want to appear as gcc
-//  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(__GNUC__) && !defined(__ibmxl__)
-//  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(__ibmxl__)
-// IBM XL C/C++ for Linux (Little Endian)
-#   define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp"
-
-#elif defined(__IBMCPP__)
-//  IBM Visual Age or IBM XL C/C++ for Linux (Big Endian)
-#   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
-
-#if 0
-//
-// This section allows dependency scanners to find all the headers we *might* include:
-//
-#include "boost/config/compiler/gcc_xml.hpp"
-#include "boost/config/compiler/cray.hpp"
-#include "boost/config/compiler/comeau.hpp"
-#include "boost/config/compiler/pathscale.hpp"
-#include "boost/config/compiler/intel.hpp"
-#include "boost/config/compiler/clang.hpp"
-#include "boost/config/compiler/digitalmars.hpp"
-#include "boost/config/compiler/gcc.hpp"
-#include "boost/config/compiler/kai.hpp"
-#include "boost/config/compiler/sgi_mipspro.hpp"
-#include "boost/config/compiler/compaq_cxx.hpp"
-#include "boost/config/compiler/greenhills.hpp"
-#include "boost/config/compiler/codegear.hpp"
-#include "boost/config/compiler/borland.hpp"
-#include "boost/config/compiler/metrowerks.hpp"
-#include "boost/config/compiler/sunpro_cc.hpp"
-#include "boost/config/compiler/hp_acc.hpp"
-#include "boost/config/compiler/mpw.hpp"
-#include "boost/config/compiler/vacpp.hpp"
-#include "boost/config/compiler/pgi.hpp"
-#include "boost/config/compiler/visualc.hpp"
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/select_platform_config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/select_platform_config.hpp
deleted file mode 100644
index 62fd818..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/select_platform_config.hpp
+++ /dev/null
@@ -1,137 +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(__HAIKU__)
-// Haiku
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.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" 
-
-#elif defined(__CloudABI__)
-// Nuxi CloudABI:
-#  define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.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
-
-#if 0
-//
-// This section allows dependency scanners to find all the files we *might* include:
-//
-#  include "boost/config/platform/linux.hpp"
-#  include "boost/config/platform/bsd.hpp"
-#  include "boost/config/platform/solaris.hpp"
-#  include "boost/config/platform/irix.hpp"
-#  include "boost/config/platform/hpux.hpp"
-#  include "boost/config/platform/cygwin.hpp"
-#  include "boost/config/platform/win32.hpp"
-#  include "boost/config/platform/beos.hpp"
-#  include "boost/config/platform/macos.hpp"
-#  include "boost/config/platform/aix.hpp"
-#  include "boost/config/platform/amigaos.hpp"
-#  include "boost/config/platform/qnxnto.hpp"
-#  include "boost/config/platform/vxworks.hpp"
-#  include "boost/config/platform/symbian.hpp" 
-#  include "boost/config/platform/cray.hpp" 
-#  include "boost/config/platform/vms.hpp" 
-#  include <boost/config/posix_features.hpp>
-
-
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/select_stdlib_config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/select_stdlib_config.hpp
deleted file mode 100644
index e270a88..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/select_stdlib_config.hpp
+++ /dev/null
@@ -1,105 +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, and has not otherwise
-// been detected, 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.
-// Note: do not rely on this header being included since users can short-circuit this 
-// #include if they know whose std lib they are using.
-#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\
-   && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\
-   && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\
-   && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER)
-#include <utility>
-#endif
-
-#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
-
-#if 0
-//
-// This section allows dependency scanners to find all the files we *might* include:
-//
-#  include "boost/config/stdlib/stlport.hpp"
-#  include "boost/config/stdlib/libcomo.hpp"
-#  include "boost/config/stdlib/roguewave.hpp"
-#  include "boost/config/stdlib/libcpp.hpp"
-#  include "boost/config/stdlib/libstdcpp3.hpp"
-#  include "boost/config/stdlib/sgi.hpp"
-#  include "boost/config/stdlib/msl.hpp"
-#  include "boost/config/stdlib/vacpp.hpp"
-#  include "boost/config/stdlib/modena.hpp"
-#  include "boost/config/stdlib/dinkumware.hpp"
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/dinkumware.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/dinkumware.hpp
deleted file mode 100644
index af8ddda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/dinkumware.hpp
+++ /dev/null
@@ -1,198 +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
-
-// Fix for VC++ 8.0 on up ( I do not have a previous version to test )
-// or clang-cl. If exceptions are off you must manually include the 
-// <exception> header before including the <typeinfo> header. Admittedly 
-// trying to use Boost libraries or the standard C++ libraries without 
-// exception support is not suggested but currently clang-cl ( v 3.4 ) 
-// does not support exceptions and must be compiled with exceptions off.
-#if !_HAS_EXCEPTIONS && ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER)))
-#include <exception>
-#endif
-#include <typeinfo>
-#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__)
-#  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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_SMART_PTR
-#endif
-
-#if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \
-  && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610)
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#endif
-
-//  C++0x headers implemented in 540 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#endif
-
-//  C++0x headers implemented in 610 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_ALLOCATOR
-// 540 has std::align but it is not a conforming implementation
-#  define BOOST_NO_CXX11_STD_ALIGN
-#endif
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
-// Intel's compiler can't handle this header yet:
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#endif
-
-
-//  520..610 have std::addressof, but it doesn't support functions
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650
-#  define BOOST_NO_CXX11_ADDRESSOF
-#endif
-
-// Bug specific to VC14, 
-// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t
-// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2
-#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650)
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#endif
-
-#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650)
-// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr is not available.
-// See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++
-// and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
-#  if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0)
-#    define BOOST_NO_AUTO_PTR
-#  endif
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libcomo.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libcomo.hpp
deleted file mode 100644
index 941498d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libcomo.hpp
+++ /dev/null
@@ -1,83 +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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#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
-
-#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libcpp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libcpp.hpp
deleted file mode 100644
index 645bb63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libcpp.hpp
+++ /dev/null
@@ -1,88 +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_CXX11_HDR_TUPLE
-#endif
-
-// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11
-// allocator model. The C++11 allocator model requires a conforming
-// std::allocator_traits which is only possible with C++11 template
-// aliases since members rebind_alloc and rebind_traits require it.
-#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES)
-#    define BOOST_NO_CXX11_ALLOCATOR
-#endif
-
-#if __cplusplus < 201103
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#elif _LIBCPP_VERSION < 3700
-//
-// These appear to be unusable/incomplete so far:
-//
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#endif
-
-
-#if _LIBCPP_VERSION < 3700
-// libc++ uses a non-standard messages_base
-#define BOOST_NO_STD_MESSAGES
-#endif
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus <= 201103
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-//  --- end ---
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libstdcpp3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libstdcpp3.hpp
deleted file mode 100644
index 9718bed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/libstdcpp3.hpp
+++ /dev/null
@@ -1,281 +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) \
-        || defined(_GLIBCXX_HAS_GTHREADS) \
-        || defined(_WIN32) \
-        || defined(_AIX) \
-        || defined(__HAIKU__)
-      //
-      // 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
-
-//
-// Decide whether we have C++11 support turned on:
-//
-#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103)
-#  define BOOST_LIBSTDCXX11
-#endif
-//
-//  Decide which version of libstdc++ we have, normally
-//  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
-//
-//  However, using the GCC version number fails when the compiler is clang since this
-//  only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473
-//  for a long discussion on this issue.  What we can do though is use clang's __has_include
-//  to detect the presence of a C++11 header that was introduced with a specific GCC release.
-//  We still have to be careful though as many such headers were buggy and/or incomplete when
-//  first introduced, so we only check for headers that were fully featured from day 1, and then
-//  use that to infer the underlying GCC version:
-//
-#ifdef __clang__
-
-#if __has_include(<experimental/any>)
-#  define BOOST_LIBSTDCXX_VERSION 50100
-#elif __has_include(<shared_mutex>)
-#  define BOOST_LIBSTDCXX_VERSION 40900
-#elif __has_include(<ext/cmath>)
-#  define BOOST_LIBSTDCXX_VERSION 40800
-#elif __has_include(<scoped_allocator>)
-#  define BOOST_LIBSTDCXX_VERSION 40700
-#elif __has_include(<typeindex>)
-#  define BOOST_LIBSTDCXX_VERSION 40600
-#elif __has_include(<future>)
-#  define BOOST_LIBSTDCXX_VERSION 40500
-#elif  __has_include(<ratio>)
-#  define BOOST_LIBSTDCXX_VERSION 40400
-#elif __has_include(<array>)
-#  define BOOST_LIBSTDCXX_VERSION 40300
-#endif
-//
-//  GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively.
-//  However, we have no test for these as the headers were present but broken
-//  in early GCC versions.
-//
-#endif
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L)
-//
-// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't 
-// set __GNUC__
-//
-#define BOOST_LIBSTDCXX_VERSION 40800
-#endif
-
-#if !defined(BOOST_LIBSTDCXX_VERSION)
-#  define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-#endif
-
-//  C++0x headers in GCC 4.3.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11)
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#endif
-
-//  C++0x headers in GCC 4.4.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11)
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_SMART_PTR
-#else
-#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG 
-#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS 
-#endif
-
-//  C++0x features in GCC 4.5.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11)
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#endif
-
-//  C++0x features in GCC 4.6.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11)
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_ADDRESSOF
-#endif
-
-//  C++0x features in GCC 4.7.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11)
-// Note that although <chrono> existed prior to 4.7, "steady_clock" is spelled "monotonic_clock"
-// so 4.7.0 is the first truely conforming one.
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_ALLOCATOR
-#endif
-//  C++0x features in GCC 4.8.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11)
-// Note that although <atomic> existed prior to gcc 4.8 it was largely unimplemented for many types:
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_HDR_THREAD
-#endif
-//  C++0x features in GCC 4.9.0 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
-// Although <regex> is present and compilable against, the actual implementation is not functional
-// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
-#  define BOOST_NO_CXX11_HDR_REGEX
-#endif
-
-#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
-// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#endif
-//
-//  C++0x features in GCC 5.1 and later
-//
-#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11)
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_STD_ALIGN
-#endif
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus <= 201103
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-//
-// Headers not present on Solaris with the Oracle compiler:
-#if defined(__SUNPRO_CC)
-#define BOOST_NO_CXX11_HDR_FUTURE
-#define BOOST_NO_CXX11_HDR_FORWARD_LIST 
-#define BOOST_NO_CXX11_HDR_ATOMIC
-// shared_ptr is present, but is not convertible to bool
-// which causes all kinds of problems especially in Boost.Thread
-// but probably elsewhere as well.
-#define BOOST_NO_CXX11_SMART_PTR
-#endif
-
-#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1))
-   // Headers not always available:
-#  ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#     define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  endif
-#  ifndef BOOST_NO_CXX11_HDR_MUTEX
-#     define BOOST_NO_CXX11_HDR_MUTEX
-#  endif
-#  ifndef BOOST_NO_CXX11_HDR_THREAD
-#     define BOOST_NO_CXX11_HDR_THREAD
-#  endif
-#  ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#     define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#  endif
-#endif
-
-#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
-// Timed mutexes are not always available:
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#endif
-
-//  --- end ---
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/modena.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/modena.hpp
deleted file mode 100644
index 7a85e0c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/modena.hpp
+++ /dev/null
@@ -1,69 +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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-#define BOOST_STDLIB "Modena C++ standard library"
-
-
-
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/msl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/msl.hpp
deleted file mode 100644
index dd2775e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/msl.hpp
+++ /dev/null
@@ -1,88 +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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/roguewave.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/roguewave.hpp
deleted file mode 100644
index 97a2b0b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/roguewave.hpp
+++ /dev/null
@@ -1,198 +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_CXX11_HDR_ARRAY
-#endif
-// type_traits header is incomplete:
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-//
-//  C++0x headers not yet implemented
-//
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/sgi.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/sgi.hpp
deleted file mode 100644
index c805271..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/sgi.hpp
+++ /dev/null
@@ -1,158 +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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-#define BOOST_STDLIB "SGI standard library"
\ No newline at end of file
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/stlport.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/stlport.hpp
deleted file mode 100644
index bbc4176..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/stlport.hpp
+++ /dev/null
@@ -1,248 +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 >= 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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/vacpp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/vacpp.hpp
deleted file mode 100644
index 4ccd0d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/stdlib/vacpp.hpp
+++ /dev/null
@@ -1,64 +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_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_HDR_ATOMIC
-#  define BOOST_NO_CXX11_STD_ALIGN
-#  define BOOST_NO_CXX11_ADDRESSOF
-
-#if defined(__has_include)
-#if !__has_include(<shared_mutex>)
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#elif __cplusplus < 201402
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-#else
-#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
-#endif
-
-#define BOOST_STDLIB "Visual Age default standard library"
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/suffix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/suffix.hpp
deleted file mode 100644
index 17bf102..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/suffix.hpp
+++ /dev/null
@@ -1,1007 +0,0 @@
-//  Boost config.hpp configuration header file  ------------------------------//
-//  boostinspect:ndprecated_macros -- tell the inspect tool to ignore this 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
-
-//
-// 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
-
-//  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.
-
-#ifndef BOOST_UNREACHABLE_RETURN
-#  ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#     define BOOST_UNREACHABLE_RETURN(x) return x;
-#  else
-#     define BOOST_UNREACHABLE_RETURN(x)
-#  endif
-#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
-// same again for __int128:
-#if defined(BOOST_HAS_INT128) && defined(__cplusplus)
-namespace boost{
-#  ifdef __GNUC__
-   __extension__ typedef __int128 int128_type;
-   __extension__ typedef unsigned __int128 uint128_type;
-#  else
-   typedef __int128 int128_type;
-   typedef unsigned __int128 uint128_type;
-#  endif
-}
-#endif
-// same again for __float128:
-#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus)
-namespace boost {
-#  ifdef __GNUC__
-   __extension__ typedef __float128 float128_type;
-#  else
-   typedef __float128 float128_type;
-#  endif
-}
-#endif
-
-// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
-
-// These macros are obsolete. Port away and remove.
-
-#  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)
-
-// 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
-
-// BOOST_FORCEINLINE ---------------------------------------------//
-// Macro to use in place of 'inline' to force a function to be inline
-#if !defined(BOOST_FORCEINLINE)
-#  if defined(_MSC_VER)
-#    define BOOST_FORCEINLINE __forceinline
-#  elif defined(__GNUC__) && __GNUC__ > 3
-     // Clang also defines __GNUC__ (as 4)
-#    define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
-#  else
-#    define BOOST_FORCEINLINE inline
-#  endif
-#endif
-
-// BOOST_NOINLINE ---------------------------------------------//
-// Macro to use in place of 'inline' to prevent a function to be inlined
-#if !defined(BOOST_NOINLINE)
-#  if defined(_MSC_VER)
-#    define BOOST_NOINLINE __declspec(noinline)
-#  elif defined(__GNUC__) && __GNUC__ > 3
-     // Clang also defines __GNUC__ (as 4)
-#    if defined(__CUDACC__)
-       // nvcc doesn't always parse __noinline__, 
-       // see: https://svn.boost.org/trac/boost/ticket/9392
-#      define BOOST_NOINLINE __attribute__ ((noinline))
-#    else
-#      define BOOST_NOINLINE __attribute__ ((__noinline__))
-#    endif
-#  else
-#    define BOOST_NOINLINE
-#  endif
-#endif
-
-// BOOST_NORETURN ---------------------------------------------//
-// Macro to use before a function declaration/definition to designate
-// the function as not returning normally (i.e. with a return statement
-// or by leaving the function scope, if the function return type is void).
-#if !defined(BOOST_NORETURN)
-#  if defined(_MSC_VER)
-#    define BOOST_NORETURN __declspec(noreturn)
-#  elif defined(__GNUC__)
-#    define BOOST_NORETURN __attribute__ ((__noreturn__))
-#  else
-#    define BOOST_NO_NORETURN
-#    define BOOST_NORETURN
-#  endif
-#endif
-
-// Branch prediction hints
-// These macros are intended to wrap conditional expressions that yield true or false
-//
-//  if (BOOST_LIKELY(var == 10))
-//  {
-//     // the most probable code here
-//  }
-//
-#if !defined(BOOST_LIKELY)
-#  define BOOST_LIKELY(x) x
-#endif
-#if !defined(BOOST_UNLIKELY)
-#  define BOOST_UNLIKELY(x) x
-#endif
-
-// Type and data alignment specification
-//
-#if !defined(BOOST_NO_CXX11_ALIGNAS)
-#  define BOOST_ALIGNMENT(x) alignas(x)
-#elif defined(_MSC_VER)
-#  define BOOST_ALIGNMENT(x) __declspec(align(x))
-#elif defined(__GNUC__)
-#  define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x)))
-#else
-#  define BOOST_NO_ALIGNMENT
-#  define BOOST_ALIGNMENT(x)
-#endif
-
-// Lack of non-public defaulted functions is implied by the lack of any defaulted functions
-#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
-#  define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
-#endif
-
-// Defaulted and deleted function declaration helpers
-// These macros are intended to be inside a class definition.
-// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
-// body, which will be used if the compiler doesn't support defaulted functions.
-// BOOST_DELETED_FUNCTION only accepts the function declaration. It
-// will expand to a private function declaration, if the compiler doesn't support
-// deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION
-// in the end of the class definition.
-//
-//  class my_class
-//  {
-//  public:
-//      // Default-constructible
-//      BOOST_DEFAULTED_FUNCTION(my_class(), {})
-//      // Copying prohibited
-//      BOOST_DELETED_FUNCTION(my_class(my_class const&))
-//      BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&))
-//  };
-//
-#if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS))
-#   define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default;
-#else
-#   define BOOST_DEFAULTED_FUNCTION(fun, body) fun body
-#endif
-
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
-#   define BOOST_DELETED_FUNCTION(fun) fun = delete;
-#else
-#   define BOOST_DELETED_FUNCTION(fun) private: fun;
-#endif
-
-//
-// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
-//
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
-#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
-#endif
-
-//  -------------------- Deprecated macros for 1.50 ---------------------------
-//  These will go away in a future release
-
-//  Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP
-//           instead of BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET)
-# ifndef BOOST_NO_CXX11_STD_UNORDERED
-#  define BOOST_NO_CXX11_STD_UNORDERED
-# endif
-#endif
-
-//  Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS
-#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
-#  define BOOST_NO_INITIALIZER_LISTS
-#endif
-
-//  Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY
-#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY)
-#  define BOOST_NO_0X_HDR_ARRAY
-#endif
-//  Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO
-#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO)
-#  define BOOST_NO_0X_HDR_CHRONO
-#endif
-//  Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT
-#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT)
-#  define BOOST_NO_0X_HDR_CODECVT
-#endif
-//  Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE)
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#endif
-//  Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST
-#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST)
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
-#endif
-//  Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE
-#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE)
-#  define BOOST_NO_0X_HDR_FUTURE
-#endif
-
-//  Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-//  instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS
-#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
-# endif
-# ifndef BOOST_NO_INITIALIZER_LISTS
-#  define BOOST_NO_INITIALIZER_LISTS
-# endif
-#endif
-
-//  Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX
-#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX)
-#  define BOOST_NO_0X_HDR_MUTEX
-#endif
-//  Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM
-#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM)
-#  define BOOST_NO_0X_HDR_RANDOM
-#endif
-//  Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO
-#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO)
-#  define BOOST_NO_0X_HDR_RATIO
-#endif
-//  Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX
-#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX)
-#  define BOOST_NO_0X_HDR_REGEX
-#endif
-//  Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR
-#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR)
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#endif
-//  Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD
-#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD)
-#  define BOOST_NO_0X_HDR_THREAD
-#endif
-//  Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE
-#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE)
-#  define BOOST_NO_0X_HDR_TUPLE
-#endif
-//  Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS
-#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
-#endif
-//  Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX
-#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-#  define BOOST_NO_0X_HDR_TYPEINDEX
-#endif
-//  Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP)
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
-#endif
-//  Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET)
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
-#endif
-
-//  ------------------ End of deprecated macros for 1.50 ---------------------------
-
-//  -------------------- Deprecated macros for 1.51 ---------------------------
-//  These will go away in a future release
-
-//  Use     BOOST_NO_CXX11_AUTO_DECLARATIONS instead of   BOOST_NO_AUTO_DECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS)
-#  define BOOST_NO_AUTO_DECLARATIONS
-#endif
-//  Use     BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of   BOOST_NO_AUTO_MULTIDECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS)
-#  define BOOST_NO_AUTO_MULTIDECLARATIONS
-#endif
-//  Use     BOOST_NO_CXX11_CHAR16_T instead of   BOOST_NO_CHAR16_T
-#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T)
-#  define BOOST_NO_CHAR16_T
-#endif
-//  Use     BOOST_NO_CXX11_CHAR32_T instead of   BOOST_NO_CHAR32_T
-#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T)
-#  define BOOST_NO_CHAR32_T
-#endif
-//  Use     BOOST_NO_CXX11_TEMPLATE_ALIASES instead of   BOOST_NO_TEMPLATE_ALIASES
-#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES)
-#  define BOOST_NO_TEMPLATE_ALIASES
-#endif
-//  Use     BOOST_NO_CXX11_CONSTEXPR instead of   BOOST_NO_CONSTEXPR
-#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR)
-#  define BOOST_NO_CONSTEXPR
-#endif
-//  Use     BOOST_NO_CXX11_DECLTYPE_N3276 instead of   BOOST_NO_DECLTYPE_N3276
-#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276)
-#  define BOOST_NO_DECLTYPE_N3276
-#endif
-//  Use     BOOST_NO_CXX11_DECLTYPE instead of   BOOST_NO_DECLTYPE
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE)
-#  define BOOST_NO_DECLTYPE
-#endif
-//  Use     BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of   BOOST_NO_DEFAULTED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS)
-#  define BOOST_NO_DEFAULTED_FUNCTIONS
-#endif
-//  Use     BOOST_NO_CXX11_DELETED_FUNCTIONS instead of   BOOST_NO_DELETED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS)
-#  define BOOST_NO_DELETED_FUNCTIONS
-#endif
-//  Use     BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of   BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS)
-#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#endif
-//  Use     BOOST_NO_CXX11_EXTERN_TEMPLATE instead of   BOOST_NO_EXTERN_TEMPLATE
-#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE)
-#  define BOOST_NO_EXTERN_TEMPLATE
-#endif
-//  Use     BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of   BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-//  Use     BOOST_NO_CXX11_LAMBDAS instead of   BOOST_NO_LAMBDAS
-#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS)
-#  define BOOST_NO_LAMBDAS
-#endif
-//  Use     BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of   BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS)
-#  define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-//  Use     BOOST_NO_CXX11_NOEXCEPT instead of   BOOST_NO_NOEXCEPT
-#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT)
-#  define BOOST_NO_NOEXCEPT
-#endif
-//  Use     BOOST_NO_CXX11_NULLPTR instead of   BOOST_NO_NULLPTR
-#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR)
-#  define BOOST_NO_NULLPTR
-#endif
-//  Use     BOOST_NO_CXX11_RAW_LITERALS instead of   BOOST_NO_RAW_LITERALS
-#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS)
-#  define BOOST_NO_RAW_LITERALS
-#endif
-//  Use     BOOST_NO_CXX11_RVALUE_REFERENCES instead of   BOOST_NO_RVALUE_REFERENCES
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES)
-#  define BOOST_NO_RVALUE_REFERENCES
-#endif
-//  Use     BOOST_NO_CXX11_SCOPED_ENUMS instead of   BOOST_NO_SCOPED_ENUMS
-#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS)
-#  define BOOST_NO_SCOPED_ENUMS
-#endif
-//  Use     BOOST_NO_CXX11_STATIC_ASSERT instead of   BOOST_NO_STATIC_ASSERT
-#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT)
-#  define BOOST_NO_STATIC_ASSERT
-#endif
-//  Use     BOOST_NO_CXX11_STD_UNORDERED instead of   BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED)
-#  define BOOST_NO_STD_UNORDERED
-#endif
-//  Use     BOOST_NO_CXX11_UNICODE_LITERALS instead of   BOOST_NO_UNICODE_LITERALS
-#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS)
-#  define BOOST_NO_UNICODE_LITERALS
-#endif
-//  Use     BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of   BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX)
-#  define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-//  Use     BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of   BOOST_NO_VARIADIC_TEMPLATES
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES)
-#  define BOOST_NO_VARIADIC_TEMPLATES
-#endif
-//  Use     BOOST_NO_CXX11_VARIADIC_MACROS instead of   BOOST_NO_VARIADIC_MACROS
-#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS)
-#  define BOOST_NO_VARIADIC_MACROS
-#endif
-//  Use     BOOST_NO_CXX11_NUMERIC_LIMITS instead of   BOOST_NO_NUMERIC_LIMITS_LOWEST
-#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST)
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
-#endif
-//  ------------------ End of deprecated macros for 1.51 ---------------------------
-
-
-
-//
-// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
-// These aid the transition to C++11 while still supporting C++03 compilers
-//
-#ifdef BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NOEXCEPT
-#  define BOOST_NOEXCEPT_OR_NOTHROW throw()
-#  define BOOST_NOEXCEPT_IF(Predicate)
-#  define BOOST_NOEXCEPT_EXPR(Expression) false
-#else
-#  define BOOST_NOEXCEPT noexcept
-#  define BOOST_NOEXCEPT_OR_NOTHROW noexcept
-#  define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
-#  define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
-#endif
-//
-// Helper macro BOOST_FALLTHROUGH
-// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended
-// fall-through between case labels in a switch statement. We use a definition
-// that requires a semicolon after it to avoid at least one type of misuse even
-// on unsupported compilers.
-//
-#ifndef BOOST_FALLTHROUGH
-#  define BOOST_FALLTHROUGH ((void)0)
-#endif
-
-//
-// constexpr workarounds
-//
-#if defined(BOOST_NO_CXX11_CONSTEXPR)
-#define BOOST_CONSTEXPR
-#define BOOST_CONSTEXPR_OR_CONST const
-#else
-#define BOOST_CONSTEXPR constexpr
-#define BOOST_CONSTEXPR_OR_CONST constexpr
-#endif
-#if defined(BOOST_NO_CXX14_CONSTEXPR)
-#define BOOST_CXX14_CONSTEXPR
-#else
-#define BOOST_CXX14_CONSTEXPR constexpr
-#endif
-
-//
-// Unused variable/typedef workarounds:
-//
-#ifndef BOOST_ATTRIBUTE_UNUSED
-#  define BOOST_ATTRIBUTE_UNUSED
-#endif
-
-#define BOOST_STATIC_CONSTEXPR  static BOOST_CONSTEXPR_OR_CONST
-
-//
-// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
-//
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
-#  define BOOST_HAS_STATIC_ASSERT
-#endif
-
-//
-// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined
-//
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
-#define BOOST_HAS_RVALUE_REFS
-#endif
-
-//
-// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
-//
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
-#define BOOST_HAS_VARIADIC_TMPL
-#endif
-//
-// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when
-// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set:
-//
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)
-#  define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
-#endif
-
-//
-// Finish off with checks for macros that are depricated / no longer supported,
-// if any of these are set then it's very likely that much of Boost will no
-// longer work.  So stop with a #error for now, but give the user a chance
-// to continue at their own risk if they really want to:
-//
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED)
-#  error "You are using a compiler which lacks features which are now a minimum requirement in order to use Boost, define BOOST_CONFIG_ALLOW_DEPRECATED if you want to continue at your own risk!!!"
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/user.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/user.hpp
deleted file mode 100644
index 28e7476..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/config/user.hpp
+++ /dev/null
@@ -1,133 +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 linked in one way (statically or dynamically), 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 linked in one way (statically or dynamically), 
-// 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
- 
-// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's
-// --buildid command line option.  For example if you built using:
-//
-// bjam address-model=64 --buildid=amd64
-//
-// then compile your code with:
-//
-// -DBOOST_LIB_BUILDID = amd64
-//
-// to ensure the correct libraries are selected at link time.
-// #define BOOST_LIB_BUILDID amd64
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/config/warning_disable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/config/warning_disable.hpp
deleted file mode 100644
index fea8e82..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/convert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/convert.hpp
deleted file mode 100644
index fd38fc1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/convert.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/// @file
-// Boost.Convert
-// Copyright (c) 2009-2014 Vladimir Batov.
-//
-// Many thanks to Julian Gonggrijp, Rob Stewart, Andrzej Krzemienski, Matus Chochlik, Jeroen Habraken,
-// Hartmut Kaiser, Joel De Guzman, Thijs (M.A.) van den Berg, Roland Bock, Gavin Lambert, Paul Bristow,
-// Alex Hagen-Zanker, Christopher Kormanyos for taking part in the Boost.Convert review.
-//
-// Special thanks to:
-//
-// 1. Alex Hagen-Zanker, Roland Bock, Rob Stewart for their considerable contributions to the design
-//    and implementation of the library;
-// 2. Andrzej Krzemienski for helping to partition responsibilities and to ultimately pave
-//    the way for the boost::optional and future std::tr2::optional deployment;
-// 3. Edward Diener the Boost Review Manager for helping with the converters' design, his continuous
-//    involvement, technical and administrative help, guidance and advice;
-// 4. Joel De Guzman, Rob Stewart and Alex Hagen-Zanker for making sure the performance tests work
-//    as they should;
-// 5. Paul Bristow for helping great deal with the documentation;
-// 6. Kevlin Henney and Dave Abrahams for their lexical_cast-related insights and explanations.
-// 
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt.
-
-#ifndef BOOST_CONVERT_HPP
-#define BOOST_CONVERT_HPP
-
-#include <boost/convert/detail/is_fun.hpp>
-#include <boost/ref.hpp>
-
-namespace boost
-{
-    namespace detail { enum throw_on_failure {}; }
-
-    /// @details The boost::throw_on_failure is the name of an object of the
-    /// boost::detail::throw_on_failure type that is used to indicate
-    /// desired exception-throwing behavior.
-    detail::throw_on_failure const throw_on_failure = detail::throw_on_failure(0);
-
-    namespace cnv
-    {
-        template<typename, typename, typename> struct reference;
-        struct by_default;
-    }
-
-    /// @brief Boost.Convert main deployment interface
-    /// @param[in] value_in   Value of the TypeIn type to be converted to the TyeOut type
-    /// @param[in] converter  Converter to be used for conversion
-    /// @return boost::optional<TypeOut> result of conversion together with the indication of
-    ///         success or failure of the conversion request.
-    /// @details For example,
-    /// @code
-    ///    boost::cnv::cstream cnv;
-    ///
-    ///    boost::optional<int>    i = boost::convert<int>("12", cnv);
-    ///    boost::optional<string> s = boost::convert<string>(123.456, cnv);
-    /// @endcode
-
-    template<typename TypeOut, typename TypeIn, typename Converter>
-    boost::optional<TypeOut>
-    convert(TypeIn const& value_in, Converter const& converter)
-    {
-        optional<TypeOut> result;
-        boost::unwrap_ref(converter)(value_in, result);
-        return result;
-    }
-
-    namespace cnv { namespace detail
-    {
-        template<typename TypeOut, typename TypeIn, typename Converter =boost::cnv::by_default>
-        struct delayed_resolution
-        {
-            static optional<TypeOut> convert(TypeIn const& value_in)
-            {
-                return boost::convert<TypeOut>(value_in, Converter());
-            }
-        };
-    }}
-    /// @brief Boost.Convert deployment interface with the default converter
-    /// @details For example,
-    /// @code
-    ///    struct boost::cnv::by_default : public boost::cnv::cstream {};
-    ///
-    ///    // boost::cnv::cstream (through boost::cnv::by_default) is deployed
-    ///    // as the default converter when no converter is provided explicitly.
-    ///    boost::optional<int>    i = boost::convert<int>("12");
-    ///    boost::optional<string> s = boost::convert<string>(123.456);
-    /// @endcode
-
-    template<typename TypeOut, typename TypeIn>
-    boost::optional<TypeOut>
-    convert(TypeIn const& value_in)
-    {
-        return cnv::detail::delayed_resolution<TypeOut, TypeIn>::convert(value_in);
-    }
-}
-
-namespace boost
-{
-    /// @brief Boost.Convert non-optional deployment interface
-
-    template<typename TypeOut, typename TypeIn, typename Converter>
-    TypeOut
-    convert(TypeIn const& value_in, Converter const& converter, boost::detail::throw_on_failure)
-    {
-        return convert<TypeOut>(value_in, converter).value();
-    }
-
-    template<typename TypeOut, typename TypeIn, typename Converter, typename Fallback>
-    typename enable_if<is_convertible<Fallback, TypeOut>, TypeOut>::type
-    convert(TypeIn const& value_in, Converter const& converter, Fallback const& fallback)
-    {
-        return convert<TypeOut>(value_in, converter).value_or(fallback);
-    }
-
-    template<typename TypeOut, typename TypeIn, typename Converter, typename Fallback>
-    typename enable_if<cnv::is_fun<Fallback, TypeOut>, TypeOut>::type
-    convert(TypeIn const& value_in, Converter const& converter, Fallback fallback)
-    {
-        return convert<TypeOut>(value_in, converter).value_or_eval(fallback);
-    }
-}
-
-namespace boost { namespace cnv
-{
-    template<typename Converter, typename TypeOut, typename TypeIn>
-    struct reference
-    {
-        typedef reference this_type;
-
-        reference(Converter const& cnv) : converter_(cnv) {}
-
-#ifdef BOOST_CONVERT_CXX11
-        reference(Converter&& cnv) : converter_(std::move(cnv)) {}
-#endif
-
-        this_type&
-        value_or(TypeOut const& fallback)
-        {
-            return (fallback_ = fallback, *this);
-        }
-
-        TypeOut
-        operator()(TypeIn const& value_in)
-        {
-            optional<TypeOut> result = convert<TypeOut>(value_in, converter_);
-            return result ? result.get() : fallback_.value();
-        }
-
-        private:
-
-        Converter        converter_;
-        optional<TypeOut> fallback_;
-    };
-    template<typename Converter, typename TypeOut>
-    struct reference<Converter, TypeOut, void>
-    {
-        typedef reference this_type;
-
-        reference(Converter const& cnv) : converter_(cnv) {}
-
-#ifdef BOOST_CONVERT_CXX11
-        reference(Converter&& cnv) : converter_(std::move(cnv)) {}
-#endif
-
-        this_type&
-        value_or(TypeOut const& fallback)
-        {
-            return (fallback_ = fallback, *this);
-        }
-
-        template<typename TypeIn>
-        TypeOut
-        operator()(TypeIn const& value_in)
-        {
-            optional<TypeOut> result = convert<TypeOut>(value_in, converter_);
-            return result ? result.get() : fallback_.value();
-        }
-
-        private:
-
-        Converter        converter_;
-        optional<TypeOut> fallback_;
-    };
-
-    /// @brief Boost.Convert deployment interface with algorithms
-    /// @details For example,
-    /// @code
-    ///    boost::array<char const*, 3> strs = {{ " 5", "0XF", "not an int" }};
-    ///    std::vector<int>             ints;
-    ///    boost::cnv::cstream           cnv;
-    ///
-    ///    cnv(std::hex)(std::skipws);
-    ///
-    ///    std::transform(
-    ///        strs.begin(),
-    ///        strs.end(),
-    ///        std::back_inserter(ints),
-    ///        boost::cnv::apply<int>(boost::cref(cnv)).value_or(-1));
-    /// @endcode
-
-    template<typename TypeOut, typename TypeIn, typename Converter>
-    reference<Converter, TypeOut, TypeIn>
-    apply(Converter const& cnv)
-    {
-        return cnv::reference<Converter, TypeOut, TypeIn>(cnv);
-    }
-    template<typename TypeOut, typename Converter>
-    reference<Converter, TypeOut, void>
-    apply(Converter const& cnv)
-    {
-        return cnv::reference<Converter, TypeOut, void>(cnv);
-    }
-}}
-
-#endif // BOOST_CONVERT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/addressof.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/addressof.hpp
deleted file mode 100644
index 889b582..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/addressof.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright (C) 2002 Brad King (brad.king at kitware.com)
-//                    Douglas Gregor (gregod at cs.rpi.edu)
-//
-// Copyright (C) 2002, 2008, 2013 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_CORE_ADDRESSOF_HPP
-#define BOOST_CORE_ADDRESSOF_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-# include <cstddef>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template<class T> struct addr_impl_ref
-{
-    T & v_;
-
-    BOOST_FORCEINLINE addr_impl_ref( T & v ): v_( v ) {}
-    BOOST_FORCEINLINE operator T& () const { return v_; }
-
-private:
-    addr_impl_ref & operator=(const addr_impl_ref &);
-};
-
-template<class T> struct addressof_impl
-{
-    static BOOST_FORCEINLINE T * f( T & v, long )
-    {
-        return reinterpret_cast<T*>(
-            &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
-    }
-
-    static BOOST_FORCEINLINE T * f( T * v, int )
-    {
-        return v;
-    }
-};
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) )
-
-    typedef decltype(nullptr) addr_nullptr_t;
-
-#else
-
-    typedef std::nullptr_t addr_nullptr_t;
-
-#endif
-
-template<> struct addressof_impl< addr_nullptr_t >
-{
-    typedef addr_nullptr_t T;
-
-    static BOOST_FORCEINLINE T * f( T & v, int )
-    {
-        return &v;
-    }
-};
-
-template<> struct addressof_impl< addr_nullptr_t const >
-{
-    typedef addr_nullptr_t const T;
-
-    static BOOST_FORCEINLINE T * f( T & v, int )
-    {
-        return &v;
-    }
-};
-
-template<> struct addressof_impl< addr_nullptr_t volatile >
-{
-    typedef addr_nullptr_t volatile T;
-
-    static BOOST_FORCEINLINE T * f( T & v, int )
-    {
-        return &v;
-    }
-};
-
-template<> struct addressof_impl< addr_nullptr_t const volatile >
-{
-    typedef addr_nullptr_t const volatile T;
-
-    static BOOST_FORCEINLINE T * f( T & v, int )
-    {
-        return &v;
-    }
-};
-
-#endif
-
-} // namespace detail
-
-template<class T>
-BOOST_FORCEINLINE
-T * addressof( T & v )
-{
-#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5120))
-
-    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 >
-BOOST_FORCEINLINE
-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>
-BOOST_FORCEINLINE
-T (*addressof(T (&t)[N]))[N]
-{
-   return reinterpret_cast<T(*)[N]>(&t);
-}
-
-template<typename T,std::size_t N>
-BOOST_FORCEINLINE
-const T (*addressof(const T (&t)[N]))[N]
-{
-   return reinterpret_cast<const T(*)[N]>(&t);
-}
-#endif
-
-} // namespace boost
-
-#endif // BOOST_CORE_ADDRESSOF_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/checked_delete.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/checked_delete.hpp
deleted file mode 100644
index b086e03..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/checked_delete.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_CORE_CHECKED_DELETE_HPP
-#define BOOST_CORE_CHECKED_DELETE_HPP
-
-// 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/core/doc/html/core/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_CORE_CHECKED_DELETE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/demangle.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/demangle.hpp
deleted file mode 100644
index f13c26a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/demangle.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef BOOST_CORE_DEMANGLE_HPP_INCLUDED
-#define BOOST_CORE_DEMANGLE_HPP_INCLUDED
-
-// core::demangle
-//
-// Copyright 2014 Peter Dimov
-// Copyright 2014 Andrey Semashev
-//
-// Distributed under the Boost 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 <string>
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-// __has_include is currently supported by GCC and Clang. However GCC 4.9 may have issues and
-// returns 1 for 'defined( __has_include )', while '__has_include' is actually not supported:
-// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63662
-#if defined( __has_include ) && (!defined( BOOST_GCC ) || (__GNUC__ + 0) >= 5)
-# if __has_include(<cxxabi.h>)
-#  define BOOST_CORE_HAS_CXXABI_H
-# endif
-#elif defined( __GLIBCXX__ ) || defined( __GLIBCPP__ )
-# define BOOST_CORE_HAS_CXXABI_H
-#endif
-
-#if defined( BOOST_CORE_HAS_CXXABI_H )
-# include <cxxabi.h>
-// For some archtectures (mips, mips64, x86, x86_64) cxxabi.h in Android NDK is implemented by gabi++ library
-// (https://android.googlesource.com/platform/ndk/+/master/sources/cxx-stl/gabi++/), which does not implement
-// abi::__cxa_demangle(). We detect this implementation by checking the include guard here.
-# if defined( __GABIXX_CXXABI_H__ )
-#  undef BOOST_CORE_HAS_CXXABI_H
-# else
-#  include <cstdlib>
-#  include <cstddef>
-# endif
-#endif
-
-namespace boost
-{
-
-namespace core
-{
-
-inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT;
-inline void demangle_free( char const * name ) BOOST_NOEXCEPT;
-
-class scoped_demangled_name
-{
-private:
-    char const * m_p;
-
-public:
-    explicit scoped_demangled_name( char const * name ) BOOST_NOEXCEPT :
-        m_p( demangle_alloc( name ) )
-    {
-    }
-
-    ~scoped_demangled_name() BOOST_NOEXCEPT
-    {
-        demangle_free( m_p );
-    }
-
-    char const * get() const BOOST_NOEXCEPT
-    {
-        return m_p;
-    }
-
-    BOOST_DELETED_FUNCTION(scoped_demangled_name( scoped_demangled_name const& ))
-    BOOST_DELETED_FUNCTION(scoped_demangled_name& operator= ( scoped_demangled_name const& ))
-};
-
-
-#if defined( BOOST_CORE_HAS_CXXABI_H )
-
-inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT
-{
-    int status = 0;
-    std::size_t size = 0;
-    return abi::__cxa_demangle( name, NULL, &size, &status );
-}
-
-inline void demangle_free( char const * name ) BOOST_NOEXCEPT
-{
-    std::free( const_cast< char* >( name ) );
-}
-
-inline std::string demangle( char const * name )
-{
-    scoped_demangled_name demangled_name( name );
-    char const * const p = demangled_name.get();
-    if( p )
-    {
-        return p;
-    }
-    else
-    {
-        return name;
-    }
-}
-
-#else
-
-inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT
-{
-    return name;
-}
-
-inline void demangle_free( char const * ) BOOST_NOEXCEPT
-{
-}
-
-inline std::string demangle( char const * name )
-{
-    return name;
-}
-
-#endif
-
-} // namespace core
-
-} // namespace boost
-
-#undef BOOST_CORE_HAS_CXXABI_H
-
-#endif // #ifndef BOOST_CORE_DEMANGLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/enable_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/enable_if.hpp
deleted file mode 100644
index 5dcef1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/enable_if.hpp
+++ /dev/null
@@ -1,128 +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_CORE_ENABLE_IF_HPP
-#define BOOST_CORE_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<typename T, typename R=void>
-  struct enable_if_has_type
-  {
-    typedef R type;
-  };
- 
-  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<typename T, typename R=void>
-  struct enable_if_has_type : enable_if_does_not_work_on_this_compiler<T>
-  { };
-
-  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/rbgl_trimmed_boost_1_61_0/boost/core/explicit_operator_bool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/explicit_operator_bool.hpp
deleted file mode 100644
index a8936e2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/explicit_operator_bool.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- *          Copyright Andrey Semashev 2007 - 2013.
- * Distributed under the Boost Software License, Version 1.0.
- *    (See accompanying file LICENSE_1_0.txt or copy at
- *          http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*!
- * \file   explicit_operator_bool.hpp
- * \author Andrey Semashev
- * \date   08.03.2009
- *
- * This header defines a compatibility macro that implements an unspecified
- * \c bool operator idiom, which is superseded with explicit conversion operators in
- * C++11.
- */
-
-#ifndef BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP
-#define BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
-
-/*!
- * \brief The macro defines an explicit operator of conversion to \c bool
- *
- * The macro should be used inside the definition of a class that has to
- * support the conversion. The class should also implement <tt>operator!</tt>,
- * in terms of which the conversion operator will be implemented.
- */
-#define BOOST_EXPLICIT_OPERATOR_BOOL()\
-    BOOST_FORCEINLINE explicit operator bool () const\
-    {\
-        return !this->operator! ();\
-    }
-
-/*!
- * \brief The macro defines a noexcept explicit operator of conversion to \c bool
- *
- * The macro should be used inside the definition of a class that has to
- * support the conversion. The class should also implement <tt>operator!</tt>,
- * in terms of which the conversion operator will be implemented.
- */
-#define BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()\
-    BOOST_FORCEINLINE explicit operator bool () const BOOST_NOEXCEPT\
-    {\
-        return !this->operator! ();\
-    }
-
-/*!
- * \brief The macro defines a constexpr explicit operator of conversion to \c bool
- *
- * The macro should be used inside the definition of a class that has to
- * support the conversion. The class should also implement <tt>operator!</tt>,
- * in terms of which the conversion operator will be implemented.
- */
-#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL()\
-    BOOST_FORCEINLINE BOOST_CONSTEXPR explicit operator bool () const BOOST_NOEXCEPT\
-    {\
-        return !this->operator! ();\
-    }
-
-#else // !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
-
-#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
-#define BOOST_NO_UNSPECIFIED_BOOL
-#endif // (defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) && !defined(BOOST_NO_COMPILER_CONFIG)
-
-#if !defined(BOOST_NO_UNSPECIFIED_BOOL)
-
-namespace boost {
-
-namespace detail {
-
-#if !defined(_MSC_VER) && !defined(__IBMCPP__)
-
-    struct unspecified_bool
-    {
-        // NOTE TO THE USER: If you see this in error messages then you tried
-        // to apply an unsupported operator on the object that supports
-        // explicit conversion to bool.
-        struct OPERATORS_NOT_ALLOWED;
-        static void true_value(OPERATORS_NOT_ALLOWED*) {}
-    };
-    typedef void (*unspecified_bool_type)(unspecified_bool::OPERATORS_NOT_ALLOWED*);
-
-#else
-
-    // MSVC and VACPP are too eager to convert pointer to function to void* even though they shouldn't
-    struct unspecified_bool
-    {
-        // NOTE TO THE USER: If you see this in error messages then you tried
-        // to apply an unsupported operator on the object that supports
-        // explicit conversion to bool.
-        struct OPERATORS_NOT_ALLOWED;
-        void true_value(OPERATORS_NOT_ALLOWED*) {}
-    };
-    typedef void (unspecified_bool::*unspecified_bool_type)(unspecified_bool::OPERATORS_NOT_ALLOWED*);
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_EXPLICIT_OPERATOR_BOOL()\
-    BOOST_FORCEINLINE operator boost::detail::unspecified_bool_type () const\
-    {\
-        return (!this->operator! () ? &boost::detail::unspecified_bool::true_value : (boost::detail::unspecified_bool_type)0);\
-    }
-
-#define BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()\
-    BOOST_FORCEINLINE operator boost::detail::unspecified_bool_type () const BOOST_NOEXCEPT\
-    {\
-        return (!this->operator! () ? &boost::detail::unspecified_bool::true_value : (boost::detail::unspecified_bool_type)0);\
-    }
-
-#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL()\
-    BOOST_FORCEINLINE BOOST_CONSTEXPR operator boost::detail::unspecified_bool_type () const BOOST_NOEXCEPT\
-    {\
-        return (!this->operator! () ? &boost::detail::unspecified_bool::true_value : (boost::detail::unspecified_bool_type)0);\
-    }
-
-#else // !defined(BOOST_NO_UNSPECIFIED_BOOL)
-
-#define BOOST_EXPLICIT_OPERATOR_BOOL()\
-    BOOST_FORCEINLINE operator bool () const\
-    {\
-        return !this->operator! ();\
-    }
-
-#define BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()\
-    BOOST_FORCEINLINE operator bool () const BOOST_NOEXCEPT\
-    {\
-        return !this->operator! ();\
-    }
-
-#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL()\
-    BOOST_FORCEINLINE BOOST_CONSTEXPR operator bool () const BOOST_NOEXCEPT\
-    {\
-        return !this->operator! ();\
-    }
-
-#endif // !defined(BOOST_NO_UNSPECIFIED_BOOL)
-
-#endif // !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
-
-#endif // BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/ignore_unused.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/ignore_unused.hpp
deleted file mode 100644
index 994e5f6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/ignore_unused.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland.
-//
-// Use, modification and distribution is subject to the 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_CORE_IGNORE_UNUSED_HPP
-#define BOOST_CORE_IGNORE_UNUSED_HPP
-
-#include <boost/config.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-
-template <typename... Ts>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts const& ...)
-{}
-
-template <typename... Ts>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
-{}
-
-#else
-
-template <typename T1>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&)
-{}
-
-template <typename T1, typename T2>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&)
-{}
-
-template <typename T1, typename T2, typename T3>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&)
-{}
-
-template <typename T1, typename T2, typename T3, typename T4>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&)
-{}
-
-template <typename T1, typename T2, typename T3, typename T4, typename T5>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&)
-{}
-
-template <typename T1>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
-{}
-
-template <typename T1, typename T2>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
-{}
-
-template <typename T1, typename T2, typename T3>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
-{}
-
-template <typename T1, typename T2, typename T3, typename T4>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
-{}
-
-template <typename T1, typename T2, typename T3, typename T4, typename T5>
-BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
-{}
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_CORE_IGNORE_UNUSED_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/is_same.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/is_same.hpp
deleted file mode 100644
index f373c65..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/is_same.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef BOOST_CORE_IS_SAME_HPP_INCLUDED
-#define BOOST_CORE_IS_SAME_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// is_same<T1,T2>::value is true when T1 == T2
-//
-// Copyright 2014 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>
-
-namespace boost
-{
-
-namespace core
-{
-
-template< class T1, class T2 > struct is_same
-{
-    BOOST_STATIC_CONSTANT( bool, value = false );
-};
-
-template< class T > struct is_same< T, T >
-{
-    BOOST_STATIC_CONSTANT( bool, value = true );
-};
-
-} // namespace core
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CORE_IS_SAME_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/lightweight_test.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/lightweight_test.hpp
deleted file mode 100644
index cdc8a72..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/lightweight_test.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-#ifndef BOOST_CORE_LIGHTWEIGHT_TEST_HPP
-#define BOOST_CORE_LIGHTWEIGHT_TEST_HPP
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-//
-//  boost/core/lightweight_test.hpp - lightweight test library
-//
-//  Copyright (c) 2002, 2009, 2014 Peter Dimov
-//  Copyright (2) Beman Dawes 2010, 2011
-//  Copyright (3) Ion Gaztanaga 2013
-//
-//  Distributed under the Boost 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 <boost/current_function.hpp>
-#include <boost/core/no_exceptions_support.hpp>
-#include <iostream>
-
-//  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();
-}
-
-inline void throw_failed_impl(char const * excep, char const * file, int line, char const * function)
-{
-   BOOST_LIGHTWEIGHT_TEST_OSTREAM
-    << file << "(" << line << "): Exception '" << excep << "' not thrown 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 )
-    {
-        report_errors_remind();
-    }
-    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 )
-    {
-        report_errors_remind();
-    }
-    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()
-{
-    boost::detail::report_errors_remind().called_report_errors_function = true;
-
-    int errors = boost::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) )
-
-#ifndef BOOST_NO_EXCEPTIONS
-   #define BOOST_TEST_THROWS( EXPR, EXCEP )                    \
-      try {                                                    \
-         EXPR;                                                 \
-         ::boost::detail::throw_failed_impl                    \
-         (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \
-      }                                                        \
-      catch(EXCEP const&) {                                    \
-      }                                                        \
-      catch(...) {                                             \
-         ::boost::detail::throw_failed_impl                    \
-         (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \
-      }                                                        \
-   //
-#else
-   #define BOOST_TEST_THROWS( EXPR, EXCEP )
-#endif
-
-#endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/lightweight_test_trait.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/lightweight_test_trait.hpp
deleted file mode 100644
index 0e2aab4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/lightweight_test_trait.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP
-#define BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-// boost/core/lightweight_test_trait.hpp
-//
-// BOOST_TEST_TRAIT_TRUE, BOOST_TEST_TRAIT_FALSE
-//
-// Copyright 2014 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/core/lightweight_test.hpp>
-#include <boost/core/typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< class T > inline void test_trait_impl( char const * trait, void (*)( T ),
-  bool expected, char const * file, int line, char const * function )
-{
-    if( T::value == expected )
-    {
-        report_errors_remind();
-    }
-    else
-    {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
-            << file << "(" << line << "): predicate '" << trait << "' ["
-            << boost::core::demangled_name( BOOST_CORE_TYPEID(T) ) << "]"
-            << " test failed in function '" << function
-            << "' (should have been " << ( expected? "true": "false" ) << ")"
-            << std::endl;
-
-        ++test_errors();
-    }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_TEST_TRAIT_TRUE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, true, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) )
-#define BOOST_TEST_TRAIT_FALSE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, false, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) )
-
-#endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/no_exceptions_support.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/no_exceptions_support.hpp
deleted file mode 100644
index a697f01..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/no_exceptions_support.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP
-#define BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP
-
-#if defined(_MSC_VER)
-#  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.
-//----------------------------------------------------------------------
-
-#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/rbgl_trimmed_boost_1_61_0/boost/core/noncopyable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/noncopyable.hpp
deleted file mode 100644
index 6ae8c24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/noncopyable.hpp
+++ /dev/null
@@ -1,48 +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_CORE_NONCOPYABLE_HPP
-#define BOOST_CORE_NONCOPYABLE_HPP
-
-#include <boost/config.hpp>
-
-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:
-#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)
-      BOOST_CONSTEXPR noncopyable() = default;
-      ~noncopyable() = default;
-#else
-      noncopyable() {}
-      ~noncopyable() {}
-#endif
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
-      noncopyable( const noncopyable& ) = delete;
-      noncopyable& operator=( const noncopyable& ) = delete;
-#else
-  private:  // emphasize the following members are private
-      noncopyable( const noncopyable& );
-      noncopyable& operator=( const noncopyable& );
-#endif
-  };
-}
-
-typedef noncopyable_::noncopyable noncopyable;
-
-} // namespace boost
-
-#endif  // BOOST_CORE_NONCOPYABLE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/null_deleter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/null_deleter.hpp
deleted file mode 100644
index f0af590..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/null_deleter.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *          Copyright Andrey Semashev 2007 - 2014.
- * Distributed under the Boost Software License, Version 1.0.
- *    (See accompanying file LICENSE_1_0.txt or copy at
- *          http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file   null_deleter.hpp
- * \author Andrey Semashev
- * \date   22.04.2007
- *
- * This header contains a \c null_deleter implementation. This is an empty
- * function object that receives a pointer and does nothing with it.
- * Such empty deletion strategy may be convenient, for example, when
- * constructing <tt>shared_ptr</tt>s that point to some object that should not be
- * deleted (i.e. a variable on the stack or some global singleton, like <tt>std::cout</tt>).
- */
-
-#ifndef BOOST_CORE_NULL_DELETER_HPP
-#define BOOST_CORE_NULL_DELETER_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-//! A function object that does nothing and can be used as an empty deleter for \c shared_ptr
-struct null_deleter
-{
-    //! Function object result type
-    typedef void result_type;
-    /*!
-     * Does nothing
-     */
-    template< typename T >
-    void operator() (T*) const BOOST_NOEXCEPT {}
-};
-
-} // namespace boost
-
-#endif // BOOST_CORE_NULL_DELETER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/ref.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/ref.hpp
deleted file mode 100644
index 47dc858..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/ref.hpp
+++ /dev/null
@@ -1,301 +0,0 @@
-#ifndef BOOST_CORE_REF_HPP
-#define BOOST_CORE_REF_HPP
-
-// 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/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
-//
-//  Copyright (C) 2014 Glen Joseph Fernandes
-//  glenfe at live dot com
-//  Copyright (C) 2014 Agustin Berge
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//  See http://www.boost.org/libs/core/doc/html/core/ref.html for documentation.
-//
-
-/**
- @file
-*/
-
-/**
- Boost namespace.
-*/
-namespace boost
-{
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 )
-
-    struct ref_workaround_tag {};
-
-#endif
-
-// reference_wrapper
-
-/**
- @brief Contains a reference to an object of type `T`.
-
- `reference_wrapper` is primarily used to "feed" references to
- function templates (algorithms) that take their parameter by
- value. It provides an implicit conversion to `T&`, which
- usually allows the function templates to work on references
- unmodified.
-*/
-template<class T> class reference_wrapper
-{
-public:
-    /**
-     Type `T`.
-    */
-    typedef T type;
-
-    /**
-     Constructs a `reference_wrapper` object that stores a
-     reference to `t`.
-
-     @remark Does not throw.
-    */
-    BOOST_FORCEINLINE explicit reference_wrapper(T& t): t_(boost::addressof(t)) {}
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 )
-
-    BOOST_FORCEINLINE explicit reference_wrapper( T & t, ref_workaround_tag ): t_( boost::addressof( t ) ) {}
-
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-    /**
-     @remark Construction from a temporary object is disabled.
-    */
-    BOOST_DELETED_FUNCTION(reference_wrapper(T&& t))
-public:
-#endif
-
-    /**
-     @return The stored reference.
-     @remark Does not throw.
-    */
-    BOOST_FORCEINLINE operator T& () const { return *t_; }
-
-    /**
-     @return The stored reference.
-     @remark Does not throw.
-    */
-    BOOST_FORCEINLINE T& get() const { return *t_; }
-
-    /**
-     @return A pointer to the object referenced by the stored
-       reference.
-     @remark Does not throw.
-    */
-    BOOST_FORCEINLINE T* get_pointer() const { return t_; }
-
-private:
-
-    T* t_;
-};
-
-// ref
-
-/**
- @cond
-*/
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581) )
-#  define BOOST_REF_CONST
-#else
-#  define BOOST_REF_CONST const
-#endif
-/**
- @endcond
-*/
-
-/**
- @return `reference_wrapper<T>(t)`
- @remark Does not throw.
-*/
-template<class T> BOOST_FORCEINLINE reference_wrapper<T> BOOST_REF_CONST ref( T & t )
-{
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 )
-
-    return reference_wrapper<T>( t, ref_workaround_tag() );
-
-#else
-
-    return reference_wrapper<T>( t );
-
-#endif
-}
-
-// cref
-
-/**
- @return `reference_wrapper<T const>(t)`
- @remark Does not throw.
-*/
-template<class T> BOOST_FORCEINLINE reference_wrapper<T const> BOOST_REF_CONST cref( T const & t )
-{
-    return reference_wrapper<T const>(t);
-}
-
-#undef BOOST_REF_CONST
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-/**
- @cond
-*/
-#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
-#  define BOOST_REF_DELETE
-#else
-#  define BOOST_REF_DELETE = delete
-#endif
-/**
- @endcond
-*/
-
-/**
- @remark Construction from a temporary object is disabled.
-*/
-template<class T> void ref(T const&&) BOOST_REF_DELETE;
-
-/**
- @remark Construction from a temporary object is disabled.
-*/
-template<class T> void cref(T const&&) BOOST_REF_DELETE;
-
-#undef BOOST_REF_DELETE
-
-#endif
-
-// is_reference_wrapper
-
-/**
- @brief Determine if a type `T` is an instantiation of
- `reference_wrapper`.
-
- The value static constant will be true if the type `T` is a
- specialization of `reference_wrapper`.
-*/
-template<typename T> struct is_reference_wrapper
-{
-    BOOST_STATIC_CONSTANT( bool, value = false );
-};
-
-/**
- @cond
-*/
-template<typename T> struct is_reference_wrapper< reference_wrapper<T> >
-{
-    BOOST_STATIC_CONSTANT( bool, value = true );
-};
-
-#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
-
-template<typename T> struct is_reference_wrapper< reference_wrapper<T> const >
-{
-    BOOST_STATIC_CONSTANT( bool, value = true );
-};
-
-template<typename T> struct is_reference_wrapper< reference_wrapper<T> volatile >
-{
-    BOOST_STATIC_CONSTANT( bool, value = true );
-};
-
-template<typename T> struct is_reference_wrapper< reference_wrapper<T> const volatile >
-{
-    BOOST_STATIC_CONSTANT( bool, value = true );
-};
-
-#endif // !defined(BOOST_NO_CV_SPECIALIZATIONS)
-
-/**
- @endcond
-*/
-
-
-// unwrap_reference
-
-/**
- @brief Find the type in a `reference_wrapper`.
-
- The `typedef` type is `T::type` if `T` is a
- `reference_wrapper`, `T` otherwise.
-*/
-template<typename T> struct unwrap_reference
-{
-    typedef T type;
-};
-
-/**
- @cond
-*/
-template<typename T> struct unwrap_reference< reference_wrapper<T> >
-{
-    typedef T type;
-};
-
-#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
-
-template<typename T> struct unwrap_reference< reference_wrapper<T> const >
-{
-    typedef T type;
-};
-
-template<typename T> struct unwrap_reference< reference_wrapper<T> volatile >
-{
-    typedef T type;
-};
-
-template<typename T> struct unwrap_reference< reference_wrapper<T> const volatile >
-{
-    typedef T type;
-};
-
-#endif // !defined(BOOST_NO_CV_SPECIALIZATIONS)
-
-/**
- @endcond
-*/
-
-// unwrap_ref
-
-/**
- @return `unwrap_reference<T>::type&(t)`
- @remark Does not throw.
-*/
-template<class T> BOOST_FORCEINLINE typename unwrap_reference<T>::type& unwrap_ref( T & t )
-{
-    return t;
-}
-
-// get_pointer
-
-/**
- @cond
-*/
-template<class T> BOOST_FORCEINLINE T* get_pointer( reference_wrapper<T> const & r )
-{
-    return r.get_pointer();
-}
-/**
- @endcond
-*/
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CORE_REF_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/scoped_enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/scoped_enum.hpp
deleted file mode 100644
index 56dd0ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/scoped_enum.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-//  scoped_enum.hpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes, 2009
-//  Copyright (C) 2011-2012 Vicente J. Botet Escriba
-//  Copyright (C) 2012 Anthony Williams
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_CORE_SCOPED_ENUM_HPP
-#define BOOST_CORE_SCOPED_ENUM_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost
-{
-
-#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
-
-  /**
-   * Meta-function to get the native enum type associated to an enum class or its emulation.
-   */
-  template <typename EnumType>
-  struct native_type
-  {
-    /**
-     * The member typedef type names the native enum type associated to the scoped enum,
-     * which is it self if the compiler supports scoped enums or EnumType::enum_type if it is an emulated scoped enum.
-     */
-    typedef typename EnumType::enum_type type;
-  };
-
-  /**
-   * Casts a scoped enum to its underlying type.
-   *
-   * This function is useful when working with scoped enum classes, which doens't implicitly convert to the underlying type.
-   * @param v A scoped enum.
-   * @returns The underlying type.
-   * @throws No-throws.
-   */
-  template <typename UnderlyingType, typename EnumType>
-  inline
-  BOOST_CONSTEXPR UnderlyingType underlying_cast(EnumType v) BOOST_NOEXCEPT
-  {
-    return v.get_underlying_value_();
-  }
-
-  /**
-   * Casts a scoped enum to its native enum type.
-   *
-   * This function is useful to make programs portable when the scoped enum emulation can not be use where native enums can.
-   *
-   * EnumType the scoped enum type
-   *
-   * @param v A scoped enum.
-   * @returns The native enum value.
-   * @throws No-throws.
-   */
-  template <typename EnumType>
-  inline
-  BOOST_CONSTEXPR typename EnumType::enum_type native_value(EnumType e) BOOST_NOEXCEPT
-  {
-    return e.get_native_value_();
-  }
-
-#else  // BOOST_NO_CXX11_SCOPED_ENUMS
-
-  template <typename EnumType>
-  struct native_type
-  {
-    typedef EnumType type;
-  };
-
-  template <typename UnderlyingType, typename EnumType>
-  inline
-  BOOST_CONSTEXPR UnderlyingType underlying_cast(EnumType v) BOOST_NOEXCEPT
-  {
-    return static_cast<UnderlyingType>(v);
-  }
-
-  template <typename EnumType>
-  inline
-  BOOST_CONSTEXPR EnumType native_value(EnumType e) BOOST_NOEXCEPT
-  {
-    return e;
-  }
-
-#endif // BOOST_NO_CXX11_SCOPED_ENUMS
-}
-
-
-#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
-
-#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-
-#define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR \
-     explicit BOOST_CONSTEXPR operator underlying_type() const BOOST_NOEXCEPT { return get_underlying_value_(); }
-
-#else
-
-#define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR
-
-#endif
-
-/**
- * Start a declaration of a scoped enum.
- *
- * @param EnumType The new scoped enum.
- * @param UnderlyingType The underlying type.
- */
-#define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType, UnderlyingType)    \
-    struct EnumType {                                                   \
-        typedef void is_boost_scoped_enum_tag;                          \
-        typedef UnderlyingType underlying_type;                         \
-        EnumType() BOOST_NOEXCEPT {}                                    \
-        explicit BOOST_CONSTEXPR EnumType(underlying_type v) BOOST_NOEXCEPT : v_(v) {}                 \
-        BOOST_CONSTEXPR underlying_type get_underlying_value_() const BOOST_NOEXCEPT { return v_; }    \
-        BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR                \
-    private:                                                            \
-        underlying_type v_;                                             \
-        typedef EnumType self_type;                                     \
-    public:                                                             \
-        enum enum_type
-
-#define BOOST_SCOPED_ENUM_DECLARE_END2() \
-        BOOST_CONSTEXPR enum_type get_native_value_() const BOOST_NOEXCEPT { return enum_type(v_); } \
-        friend BOOST_CONSTEXPR bool operator ==(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)==enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator ==(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)==rhs; } \
-        friend BOOST_CONSTEXPR bool operator ==(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs==enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator !=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)!=enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator !=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)!=rhs; } \
-        friend BOOST_CONSTEXPR bool operator !=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs!=enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator <(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)<enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator <(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)<rhs; } \
-        friend BOOST_CONSTEXPR bool operator <(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs<enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator <=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)<=enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator <=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)<=rhs; } \
-        friend BOOST_CONSTEXPR bool operator <=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs<=enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator >(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator >(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>rhs; } \
-        friend BOOST_CONSTEXPR bool operator >(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs>enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator >=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>=enum_type(rhs.v_); } \
-        friend BOOST_CONSTEXPR bool operator >=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>=rhs; } \
-        friend BOOST_CONSTEXPR bool operator >=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs>=enum_type(rhs.v_); } \
-    };
-
-#define BOOST_SCOPED_ENUM_DECLARE_END(EnumType) \
-    ; \
-    BOOST_CONSTEXPR EnumType(enum_type v) BOOST_NOEXCEPT : v_(v) {}                 \
-    BOOST_SCOPED_ENUM_DECLARE_END2()
-
-/**
- * Starts a declaration of a scoped enum with the default int underlying type.
- *
- * @param EnumType The new scoped enum.
- */
-#define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) \
-  BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,int)
-
-/**
- * Name of the native enum type.
- *
- * @param EnumType The new scoped enum.
- */
-#define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType::enum_type
-/**
- * Forward declares an scoped enum.
- *
- * @param EnumType The scoped enum.
- */
-#define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) struct EnumType
-
-#else  // BOOST_NO_CXX11_SCOPED_ENUMS
-
-#define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,UnderlyingType) enum class EnumType : UnderlyingType
-#define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) enum class EnumType
-#define BOOST_SCOPED_ENUM_DECLARE_END2()
-#define BOOST_SCOPED_ENUM_DECLARE_END(EnumType) ;
-
-#define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType
-#define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) enum class EnumType
-
-#endif  // BOOST_NO_CXX11_SCOPED_ENUMS
-
-// Deprecated macros
-#define BOOST_SCOPED_ENUM_START(name) BOOST_SCOPED_ENUM_DECLARE_BEGIN(name)
-#define BOOST_SCOPED_ENUM_END BOOST_SCOPED_ENUM_DECLARE_END2()
-#define BOOST_SCOPED_ENUM(name) BOOST_SCOPED_ENUM_NATIVE(name)
-
-#endif  // BOOST_CORE_SCOPED_ENUM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/swap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/swap.hpp
deleted file mode 100644
index baa1be9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/swap.hpp
+++ /dev/null
@@ -1,60 +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_CORE_SWAP_HPP
-#define BOOST_CORE_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 <utility> //for std::swap (C++11)
-#include <algorithm> //for std::swap (C++98)
-#include <cstddef> //for std::size_t
-#include <boost/config.hpp>
-
-namespace boost_swap_impl
-{
-  template<class T>
-  BOOST_GPU_ENABLED
-  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>
-  BOOST_GPU_ENABLED
-  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>
-  BOOST_GPU_ENABLED
-  void swap(T1& left, T2& right)
-  {
-    ::boost_swap_impl::swap_impl(left, right);
-  }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/typeinfo.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/typeinfo.hpp
deleted file mode 100644
index e67b4a3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/typeinfo.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef BOOST_CORE_TYPEINFO_HPP_INCLUDED
-#define BOOST_CORE_TYPEINFO_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  core::typeinfo, BOOST_CORE_TYPEID
-//
-//  Copyright 2007, 2014 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 core
-{
-
-class typeinfo
-{
-private:
-
-    typeinfo( typeinfo const& );
-    typeinfo& operator=( typeinfo const& );
-
-    char const * name_;
-
-public:
-
-    explicit typeinfo( char const * name ): name_( name )
-    {
-    }
-
-    bool operator==( typeinfo const& rhs ) const
-    {
-        return this == &rhs;
-    }
-
-    bool operator!=( typeinfo const& rhs ) const
-    {
-        return this != &rhs;
-    }
-
-    bool before( typeinfo const& rhs ) const
-    {
-        return std::less< typeinfo const* >()( this, &rhs );
-    }
-
-    char const* name() const
-    {
-        return name_;
-    }
-};
-
-inline char const * demangled_name( core::typeinfo const & ti )
-{
-    return ti.name();
-}
-
-} // namespace core
-
-namespace detail
-{
-
-template<class T> struct core_typeid_
-{
-    static boost::core::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> boost::core::typeinfo core_typeid_< T >::ti_ = core_typeid_< T >::name();
-#else
-template<class T> boost::core::typeinfo core_typeid_< T >::ti_(core_typeid_< T >::name());
-#endif
-
-template<class T> struct core_typeid_< T & >: core_typeid_< T >
-{
-};
-
-template<class T> struct core_typeid_< T const >: core_typeid_< T >
-{
-};
-
-template<class T> struct core_typeid_< T volatile >: core_typeid_< T >
-{
-};
-
-template<class T> struct core_typeid_< T const volatile >: core_typeid_< T >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_CORE_TYPEID(T) (boost::detail::core_typeid_<T>::ti_)
-
-#else
-
-#include <boost/core/demangle.hpp>
-#include <typeinfo>
-
-namespace boost
-{
-
-namespace core
-{
-
-#if defined( BOOST_NO_STD_TYPEINFO )
-
-typedef ::type_info typeinfo;
-
-#else
-
-typedef std::type_info typeinfo;
-
-#endif
-
-inline std::string demangled_name( core::typeinfo const & ti )
-{
-    return core::demangle( ti.name() );
-}
-
-} // namespace core
-
-} // namespace boost
-
-#define BOOST_CORE_TYPEID(T) typeid(T)
-
-#endif
-
-#endif  // #ifndef BOOST_CORE_TYPEINFO_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/core/underlying_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/core/underlying_type.hpp
deleted file mode 100644
index 7ecba31..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/core/underlying_type.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//  underlying_type.hpp  ---------------------------------------------------------//
-
-//  Copyright Beman Dawes, 2009
-//  Copyright (C) 2011-2012 Vicente J. Botet Escriba
-//  Copyright (C) 2012 Anthony Williams
-//  Copyright (C) 2014 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_CORE_UNDERLYING_TYPE_HPP
-#define BOOST_CORE_UNDERLYING_TYPE_HPP
-
-#include <boost/config.hpp>
-
-// GCC 4.7 and later seem to provide std::underlying_type
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) || (defined(BOOST_GCC) && BOOST_GCC >= 40700 && defined(__GXX_EXPERIMENTAL_CXX0X__))
-#include <type_traits>
-#define BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-namespace detail {
-
-template< typename EnumType, typename Void = void >
-struct underlying_type_impl;
-
-#if defined(BOOST_NO_CXX11_SCOPED_ENUMS)
-
-// Support for boost/core/scoped_enum.hpp
-template< typename EnumType >
-struct underlying_type_impl< EnumType, typename EnumType::is_boost_scoped_enum_tag >
-{
-    /**
-     * The member typedef type names the underlying type of EnumType. It is EnumType::underlying_type when the EnumType is an emulated scoped enum,
-     */
-    typedef typename EnumType::underlying_type type;
-};
-
-#endif
-
-#if defined(BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE)
-
-template< typename EnumType, typename Void >
-struct underlying_type_impl
-{
-    typedef typename std::underlying_type< EnumType >::type type;
-};
-
-#endif
-
-} // namespace detail
-
-#if !defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE)
-#define BOOST_NO_UNDERLYING_TYPE
-#endif
-
-/**
- * Meta-function to get the underlying type of a scoped enum.
- *
- * Requires EnumType must be an enum type or the emulation of a scoped enum.
- * If BOOST_NO_UNDERLYING_TYPE is defined, the implementation will not be able
- * to deduce the underlying type of enums. The user is expected to specialize
- * this trait in this case.
- */
-template< typename EnumType >
-struct underlying_type :
-    public detail::underlying_type_impl< EnumType >
-{
-};
-
-} // namespace boost
-
-#endif  // BOOST_CORE_UNDERLYING_TYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/crc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/crc.hpp
deleted file mode 100644
index 6be5aa1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/crc.hpp
+++ /dev/null
@@ -1,1110 +0,0 @@
-//  Boost CRC library crc.hpp header file  -----------------------------------//
-
-//  Copyright 2001, 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/crc/> for the library's home page.
-
-#ifndef BOOST_CRC_HPP
-#define BOOST_CRC_HPP
-
-#include <boost/config.hpp>   // for BOOST_STATIC_CONSTANT, etc.
-#include <boost/integer.hpp>  // for boost::uint_t
-
-#include <climits>  // for CHAR_BIT, etc.
-#include <cstddef>  // for std::size_t
-
-#include <boost/limits.hpp>  // for std::numeric_limits
-
-
-// The type of CRC parameters that can go in a template should be related
-// on the CRC's bit count.  This macro expresses that type in a compact
-// form, but also allows an alternate type for compilers that don't support
-// dependent types (in template value-parameters).
-#if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || (defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)))
-#define BOOST_CRC_PARM_TYPE  typename ::boost::uint_t<Bits>::fast
-#else
-#define BOOST_CRC_PARM_TYPE  unsigned long
-#endif
-
-// Some compilers [MS VC++ 6] cannot correctly set up several versions of a
-// function template unless every template argument can be unambiguously
-// deduced from the function arguments.  (The bug is hidden if only one version
-// is needed.)  Since all of the CRC function templates have this problem, the
-// workaround is to make up a dummy function argument that encodes the template
-// arguments.  Calls to such template functions need all their template
-// arguments explicitly specified.  At least one compiler that needs this
-// workaround also needs the default value for the dummy argument to be
-// specified in the definition.
-#if defined(__GNUC__) || !defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)
-#define BOOST_CRC_DUMMY_PARM_TYPE
-#define BOOST_CRC_DUMMY_INIT
-#define BOOST_ACRC_DUMMY_PARM_TYPE
-#define BOOST_ACRC_DUMMY_INIT
-#else
-namespace boost { namespace detail {
-    template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-     BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-     bool ReflectIn, bool ReflectRem >
-    struct dummy_crc_argument  { };
-} }
-#define BOOST_CRC_DUMMY_PARM_TYPE   , detail::dummy_crc_argument<Bits, \
- TruncPoly, InitRem, FinalXor, ReflectIn, ReflectRem> *p_
-#define BOOST_CRC_DUMMY_INIT        BOOST_CRC_DUMMY_PARM_TYPE = 0
-#define BOOST_ACRC_DUMMY_PARM_TYPE  , detail::dummy_crc_argument<Bits, \
- TruncPoly, 0, 0, false, false> *p_
-#define BOOST_ACRC_DUMMY_INIT       BOOST_ACRC_DUMMY_PARM_TYPE = 0
-#endif
-
-
-namespace boost
-{
-
-
-//  Forward declarations  ----------------------------------------------------//
-
-template < std::size_t Bits >
-    class crc_basic;
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly = 0u,
-           BOOST_CRC_PARM_TYPE InitRem = 0u,
-           BOOST_CRC_PARM_TYPE FinalXor = 0u, bool ReflectIn = false,
-           bool ReflectRem = false >
-    class crc_optimal;
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-    typename uint_t<Bits>::fast  crc( void const *buffer,
-     std::size_t byte_count
-     BOOST_CRC_DUMMY_PARM_TYPE );
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
-    typename uint_t<Bits>::fast  augmented_crc( void const *buffer,
-     std::size_t byte_count, typename uint_t<Bits>::fast initial_remainder
-     BOOST_ACRC_DUMMY_PARM_TYPE );
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
-    typename uint_t<Bits>::fast  augmented_crc( void const *buffer,
-     std::size_t byte_count
-     BOOST_ACRC_DUMMY_PARM_TYPE );
-
-typedef crc_optimal<16, 0x8005, 0, 0, true, true>         crc_16_type;
-typedef crc_optimal<16, 0x1021, 0xFFFF, 0, false, false>  crc_ccitt_type;
-typedef crc_optimal<16, 0x8408, 0, 0, true, true>         crc_xmodem_type;
-
-typedef crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>
-  crc_32_type;
-
-
-//  Forward declarations for implementation detail stuff  --------------------//
-//  (Just for the stuff that will be needed for the next two sections)
-
-namespace detail
-{
-    template < std::size_t Bits >
-        struct mask_uint_t;
-
-    template <  >
-        struct mask_uint_t< std::numeric_limits<unsigned char>::digits >;
-
-    #if USHRT_MAX > UCHAR_MAX
-    template <  >
-        struct mask_uint_t< std::numeric_limits<unsigned short>::digits >;
-    #endif
-
-    #if UINT_MAX > USHRT_MAX
-    template <  >
-        struct mask_uint_t< std::numeric_limits<unsigned int>::digits >;
-    #endif
-
-    #if ULONG_MAX > UINT_MAX
-    template <  >
-        struct mask_uint_t< std::numeric_limits<unsigned long>::digits >;
-    #endif
-
-    template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
-        struct crc_table_t;
-
-    template < std::size_t Bits, bool DoReflect >
-        class crc_helper;
-
-    #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    template < std::size_t Bits >
-        class crc_helper< Bits, false >;
-    #endif
-
-}  // namespace detail
-
-
-//  Simple cyclic redundancy code (CRC) class declaration  -------------------//
-
-template < std::size_t Bits >
-class crc_basic
-{
-    // Implementation type
-    typedef detail::mask_uint_t<Bits>  masking_type;
-
-public:
-    // Type
-    typedef typename masking_type::least  value_type;
-
-    // Constant for the template parameter
-    BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
-
-    // Constructor
-    explicit  crc_basic( value_type truncated_polynominal,
-               value_type initial_remainder = 0, value_type final_xor_value = 0,
-               bool reflect_input = false, bool reflect_remainder = false );
-
-    // Internal Operations
-    value_type  get_truncated_polynominal() const;
-    value_type  get_initial_remainder() const;
-    value_type  get_final_xor_value() const;
-    bool        get_reflect_input() const;
-    bool        get_reflect_remainder() const;
-
-    value_type  get_interim_remainder() const;
-    void        reset( value_type new_rem );
-    void        reset();
-
-    // External Operations
-    void  process_bit( bool bit );
-    void  process_bits( unsigned char bits, std::size_t bit_count );
-    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 );
-
-    value_type  checksum() const;
-
-private:
-    // Member data
-    value_type  rem_;
-    value_type  poly_, init_, final_;  // non-const to allow assignability
-    bool        rft_in_, rft_out_;     // non-const to allow assignability
-
-};  // boost::crc_basic
-
-
-//  Optimized cyclic redundancy code (CRC) class declaration  ----------------//
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-class crc_optimal
-{
-    // Implementation type
-    typedef detail::mask_uint_t<Bits>  masking_type;
-
-public:
-    // Type
-    typedef typename masking_type::fast  value_type;
-
-    // Constants for the template parameters
-    BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
-    BOOST_STATIC_CONSTANT( value_type, truncated_polynominal = TruncPoly );
-    BOOST_STATIC_CONSTANT( value_type, initial_remainder = InitRem );
-    BOOST_STATIC_CONSTANT( value_type, final_xor_value = FinalXor );
-    BOOST_STATIC_CONSTANT( bool, reflect_input = ReflectIn );
-    BOOST_STATIC_CONSTANT( bool, reflect_remainder = ReflectRem );
-
-    // Constructor
-    explicit  crc_optimal( value_type init_rem = InitRem );
-
-    // Internal Operations
-    value_type  get_truncated_polynominal() const;
-    value_type  get_initial_remainder() const;
-    value_type  get_final_xor_value() const;
-    bool        get_reflect_input() const;
-    bool        get_reflect_remainder() const;
-
-    value_type  get_interim_remainder() const;
-    void        reset( value_type new_rem = InitRem );
-
-    // External Operations
-    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 );
-
-    value_type  checksum() const;
-
-    // Operators
-    void        operator ()( unsigned char byte );
-    value_type  operator ()() const;
-
-private:
-    // The implementation of output reflection depends on both reflect states.
-    BOOST_STATIC_CONSTANT( bool, reflect_output = (ReflectRem != ReflectIn) );
-
-    #ifndef __BORLANDC__
-    #define BOOST_CRC_REF_OUT_VAL  reflect_output
-    #else
-    typedef crc_optimal  self_type;
-    #define BOOST_CRC_REF_OUT_VAL  (self_type::reflect_output)
-    #endif
-
-    // More implementation types
-    typedef detail::crc_table_t<Bits, TruncPoly, ReflectIn>  crc_table_type;
-    typedef detail::crc_helper<Bits, ReflectIn>              helper_type;
-    typedef detail::crc_helper<Bits, BOOST_CRC_REF_OUT_VAL>  reflect_out_type;
-
-    #undef BOOST_CRC_REF_OUT_VAL
-
-    // Member data
-    value_type  rem_;
-
-};  // boost::crc_optimal
-
-
-//  Implementation detail stuff  ---------------------------------------------//
-
-namespace detail
-{
-    // Forward declarations for more implementation details
-    template < std::size_t Bits >
-        struct high_uint_t;
-
-    template < std::size_t Bits >
-        struct reflector;
-
-
-    // Traits class for mask; given the bit number
-    // (1-based), get the mask for that bit by itself.
-    template < std::size_t Bits >
-    struct high_uint_t
-        : boost::uint_t< Bits >
-    {
-        typedef boost::uint_t<Bits>        base_type;
-        typedef typename base_type::least  least;
-        typedef typename base_type::fast   fast;
-
-#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243
-        static const least high_bit = 1ul << ( Bits - 1u );
-        static const fast high_bit_fast = 1ul << ( Bits - 1u );
-#else
-        BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << ( Bits
-         - 1u )) );
-        BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << ( Bits
-         - 1u )) );
-#endif
-
-    };  // boost::detail::high_uint_t
-
-
-    // Reflection routine class wrapper
-    // (since MS VC++ 6 couldn't handle the unwrapped version)
-    template < std::size_t Bits >
-    struct reflector
-    {
-        typedef typename boost::uint_t<Bits>::fast  value_type;
-
-        static  value_type  reflect( value_type x );
-
-    };  // boost::detail::reflector
-
-    // Function that reflects its argument
-    template < std::size_t Bits >
-    typename reflector<Bits>::value_type
-    reflector<Bits>::reflect
-    (
-        typename reflector<Bits>::value_type  x
-    )
-    {
-        value_type        reflection = 0;
-        value_type const  one = 1;
-
-        for ( std::size_t i = 0 ; i < Bits ; ++i, x >>= 1 )
-        {
-            if ( x & one )
-            {
-                reflection |= ( one << (Bits - 1u - i) );
-            }
-        }
-
-        return reflection;
-    }
-
-
-    // Traits class for masks; given the bit number (1-based),
-    // get the mask for that bit and its lower bits.
-    template < std::size_t Bits >
-    struct mask_uint_t
-        : high_uint_t< Bits >
-    {
-        typedef high_uint_t<Bits>          base_type;
-        typedef typename base_type::least  least;
-        typedef typename base_type::fast   fast;
-
-        #ifndef __BORLANDC__
-        using base_type::high_bit;
-        using base_type::high_bit_fast;
-        #else
-        BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
-        BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
-        #endif
-
-#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243
-        static const least sig_bits = (~( ~( 0ul ) << Bits )) ;
-#else
-        BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) );
-#endif
-#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2
-        // Work around a weird bug that ICEs the compiler in build_c_cast
-        BOOST_STATIC_CONSTANT( fast, sig_bits_fast = static_cast<fast>(sig_bits) );
-#else
-        BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-#endif
-    };  // boost::detail::mask_uint_t
-
-    template <  >
-    struct mask_uint_t< std::numeric_limits<unsigned char>::digits >
-        : high_uint_t< std::numeric_limits<unsigned char>::digits >
-    {
-        typedef high_uint_t<std::numeric_limits<unsigned char>::digits>
-          base_type;
-        typedef base_type::least  least;
-        typedef base_type::fast   fast;
-
-        #ifndef __BORLANDC__
-        using base_type::high_bit;
-        using base_type::high_bit_fast;
-        #else
-        BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
-        BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
-        #endif
-
-        BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
-        BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
-    };  // boost::detail::mask_uint_t
-
-    #if USHRT_MAX > UCHAR_MAX
-    template <  >
-    struct mask_uint_t< std::numeric_limits<unsigned short>::digits >
-        : high_uint_t< std::numeric_limits<unsigned short>::digits >
-    {
-        typedef high_uint_t<std::numeric_limits<unsigned short>::digits>
-          base_type;
-        typedef base_type::least  least;
-        typedef base_type::fast   fast;
-
-        #ifndef __BORLANDC__
-        using base_type::high_bit;
-        using base_type::high_bit_fast;
-        #else
-        BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
-        BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
-        #endif
-
-        BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
-        BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
-    };  // boost::detail::mask_uint_t
-    #endif
-
-    #if UINT_MAX > USHRT_MAX
-    template <  >
-    struct mask_uint_t< std::numeric_limits<unsigned int>::digits >
-        : high_uint_t< std::numeric_limits<unsigned int>::digits >
-    {
-        typedef high_uint_t<std::numeric_limits<unsigned int>::digits>
-          base_type;
-        typedef base_type::least  least;
-        typedef base_type::fast   fast;
-
-        #ifndef __BORLANDC__
-        using base_type::high_bit;
-        using base_type::high_bit_fast;
-        #else
-        BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
-        BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
-        #endif
-
-        BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
-        BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
-    };  // boost::detail::mask_uint_t
-    #endif
-
-    #if ULONG_MAX > UINT_MAX
-    template <  >
-    struct mask_uint_t< std::numeric_limits<unsigned long>::digits >
-        : high_uint_t< std::numeric_limits<unsigned long>::digits >
-    {
-        typedef high_uint_t<std::numeric_limits<unsigned long>::digits>
-          base_type;
-        typedef base_type::least  least;
-        typedef base_type::fast   fast;
-
-        #ifndef __BORLANDC__
-        using base_type::high_bit;
-        using base_type::high_bit_fast;
-        #else
-        BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit );
-        BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast );
-        #endif
-
-        BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) );
-        BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
-    };  // boost::detail::mask_uint_t
-    #endif
-
-
-    // CRC table generator
-    template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
-    struct crc_table_t
-    {
-        BOOST_STATIC_CONSTANT( std::size_t, byte_combos = (1ul << CHAR_BIT) );
-
-        typedef mask_uint_t<Bits>            masking_type;
-        typedef typename masking_type::fast  value_type;
-#if defined(__BORLANDC__) && defined(_M_IX86) && (__BORLANDC__ == 0x560)
-        // for some reason Borland's command line compiler (version 0x560)
-        // chokes over this unless we do the calculation for it:
-        typedef value_type                   table_type[ 0x100 ];
-#elif defined(__GNUC__)
-        // old versions of GCC (before 4.0.2) choke on using byte_combos
-        // as a constant expression when compiling with -pedantic.
-        typedef value_type                   table_type[1ul << CHAR_BIT];
-#else
-        typedef value_type                   table_type[ byte_combos ];
-#endif
-
-        static  void  init_table();
-
-        static  table_type  table_;
-
-    };  // boost::detail::crc_table_t
-
-    // CRC table generator static data member definition
-    // (Some compilers [Borland C++] require the initializer to be present.)
-    template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
-    typename crc_table_t<Bits, TruncPoly, Reflect>::table_type
-    crc_table_t<Bits, TruncPoly, Reflect>::table_
-     = { 0 };
-
-    // Populate CRC lookup table
-    template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect >
-    void
-    crc_table_t<Bits, TruncPoly, Reflect>::init_table
-    (
-    )
-    {
-        // compute table only on the first run
-        static  bool  did_init = false;
-        if ( did_init )  return;
-
-        // factor-out constants to avoid recalculation
-        value_type const     fast_hi_bit = masking_type::high_bit_fast;
-        unsigned char const  byte_hi_bit = 1u << (CHAR_BIT - 1u);
-
-        // loop over every possible dividend value
-        unsigned char  dividend = 0;
-        do
-        {
-            value_type  remainder = 0;
-
-            // go through all the dividend's bits
-            for ( unsigned char mask = byte_hi_bit ; mask ; mask >>= 1 )
-            {
-                // check if divisor fits
-                if ( dividend & mask )
-                {
-                    remainder ^= fast_hi_bit;
-                }
-
-                // do polynominal division
-                if ( remainder & fast_hi_bit )
-                {
-                    remainder <<= 1;
-                    remainder ^= TruncPoly;
-                }
-                else
-                {
-                    remainder <<= 1;
-                }
-            }
-
-            table_[ crc_helper<CHAR_BIT, Reflect>::reflect(dividend) ]
-             = crc_helper<Bits, Reflect>::reflect( remainder );
-        }
-        while ( ++dividend );
-
-        did_init = true;
-    }
-
-    #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    // Align the msb of the remainder to a byte
-    template < std::size_t Bits, bool RightShift >
-    class remainder
-    {
-    public:
-        typedef typename uint_t<Bits>::fast  value_type;
-
-        static unsigned char align_msb( value_type rem )
-            { return rem >> (Bits - CHAR_BIT); }
-    };
-
-    // Specialization for the case that the remainder has less
-    // bits than a byte: align the remainder msb to the byte msb
-    template < std::size_t Bits >
-    class remainder< Bits, false >
-    {
-    public:
-        typedef typename uint_t<Bits>::fast  value_type;
-
-        static unsigned char align_msb( value_type rem )
-            { return rem << (CHAR_BIT - Bits); }
-    };
-    #endif
-
-    // CRC helper routines
-    template < std::size_t Bits, bool DoReflect >
-    class crc_helper
-    {
-    public:
-        // Type
-        typedef typename uint_t<Bits>::fast  value_type;
-
-    #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-        // Possibly reflect a remainder
-        static  value_type  reflect( value_type x )
-            { return detail::reflector<Bits>::reflect( x ); }
-
-        // Compare a byte to the remainder's highest byte
-        static  unsigned char  index( value_type rem, unsigned char x )
-            { return x ^ rem; }
-
-        // Shift out the remainder's highest byte
-        static  value_type  shift( value_type rem )
-            { return rem >> CHAR_BIT; }
-    #else
-        // Possibly reflect a remainder
-        static  value_type  reflect( value_type x )
-            { return DoReflect ? detail::reflector<Bits>::reflect( x ) : x; }
-
-        // Compare a byte to the remainder's highest byte
-        static  unsigned char  index( value_type rem, unsigned char x )
-            { return x ^ ( DoReflect ? rem :
-                                ((Bits>CHAR_BIT)?( rem >> (Bits - CHAR_BIT) ) :
-                                    ( rem << (CHAR_BIT - Bits) ))); }
-
-        // Shift out the remainder's highest byte
-        static  value_type  shift( value_type rem )
-            { return DoReflect ? rem >> CHAR_BIT : rem << CHAR_BIT; }
-    #endif
-
-    };  // boost::detail::crc_helper
-
-    #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    template < std::size_t Bits >
-    class crc_helper<Bits, false>
-    {
-    public:
-        // Type
-        typedef typename uint_t<Bits>::fast  value_type;
-
-        // Possibly reflect a remainder
-        static  value_type  reflect( value_type x )
-            { return x; }
-
-        // Compare a byte to the remainder's highest byte
-        static  unsigned char  index( value_type rem, unsigned char x )
-            { return x ^ remainder<Bits,(Bits>CHAR_BIT)>::align_msb( rem ); }
-
-        // Shift out the remainder's highest byte
-        static  value_type  shift( value_type rem )
-            { return rem << CHAR_BIT; }
-
-    };  // boost::detail::crc_helper
-    #endif
-
-
-}  // namespace detail
-
-
-//  Simple CRC class function definitions  -----------------------------------//
-
-template < std::size_t Bits >
-inline
-crc_basic<Bits>::crc_basic
-(
-    typename crc_basic<Bits>::value_type  truncated_polynominal,
-    typename crc_basic<Bits>::value_type  initial_remainder,      // = 0
-    typename crc_basic<Bits>::value_type  final_xor_value,        // = 0
-    bool                                  reflect_input,          // = false
-    bool                                  reflect_remainder       // = false
-)
-    : rem_( initial_remainder ), poly_( truncated_polynominal )
-    , init_( initial_remainder ), final_( final_xor_value )
-    , rft_in_( reflect_input ), rft_out_( reflect_remainder )
-{
-}
-
-template < std::size_t Bits >
-inline
-typename crc_basic<Bits>::value_type
-crc_basic<Bits>::get_truncated_polynominal
-(
-) const
-{
-    return poly_;
-}
-
-template < std::size_t Bits >
-inline
-typename crc_basic<Bits>::value_type
-crc_basic<Bits>::get_initial_remainder
-(
-) const
-{
-    return init_;
-}
-
-template < std::size_t Bits >
-inline
-typename crc_basic<Bits>::value_type
-crc_basic<Bits>::get_final_xor_value
-(
-) const
-{
-    return final_;
-}
-
-template < std::size_t Bits >
-inline
-bool
-crc_basic<Bits>::get_reflect_input
-(
-) const
-{
-    return rft_in_;
-}
-
-template < std::size_t Bits >
-inline
-bool
-crc_basic<Bits>::get_reflect_remainder
-(
-) const
-{
-    return rft_out_;
-}
-
-template < std::size_t Bits >
-inline
-typename crc_basic<Bits>::value_type
-crc_basic<Bits>::get_interim_remainder
-(
-) const
-{
-    return rem_ & masking_type::sig_bits;
-}
-
-template < std::size_t Bits >
-inline
-void
-crc_basic<Bits>::reset
-(
-    typename crc_basic<Bits>::value_type  new_rem
-)
-{
-    rem_ = new_rem;
-}
-
-template < std::size_t Bits >
-inline
-void
-crc_basic<Bits>::reset
-(
-)
-{
-    this->reset( this->get_initial_remainder() );
-}
-
-template < std::size_t Bits >
-inline
-void
-crc_basic<Bits>::process_bit
-(
-    bool  bit
-)
-{
-    value_type const  high_bit_mask = masking_type::high_bit;
-
-    // compare the new bit with the remainder's highest
-    rem_ ^= ( bit ? high_bit_mask : 0u );
-
-    // a full polynominal division step is done when the highest bit is one
-    bool const  do_poly_div = static_cast<bool>( rem_ & high_bit_mask );
-
-    // shift out the highest bit
-    rem_ <<= 1;
-
-    // carry out the division, if needed
-    if ( do_poly_div )
-    {
-        rem_ ^= poly_;
-    }
-}
-
-template < std::size_t Bits >
-void
-crc_basic<Bits>::process_bits
-(
-    unsigned char  bits,
-    std::size_t    bit_count
-)
-{
-    // ignore the bits above the ones we want
-    bits <<= CHAR_BIT - bit_count;
-
-    // compute the CRC for each bit, starting with the upper ones
-    unsigned char const  high_bit_mask = 1u << ( CHAR_BIT - 1u );
-    for ( std::size_t i = bit_count ; i > 0u ; --i, bits <<= 1u )
-    {
-        process_bit( static_cast<bool>(bits & high_bit_mask) );
-    }
-}
-
-template < std::size_t Bits >
-inline
-void
-crc_basic<Bits>::process_byte
-(
-    unsigned char  byte
-)
-{
-    process_bits( (rft_in_ ? detail::reflector<CHAR_BIT>::reflect(byte)
-     : byte), CHAR_BIT );
-}
-
-template < std::size_t Bits >
-void
-crc_basic<Bits>::process_block
-(
-    void const *  bytes_begin,
-    void const *  bytes_end
-)
-{
-    for ( unsigned char const * p
-     = static_cast<unsigned char const *>(bytes_begin) ; p < bytes_end ; ++p )
-    {
-        process_byte( *p );
-    }
-}
-
-template < std::size_t Bits >
-inline
-void
-crc_basic<Bits>::process_bytes
-(
-    void const *  buffer,
-    std::size_t   byte_count
-)
-{
-    unsigned char const * const  b = static_cast<unsigned char const *>(
-     buffer );
-
-    process_block( b, b + byte_count );
-}
-
-template < std::size_t Bits >
-inline
-typename crc_basic<Bits>::value_type
-crc_basic<Bits>::checksum
-(
-) const
-{
-    return ( (rft_out_ ? detail::reflector<Bits>::reflect( rem_ ) : rem_)
-     ^ final_ ) & masking_type::sig_bits;
-}
-
-
-//  Optimized CRC class function definitions  --------------------------------//
-
-// Macro to compact code
-#define BOOST_CRC_OPTIMAL_NAME  crc_optimal<Bits, TruncPoly, InitRem, \
- FinalXor, ReflectIn, ReflectRem>
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-BOOST_CRC_OPTIMAL_NAME::crc_optimal
-(
-    typename BOOST_CRC_OPTIMAL_NAME::value_type  init_rem  // = InitRem
-)
-    : rem_( helper_type::reflect(init_rem) )
-{
-    crc_table_type::init_table();
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename BOOST_CRC_OPTIMAL_NAME::value_type
-BOOST_CRC_OPTIMAL_NAME::get_truncated_polynominal
-(
-) const
-{
-    return TruncPoly;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename BOOST_CRC_OPTIMAL_NAME::value_type
-BOOST_CRC_OPTIMAL_NAME::get_initial_remainder
-(
-) const
-{
-    return InitRem;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename BOOST_CRC_OPTIMAL_NAME::value_type
-BOOST_CRC_OPTIMAL_NAME::get_final_xor_value
-(
-) const
-{
-    return FinalXor;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-bool
-BOOST_CRC_OPTIMAL_NAME::get_reflect_input
-(
-) const
-{
-    return ReflectIn;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-bool
-BOOST_CRC_OPTIMAL_NAME::get_reflect_remainder
-(
-) const
-{
-    return ReflectRem;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename BOOST_CRC_OPTIMAL_NAME::value_type
-BOOST_CRC_OPTIMAL_NAME::get_interim_remainder
-(
-) const
-{
-    // Interim remainder should be _un_-reflected, so we have to undo it.
-    return helper_type::reflect( rem_ ) & masking_type::sig_bits_fast;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-void
-BOOST_CRC_OPTIMAL_NAME::reset
-(
-    typename BOOST_CRC_OPTIMAL_NAME::value_type  new_rem  // = InitRem
-)
-{
-    rem_ = helper_type::reflect( new_rem );
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-void
-BOOST_CRC_OPTIMAL_NAME::process_byte
-(
-    unsigned char  byte
-)
-{
-    process_bytes( &byte, sizeof(byte) );
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-void
-BOOST_CRC_OPTIMAL_NAME::process_block
-(
-    void const *  bytes_begin,
-    void const *  bytes_end
-)
-{
-    // Recompute the CRC for each byte passed
-    for ( unsigned char const * p
-     = static_cast<unsigned char const *>(bytes_begin) ; p < bytes_end ; ++p )
-    {
-        // Compare the new byte with the remainder's higher bits to
-        // get the new bits, shift out the remainder's current higher
-        // bits, and update the remainder with the polynominal division
-        // of the new bits.
-        unsigned char const  byte_index = helper_type::index( rem_, *p );
-        rem_ = helper_type::shift( rem_ );
-        rem_ ^= crc_table_type::table_[ byte_index ];
-    }
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-void
-BOOST_CRC_OPTIMAL_NAME::process_bytes
-(
-    void const *   buffer,
-    std::size_t  byte_count
-)
-{
-    unsigned char const * const  b = static_cast<unsigned char const *>(
-     buffer );
-    process_block( b, b + byte_count );
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename BOOST_CRC_OPTIMAL_NAME::value_type
-BOOST_CRC_OPTIMAL_NAME::checksum
-(
-) const
-{
-    return ( reflect_out_type::reflect(rem_) ^ get_final_xor_value() )
-     & masking_type::sig_bits_fast;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-void
-BOOST_CRC_OPTIMAL_NAME::operator ()
-(
-    unsigned char  byte
-)
-{
-    process_byte( byte );
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename BOOST_CRC_OPTIMAL_NAME::value_type
-BOOST_CRC_OPTIMAL_NAME::operator ()
-(
-) const
-{
-    return checksum();
-}
-
-
-//  CRC computation function definition  -------------------------------------//
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
-           BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
-           bool ReflectIn, bool ReflectRem >
-inline
-typename uint_t<Bits>::fast
-crc
-(
-    void const *  buffer,
-    std::size_t   byte_count
-    BOOST_CRC_DUMMY_INIT
-)
-{
-    BOOST_CRC_OPTIMAL_NAME  computer;
-    computer.process_bytes( buffer, byte_count );
-    return computer.checksum();
-}
-
-
-//  Augmented-message CRC computation function definitions  ------------------//
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
-typename uint_t<Bits>::fast
-augmented_crc
-(
-    void const *                 buffer,
-    std::size_t                  byte_count,
-    typename uint_t<Bits>::fast  initial_remainder
-    BOOST_ACRC_DUMMY_INIT
-)
-{
-    typedef unsigned char                                byte_type;
-    typedef detail::mask_uint_t<Bits>                    masking_type;
-    typedef detail::crc_table_t<Bits, TruncPoly, false>  crc_table_type;
-
-    typename masking_type::fast  rem = initial_remainder;
-    byte_type const * const      b = static_cast<byte_type const *>( buffer );
-    byte_type const * const      e = b + byte_count;
-
-    crc_table_type::init_table();
-    for ( byte_type const * p = b ; p < e ; ++p )
-    {
-        // Use the current top byte as the table index to the next
-        // "partial product."  Shift out that top byte, shifting in
-        // the next augmented-message byte.  Complete the division.
-        byte_type const  byte_index = rem >> ( Bits - CHAR_BIT );
-        rem <<= CHAR_BIT;
-        rem |= *p;
-        rem ^= crc_table_type::table_[ byte_index ];
-    }
-
-    return rem & masking_type::sig_bits_fast;
-}
-
-template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
-inline
-typename uint_t<Bits>::fast
-augmented_crc
-(
-    void const *  buffer,
-    std::size_t   byte_count
-    BOOST_ACRC_DUMMY_INIT
-)
-{
-   // The last function argument has its type specified so the other version of
-   // augmented_crc will be called.  If the cast wasn't in place, and the
-   // BOOST_ACRC_DUMMY_INIT added a third argument (for a workaround), the "0"
-   // would match as that third argument, leading to infinite recursion.
-   return augmented_crc<Bits, TruncPoly>( buffer, byte_count,
-    static_cast<typename uint_t<Bits>::fast>(0) );
-}
-
-
-}  // namespace boost
-
-
-// Undo header-private macros
-#undef BOOST_CRC_OPTIMAL_NAME
-#undef BOOST_ACRC_DUMMY_INIT
-#undef BOOST_ACRC_DUMMY_PARM_TYPE
-#undef BOOST_CRC_DUMMY_INIT
-#undef BOOST_CRC_DUMMY_PARM_TYPE
-#undef BOOST_CRC_PARM_TYPE
-
-
-#endif  // BOOST_CRC_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/cregex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cregex.hpp
deleted file mode 100644
index b7a918e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/cstdfloat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cstdfloat.hpp
deleted file mode 100644
index 0af4e41..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/cstdfloat.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// Copyright Christopher Kormanyos 2014.
-// Copyright John Maddock 2014.
-// Copyright Paul Bristow 2014.
-// Distributed under the 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/cstdfloat.hpp> implements floating-point typedefs having
-// specified widths, as described in N3626 (proposed for C++14).
-// See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf
-
-#ifndef _BOOST_CSTDFLOAT_2014_01_09_HPP_
-  #define _BOOST_CSTDFLOAT_2014_01_09_HPP_
-
-  // Include the floating-point type definitions.
-  #include <boost/math/cstdfloat/cstdfloat_types.hpp>
-
-  // Support a specialization of std::numeric_limits<> for the wrapped quadmath library (if available).
-  #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS)
-    #include <boost/math/cstdfloat/cstdfloat_limits.hpp>
-  #endif
-
-  // Support <cmath> functions for the wrapped quadmath library (if available).
-  #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH)
-    #include <boost/math/cstdfloat/cstdfloat_cmath.hpp>
-  #endif
-
-  // Support I/O stream operations for the wrapped quadmath library (if available).
-  #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM)
-    #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH)
-    #error You can not use <boost/math/cstdfloat/cstdfloat_iostream.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined.
-    #endif
-    #include <boost/math/cstdfloat/cstdfloat_iostream.hpp>
-  #endif
-
-  // Support a specialization of std::complex<> for the wrapped quadmath library (if available).
-  #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_COMPLEX)
-    #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS)
-    #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS defined.
-    #endif
-    #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH)
-    #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined.
-    #endif
-    #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM)
-    #error You can not use <boost/math/cstdfloat/cstdfloat_complex.hpp> with BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM defined.
-    #endif
-    #include <boost/math/cstdfloat/cstdfloat_complex.hpp>
-  #endif
-
-
-  // Undefine BOOST_NO_FLOAT128_T because this constant is not meant for public use.
-  #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T)
-  #undef BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T
-  #endif
-
-#endif // _BOOST_CSTDFLOAT_2014_01_09_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/cstdint.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cstdint.hpp
deleted file mode 100644
index bf7097e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/cstdint.hpp
+++ /dev/null
@@ -1,546 +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)			\
-      || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
-
-// 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
-
-#if defined(__QNX__) && defined(__EXT_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) || defined(__SOLARIS9__) || defined(__NetBSD__)
-// 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
-
-// intptr_t/uintptr_t are defined separately because they are optional and not universally available
-#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)
-// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h
-#include <stddef.h>
-#endif
-
-// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config.
-#if !defined(__PGIC__)
-
-#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
-    || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
-    || defined(__CYGWIN__) \
-    || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
-    || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun)
-
-namespace boost {
-    using ::intptr_t;
-    using ::uintptr_t;
-}
-#define BOOST_HAS_INTPTR_T
-
-// Clang pretends to be GCC, so it'll match this condition
-#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
-
-namespace boost {
-    typedef __INTPTR_TYPE__ intptr_t;
-    typedef __UINTPTR_TYPE__ uintptr_t;
-}
-#define BOOST_HAS_INTPTR_T
-
-#endif
-
-#endif // !defined(__PGIC__)
-
-#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(_ULLONG_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(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \
-        (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL)
-
-#       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/rbgl_trimmed_boost_1_61_0/boost/cstdlib.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cstdlib.hpp
deleted file mode 100644
index 6322146..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/current_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/current_function.hpp
deleted file mode 100644
index 5c113f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/current_function.hpp
+++ /dev/null
@@ -1,71 +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/assert/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__
-
-#elif defined(__cplusplus) && (__cplusplus >= 201103)
-
-# 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/rbgl_trimmed_boost_1_61_0/boost/cxx11_char_types.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/cxx11_char_types.hpp
deleted file mode 100644
index eab46a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/cxx11_char_types.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//  boost cxx11_char_types.hpp  --------------------------------------------------------//
-
-//  Copyright Beman Dawes 2011
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//  The purpose of this header is to emulate the C++11 char16_t and char32_t            //
-//  character and string types so that they can be used in both C++11 and C++03         //
-//  programs.                                                                           //
-//                                                                                      //
-//  The emulation names use char16/char32 rather than char16_t/char32_t to avoid use    //
-//  of names that are keywords in C++11.                                                //
-//                                                                                      //
-//  The emulation names are placed in namespace boost, as is usual for Boost C++11      //
-//  emulation names such as those in header <boost/cstdint.hpp>.                        //
-//                                                                                      //
-//  An alternative would would have been to place the C++11 emulation names at global   //
-//  scope, and put the C++11 string types in namespace std. That is the approach taken  //
-//  by Microsoft Visual Studio 2010, but is controversion with some Boost users and     //
-//  developers, and runs counter to usual Boost practice.                               //
-//                                                                                      //
-//  Thanks to Mathias Gaunard and others for discussions leading to the final form      //
-//  of these typedefs.                                                                  //
-//                                                                                      //
-//   Boost               C++11            C++03                                         //
-//   ----------------    --------------   --------------------------------              //
-//   boost::char16       char16_t         uint16_t                                      //
-//   boost::char32       char32_t         uint32_t                                      //
-//   boost::u16string    std::u16string   std::basic_string<boost::char16>              //
-//   boost::u32string    std::u32string   std::basic_string<boost::char32>              //
-//                                                                                      //
-//   Uses the typedefs provided by Microsoft Visual C++ 2010 if present                 //
-//                                                                                      //
-//   Thanks to Mathias Gaunard and others for discussions leading to the final form     //
-//   of these typedefs.                                                                 //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-#if !defined(BOOST_CXX11_CHAR_TYPES_HPP)
-# define BOOST_CXX11_CHAR_TYPES_HPP
-
-# include <boost/config.hpp>
-# include <boost/cstdint.hpp>
-# include <string>
-
-namespace boost
-{
-
-# if defined(BOOST_NO_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600)  // 1600 == VC++10 
-    typedef boost::uint_least16_t             char16;
-    typedef std::basic_string<boost::char16>  u16string;
-# else
-    typedef char16_t                          char16;
-    typedef std::u16string                    u16string;
-# endif
-
-# if defined(BOOST_NO_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600)  // 1600 == VC++10 
-    typedef  boost::uint_least32_t            char32;
-    typedef std::basic_string<boost::char32>  u32string;
-# else
-    typedef char32_t                          char32;
-    typedef std::u32string                    u32string;
-# endif
-
-}  // namespace boost
-
-#endif  // !defined(BOOST_CXX11_CHAR_TYPES_HPP)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/date_time.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/date_time.hpp
deleted file mode 100644
index 51628cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/date_time.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef BOOST_DATE_TIME_ALL_HPP___
-#define BOOST_DATE_TIME_ALL_HPP___
-
-/* Copyright (c) 2006 CrystalClear Software, Inc.
- * 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)
- * Author: Jeff Garland
- * $Date$
- */
- 
- //  See www.boost.org/libs/date_time for documentation.
-
-//gregorian and posix time included by indirectly
-#include "boost/date_time/local_time/local_time.hpp"
-
-#endif // BOOST_DATE_TIME_ALL_HPP___
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/algorithm.hpp
deleted file mode 100644
index 3f9297b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/algorithm.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// (C) Copyright Jeremy Siek 2001.
-// 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) 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 BOOST_ALGORITHM_HPP
-# define BOOST_ALGORITHM_HPP
-# include <boost/detail/iterator.hpp>
-// Algorithms on sequences
-//
-// The functions in this file have not yet gone through formal
-// review, and are subject to change. This is a work in progress.
-// They have been checked into the detail directory because
-// there are some graph algorithms that use these functions.
-
-#include <algorithm>
-#include <vector>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/algorithm/copy.hpp>
-#include <boost/range/algorithm/equal.hpp>
-#include <boost/range/algorithm/sort.hpp>
-#include <boost/range/algorithm/stable_sort.hpp>
-#include <boost/range/algorithm/find_if.hpp>
-#include <boost/range/algorithm/count.hpp>
-#include <boost/range/algorithm/count_if.hpp>
-#include <boost/range/algorithm_ext/is_sorted.hpp>
-#include <boost/range/algorithm_ext/iota.hpp>
-
-namespace boost {
-
-  template <typename InputIterator, typename Predicate>
-  bool any_if(InputIterator first, InputIterator last, Predicate p)
-  {
-    return std::find_if(first, last, p) != last;
-  }
-
-  template <typename Container, typename Predicate>
-  bool any_if(const Container& c, Predicate p)
-  {
-    return any_if(boost::begin(c), boost::end(c), p);
-  }
-
-  template <typename InputIterator, typename T>
-  bool container_contains(InputIterator first, InputIterator last, T value)
-  {
-    return std::find(first, last, value) != last;
-  }
-  template <typename Container, typename T>
-  bool container_contains(const Container& c, const T& value)
-  {
-    return container_contains(boost::begin(c), boost::end(c), value);
-  }
-
-} // namespace boost
-
-#endif // BOOST_ALGORITHM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/allocator_utilities.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/allocator_utilities.hpp
deleted file mode 100644
index ed3de84..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/allocator_utilities.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Copyright 2003-2013 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/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 */
-
-template<typename Allocator>
-struct rebinder
-{
-  template<typename Type>
-  struct result
-  {
-      typedef typename Allocator::BOOST_NESTED_TEMPLATE 
-          rebind<Type>::other other;
-  };
-};
-
-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/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_count.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_count.hpp
deleted file mode 100644
index 5411c7a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_redef_macros.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_redef_macros.hpp
deleted file mode 100644
index dfd15f5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_redef_macros.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (C) 2013 Vicente J. Botet Escriba
-//
-//  Distributed under the 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_INTEL)
-
-#pragma pop_macro("atomic_compare_exchange")
-#pragma pop_macro("atomic_compare_exchange_explicit")
-#pragma pop_macro("atomic_exchange")
-#pragma pop_macro("atomic_exchange_explicit")
-#pragma pop_macro("atomic_is_lock_free")
-#pragma pop_macro("atomic_load")
-#pragma pop_macro("atomic_load_explicit")
-#pragma pop_macro("atomic_store")
-#pragma pop_macro("atomic_store_explicit")
-
-#endif // #if defined(BOOST_INTEL)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_undef_macros.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_undef_macros.hpp
deleted file mode 100644
index 18d840a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/atomic_undef_macros.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (C) 2013 Vicente J. Botet Escriba
-//
-//  Distributed under the 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_INTEL)
-
-#pragma push_macro("atomic_compare_exchange")
-#undef atomic_compare_exchange
-
-#pragma push_macro("atomic_compare_exchange_explicit")
-#undef atomic_compare_exchange_explicit
-
-#pragma push_macro("atomic_exchange")
-#undef atomic_exchange
-
-#pragma push_macro("atomic_exchange_explicit")
-#undef atomic_exchange_explicit
-
-#pragma push_macro("atomic_is_lock_free")
-#undef atomic_is_lock_free
-
-#pragma push_macro("atomic_load")
-#undef atomic_load
-
-#pragma push_macro("atomic_load_explicit")
-#undef atomic_load_explicit
-
-#pragma push_macro("atomic_store")
-#undef atomic_store
-
-#pragma push_macro("atomic_store_explicit")
-#undef atomic_store_explicit
-
-
-#endif // #if defined(BOOST_INTEL)
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/basic_pointerbuf.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/basic_pointerbuf.hpp
deleted file mode 100644
index 1d8cf37..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/basic_pointerbuf.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost detail/templated_streams.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2013 John Maddock, Antony Polukhin
-// 
-//
-// Distributed under the 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_BASIC_POINTERBUF_HPP
-#define BOOST_DETAIL_BASIC_POINTERBUF_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include "boost/config.hpp"
-#include <streambuf>
-
-namespace boost { namespace detail {
-
-//
-// class basic_pointerbuf:
-// acts as a stream buffer which wraps around a pair of pointers:
-//
-template <class charT, class BufferT >
-class basic_pointerbuf : public BufferT {
-protected:
-   typedef BufferT base_type;
-   typedef basic_pointerbuf<charT, BufferT> this_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:
-   basic_pointerbuf() : base_type() { setbuf(0, 0); }
-   const charT* getnext() { return this->gptr(); }
-
-#ifndef BOOST_NO_USING_TEMPLATE
-    using base_type::pptr;
-    using base_type::pbase;
-#else
-    charT* pptr() const { return base_type::pptr(); }
-    charT* pbase() const { return base_type::pbase(); }
-#endif
-
-protected:
-   // VC mistakenly assumes that `setbuf` and other functions are not referenced.
-   // Marking those functions with `inline` suppresses the warnings.
-   // There must be no harm from marking virtual functions as inline: inline virtual
-   // call can be inlined ONLY when the compiler knows the "exact class".
-   inline base_type* setbuf(char_type* s, streamsize n);
-   inline typename this_type::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which);
-   inline typename this_type::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which);
-
-private:
-   basic_pointerbuf& operator=(const basic_pointerbuf&);
-   basic_pointerbuf(const basic_pointerbuf&);
-};
-
-template<class charT, class BufferT>
-BufferT*
-basic_pointerbuf<charT, BufferT>::setbuf(char_type* s, streamsize n)
-{
-   this->setg(s, s, s + n);
-   return this;
-}
-
-template<class charT, class BufferT>
-typename basic_pointerbuf<charT, BufferT>::pos_type
-basic_pointerbuf<charT, BufferT>::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which)
-{
-   typedef typename boost::int_t<sizeof(way) * CHAR_BIT>::least cast_type;
-
-   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(static_cast<cast_type>(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 BufferT>
-typename basic_pointerbuf<charT, BufferT>::pos_type
-basic_pointerbuf<charT, BufferT>::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));
-}
-
-}} // namespace boost::detail
-
-#endif // BOOST_DETAIL_BASIC_POINTERBUF_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/binary_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/binary_search.hpp
deleted file mode 100644
index 3dca9b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/bitmask.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/bitmask.hpp
deleted file mode 100644
index c6714a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/call_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/call_traits.hpp
deleted file mode 100644
index 36dea00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/call_traits.hpp
+++ /dev/null
@@ -1,172 +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_enum.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, bool b2>
-struct ct_imp
-{
-   typedef const T& param_type;
-};
-
-template <typename T, bool isp, bool b2>
-struct ct_imp<T, isp, true, b2>
-{
-   typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
-};
-
-template <typename T, bool isp, bool b1>
-struct ct_imp<T, isp, b1, true>
-{
-   typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
-};
-
-template <typename T, bool b1, bool b2>
-struct ct_imp<T, true, b1, b2>
-{
-   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,
-      ::boost::is_enum<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/rbgl_trimmed_boost_1_61_0/boost/detail/catch_exceptions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/catch_exceptions.hpp
deleted file mode 100644
index 823ebd1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/catch_exceptions.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-//  boost/catch_exceptions.hpp -----------------------------------------------//
-
-//  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 documentation.
-
-//  Revision History
-//   13 Jun 01 report_exception() made inline. (John Maddock, Jesse Jones)
-//   26 Feb 01 Numerous changes suggested during formal review. (Beman)
-//   25 Jan 01 catch_exceptions.hpp code factored out of cpp_main.cpp.
-//   22 Jan 01 Remove test_tools dependencies to reduce coupling.
-//    5 Nov 00 Initial boost version (Beman Dawes)
-
-#ifndef BOOST_CATCH_EXCEPTIONS_HPP
-#define BOOST_CATCH_EXCEPTIONS_HPP
-
-//  header dependencies are deliberately restricted to the standard library
-//  to reduce coupling to other boost libraries.
-#include <string>             // for string
-#include <new>                // for bad_alloc
-#include <typeinfo>           // for bad_cast, bad_typeid
-#include <exception>          // for exception, bad_exception
-#include <stdexcept>          // for std exception hierarchy
-#include <boost/cstdlib.hpp>  // for exit codes
-#include <ostream>         // for ostream
-
-# if defined(__BORLANDC__) && (__BORLANDC__ <= 0x0551)
-#   define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT 
-# endif
-
-#if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890)
-#   define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT 
-    namespace std { class bad_typeid { }; }
-# endif
-
-namespace boost
-{
-
-  namespace detail
-  {
-    //  A separate reporting function was requested during formal review.
-    inline void report_exception( std::ostream & os, 
-                                  const char * name, const char * info )
-      { os << "\n** uncaught exception: " << name << " " << info << std::endl; }
-  }
-
-  //  catch_exceptions  ------------------------------------------------------//
-
-  template< class Generator >  // Generator is function object returning int
-  int catch_exceptions( Generator function_object,
-                        std::ostream & out, std::ostream & err )
-  {
-    int result = 0;               // quiet compiler warnings
-    bool exception_thrown = true; // avoid setting result for each excptn type
-
-#ifndef BOOST_NO_EXCEPTIONS
-    try
-    {
-#endif
-      result = function_object();
-      exception_thrown = false;
-#ifndef BOOST_NO_EXCEPTIONS
-    }
-
-    //  As a result of hard experience with strangely interleaved output
-    //  under some compilers, there is a lot of use of endl in the code below
-    //  where a simple '\n' might appear to do.
-
-    //  The rules for catch & arguments are a bit different from function 
-    //  arguments (ISO 15.3 paragraphs 18 & 19). Apparently const isn't
-    //  required, but it doesn't hurt and some programmers ask for it.
-
-    catch ( const char * ex )
-      { detail::report_exception( out, "", ex ); }
-    catch ( const std::string & ex )
-      { detail::report_exception( out, "", ex.c_str() ); }
-
-    //  std:: exceptions
-    catch ( const std::bad_alloc & ex )
-      { detail::report_exception( out, "std::bad_alloc:", ex.what() ); }
-
-# ifndef BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT
-    catch ( const std::bad_cast & ex )
-      { detail::report_exception( out, "std::bad_cast:", ex.what() ); }
-    catch ( const std::bad_typeid & ex )
-      { detail::report_exception( out, "std::bad_typeid:", ex.what() ); }
-# else
-    catch ( const std::bad_cast & )
-      { detail::report_exception( out, "std::bad_cast", "" ); }
-    catch ( const std::bad_typeid & )
-      { detail::report_exception( out, "std::bad_typeid", "" ); }
-# endif
-
-    catch ( const std::bad_exception & ex )
-      { detail::report_exception( out, "std::bad_exception:", ex.what() ); }
-    catch ( const std::domain_error & ex )
-      { detail::report_exception( out, "std::domain_error:", ex.what() ); }
-    catch ( const std::invalid_argument & ex )
-      { detail::report_exception( out, "std::invalid_argument:", ex.what() ); }
-    catch ( const std::length_error & ex )
-      { detail::report_exception( out, "std::length_error:", ex.what() ); }
-    catch ( const std::out_of_range & ex )
-      { detail::report_exception( out, "std::out_of_range:", ex.what() ); }
-    catch ( const std::range_error & ex )
-      { detail::report_exception( out, "std::range_error:", ex.what() ); }
-    catch ( const std::overflow_error & ex )
-      { detail::report_exception( out, "std::overflow_error:", ex.what() ); }
-    catch ( const std::underflow_error & ex )
-      { detail::report_exception( out, "std::underflow_error:", ex.what() ); }
-    catch ( const std::logic_error & ex )
-      { detail::report_exception( out, "std::logic_error:", ex.what() ); }
-    catch ( const std::runtime_error & ex )
-      { detail::report_exception( out, "std::runtime_error:", ex.what() ); }
-    catch ( const std::exception & ex )
-      { detail::report_exception( out, "std::exception:", ex.what() ); }
-
-    catch ( ... )
-      { detail::report_exception( out, "unknown exception", "" ); }
-#endif // BOOST_NO_EXCEPTIONS
-
-    if ( exception_thrown ) result = boost::exit_exception_failure;
-
-    if ( result != 0 && result != exit_success )
-    {
-      out << std::endl << "**** returning with error code "
-                << result << std::endl;
-      err
-        << "**********  errors detected; see stdout for details  ***********"
-        << std::endl;
-    }
-#if !defined(BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE)
-    else { out << std::flush << "no errors detected" << std::endl; }
-#endif
-    return result;
-  } // catch_exceptions
-
-} // boost
-
-#endif  // BOOST_CATCH_EXCEPTIONS_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/compressed_pair.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/compressed_pair.hpp
deleted file mode 100644
index 5dc21e2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/doc/html/compressed_pair.html)
-//
-// 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/rbgl_trimmed_boost_1_61_0/boost/detail/container_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/container_fwd.hpp
deleted file mode 100644
index 04ce972..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/container_fwd.hpp
+++ /dev/null
@@ -1,157 +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) && \
-    !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.                                       //
-//                                                                            //
-// BOOST_DETAIL_CONTAINER_FWD to make it foward declare containers even if it //
-// normally doesn't.                                                          //
-//                                                                            //
-// BOOST_DETAIL_NO_CONTAINER_FWD overrides BOOST_DETAIL_CONTAINER_FWD.        //
-//                                                                            //
-////////////////////////////////////////////////////////////////////////////////
-
-#if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
-#  if defined(BOOST_DETAIL_CONTAINER_FWD)
-     // Force forward declarations.
-#  elif 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
-     //
-     // Disable forwarding for all recent versions, as the library has a
-     // versioned namespace mode, and I don't know how to detect it.
-#    if __GLIBCXX__ >= 20070513 \
-        || defined(_GLIBCXX_DEBUG) \
-        || defined(_GLIBCXX_PARALLEL) \
-        || defined(_GLIBCXX_PROFILE)
-#      define BOOST_DETAIL_NO_CONTAINER_FWD
-#    else
-#      if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530
-#        define BOOST_CONTAINER_FWD_COMPLEX_STRUCT
-#      endif
-#    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)
-#  else
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
-#  endif
-#endif
-
-#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;
-
-    template <class charT> struct char_traits;
-
-#if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT)
-    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/rbgl_trimmed_boost_1_61_0/boost/detail/dynamic_bitset.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/dynamic_bitset.hpp
deleted file mode 100644
index e0f675d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/dynamic_bitset.hpp
+++ /dev/null
@@ -1,241 +0,0 @@
-// -----------------------------------------------------------
-//
-//   Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek
-//        Copyright (c) 2003-2006, 2008 Gennaro Prota
-//
-// Copyright (c) 2014 Glen Joseph Fernandes
-// glenfe at live dot 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)
-//
-// -----------------------------------------------------------
-
-#ifndef BOOST_DETAIL_DYNAMIC_BITSET_HPP
-#define BOOST_DETAIL_DYNAMIC_BITSET_HPP
-
-#include <memory>
-#include <cstddef>
-#include "boost/config.hpp"
-#include "boost/detail/workaround.hpp"
-
-
-namespace boost {
-
-  namespace detail {
-  namespace dynamic_bitset_impl {
-
-    // Gives (read-)access to the object representation
-    // of an object of type T (3.9p4). CANNOT be used
-    // on a base sub-object
-    //
-    template <typename T>
-    inline const unsigned char * object_representation (T* p)
-    {
-        return static_cast<const unsigned char *>(static_cast<const void *>(p));
-    }
-
-    template<typename T, int amount, int width /* = default */>
-    struct shifter
-    {
-        static void left_shift(T & v) {
-            amount >= width ? (v = 0)
-                : (v >>= BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(amount));
-        }
-    };
-
-    // ------- count function implementation --------------
-
-    typedef unsigned char byte_type;
-
-    // These two entities
-    //
-    //     enum mode { access_by_bytes, access_by_blocks };
-    //     template <mode> struct mode_to_type {};
-    //
-    // were removed, since the regression logs (as of 24 Aug 2008)
-    // showed that several compilers had troubles with recognizing
-    //
-    //   const mode m = access_by_bytes
-    //
-    // as a constant expression
-    //
-    // * So, we'll use bool, instead of enum *.
-    //
-    template <bool value>
-    struct value_to_type
-    {
-        value_to_type() {}
-    };
-    const bool access_by_bytes = true;
-    const bool access_by_blocks = false;
-
-
-    // the table: wrapped in a class template, so
-    // that it is only instantiated if/when needed
-    //
-    template <bool dummy_name = true>
-    struct count_table { static const byte_type table[]; };
-
-    template <>
-    struct count_table<false> { /* no table */ };
-
-
-     const unsigned int table_width = 8;
-     template <bool b>
-     const byte_type count_table<b>::table[] =
-     {
-       // Automatically generated by GPTableGen.exe v.1.0
-       //
-     0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
-     1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
-     1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
-     2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
-     1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
-     2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
-     2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
-     3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
-     };
-
-
-     // overload for access by bytes
-     //
-
-     template <typename Iterator>
-     inline std::size_t do_count(Iterator first, std::size_t length,
-                                 int /*dummy param*/,
-                                 value_to_type<access_by_bytes>* )
-     {
-         std::size_t num = 0;
-         if (length)
-         {
-             const byte_type * p = object_representation(&*first);
-             length *= sizeof(*first);
-
-              do {
-                 num += count_table<>::table[*p];
-                 ++p;
-                 --length;
-
-             } while (length);
-         }
-
-         return num;
-     }
-
-
-     // overload for access by blocks
-     //
-     template <typename Iterator, typename ValueType>
-     inline std::size_t do_count(Iterator first, std::size_t length, ValueType,
-                                 value_to_type<access_by_blocks>*)
-     {
-         std::size_t num = 0;
-         while (length){
-
-             ValueType value = *first;
-             while (value) {
-                 num += count_table<>::table[value & ((1u<<table_width) - 1)];
-                 value >>= table_width;
-             }
-
-             ++first;
-             --length;
-         }
-
-         return num;
-     }
-
-    // -------------------------------------------------------
-
-
-    // Some library implementations simply return a dummy
-    // value such as
-    //
-    //   size_type(-1) / sizeof(T)
-    //
-    // from vector<>::max_size. This tries to get more
-    // meaningful info.
-    //
-    template <typename T>
-    inline typename T::size_type vector_max_size_workaround(const T & v)
-        BOOST_NOEXCEPT
-    {
-        typedef typename T::allocator_type allocator_type;
-
-        const allocator_type& alloc = v.get_allocator();
-
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        typedef std::allocator_traits<allocator_type> allocator_traits;
-
-        const typename allocator_traits::size_type alloc_max =
-            allocator_traits::max_size(alloc);
-#else
-        const typename allocator_type::size_type alloc_max = alloc.max_size();
-#endif
-
-        const typename T::size_type container_max = v.max_size();
-
-        return alloc_max < container_max ? alloc_max : container_max;
-    }
-
-    // for static_asserts
-    template <typename T>
-    struct allowed_block_type {
-        enum { value = T(-1) > 0 }; // ensure T has no sign
-    };
-
-    template <>
-    struct allowed_block_type<bool> {
-        enum { value = false };
-    };
-
-
-    template <typename T>
-    struct is_numeric {
-        enum { value = false };
-    };
-
-#   define BOOST_dynamic_bitset_is_numeric(x)       \
-                template<>                          \
-                struct is_numeric< x > {            \
-                    enum { value = true };          \
-                }                                /**/
-
-    BOOST_dynamic_bitset_is_numeric(bool);
-    BOOST_dynamic_bitset_is_numeric(char);
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-    BOOST_dynamic_bitset_is_numeric(wchar_t);
-#endif
-
-    BOOST_dynamic_bitset_is_numeric(signed char);
-    BOOST_dynamic_bitset_is_numeric(short int);
-    BOOST_dynamic_bitset_is_numeric(int);
-    BOOST_dynamic_bitset_is_numeric(long int);
-
-    BOOST_dynamic_bitset_is_numeric(unsigned char);
-    BOOST_dynamic_bitset_is_numeric(unsigned short);
-    BOOST_dynamic_bitset_is_numeric(unsigned int);
-    BOOST_dynamic_bitset_is_numeric(unsigned long);
-
-#if defined(BOOST_HAS_LONG_LONG)
-    BOOST_dynamic_bitset_is_numeric(::boost::long_long_type);
-    BOOST_dynamic_bitset_is_numeric(::boost::ulong_long_type);
-#endif
-
-    // intentionally omitted
-    //BOOST_dynamic_bitset_is_numeric(float);
-    //BOOST_dynamic_bitset_is_numeric(double);
-    //BOOST_dynamic_bitset_is_numeric(long double);
-
-#undef BOOST_dynamic_bitset_is_numeric
-
-  } // dynamic_bitset_impl
-  } // namespace detail
-
-} // namespace boost
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/endian.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/endian.hpp
deleted file mode 100644
index f576c26..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/endian.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2013 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)
-
-#ifndef BOOST_DETAIL_ENDIAN_HPP
-#define BOOST_DETAIL_ENDIAN_HPP
-
-// Use the Predef library for the detection of endianess.
-#include <boost/predef/detail/endian_compat.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/fenv.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/fenv.hpp
deleted file mode 100644
index b268f5c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/fenv.hpp
+++ /dev/null
@@ -1,101 +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__)       &&  (__clang_major__ < 3) &&    \
-    defined(__GNU_LIBRARY__) && /* up to version 5 */ \
-    defined(__GLIBC__) &&         /* version 6 + */ \
-    !defined(_FENV_H)
-  #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;
-  } }
-
-#elif defined(__MINGW32__) && defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408
-
-  // MinGW (32-bit) has a bug in mingw32/bits/c++config.h, it does not define _GLIBCXX_HAVE_FENV_H,
-  // which prevents the C fenv.h header contents to be included in the C++ wrapper header fenv.h. This is at least
-  // the case with gcc 4.8.1 packages tested so far, up to 4.8.1-4. Note that there is no issue with
-  // MinGW-w64.
-  // To work around the bug we avoid including the C++ wrapper header and include the C header directly
-  // and import all relevant symbols into std:: ourselves.
-
-  #include <../include/fenv.h>
-
-  namespace std {
-    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/rbgl_trimmed_boost_1_61_0/boost/detail/has_default_constructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/has_default_constructor.hpp
deleted file mode 100644
index 319b30a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/has_default_constructor.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-//  (C) Copyright Matthias Troyerk 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/type_traits for most recent version including documentation.
-
-#ifndef BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-
-namespace boost { namespace detail {
-
-/// type trait to check for a default constructor
-///
-/// The default implementation just checks for a trivial constructor.
-/// Using some compiler magic it might be possible to provide a better default
-
-template <class T>
-struct has_default_constructor
- : public has_trivial_constructor<T>
-{};
-
-} } // namespace boost::detail
-
-
-#endif // BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/identifier.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/identifier.hpp
deleted file mode 100644
index 063d238..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/identifier.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//  boost/identifier.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)
-
-//  See documentation at http://www.boost.org/libs/utility
-
-#ifndef BOOST_IDENTIFIER_HPP
-#define BOOST_IDENTIFIER_HPP
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <iosfwd>
-
-namespace boost
-{
-  namespace detail
-  {
-    //  class template identifier  ---------------------------------------------//
-
-    //  Always used as a base class so that different instantiations result in
-    //  different class types even if instantiated with the same value type T.
-
-    //  Expected usage is that T is often an integer type, best passed by
-    //  value. There is no reason why T can't be a possibly larger class such as
-    //  std::string, best passed by const reference.
-
-    //  This implementation uses pass by value, based on expected common uses.
-
-    template <typename T, typename D>
-    class identifier
-    {
-    public:
-      typedef T value_type;
-
-      const value_type value() const           { return m_value; }
-      void  assign( value_type v )             { m_value = v; }
-
-      bool operator==( const D & rhs ) const   { return m_value == rhs.m_value; }
-      bool operator!=( const D & rhs ) const   { return m_value != rhs.m_value; }
-      bool operator< ( const D & rhs ) const   { return m_value <  rhs.m_value; }
-      bool operator<=( const D & rhs ) const   { return m_value <= rhs.m_value; }
-      bool operator> ( const D & rhs ) const   { return m_value >  rhs.m_value; }
-      bool operator>=( const D & rhs ) const   { return m_value >= rhs.m_value; }
-
-      typedef void (*unspecified_bool_type)(D); // without the D, unspecified_bool_type 
-      static void unspecified_bool_true(D){}    // conversion allows relational operators
-                                                // between different identifier types
-
-      operator unspecified_bool_type() const   { return m_value == value_type() ? 0 : unspecified_bool_true; }
-      bool operator!() const                   { return m_value == value_type(); }
-
-    // constructors are protected so that class can only be used as a base class
-    protected:
-      identifier()                             {}
-      explicit identifier( value_type v )      : m_value(v) {}
-
-    private:
-      T m_value;
-    };
-
-  //#ifndef BOOST_NO_SFINAE
-
-  //  template <class Ostream, class Id>
-  //    typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, 
-  //      Ostream & >::type operator<<( Ostream & os, const Id & id )
-  //  {
-  //    return os << id.value();
-  //  }
-
-  //  template <class Istream, class Id>
-  //    typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, 
-  //      Istream & >::type operator>>( Istream & is, Id & id )
-  //  {
-  //    typename Id::value_type v;
-  //    is >> v;
-  //    id.value( v );
-  //    return is;
-  //  }
-  //#endif
-
-  } // namespace detail
-} // namespace boost
-
-#endif // BOOST_IDENTIFIER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/indirect_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/indirect_traits.hpp
deleted file mode 100644
index 6294e40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/indirect_traits.hpp
+++ /dev/null
@@ -1,204 +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/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>
-
-
-namespace boost { namespace detail {
-
-namespace indirect_traits {
-
-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))
-};
-
-
-}
-
-using namespace indirect_traits;
-
-}} // namespace boost::python::detail
-
-#endif // INDIRECT_TRAITS_DWA2002131_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/interlocked.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/interlocked.hpp
deleted file mode 100644
index 2c91ce2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/interlocked.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-
-//
-//  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>
-
-// MS compatible compilers support #pragma once
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#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( BOOST_USE_INTRIN_H )
-
-#include <intrin.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
-
-# if defined(_M_IA64) || defined(_M_AMD64) || defined(__x86_64__) || defined(__x86_64)
-
-#  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
-
-#elif defined(_WIN32_WCE)
-
-#if _WIN32_WCE >= 0x600
-
-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 );
-
-# 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
-
-#else
-// 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
-
-#endif
-
-# 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( BOOST_MSVC ) && BOOST_MSVC >= 1400
-
-#include <intrin.h>
-
-#else
-
-# if defined( __CLRCALL_PURE_OR_CDECL )
-#  define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __CLRCALL_PURE_OR_CDECL
-# else
-#  define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __cdecl
-# endif
-
-extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * );
-extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * );
-extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long );
-extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long );
-extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long );
-
-# undef BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL
-
-# if defined( BOOST_MSVC ) && BOOST_MSVC >= 1310
-#  pragma intrinsic( _InterlockedIncrement )
-#  pragma intrinsic( _InterlockedDecrement )
-#  pragma intrinsic( _InterlockedCompareExchange )
-#  pragma intrinsic( _InterlockedExchange )
-#  pragma intrinsic( _InterlockedExchangeAdd )
-# endif
-
-#endif
-
-# if defined(_M_IA64) || defined(_M_AMD64)
-
-extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
-extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
-
-#  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
-
-// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets.
-#elif defined(__MINGW64_VERSION_MAJOR)
-
-// MinGW-w64 provides intrin.h for both 32 and 64-bit targets.
-#include <intrin.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
-# if defined(__x86_64__) || defined(__x86_64)
-#  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
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
-
-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/rbgl_trimmed_boost_1_61_0/boost/detail/is_incrementable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_incrementable.hpp
deleted file mode 100644
index 5ebf4b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_incrementable.hpp
+++ /dev/null
@@ -1,125 +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/integral_constant.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>
-
-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)) 
-#  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 :
-    public boost::integral_constant<bool, boost::detail::is_incrementable_::impl<T>::value>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T))
-};
-
-template<typename T>
-struct is_postfix_incrementable :
-    public boost::integral_constant<bool, boost::detail::is_incrementable_::postfix_impl<T>::value>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T))
-};
-
-} // namespace detail
-
-} // namespace boost
-
-# include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // IS_INCREMENTABLE_DWA200415_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_sorted.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_sorted.hpp
deleted file mode 100644
index 5ab32e5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_sorted.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2010-2011 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)
-==============================================================================*/
-
-#ifndef BOOST_DETAIL_SORTED_HPP
-#define BOOST_DETAIL_SORTED_HPP
-
-#include <boost/detail/iterator.hpp>
-
-#include <functional>
-
-namespace boost {
-namespace detail {
-
-template<class Iterator, class Comp>
-inline Iterator is_sorted_until (Iterator first, Iterator last, Comp c) {
-  if (first == last)
-    return last;
-
-  Iterator it = first; ++it;
-
-  for (; it != last; first = it, ++it)
-    if (c(*it, *first))
-      return it;
-
-  return it;
-}
-
-template<class Iterator>
-inline Iterator is_sorted_until (Iterator first, Iterator last) {
-  typedef typename boost::detail::iterator_traits<Iterator>::value_type
-    value_type;
-
-  typedef std::less<value_type> c; 
-
-  return ::boost::detail::is_sorted_until(first, last, c()); 
-}
-
-template<class Iterator, class Comp>
-inline bool is_sorted (Iterator first, Iterator last, Comp c) {
-  return ::boost::detail::is_sorted_until(first, last, c) == last;
-} 
-
-template<class Iterator>
-inline bool is_sorted (Iterator first, Iterator last) {
-  return ::boost::detail::is_sorted_until(first, last) == last;
-} 
-
-} // detail
-} // boost
-
-#endif // BOOST_DETAIL_SORTED_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_xxx.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_xxx.hpp
deleted file mode 100644
index 3f9a126..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/is_xxx.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef BOOST_DETAIL_IS_XXX_DWA20051011_HPP
-# define BOOST_DETAIL_IS_XXX_DWA20051011_HPP
-
-# include <boost/config.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-
-
-#  define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs)  \
-template <class T>                                              \
-struct is_##name : mpl::false_                                  \
-{                                                               \
-};                                                              \
-                                                                \
-template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) >          \
-struct is_##name<                                               \
-   qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) >        \
->                                                               \
-   : mpl::true_                                                 \
-{                                                               \
-};
-
-
-#endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/iterator.hpp
deleted file mode 100644
index c2e8f1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/iterator.hpp
+++ /dev/null
@@ -1,26 +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)
-
-#ifndef ITERATOR_DWA122600_HPP_
-#define ITERATOR_DWA122600_HPP_
-
-// This header is obsolete and will be deprecated.
-
-#include <iterator>
-
-namespace boost
-{
-
-namespace detail
-{
-
-using std::iterator_traits;
-using std::distance;
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // ITERATOR_DWA122600_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/lcast_precision.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/lcast_precision.hpp
deleted file mode 100644
index 93abce1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_main.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_main.hpp
deleted file mode 100644
index 1705309..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_mutex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_mutex.hpp
deleted file mode 100644
index b7a7f6d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_test.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_test.hpp
deleted file mode 100644
index 9fece8a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_test.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_LIGHTWEIGHT_TEST_HPP
-#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/lightweight_test.hpp instead.
-
-#include <boost/core/lightweight_test.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_test_report.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_test_report.hpp
deleted file mode 100644
index 1511ba9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_test_report.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  boost/detail/lightweight_test_reporter.hpp  ----------------------------------------//
-
-//  Copyright Beman Dawes 2014
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-//--------------------------------------------------------------------------------------//
-//                                                                                      //
-//                         Configuration reporting cpp_main()                           //
-//                                                                                      //
-//  Displays configuration information, then returns test_main(argc, argv), which       //
-//  must be supplied by the user.                                                       //
-//                                                                                      //
-//  Note: cpp_main(argc, argv) is called from a try block in main(), which is           //
-//  supplied by <boost/detail/lightweight_main.hpp> as is a catch block that reports    //
-//  std::exception what().                                                              //
-//                                                                                      //
-//--------------------------------------------------------------------------------------//
-
-#include <boost/config.hpp>
-#include <boost/version.hpp>
-#include <boost/detail/lightweight_test.hpp>
-#include <boost/detail/lightweight_main.hpp>
-#include <iostream>
-
-int test_main(int argc, char* argv[]);
-
-int cpp_main(int argc, char* argv[])
-{
-  std::cout << BOOST_COMPILER
-#ifdef __GNUC__
-            << ", __GXX_EXPERIMENTAL_CXX0X__ "
-# ifdef __GXX_EXPERIMENTAL_CXX0X__
-              "defined"
-# else
-              "not defined"
-# endif
-#endif
-            << "\n"
-            << BOOST_STDLIB << "\n"
-            << BOOST_PLATFORM << "\n"
-            << "Boost version " << BOOST_VERSION / 100000 << '.'
-            << BOOST_VERSION / 100 % 1000 << '.' << BOOST_VERSION % 100 << "\n";
-
-  std::cout << "Command line: ";
-  for (int a = 0; a < argc; ++a)
-  {
-    std::cout << argv[a];
-    if (a != argc - 1)
-      std::cout << ' ';
-  }
-  std::cout << std::endl;
-
-  return test_main(argc, argv);
-}
\ No newline at end of file
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_thread.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_thread.hpp
deleted file mode 100644
index 6fe70a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/lightweight_thread.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED
-#define BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  boost/detail/lightweight_thread.hpp
-//
-//  Copyright (c) 2002 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
-
-#include <boost/config.hpp>
-#include <memory>
-#include <cerrno>
-
-// pthread_create, pthread_join
-
-#if defined( BOOST_HAS_PTHREADS )
-
-#include <pthread.h>
-
-#else
-
-#include <windows.h>
-#include <process.h>
-
-typedef HANDLE pthread_t;
-
-int pthread_create( pthread_t * thread, void const *, unsigned (__stdcall * start_routine) (void*), void* arg )
-{
-    HANDLE h = (HANDLE)_beginthreadex( 0, 0, start_routine, arg, 0, 0 );
-
-    if( h != 0 )
-    {
-        *thread = h;
-        return 0;
-    }
-    else
-    {
-        return EAGAIN;
-    }
-}
-
-int pthread_join( pthread_t thread, void ** /*value_ptr*/ )
-{
-    ::WaitForSingleObject( thread, INFINITE );
-    ::CloseHandle( thread );
-    return 0;
-}
-
-#endif
-
-// template<class F> int lw_thread_create( pthread_t & pt, F f );
-
-namespace boost
-{
-
-namespace detail
-{
-
-class lw_abstract_thread
-{
-public:
-
-    virtual ~lw_abstract_thread() {}
-    virtual void run() = 0;
-};
-
-#if defined( BOOST_HAS_PTHREADS )
-
-extern "C" void * lw_thread_routine( void * pv )
-{
-    std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
-
-    pt->run();
-
-    return 0;
-}
-
-#else
-
-unsigned __stdcall lw_thread_routine( void * pv )
-{
-    std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
-
-    pt->run();
-
-    return 0;
-}
-
-#endif
-
-template<class F> class lw_thread_impl: public lw_abstract_thread
-{
-public:
-
-    explicit lw_thread_impl( F f ): f_( f )
-    {
-    }
-
-    void run()
-    {
-        f_();
-    }
-
-private:
-
-    F f_;
-};
-
-template<class F> int lw_thread_create( pthread_t & pt, F f )
-{
-    std::auto_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );
-
-    int r = pthread_create( &pt, 0, lw_thread_routine, p.get() );
-
-    if( r == 0 )
-    {
-        p.release();
-    }
-
-    return r;
-}
-
-} // namespace detail
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/named_template_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/named_template_params.hpp
deleted file mode 100644
index e7cb079..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/named_template_params.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// (C) Copyright Jeremy Siek 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)
-
-// Revision History:
-
-// 04 Oct 2001   David Abrahams
-//      Changed name of "bind" to "select" to avoid problems with MSVC.
-
-#ifndef BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP
-#define BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP
-
-#include <boost/type_traits/conversion_traits.hpp>
-#include <boost/type_traits/composite_traits.hpp> // for is_reference
-#if defined(__BORLANDC__)
-#include <boost/type_traits/ice.hpp>
-#endif
-
-namespace boost {
-  namespace detail {
-    
-    struct default_argument { };
-
-    struct dummy_default_gen {
-      template <class Base, class Traits>
-      struct select {
-        typedef default_argument type;
-      };
-    };
-
-   // This class template is a workaround for MSVC.
-   template <class Gen> struct default_generator {
-     typedef detail::dummy_default_gen type;
-   };
-
-    template <class T> struct is_default { 
-      enum { value = false };  
-      typedef type_traits::no_type type;
-    };
-    template <> struct is_default<default_argument> { 
-      enum { value = true }; 
-      typedef type_traits::yes_type type;
-    };
-
-    struct choose_default {
-      template <class Arg, class DefaultGen, class Base, class Traits>
-      struct select {
-        typedef typename default_generator<DefaultGen>::type Gen;
-        typedef typename Gen::template select<Base,Traits>::type type;
-      };
-    };
-    struct choose_arg {
-      template <class Arg, class DefaultGen, class Base, class Traits>
-      struct select {
-        typedef Arg type;
-      };
-    };
-
-#if defined(__BORLANDC__)
-    template <class UseDefault>
-    struct choose_arg_or_default { typedef choose_arg type; };
-    template <>
-    struct choose_arg_or_default<type_traits::yes_type> {
-      typedef choose_default type;
-    };
-#else
-    template <bool UseDefault>
-    struct choose_arg_or_default { typedef choose_arg type; };
-    template <>
-    struct choose_arg_or_default<true> {
-      typedef choose_default type;
-    };
-#endif
-    
-    template <class Arg, class DefaultGen, class Base, class Traits>
-    class resolve_default {
-#if defined(__BORLANDC__)
-      typedef typename choose_arg_or_default<typename is_default<Arg>::type>::type Selector;
-#else
-      // This usually works for Borland, but I'm seeing weird errors in
-      // iterator_adaptor_test.cpp when using this method.
-      enum { is_def = is_default<Arg>::value };
-      typedef typename choose_arg_or_default<is_def>::type Selector;
-#endif
-    public:
-      typedef typename Selector
-        ::template select<Arg, DefaultGen, Base, Traits>::type type;
-    };
-
-    // To differentiate an unnamed parameter from a traits generator
-    // we use is_convertible<X, iter_traits_gen_base>.
-    struct named_template_param_base { };
-
-    template <class X>
-    struct is_named_param_list {
-      enum { value  = is_convertible<X, named_template_param_base>::value };
-    };
-    
-    struct choose_named_params {
-      template <class Prev> struct select { typedef Prev type; };
-    };
-    struct choose_default_arg {
-      template <class Prev> struct select { 
-        typedef detail::default_argument type;
-      };
-    };
-
-    template <bool Named> struct choose_default_dispatch_;
-    template <> struct choose_default_dispatch_<true> {
-      typedef choose_named_params type;
-    };
-    template <> struct choose_default_dispatch_<false> {
-      typedef choose_default_arg type;
-    };
-    // The use of inheritance here is a Solaris Forte 6 workaround.
-    template <bool Named> struct choose_default_dispatch
-      : public choose_default_dispatch_<Named> { };
-
-    template <class PreviousArg>
-    struct choose_default_argument {
-      enum { is_named = is_named_param_list<PreviousArg>::value };
-      typedef typename choose_default_dispatch<is_named>::type Selector;
-      typedef typename Selector::template select<PreviousArg>::type type;
-    };
-
-    // This macro assumes that there is a class named default_##TYPE
-    // defined before the application of the macro.  This class should
-    // have a single member class template named "select" with two
-    // template parameters: the type of the class being created (e.g.,
-    // the iterator_adaptor type when creating iterator adaptors) and
-    // a traits class. The select class should have a single typedef
-    // named "type" that produces the default for TYPE.  See
-    // boost/iterator_adaptors.hpp for an example usage.  Also,
-    // applications of this macro must be placed in namespace
-    // boost::detail.
-
-#define BOOST_NAMED_TEMPLATE_PARAM(TYPE) \
-    struct get_##TYPE##_from_named { \
-      template <class Base, class NamedParams, class Traits> \
-      struct select { \
-          typedef typename NamedParams::traits NamedTraits; \
-          typedef typename NamedTraits::TYPE TYPE; \
-          typedef typename resolve_default<TYPE, \
-            default_##TYPE, Base, NamedTraits>::type type; \
-      }; \
-    }; \
-    struct pass_thru_##TYPE { \
-      template <class Base, class Arg, class Traits> struct select { \
-          typedef typename resolve_default<Arg, \
-            default_##TYPE, Base, Traits>::type type; \
-      };\
-    }; \
-    template <int NamedParam> \
-    struct get_##TYPE##_dispatch { }; \
-    template <> struct get_##TYPE##_dispatch<1> { \
-      typedef get_##TYPE##_from_named type; \
-    }; \
-    template <> struct get_##TYPE##_dispatch<0> { \
-      typedef pass_thru_##TYPE type; \
-    }; \
-    template <class Base, class X, class Traits>  \
-    class get_##TYPE { \
-      enum { is_named = is_named_param_list<X>::value }; \
-      typedef typename get_##TYPE##_dispatch<is_named>::type Selector; \
-    public: \
-      typedef typename Selector::template select<Base, X, Traits>::type type; \
-    }; \
-    template <> struct default_generator<default_##TYPE> { \
-      typedef default_##TYPE type; \
-    }
-
-    
-  } // namespace detail
-} // namespace boost
-
-#endif // BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/no_exceptions_support.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/no_exceptions_support.hpp
deleted file mode 100644
index 7d17454..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/no_exceptions_support.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_NO_EXCEPTIONS_SUPPORT_HPP
-#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/no_exceptions_support.hpp instead.
-
-#include <boost/core/no_exceptions_support.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/numeric_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/numeric_traits.hpp
deleted file mode 100644
index 2f97ebf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/numeric_traits.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-// (C) Copyright David Abrahams 2001, Howard Hinnant 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)
-//
-// Template class numeric_traits<Number> --
-//
-//    Supplies:
-//
-//      typedef difference_type -- a type used to represent the difference
-//      between any two values of Number.
-//
-//    Support:
-//      1. Not all specializations are supplied
-//
-//      2. Use of specializations that are not supplied will cause a
-//      compile-time error
-//
-//      3. Users are free to specialize numeric_traits for any type.
-//
-//      4. Right now, specializations are only supplied for integer types.
-//
-//      5. On implementations which do not supply compile-time constants in
-//      std::numeric_limits<>, only specializations for built-in integer types
-//      are supplied.
-//
-//      6. Handling of numbers whose range of representation is at least as
-//      great as boost::intmax_t can cause some differences to be
-//      unrepresentable in difference_type:
-//
-//        Number    difference_type
-//        ------    ---------------
-//        signed    Number
-//        unsigned  intmax_t
-//
-// template <class Number> typename numeric_traits<Number>::difference_type
-// numeric_distance(Number x, Number y)
-//    computes (y - x), attempting to avoid overflows.
-//
-
-// See http://www.boost.org for most recent version including documentation.
-
-// Revision History
-// 11 Feb 2001 - Use BOOST_STATIC_CONSTANT (David Abrahams)
-// 11 Feb 2001 - Rolled back ineffective Borland-specific code
-//               (David Abrahams)
-// 10 Feb 2001 - Rolled in supposed Borland fixes from John Maddock, but
-//               not seeing any improvement yet (David Abrahams)
-// 06 Feb 2001 - Factored if_true out into boost/detail/select_type.hpp
-//               (David Abrahams)
-// 23 Jan 2001 - Fixed logic of difference_type selection, which was
-//               completely wack. In the process, added digit_traits<>
-//               to compute the number of digits in intmax_t even when
-//               not supplied by numeric_limits<>. (David Abrahams)
-// 21 Jan 2001 - Created (David Abrahams)
-
-#ifndef BOOST_NUMERIC_TRAITS_HPP_DWA20001901
-# define BOOST_NUMERIC_TRAITS_HPP_DWA20001901
-
-# include <boost/config.hpp>
-# include <boost/cstdint.hpp>
-# include <boost/static_assert.hpp>
-# include <boost/type_traits.hpp>
-# include <boost/detail/select_type.hpp>
-# include <boost/limits.hpp>
-
-namespace boost { namespace detail {
-
-  // Template class is_signed -- determine whether a numeric type is signed
-  // Requires that T is constructable from the literals -1 and 0.  Compile-time
-  // error results if that requirement is not met (and thus signedness is not
-  // likely to have meaning for that type).
-  template <class Number>
-  struct is_signed
-  {
-#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
-    BOOST_STATIC_CONSTANT(bool, value = (Number(-1) < Number(0)));
-#else
-    BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<Number>::is_signed);
-#endif
-  };
-
-# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-  // digit_traits - compute the number of digits in a built-in integer
-  // type. Needed for implementations on which numeric_limits is not specialized
-  // for intmax_t (e.g. VC6).
-  template <bool is_specialized> struct digit_traits_select;
-
-  // numeric_limits is specialized; just select that version of digits
-  template <> struct digit_traits_select<true>
-  {
-      template <class T> struct traits
-      {
-          BOOST_STATIC_CONSTANT(int, digits = std::numeric_limits<T>::digits);
-      };
-  };
-
-  // numeric_limits is not specialized; compute digits from sizeof(T)
-  template <> struct digit_traits_select<false>
-  {
-      template <class T> struct traits
-      {
-          BOOST_STATIC_CONSTANT(int, digits = (
-              sizeof(T) * std::numeric_limits<unsigned char>::digits
-              - (is_signed<T>::value ? 1 : 0))
-              );
-      };
-  };
-
-  // here's the "usable" template
-  template <class T> struct digit_traits
-  {
-      typedef digit_traits_select<
-                ::std::numeric_limits<T>::is_specialized> selector;
-      typedef typename selector::template traits<T> traits;
-      BOOST_STATIC_CONSTANT(int, digits = traits::digits);
-  };
-#endif
-
-  // Template class integer_traits<Integer> -- traits of various integer types
-  // This should probably be rolled into boost::integer_traits one day, but I
-  // need it to work without <limits>
-  template <class Integer>
-  struct integer_traits
-  {
-# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   private:
-      typedef Integer integer_type;
-      typedef std::numeric_limits<integer_type> x;
-   public:
-      typedef typename
-      if_true<(int(x::is_signed)
-              && (!int(x::is_bounded)
-                 // digits is the number of no-sign bits
-                  || (int(x::digits) + 1 >= digit_traits<boost::intmax_t>::digits)))>::template then<
-        Integer,
-          
-      typename if_true<(int(x::digits) + 1 < digit_traits<signed int>::digits)>::template then<
-        signed int,
-
-      typename if_true<(int(x::digits) + 1 < digit_traits<signed long>::digits)>::template then<
-        signed long,
-
-   // else
-        intmax_t
-      >::type>::type>::type difference_type;
-#else
-      BOOST_STATIC_ASSERT(boost::is_integral<Integer>::value);
-
-      typedef typename
-      if_true<(sizeof(Integer) >= sizeof(intmax_t))>::template then<
-               
-        typename if_true<(is_signed<Integer>::value)>::template then<
-          Integer,
-          intmax_t
-        >::type,
-
-        typename if_true<(sizeof(Integer) < sizeof(std::ptrdiff_t))>::template then<
-          std::ptrdiff_t,
-          intmax_t
-        >::type
-      >::type difference_type;
-# endif
-  };
-
-  // Right now, only supports integers, but should be expanded.
-  template <class Number>
-  struct numeric_traits
-  {
-      typedef typename integer_traits<Number>::difference_type difference_type;
-  };
-
-  template <class Number>
-  typename numeric_traits<Number>::difference_type numeric_distance(Number x, Number y)
-  {
-      typedef typename numeric_traits<Number>::difference_type difference_type;
-      return difference_type(y) - difference_type(x);
-  }
-}}
-
-#endif // BOOST_NUMERIC_TRAITS_HPP_DWA20001901
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/ob_compressed_pair.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/ob_compressed_pair.hpp
deleted file mode 100644
index 326e454..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/ob_compressed_pair.hpp
+++ /dev/null
@@ -1,499 +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()) {}
-
-   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/rbgl_trimmed_boost_1_61_0/boost/detail/quick_allocator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/quick_allocator.hpp
deleted file mode 100644
index d54b3a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/reference_content.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/reference_content.hpp
deleted file mode 100644
index 36b80d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/reference_content.hpp
+++ /dev/null
@@ -1,120 +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"
-
-#   include "boost/mpl/bool.hpp"
-#   include "boost/type_traits/has_nothrow_copy.hpp"
-
-#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;
-
-
-template <typename T>
-struct make_reference_content
-{
-    typedef T type;
-};
-
-template <typename T>
-struct make_reference_content< T& >
-{
-    typedef reference_content<T&> type;
-};
-
-
-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
-//
-
-
-template <typename T>
-struct has_nothrow_copy<
-      ::boost::detail::reference_content< T& >
-    >
-    : mpl::true_
-{
-};
-
-
-} // namespace boost
-
-#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/scoped_enum_emulation.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/scoped_enum_emulation.hpp
deleted file mode 100644
index 1c7bc23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/scoped_enum_emulation.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Andrey Semashev
- *
- * Distributed under the 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_SCOPED_ENUM_EMULATION_HPP
-#define BOOST_DETAIL_SCOPED_ENUM_EMULATION_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/scoped_enum.hpp instead.
-
-#include <boost/core/scoped_enum.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/select_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/select_type.hpp
deleted file mode 100644
index c13946f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/sp_typeinfo.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/sp_typeinfo.hpp
deleted file mode 100644
index 4e4de55..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/sp_typeinfo.hpp
+++ /dev/null
@@ -1,36 +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
-//
-//  Deprecated, please use boost/core/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/core/typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-typedef boost::core::typeinfo sp_typeinfo;
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) BOOST_CORE_TYPEID(T)
-
-#endif  // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/templated_streams.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/templated_streams.hpp
deleted file mode 100644
index 1fa6ee3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/detail/utf8_codecvt_facet.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/utf8_codecvt_facet.hpp
deleted file mode 100644
index b3c7346..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/utf8_codecvt_facet.hpp
+++ /dev/null
@@ -1,218 +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 from 
-// 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 in one of it's headers or sources
-// - include the corresponding boost/detail/utf8_codecvt_facet.ipp file in one
-//   of its 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 <boost/detail/utf8_codecvt_facet.ipp>
-//
-// 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
-
-// maximum lenght of a multibyte string
-#define MB_LENGTH_MAX 8
-
-BOOST_UTF8_BEGIN_NAMESPACE
-
-//----------------------------------------------------------------------------//
-//                                                                            //
-//                          utf8_codecvt_facet                                //
-//                                                                            //
-//            See utf8_codecvt_facet.ipp for the implementation.              //
-//----------------------------------------------------------------------------//
-
-#ifndef BOOST_UTF8_DECL
-#define BOOST_UTF8_DECL
-#endif
-
-struct BOOST_SYMBOL_VISIBLE utf8_codecvt_facet :
-    public std::codecvt<wchar_t, char, std::mbstate_t>  
-{
-public:
-    BOOST_UTF8_DECL explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)
-        : std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage) 
-    {}
-    virtual  ~utf8_codecvt_facet(){}
-protected:
-    BOOST_UTF8_DECL 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;
-
-    BOOST_UTF8_DECL 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;
-    }
-
-    BOOST_UTF8_DECL static unsigned int get_octet_count(unsigned char lead_octet);
-
-    // How many "continuing octets" will be needed for this word
-    // ==   total octets - 1.
-    BOOST_UTF8_DECL int get_cont_octet_out_count(wchar_t word) const ;
-
-    virtual bool do_always_noconv() const BOOST_NOEXCEPT_OR_NOTHROW {
-        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 BOOST_NOEXCEPT_OR_NOTHROW {
-        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?
-    BOOST_UTF8_DECL virtual int do_length(
-        const std::mbstate_t &,
-        const char * from,
-        const char * from_end, 
-        std::size_t max_limit
-    ) const
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-    throw()
-#endif
-    ;
-    virtual int do_length(
-        std::mbstate_t & s,
-        const char * from,
-        const char * from_end, 
-        std::size_t max_limit
-    ) const
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-    throw()
-#endif
-    {
-        return do_length(
-            const_cast<const std::mbstate_t &>(s),
-            from,
-            from_end,
-            max_limit
-        );
-    }
-    // Largest possible value do_length(state,from,from_end,1) could return.
-    virtual int do_max_length() const BOOST_NOEXCEPT_OR_NOTHROW {
-        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/rbgl_trimmed_boost_1_61_0/boost/detail/utf8_codecvt_facet.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/utf8_codecvt_facet.ipp
deleted file mode 100644
index a6a5e2d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/utf8_codecvt_facet.ipp
+++ /dev/null
@@ -1,283 +0,0 @@
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// utf8_codecvt_facet.ipp
-
-// 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
-BOOST_UTF8_DECL 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;
-}
-
-BOOST_UTF8_DECL 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?
-BOOST_UTF8_DECL int utf8_codecvt_facet::do_length(
-    const std::mbstate_t &,
-    const char * from,
-    const char * from_end, 
-    std::size_t max_limit
-) const
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
-        throw()
-#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);
-}
-
-BOOST_UTF8_DECL 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;
-}
-
-namespace detail {
-
-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 detail
-
-// How many "continuing octets" will be needed for this word
-// ==   total octets - 1.
-BOOST_UTF8_DECL int utf8_codecvt_facet::get_cont_octet_out_count(
-    wchar_t word
-) const {
-    return detail::get_cont_octet_out_count_impl<sizeof(wchar_t)>(word);
-}
-BOOST_UTF8_END_NAMESPACE
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetCurrentProcess.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetCurrentProcess.hpp
deleted file mode 100644
index 14d5186..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetCurrentProcess.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  GetCurrentProcess.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP
-#define BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP
-
-#include <boost/detail/winapi/get_current_process.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-#pragma message "This header is deprecated, use boost/detail/winapi/get_current_process.hpp instead."
-#elif defined(_MSC_VER)
-#pragma message("This header is deprecated, use boost/detail/winapi/get_current_process.hpp instead.")
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetCurrentThread.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetCurrentThread.hpp
deleted file mode 100644
index 047add8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetCurrentThread.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  GetCurrentThread.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP
-#define BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP
-
-#include <boost/detail/winapi/get_current_thread.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-#pragma message "This header is deprecated, use boost/detail/winapi/get_current_thread.hpp instead."
-#elif defined(_MSC_VER)
-#pragma message("This header is deprecated, use boost/detail/winapi/get_current_thread.hpp instead.")
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetLastError.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetLastError.hpp
deleted file mode 100644
index 7fda753..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetLastError.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  GetLastError.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GETLASTERROR_HPP
-#define BOOST_DETAIL_WINAPI_GETLASTERROR_HPP
-
-#include <boost/detail/winapi/get_last_error.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-#pragma message "This header is deprecated, use boost/detail/winapi/get_last_error.hpp instead."
-#elif defined(_MSC_VER)
-#pragma message("This header is deprecated, use boost/detail/winapi/get_last_error.hpp instead.")
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_GETLASTERROR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetProcessTimes.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetProcessTimes.hpp
deleted file mode 100644
index 7b2b969..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetProcessTimes.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//  GetProcessTimes.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_DETAIL_WINAPI_GETPROCESSTIMES_HPP
-#define BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP
-
-#include <boost/detail/winapi/get_process_times.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-#pragma message "This header is deprecated, use boost/detail/winapi/get_process_times.hpp instead."
-#elif defined(_MSC_VER)
-#pragma message("This header is deprecated, use boost/detail/winapi/get_process_times.hpp instead.")
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetThreadTimes.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetThreadTimes.hpp
deleted file mode 100644
index d69c410..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/GetThreadTimes.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//  GetThreadTimes.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP
-#define BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP
-
-#include <boost/detail/winapi/get_thread_times.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-#pragma message "This header is deprecated, use boost/detail/winapi/get_thread_times.hpp instead."
-#elif defined(_MSC_VER)
-#pragma message("This header is deprecated, use boost/detail/winapi/get_thread_times.hpp instead.")
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/access_rights.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/access_rights.hpp
deleted file mode 100644
index 951edb1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/access_rights.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//  access_rights.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_ACCESS_RIGHTS_HPP
-#define BOOST_DETAIL_WINAPI_ACCESS_RIGHTS_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ DELETE_ = DELETE;
-const DWORD_ READ_CONTROL_ = READ_CONTROL;
-const DWORD_ WRITE_DAC_ = WRITE_DAC;
-const DWORD_ WRITE_OWNER_ = WRITE_OWNER;
-const DWORD_ SYNCHRONIZE_ = SYNCHRONIZE;
-
-const DWORD_ STANDARD_RIGHTS_ALL_ = STANDARD_RIGHTS_ALL;
-const DWORD_ STANDARD_RIGHTS_EXECUTE_ = STANDARD_RIGHTS_EXECUTE;
-const DWORD_ STANDARD_RIGHTS_READ_ = STANDARD_RIGHTS_READ;
-const DWORD_ STANDARD_RIGHTS_REQUIRED_ = STANDARD_RIGHTS_REQUIRED;
-const DWORD_ STANDARD_RIGHTS_WRITE_ = STANDARD_RIGHTS_WRITE;
-
-const DWORD_ SPECIFIC_RIGHTS_ALL_ = SPECIFIC_RIGHTS_ALL;
-
-const DWORD_ ACCESS_SYSTEM_SECURITY_ = ACCESS_SYSTEM_SECURITY;
-
-const DWORD_ MAXIMUM_ALLOWED_ = MAXIMUM_ALLOWED;
-
-const DWORD_ GENERIC_ALL_ = GENERIC_ALL;
-const DWORD_ GENERIC_EXECUTE_ = GENERIC_EXECUTE;
-const DWORD_ GENERIC_WRITE_ = GENERIC_WRITE;
-const DWORD_ GENERIC_READ_ = GENERIC_READ;
-
-typedef ::ACCESS_MASK ACCESS_MASK_;
-typedef ::PACCESS_MASK PACCESS_MASK_;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ DELETE_ = 0x00010000;
-const DWORD_ READ_CONTROL_ = 0x00020000;
-const DWORD_ WRITE_DAC_ = 0x00040000;
-const DWORD_ WRITE_OWNER_ = 0x00080000;
-const DWORD_ SYNCHRONIZE_ = 0x00100000;
-
-const DWORD_ STANDARD_RIGHTS_ALL_ = 0x001F0000;
-const DWORD_ STANDARD_RIGHTS_EXECUTE_ = READ_CONTROL_;
-const DWORD_ STANDARD_RIGHTS_READ_ = READ_CONTROL_;
-const DWORD_ STANDARD_RIGHTS_REQUIRED_ = 0x000F0000;
-const DWORD_ STANDARD_RIGHTS_WRITE_ = READ_CONTROL_;
-
-const DWORD_ SPECIFIC_RIGHTS_ALL_ = 0x0000FFFF;
-
-const DWORD_ ACCESS_SYSTEM_SECURITY_ = 0x01000000;
-
-const DWORD_ MAXIMUM_ALLOWED_ = 0x02000000;
-
-const DWORD_ GENERIC_ALL_ = 0x10000000;
-const DWORD_ GENERIC_EXECUTE_ = 0x20000000;
-const DWORD_ GENERIC_WRITE_ = 0x40000000;
-const DWORD_ GENERIC_READ_ = 0x80000000;
-
-typedef DWORD_ ACCESS_MASK_;
-typedef ACCESS_MASK_* PACCESS_MASK_;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_ACCESS_RIGHTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/apc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/apc.hpp
deleted file mode 100644
index 6913045..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/apc.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//  apc.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_APC_HPP
-#define BOOST_DETAIL_WINAPI_APC_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-typedef boost::detail::winapi::VOID_
-(NTAPI *PAPCFUNC)(boost::detail::winapi::ULONG_PTR_ Parameter);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-QueueUserAPC(
-    PAPCFUNC pfnAPC,
-    boost::detail::winapi::HANDLE_ hThread,
-    boost::detail::winapi::ULONG_PTR_ dwData);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-typedef ::PAPCFUNC PAPCFUNC_;
-using ::QueueUserAPC;
-}
-}
-}
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-
-#endif // BOOST_DETAIL_WINAPI_APC_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/basic_types.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/basic_types.hpp
deleted file mode 100644
index 30df135..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/basic_types.hpp
+++ /dev/null
@@ -1,233 +0,0 @@
-//  basic_types.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP
-#define BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP
-
-#include <cstdarg>
-#include <boost/cstdint.hpp>
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined( BOOST_USE_WINDOWS_H )
-# include <windows.h>
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) ||  defined(__CYGWIN__)
-# include <winerror.h>
-# ifdef UNDER_CE
-#  ifndef WINAPI
-#   ifndef _WIN32_WCE_EMULATION
-#    define WINAPI  __cdecl     // Note this doesn't match the desktop definition
-#   else
-#    define WINAPI  __stdcall
-#   endif
-#  endif
-// Windows CE defines a few functions as inline functions in kfuncs.h
-typedef int BOOL;
-typedef unsigned long DWORD;
-typedef void* HANDLE;
-#  include <kfuncs.h>
-# else
-#  ifndef WINAPI
-#   define WINAPI  __stdcall
-#  endif
-# endif
-# ifndef NTAPI
-#  define NTAPI __stdcall
-# endif
-#else
-# error "Win32 functions not available"
-#endif
-
-#ifndef NO_STRICT
-#ifndef STRICT
-#define STRICT 1
-#endif
-#endif
-
-#if defined(STRICT)
-#define BOOST_DETAIL_WINAPI_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x
-#else
-#define BOOST_DETAIL_WINAPI_DECLARE_HANDLE(x) typedef void* x
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-union _LARGE_INTEGER;
-struct _SECURITY_ATTRIBUTES;
-BOOST_DETAIL_WINAPI_DECLARE_HANDLE(HINSTANCE);
-typedef HINSTANCE HMODULE;
-}
-#endif
-
-#if defined(__GNUC__)
-#define BOOST_DETAIL_WINAPI_MAY_ALIAS __attribute__ ((__may_alias__))
-#else
-#define BOOST_DETAIL_WINAPI_MAY_ALIAS
-#endif
-
-// MinGW64 gcc 4.8.2 fails to compile function declarations with boost::detail::winapi::VOID_ arguments even though
-// the typedef expands to void. In Windows SDK, VOID is a macro which unfolds to void. We use our own macro in such cases.
-#define BOOST_DETAIL_WINAPI_VOID void
-
-namespace boost {
-namespace detail {
-namespace winapi {
-#if defined( BOOST_USE_WINDOWS_H )
-
-typedef ::BOOL BOOL_;
-typedef ::PBOOL PBOOL_;
-typedef ::LPBOOL LPBOOL_;
-typedef ::BOOLEAN BOOLEAN_;
-typedef ::PBOOLEAN PBOOLEAN_;
-typedef ::BYTE BYTE_;
-typedef ::PBYTE PBYTE_;
-typedef ::LPBYTE LPBYTE_;
-typedef ::WORD WORD_;
-typedef ::PWORD PWORD_;
-typedef ::LPWORD LPWORD_;
-typedef ::DWORD DWORD_;
-typedef ::PDWORD PDWORD_;
-typedef ::LPDWORD LPDWORD_;
-typedef ::HANDLE HANDLE_;
-typedef ::PHANDLE PHANDLE_;
-typedef ::SHORT SHORT_;
-typedef ::PSHORT PSHORT_;
-typedef ::USHORT USHORT_;
-typedef ::PUSHORT PUSHORT_;
-typedef ::INT INT_;
-typedef ::PINT PINT_;
-typedef ::LPINT LPINT_;
-typedef ::UINT UINT_;
-typedef ::PUINT PUINT_;
-typedef ::LONG LONG_;
-typedef ::PLONG PLONG_;
-typedef ::LPLONG LPLONG_;
-typedef ::ULONG ULONG_;
-typedef ::PULONG PULONG_;
-typedef ::LONGLONG LONGLONG_;
-typedef ::ULONGLONG ULONGLONG_;
-typedef ::INT_PTR INT_PTR_;
-typedef ::UINT_PTR UINT_PTR_;
-typedef ::LONG_PTR LONG_PTR_;
-typedef ::ULONG_PTR ULONG_PTR_;
-typedef ::DWORD_PTR DWORD_PTR_;
-typedef ::PDWORD_PTR PDWORD_PTR_;
-typedef ::SIZE_T SIZE_T_;
-typedef ::PSIZE_T PSIZE_T_;
-typedef ::SSIZE_T SSIZE_T_;
-typedef ::PSSIZE_T PSSIZE_T_;
-typedef VOID VOID_; // VOID is a macro
-typedef ::PVOID PVOID_;
-typedef ::LPVOID LPVOID_;
-typedef ::LPCVOID LPCVOID_;
-typedef ::CHAR CHAR_;
-typedef ::LPSTR LPSTR_;
-typedef ::LPCSTR LPCSTR_;
-typedef ::WCHAR WCHAR_;
-typedef ::LPWSTR LPWSTR_;
-typedef ::LPCWSTR LPCWSTR_;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-typedef int BOOL_;
-typedef BOOL_* PBOOL_;
-typedef BOOL_* LPBOOL_;
-typedef unsigned char BYTE_;
-typedef BYTE_* PBYTE_;
-typedef BYTE_* LPBYTE_;
-typedef BYTE_ BOOLEAN_;
-typedef BOOLEAN_* PBOOLEAN_;
-typedef unsigned short WORD_;
-typedef WORD_* PWORD_;
-typedef WORD_* LPWORD_;
-typedef unsigned long DWORD_;
-typedef DWORD_* PDWORD_;
-typedef DWORD_* LPDWORD_;
-typedef void* HANDLE_;
-typedef void** PHANDLE_;
-
-typedef short SHORT_;
-typedef SHORT_* PSHORT_;
-typedef unsigned short USHORT_;
-typedef USHORT_* PUSHORT_;
-typedef int INT_;
-typedef INT_* PINT_;
-typedef INT_* LPINT_;
-typedef unsigned int UINT_;
-typedef UINT_* PUINT_;
-typedef long LONG_;
-typedef LONG_* PLONG_;
-typedef LONG_* LPLONG_;
-typedef unsigned long ULONG_;
-typedef ULONG_* PULONG_;
-
-typedef boost::int64_t LONGLONG_;
-typedef boost::uint64_t ULONGLONG_;
-
-# ifdef _WIN64
-#  if defined(__CYGWIN__)
-typedef long INT_PTR_;
-typedef unsigned long UINT_PTR_;
-typedef long LONG_PTR_;
-typedef unsigned long ULONG_PTR_;
-#  else
-typedef __int64 INT_PTR_;
-typedef unsigned __int64 UINT_PTR_;
-typedef __int64 LONG_PTR_;
-typedef unsigned __int64 ULONG_PTR_;
-#  endif
-# else
-typedef int INT_PTR_;
-typedef unsigned int UINT_PTR_;
-typedef long LONG_PTR_;
-typedef unsigned long ULONG_PTR_;
-# endif
-
-typedef ULONG_PTR_ DWORD_PTR_, *PDWORD_PTR_;
-typedef ULONG_PTR_ SIZE_T_, *PSIZE_T_;
-typedef LONG_PTR_ SSIZE_T_, *PSSIZE_T_;
-
-typedef void VOID_;
-typedef void *PVOID_;
-typedef void *LPVOID_;
-typedef const void *LPCVOID_;
-
-typedef char CHAR_;
-typedef CHAR_ *LPSTR_;
-typedef const CHAR_ *LPCSTR_;
-
-typedef wchar_t WCHAR_;
-typedef WCHAR_ *LPWSTR_;
-typedef const WCHAR_ *LPCWSTR_;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-typedef ::HMODULE HMODULE_;
-
-typedef union BOOST_DETAIL_WINAPI_MAY_ALIAS _LARGE_INTEGER {
-    struct {
-        DWORD_ LowPart;
-        LONG_ HighPart;
-    } u;
-    LONGLONG_ QuadPart;
-} LARGE_INTEGER_, *PLARGE_INTEGER_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _SECURITY_ATTRIBUTES {
-    DWORD_  nLength;
-    LPVOID_ lpSecurityDescriptor;
-    BOOL_   bInheritHandle;
-} SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_;
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/character_code_conversion.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/character_code_conversion.hpp
deleted file mode 100644
index d7c4cbe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/character_code_conversion.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//  character_code_conversion.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_CHARACTER_CODE_CONVERSION_HPP
-#define BOOST_DETAIL_WINAPI_CHARACTER_CODE_CONVERSION_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-BOOST_SYMBOL_IMPORT int WINAPI
-MultiByteToWideChar(
-    boost::detail::winapi::UINT_ CodePage,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPCSTR_ lpMultiByteStr,
-    int cbMultiByte,
-    boost::detail::winapi::LPWSTR_ lpWideCharStr,
-    int cchWideChar);
-
-BOOST_SYMBOL_IMPORT int WINAPI
-WideCharToMultiByte(
-    boost::detail::winapi::UINT_ CodePage,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPCWSTR_ lpWideCharStr,
-    int cchWideChar,
-    boost::detail::winapi::LPSTR_ lpMultiByteStr,
-    int cbMultiByte,
-    boost::detail::winapi::LPCSTR_ lpDefaultChar,
-    boost::detail::winapi::LPBOOL_ lpUsedDefaultChar);
-
-} // extern "C"
-#endif // #if !defined( BOOST_USE_WINDOWS_H )
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const UINT_ CP_ACP_ = CP_ACP;
-const UINT_ CP_OEMCP_ = CP_OEMCP;
-const UINT_ CP_MACCP_ = CP_MACCP;
-const UINT_ CP_THREAD_ACP_ = CP_THREAD_ACP;
-const UINT_ CP_SYMBOL_ = CP_SYMBOL;
-const UINT_ CP_UTF7_ = CP_UTF7;
-const UINT_ CP_UTF8_ = CP_UTF8;
-
-const DWORD_ MB_PRECOMPOSED_ = MB_PRECOMPOSED;
-const DWORD_ MB_COMPOSITE_ = MB_COMPOSITE;
-const DWORD_ MB_USEGLYPHCHARS_ = MB_USEGLYPHCHARS;
-const DWORD_ MB_ERR_INVALID_CHARS_ = MB_ERR_INVALID_CHARS;
-
-const DWORD_ WC_COMPOSITECHECK_ = WC_COMPOSITECHECK;
-const DWORD_ WC_DISCARDNS_ = WC_DISCARDNS;
-const DWORD_ WC_SEPCHARS_ = WC_SEPCHARS;
-const DWORD_ WC_DEFAULTCHAR_ = WC_DEFAULTCHAR;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
-const DWORD_ WC_NO_BEST_FIT_CHARS_ = WC_NO_BEST_FIT_CHARS;
-#endif
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const UINT_ CP_ACP_ = 0u;
-const UINT_ CP_OEMCP_ = 1u;
-const UINT_ CP_MACCP_ = 2u;
-const UINT_ CP_THREAD_ACP_ = 3u;
-const UINT_ CP_SYMBOL_ = 42u;
-const UINT_ CP_UTF7_ = 65000u;
-const UINT_ CP_UTF8_ = 65001u;
-
-const DWORD_ MB_PRECOMPOSED_ = 0x00000001;
-const DWORD_ MB_COMPOSITE_ = 0x00000002;
-const DWORD_ MB_USEGLYPHCHARS_ = 0x00000004;
-const DWORD_ MB_ERR_INVALID_CHARS_ = 0x00000008;
-
-const DWORD_ WC_COMPOSITECHECK_ = 0x00000200;
-const DWORD_ WC_DISCARDNS_ = 0x00000010;
-const DWORD_ WC_SEPCHARS_ = 0x00000020;
-const DWORD_ WC_DEFAULTCHAR_ = 0x00000040;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
-const DWORD_ WC_NO_BEST_FIT_CHARS_ = 0x00000400;
-#endif
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-// This constant is not present in MinGW
-const DWORD_ WC_ERR_INVALID_CHARS_ = 0x00000080;
-#endif
-
-using ::MultiByteToWideChar;
-using ::WideCharToMultiByte;
-
-} // namespace winapi
-} // namespace detail
-} // namespace boost
-
-#endif // BOOST_DETAIL_WINAPI_CHARACTER_CODE_CONVERSION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/condition_variable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/condition_variable.hpp
deleted file mode 100644
index 7182d75..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/condition_variable.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//  condition_variable.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_HPP
-#define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-struct _RTL_CONDITION_VARIABLE;
-struct _RTL_CRITICAL_SECTION;
-struct _RTL_SRWLOCK;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-InitializeConditionVariable(::_RTL_CONDITION_VARIABLE* ConditionVariable);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-WakeConditionVariable(::_RTL_CONDITION_VARIABLE* ConditionVariable);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-WakeAllConditionVariable(::_RTL_CONDITION_VARIABLE* ConditionVariable);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SleepConditionVariableCS(
-    ::_RTL_CONDITION_VARIABLE* ConditionVariable,
-    ::_RTL_CRITICAL_SECTION* CriticalSection,
-    boost::detail::winapi::DWORD_ dwMilliseconds);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SleepConditionVariableSRW(
-    ::_RTL_CONDITION_VARIABLE* ConditionVariable,
-    ::_RTL_SRWLOCK* SRWLock,
-    boost::detail::winapi::DWORD_ dwMilliseconds,
-    boost::detail::winapi::ULONG_ Flags);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _RTL_CONDITION_VARIABLE {
-    PVOID_ Ptr;
-} CONDITION_VARIABLE_, *PCONDITION_VARIABLE_;
-
-#if defined( BOOST_USE_WINDOWS_H )
-#define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_INIT CONDITION_VARIABLE_INIT
-#else
-#define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE {0}
-#endif
-
-struct _RTL_CRITICAL_SECTION;
-struct _RTL_SRWLOCK;
-
-BOOST_FORCEINLINE VOID_ InitializeConditionVariable(PCONDITION_VARIABLE_ ConditionVariable)
-{
-    ::InitializeConditionVariable(reinterpret_cast< ::_RTL_CONDITION_VARIABLE* >(ConditionVariable));
-}
-
-BOOST_FORCEINLINE VOID_ WakeConditionVariable(PCONDITION_VARIABLE_ ConditionVariable)
-{
-    ::WakeConditionVariable(reinterpret_cast< ::_RTL_CONDITION_VARIABLE* >(ConditionVariable));
-}
-
-BOOST_FORCEINLINE VOID_ WakeAllConditionVariable(PCONDITION_VARIABLE_ ConditionVariable)
-{
-    ::WakeAllConditionVariable(reinterpret_cast< ::_RTL_CONDITION_VARIABLE* >(ConditionVariable));
-}
-
-BOOST_FORCEINLINE BOOL_ SleepConditionVariableCS(
-    PCONDITION_VARIABLE_ ConditionVariable,
-    _RTL_CRITICAL_SECTION* CriticalSection,
-    DWORD_ dwMilliseconds)
-{
-    return ::SleepConditionVariableCS(
-        reinterpret_cast< ::_RTL_CONDITION_VARIABLE* >(ConditionVariable),
-        reinterpret_cast< ::_RTL_CRITICAL_SECTION* >(CriticalSection),
-        dwMilliseconds);
-}
-
-BOOST_FORCEINLINE BOOL_ SleepConditionVariableSRW(
-    PCONDITION_VARIABLE_ ConditionVariable,
-    _RTL_SRWLOCK* SRWLock,
-    DWORD_ dwMilliseconds,
-    ULONG_ Flags)
-{
-    return ::SleepConditionVariableSRW(
-        reinterpret_cast< ::_RTL_CONDITION_VARIABLE* >(ConditionVariable),
-        reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock),
-        dwMilliseconds,
-        Flags);
-}
-
-#if defined( BOOST_USE_WINDOWS_H )
-const ULONG_ CONDITION_VARIABLE_LOCKMODE_SHARED_ = CONDITION_VARIABLE_LOCKMODE_SHARED;
-#else // defined( BOOST_USE_WINDOWS_H )
-const ULONG_ CONDITION_VARIABLE_LOCKMODE_SHARED_ = 0x00000001;
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-const ULONG_ condition_variable_lockmode_shared = CONDITION_VARIABLE_LOCKMODE_SHARED_;
-
-}
-}
-}
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#endif // BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/config.hpp
deleted file mode 100644
index 1f08c2a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/config.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//  config.hpp  --------------------------------------------------------------//
-
-//  Copyright 2013 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_
-#define BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_
-
-#if defined __MINGW32__
-#include <_mingw.h>
-#endif
-
-// BOOST_WINAPI_IS_MINGW indicates that the target Windows SDK is provided by MinGW (http://mingw.org/).
-// BOOST_WINAPI_IS_MINGW_W64 indicates that the target Windows SDK is provided by MinGW-w64 (http://mingw-w64.org).
-#if defined __MINGW32__
-#if defined __MINGW64_VERSION_MAJOR
-#define BOOST_WINAPI_IS_MINGW_W64
-#else
-#define BOOST_WINAPI_IS_MINGW
-#endif
-#endif
-
-// These constants reflect _WIN32_WINNT_* macros from sdkddkver.h
-// See also: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx#setting_winver_or__win32_winnt
-#define BOOST_WINAPI_VERSION_NT4 0x0400
-#define BOOST_WINAPI_VERSION_WIN2K 0x0500
-#define BOOST_WINAPI_VERSION_WINXP 0x0501
-#define BOOST_WINAPI_VERSION_WS03 0x0502
-#define BOOST_WINAPI_VERSION_WIN6 0x0600
-#define BOOST_WINAPI_VERSION_VISTA 0x0600
-#define BOOST_WINAPI_VERSION_WS08 0x0600
-#define BOOST_WINAPI_VERSION_LONGHORN 0x0600
-#define BOOST_WINAPI_VERSION_WIN7 0x0601
-#define BOOST_WINAPI_VERSION_WIN8 0x0602
-#define BOOST_WINAPI_VERSION_WINBLUE 0x0603
-#define BOOST_WINAPI_VERSION_WINTHRESHOLD 0x0A00
-#define BOOST_WINAPI_VERSION_WIN10 0x0A00
-
-#if !defined(BOOST_USE_WINAPI_VERSION)
-#if defined(_WIN32_WINNT)
-#define BOOST_USE_WINAPI_VERSION _WIN32_WINNT
-#elif defined(WINVER)
-#define BOOST_USE_WINAPI_VERSION WINVER
-#else
-// By default use Windows Vista API on compilers that support it and XP on the others
-#if (defined(_MSC_VER) && _MSC_VER < 1500) || defined(BOOST_WINAPI_IS_MINGW)
-#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WINXP
-#else
-#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WIN6
-#endif
-#endif
-#endif
-
-#if defined(BOOST_USE_WINDOWS_H)
-// We have to define the version macros so that windows.h provides the necessary symbols
-#if !defined(_WIN32_WINNT)
-#define _WIN32_WINNT BOOST_USE_WINAPI_VERSION
-#endif
-#if !defined(WINVER)
-#define WINVER BOOST_USE_WINAPI_VERSION
-#endif
-#endif
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/critical_section.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/critical_section.hpp
deleted file mode 100644
index be1d347..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/critical_section.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-//  critical_section.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_CRITICAL_SECTION_HPP
-#define BOOST_DETAIL_WINAPI_CRITICAL_SECTION_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/detail/cast_ptr.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-
-extern "C" {
-#if !defined( BOOST_WINAPI_IS_MINGW )
-struct _RTL_CRITICAL_SECTION;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-InitializeCriticalSection(::_RTL_CRITICAL_SECTION* lpCriticalSection);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-EnterCriticalSection(::_RTL_CRITICAL_SECTION* lpCriticalSection);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-LeaveCriticalSection(::_RTL_CRITICAL_SECTION* lpCriticalSection);
-
-#if BOOST_USE_WINAPI_VERSION >= 0x0403
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitializeCriticalSectionAndSpinCount(
-    ::_RTL_CRITICAL_SECTION* lpCriticalSection,
-    boost::detail::winapi::DWORD_ dwSpinCount);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitializeCriticalSectionEx(
-    ::_RTL_CRITICAL_SECTION* lpCriticalSection,
-    boost::detail::winapi::DWORD_ dwSpinCount,
-    boost::detail::winapi::DWORD_ Flags);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-SetCriticalSectionSpinCount(
-    ::_RTL_CRITICAL_SECTION* lpCriticalSection,
-    boost::detail::winapi::DWORD_ dwSpinCount);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-TryEnterCriticalSection(::_RTL_CRITICAL_SECTION* lpCriticalSection);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-DeleteCriticalSection(::_RTL_CRITICAL_SECTION* lpCriticalSection);
-
-#else // defined( BOOST_WINAPI_IS_MINGW )
-
-// MinGW uses a different name for the structure
-struct _CRITICAL_SECTION;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-InitializeCriticalSection(::_CRITICAL_SECTION* lpCriticalSection);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-EnterCriticalSection(::_CRITICAL_SECTION* lpCriticalSection);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-LeaveCriticalSection(::_CRITICAL_SECTION* lpCriticalSection);
-
-#if BOOST_USE_WINAPI_VERSION >= 0x0403
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitializeCriticalSectionAndSpinCount(
-    ::_CRITICAL_SECTION* lpCriticalSection,
-    boost::detail::winapi::DWORD_ dwSpinCount);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitializeCriticalSectionEx(
-    ::_CRITICAL_SECTION* lpCriticalSection,
-    boost::detail::winapi::DWORD_ dwSpinCount,
-    boost::detail::winapi::DWORD_ Flags);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-SetCriticalSectionSpinCount(
-    ::_CRITICAL_SECTION* lpCriticalSection,
-    boost::detail::winapi::DWORD_ dwSpinCount);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-TryEnterCriticalSection(::_CRITICAL_SECTION* lpCriticalSection);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-DeleteCriticalSection(::_CRITICAL_SECTION* lpCriticalSection);
-
-#endif // defined( BOOST_WINAPI_IS_MINGW )
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-struct _RTL_CRITICAL_SECTION_DEBUG;
-
-#pragma pack(push, 8)
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _RTL_CRITICAL_SECTION {
-    _RTL_CRITICAL_SECTION_DEBUG* DebugInfo;
-    LONG_ LockCount;
-    LONG_ RecursionCount;
-    HANDLE_ OwningThread;
-    HANDLE_ LockSemaphore;
-    ULONG_PTR_ SpinCount;
-} CRITICAL_SECTION_, *PCRITICAL_SECTION_;
-
-#pragma pack(pop)
-
-BOOST_FORCEINLINE VOID_ InitializeCriticalSection(CRITICAL_SECTION_* lpCriticalSection)
-{
-    ::InitializeCriticalSection(winapi::detail::cast_ptr(lpCriticalSection));
-}
-
-BOOST_FORCEINLINE VOID_ EnterCriticalSection(CRITICAL_SECTION_* lpCriticalSection)
-{
-    ::EnterCriticalSection(winapi::detail::cast_ptr(lpCriticalSection));
-}
-
-BOOST_FORCEINLINE VOID_ LeaveCriticalSection(CRITICAL_SECTION_* lpCriticalSection)
-{
-    ::LeaveCriticalSection(winapi::detail::cast_ptr(lpCriticalSection));
-}
-
-#if BOOST_USE_WINAPI_VERSION >= 0x0403
-BOOST_FORCEINLINE BOOL_ InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION_* lpCriticalSection, DWORD_ dwSpinCount)
-{
-    return ::InitializeCriticalSectionAndSpinCount(winapi::detail::cast_ptr(lpCriticalSection), dwSpinCount);
-}
-
-// CRITICAL_SECTION_NO_DEBUG_INFO is defined for WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
-const DWORD_ CRITICAL_SECTION_NO_DEBUG_INFO_ = 0x01000000;
-const DWORD_ CRITICAL_SECTION_FLAG_NO_DEBUG_INFO_ = CRITICAL_SECTION_NO_DEBUG_INFO_;
-const DWORD_ CRITICAL_SECTION_FLAG_DYNAMIC_SPIN_ = 0x02000000; // undocumented
-const DWORD_ CRITICAL_SECTION_FLAG_STATIC_INIT_ = 0x04000000; // undocumented
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE BOOL_ InitializeCriticalSectionEx(CRITICAL_SECTION_* lpCriticalSection, DWORD_ dwSpinCount, DWORD_ Flags)
-{
-    return ::InitializeCriticalSectionEx(winapi::detail::cast_ptr(lpCriticalSection), dwSpinCount, Flags);
-}
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-BOOST_FORCEINLINE DWORD_ SetCriticalSectionSpinCount(CRITICAL_SECTION_* lpCriticalSection, DWORD_ dwSpinCount)
-{
-    return ::SetCriticalSectionSpinCount(winapi::detail::cast_ptr(lpCriticalSection), dwSpinCount);
-}
-#endif // BOOST_USE_WINAPI_VERSION >= 0x0403
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-BOOST_FORCEINLINE BOOL_ TryEnterCriticalSection(CRITICAL_SECTION_* lpCriticalSection)
-{
-    return ::TryEnterCriticalSection(winapi::detail::cast_ptr(lpCriticalSection));
-}
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-
-BOOST_FORCEINLINE VOID_ DeleteCriticalSection(CRITICAL_SECTION_* lpCriticalSection)
-{
-    ::DeleteCriticalSection(winapi::detail::cast_ptr(lpCriticalSection));
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_CRITICAL_SECTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/crypt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/crypt.hpp
deleted file mode 100644
index 0650845..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/crypt.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-//  crypt.hpp  --------------------------------------------------------------//
-
-//  Copyright 2014 Antony Polukhin
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_CRYPT_HPP
-#define BOOST_DETAIL_WINAPI_CRYPT_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/detail/cast_ptr.hpp>
-#if defined( BOOST_USE_WINDOWS_H )
-// This header is not always included as part of windows.h
-#include <wincrypt.h>
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-namespace boost { namespace detail { namespace winapi {
-typedef ULONG_PTR_ HCRYPTPROV_;
-}}}
-
-// Some versions of MinGW (including the latest ones) contain buggy declarations of CryptEnumProvidersA and CryptEnumProvidersW.
-// We cannot detect those broken versions, and we can't include the system header because it's incomplete.
-// So below we duplicate the broken declarations here and work around the problem with cast_ptr. These declarations
-// will have to be removed when MinGW is fixed.
-
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-#if !defined( BOOST_WINAPI_IS_MINGW ) || !defined( UNICODE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptEnumProvidersA(
-    boost::detail::winapi::DWORD_ dwIndex,
-    boost::detail::winapi::DWORD_ *pdwReserved,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ *pdwProvType,
-    boost::detail::winapi::LPSTR_ szProvName,
-    boost::detail::winapi::DWORD_ *pcbProvName);
-#else
-// Broken declaration in MinGW
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptEnumProvidersA(
-    boost::detail::winapi::DWORD_ dwIndex,
-    boost::detail::winapi::DWORD_ *pdwReserved,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ *pdwProvType,
-    boost::detail::winapi::LPWSTR_ szProvName,
-    boost::detail::winapi::DWORD_ *pcbProvName);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptAcquireContextA(
-    boost::detail::winapi::HCRYPTPROV_ *phProv,
-    boost::detail::winapi::LPCSTR_ pszContainer,
-    boost::detail::winapi::LPCSTR_ pszProvider,
-    boost::detail::winapi::DWORD_ dwProvType,
-    boost::detail::winapi::DWORD_ dwFlags);
-#endif // !defined( BOOST_NO_ANSI_APIS )
-
-#if !defined( BOOST_WINAPI_IS_MINGW ) || defined( UNICODE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptEnumProvidersW(
-    boost::detail::winapi::DWORD_ dwIndex,
-    boost::detail::winapi::DWORD_ *pdwReserved,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ *pdwProvType,
-    boost::detail::winapi::LPWSTR_ szProvName,
-    boost::detail::winapi::DWORD_ *pcbProvName);
-#else
-// Broken declaration in MinGW
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptEnumProvidersW(
-    boost::detail::winapi::DWORD_ dwIndex,
-    boost::detail::winapi::DWORD_ *pdwReserved,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ *pdwProvType,
-    boost::detail::winapi::LPSTR_ szProvName,
-    boost::detail::winapi::DWORD_ *pcbProvName);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptAcquireContextW(
-    boost::detail::winapi::HCRYPTPROV_ *phProv,
-    boost::detail::winapi::LPCWSTR_ szContainer,
-    boost::detail::winapi::LPCWSTR_ szProvider,
-    boost::detail::winapi::DWORD_ dwProvType,
-    boost::detail::winapi::DWORD_ dwFlags);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptGenRandom(
-    boost::detail::winapi::HCRYPTPROV_ hProv,
-    boost::detail::winapi::DWORD_ dwLen,
-    boost::detail::winapi::BYTE_ *pbBuffer);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CryptReleaseContext(
-    boost::detail::winapi::HCRYPTPROV_ hProv,
-    boost::detail::winapi::DWORD_ dwFlags);
-}
-#endif // !defined( BOOST_USE_WINDOWS_H )
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-typedef ::HCRYPTPROV HCRYPTPROV_;
-
-const DWORD_ PROV_RSA_FULL_         = PROV_RSA_FULL;
-
-const DWORD_ CRYPT_VERIFYCONTEXT_   = CRYPT_VERIFYCONTEXT;
-const DWORD_ CRYPT_NEWKEYSET_       = CRYPT_NEWKEYSET;
-const DWORD_ CRYPT_DELETEKEYSET_    = CRYPT_DELETEKEYSET;
-const DWORD_ CRYPT_MACHINE_KEYSET_  = CRYPT_MACHINE_KEYSET;
-const DWORD_ CRYPT_SILENT_          = CRYPT_SILENT;
-
-#else
-
-const DWORD_ PROV_RSA_FULL_         = 1;
-
-const DWORD_ CRYPT_VERIFYCONTEXT_   = 0xF0000000;
-const DWORD_ CRYPT_NEWKEYSET_       = 8;
-const DWORD_ CRYPT_DELETEKEYSET_    = 16;
-const DWORD_ CRYPT_MACHINE_KEYSET_  = 32;
-const DWORD_ CRYPT_SILENT_          = 64;
-
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::CryptEnumProvidersA;
-using ::CryptAcquireContextA;
-#endif
-using ::CryptEnumProvidersW;
-using ::CryptAcquireContextW;
-using ::CryptGenRandom;
-using ::CryptReleaseContext;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE BOOL_ crypt_enum_providers(
-    DWORD_ dwIndex,
-    DWORD_ *pdwReserved,
-    DWORD_ dwFlags,
-    DWORD_ *pdwProvType,
-    LPSTR_ szProvName,
-    DWORD_ *pcbProvName)
-{
-    return ::CryptEnumProvidersA(dwIndex, pdwReserved, dwFlags, pdwProvType, winapi::detail::cast_ptr(szProvName), pcbProvName);
-}
-
-BOOST_FORCEINLINE BOOL_ crypt_acquire_context(
-    HCRYPTPROV_ *phProv,
-    LPCSTR_ pszContainer,
-    LPCSTR_ pszProvider,
-    DWORD_ dwProvType,
-    DWORD_ dwFlags)
-{
-    return ::CryptAcquireContextA(phProv, pszContainer, pszProvider, dwProvType, dwFlags);
-}
-#endif
-
-BOOST_FORCEINLINE BOOL_ crypt_enum_providers(
-    DWORD_ dwIndex,
-    DWORD_ *pdwReserved,
-    DWORD_ dwFlags,
-    DWORD_ *pdwProvType,
-    LPWSTR_ szProvName,
-    DWORD_ *pcbProvName)
-{
-    return ::CryptEnumProvidersW(dwIndex, pdwReserved, dwFlags, pdwProvType, winapi::detail::cast_ptr(szProvName), pcbProvName);
-}
-
-BOOST_FORCEINLINE BOOL_ crypt_acquire_context(
-    HCRYPTPROV_ *phProv,
-    LPCWSTR_ szContainer,
-    LPCWSTR_ szProvider,
-    DWORD_ dwProvType,
-    DWORD_ dwFlags)
-{
-    return ::CryptAcquireContextW(phProv, szContainer, szProvider, dwProvType, dwFlags);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_CRYPT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/dbghelp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/dbghelp.hpp
deleted file mode 100644
index 74add55..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/dbghelp.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-//  dbghelp.hpp  --------------------------------------------------------------//
-
-//  Copyright 2015 Klemens Morgenstern
-//  Copyright 2016 Jorge Lodos
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_DBGHELP_HPP
-#define BOOST_DETAIL_WINAPI_DBGHELP_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#if defined( BOOST_USE_WINDOWS_H )
-#if !defined( BOOST_WINAPI_IS_MINGW )
-#include <dbghelp.h>
-#else
-// In MinGW there is no dbghelp.h but an older imagehlp.h header defines some of the symbols from it.
-// Note that the user has to link with libimagehlp.a instead of libdbghelp.a for it to work.
-#include <imagehlp.h>
-#endif
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-// Some symbols declared below are not present in all versions of Windows SDK, MinGW and MinGW-w64.
-// dbghelp.h/imagehlp.h define the API_VERSION_NUMBER macro which we use to detect its version.
-// When the macro is not available we can only guess based on the compiler version or SDK type.
-#if defined(API_VERSION_NUMBER)
-#if API_VERSION_NUMBER >= 11
-// UnDecorateSymbolNameW available since Windows SDK 6.0A and MinGW-w64 (as of 2016-02-14)
-#define BOOST_DETAIL_WINAPI_HAS_UNDECORATESYMBOLNAMEW
-#endif
-#elif defined(_MSC_VER) && _MSC_VER >= 1500
-// Until MSVC 9.0 Windows SDK was bundled in Visual Studio and didn't have UnDecorateSymbolNameW.
-// Supposedly, Windows SDK 6.0A was the first standalone one and it is used with MSVC 9.0.
-#define BOOST_DETAIL_WINAPI_HAS_UNDECORATESYMBOLNAMEW
-#elif !defined(BOOST_WINAPI_IS_MINGW)
-// MinGW does not provide UnDecorateSymbolNameW (as of 2016-02-14)
-#define BOOST_DETAIL_WINAPI_HAS_UNDECORATESYMBOLNAMEW
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-struct API_VERSION;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-UnDecorateSymbolName(
-    boost::detail::winapi::LPCSTR_ DecoratedName,
-    boost::detail::winapi::LPSTR_ UnDecoratedName,
-    boost::detail::winapi::DWORD_ UndecoratedLength,
-    boost::detail::winapi::DWORD_ Flags);
-
-#if defined( BOOST_DETAIL_WINAPI_HAS_UNDECORATESYMBOLNAMEW )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-UnDecorateSymbolNameW(
-    boost::detail::winapi::LPCWSTR_ DecoratedName,
-    boost::detail::winapi::LPWSTR_ UnDecoratedName,
-    boost::detail::winapi::DWORD_ UndecoratedLength,
-    boost::detail::winapi::DWORD_ Flags);
-#endif
-
-BOOST_SYMBOL_IMPORT API_VERSION* WINAPI
-ImagehlpApiVersion(BOOST_DETAIL_WINAPI_VOID);
-
-} // extern "C"
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ UNDNAME_COMPLETE_ = UNDNAME_COMPLETE;
-const DWORD_ UNDNAME_NO_LEADING_UNDERSCORES_ = UNDNAME_NO_LEADING_UNDERSCORES;
-const DWORD_ UNDNAME_NO_MS_KEYWORDS_ = UNDNAME_NO_MS_KEYWORDS;
-const DWORD_ UNDNAME_NO_FUNCTION_RETURNS_ = UNDNAME_NO_FUNCTION_RETURNS;
-const DWORD_ UNDNAME_NO_ALLOCATION_MODEL_ = UNDNAME_NO_ALLOCATION_MODEL;
-const DWORD_ UNDNAME_NO_ALLOCATION_LANGUAGE_ = UNDNAME_NO_ALLOCATION_LANGUAGE;
-const DWORD_ UNDNAME_NO_MS_THISTYPE_ = UNDNAME_NO_MS_THISTYPE;
-const DWORD_ UNDNAME_NO_CV_THISTYPE_ = UNDNAME_NO_CV_THISTYPE;
-const DWORD_ UNDNAME_NO_THISTYPE_ = UNDNAME_NO_THISTYPE;
-const DWORD_ UNDNAME_NO_ACCESS_SPECIFIERS_ = UNDNAME_NO_ACCESS_SPECIFIERS;
-const DWORD_ UNDNAME_NO_THROW_SIGNATURES_ = UNDNAME_NO_THROW_SIGNATURES;
-const DWORD_ UNDNAME_NO_MEMBER_TYPE_ = UNDNAME_NO_MEMBER_TYPE;
-const DWORD_ UNDNAME_NO_RETURN_UDT_MODEL_ = UNDNAME_NO_RETURN_UDT_MODEL;
-const DWORD_ UNDNAME_32_BIT_DECODE_ = UNDNAME_32_BIT_DECODE;
-const DWORD_ UNDNAME_NAME_ONLY_ = UNDNAME_NAME_ONLY;
-const DWORD_ UNDNAME_NO_ARGUMENTS_ = UNDNAME_NO_ARGUMENTS;
-const DWORD_ UNDNAME_NO_SPECIAL_SYMS_ = UNDNAME_NO_SPECIAL_SYMS;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ UNDNAME_COMPLETE_ = 0x00000000;
-const DWORD_ UNDNAME_NO_LEADING_UNDERSCORES_ = 0x00000001;
-const DWORD_ UNDNAME_NO_MS_KEYWORDS_ = 0x00000002;
-const DWORD_ UNDNAME_NO_FUNCTION_RETURNS_ = 0x00000004;
-const DWORD_ UNDNAME_NO_ALLOCATION_MODEL_ = 0x00000008;
-const DWORD_ UNDNAME_NO_ALLOCATION_LANGUAGE_ = 0x00000010;
-const DWORD_ UNDNAME_NO_MS_THISTYPE_ = 0x00000020;
-const DWORD_ UNDNAME_NO_CV_THISTYPE_ = 0x00000040;
-const DWORD_ UNDNAME_NO_THISTYPE_ = 0x00000060;
-const DWORD_ UNDNAME_NO_ACCESS_SPECIFIERS_ = 0x00000080;
-const DWORD_ UNDNAME_NO_THROW_SIGNATURES_ = 0x00000100;
-const DWORD_ UNDNAME_NO_MEMBER_TYPE_ = 0x00000200;
-const DWORD_ UNDNAME_NO_RETURN_UDT_MODEL_ = 0x00000400;
-const DWORD_ UNDNAME_32_BIT_DECODE_ = 0x00000800;
-const DWORD_ UNDNAME_NAME_ONLY_ = 0x00001000;
-const DWORD_ UNDNAME_NO_ARGUMENTS_ = 0x00002000;
-const DWORD_ UNDNAME_NO_SPECIAL_SYMS_ = 0x00004000;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-using ::UnDecorateSymbolName;
-#if defined( BOOST_DETAIL_WINAPI_HAS_UNDECORATESYMBOLNAMEW )
-using ::UnDecorateSymbolNameW;
-#endif
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS API_VERSION {
-    USHORT_  MajorVersion;
-    USHORT_  MinorVersion;
-    USHORT_  Revision;
-    USHORT_  Reserved;
-} API_VERSION_, *LPAPI_VERSION_;
-
-BOOST_FORCEINLINE LPAPI_VERSION_ ImagehlpApiVersion()
-{
-    return reinterpret_cast<LPAPI_VERSION_>(::ImagehlpApiVersion());
-}
-
-BOOST_FORCEINLINE DWORD_ undecorate_symbol_name(
-    LPCSTR_ DecoratedName,
-    LPSTR_ UnDecoratedName,
-    DWORD_ UndecoratedLength,
-    DWORD_ Flags)
-{
-    return ::UnDecorateSymbolName(
-        DecoratedName,
-        UnDecoratedName,
-        UndecoratedLength,
-        Flags);
-}
-
-#if defined( BOOST_DETAIL_WINAPI_HAS_UNDECORATESYMBOLNAMEW )
-
-BOOST_FORCEINLINE DWORD_ undecorate_symbol_name(
-    LPCWSTR_ DecoratedName,
-    LPWSTR_ UnDecoratedName,
-    DWORD_ UndecoratedLength,
-    DWORD_ Flags)
-{
-    return ::UnDecorateSymbolNameW(
-        DecoratedName,
-        UnDecoratedName,
-        UndecoratedLength,
-        Flags);
-}
-
-#endif
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_DBGHELP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/detail/cast_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/detail/cast_ptr.hpp
deleted file mode 100644
index 261007e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/detail/cast_ptr.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  cast_ptr.hpp  --------------------------------------------------------------//
-
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_DETAIL_CAST_PTR_HPP
-#define BOOST_DETAIL_WINAPI_DETAIL_CAST_PTR_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-namespace detail {
-
-//! This class is used to automatically cast pointers to the type used in the current Windows SDK function declarations
-class cast_ptr
-{
-private:
-    const void* m_p;
-
-public:
-    explicit BOOST_FORCEINLINE cast_ptr(const void* p) BOOST_NOEXCEPT : m_p(p) {}
-    template< typename T >
-    BOOST_FORCEINLINE operator T* () const BOOST_NOEXCEPT { return (T*)m_p; }
-};
-
-}
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_DETAIL_CAST_PTR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/directory_management.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/directory_management.hpp
deleted file mode 100644
index 1da53c3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/directory_management.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-//  directory_management.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP
-#define BOOST_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/get_system_directory.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-    CreateDirectoryA(boost::detail::winapi::LPCSTR_, ::_SECURITY_ATTRIBUTES*);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-    GetTempPathA(boost::detail::winapi::DWORD_ length, boost::detail::winapi::LPSTR_ buffer);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-    RemoveDirectoryA(boost::detail::winapi::LPCSTR_);
-#endif
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-    CreateDirectoryW(boost::detail::winapi::LPCWSTR_, ::_SECURITY_ATTRIBUTES*);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-    GetTempPathW(boost::detail::winapi::DWORD_ length, boost::detail::winapi::LPWSTR_ buffer);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-    RemoveDirectoryW(boost::detail::winapi::LPCWSTR_);
-}    
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::GetTempPathA;
-using ::RemoveDirectoryA;
-#endif
-using ::GetTempPathW;
-using ::RemoveDirectoryW;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE BOOL_ CreateDirectoryA(LPCSTR_ pPathName, PSECURITY_ATTRIBUTES_ pSecurityAttributes)
-{
-    return ::CreateDirectoryA(pPathName, reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(pSecurityAttributes));
-}
-#endif
-
-BOOST_FORCEINLINE BOOL_ CreateDirectoryW(LPCWSTR_ pPathName, PSECURITY_ATTRIBUTES_ pSecurityAttributes)
-{
-    return ::CreateDirectoryW(pPathName, reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(pSecurityAttributes));
-}
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE BOOL_ create_directory(LPCSTR_ pPathName, PSECURITY_ATTRIBUTES_ pSecurityAttributes)
-{
-    return ::CreateDirectoryA(pPathName, reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(pSecurityAttributes));
-}
-BOOST_FORCEINLINE DWORD_ get_temp_path(DWORD_ length, LPSTR_ buffer)
-{
-    return ::GetTempPathA(length, buffer);
-}
-BOOST_FORCEINLINE BOOL_ remove_directory(LPCSTR_ pPathName)
-{
-    return ::RemoveDirectoryA(pPathName);
-}
-#endif
-
-BOOST_FORCEINLINE BOOL_ create_directory(LPCWSTR_ pPathName, PSECURITY_ATTRIBUTES_ pSecurityAttributes)
-{
-    return ::CreateDirectoryW(pPathName, reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(pSecurityAttributes));
-}
-BOOST_FORCEINLINE DWORD_ get_temp_path(DWORD_ length, LPWSTR_ buffer)
-{
-    return ::GetTempPathW(length, buffer);
-}
-BOOST_FORCEINLINE BOOL_ remove_directory(LPCWSTR_ pPathName)
-{
-    return ::RemoveDirectoryW(pPathName);
-}
-
-} // namespace winapi
-} // namespace detail
-} // namespace boost
-
-#endif // BOOST_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/dll.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/dll.hpp
deleted file mode 100644
index 2872936..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/dll.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-//  dll.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2014 Renato Tegon Forti, Antony Polukhin
-//  Copyright 2015 Andrey Semashev
-//  Copyright 2015 Antony Polukhin
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_DLL_HPP
-#define BOOST_DETAIL_WINAPI_DLL_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-namespace boost { namespace detail { namespace winapi {
-#ifdef _WIN64
-typedef INT_PTR_ (WINAPI *FARPROC_)();
-typedef INT_PTR_ (WINAPI *NEARPROC_)();
-typedef INT_PTR_ (WINAPI *PROC_)();
-#else
-typedef int (WINAPI *FARPROC_)();
-typedef int (WINAPI *NEARPROC_)();
-typedef int (WINAPI *PROC_)();
-#endif // _WIN64
-}}} // namespace boost::detail::winapi
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HMODULE_ WINAPI
-LoadLibraryA(boost::detail::winapi::LPCSTR_ lpFileName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HMODULE_ WINAPI
-LoadLibraryExA(
-    boost::detail::winapi::LPCSTR_ lpFileName,
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::DWORD_ dwFlags
-);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HMODULE_ WINAPI
-GetModuleHandleA(boost::detail::winapi::LPCSTR_ lpFileName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetModuleFileNameA(
-    boost::detail::winapi::HMODULE_ hModule,
-    boost::detail::winapi::LPSTR_ lpFilename,
-    boost::detail::winapi::DWORD_ nSize
-);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HMODULE_ WINAPI
-LoadLibraryW(boost::detail::winapi::LPCWSTR_ lpFileName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HMODULE_ WINAPI
-LoadLibraryExW(
-    boost::detail::winapi::LPCWSTR_ lpFileName,
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::DWORD_ dwFlags
-);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HMODULE_ WINAPI
-GetModuleHandleW(boost::detail::winapi::LPCWSTR_ lpFileName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetModuleFileNameW(
-    boost::detail::winapi::HMODULE_ hModule,
-    boost::detail::winapi::LPWSTR_ lpFilename,
-    boost::detail::winapi::DWORD_ nSize
-);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FreeLibrary(boost::detail::winapi::HMODULE_ hModule);
-
-#if !defined( UNDER_CE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::FARPROC_ WINAPI
-GetProcAddress(boost::detail::winapi::HMODULE_ hModule, boost::detail::winapi::LPCSTR_ lpProcName);
-#else
-// On Windows CE there are two functions: GetProcAddressA (since Windows CE 3.0) and GetProcAddressW.
-// GetProcAddress is a macro that is _always_ defined to GetProcAddressW.
-BOOST_SYMBOL_IMPORT boost::detail::winapi::FARPROC_ WINAPI
-GetProcAddressA(boost::detail::winapi::HMODULE_ hModule, boost::detail::winapi::LPCSTR_ lpProcName);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::FARPROC_ WINAPI
-GetProcAddressW(boost::detail::winapi::HMODULE_ hModule, boost::detail::winapi::LPCWSTR_ lpProcName);
-#endif
-
-struct _MEMORY_BASIC_INFORMATION;
-
-#if !defined( BOOST_WINAPI_IS_MINGW )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::SIZE_T_ WINAPI
-VirtualQuery(
-    boost::detail::winapi::LPCVOID_ lpAddress,
-    ::_MEMORY_BASIC_INFORMATION* lpBuffer,
-    boost::detail::winapi::ULONG_PTR_ dwLength
-);
-#else // !defined( BOOST_WINAPI_IS_MINGW )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-VirtualQuery(
-    boost::detail::winapi::LPCVOID_ lpAddress,
-    ::_MEMORY_BASIC_INFORMATION* lpBuffer,
-    boost::detail::winapi::DWORD_ dwLength
-);
-#endif // !defined( BOOST_WINAPI_IS_MINGW )
-} // extern "C"
-#endif // #if !defined( BOOST_USE_WINDOWS_H )
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS MEMORY_BASIC_INFORMATION_ {
-    PVOID_  BaseAddress;
-    PVOID_  AllocationBase;
-    DWORD_  AllocationProtect;
-    SIZE_T_ RegionSize;
-    DWORD_  State;
-    DWORD_  Protect;
-    DWORD_  Type;
-} *PMEMORY_BASIC_INFORMATION_;
-
-#if defined( BOOST_USE_WINDOWS_H )
-typedef ::FARPROC FARPROC_;
-typedef ::NEARPROC NEARPROC_;
-typedef ::PROC PROC_;
-
-const DWORD_ DONT_RESOLVE_DLL_REFERENCES_           = DONT_RESOLVE_DLL_REFERENCES;
-const DWORD_ LOAD_WITH_ALTERED_SEARCH_PATH_         = LOAD_WITH_ALTERED_SEARCH_PATH;
-#else // defined( BOOST_USE_WINDOWS_H )
-const DWORD_ DONT_RESOLVE_DLL_REFERENCES_           = 0x00000001;
-const DWORD_ LOAD_WITH_ALTERED_SEARCH_PATH_         = 0x00000008;
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// This one is not defined by MinGW
-const DWORD_ LOAD_IGNORE_CODE_AUTHZ_LEVEL_          = 0x00000010;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::LoadLibraryA;
-using ::LoadLibraryExA;
-using ::GetModuleHandleA;
-using ::GetModuleFileNameA;
-#endif // !defined( BOOST_NO_ANSI_APIS )
-using ::LoadLibraryW;
-using ::LoadLibraryExW;
-using ::GetModuleHandleW;
-using ::GetModuleFileNameW;
-using ::FreeLibrary;
-
-#if !defined( UNDER_CE )
-// For backward compatibility, don't use directly. Use get_proc_address instead.
-using ::GetProcAddress;
-#else
-using ::GetProcAddressA;
-using ::GetProcAddressW;
-#endif
-
-BOOST_FORCEINLINE FARPROC_ get_proc_address(HMODULE_ hModule, LPCSTR_ lpProcName)
-{
-#if !defined( UNDER_CE )
-    return ::GetProcAddress(hModule, lpProcName);
-#else
-    return ::GetProcAddressA(hModule, lpProcName);
-#endif
-}
-
-BOOST_FORCEINLINE SIZE_T_ VirtualQuery(LPCVOID_ lpAddress, MEMORY_BASIC_INFORMATION_* lpBuffer, ULONG_PTR_ dwLength)
-{
-    return ::VirtualQuery(lpAddress, reinterpret_cast< ::_MEMORY_BASIC_INFORMATION* >(lpBuffer), dwLength);
-}
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HMODULE_ load_library(LPCSTR_ lpFileName)
-{
-    return ::LoadLibraryA(lpFileName);
-}
-
-BOOST_FORCEINLINE HMODULE_ load_library_ex(LPCSTR_ lpFileName, HANDLE_ hFile, DWORD_ dwFlags)
-{
-    return ::LoadLibraryExA(lpFileName, hFile, dwFlags);
-}
-
-BOOST_FORCEINLINE HMODULE_ get_module_handle(LPCSTR_ lpFileName)
-{
-    return ::GetModuleHandleA(lpFileName);
-}
-
-BOOST_FORCEINLINE DWORD_ get_module_file_name(HMODULE_ hModule, LPSTR_ lpFilename, DWORD_ nSize)
-{
-    return ::GetModuleFileNameA(hModule, lpFilename, nSize);
-}
-#endif // #if !defined( BOOST_NO_ANSI_APIS )
-
-BOOST_FORCEINLINE HMODULE_ load_library(LPCWSTR_ lpFileName)
-{
-    return ::LoadLibraryW(lpFileName);
-}
-
-BOOST_FORCEINLINE HMODULE_ load_library_ex(LPCWSTR_ lpFileName, HANDLE_ hFile, DWORD_ dwFlags)
-{
-    return ::LoadLibraryExW(lpFileName, hFile, dwFlags);
-}
-
-BOOST_FORCEINLINE HMODULE_ get_module_handle(LPCWSTR_ lpFileName)
-{
-    return ::GetModuleHandleW(lpFileName);
-}
-
-BOOST_FORCEINLINE DWORD_ get_module_file_name(HMODULE_ hModule, LPWSTR_ lpFilename, DWORD_ nSize)
-{
-    return ::GetModuleFileNameW(hModule, lpFilename, nSize);
-}
-
-} // namespace winapi
-} // namespace detail
-} // namespace boost
-
-#endif // BOOST_DETAIL_WINAPI_DLL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/error_handling.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/error_handling.hpp
deleted file mode 100644
index 4847bc9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/error_handling.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-//  error_handling.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-//  Copyright 2016 Jorge Lodos
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP
-#define BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP
-
-#include <stdarg.h>
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/get_last_error.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-FormatMessageA(
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPCVOID_ lpSource,
-    boost::detail::winapi::DWORD_ dwMessageId,
-    boost::detail::winapi::DWORD_ dwLanguageId,
-    boost::detail::winapi::LPSTR_ lpBuffer,
-    boost::detail::winapi::DWORD_ nSize,
-    va_list *Arguments);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-FormatMessageW(
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPCVOID_ lpSource,
-    boost::detail::winapi::DWORD_ dwMessageId,
-    boost::detail::winapi::DWORD_ dwLanguageId,
-    boost::detail::winapi::LPWSTR_ lpBuffer,
-    boost::detail::winapi::DWORD_ nSize,
-    va_list *Arguments);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::UINT_ WINAPI
-SetErrorMode(boost::detail::winapi::UINT_ uMode);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ FORMAT_MESSAGE_ALLOCATE_BUFFER_= FORMAT_MESSAGE_ALLOCATE_BUFFER;
-const DWORD_ FORMAT_MESSAGE_IGNORE_INSERTS_=  FORMAT_MESSAGE_IGNORE_INSERTS;
-const DWORD_ FORMAT_MESSAGE_FROM_STRING_=     FORMAT_MESSAGE_FROM_STRING;
-const DWORD_ FORMAT_MESSAGE_FROM_HMODULE_=    FORMAT_MESSAGE_FROM_HMODULE;
-const DWORD_ FORMAT_MESSAGE_FROM_SYSTEM_=     FORMAT_MESSAGE_FROM_SYSTEM;
-const DWORD_ FORMAT_MESSAGE_ARGUMENT_ARRAY_=  FORMAT_MESSAGE_ARGUMENT_ARRAY;
-const DWORD_ FORMAT_MESSAGE_MAX_WIDTH_MASK_=  FORMAT_MESSAGE_MAX_WIDTH_MASK;
-
-const WORD_ LANG_NEUTRAL_=                  LANG_NEUTRAL;
-const WORD_ LANG_INVARIANT_=                LANG_INVARIANT;
-
-const WORD_ SUBLANG_DEFAULT_=               SUBLANG_DEFAULT;    // user default
-
-BOOST_FORCEINLINE WORD_ MAKELANGID_(WORD_ p, WORD_ s)
-{
-    return MAKELANGID(p,s);
-}
-
-const DWORD_ SEM_FAILCRITICALERRORS_ =     SEM_FAILCRITICALERRORS;
-const DWORD_ SEM_NOGPFAULTERRORBOX_ =      SEM_NOGPFAULTERRORBOX;
-const DWORD_ SEM_NOALIGNMENTFAULTEXCEPT_ = SEM_NOALIGNMENTFAULTEXCEPT;
-const DWORD_ SEM_NOOPENFILEERRORBOX_ =     SEM_NOOPENFILEERRORBOX;
-
-#else
-
-const DWORD_ FORMAT_MESSAGE_ALLOCATE_BUFFER_= 0x00000100;
-const DWORD_ FORMAT_MESSAGE_IGNORE_INSERTS_=  0x00000200;
-const DWORD_ FORMAT_MESSAGE_FROM_STRING_=     0x00000400;
-const DWORD_ FORMAT_MESSAGE_FROM_HMODULE_=    0x00000800;
-const DWORD_ FORMAT_MESSAGE_FROM_SYSTEM_=     0x00001000;
-const DWORD_ FORMAT_MESSAGE_ARGUMENT_ARRAY_=  0x00002000;
-const DWORD_ FORMAT_MESSAGE_MAX_WIDTH_MASK_=  0x000000FF;
-
-const WORD_ LANG_NEUTRAL_=                  0x00;
-const WORD_ LANG_INVARIANT_=                0x7f;
-
-const WORD_ SUBLANG_DEFAULT_=               0x01;    // user default
-
-BOOST_FORCEINLINE WORD_ MAKELANGID_(WORD_ p, WORD_ s)
-{
-    return (WORD_)((((WORD_)(s)) << 10) | (WORD_)(p));
-}
-
-const DWORD_ SEM_FAILCRITICALERRORS_ =     0x0001;
-const DWORD_ SEM_NOGPFAULTERRORBOX_ =      0x0002;
-const DWORD_ SEM_NOALIGNMENTFAULTEXCEPT_ = 0x0004;
-const DWORD_ SEM_NOOPENFILEERRORBOX_ =     0x8000;
-
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::FormatMessageA;
-#endif
-using ::FormatMessageW;
-using ::SetErrorMode;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE DWORD_ format_message(
-    DWORD_ dwFlags,
-    LPCVOID_ lpSource,
-    DWORD_ dwMessageId,
-    DWORD_ dwLanguageId,
-    LPSTR_ lpBuffer,
-    DWORD_ nSize,
-    va_list *Arguments)
-{
-    return ::FormatMessageA(dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments);
-}
-#endif
-
-BOOST_FORCEINLINE DWORD_ format_message(
-    DWORD_ dwFlags,
-    LPCVOID_ lpSource,
-    DWORD_ dwMessageId,
-    DWORD_ dwLanguageId,
-    LPWSTR_ lpBuffer,
-    DWORD_ nSize,
-    va_list *Arguments)
-{
-    return ::FormatMessageW(dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/event.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/event.hpp
deleted file mode 100644
index 64ee892..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/event.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-//  event.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_EVENT_HPP
-#define BOOST_DETAIL_WINAPI_EVENT_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-#if !defined( BOOST_PLAT_WINDOWS_RUNTIME_AVALIABLE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateEventA(
-    ::_SECURITY_ATTRIBUTES* lpEventAttributes,
-    boost::detail::winapi::BOOL_ bManualReset,
-    boost::detail::winapi::BOOL_ bInitialState,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateEventExA(
-    ::_SECURITY_ATTRIBUTES *lpEventAttributes,
-    boost::detail::winapi::LPCSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwDesiredAccess);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenEventA(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateEventW(
-    ::_SECURITY_ATTRIBUTES* lpEventAttributes,
-    boost::detail::winapi::BOOL_ bManualReset,
-    boost::detail::winapi::BOOL_ bInitialState,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateEventExW(
-    ::_SECURITY_ATTRIBUTES *lpEventAttributes,
-    boost::detail::winapi::LPCWSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwDesiredAccess);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenEventW(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-// Windows CE define SetEvent/ResetEvent as inline functions in kfuncs.h
-#if !defined( UNDER_CE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetEvent(boost::detail::winapi::HANDLE_ hEvent);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-ResetEvent(boost::detail::winapi::HANDLE_ hEvent);
-#endif
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::OpenEventA;
-#endif
-using ::OpenEventW;
-using ::SetEvent;
-using ::ResetEvent;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ EVENT_ALL_ACCESS_ = EVENT_ALL_ACCESS;
-const DWORD_ EVENT_MODIFY_STATE_ = EVENT_MODIFY_STATE;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ CREATE_EVENT_INITIAL_SET_ = CREATE_EVENT_INITIAL_SET;
-const DWORD_ CREATE_EVENT_MANUAL_RESET_ = CREATE_EVENT_MANUAL_RESET;
-#endif
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ EVENT_ALL_ACCESS_ = 0x001F0003;
-const DWORD_ EVENT_MODIFY_STATE_ = 0x00000002;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ CREATE_EVENT_INITIAL_SET_ = 0x00000002;
-const DWORD_ CREATE_EVENT_MANUAL_RESET_ = 0x00000001;
-#endif
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// Undocumented and not present in Windows SDK. Enables NtQueryEvent.
-// http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FNT%20Objects%2FEvent%2FNtQueryEvent.html
-const DWORD_ EVENT_QUERY_STATE_ = 0x00000001;
-
-const DWORD_ event_all_access = EVENT_ALL_ACCESS_;
-const DWORD_ event_modify_state = EVENT_MODIFY_STATE_;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ create_event_initial_set = CREATE_EVENT_INITIAL_SET_;
-const DWORD_ create_event_manual_reset = CREATE_EVENT_MANUAL_RESET_;
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateEventA(SECURITY_ATTRIBUTES_* lpEventAttributes, BOOL_ bManualReset, BOOL_ bInitialState, LPCSTR_ lpName)
-{
-#if BOOST_PLAT_WINDOWS_RUNTIME && BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-    const DWORD_ flags = (bManualReset ? create_event_manual_reset : 0u) | (bInitialState ? create_event_initial_set : 0u);
-    return ::CreateEventExA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpEventAttributes), lpName, flags, event_all_access);
-#else
-    return ::CreateEventA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpEventAttributes), bManualReset, bInitialState, lpName);
-#endif
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE HANDLE_ CreateEventExA(SECURITY_ATTRIBUTES_* lpEventAttributes, LPCSTR_ lpName, DWORD_ dwFlags, DWORD_ dwDesiredAccess)
-{
-    return ::CreateEventExA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpEventAttributes), lpName, dwFlags, dwDesiredAccess);
-}
-#endif
-#endif
-
-BOOST_FORCEINLINE HANDLE_ CreateEventW(SECURITY_ATTRIBUTES_* lpEventAttributes, BOOL_ bManualReset, BOOL_ bInitialState, LPCWSTR_ lpName)
-{
-#if BOOST_PLAT_WINDOWS_RUNTIME && BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-    const DWORD_ flags = (bManualReset ? create_event_manual_reset : 0u) | (bInitialState ? create_event_initial_set : 0u);
-    return ::CreateEventExW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpEventAttributes), lpName, flags, event_all_access);
-#else
-    return ::CreateEventW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpEventAttributes), bManualReset, bInitialState, lpName);
-#endif
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE HANDLE_ CreateEventExW(SECURITY_ATTRIBUTES_* lpEventAttributes, LPCWSTR_ lpName, DWORD_ dwFlags, DWORD_ dwDesiredAccess)
-{
-    return ::CreateEventExW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpEventAttributes), lpName, dwFlags, dwDesiredAccess);
-}
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ create_event(SECURITY_ATTRIBUTES_* lpEventAttributes, BOOL_ bManualReset, BOOL_ bInitialState, LPCSTR_ lpName)
-{
-    return winapi::CreateEventA(lpEventAttributes, bManualReset, bInitialState, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_event(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName)
-{
-    return ::OpenEventA(dwDesiredAccess, bInheritHandle, lpName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ create_event(SECURITY_ATTRIBUTES_* lpEventAttributes, BOOL_ bManualReset, BOOL_ bInitialState, LPCWSTR_ lpName)
-{
-    return winapi::CreateEventW(lpEventAttributes, bManualReset, bInitialState, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_event(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName)
-{
-    return ::OpenEventW(dwDesiredAccess, bInheritHandle, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ create_anonymous_event(SECURITY_ATTRIBUTES_* lpEventAttributes, BOOL_ bManualReset, BOOL_ bInitialState)
-{
-    return winapi::CreateEventW(lpEventAttributes, bManualReset, bInitialState, 0);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_EVENT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/file_management.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/file_management.hpp
deleted file mode 100644
index 308535e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/file_management.hpp
+++ /dev/null
@@ -1,493 +0,0 @@
-//  file_management.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-//  Copyright 2016 Jorge Lodos
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_FILE_MANAGEMENT_HPP
-#define BOOST_DETAIL_WINAPI_FILE_MANAGEMENT_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/limits.hpp>
-#include <boost/detail/winapi/time.hpp>
-#include <boost/detail/winapi/overlapped.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateFileA(
-    boost::detail::winapi::LPCSTR_ lpFileName,
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::DWORD_ dwShareMode,
-    ::_SECURITY_ATTRIBUTES* lpSecurityAttributes,
-    boost::detail::winapi::DWORD_ dwCreationDisposition,
-    boost::detail::winapi::DWORD_ dwFlagsAndAttributes,
-    boost::detail::winapi::HANDLE_ hTemplateFile);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-DeleteFileA(boost::detail::winapi::LPCSTR_ lpFileName);
-
-struct _WIN32_FIND_DATAA;
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-FindFirstFileA(boost::detail::winapi::LPCSTR_ lpFileName, ::_WIN32_FIND_DATAA* lpFindFileData);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FindNextFileA(boost::detail::winapi::HANDLE_ hFindFile, ::_WIN32_FIND_DATAA* lpFindFileData);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-MoveFileExA(
-    boost::detail::winapi::LPCSTR_ lpExistingFileName,
-    boost::detail::winapi::LPCSTR_ lpNewFileName,
-    boost::detail::winapi::DWORD_ dwFlags);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetFileAttributesA(boost::detail::winapi::LPCSTR_ lpFileName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-AreFileApisANSI(BOOST_DETAIL_WINAPI_VOID);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateFileW(
-    boost::detail::winapi::LPCWSTR_ lpFileName,
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::DWORD_ dwShareMode,
-    ::_SECURITY_ATTRIBUTES* lpSecurityAttributes,
-    boost::detail::winapi::DWORD_ dwCreationDisposition,
-    boost::detail::winapi::DWORD_ dwFlagsAndAttributes,
-    boost::detail::winapi::HANDLE_ hTemplateFile);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-DeleteFileW(boost::detail::winapi::LPCWSTR_ lpFileName);
-
-struct _WIN32_FIND_DATAW;
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-FindFirstFileW(boost::detail::winapi::LPCWSTR_ lpFileName, ::_WIN32_FIND_DATAW* lpFindFileData);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FindNextFileW(boost::detail::winapi::HANDLE_ hFindFile, ::_WIN32_FIND_DATAW* lpFindFileData);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-MoveFileExW(
-    boost::detail::winapi::LPCWSTR_ lpExistingFileName,
-    boost::detail::winapi::LPCWSTR_ lpNewFileName,
-    boost::detail::winapi::DWORD_ dwFlags);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetFileAttributesW(boost::detail::winapi::LPCWSTR_ lpFileName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FindClose(boost::detail::winapi::HANDLE_ hFindFile);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-GetFileSizeEx(boost::detail::winapi::HANDLE_ hFile, ::_LARGE_INTEGER* lpFileSize);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WINXP
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetFileValidData(boost::detail::winapi::HANDLE_ hFile, boost::detail::winapi::LONGLONG_ ValidDataLength);
-
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetEndOfFile(boost::detail::winapi::HANDLE_ hFile);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-LockFile(
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::DWORD_ dwFileOffsetLow,
-    boost::detail::winapi::DWORD_ dwFileOffsetHigh,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToLockLow,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToLockHigh);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-UnlockFile(
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::DWORD_ dwFileOffsetLow,
-    boost::detail::winapi::DWORD_ dwFileOffsetHigh,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToUnlockLow,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToUnlockHigh);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-LockFileEx(
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwReserved,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToLockLow,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToLockHigh,
-    ::_OVERLAPPED* lpOverlapped);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-UnlockFileEx(
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::DWORD_ dwReserved,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToUnlockLow,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToUnlockHigh,
-    ::_OVERLAPPED* lpOverlapped);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-WriteFile(
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::LPCVOID_ lpBuffer,
-    boost::detail::winapi::DWORD_ nNumberOfBytesToWrite,
-    boost::detail::winapi::LPDWORD_ lpNumberOfBytesWritten,
-    ::_OVERLAPPED* lpOverlapped);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-SetFilePointer(
-    boost::detail::winapi::HANDLE_ hFile,
-    boost::detail::winapi::LONG_ lpDistanceToMove,
-    boost::detail::winapi::PLONG_ lpDistanceToMoveHigh,
-    boost::detail::winapi::DWORD_ dwMoveMethod);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ INVALID_FILE_SIZE_ = INVALID_FILE_SIZE;
-const DWORD_ INVALID_SET_FILE_POINTER_ = INVALID_SET_FILE_POINTER;
-const DWORD_ INVALID_FILE_ATTRIBUTES_ = INVALID_FILE_ATTRIBUTES;
-
-const DWORD_ FILE_ATTRIBUTE_READONLY_ = FILE_ATTRIBUTE_READONLY;
-const DWORD_ FILE_ATTRIBUTE_HIDDEN_ = FILE_ATTRIBUTE_HIDDEN;
-const DWORD_ FILE_ATTRIBUTE_SYSTEM_ = FILE_ATTRIBUTE_SYSTEM;
-const DWORD_ FILE_ATTRIBUTE_DIRECTORY_ = FILE_ATTRIBUTE_DIRECTORY;
-const DWORD_ FILE_ATTRIBUTE_ARCHIVE_ = FILE_ATTRIBUTE_ARCHIVE;
-const DWORD_ FILE_ATTRIBUTE_DEVICE_ = FILE_ATTRIBUTE_DEVICE;
-const DWORD_ FILE_ATTRIBUTE_NORMAL_ = FILE_ATTRIBUTE_NORMAL;
-const DWORD_ FILE_ATTRIBUTE_TEMPORARY_ = FILE_ATTRIBUTE_TEMPORARY;
-const DWORD_ FILE_ATTRIBUTE_SPARSE_FILE_ = FILE_ATTRIBUTE_SPARSE_FILE;
-const DWORD_ FILE_ATTRIBUTE_REPARSE_POINT_ = FILE_ATTRIBUTE_REPARSE_POINT;
-const DWORD_ FILE_ATTRIBUTE_COMPRESSED_ = FILE_ATTRIBUTE_COMPRESSED;
-const DWORD_ FILE_ATTRIBUTE_OFFLINE_ = FILE_ATTRIBUTE_OFFLINE;
-const DWORD_ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED_ = FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
-const DWORD_ FILE_ATTRIBUTE_ENCRYPTED_ = FILE_ATTRIBUTE_ENCRYPTED;
-
-const DWORD_ CREATE_NEW_ = CREATE_NEW;
-const DWORD_ CREATE_ALWAYS_ = CREATE_ALWAYS;
-const DWORD_ OPEN_EXISTING_ = OPEN_EXISTING;
-const DWORD_ OPEN_ALWAYS_ = OPEN_ALWAYS;
-const DWORD_ TRUNCATE_EXISTING_ = TRUNCATE_EXISTING;
-
-const DWORD_ FILE_SHARE_READ_ = FILE_SHARE_READ;
-const DWORD_ FILE_SHARE_WRITE_ = FILE_SHARE_WRITE;
-const DWORD_ FILE_SHARE_DELETE_ = FILE_SHARE_DELETE;
-
-const DWORD_ FILE_BEGIN_ = FILE_BEGIN;
-const DWORD_ FILE_CURRENT_ = FILE_CURRENT;
-const DWORD_ FILE_END_ = FILE_END;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ INVALID_FILE_SIZE_ = ((DWORD_)0xFFFFFFFF);
-const DWORD_ INVALID_SET_FILE_POINTER_ = ((DWORD_)-1);
-const DWORD_ INVALID_FILE_ATTRIBUTES_ = ((DWORD_)-1);
-
-const DWORD_ FILE_ATTRIBUTE_READONLY_ = 0x00000001;
-const DWORD_ FILE_ATTRIBUTE_HIDDEN_ = 0x00000002;
-const DWORD_ FILE_ATTRIBUTE_SYSTEM_ = 0x00000004;
-const DWORD_ FILE_ATTRIBUTE_DIRECTORY_ = 0x00000010;
-const DWORD_ FILE_ATTRIBUTE_ARCHIVE_ = 0x00000020;
-const DWORD_ FILE_ATTRIBUTE_DEVICE_ = 0x00000040;
-const DWORD_ FILE_ATTRIBUTE_NORMAL_ = 0x00000080;
-const DWORD_ FILE_ATTRIBUTE_TEMPORARY_ = 0x00000100;
-const DWORD_ FILE_ATTRIBUTE_SPARSE_FILE_ = 0x00000200;
-const DWORD_ FILE_ATTRIBUTE_REPARSE_POINT_ = 0x00000400;
-const DWORD_ FILE_ATTRIBUTE_COMPRESSED_ = 0x00000800;
-const DWORD_ FILE_ATTRIBUTE_OFFLINE_ = 0x00001000;
-const DWORD_ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED_ = 0x00002000;
-const DWORD_ FILE_ATTRIBUTE_ENCRYPTED_ = 0x00004000;
-
-const DWORD_ CREATE_NEW_ = 1;
-const DWORD_ CREATE_ALWAYS_ = 2;
-const DWORD_ OPEN_EXISTING_ = 3;
-const DWORD_ OPEN_ALWAYS_ = 4;
-const DWORD_ TRUNCATE_EXISTING_ = 5;
-
-const DWORD_ FILE_SHARE_READ_ = 0x00000001;
-const DWORD_ FILE_SHARE_WRITE_ = 0x00000002;
-const DWORD_ FILE_SHARE_DELETE_ = 0x00000004;
-
-const DWORD_ FILE_BEGIN_ = 0;
-const DWORD_ FILE_CURRENT_ = 1;
-const DWORD_ FILE_END_ = 2;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// This constant is not defined in Windows SDK up until 6.0A
-const DWORD_ FILE_ATTRIBUTE_VIRTUAL_ = 0x00010000;
-
-// These constants are not defined in Windows SDK up until 8.0 and MinGW/MinGW-w64 (as of 2016-02-14).
-// They are documented to be supported only since Windows 8/Windows Server 2012
-// but defined unconditionally.
-const DWORD_ FILE_ATTRIBUTE_INTEGRITY_STREAM_ = 0x00008000;
-const DWORD_ FILE_ATTRIBUTE_NO_SCRUB_DATA_ = 0x00020000;
-// Undocumented
-const DWORD_ FILE_ATTRIBUTE_EA_ = 0x00040000;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::DeleteFileA;
-using ::MoveFileExA;
-using ::GetFileAttributesA;
-using ::AreFileApisANSI;
-#endif
-
-using ::DeleteFileW;
-using ::MoveFileExW;
-using ::GetFileAttributesW;
-
-using ::FindClose;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WINXP
-
-using ::SetFileValidData;
-
-#endif
-
-using ::SetEndOfFile;
-using ::LockFile;
-using ::UnlockFile;
-using ::SetFilePointer;
-
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateFileA(
-    LPCSTR_ lpFileName,
-    DWORD_ dwDesiredAccess,
-    DWORD_ dwShareMode,
-    SECURITY_ATTRIBUTES_* lpSecurityAttributes,
-    DWORD_ dwCreationDisposition,
-    DWORD_ dwFlagsAndAttributes,
-    HANDLE_ hTemplateFile)
-{
-    return ::CreateFileA(
-        lpFileName,
-        dwDesiredAccess,
-        dwShareMode,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes),
-        dwCreationDisposition,
-        dwFlagsAndAttributes,
-        hTemplateFile);
-}
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _WIN32_FIND_DATAA {
-    DWORD_ dwFileAttributes;
-    FILETIME_ ftCreationTime;
-    FILETIME_ ftLastAccessTime;
-    FILETIME_ ftLastWriteTime;
-    DWORD_ nFileSizeHigh;
-    DWORD_ nFileSizeLow;
-    DWORD_ dwReserved0;
-    DWORD_ dwReserved1;
-    CHAR_   cFileName[MAX_PATH_];
-    CHAR_   cAlternateFileName[14];
-#ifdef _MAC
-    DWORD_ dwFileType;
-    DWORD_ dwCreatorType;
-    WORD_  wFinderFlags;
-#endif
-} WIN32_FIND_DATAA_, *PWIN32_FIND_DATAA_, *LPWIN32_FIND_DATAA_;
-
-BOOST_FORCEINLINE HANDLE_ FindFirstFileA(LPCSTR_ lpFileName, WIN32_FIND_DATAA_* lpFindFileData)
-{
-    return ::FindFirstFileA(lpFileName, reinterpret_cast< ::_WIN32_FIND_DATAA* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ FindNextFileA(HANDLE_ hFindFile, WIN32_FIND_DATAA_* lpFindFileData)
-{
-    return ::FindNextFileA(hFindFile, reinterpret_cast< ::_WIN32_FIND_DATAA* >(lpFindFileData));
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ CreateFileW(
-    LPCWSTR_ lpFileName,
-    DWORD_ dwDesiredAccess,
-    DWORD_ dwShareMode,
-    SECURITY_ATTRIBUTES_* lpSecurityAttributes,
-    DWORD_ dwCreationDisposition,
-    DWORD_ dwFlagsAndAttributes,
-    HANDLE_ hTemplateFile)
-{
-    return ::CreateFileW(
-        lpFileName,
-        dwDesiredAccess,
-        dwShareMode,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes),
-        dwCreationDisposition,
-        dwFlagsAndAttributes,
-        hTemplateFile);
-}
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _WIN32_FIND_DATAW {
-    DWORD_ dwFileAttributes;
-    FILETIME_ ftCreationTime;
-    FILETIME_ ftLastAccessTime;
-    FILETIME_ ftLastWriteTime;
-    DWORD_ nFileSizeHigh;
-    DWORD_ nFileSizeLow;
-    DWORD_ dwReserved0;
-    DWORD_ dwReserved1;
-    WCHAR_  cFileName[MAX_PATH_];
-    WCHAR_  cAlternateFileName[14];
-#ifdef _MAC
-    DWORD_ dwFileType;
-    DWORD_ dwCreatorType;
-    WORD_  wFinderFlags;
-#endif
-} WIN32_FIND_DATAW_, *PWIN32_FIND_DATAW_, *LPWIN32_FIND_DATAW_;
-
-BOOST_FORCEINLINE HANDLE_ FindFirstFileW(LPCWSTR_ lpFileName, WIN32_FIND_DATAW_* lpFindFileData)
-{
-    return ::FindFirstFileW(lpFileName, reinterpret_cast< ::_WIN32_FIND_DATAW* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ FindNextFileW(HANDLE_ hFindFile, WIN32_FIND_DATAW_* lpFindFileData)
-{
-    return ::FindNextFileW(hFindFile, reinterpret_cast< ::_WIN32_FIND_DATAW* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ GetFileSizeEx(HANDLE_ hFile, LARGE_INTEGER_* lpFileSize)
-{
-    return ::GetFileSizeEx(hFile, reinterpret_cast< ::_LARGE_INTEGER* >(lpFileSize));
-}
-
-BOOST_FORCEINLINE BOOL_ LockFileEx(
-    HANDLE_ hFile,
-    DWORD_ dwFlags,
-    DWORD_ dwReserved,
-    DWORD_ nNumberOfBytesToLockLow,
-    DWORD_ nNumberOfBytesToLockHigh,
-    OVERLAPPED_* lpOverlapped)
-{
-    return ::LockFileEx(hFile, dwFlags, dwReserved, nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh, reinterpret_cast< ::_OVERLAPPED* >(lpOverlapped));
-}
-
-BOOST_FORCEINLINE BOOL_ UnlockFileEx(
-    HANDLE_ hFile,
-    DWORD_ dwReserved,
-    DWORD_ nNumberOfBytesToUnlockLow,
-    DWORD_ nNumberOfBytesToUnlockHigh,
-    OVERLAPPED_* lpOverlapped)
-{
-    return ::UnlockFileEx(hFile, dwReserved, nNumberOfBytesToUnlockLow, nNumberOfBytesToUnlockHigh, reinterpret_cast< ::_OVERLAPPED* >(lpOverlapped));
-}
-
-BOOST_FORCEINLINE BOOL_ WriteFile(
-    HANDLE_ hFile,
-    LPCVOID_ lpBuffer,
-    DWORD_ nNumberOfBytesToWrite,
-    LPDWORD_ lpNumberOfBytesWritten,
-    OVERLAPPED_* lpOverlapped)
-{
-    return ::WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, reinterpret_cast< ::_OVERLAPPED* >(lpOverlapped));
-};
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ create_file(
-    LPCSTR_ lpFileName,
-    DWORD_ dwDesiredAccess,
-    DWORD_ dwShareMode,
-    SECURITY_ATTRIBUTES_* lpSecurityAttributes,
-    DWORD_ dwCreationDisposition,
-    DWORD_ dwFlagsAndAttributes,
-    HANDLE_ hTemplateFile)
-{
-    return ::CreateFileA(
-        lpFileName,
-        dwDesiredAccess,
-        dwShareMode,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes),
-        dwCreationDisposition,
-        dwFlagsAndAttributes,
-        hTemplateFile);
-}
-
-BOOST_FORCEINLINE BOOL_ delete_file(LPCSTR_ lpFileName)
-{
-    return ::DeleteFileA(lpFileName);
-}
-
-BOOST_FORCEINLINE HANDLE_ find_first_file(LPCSTR_ lpFileName, WIN32_FIND_DATAA_* lpFindFileData)
-{
-    return ::FindFirstFileA(lpFileName, reinterpret_cast< ::_WIN32_FIND_DATAA* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ find_next_file(HANDLE_ hFindFile, WIN32_FIND_DATAA_* lpFindFileData)
-{
-    return ::FindNextFileA(hFindFile, reinterpret_cast< ::_WIN32_FIND_DATAA* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ move_file(LPCSTR_ lpExistingFileName, LPCSTR_ lpNewFileName, DWORD_ dwFlags)
-{
-    return ::MoveFileExA(lpExistingFileName, lpNewFileName, dwFlags);
-}
-
-BOOST_FORCEINLINE DWORD_ get_file_attributes(LPCSTR_ lpFileName)
-{
-    return ::GetFileAttributesA(lpFileName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ create_file(
-    LPCWSTR_ lpFileName,
-    DWORD_ dwDesiredAccess,
-    DWORD_ dwShareMode,
-    SECURITY_ATTRIBUTES_* lpSecurityAttributes,
-    DWORD_ dwCreationDisposition,
-    DWORD_ dwFlagsAndAttributes,
-    HANDLE_ hTemplateFile)
-{
-    return ::CreateFileW(
-        lpFileName,
-        dwDesiredAccess,
-        dwShareMode,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes),
-        dwCreationDisposition,
-        dwFlagsAndAttributes,
-        hTemplateFile);
-}
-
-BOOST_FORCEINLINE BOOL_ delete_file(LPCWSTR_ lpFileName)
-{
-    return ::DeleteFileW(lpFileName);
-}
-
-BOOST_FORCEINLINE HANDLE_ find_first_file(LPCWSTR_ lpFileName, WIN32_FIND_DATAW_* lpFindFileData)
-{
-    return ::FindFirstFileW(lpFileName, reinterpret_cast< ::_WIN32_FIND_DATAW* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ find_next_file(HANDLE_ hFindFile, WIN32_FIND_DATAW_* lpFindFileData)
-{
-    return ::FindNextFileW(hFindFile, reinterpret_cast< ::_WIN32_FIND_DATAW* >(lpFindFileData));
-}
-
-BOOST_FORCEINLINE BOOL_ move_file(LPCWSTR_ lpExistingFileName, LPCWSTR_ lpNewFileName, DWORD_ dwFlags)
-{
-    return ::MoveFileExW(lpExistingFileName, lpNewFileName, dwFlags);
-}
-
-BOOST_FORCEINLINE DWORD_ get_file_attributes(LPCWSTR_ lpFileName)
-{
-    return ::GetFileAttributesW(lpFileName);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_FILE_MANAGEMENT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/file_mapping.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/file_mapping.hpp
deleted file mode 100644
index 38c23d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/file_mapping.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-//  file_mapping.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-//  Copyright 2016 Jorge Lodos
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_FILE_MAPPING_HPP
-#define BOOST_DETAIL_WINAPI_FILE_MAPPING_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateFileMappingA(
-    boost::detail::winapi::HANDLE_ hFile,
-    ::_SECURITY_ATTRIBUTES* lpFileMappingAttributes,
-    boost::detail::winapi::DWORD_ flProtect,
-    boost::detail::winapi::DWORD_ dwMaximumSizeHigh,
-    boost::detail::winapi::DWORD_ dwMaximumSizeLow,
-    boost::detail::winapi::LPCSTR_ lpName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenFileMappingA(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateFileMappingW(
-    boost::detail::winapi::HANDLE_ hFile,
-    ::_SECURITY_ATTRIBUTES* lpFileMappingAttributes,
-    boost::detail::winapi::DWORD_ flProtect,
-    boost::detail::winapi::DWORD_ dwMaximumSizeHigh,
-    boost::detail::winapi::DWORD_ dwMaximumSizeLow,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenFileMappingW(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
-MapViewOfFile(
-    boost::detail::winapi::HANDLE_ hFileMappingObject,
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::DWORD_ dwFileOffsetHigh,
-    boost::detail::winapi::DWORD_ dwFileOffsetLow,
-    boost::detail::winapi::SIZE_T_ dwNumberOfBytesToMap);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
-MapViewOfFileEx(
-    boost::detail::winapi::HANDLE_ hFileMappingObject,
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::DWORD_ dwFileOffsetHigh,
-    boost::detail::winapi::DWORD_ dwFileOffsetLow,
-    boost::detail::winapi::SIZE_T_ dwNumberOfBytesToMap,
-    boost::detail::winapi::LPVOID_ lpBaseAddress);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FlushViewOfFile(
-    boost::detail::winapi::LPCVOID_ lpBaseAddress,
-    boost::detail::winapi::SIZE_T_ dwNumberOfBytesToFlush);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-UnmapViewOfFile(boost::detail::winapi::LPCVOID_ lpBaseAddress);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ SEC_FILE_ = SEC_FILE;
-const DWORD_ SEC_IMAGE_ = SEC_IMAGE;
-const DWORD_ SEC_RESERVE_ = SEC_RESERVE;
-const DWORD_ SEC_COMMIT_ = SEC_COMMIT;
-const DWORD_ SEC_NOCACHE_ = SEC_NOCACHE;
-
-// These permission flags are undocumented and some of them are equivalent to the FILE_MAP_* flags.
-// SECTION_QUERY enables NtQuerySection.
-// http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FNT%20Objects%2FSection%2FNtQuerySection.html
-const DWORD_ SECTION_QUERY_ = SECTION_QUERY;
-const DWORD_ SECTION_MAP_WRITE_ = SECTION_MAP_WRITE;
-const DWORD_ SECTION_MAP_READ_ = SECTION_MAP_READ;
-const DWORD_ SECTION_MAP_EXECUTE_ = SECTION_MAP_EXECUTE;
-const DWORD_ SECTION_EXTEND_SIZE_ = SECTION_EXTEND_SIZE;
-const DWORD_ SECTION_ALL_ACCESS_ = SECTION_ALL_ACCESS;
-
-const DWORD_ FILE_MAP_COPY_ = FILE_MAP_COPY;
-const DWORD_ FILE_MAP_WRITE_ = FILE_MAP_WRITE;
-const DWORD_ FILE_MAP_READ_ = FILE_MAP_READ;
-const DWORD_ FILE_MAP_ALL_ACCESS_ = FILE_MAP_ALL_ACCESS;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ SEC_FILE_ = 0x800000;
-const DWORD_ SEC_IMAGE_ = 0x1000000;
-const DWORD_ SEC_RESERVE_ = 0x4000000;
-const DWORD_ SEC_COMMIT_ = 0x8000000;
-const DWORD_ SEC_NOCACHE_ = 0x10000000;
-
-// These permission flags are undocumented and some of them are equivalent to the FILE_MAP_* flags.
-// SECTION_QUERY enables NtQuerySection.
-// http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FNT%20Objects%2FSection%2FNtQuerySection.html
-const DWORD_ SECTION_QUERY_ = 0x00000001;
-const DWORD_ SECTION_MAP_WRITE_ = 0x00000002;
-const DWORD_ SECTION_MAP_READ_ = 0x00000004;
-const DWORD_ SECTION_MAP_EXECUTE_ = 0x00000008;
-const DWORD_ SECTION_EXTEND_SIZE_ = 0x00000010;
-const DWORD_ SECTION_ALL_ACCESS_ = 0x000F001F; // STANDARD_RIGHTS_REQUIRED | SECTION_*
-
-const DWORD_ FILE_MAP_COPY_ = SECTION_QUERY_;
-const DWORD_ FILE_MAP_WRITE_ = SECTION_MAP_WRITE_;
-const DWORD_ FILE_MAP_READ_ = SECTION_MAP_READ_;
-const DWORD_ FILE_MAP_ALL_ACCESS_ = SECTION_ALL_ACCESS_;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// These constants are not defined in Windows SDK up until the one shipped with MSVC 8 and MinGW (as of 2016-02-14)
-const DWORD_ SECTION_MAP_EXECUTE_EXPLICIT_ = 0x00000020; // not included in SECTION_ALL_ACCESS
-const DWORD_ FILE_MAP_EXECUTE_ = SECTION_MAP_EXECUTE_EXPLICIT_; // not included in FILE_MAP_ALL_ACCESS
-
-// These constants are not defined in Windows SDK up until 6.0A and MinGW (as of 2016-02-14)
-const DWORD_ SEC_PROTECTED_IMAGE_ = 0x2000000;
-const DWORD_ SEC_WRITECOMBINE_ = 0x40000000;
-const DWORD_ SEC_LARGE_PAGES_ = 0x80000000;
-const DWORD_ SEC_IMAGE_NO_EXECUTE_ = (SEC_IMAGE_ | SEC_NOCACHE_);
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::OpenFileMappingA;
-#endif
-using ::OpenFileMappingW;
-using ::MapViewOfFile;
-using ::MapViewOfFileEx;
-using ::FlushViewOfFile;
-using ::UnmapViewOfFile;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateFileMappingA(
-    HANDLE_ hFile,
-    SECURITY_ATTRIBUTES_* lpFileMappingAttributes,
-    DWORD_ flProtect,
-    DWORD_ dwMaximumSizeHigh,
-    DWORD_ dwMaximumSizeLow,
-    LPCSTR_ lpName)
-{
-    return ::CreateFileMappingA(
-        hFile,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpFileMappingAttributes),
-        flProtect,
-        dwMaximumSizeHigh,
-        dwMaximumSizeLow,
-        lpName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ CreateFileMappingW(
-    HANDLE_ hFile,
-    SECURITY_ATTRIBUTES_* lpFileMappingAttributes,
-    DWORD_ flProtect,
-    DWORD_ dwMaximumSizeHigh,
-    DWORD_ dwMaximumSizeLow,
-    LPCWSTR_ lpName)
-{
-    return ::CreateFileMappingW(
-        hFile,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpFileMappingAttributes),
-        flProtect,
-        dwMaximumSizeHigh,
-        dwMaximumSizeLow,
-        lpName);
-}
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ create_file_mapping(
-    HANDLE_ hFile,
-    SECURITY_ATTRIBUTES_* lpFileMappingAttributes,
-    DWORD_ flProtect,
-    DWORD_ dwMaximumSizeHigh,
-    DWORD_ dwMaximumSizeLow,
-    LPCSTR_ lpName)
-{
-    return ::CreateFileMappingA(
-        hFile,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpFileMappingAttributes),
-        flProtect,
-        dwMaximumSizeHigh,
-        dwMaximumSizeLow,
-        lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_file_mapping(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName)
-{
-    return ::OpenFileMappingA(dwDesiredAccess, bInheritHandle, lpName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ create_file_mapping(
-    HANDLE_ hFile,
-    SECURITY_ATTRIBUTES_* lpFileMappingAttributes,
-    DWORD_ flProtect,
-    DWORD_ dwMaximumSizeHigh,
-    DWORD_ dwMaximumSizeLow,
-    LPCWSTR_ lpName)
-{
-    return ::CreateFileMappingW(
-        hFile,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpFileMappingAttributes),
-        flProtect,
-        dwMaximumSizeHigh,
-        dwMaximumSizeLow,
-        lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_file_mapping(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName)
-{
-    return ::OpenFileMappingW(dwDesiredAccess, bInheritHandle, lpName);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_FILE_MAPPING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_process.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_process.hpp
deleted file mode 100644
index e5f4f2a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_process.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  get_current_process.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GET_CURRENT_PROCESS_HPP
-#define BOOST_DETAIL_WINAPI_GET_CURRENT_PROCESS_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-// Windows CE define GetCurrentProcess as an inline function in kfuncs.h
-#if !defined( BOOST_USE_WINDOWS_H ) && !defined( UNDER_CE )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI GetCurrentProcess(BOOST_DETAIL_WINAPI_VOID);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::GetCurrentProcess;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_GET_CURRENT_PROCESS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_process_id.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_process_id.hpp
deleted file mode 100644
index aa21e6c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_process_id.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  get_current_process_id.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_DETAIL_WINAPI_GET_CURRENT_PROCESS_ID_HPP
-#define BOOST_DETAIL_WINAPI_GET_CURRENT_PROCESS_ID_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-// Windows CE define GetCurrentProcessId as an inline function in kfuncs.h
-#if !defined( BOOST_USE_WINDOWS_H ) && !defined( UNDER_CE )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI GetCurrentProcessId(BOOST_DETAIL_WINAPI_VOID);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::GetCurrentProcessId;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_GET_CURRENT_PROCESS_ID_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_thread.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_thread.hpp
deleted file mode 100644
index b52c3a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_thread.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  get_current_thread.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GET_CURRENT_THREAD_HPP
-#define BOOST_DETAIL_WINAPI_GET_CURRENT_THREAD_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-// Windows CE define GetCurrentThread as an inline function in kfuncs.h
-#if !defined( BOOST_USE_WINDOWS_H ) && !defined( UNDER_CE )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI GetCurrentThread(BOOST_DETAIL_WINAPI_VOID);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::GetCurrentThread;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_GET_CURRENT_THREAD_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_thread_id.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_thread_id.hpp
deleted file mode 100644
index 198af3b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_current_thread_id.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//  get_current_thread_id.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GET_CURRENT_THREAD_ID_HPP
-#define BOOST_DETAIL_WINAPI_GET_CURRENT_THREAD_ID_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-// Windows CE define GetCurrentThreadId as an inline function in kfuncs.h
-#if !defined( BOOST_USE_WINDOWS_H ) && !defined( UNDER_CE )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI GetCurrentThreadId(BOOST_DETAIL_WINAPI_VOID);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::GetCurrentThreadId;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_GET_CURRENT_THREAD_ID_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_last_error.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_last_error.hpp
deleted file mode 100644
index 543efaf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_last_error.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//  get_last_error.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GET_LAST_ERROR_HPP
-#define BOOST_DETAIL_WINAPI_GET_LAST_ERROR_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI GetLastError(BOOST_DETAIL_WINAPI_VOID);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::GetLastError;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_GET_LAST_ERROR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_process_times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_process_times.hpp
deleted file mode 100644
index a79eeb0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_process_times.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//  get_process_times.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_DETAIL_WINAPI_GET_PROCESS_TIMES_HPP
-#define BOOST_DETAIL_WINAPI_GET_PROCESS_TIMES_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-// Windows CE does not define GetProcessTimes
-#if !defined( UNDER_CE )
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/time.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-GetProcessTimes(
-    boost::detail::winapi::HANDLE_ hProcess,
-    ::_FILETIME* lpCreationTime,
-    ::_FILETIME* lpExitTime,
-    ::_FILETIME* lpKernelTime,
-    ::_FILETIME* lpUserTime);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-BOOST_FORCEINLINE BOOL_ GetProcessTimes(
-    HANDLE_ hProcess,
-    LPFILETIME_ lpCreationTime,
-    LPFILETIME_ lpExitTime,
-    LPFILETIME_ lpKernelTime,
-    LPFILETIME_ lpUserTime)
-{
-    return ::GetProcessTimes(
-        hProcess,
-        reinterpret_cast< ::_FILETIME* >(lpCreationTime),
-        reinterpret_cast< ::_FILETIME* >(lpExitTime),
-        reinterpret_cast< ::_FILETIME* >(lpKernelTime),
-        reinterpret_cast< ::_FILETIME* >(lpUserTime));
-}
-
-}
-}
-}
-
-#endif // !defined( UNDER_CE )
-#endif // BOOST_DETAIL_WINAPI_GET_PROCESS_TIMES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_system_directory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_system_directory.hpp
deleted file mode 100644
index dd2d680..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_system_directory.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//  get_system_directory.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_GET_SYSTEM_DIRECTORY_HPP_
-#define BOOST_DETAIL_WINAPI_GET_SYSTEM_DIRECTORY_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::UINT_ WINAPI
-GetSystemDirectoryA(
-    boost::detail::winapi::LPSTR_ lpBuffer,
-    boost::detail::winapi::UINT_   uSize);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::UINT_ WINAPI
-GetSystemDirectoryW(
-    boost::detail::winapi::LPWSTR_ lpBuffer,
-    boost::detail::winapi::UINT_   uSize);
-} // extern "C"
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::GetSystemDirectoryA;
-#endif
-using ::GetSystemDirectoryW;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE UINT_ get_system_directory(LPSTR_ lpBuffer,  UINT_ uSize)
-{
-    return ::GetSystemDirectoryA(lpBuffer, uSize);
-}
-#endif
-
-BOOST_FORCEINLINE UINT_ get_system_directory(LPWSTR_ lpBuffer,  UINT_ uSize)
-{
-    return ::GetSystemDirectoryW(lpBuffer, uSize);
-}
-
-}
-}
-}
-
-#endif // BOOST_PLAT_WINDOWS_DESKTOP
-
-#endif // BOOST_DETAIL_WINAPI_GET_SYSTEM_DIRECTORY_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_thread_times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_thread_times.hpp
deleted file mode 100644
index 13308d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/get_thread_times.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//  get_thread_times.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_GET_THREAD_TIMES_HPP
-#define BOOST_DETAIL_WINAPI_GET_THREAD_TIMES_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/time.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-GetThreadTimes(
-    boost::detail::winapi::HANDLE_ hThread,
-    ::_FILETIME* lpCreationTime,
-    ::_FILETIME* lpExitTime,
-    ::_FILETIME* lpKernelTime,
-    ::_FILETIME* lpUserTime);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-BOOST_FORCEINLINE BOOL_ GetThreadTimes(
-    HANDLE_ hThread,
-    LPFILETIME_ lpCreationTime,
-    LPFILETIME_ lpExitTime,
-    LPFILETIME_ lpKernelTime,
-    LPFILETIME_ lpUserTime)
-{
-    return ::GetThreadTimes(
-        hThread,
-        reinterpret_cast< ::_FILETIME* >(lpCreationTime),
-        reinterpret_cast< ::_FILETIME* >(lpExitTime),
-        reinterpret_cast< ::_FILETIME* >(lpKernelTime),
-        reinterpret_cast< ::_FILETIME* >(lpUserTime));
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_GET_THREAD_TIMES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/handle_info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/handle_info.hpp
deleted file mode 100644
index 0fdcb25..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/handle_info.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//  handle_info.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_HANDLE_INFO_HPP_
-#define BOOST_DETAIL_HANDLE_INFO_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-GetHandleInformation(
-        boost::detail::winapi::HANDLE_ hObject,
-        boost::detail::winapi::LPDWORD_ lpdwFlags);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetHandleInformation(
-        boost::detail::winapi::HANDLE_ hObject,
-        boost::detail::winapi::DWORD_ dwMask,
-        boost::detail::winapi::DWORD_ dwFlags);
-
-} // extern "C"
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-using ::GetHandleInformation;
-using ::SetHandleInformation;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ HANDLE_FLAG_INHERIT_            = HANDLE_FLAG_INHERIT;
-const DWORD_ HANDLE_FLAG_PROTECT_FROM_CLOSE_ = HANDLE_FLAG_PROTECT_FROM_CLOSE;
-
-#else
-
-const DWORD_ HANDLE_FLAG_INHERIT_            = 0x1;
-const DWORD_ HANDLE_FLAG_PROTECT_FROM_CLOSE_ = 0x2;
-
-#endif
-
-}
-}
-}
-
-#endif // BOOST_PLAT_WINDOWS_DESKTOP
-
-#endif // BOOST_DETAIL_HANDLE_INFO_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/handles.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/handles.hpp
deleted file mode 100644
index 54859f4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/handles.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//  handles.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_HANDLES_HPP
-#define BOOST_DETAIL_WINAPI_HANDLES_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CloseHandle(boost::detail::winapi::HANDLE_ handle);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-DuplicateHandle(
-    boost::detail::winapi::HANDLE_ hSourceProcessHandle,
-    boost::detail::winapi::HANDLE_ hSourceHandle,
-    boost::detail::winapi::HANDLE_ hTargetProcessHandle,
-    boost::detail::winapi::HANDLE_* lpTargetHandle,
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::DWORD_ dwOptions);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-using ::CloseHandle;
-using ::DuplicateHandle;
-
-#if defined( BOOST_USE_WINDOWS_H )
-const DWORD_ DUPLICATE_CLOSE_SOURCE_ = DUPLICATE_CLOSE_SOURCE;
-const DWORD_ DUPLICATE_SAME_ACCESS_ = DUPLICATE_SAME_ACCESS;
-const HANDLE_ INVALID_HANDLE_VALUE_ = INVALID_HANDLE_VALUE;
-#else
-const DWORD_ DUPLICATE_CLOSE_SOURCE_ = 1;
-const DWORD_ DUPLICATE_SAME_ACCESS_ = 2;
-const HANDLE_ INVALID_HANDLE_VALUE_ = (HANDLE_)(-1);
-#endif
-
-const DWORD_ duplicate_close_source = DUPLICATE_CLOSE_SOURCE_;
-const DWORD_ duplicate_same_access = DUPLICATE_SAME_ACCESS_;
-const HANDLE_ invalid_handle_value = INVALID_HANDLE_VALUE_;
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_HANDLES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/heap_memory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/heap_memory.hpp
deleted file mode 100644
index ae86352..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/heap_memory.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//  heap_memory.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_HEAP_MEMORY_HPP
-#define BOOST_DETAIL_WINAPI_HEAP_MEMORY_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-#undef HeapAlloc
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-GetProcessHeap(BOOST_DETAIL_WINAPI_VOID);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetProcessHeaps(boost::detail::winapi::DWORD_ NumberOfHeaps, boost::detail::winapi::PHANDLE_ ProcessHeaps);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-HeapCreate(
-    boost::detail::winapi::DWORD_ flOptions,
-    boost::detail::winapi::SIZE_T_ dwInitialSize,
-    boost::detail::winapi::SIZE_T_ dwMaximumSize);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-HeapDestroy(boost::detail::winapi::HANDLE_ hHeap);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
-HeapAlloc(
-    boost::detail::winapi::HANDLE_ hHeap,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::SIZE_T_ dwBytes);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
-HeapReAlloc(
-    boost::detail::winapi::HANDLE_ hHeap,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPVOID_ lpMem,
-    boost::detail::winapi::SIZE_T_ dwBytes);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-HeapFree(
-    boost::detail::winapi::HANDLE_ hHeap,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPVOID_ lpMem);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::GetProcessHeap;
-using ::GetProcessHeaps;
-using ::HeapCreate;
-using ::HeapDestroy;
-using ::HeapAlloc;
-using ::HeapReAlloc;
-using ::HeapFree;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_HEAP_MEMORY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/init_once.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/init_once.hpp
deleted file mode 100644
index 4c05979..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/init_once.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//  init_once.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_INIT_ONCE_HPP
-#define BOOST_DETAIL_WINAPI_INIT_ONCE_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if defined( BOOST_WINAPI_IS_MINGW_W64 )
-struct _RTL_RUN_ONCE;
-#else
-union _RTL_RUN_ONCE;
-#endif
-
-typedef boost::detail::winapi::BOOL_
-(WINAPI *PINIT_ONCE_FN) (
-    ::_RTL_RUN_ONCE* InitOnce,
-    boost::detail::winapi::PVOID_ Parameter,
-    boost::detail::winapi::PVOID_ *Context);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-InitOnceInitialize(::_RTL_RUN_ONCE* InitOnce);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitOnceExecuteOnce(
-    ::_RTL_RUN_ONCE* InitOnce,
-    ::PINIT_ONCE_FN InitFn,
-    boost::detail::winapi::PVOID_ Parameter,
-    boost::detail::winapi::LPVOID_ *Context);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitOnceBeginInitialize(
-    ::_RTL_RUN_ONCE* lpInitOnce,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::PBOOL_ fPending,
-    boost::detail::winapi::LPVOID_ *lpContext);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitOnceComplete(
-    ::_RTL_RUN_ONCE* lpInitOnce,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::LPVOID_ lpContext);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef union BOOST_DETAIL_WINAPI_MAY_ALIAS _RTL_RUN_ONCE {
-    PVOID_ Ptr;
-} INIT_ONCE_, *PINIT_ONCE_, *LPINIT_ONCE_;
-
-extern "C" {
-typedef BOOL_ (WINAPI *PINIT_ONCE_FN_) (PINIT_ONCE_ lpInitOnce, PVOID_ Parameter, PVOID_ *Context);
-}
-
-BOOST_FORCEINLINE VOID_ InitOnceInitialize(PINIT_ONCE_ lpInitOnce)
-{
-    ::InitOnceInitialize(reinterpret_cast< ::_RTL_RUN_ONCE* >(lpInitOnce));
-}
-
-BOOST_FORCEINLINE BOOL_ InitOnceExecuteOnce(PINIT_ONCE_ lpInitOnce, PINIT_ONCE_FN_ InitFn, PVOID_ Parameter, LPVOID_ *Context)
-{
-    return ::InitOnceExecuteOnce(reinterpret_cast< ::_RTL_RUN_ONCE* >(lpInitOnce), reinterpret_cast< ::PINIT_ONCE_FN >(InitFn), Parameter, Context);
-}
-
-BOOST_FORCEINLINE BOOL_ InitOnceBeginInitialize(PINIT_ONCE_ lpInitOnce, DWORD_ dwFlags, PBOOL_ fPending, LPVOID_ *lpContext)
-{
-    return ::InitOnceBeginInitialize(reinterpret_cast< ::_RTL_RUN_ONCE* >(lpInitOnce), dwFlags, fPending, lpContext);
-}
-
-BOOST_FORCEINLINE BOOL_ InitOnceComplete(PINIT_ONCE_ lpInitOnce, DWORD_ dwFlags, LPVOID_ lpContext)
-{
-    return ::InitOnceComplete(reinterpret_cast< ::_RTL_RUN_ONCE* >(lpInitOnce), dwFlags, lpContext);
-}
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-#define BOOST_DETAIL_WINAPI_INIT_ONCE_STATIC_INIT INIT_ONCE_STATIC_INIT
-const DWORD_ INIT_ONCE_ASYNC_ = INIT_ONCE_ASYNC;
-const DWORD_ INIT_ONCE_CHECK_ONLY_ = INIT_ONCE_CHECK_ONLY;
-const DWORD_ INIT_ONCE_INIT_FAILED_ = INIT_ONCE_INIT_FAILED;
-const DWORD_ INIT_ONCE_CTX_RESERVED_BITS_ = INIT_ONCE_CTX_RESERVED_BITS;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-#define BOOST_DETAIL_WINAPI_INIT_ONCE_STATIC_INIT {0}
-const DWORD_ INIT_ONCE_ASYNC_ = 0x00000002UL;
-const DWORD_ INIT_ONCE_CHECK_ONLY_ = 0x00000001UL;
-const DWORD_ INIT_ONCE_INIT_FAILED_ = 0x00000004UL;
-const DWORD_ INIT_ONCE_CTX_RESERVED_BITS_ = 2;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ init_once_async = INIT_ONCE_ASYNC_;
-const DWORD_ init_once_check_only = INIT_ONCE_CHECK_ONLY_;
-const DWORD_ init_once_init_failed = INIT_ONCE_INIT_FAILED_;
-const DWORD_ init_once_ctx_reserved_bits = INIT_ONCE_CTX_RESERVED_BITS_;
-
-}
-}
-}
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#endif // BOOST_DETAIL_WINAPI_INIT_ONCE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/limits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/limits.hpp
deleted file mode 100644
index 1a0faaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/limits.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  limits.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_LIMITS_HPP_
-#define BOOST_DETAIL_WINAPI_LIMITS_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ MAX_PATH_ = MAX_PATH;
-
-#else
-
-const DWORD_ MAX_PATH_ = 260;
-
-#endif
-
-#if defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )
-
-const DWORD_ UNICODE_STRING_MAX_BYTES_ = UNICODE_STRING_MAX_BYTES;
-const DWORD_ UNICODE_STRING_MAX_CHARS_ = UNICODE_STRING_MAX_CHARS;
-
-#else
-
-const DWORD_ UNICODE_STRING_MAX_BYTES_ = 65534;
-const DWORD_ UNICODE_STRING_MAX_CHARS_ = 32767;
-
-#endif
-
-const DWORD_ max_path = MAX_PATH_;
-const DWORD_ unicode_string_max_bytes = UNICODE_STRING_MAX_BYTES_;
-const DWORD_ unicode_string_max_chars = UNICODE_STRING_MAX_CHARS_;
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_LIMITS_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/local_memory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/local_memory.hpp
deleted file mode 100644
index 17bc08b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/local_memory.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  local_memory.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_LOCAL_MEMORY_HPP
-#define BOOST_DETAIL_WINAPI_LOCAL_MEMORY_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-namespace boost { namespace detail { namespace winapi {
-typedef HANDLE_ HLOCAL_;
-}}}
-
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HLOCAL_ WINAPI
-LocalAlloc(
-    boost::detail::winapi::UINT_ uFlags,
-    boost::detail::winapi::SIZE_T_ uBytes);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HLOCAL_ WINAPI
-LocalReAlloc(
-    boost::detail::winapi::HLOCAL_ hMem,
-    boost::detail::winapi::SIZE_T_ uBytes,
-    boost::detail::winapi::UINT_ uFlags);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HLOCAL_ WINAPI LocalFree(boost::detail::winapi::HLOCAL_ hMem);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-#if defined( BOOST_USE_WINDOWS_H )
-typedef ::HLOCAL HLOCAL_;
-#endif
-using ::LocalAlloc;
-using ::LocalReAlloc;
-using ::LocalFree;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_LOCAL_MEMORY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/memory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/memory.hpp
deleted file mode 100644
index 3168e21..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/memory.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  memory.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_MEMORY_HPP
-#define BOOST_DETAIL_WINAPI_MEMORY_HPP
-
-#include <boost/detail/winapi/heap_memory.hpp>
-#include <boost/detail/winapi/local_memory.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_MEMORY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/mutex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/mutex.hpp
deleted file mode 100644
index 37b21a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/mutex.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-//  mutex.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_MUTEX_HPP
-#define BOOST_DETAIL_WINAPI_MUTEX_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-#if !defined( BOOST_PLAT_WINDOWS_RUNTIME_AVALIABLE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateMutexA(
-    ::_SECURITY_ATTRIBUTES* lpMutexAttributes,
-    boost::detail::winapi::BOOL_ bInitialOwner,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateMutexExA(
-    ::_SECURITY_ATTRIBUTES* lpMutexAttributes,
-    boost::detail::winapi::LPCSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwDesiredAccess);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenMutexA(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-#if !defined( BOOST_PLAT_WINDOWS_RUNTIME_AVALIABLE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateMutexW(
-    ::_SECURITY_ATTRIBUTES* lpMutexAttributes,
-    boost::detail::winapi::BOOL_ bInitialOwner,
-    boost::detail::winapi::LPCWSTR_ lpName);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateMutexExW(
-    ::_SECURITY_ATTRIBUTES* lpMutexAttributes,
-    boost::detail::winapi::LPCWSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwDesiredAccess);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenMutexW(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-ReleaseMutex(boost::detail::winapi::HANDLE_ hMutex);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::OpenMutexA;
-#endif
-using ::OpenMutexW;
-using ::ReleaseMutex;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ MUTEX_ALL_ACCESS_ = MUTEX_ALL_ACCESS;
-const DWORD_ MUTEX_MODIFY_STATE_ = MUTEX_MODIFY_STATE;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ CREATE_MUTEX_INITIAL_OWNER_ = CREATE_MUTEX_INITIAL_OWNER;
-#endif
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ MUTEX_ALL_ACCESS_ = 0x001F0001;
-const DWORD_ MUTEX_MODIFY_STATE_ = 0x00000001;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ CREATE_MUTEX_INITIAL_OWNER_ = 0x00000001;
-#endif
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ mutex_all_access = MUTEX_ALL_ACCESS_;
-const DWORD_ mutex_modify_state = MUTEX_MODIFY_STATE_;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ create_mutex_initial_owner = CREATE_MUTEX_INITIAL_OWNER_;
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateMutexA(SECURITY_ATTRIBUTES_* lpMutexAttributes, BOOL_ bInitialOwner, LPCSTR_ lpName)
-{
-#if BOOST_PLAT_WINDOWS_RUNTIME && BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-    const DWORD_ flags = bInitialOwner ? create_mutex_initial_owner : 0u;
-    return ::CreateMutexExA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpMutexAttributes), lpName, flags, mutex_all_access);
-#else
-    return ::CreateMutexA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpMutexAttributes), bInitialOwner, lpName);
-#endif
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE HANDLE_ CreateMutexExA(
-    SECURITY_ATTRIBUTES_* lpMutexAttributes,
-    LPCSTR_ lpName,
-    DWORD_ dwFlags,
-    DWORD_ dwDesiredAccess)
-{
-    return ::CreateMutexExA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpMutexAttributes), lpName, dwFlags, dwDesiredAccess);
-}
-#endif
-#endif
-
-BOOST_FORCEINLINE HANDLE_ CreateMutexW(SECURITY_ATTRIBUTES_* lpMutexAttributes, BOOL_ bInitialOwner, LPCWSTR_ lpName)
-{
-#if BOOST_PLAT_WINDOWS_RUNTIME && BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-    const DWORD_ flags = bInitialOwner ? create_mutex_initial_owner : 0u;
-    return ::CreateMutexExW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpMutexAttributes), lpName, flags, mutex_all_access);
-#else
-    return ::CreateMutexW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpMutexAttributes), bInitialOwner, lpName);
-#endif
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE HANDLE_ CreateMutexExW(
-    SECURITY_ATTRIBUTES_* lpMutexAttributes,
-    LPCWSTR_ lpName,
-    DWORD_ dwFlags,
-    DWORD_ dwDesiredAccess)
-{
-    return ::CreateMutexExW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpMutexAttributes), lpName, dwFlags, dwDesiredAccess);
-}
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ create_mutex(SECURITY_ATTRIBUTES_* lpAttributes, BOOL_ bInitialOwner, LPCSTR_ lpName)
-{
-    return winapi::CreateMutexA(lpAttributes, bInitialOwner, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_mutex(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName)
-{
-    return ::OpenMutexA(dwDesiredAccess, bInheritHandle, lpName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ create_mutex(SECURITY_ATTRIBUTES_* lpAttributes, BOOL_ bInitialOwner, LPCWSTR_ lpName)
-{
-    return winapi::CreateMutexW(lpAttributes, bInitialOwner, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_mutex(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName)
-{
-    return ::OpenMutexW(dwDesiredAccess, bInheritHandle, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ create_anonymous_mutex(SECURITY_ATTRIBUTES_* lpAttributes, BOOL_ bInitialOwner)
-{
-    return winapi::CreateMutexW(lpAttributes, bInitialOwner, 0);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_MUTEX_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/overlapped.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/overlapped.hpp
deleted file mode 100644
index 17dcb2e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/overlapped.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  overlapped.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_OVERLAPPED_HPP_
-#define BOOST_DETAIL_WINAPI_OVERLAPPED_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-struct _OVERLAPPED;
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4201) // nonstandard extension used : nameless struct/union
-#endif
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _OVERLAPPED {
-    ULONG_PTR_ Internal;
-    ULONG_PTR_ InternalHigh;
-    union {
-        struct {
-            DWORD_ Offset;
-            DWORD_ OffsetHigh;
-        };
-        PVOID_  Pointer;
-    };
-    HANDLE_    hEvent;
-} OVERLAPPED_, *LPOVERLAPPED_;
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-}}}
-
-#endif // BOOST_DETAIL_WINAPI_OVERLAPPED_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/page_protection_flags.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/page_protection_flags.hpp
deleted file mode 100644
index 0dbcb21..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/page_protection_flags.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//  page_protection_flags.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_PAGE_PROTECTION_FLAGS_HPP
-#define BOOST_DETAIL_WINAPI_PAGE_PROTECTION_FLAGS_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ PAGE_NOACCESS_ = PAGE_NOACCESS;
-const DWORD_ PAGE_READONLY_ = PAGE_READONLY;
-const DWORD_ PAGE_READWRITE_ = PAGE_READWRITE;
-const DWORD_ PAGE_WRITECOPY_ = PAGE_WRITECOPY;
-const DWORD_ PAGE_EXECUTE_ = PAGE_EXECUTE;
-const DWORD_ PAGE_EXECUTE_READ_ = PAGE_EXECUTE_READ;
-const DWORD_ PAGE_EXECUTE_READWRITE_ = PAGE_EXECUTE_READWRITE;
-const DWORD_ PAGE_EXECUTE_WRITECOPY_ = PAGE_EXECUTE_WRITECOPY;
-const DWORD_ PAGE_GUARD_ = PAGE_GUARD;
-const DWORD_ PAGE_NOCACHE_ = PAGE_NOCACHE;
-const DWORD_ PAGE_WRITECOMBINE_ = PAGE_WRITECOMBINE;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ PAGE_NOACCESS_ = 0x01;
-const DWORD_ PAGE_READONLY_ = 0x02;
-const DWORD_ PAGE_READWRITE_ = 0x04;
-const DWORD_ PAGE_WRITECOPY_ = 0x08;
-const DWORD_ PAGE_EXECUTE_ = 0x10;
-const DWORD_ PAGE_EXECUTE_READ_ = 0x20;
-const DWORD_ PAGE_EXECUTE_READWRITE_ = 0x40;
-const DWORD_ PAGE_EXECUTE_WRITECOPY_ = 0x80;
-const DWORD_ PAGE_GUARD_ = 0x100;
-const DWORD_ PAGE_NOCACHE_ = 0x200;
-const DWORD_ PAGE_WRITECOMBINE_ = 0x400;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_PAGE_PROTECTION_FLAGS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/pipes.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/pipes.hpp
deleted file mode 100644
index 1472950..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/pipes.hpp
+++ /dev/null
@@ -1,317 +0,0 @@
-//  pipes.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_PIPES_HPP_
-#define BOOST_DETAIL_WINAPI_PIPES_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/config.hpp>
-#include <boost/detail/winapi/overlapped.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI ImpersonateNamedPipeClient(
-    boost::detail::winapi::HANDLE_ hNamedPipe);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI CreatePipe(
-    boost::detail::winapi::PHANDLE_ hReadPipe,
-    boost::detail::winapi::PHANDLE_ hWritePipe,
-    _SECURITY_ATTRIBUTES* lpPipeAttributes,
-    boost::detail::winapi::DWORD_ nSize);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI ConnectNamedPipe(
-    boost::detail::winapi::HANDLE_ hNamedPipe,
-    _OVERLAPPED* lpOverlapped);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI DisconnectNamedPipe(
-    boost::detail::winapi::HANDLE_ hNamedPipe);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI SetNamedPipeHandleState(
-    boost::detail::winapi::HANDLE_ hNamedPipe,
-    boost::detail::winapi::LPDWORD_ lpMode,
-    boost::detail::winapi::LPDWORD_ lpMaxCollectionCount,
-    boost::detail::winapi::LPDWORD_ lpCollectDataTimeout);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI PeekNamedPipe(
-    boost::detail::winapi::HANDLE_ hNamedPipe,
-    boost::detail::winapi::LPVOID_ lpBuffer,
-    boost::detail::winapi::DWORD_ nBufferSize,
-    boost::detail::winapi::LPDWORD_ lpBytesRead,
-    boost::detail::winapi::LPDWORD_ lpTotalBytesAvail,
-    boost::detail::winapi::LPDWORD_ lpBytesLeftThisMessage);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI TransactNamedPipe(
-    boost::detail::winapi::HANDLE_ hNamedPipe,
-    boost::detail::winapi::LPVOID_ lpInBuffer,
-    boost::detail::winapi::DWORD_ nInBufferSize,
-    boost::detail::winapi::LPVOID_ lpOutBuffer,
-    boost::detail::winapi::DWORD_ nOutBufferSize,
-    boost::detail::winapi::LPDWORD_ lpBytesRead,
-    _OVERLAPPED* lpOverlapped);
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI CreateNamedPipeA(
-    boost::detail::winapi::LPCSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwOpenMode,
-    boost::detail::winapi::DWORD_ dwPipeMode,
-    boost::detail::winapi::DWORD_ nMaxInstances,
-    boost::detail::winapi::DWORD_ nOutBufferSize,
-    boost::detail::winapi::DWORD_ nInBufferSize,
-    boost::detail::winapi::DWORD_ nDefaultTimeOut,
-    _SECURITY_ATTRIBUTES *lpSecurityAttributes);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI WaitNamedPipeA(
-    boost::detail::winapi::LPCSTR_ lpNamedPipeName,
-    boost::detail::winapi::DWORD_ nTimeOut);
-#endif // !defined( BOOST_NO_ANSI_APIS )
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI CreateNamedPipeW(
-    boost::detail::winapi::LPCWSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwOpenMode,
-    boost::detail::winapi::DWORD_ dwPipeMode,
-    boost::detail::winapi::DWORD_ nMaxInstances,
-    boost::detail::winapi::DWORD_ nOutBufferSize,
-    boost::detail::winapi::DWORD_ nInBufferSize,
-    boost::detail::winapi::DWORD_ nDefaultTimeOut,
-    _SECURITY_ATTRIBUTES* lpSecurityAttributes);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI WaitNamedPipeW(
-    boost::detail::winapi::LPCWSTR_ lpNamedPipeName,
-    boost::detail::winapi::DWORD_ nTimeOut);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI GetNamedPipeClientComputerNameA(
-    boost::detail::winapi::HANDLE_ Pipe,
-    boost::detail::winapi::LPSTR_ ClientComputerName,
-    boost::detail::winapi::ULONG_ ClientComputerNameLength);
-#endif // !defined( BOOST_NO_ANSI_APIS )
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI GetNamedPipeClientComputerNameW(
-    boost::detail::winapi::HANDLE_ Pipe,
-    boost::detail::winapi::LPWSTR_ ClientComputerName,
-    boost::detail::winapi::ULONG_ ClientComputerNameLength);
-#endif
-
-} // extern "C"
-#endif // !defined( BOOST_USE_WINDOWS_H )
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ PIPE_ACCESS_DUPLEX_ = PIPE_ACCESS_DUPLEX;
-const DWORD_ PIPE_ACCESS_INBOUND_ = PIPE_ACCESS_INBOUND;
-const DWORD_ PIPE_ACCESS_OUTBOUND_ = PIPE_ACCESS_OUTBOUND;
-
-const DWORD_ PIPE_TYPE_BYTE_ = PIPE_TYPE_BYTE;
-const DWORD_ PIPE_TYPE_MESSAGE_ = PIPE_TYPE_MESSAGE;
-
-const DWORD_ PIPE_READMODE_BYTE_ = PIPE_READMODE_BYTE;
-const DWORD_ PIPE_READMODE_MESSAGE_ = PIPE_READMODE_MESSAGE;
-
-const DWORD_ PIPE_WAIT_ = PIPE_WAIT;
-const DWORD_ PIPE_NOWAIT_ = PIPE_NOWAIT;
-
-const DWORD_ PIPE_UNLIMITED_INSTANCES_ = PIPE_UNLIMITED_INSTANCES;
-
-const DWORD_ NMPWAIT_USE_DEFAULT_WAIT_ = NMPWAIT_USE_DEFAULT_WAIT;
-const DWORD_ NMPWAIT_NOWAIT_ = NMPWAIT_NOWAIT;
-const DWORD_ NMPWAIT_WAIT_FOREVER_ = NMPWAIT_WAIT_FOREVER;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ PIPE_ACCESS_DUPLEX_ = 0x00000003;
-const DWORD_ PIPE_ACCESS_INBOUND_ = 0x00000001;
-const DWORD_ PIPE_ACCESS_OUTBOUND_ = 0x00000002;
-
-const DWORD_ PIPE_TYPE_BYTE_ = 0x00000000;
-const DWORD_ PIPE_TYPE_MESSAGE_ = 0x00000004;
-
-const DWORD_ PIPE_READMODE_BYTE_ = 0x00000000;
-const DWORD_ PIPE_READMODE_MESSAGE_ = 0x00000002;
-
-const DWORD_ PIPE_WAIT_ = 0x00000000;
-const DWORD_ PIPE_NOWAIT_ = 0x00000001;
-
-const DWORD_ PIPE_UNLIMITED_INSTANCES_ = 255u;
-
-const DWORD_ NMPWAIT_USE_DEFAULT_WAIT_ = 0x00000000;
-const DWORD_ NMPWAIT_NOWAIT_ = 0x00000001;
-const DWORD_ NMPWAIT_WAIT_FOREVER_ = 0xFFFFFFFF;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// These constants are not defined in Windows SDK prior to 7.0A
-const DWORD_ PIPE_ACCEPT_REMOTE_CLIENTS_ = 0x00000000;
-const DWORD_ PIPE_REJECT_REMOTE_CLIENTS_ = 0x00000008;
-
-using ::ImpersonateNamedPipeClient;
-using ::DisconnectNamedPipe;
-using ::SetNamedPipeHandleState;
-using ::PeekNamedPipe;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::WaitNamedPipeA;
-#endif
-using ::WaitNamedPipeW;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::GetNamedPipeClientComputerNameA;
-#endif // !defined( BOOST_NO_ANSI_APIS )
-using ::GetNamedPipeClientComputerNameW;
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-BOOST_FORCEINLINE BOOL_ CreatePipe(PHANDLE_ hReadPipe, PHANDLE_ hWritePipe, LPSECURITY_ATTRIBUTES_ lpPipeAttributes, DWORD_ nSize)
-{
-    return ::CreatePipe(hReadPipe, hWritePipe, reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpPipeAttributes), nSize);
-}
-
-BOOST_FORCEINLINE BOOL_ ConnectNamedPipe(HANDLE_ hNamedPipe, LPOVERLAPPED_ lpOverlapped)
-{
-    return ::ConnectNamedPipe(hNamedPipe, reinterpret_cast< ::_OVERLAPPED* >(lpOverlapped));
-}
-
-BOOST_FORCEINLINE BOOL_ TransactNamedPipe(HANDLE_ hNamedPipe, LPVOID_ lpInBuffer, DWORD_ nInBufferSize, LPVOID_ lpOutBuffer, DWORD_ nOutBufferSize, LPDWORD_ lpBytesRead, LPOVERLAPPED_ lpOverlapped)
-{
-    return ::TransactNamedPipe(hNamedPipe, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesRead, reinterpret_cast< ::_OVERLAPPED* >(lpOverlapped));
-}
-
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateNamedPipeA(
-    LPCSTR_ lpName,
-    DWORD_ dwOpenMode,
-    DWORD_ dwPipeMode,
-    DWORD_ nMaxInstances,
-    DWORD_ nOutBufferSize,
-    DWORD_ nInBufferSize,
-    DWORD_ nDefaultTimeOut,
-    LPSECURITY_ATTRIBUTES_ lpSecurityAttributes)
-{
-    return ::CreateNamedPipeA(
-        lpName,
-        dwOpenMode,
-        dwPipeMode,
-        nMaxInstances,
-        nOutBufferSize,
-        nInBufferSize,
-        nDefaultTimeOut,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes));
-}
-
-BOOST_FORCEINLINE HANDLE_ create_named_pipe(
-    LPCSTR_ lpName,
-    DWORD_ dwOpenMode,
-    DWORD_ dwPipeMode,
-    DWORD_ nMaxInstances,
-    DWORD_ nOutBufferSize,
-    DWORD_ nInBufferSize,
-    DWORD_ nDefaultTimeOut,
-    LPSECURITY_ATTRIBUTES_ lpSecurityAttributes)
-{
-    return ::CreateNamedPipeA(
-        lpName,
-        dwOpenMode,
-        dwPipeMode,
-        nMaxInstances,
-        nOutBufferSize,
-        nInBufferSize,
-        nDefaultTimeOut,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes));
-}
-#endif // !defined( BOOST_NO_ANSI_APIS )
-
-BOOST_FORCEINLINE HANDLE_ CreateNamedPipeW(
-    LPCWSTR_ lpName,
-    DWORD_ dwOpenMode,
-    DWORD_ dwPipeMode,
-    DWORD_ nMaxInstances,
-    DWORD_ nOutBufferSize,
-    DWORD_ nInBufferSize,
-    DWORD_ nDefaultTimeOut,
-    LPSECURITY_ATTRIBUTES_ lpSecurityAttributes)
-{
-    return ::CreateNamedPipeW(
-        lpName,
-        dwOpenMode,
-        dwPipeMode,
-        nMaxInstances,
-        nOutBufferSize,
-        nInBufferSize,
-        nDefaultTimeOut,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes));
-}
-
-BOOST_FORCEINLINE HANDLE_ create_named_pipe(
-    LPCWSTR_ lpName,
-    DWORD_ dwOpenMode,
-    DWORD_ dwPipeMode,
-    DWORD_ nMaxInstances,
-    DWORD_ nOutBufferSize,
-    DWORD_ nInBufferSize,
-    DWORD_ nDefaultTimeOut,
-    LPSECURITY_ATTRIBUTES_ lpSecurityAttributes)
-{
-    return ::CreateNamedPipeW(
-        lpName,
-        dwOpenMode,
-        dwPipeMode,
-        nMaxInstances,
-        nOutBufferSize,
-        nInBufferSize,
-        nDefaultTimeOut,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSecurityAttributes));
-}
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE BOOL_ wait_named_pipe(LPCSTR_ lpNamedPipeName, DWORD_ nTimeOut)
-{
-    return ::WaitNamedPipeA(lpNamedPipeName, nTimeOut);
-}
-#endif //BOOST_NO_ANSI_APIS
-
-BOOST_FORCEINLINE BOOL_ wait_named_pipe(LPCWSTR_ lpNamedPipeName, DWORD_ nTimeOut)
-{
-    return ::WaitNamedPipeW(lpNamedPipeName, nTimeOut);
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE BOOL_ get_named_pipe_client_computer_name(HANDLE_ Pipe, LPSTR_ ClientComputerName, ULONG_ ClientComputerNameLength)
-{
-    return ::GetNamedPipeClientComputerNameA(Pipe, ClientComputerName, ClientComputerNameLength);
-}
-#endif // !defined( BOOST_NO_ANSI_APIS )
-
-BOOST_FORCEINLINE BOOL_ get_named_pipe_client_computer_name(HANDLE_ Pipe, LPWSTR_ ClientComputerName, ULONG_ ClientComputerNameLength)
-{
-    return ::GetNamedPipeClientComputerNameW(Pipe, ClientComputerName, ClientComputerNameLength);
-}
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-}
-}
-}
-
-#endif // BOOST_PLAT_WINDOWS_DESKTOP
-
-#endif // BOOST_DETAIL_WINAPI_PIPES_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/priority_class.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/priority_class.hpp
deleted file mode 100644
index bfcb425..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/priority_class.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//  priority_class.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_PRIORITY_CLASS_HPP_
-#define BOOST_DETAIL_WINAPI_PRIORITY_CLASS_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetPriorityClass(boost::detail::winapi::HANDLE_ hProcess);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetPriorityClass(
-    boost::detail::winapi::HANDLE_ hProcess,
-    boost::detail::winapi::DWORD_ dwPriorityClass);
-
-} // extern "C"
-#endif //defined BOOST_WINDOWS_H
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined(BOOST_USE_WINDOWS_H)
-
-const DWORD_ NORMAL_PRIORITY_CLASS_            = NORMAL_PRIORITY_CLASS;
-const DWORD_ IDLE_PRIORITY_CLASS_              = IDLE_PRIORITY_CLASS;
-const DWORD_ HIGH_PRIORITY_CLASS_              = HIGH_PRIORITY_CLASS;
-const DWORD_ REALTIME_PRIORITY_CLASS_          = REALTIME_PRIORITY_CLASS;
-const DWORD_ BELOW_NORMAL_PRIORITY_CLASS_      = BELOW_NORMAL_PRIORITY_CLASS;
-const DWORD_ ABOVE_NORMAL_PRIORITY_CLASS_      = ABOVE_NORMAL_PRIORITY_CLASS;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ PROCESS_MODE_BACKGROUND_BEGIN_    = PROCESS_MODE_BACKGROUND_BEGIN;
-const DWORD_ PROCESS_MODE_BACKGROUND_END_      = PROCESS_MODE_BACKGROUND_END;
-#endif
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ NORMAL_PRIORITY_CLASS_            = 0x20;
-const DWORD_ IDLE_PRIORITY_CLASS_              = 0x40;
-const DWORD_ HIGH_PRIORITY_CLASS_              = 0x80;
-const DWORD_ REALTIME_PRIORITY_CLASS_          = 0x100;
-const DWORD_ BELOW_NORMAL_PRIORITY_CLASS_      = 0x4000;
-const DWORD_ ABOVE_NORMAL_PRIORITY_CLASS_      = 0x8000;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ PROCESS_MODE_BACKGROUND_BEGIN_    = 0x100000;
-const DWORD_ PROCESS_MODE_BACKGROUND_END_      = 0x200000;
-#endif
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-using ::GetPriorityClass;
-using ::SetPriorityClass;
-
-}
-}
-}
-
-#endif // BOOST_PLAT_WINDOWS_DESKTOP
-
-#endif // BOOST_DETAIL_WINAPI_PRIORITY_CLASS_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/process.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/process.hpp
deleted file mode 100644
index d980aa6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/process.hpp
+++ /dev/null
@@ -1,386 +0,0 @@
-//  process.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-//  Copyright 2016 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_PROCESS_HPP_
-#define BOOST_DETAIL_WINAPI_PROCESS_HPP_
-
-#include <boost/detail/winapi/config.hpp>
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/get_current_process.hpp>
-#include <boost/detail/winapi/get_current_process_id.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-struct _PROCESS_INFORMATION;
-#if !defined( BOOST_NO_ANSI_APIS )
-struct _STARTUPINFOA;
-#endif
-struct _STARTUPINFOW;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-struct _PROC_THREAD_ATTRIBUTE_LIST;
-#if !defined( BOOST_NO_ANSI_APIS )
-struct _STARTUPINFOEXA;
-#endif
-struct _STARTUPINFOEXW;
-#endif
-
-BOOST_SYMBOL_IMPORT BOOST_NORETURN boost::detail::winapi::VOID_ WINAPI
-ExitProcess(boost::detail::winapi::UINT_ uExitCode);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI TerminateProcess(
-    boost::detail::winapi::HANDLE_ hProcess,
-    boost::detail::winapi::UINT_ uExitCode);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI GetExitCodeProcess(
-    boost::detail::winapi::HANDLE_ hProcess,
-    boost::detail::winapi::LPDWORD_ lpExitCode);
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI CreateProcessA(
-    boost::detail::winapi::LPCSTR_ lpApplicationName,
-    boost::detail::winapi::LPSTR_ lpCommandLine,
-    ::_SECURITY_ATTRIBUTES* lpProcessAttributes,
-    ::_SECURITY_ATTRIBUTES* lpThreadAttributes,
-    boost::detail::winapi::INT_ bInheritHandles,
-    boost::detail::winapi::DWORD_ dwCreationFlags,
-    boost::detail::winapi::LPVOID_ lpEnvironment,
-    boost::detail::winapi::LPCSTR_ lpCurrentDirectory,
-    ::_STARTUPINFOA* lpStartupInfo,
-    ::_PROCESS_INFORMATION* lpProcessInformation);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI CreateProcessW(
-    boost::detail::winapi::LPCWSTR_ lpApplicationName,
-    boost::detail::winapi::LPWSTR_ lpCommandLine,
-    ::_SECURITY_ATTRIBUTES* lpProcessAttributes,
-    ::_SECURITY_ATTRIBUTES* lpThreadAttributes,
-    boost::detail::winapi::INT_ bInheritHandles,
-    boost::detail::winapi::DWORD_ dwCreationFlags,
-    boost::detail::winapi::LPVOID_ lpEnvironment,
-    boost::detail::winapi::LPCWSTR_ lpCurrentDirectory,
-    ::_STARTUPINFOW* lpStartupInfo,
-    ::_PROCESS_INFORMATION* lpProcessInformation);
-
-} // extern "C"
-#endif //defined BOOST_WINDOWS_H
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ DEBUG_PROCESS_                    = DEBUG_PROCESS;
-const DWORD_ DEBUG_ONLY_THIS_PROCESS_          = DEBUG_ONLY_THIS_PROCESS;
-const DWORD_ CREATE_SUSPENDED_                 = CREATE_SUSPENDED;
-const DWORD_ DETACHED_PROCESS_                 = DETACHED_PROCESS;
-const DWORD_ CREATE_NEW_CONSOLE_               = CREATE_NEW_CONSOLE;
-const DWORD_ CREATE_NEW_PROCESS_GROUP_         = CREATE_NEW_PROCESS_GROUP;
-const DWORD_ CREATE_UNICODE_ENVIRONMENT_       = CREATE_UNICODE_ENVIRONMENT;
-const DWORD_ CREATE_SEPARATE_WOW_VDM_          = CREATE_SEPARATE_WOW_VDM;
-const DWORD_ CREATE_SHARED_WOW_VDM_            = CREATE_SHARED_WOW_VDM;
-const DWORD_ CREATE_FORCEDOS_                  = CREATE_FORCEDOS;
-const DWORD_ CREATE_BREAKAWAY_FROM_JOB_        = CREATE_BREAKAWAY_FROM_JOB;
-const DWORD_ CREATE_DEFAULT_ERROR_MODE_        = CREATE_DEFAULT_ERROR_MODE;
-const DWORD_ CREATE_NO_WINDOW_                 = CREATE_NO_WINDOW;
-
-// Undocumented
-const DWORD_ PROFILE_USER_                     = PROFILE_USER;
-const DWORD_ PROFILE_KERNEL_                   = PROFILE_KERNEL;
-const DWORD_ PROFILE_SERVER_                   = PROFILE_SERVER;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ CREATE_PROTECTED_PROCESS_         = CREATE_PROTECTED_PROCESS;
-const DWORD_ EXTENDED_STARTUPINFO_PRESENT_     = EXTENDED_STARTUPINFO_PRESENT;
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7
-const DWORD_ INHERIT_PARENT_AFFINITY_          = INHERIT_PARENT_AFFINITY;
-#endif
-
-// Only documented for Windows CE
-#if defined(UNDER_CE)
-const DWORD_ INHERIT_CALLER_PRIORITY_          = INHERIT_CALLER_PRIORITY;
-#endif
-
-const DWORD_ STARTF_USESHOWWINDOW_    = STARTF_USESHOWWINDOW;
-const DWORD_ STARTF_USESIZE_          = STARTF_USESIZE;
-const DWORD_ STARTF_USEPOSITION_      = STARTF_USEPOSITION;
-const DWORD_ STARTF_USECOUNTCHARS_    = STARTF_USECOUNTCHARS;
-const DWORD_ STARTF_USEFILLATTRIBUTE_ = STARTF_USEFILLATTRIBUTE;
-const DWORD_ STARTF_RUNFULLSCREEN_    = STARTF_RUNFULLSCREEN;
-const DWORD_ STARTF_FORCEONFEEDBACK_  = STARTF_FORCEONFEEDBACK;
-const DWORD_ STARTF_FORCEOFFFEEDBACK_ = STARTF_FORCEOFFFEEDBACK;
-const DWORD_ STARTF_USESTDHANDLES_    = STARTF_USESTDHANDLES;
-const DWORD_ STARTF_USEHOTKEY_        = STARTF_USEHOTKEY;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7
-const DWORD_ STARTF_TITLEISLINKNAME_  = STARTF_TITLEISLINKNAME;
-const DWORD_ STARTF_TITLEISAPPID_     = STARTF_TITLEISAPPID;
-const DWORD_ STARTF_PREVENTPINNING_   = STARTF_PREVENTPINNING;
-#endif
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ DEBUG_PROCESS_                    = 0x1;
-const DWORD_ DEBUG_ONLY_THIS_PROCESS_          = 0x2;
-const DWORD_ CREATE_SUSPENDED_                 = 0x4;
-const DWORD_ DETACHED_PROCESS_                 = 0x8;
-const DWORD_ CREATE_NEW_CONSOLE_               = 0x10;
-const DWORD_ CREATE_NEW_PROCESS_GROUP_         = 0x200;
-const DWORD_ CREATE_UNICODE_ENVIRONMENT_       = 0x400;
-const DWORD_ CREATE_SEPARATE_WOW_VDM_          = 0x800;
-const DWORD_ CREATE_SHARED_WOW_VDM_            = 0x1000;
-const DWORD_ CREATE_FORCEDOS_                  = 0x2000;
-const DWORD_ CREATE_BREAKAWAY_FROM_JOB_        = 0x1000000;
-const DWORD_ CREATE_DEFAULT_ERROR_MODE_        = 0x4000000;
-const DWORD_ CREATE_NO_WINDOW_                 = 0x8000000;
-
-// Undocumented
-const DWORD_ PROFILE_USER_                     = 0x10000000;
-const DWORD_ PROFILE_KERNEL_                   = 0x20000000;
-const DWORD_ PROFILE_SERVER_                   = 0x40000000;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-const DWORD_ CREATE_PROTECTED_PROCESS_         = 0x40000;
-const DWORD_ EXTENDED_STARTUPINFO_PRESENT_     = 0x80000;
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7
-const DWORD_ INHERIT_PARENT_AFFINITY_          = 0x10000;
-#endif
-
-// Only documented for Windows CE
-#if defined(UNDER_CE)
-const DWORD_ INHERIT_CALLER_PRIORITY_          = 0x20000;
-#endif
-
-const DWORD_ STARTF_USESHOWWINDOW_    = 0x00000001;
-const DWORD_ STARTF_USESIZE_          = 0x00000002;
-const DWORD_ STARTF_USEPOSITION_      = 0x00000004;
-const DWORD_ STARTF_USECOUNTCHARS_    = 0x00000008;
-const DWORD_ STARTF_USEFILLATTRIBUTE_ = 0x00000010;
-const DWORD_ STARTF_RUNFULLSCREEN_    = 0x00000020;
-const DWORD_ STARTF_FORCEONFEEDBACK_  = 0x00000040;
-const DWORD_ STARTF_FORCEOFFFEEDBACK_ = 0x00000080;
-const DWORD_ STARTF_USESTDHANDLES_    = 0x00000100;
-const DWORD_ STARTF_USEHOTKEY_        = 0x00000200;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7
-const DWORD_ STARTF_TITLEISLINKNAME_  = 0x00000800;
-const DWORD_ STARTF_TITLEISAPPID_     = 0x00001000;
-const DWORD_ STARTF_PREVENTPINNING_   = 0x00002000;
-#endif
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-#if defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )
-
-const DWORD_ CREATE_PRESERVE_CODE_AUTHZ_LEVEL_ = CREATE_PRESERVE_CODE_AUTHZ_LEVEL;
-
-// Undocumented
-const DWORD_ CREATE_IGNORE_SYSTEM_DEFAULT_     = CREATE_IGNORE_SYSTEM_DEFAULT;
-
-#else // defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )
-
-const DWORD_ CREATE_PRESERVE_CODE_AUTHZ_LEVEL_ = 0x2000000;
-
-// Undocumented
-const DWORD_ CREATE_IGNORE_SYSTEM_DEFAULT_     = 0x80000000;
-
-#endif // defined( BOOST_USE_WINDOWS_H ) && !defined( BOOST_WINAPI_IS_MINGW )
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _PROCESS_INFORMATION {
-    HANDLE_ hProcess;
-    HANDLE_ hThread;
-    DWORD_ dwProcessId;
-    DWORD_ dwThreadId;
-} PROCESS_INFORMATION_, *PPROCESS_INFORMATION_, *LPPROCESS_INFORMATION_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _STARTUPINFOA {
-    DWORD_ cb;
-    LPSTR_ lpReserved;
-    LPSTR_ lpDesktop;
-    LPSTR_ lpTitle;
-    DWORD_ dwX;
-    DWORD_ dwY;
-    DWORD_ dwXSize;
-    DWORD_ dwYSize;
-    DWORD_ dwXCountChars;
-    DWORD_ dwYCountChars;
-    DWORD_ dwFillAttribute;
-    DWORD_ dwFlags;
-    WORD_ wShowWindow;
-    WORD_ cbReserved2;
-    LPBYTE_ lpReserved2;
-    HANDLE_ hStdInput;
-    HANDLE_ hStdOutput;
-    HANDLE_ hStdError;
-} STARTUPINFOA_, *LPSTARTUPINFOA_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _STARTUPINFOW {
-    DWORD_ cb;
-    LPWSTR_ lpReserved;
-    LPWSTR_ lpDesktop;
-    LPWSTR_ lpTitle;
-    DWORD_ dwX;
-    DWORD_ dwY;
-    DWORD_ dwXSize;
-    DWORD_ dwYSize;
-    DWORD_ dwXCountChars;
-    DWORD_ dwYCountChars;
-    DWORD_ dwFillAttribute;
-    DWORD_ dwFlags;
-    WORD_ wShowWindow;
-    WORD_ cbReserved2;
-    LPBYTE_ lpReserved2;
-    HANDLE_ hStdInput;
-    HANDLE_ hStdOutput;
-    HANDLE_ hStdError;
-} STARTUPINFOW_, *LPSTARTUPINFOW_;
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-typedef struct _PROC_THREAD_ATTRIBUTE_LIST PROC_THREAD_ATTRIBUTE_LIST_, *PPROC_THREAD_ATTRIBUTE_LIST_;
-
-#if !defined(BOOST_NO_ANSI_APIS)
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _STARTUPINFOEXA {
-    STARTUPINFOA_ StartupInfo;
-    PPROC_THREAD_ATTRIBUTE_LIST_ lpAttributeList;
-} STARTUPINFOEXA_, *LPSTARTUPINFOEXA_;
-#endif //BOOST_NO_ANSI_APIS
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _STARTUPINFOEXW {
-    STARTUPINFOW_ StartupInfo;
-    PPROC_THREAD_ATTRIBUTE_LIST_ lpAttributeList;
-} STARTUPINFOEXW_, *LPSTARTUPINFOEXW_;
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-using ::GetExitCodeProcess;
-using ::ExitProcess;
-using ::TerminateProcess;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE BOOL_ CreateProcessA(
-    LPCSTR_ lpApplicationName,
-    LPSTR_ lpCommandLine,
-    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,
-    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,
-    INT_ bInheritHandles,
-    DWORD_ dwCreationFlags,
-    LPVOID_ lpEnvironment,
-    LPCSTR_ lpCurrentDirectory,
-    LPSTARTUPINFOA_ lpStartupInfo,
-    LPPROCESS_INFORMATION_ lpProcessInformation)
-{
-    return ::CreateProcessA(
-        lpApplicationName,
-        lpCommandLine,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),
-        bInheritHandles,
-        dwCreationFlags,
-        lpEnvironment,
-        lpCurrentDirectory,
-        reinterpret_cast< ::_STARTUPINFOA* >(lpStartupInfo),
-        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));
-}
-
-BOOST_FORCEINLINE BOOL_ create_process(
-    LPCSTR_ lpApplicationName,
-    LPSTR_ lpCommandLine,
-    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,
-    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,
-    INT_ bInheritHandles,
-    DWORD_ dwCreationFlags,
-    LPVOID_ lpEnvironment,
-    LPCSTR_ lpCurrentDirectory,
-    LPSTARTUPINFOA_ lpStartupInfo,
-    LPPROCESS_INFORMATION_ lpProcessInformation)
-{
-    return ::CreateProcessA(
-        lpApplicationName,
-        lpCommandLine,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),
-        bInheritHandles,
-        dwCreationFlags,
-        lpEnvironment,
-        lpCurrentDirectory,
-        reinterpret_cast< ::_STARTUPINFOA* >(lpStartupInfo),
-        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));
-}
-#endif
-
-BOOST_FORCEINLINE BOOL_ CreateProcessW(
-    LPCWSTR_ lpApplicationName,
-    LPWSTR_ lpCommandLine,
-    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,
-    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,
-    INT_ bInheritHandles,
-    DWORD_ dwCreationFlags,
-    LPVOID_ lpEnvironment,
-    LPCWSTR_ lpCurrentDirectory,
-    LPSTARTUPINFOW_ lpStartupInfo,
-    LPPROCESS_INFORMATION_ lpProcessInformation)
-{
-    return ::CreateProcessW(
-        lpApplicationName,
-        lpCommandLine,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),
-        bInheritHandles,
-        dwCreationFlags,
-        lpEnvironment,
-        lpCurrentDirectory,
-        reinterpret_cast< ::_STARTUPINFOW* >(lpStartupInfo),
-        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));
-}
-
-BOOST_FORCEINLINE BOOL_ create_process(
-    LPCWSTR_ lpApplicationName,
-    LPWSTR_ lpCommandLine,
-    LPSECURITY_ATTRIBUTES_ lpProcessAttributes,
-    LPSECURITY_ATTRIBUTES_ lpThreadAttributes,
-    INT_ bInheritHandles,
-    DWORD_ dwCreationFlags,
-    LPVOID_ lpEnvironment,
-    LPCWSTR_ lpCurrentDirectory,
-    LPSTARTUPINFOW_ lpStartupInfo,
-    LPPROCESS_INFORMATION_ lpProcessInformation)
-{
-    return ::CreateProcessW(
-        lpApplicationName,
-        lpCommandLine,
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpProcessAttributes),
-        reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpThreadAttributes),
-        bInheritHandles,
-        dwCreationFlags,
-        lpEnvironment,
-        lpCurrentDirectory,
-        reinterpret_cast< ::_STARTUPINFOW* >(lpStartupInfo),
-        reinterpret_cast< ::_PROCESS_INFORMATION* >(lpProcessInformation));
-}
-
-}
-}
-}
-
-#endif // BOOST_PLAT_WINDOWS_DESKTOP
-
-#endif // BOOST_DETAIL_WINAPI_PROCESS_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/security.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/security.hpp
deleted file mode 100644
index 4a65445..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/security.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  security.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_SECURITY_HPP
-#define BOOST_DETAIL_WINAPI_SECURITY_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-struct _ACL;
-struct _SECURITY_DESCRIPTOR;
-#if defined( BOOST_WINAPI_IS_MINGW )
-typedef _SECURITY_DESCRIPTOR *PSECURITY_DESCRIPTOR;
-#else
-typedef boost::detail::winapi::PVOID_ PSECURITY_DESCRIPTOR;
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-InitializeSecurityDescriptor(
-    PSECURITY_DESCRIPTOR pSecurityDescriptor,
-    boost::detail::winapi::DWORD_ dwRevision);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetSecurityDescriptorDacl(
-    PSECURITY_DESCRIPTOR pSecurityDescriptor,
-    boost::detail::winapi::BOOL_ bDaclPresent,
-    ::_ACL* pDacl,
-    boost::detail::winapi::BOOL_ bDaclDefaulted);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef PVOID_ PSID_;
-typedef WORD_ SECURITY_DESCRIPTOR_CONTROL_, *PSECURITY_DESCRIPTOR_CONTROL_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _ACL {
-    BYTE_ AclRevision;
-    BYTE_ Sbz1;
-    WORD_ AclSize;
-    WORD_ AceCount;
-    WORD_ Sbz2;
-} ACL_, *PACL_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _SECURITY_DESCRIPTOR {
-    BYTE_ Revision;
-    BYTE_ Sbz1;
-    SECURITY_DESCRIPTOR_CONTROL_ Control;
-    PSID_ Owner;
-    PSID_ Group;
-    PACL_ Sacl;
-    PACL_ Dacl;
-} SECURITY_DESCRIPTOR_, *PISECURITY_DESCRIPTOR_;
-
-typedef ::PSECURITY_DESCRIPTOR PSECURITY_DESCRIPTOR_;
-
-using ::InitializeSecurityDescriptor;
-
-BOOST_FORCEINLINE BOOL_ SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR_ pSecurityDescriptor, BOOL_ bDaclPresent, PACL_ pDacl, BOOL_ bDaclDefaulted)
-{
-    return ::SetSecurityDescriptorDacl(pSecurityDescriptor, bDaclPresent, reinterpret_cast< ::_ACL* >(pDacl), bDaclDefaulted);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_SECURITY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/semaphore.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/semaphore.hpp
deleted file mode 100644
index 8415e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/semaphore.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-//  semaphore.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_SEMAPHORE_HPP
-#define BOOST_DETAIL_WINAPI_SEMAPHORE_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( BOOST_NO_ANSI_APIS )
-#if !defined( BOOST_PLAT_WINDOWS_RUNTIME_AVALIABLE )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateSemaphoreA(
-    ::_SECURITY_ATTRIBUTES* lpSemaphoreAttributes,
-    boost::detail::winapi::LONG_ lInitialCount,
-    boost::detail::winapi::LONG_ lMaximumCount,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateSemaphoreExA(
-    ::_SECURITY_ATTRIBUTES* lpSemaphoreAttributes,
-    boost::detail::winapi::LONG_ lInitialCount,
-    boost::detail::winapi::LONG_ lMaximumCount,
-    boost::detail::winapi::LPCSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwDesiredAccess);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenSemaphoreA(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCSTR_ lpName);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateSemaphoreW(
-    ::_SECURITY_ATTRIBUTES* lpSemaphoreAttributes,
-    boost::detail::winapi::LONG_ lInitialCount,
-    boost::detail::winapi::LONG_ lMaximumCount,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateSemaphoreExW(
-    ::_SECURITY_ATTRIBUTES* lpSemaphoreAttributes,
-    boost::detail::winapi::LONG_ lInitialCount,
-    boost::detail::winapi::LONG_ lMaximumCount,
-    boost::detail::winapi::LPCWSTR_ lpName,
-    boost::detail::winapi::DWORD_ dwFlags,
-    boost::detail::winapi::DWORD_ dwDesiredAccess);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenSemaphoreW(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCWSTR_ lpName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-ReleaseSemaphore(
-    boost::detail::winapi::HANDLE_ hSemaphore,
-    boost::detail::winapi::LONG_ lReleaseCount,
-    boost::detail::winapi::LPLONG_ lpPreviousCount);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::OpenSemaphoreA;
-#endif
-using ::OpenSemaphoreW;
-using ::ReleaseSemaphore;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ SEMAPHORE_ALL_ACCESS_ = SEMAPHORE_ALL_ACCESS;
-const DWORD_ SEMAPHORE_MODIFY_STATE_ = SEMAPHORE_MODIFY_STATE;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ SEMAPHORE_ALL_ACCESS_ = 0x001F0003;
-const DWORD_ SEMAPHORE_MODIFY_STATE_ = 0x00000002;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// Undocumented and not present in Windows SDK. Enables NtQuerySemaphore.
-// http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FNT%20Objects%2FEvent%2FNtQueryEvent.html
-const DWORD_ SEMAPHORE_QUERY_STATE_ = 0x00000001;
-
-const DWORD_ semaphore_all_access = SEMAPHORE_ALL_ACCESS_;
-const DWORD_ semaphore_modify_state = SEMAPHORE_MODIFY_STATE_;
-
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateSemaphoreA(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount, LPCSTR_ lpName)
-{
-#if BOOST_PLAT_WINDOWS_RUNTIME && BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-    return ::CreateSemaphoreExA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSemaphoreAttributes), lInitialCount, lMaximumCount, lpName, 0, semaphore_all_access);
-#else
-    return ::CreateSemaphoreA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSemaphoreAttributes), lInitialCount, lMaximumCount, lpName);
-#endif
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE HANDLE_ CreateSemaphoreExA(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount, LPCSTR_ lpName, DWORD_ dwFlags, DWORD_ dwDesiredAccess)
-{
-    return ::CreateSemaphoreExA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSemaphoreAttributes), lInitialCount, lMaximumCount, lpName, dwFlags, dwDesiredAccess);
-}
-#endif
-#endif
-
-BOOST_FORCEINLINE HANDLE_ CreateSemaphoreW(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount, LPCWSTR_ lpName)
-{
-#if BOOST_PLAT_WINDOWS_RUNTIME && BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-    return ::CreateSemaphoreExW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSemaphoreAttributes), lInitialCount, lMaximumCount, lpName, 0, semaphore_all_access);
-#else
-    return ::CreateSemaphoreW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSemaphoreAttributes), lInitialCount, lMaximumCount, lpName);
-#endif
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_FORCEINLINE HANDLE_ CreateSemaphoreExW(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount, LPCWSTR_ lpName, DWORD_ dwFlags, DWORD_ dwDesiredAccess)
-{
-    return ::CreateSemaphoreExW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpSemaphoreAttributes), lInitialCount, lMaximumCount, lpName, dwFlags, dwDesiredAccess);
-}
-#endif
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ create_semaphore(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount, LPCSTR_ lpName)
-{
-    return winapi::CreateSemaphoreA(lpSemaphoreAttributes, lInitialCount, lMaximumCount, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_semaphore(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName)
-{
-    return ::OpenSemaphoreA(dwDesiredAccess, bInheritHandle, lpName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ create_semaphore(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount, LPCWSTR_ lpName)
-{
-    return winapi::CreateSemaphoreW(lpSemaphoreAttributes, lInitialCount, lMaximumCount, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ open_semaphore(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName)
-{
-    return ::OpenSemaphoreW(dwDesiredAccess, bInheritHandle, lpName);
-}
-
-BOOST_FORCEINLINE HANDLE_ create_anonymous_semaphore(SECURITY_ATTRIBUTES_* lpSemaphoreAttributes, LONG_ lInitialCount, LONG_ lMaximumCount)
-{
-    return winapi::CreateSemaphoreW(lpSemaphoreAttributes, lInitialCount, lMaximumCount, 0);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_SEMAPHORE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/shell.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/shell.hpp
deleted file mode 100644
index fbb9ad6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/shell.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  shell.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_SHELL_HPP_
-#define BOOST_DETAIL_WINAPI_SHELL_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/limits.hpp>
-#if defined( BOOST_USE_WINDOWS_H )
-#include <shellapi.h>
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-
-BOOST_DETAIL_WINAPI_DECLARE_HANDLE(HICON);
-
-#if !defined( BOOST_NO_ANSI_APIS )
-struct _SHFILEINFOA;
-#endif
-struct _SHFILEINFOW;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_PTR_ WINAPI SHGetFileInfoA(
-    boost::detail::winapi::LPCSTR_ pszPath,
-    boost::detail::winapi::DWORD_ dwFileAttributes,
-    ::_SHFILEINFOA *psfinsigned,
-    boost::detail::winapi::UINT_ cbFileInfons,
-    boost::detail::winapi::UINT_ uFlags);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_PTR_ WINAPI SHGetFileInfoW(
-    boost::detail::winapi::LPCWSTR_ pszPath,
-    boost::detail::winapi::DWORD_ dwFileAttributes,
-    ::_SHFILEINFOW *psfinsigned,
-    boost::detail::winapi::UINT_ cbFileInfons,
-    boost::detail::winapi::UINT_ uFlags);
-
-} // extern "C"
-#endif // !defined( BOOST_USE_WINDOWS_H )
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef ::HICON HICON_;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ SHGFI_ICON_              = SHGFI_ICON;
-const DWORD_ SHGFI_DISPLAYNAME_       = SHGFI_DISPLAYNAME;
-const DWORD_ SHGFI_TYPENAME_          = SHGFI_TYPENAME;
-const DWORD_ SHGFI_ATTRIBUTES_        = SHGFI_ATTRIBUTES;
-const DWORD_ SHGFI_ICONLOCATION_      = SHGFI_ICONLOCATION;
-const DWORD_ SHGFI_EXETYPE_           = SHGFI_EXETYPE;
-const DWORD_ SHGFI_SYSICONINDEX_      = SHGFI_SYSICONINDEX;
-const DWORD_ SHGFI_LINKOVERLAY_       = SHGFI_LINKOVERLAY;
-const DWORD_ SHGFI_SELECTED_          = SHGFI_SELECTED;
-const DWORD_ SHGFI_ATTR_SPECIFIED_    = SHGFI_ATTR_SPECIFIED;
-const DWORD_ SHGFI_LARGEICON_         = SHGFI_LARGEICON;
-const DWORD_ SHGFI_SMALLICON_         = SHGFI_SMALLICON;
-const DWORD_ SHGFI_OPENICON_          = SHGFI_OPENICON;
-const DWORD_ SHGFI_SHELLICONSIZE_     = SHGFI_SHELLICONSIZE;
-const DWORD_ SHGFI_PIDL_              = SHGFI_PIDL;
-const DWORD_ SHGFI_USEFILEATTRIBUTES_ = SHGFI_USEFILEATTRIBUTES;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ SHGFI_ICON_              = 0x000000100;
-const DWORD_ SHGFI_DISPLAYNAME_       = 0x000000200;
-const DWORD_ SHGFI_TYPENAME_          = 0x000000400;
-const DWORD_ SHGFI_ATTRIBUTES_        = 0x000000800;
-const DWORD_ SHGFI_ICONLOCATION_      = 0x000001000;
-const DWORD_ SHGFI_EXETYPE_           = 0x000002000;
-const DWORD_ SHGFI_SYSICONINDEX_      = 0x000004000;
-const DWORD_ SHGFI_LINKOVERLAY_       = 0x000008000;
-const DWORD_ SHGFI_SELECTED_          = 0x000010000;
-const DWORD_ SHGFI_ATTR_SPECIFIED_    = 0x000020000;
-const DWORD_ SHGFI_LARGEICON_         = 0x000000000;
-const DWORD_ SHGFI_SMALLICON_         = 0x000000001;
-const DWORD_ SHGFI_OPENICON_          = 0x000000002;
-const DWORD_ SHGFI_SHELLICONSIZE_     = 0x000000004;
-const DWORD_ SHGFI_PIDL_              = 0x000000008;
-const DWORD_ SHGFI_USEFILEATTRIBUTES_ = 0x000000010;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-// These constants are only declared for _WIN32_IE >= 0x0500. We don't set IE version
-// and 5.0 is the default version since NT4 SP6, so just define the constants unconditionally.
-const DWORD_ SHGFI_ADDOVERLAYS_       = 0x000000020;
-const DWORD_ SHGFI_OVERLAYINDEX_      = 0x000000040;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _SHFILEINFOA {
-    HICON_ hIcon;
-    int iIcon;
-    DWORD_ dwAttributes;
-    CHAR_ szDisplayName[MAX_PATH_];
-    CHAR_ szTypeName[80];
-} SHFILEINFOA_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _SHFILEINFOW {
-    HICON_ hIcon;
-    int iIcon;
-    DWORD_ dwAttributes;
-    WCHAR_ szDisplayName[MAX_PATH_];
-    WCHAR_ szTypeName[80];
-} SHFILEINFOW_;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-
-BOOST_FORCEINLINE DWORD_PTR_ SHGetFileInfoA(LPCSTR_ pszPath, DWORD_ dwFileAttributes, SHFILEINFOA_* psfinsigned, UINT_ cbFileInfons, UINT_ uFlags)
-{
-    return ::SHGetFileInfoA(pszPath, dwFileAttributes, reinterpret_cast< ::_SHFILEINFOA* >(psfinsigned), cbFileInfons, uFlags);
-}
-
-BOOST_FORCEINLINE DWORD_PTR_ sh_get_file_info(LPCSTR_ pszPath, DWORD_ dwFileAttributes, SHFILEINFOA_* psfinsigned, UINT_ cbFileInfons, UINT_ uFlags)
-{
-    return ::SHGetFileInfoA(pszPath, dwFileAttributes, reinterpret_cast< ::_SHFILEINFOA* >(psfinsigned), cbFileInfons, uFlags);
-}
-
-#endif // BOOST_NO_ANSI_APIS
-
-BOOST_FORCEINLINE DWORD_PTR_ SHGetFileInfoW(LPCWSTR_ pszPath, DWORD_ dwFileAttributes, SHFILEINFOW_* psfinsigned, UINT_ cbFileInfons, UINT_ uFlags)
-{
-    return ::SHGetFileInfoW(pszPath, dwFileAttributes, reinterpret_cast< ::_SHFILEINFOW* >(psfinsigned), cbFileInfons, uFlags);
-}
-
-BOOST_FORCEINLINE DWORD_PTR_ sh_get_file_info(LPCWSTR_ pszPath, DWORD_ dwFileAttributes, SHFILEINFOW_* psfinsigned, UINT_ cbFileInfons, UINT_ uFlags)
-{
-    return ::SHGetFileInfoW(pszPath, dwFileAttributes, reinterpret_cast< ::_SHFILEINFOW* >(psfinsigned), cbFileInfons, uFlags);
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_SHELL_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/show_window.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/show_window.hpp
deleted file mode 100644
index a8839ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/show_window.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//  show_window.hpp  --------------------------------------------------------------//
-
-//  Copyright 2016 Klemens D. Morgenstern
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_DETAIL_WINAPI_SHOW_WINDOW_HPP_
-#define BOOST_DETAIL_WINAPI_SHOW_WINDOW_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_DETAIL_WINAPI_DECLARE_HANDLE(HWND);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI ShowWindow(
-        HWND hWnd,
-        int nCmdShow);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI ShowWindowAsync(
-        HWND hWnd,
-        int nCmdShow);
-}
-#endif // BOOST_USE_WINDOWS_H
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef ::HWND HWND_;
-using ::ShowWindow;
-using ::ShowWindowAsync;
-
-#if defined( BOOST_USE_WINDOWS_H ) && !defined( NOSHOWWINDOW )
-
-const DWORD_ SW_HIDE_             = SW_HIDE;
-const DWORD_ SW_SHOWNORMAL_       = SW_SHOWNORMAL;
-const DWORD_ SW_NORMAL_           = SW_NORMAL;
-const DWORD_ SW_SHOWMINIMIZED_    = SW_SHOWMINIMIZED;
-const DWORD_ SW_SHOWMAXIMIZED_    = SW_SHOWMAXIMIZED;
-const DWORD_ SW_MAXIMIZE_         = SW_MAXIMIZE;
-const DWORD_ SW_SHOWNOACTIVATE_   = SW_SHOWNOACTIVATE;
-const DWORD_ SW_SHOW_             = SW_SHOW;
-const DWORD_ SW_MINIMIZE_         = SW_MINIMIZE;
-const DWORD_ SW_SHOWMINNOACTIVE_  = SW_SHOWMINNOACTIVE;
-const DWORD_ SW_SHOWNA_           = SW_SHOWNA;
-const DWORD_ SW_RESTORE_          = SW_RESTORE;
-const DWORD_ SW_SHOWDEFAULT_      = SW_SHOWDEFAULT;
-const DWORD_ SW_FORCEMINIMIZE_    = SW_FORCEMINIMIZE;
-const DWORD_ SW_MAX_              = SW_MAX;
-const DWORD_ HIDE_WINDOW_         = HIDE_WINDOW;
-const DWORD_ SHOW_OPENWINDOW_     = SHOW_OPENWINDOW;
-const DWORD_ SHOW_ICONWINDOW_     = SHOW_ICONWINDOW;
-const DWORD_ SHOW_FULLSCREEN_     = SHOW_FULLSCREEN;
-const DWORD_ SHOW_OPENNOACTIVATE_ = SHOW_OPENNOACTIVATE;
-const DWORD_ SW_PARENTCLOSING_    = SW_PARENTCLOSING;
-const DWORD_ SW_OTHERZOOM_        = SW_OTHERZOOM;
-const DWORD_ SW_PARENTOPENING_    = SW_PARENTOPENING;
-const DWORD_ SW_OTHERUNZOOM_      = SW_OTHERUNZOOM;
-
-#else
-
-const DWORD_ SW_HIDE_             = 0;
-const DWORD_ SW_SHOWNORMAL_       = 1;
-const DWORD_ SW_NORMAL_           = 1;
-const DWORD_ SW_SHOWMINIMIZED_    = 2;
-const DWORD_ SW_SHOWMAXIMIZED_    = 3;
-const DWORD_ SW_MAXIMIZE_         = 3;
-const DWORD_ SW_SHOWNOACTIVATE_   = 4;
-const DWORD_ SW_SHOW_             = 5;
-const DWORD_ SW_MINIMIZE_         = 6;
-const DWORD_ SW_SHOWMINNOACTIVE_  = 7;
-const DWORD_ SW_SHOWNA_           = 8;
-const DWORD_ SW_RESTORE_          = 9;
-const DWORD_ SW_SHOWDEFAULT_      = 10;
-const DWORD_ SW_FORCEMINIMIZE_    = 11;
-const DWORD_ SW_MAX_              = 11;
-const DWORD_ HIDE_WINDOW_         = 0;
-const DWORD_ SHOW_OPENWINDOW_     = 1;
-const DWORD_ SHOW_ICONWINDOW_     = 2;
-const DWORD_ SHOW_FULLSCREEN_     = 3;
-const DWORD_ SHOW_OPENNOACTIVATE_ = 4;
-const DWORD_ SW_PARENTCLOSING_    = 1;
-const DWORD_ SW_OTHERZOOM_        = 2;
-const DWORD_ SW_PARENTOPENING_    = 3;
-const DWORD_ SW_OTHERUNZOOM_      = 4;
-
-#endif
-
-}
-
-}
-}
-
-#endif // BOOST_PLAT_WINDOWS_DESKTOP
-
-#endif // BOOST_DETAIL_WINAPI_SHOW_WINDOW_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/srw_lock.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/srw_lock.hpp
deleted file mode 100644
index 0dad858..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/srw_lock.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//  srw_lock.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_SRW_LOCK_HPP
-#define BOOST_DETAIL_WINAPI_SRW_LOCK_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WIN6 \
-    || (defined(_MSC_VER) && _MSC_VER < 1600)
-// Windows SDK 6.0A, which is used by MSVC 9, does not have TryAcquireSRWLock* neither in headers nor in .lib files,
-// although the functions are present in later SDKs since Windows API version 6.
-#define BOOST_WINAPI_NO_TRY_ACQUIRE_SRWLOCK
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-struct _RTL_SRWLOCK;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-InitializeSRWLock(::_RTL_SRWLOCK* SRWLock);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-ReleaseSRWLockExclusive(::_RTL_SRWLOCK* SRWLock);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-ReleaseSRWLockShared(::_RTL_SRWLOCK* SRWLock);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-AcquireSRWLockExclusive(::_RTL_SRWLOCK* SRWLock);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-AcquireSRWLockShared(::_RTL_SRWLOCK* SRWLock);
-
-#if !defined( BOOST_WINAPI_NO_TRY_ACQUIRE_SRWLOCK )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOLEAN_ WINAPI
-TryAcquireSRWLockExclusive(::_RTL_SRWLOCK* SRWLock);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOLEAN_ WINAPI
-TryAcquireSRWLockShared(::_RTL_SRWLOCK* SRWLock);
-#endif
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _RTL_SRWLOCK {
-    PVOID_ Ptr;
-} SRWLOCK_, *PSRWLOCK_;
-
-#if defined( BOOST_USE_WINDOWS_H )
-#define BOOST_DETAIL_WINAPI_SRWLOCK_INIT SRWLOCK_INIT
-#else
-#define BOOST_DETAIL_WINAPI_SRWLOCK_INIT {0}
-#endif
-
-BOOST_FORCEINLINE VOID_ InitializeSRWLock(PSRWLOCK_ SRWLock)
-{
-    ::InitializeSRWLock(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-
-BOOST_FORCEINLINE VOID_ ReleaseSRWLockExclusive(PSRWLOCK_ SRWLock)
-{
-    ::ReleaseSRWLockExclusive(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-
-BOOST_FORCEINLINE VOID_ ReleaseSRWLockShared(PSRWLOCK_ SRWLock)
-{
-    ::ReleaseSRWLockShared(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-
-BOOST_FORCEINLINE VOID_ AcquireSRWLockExclusive(PSRWLOCK_ SRWLock)
-{
-    ::AcquireSRWLockExclusive(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-
-BOOST_FORCEINLINE VOID_ AcquireSRWLockShared(PSRWLOCK_ SRWLock)
-{
-    ::AcquireSRWLockShared(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-
-#if !defined( BOOST_WINAPI_NO_TRY_ACQUIRE_SRWLOCK )
-BOOST_FORCEINLINE BOOLEAN_ TryAcquireSRWLockExclusive(PSRWLOCK_ SRWLock)
-{
-    return ::TryAcquireSRWLockExclusive(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-
-BOOST_FORCEINLINE BOOLEAN_ TryAcquireSRWLockShared(PSRWLOCK_ SRWLock)
-{
-    return ::TryAcquireSRWLockShared(reinterpret_cast< ::_RTL_SRWLOCK* >(SRWLock));
-}
-#endif
-
-}
-}
-}
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#endif // BOOST_DETAIL_WINAPI_SRW_LOCK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/synchronization.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/synchronization.hpp
deleted file mode 100644
index d4f8c04..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/synchronization.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//  synchronizaion.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP
-#define BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/critical_section.hpp>
-#include <boost/detail/winapi/wait.hpp>
-#include <boost/detail/winapi/event.hpp>
-#include <boost/detail/winapi/mutex.hpp>
-#include <boost/detail/winapi/semaphore.hpp>
-#include <boost/detail/winapi/init_once.hpp>
-#include <boost/detail/winapi/srw_lock.hpp>
-#include <boost/detail/winapi/condition_variable.hpp>
-#include <boost/detail/winapi/apc.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/system.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/system.hpp
deleted file mode 100644
index 93a5eeb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/system.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//  system.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright (c) Microsoft Corporation 2014
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_SYSTEM_HPP
-#define BOOST_DETAIL_WINAPI_SYSTEM_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-struct _SYSTEM_INFO;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-GetSystemInfo(::_SYSTEM_INFO* lpSystemInfo);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WINXP
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-GetNativeSystemInfo(::_SYSTEM_INFO* lpSystemInfo);
-#endif
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _SYSTEM_INFO {
-    union {
-        DWORD_ dwOemId;
-        struct {
-            WORD_ wProcessorArchitecture;
-            WORD_ wReserved;
-        } DUMMYSTRUCTNAME;
-    } DUMMYUNIONNAME;
-    DWORD_ dwPageSize;
-    LPVOID_ lpMinimumApplicationAddress;
-    LPVOID_ lpMaximumApplicationAddress;
-    DWORD_PTR_ dwActiveProcessorMask;
-    DWORD_ dwNumberOfProcessors;
-    DWORD_ dwProcessorType;
-    DWORD_ dwAllocationGranularity;
-    WORD_ wProcessorLevel;
-    WORD_ wProcessorRevision;
-} SYSTEM_INFO_, *LPSYSTEM_INFO_;
-
-BOOST_FORCEINLINE VOID_ GetSystemInfo(LPSYSTEM_INFO_ lpSystemInfo)
-{
-    ::GetSystemInfo(reinterpret_cast< ::_SYSTEM_INFO* >(lpSystemInfo));
-}
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WINXP
-BOOST_FORCEINLINE VOID_ GetNativeSystemInfo(LPSYSTEM_INFO_ lpSystemInfo)
-{
-    ::GetNativeSystemInfo(reinterpret_cast< ::_SYSTEM_INFO* >(lpSystemInfo));
-}
-#endif
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_SYSTEM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/thread.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/thread.hpp
deleted file mode 100644
index 6162708..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/thread.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//  thread.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_THREAD_HPP
-#define BOOST_DETAIL_WINAPI_THREAD_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/get_current_thread.hpp>
-#include <boost/detail/winapi/get_current_thread_id.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-SleepEx(
-    boost::detail::winapi::DWORD_ dwMilliseconds,
-    boost::detail::winapi::BOOL_ bAlertable);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI Sleep(boost::detail::winapi::DWORD_ dwMilliseconds);
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI SwitchToThread(BOOST_DETAIL_WINAPI_VOID);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-using ::SleepEx;
-using ::Sleep;
-using ::SwitchToThread;
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_THREAD_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/thread_pool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/thread_pool.hpp
deleted file mode 100644
index f81c545..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/thread_pool.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-//  thread_pool.hpp  --------------------------------------------------------------//
-
-//  Copyright 2013 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_THREAD_POOL_HPP
-#define BOOST_DETAIL_WINAPI_THREAD_POOL_HPP
-
-#include <boost/detail/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-typedef boost::detail::winapi::VOID_ (NTAPI *WAITORTIMERCALLBACKFUNC)
-(boost::detail::winapi::PVOID_, boost::detail::winapi::BOOLEAN_);
-typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-RegisterWaitForSingleObject(
-    boost::detail::winapi::PHANDLE_ phNewWaitObject,
-    boost::detail::winapi::HANDLE_ hObject,
-    WAITORTIMERCALLBACK Callback,
-    boost::detail::winapi::PVOID_ Context,
-    boost::detail::winapi::ULONG_ dwMilliseconds,
-    boost::detail::winapi::ULONG_ dwFlags);
-}
-#endif
-
-// MinGW is buggy - it is missing these function declarations for Win2000
-#if !defined( BOOST_USE_WINDOWS_H ) || (defined(BOOST_WINAPI_IS_MINGW) && BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP)
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-UnregisterWait(boost::detail::winapi::HANDLE_ WaitHandle);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-UnregisterWaitEx(
-    boost::detail::winapi::HANDLE_ WaitHandle,
-    boost::detail::winapi::HANDLE_ CompletionEvent);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef ::WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACKFUNC_;
-typedef ::WAITORTIMERCALLBACK WAITORTIMERCALLBACK_;
-
-using ::RegisterWaitForSingleObject;
-using ::UnregisterWait;
-using ::UnregisterWaitEx;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const ULONG_ WT_EXECUTEDEFAULT_ = WT_EXECUTEDEFAULT;
-const ULONG_ WT_EXECUTEINIOTHREAD_ = WT_EXECUTEINIOTHREAD;
-#if defined( BOOST_WINAPI_IS_MINGW )
-const ULONG_ WT_EXECUTEINUITHREAD_ = 0x00000002;
-#else
-const ULONG_ WT_EXECUTEINUITHREAD_ = WT_EXECUTEINUITHREAD;
-#endif
-const ULONG_ WT_EXECUTEINWAITTHREAD_ = WT_EXECUTEINWAITTHREAD;
-const ULONG_ WT_EXECUTEONLYONCE_ = WT_EXECUTEONLYONCE;
-const ULONG_ WT_EXECUTEINTIMERTHREAD_ = WT_EXECUTEINTIMERTHREAD;
-const ULONG_ WT_EXECUTELONGFUNCTION_ = WT_EXECUTELONGFUNCTION;
-#if defined( BOOST_WINAPI_IS_MINGW )
-const ULONG_ WT_EXECUTEINPERSISTENTIOTHREAD_ = 0x00000040;
-#else
-const ULONG_ WT_EXECUTEINPERSISTENTIOTHREAD_ = WT_EXECUTEINPERSISTENTIOTHREAD;
-#endif
-const ULONG_ WT_EXECUTEINPERSISTENTTHREAD_ = WT_EXECUTEINPERSISTENTTHREAD;
-const ULONG_ WT_TRANSFER_IMPERSONATION_ = WT_TRANSFER_IMPERSONATION;
-
-inline ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit)
-{
-    return WT_SET_MAX_THREADPOOL_THREADS(flags, limit);
-}
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const ULONG_ WT_EXECUTEDEFAULT_ = 0x00000000;
-const ULONG_ WT_EXECUTEINIOTHREAD_ = 0x00000001;
-const ULONG_ WT_EXECUTEINUITHREAD_ = 0x00000002;
-const ULONG_ WT_EXECUTEINWAITTHREAD_ = 0x00000004;
-const ULONG_ WT_EXECUTEONLYONCE_ = 0x00000008;
-const ULONG_ WT_EXECUTEINTIMERTHREAD_ = 0x00000020;
-const ULONG_ WT_EXECUTELONGFUNCTION_ = 0x00000010;
-const ULONG_ WT_EXECUTEINPERSISTENTIOTHREAD_ = 0x00000040;
-const ULONG_ WT_EXECUTEINPERSISTENTTHREAD_ = 0x00000080;
-const ULONG_ WT_TRANSFER_IMPERSONATION_ = 0x00000100;
-
-inline ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit)
-{
-    return flags | (limit << 16);
-}
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-const ULONG_ wt_execute_default = WT_EXECUTEDEFAULT_;
-const ULONG_ wt_execute_in_io_thread = WT_EXECUTEINIOTHREAD_;
-const ULONG_ wt_execute_in_ui_thread = WT_EXECUTEINUITHREAD_;
-const ULONG_ wt_execute_in_wait_thread = WT_EXECUTEINWAITTHREAD_;
-const ULONG_ wt_execute_only_once = WT_EXECUTEONLYONCE_;
-const ULONG_ wt_execute_in_timer_thread = WT_EXECUTEINTIMERTHREAD_;
-const ULONG_ wt_execute_long_function = WT_EXECUTELONGFUNCTION_;
-const ULONG_ wt_execute_in_persistent_io_thread = WT_EXECUTEINPERSISTENTIOTHREAD_;
-const ULONG_ wt_execute_in_persistent_thread = WT_EXECUTEINPERSISTENTTHREAD_;
-const ULONG_ wt_transfer_impersonation = WT_TRANSFER_IMPERSONATION_;
-
-}
-}
-}
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
-
-#endif // BOOST_DETAIL_WINAPI_THREAD_POOL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/time.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/time.hpp
deleted file mode 100644
index 0f69f47..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/time.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-//  time.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright (c) Microsoft Corporation 2014
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_TIME_HPP
-#define BOOST_DETAIL_WINAPI_TIME_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/predef/platform.h>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-struct _FILETIME;
-struct _SYSTEMTIME;
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-GetSystemTime(::_SYSTEMTIME* lpSystemTime);
-
-#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME  // Windows CE does not define GetSystemTimeAsFileTime
-BOOST_SYMBOL_IMPORT boost::detail::winapi::VOID_ WINAPI
-GetSystemTimeAsFileTime(::_FILETIME* lpSystemTimeAsFileTime);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SystemTimeToFileTime(
-    const ::_SYSTEMTIME* lpSystemTime,
-    ::_FILETIME* lpFileTime);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FileTimeToSystemTime(
-    const ::_FILETIME* lpFileTime,
-    ::_SYSTEMTIME* lpSystemTime);
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-FileTimeToLocalFileTime(
-    const ::_FILETIME* lpFileTime,
-    ::_FILETIME* lpLocalFileTime);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-LocalFileTimeToFileTime(
-    const ::_FILETIME* lpLocalFileTime,
-    ::_FILETIME* lpFileTime);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-GetTickCount(BOOST_DETAIL_WINAPI_VOID);
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-BOOST_SYMBOL_IMPORT boost::detail::winapi::ULONGLONG_ WINAPI
-GetTickCount64(BOOST_DETAIL_WINAPI_VOID);
-#endif
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _FILETIME {
-    DWORD_ dwLowDateTime;
-    DWORD_ dwHighDateTime;
-} FILETIME_, *PFILETIME_, *LPFILETIME_;
-
-typedef struct BOOST_DETAIL_WINAPI_MAY_ALIAS _SYSTEMTIME {
-    WORD_ wYear;
-    WORD_ wMonth;
-    WORD_ wDayOfWeek;
-    WORD_ wDay;
-    WORD_ wHour;
-    WORD_ wMinute;
-    WORD_ wSecond;
-    WORD_ wMilliseconds;
-} SYSTEMTIME_, *PSYSTEMTIME_, *LPSYSTEMTIME_;
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-using ::GetTickCount;
-#endif
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-using ::GetTickCount64;
-#endif
-
-BOOST_FORCEINLINE VOID_ GetSystemTime(LPSYSTEMTIME_ lpSystemTime)
-{
-    ::GetSystemTime(reinterpret_cast< ::_SYSTEMTIME* >(lpSystemTime));
-}
-
-#if defined( BOOST_HAS_GETSYSTEMTIMEASFILETIME )
-BOOST_FORCEINLINE VOID_ GetSystemTimeAsFileTime(LPFILETIME_ lpSystemTimeAsFileTime)
-{
-    ::GetSystemTimeAsFileTime(reinterpret_cast< ::_FILETIME* >(lpSystemTimeAsFileTime));
-}
-#else
-// Windows CE does not define GetSystemTimeAsFileTime
-BOOST_FORCEINLINE VOID_ GetSystemTimeAsFileTime(FILETIME_* lpFileTime)
-{
-    boost::detail::winapi::SYSTEMTIME_ st;
-    boost::detail::winapi::GetSystemTime(&st);
-    boost::detail::winapi::SystemTimeToFileTime(&st, lpFileTime);
-}
-#endif
-
-BOOST_FORCEINLINE BOOL_ SystemTimeToFileTime(const SYSTEMTIME_* lpSystemTime, FILETIME_* lpFileTime)
-{
-    return ::SystemTimeToFileTime(reinterpret_cast< const ::_SYSTEMTIME* >(lpSystemTime), reinterpret_cast< ::_FILETIME* >(lpFileTime));
-}
-
-BOOST_FORCEINLINE BOOL_ FileTimeToSystemTime(const FILETIME_* lpFileTime, SYSTEMTIME_* lpSystemTime)
-{
-    return ::FileTimeToSystemTime(reinterpret_cast< const ::_FILETIME* >(lpFileTime), reinterpret_cast< ::_SYSTEMTIME* >(lpSystemTime));
-}
-
-#if BOOST_PLAT_WINDOWS_DESKTOP
-BOOST_FORCEINLINE BOOL_ FileTimeToLocalFileTime(const FILETIME_* lpFileTime, FILETIME_* lpLocalFileTime)
-{
-    return ::FileTimeToLocalFileTime(reinterpret_cast< const ::_FILETIME* >(lpFileTime), reinterpret_cast< ::_FILETIME* >(lpLocalFileTime));
-}
-
-BOOST_FORCEINLINE BOOL_ LocalFileTimeToFileTime(const FILETIME_* lpLocalFileTime, FILETIME_* lpFileTime)
-{
-    return ::LocalFileTimeToFileTime(reinterpret_cast< const ::_FILETIME* >(lpLocalFileTime), reinterpret_cast< ::_FILETIME* >(lpFileTime));
-}
-#endif
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_TIME_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/timers.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/timers.hpp
deleted file mode 100644
index c3bf826..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/timers.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//  timers.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_TIMERS_HPP
-#define BOOST_DETAIL_WINAPI_TIMERS_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-QueryPerformanceCounter(::_LARGE_INTEGER* lpPerformanceCount);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-QueryPerformanceFrequency(::_LARGE_INTEGER* lpFrequency);
-}
-#endif
-
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-BOOST_FORCEINLINE BOOL_ QueryPerformanceCounter(LARGE_INTEGER_* lpPerformanceCount)
-{
-    return ::QueryPerformanceCounter(reinterpret_cast< ::_LARGE_INTEGER* >(lpPerformanceCount));
-}
-
-BOOST_FORCEINLINE BOOL_ QueryPerformanceFrequency(LARGE_INTEGER_* lpFrequency)
-{
-    return ::QueryPerformanceFrequency(reinterpret_cast< ::_LARGE_INTEGER* >(lpFrequency));
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_TIMERS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/tls.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/tls.hpp
deleted file mode 100644
index bcdd7dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/tls.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//  tls.hpp  --------------------------------------------------------------//
-
-//  Copyright 2013 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_TLS_HPP
-#define BOOST_DETAIL_WINAPI_TLS_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if !defined( UNDER_CE )
-// Windows CE define TlsAlloc and TlsFree as inline functions in kfuncs.h
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-TlsAlloc(BOOST_DETAIL_WINAPI_VOID);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-TlsFree(boost::detail::winapi::DWORD_ dwTlsIndex);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::LPVOID_ WINAPI
-TlsGetValue(boost::detail::winapi::DWORD_ dwTlsIndex);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-TlsSetValue(
-    boost::detail::winapi::DWORD_ dwTlsIndex,
-    boost::detail::winapi::LPVOID_ lpTlsValue);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-using ::TlsAlloc;
-using ::TlsFree;
-using ::TlsGetValue;
-using ::TlsSetValue;
-
-#if defined( BOOST_USE_WINDOWS_H )
-const DWORD_ TLS_OUT_OF_INDEXES_ = TLS_OUT_OF_INDEXES;
-#else
-const DWORD_ TLS_OUT_OF_INDEXES_ = 0xFFFFFFFF;
-#endif
-
-const DWORD_ tls_out_of_indexes = TLS_OUT_OF_INDEXES_;
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_TLS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/wait.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/wait.hpp
deleted file mode 100644
index bd20d46..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/wait.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//  wait.hpp  --------------------------------------------------------------//
-
-//  Copyright 2010 Vicente J. Botet Escriba
-//  Copyright 2015 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_WAIT_HPP
-#define BOOST_DETAIL_WINAPI_WAIT_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-WaitForSingleObject(
-    boost::detail::winapi::HANDLE_ hHandle,
-    boost::detail::winapi::DWORD_ dwMilliseconds);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-WaitForMultipleObjects(
-    boost::detail::winapi::DWORD_ nCount,
-    boost::detail::winapi::HANDLE_ const* lpHandles,
-    boost::detail::winapi::BOOL_ bWaitAll,
-    boost::detail::winapi::DWORD_ dwMilliseconds);
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-BOOST_SYMBOL_IMPORT boost::detail::winapi::DWORD_ WINAPI
-SignalObjectAndWait(
-    boost::detail::winapi::HANDLE_ hObjectToSignal,
-    boost::detail::winapi::HANDLE_ hObjectToWaitOn,
-    boost::detail::winapi::DWORD_ dwMilliseconds,
-    boost::detail::winapi::BOOL_ bAlertable);
-#endif
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-using ::WaitForMultipleObjects;
-using ::WaitForSingleObject;
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_NT4
-using ::SignalObjectAndWait;
-#endif
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ INFINITE_ = INFINITE;
-const DWORD_ WAIT_ABANDONED_ = WAIT_ABANDONED;
-const DWORD_ WAIT_OBJECT_0_ = WAIT_OBJECT_0;
-const DWORD_ WAIT_TIMEOUT_ = WAIT_TIMEOUT;
-const DWORD_ WAIT_FAILED_ = WAIT_FAILED;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ INFINITE_ = (DWORD_)0xFFFFFFFF;
-const DWORD_ WAIT_ABANDONED_ = 0x00000080L;
-const DWORD_ WAIT_OBJECT_0_ = 0x00000000L;
-const DWORD_ WAIT_TIMEOUT_ = 0x00000102L;
-const DWORD_ WAIT_FAILED_ = (DWORD_)0xFFFFFFFF;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ infinite = INFINITE_;
-const DWORD_ wait_abandoned = WAIT_ABANDONED_;
-const DWORD_ wait_object_0 = WAIT_OBJECT_0_;
-const DWORD_ wait_timeout = WAIT_TIMEOUT_;
-const DWORD_ wait_failed = WAIT_FAILED_;
-
-const DWORD_ max_non_infinite_wait = (DWORD_)0xFFFFFFFE;
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_WAIT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/waitable_timer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/waitable_timer.hpp
deleted file mode 100644
index c2bf6d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/detail/winapi/waitable_timer.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-//  waitable_timer.hpp  --------------------------------------------------------------//
-
-//  Copyright 2013 Andrey Semashev
-
-//  Distributed under the Boost Software License, Version 1.0.
-//  See http://www.boost.org/LICENSE_1_0.txt
-
-
-#ifndef BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP
-#define BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP
-
-#include <boost/detail/winapi/basic_types.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-typedef boost::detail::winapi::VOID_
-(WINAPI *PTIMERAPCROUTINE)(
-    boost::detail::winapi::LPVOID_ lpArgToCompletionRoutine,
-    boost::detail::winapi::DWORD_ dwTimerLowValue,
-    boost::detail::winapi::DWORD_ dwTimerHighValue);
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateWaitableTimerA(
-    ::_SECURITY_ATTRIBUTES* lpTimerAttributes,
-    boost::detail::winapi::BOOL_ bManualReset,
-    boost::detail::winapi::LPCSTR_ lpTimerName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenWaitableTimerA(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCSTR_ lpTimerName);
-#endif
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-CreateWaitableTimerW(
-    ::_SECURITY_ATTRIBUTES* lpTimerAttributes,
-    boost::detail::winapi::BOOL_ bManualReset,
-    boost::detail::winapi::LPCWSTR_ lpTimerName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::HANDLE_ WINAPI
-OpenWaitableTimerW(
-    boost::detail::winapi::DWORD_ dwDesiredAccess,
-    boost::detail::winapi::BOOL_ bInheritHandle,
-    boost::detail::winapi::LPCWSTR_ lpTimerName);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-SetWaitableTimer(
-    boost::detail::winapi::HANDLE_ hTimer,
-    const ::_LARGE_INTEGER* lpDueTime,
-    boost::detail::winapi::LONG_ lPeriod,
-    PTIMERAPCROUTINE pfnCompletionRoutine,
-    boost::detail::winapi::LPVOID_ lpArgToCompletionRoutine,
-    boost::detail::winapi::BOOL_ fResume);
-
-BOOST_SYMBOL_IMPORT boost::detail::winapi::BOOL_ WINAPI
-CancelWaitableTimer(boost::detail::winapi::HANDLE_ hTimer);
-}
-#endif
-
-namespace boost {
-namespace detail {
-namespace winapi {
-
-typedef ::PTIMERAPCROUTINE PTIMERAPCROUTINE_;
-
-#if !defined( BOOST_NO_ANSI_APIS )
-using ::OpenWaitableTimerA;
-#endif
-using ::OpenWaitableTimerW;
-using ::CancelWaitableTimer;
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ TIMER_ALL_ACCESS_ = TIMER_ALL_ACCESS;
-const DWORD_ TIMER_MODIFY_STATE_ = TIMER_MODIFY_STATE;
-const DWORD_ TIMER_QUERY_STATE_ = TIMER_QUERY_STATE;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ TIMER_ALL_ACCESS_ = 0x001F0003;
-const DWORD_ TIMER_MODIFY_STATE_ = 0x00000002;
-const DWORD_ TIMER_QUERY_STATE_ = 0x00000001;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-const DWORD_ timer_all_access = TIMER_ALL_ACCESS_;
-const DWORD_ timer_modify_state = TIMER_MODIFY_STATE_;
-const DWORD_ timer_query_state = TIMER_QUERY_STATE_;
-
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ CreateWaitableTimerA(PSECURITY_ATTRIBUTES_ lpTimerAttributes, BOOL_ bManualReset, LPCSTR_ lpTimerName)
-{
-    return ::CreateWaitableTimerA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpTimerAttributes), bManualReset, lpTimerName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ CreateWaitableTimerW(PSECURITY_ATTRIBUTES_ lpTimerAttributes, BOOL_ bManualReset, LPCWSTR_ lpTimerName)
-{
-    return ::CreateWaitableTimerW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpTimerAttributes), bManualReset, lpTimerName);
-}
-
-BOOST_FORCEINLINE BOOL_ SetWaitableTimer(
-    HANDLE_ hTimer,
-    const LARGE_INTEGER_* lpDueTime,
-    LONG_ lPeriod,
-    PTIMERAPCROUTINE_ pfnCompletionRoutine,
-    LPVOID_ lpArgToCompletionRoutine,
-    BOOL_ fResume)
-{
-    return ::SetWaitableTimer(hTimer, reinterpret_cast< const ::_LARGE_INTEGER* >(lpDueTime), lPeriod, pfnCompletionRoutine, lpArgToCompletionRoutine, fResume);
-}
-
-#if !defined( BOOST_NO_ANSI_APIS )
-BOOST_FORCEINLINE HANDLE_ create_waitable_timer(PSECURITY_ATTRIBUTES_ lpTimerAttributes, BOOL_ bManualReset, LPCSTR_ lpTimerName)
-{
-    return ::CreateWaitableTimerA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpTimerAttributes), bManualReset, lpTimerName);
-}
-#endif
-
-BOOST_FORCEINLINE HANDLE_ create_waitable_timer(PSECURITY_ATTRIBUTES_ lpTimerAttributes, BOOL_ bManualReset, LPCWSTR_ lpTimerName)
-{
-    return ::CreateWaitableTimerW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpTimerAttributes), bManualReset, lpTimerName);
-}
-
-BOOST_FORCEINLINE HANDLE_ create_anonymous_waitable_timer(PSECURITY_ATTRIBUTES_ lpTimerAttributes, BOOL_ bManualReset)
-{
-#ifdef BOOST_NO_ANSI_APIS
-    return ::CreateWaitableTimerW(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpTimerAttributes), bManualReset, 0);
-#else
-    return ::CreateWaitableTimerA(reinterpret_cast< ::_SECURITY_ATTRIBUTES* >(lpTimerAttributes), bManualReset, 0);
-#endif
-}
-
-}
-}
-}
-
-#endif // BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/detail/workaround.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/detail/workaround.hpp
deleted file mode 100644
index 40b3423..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/dll.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/dll.hpp
deleted file mode 100644
index 33e847e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/dll.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 Renato Tegon Forti, Antony Polukhin.
-// Copyright 2015-2016 Antony Polukhin.
-//
-// Distributed under the 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_DLL_DLL_HPP
-#define BOOST_DLL_DLL_HPP
-
-/// \file boost/dll.hpp
-/// \brief Includes all the non-experimental headers of the Boost.DLL library.
-
-#include <boost/config.hpp>
-#include <boost/dll/shared_library.hpp>
-#include <boost/dll/alias.hpp>
-#include <boost/dll/import.hpp>
-#include <boost/dll/library_info.hpp>
-#include <boost/dll/runtime_symbol_info.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-# pragma once
-#endif
-
-#endif // BOOST_DLL_DLL_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/dynamic_bitset.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/dynamic_bitset.hpp
deleted file mode 100644
index 29e1038..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/dynamic_bitset.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// -----------------------------------------------------------
-//
-//   Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek
-//        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_DYNAMIC_BITSET_HPP
-#define BOOST_DYNAMIC_BITSET_HPP
-
-#include "boost/dynamic_bitset/dynamic_bitset.hpp"
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/dynamic_bitset_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/dynamic_bitset_fwd.hpp
deleted file mode 100644
index 7bb6e89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/dynamic_bitset_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// -----------------------------------------------------------
-//
-//   Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek
-//            Copyright (c) 2003-2004 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_DYNAMIC_BITSET_FWD_HPP
-#define BOOST_DYNAMIC_BITSET_FWD_HPP
-
-#include <memory>
-
-namespace boost {
-
-template <typename Block = unsigned long,
-          typename Allocator = std::allocator<Block> >
-class dynamic_bitset;
-
-}
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/enable_shared_from_this.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/enable_shared_from_this.hpp
deleted file mode 100644
index b1bb63d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/exception/N3757.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/N3757.hpp
deleted file mode 100644
index 23b0606..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/N3757.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//Copyright (c) 2006-2013 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_9011016A11A711E3B46CD9FA6088709B
-#define UUID_9011016A11A711E3B46CD9FA6088709B
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/info.hpp>
-#include <boost/exception/get_error_info.hpp>
-
-namespace
-boost
-    {
-    //Here we're using the boost::error_info machinery to store the info in the exception
-    //object. Within the context of N3757, this is strictly an implementation detail.
-
-    template <class Tag>
-    inline
-    void
-    exception::
-    set( typename Tag::type const & v )
-        {
-        exception_detail::set_info(*this,error_info<Tag,typename Tag::type>(v));
-        }
-
-    template <class Tag>
-    inline
-    typename Tag::type const *
-    exception::
-    get() const
-        {
-        return get_error_info<error_info<Tag,typename Tag::type> >(*this);
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/all.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/all.hpp
deleted file mode 100644
index 32eb150..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/all.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//Copyright (c) 2006-2008 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_316FDA946C0D11DEA9CBAE5255D89593
-#define UUID_316FDA946C0D11DEA9CBAE5255D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/diagnostic_information.hpp>
-#include <boost/exception/error_info.hpp>
-#include <boost/exception/exception.hpp>
-#include <boost/exception/get_error_info.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/exception/info_tuple.hpp>
-#include <boost/exception/errinfo_api_function.hpp>
-#include <boost/exception/errinfo_at_line.hpp>
-#include <boost/exception/errinfo_errno.hpp>
-#include <boost/exception/errinfo_file_handle.hpp>
-#include <boost/exception/errinfo_file_name.hpp>
-#include <boost/exception/errinfo_file_open_mode.hpp>
-#include <boost/exception/errinfo_type_info_name.hpp>
-#ifndef BOOST_NO_EXCEPTIONS
-#include <boost/exception/errinfo_nested_exception.hpp>
-#include <boost/exception_ptr.hpp>
-#endif
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/current_exception_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/current_exception_cast.hpp
deleted file mode 100644
index 5d81f00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 (__GNUC__*100+__GNUC_MINOR__>301) && !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/rbgl_trimmed_boost_1_61_0/boost/exception/detail/clone_current_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/clone_current_exception.hpp
deleted file mode 100644
index 6fc1374..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/clone_current_exception.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//Copyright (c) 2006-2013 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_81522C0EB56511DFAB613DB0DFD72085
-#define UUID_81522C0EB56511DFAB613DB0DFD72085
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-#ifdef BOOST_NO_EXCEPTIONS
-#    error This header requires exception handling to be enabled.
-#endif
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        class clone_base;
-
-#ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR
-        int clone_current_exception_non_intrusive( clone_base const * & cloned );
-#endif
-
-        namespace
-        clone_current_exception_result
-            {
-            int const success=0;
-            int const bad_alloc=1;
-            int const bad_exception=2;
-            int const not_supported=3;
-            }
-
-        inline
-        int
-        clone_current_exception( clone_base const * & cloned )
-            {
-#ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR
-            return clone_current_exception_non_intrusive(cloned);
-#else
-            return clone_current_exception_result::not_supported;
-#endif
-            }
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/error_info_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/error_info_impl.hpp
deleted file mode 100644
index 12e601b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/error_info_impl.hpp
+++ /dev/null
@@ -1,74 +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 (__GNUC__*100+__GNUC_MINOR__>301) && !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 name_value_string() const = 0;
-
-            protected:
-
-            virtual
-            ~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 name_value_string() const;
-
-        value_type value_;
-        };
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/exception_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/exception_ptr.hpp
deleted file mode 100644
index cac64e6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/exception_ptr.hpp
+++ /dev/null
@@ -1,513 +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_618474C2DE1511DEB74A388C56D89593
-#define UUID_618474C2DE1511DEB74A388C56D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/config.hpp>
-#ifdef BOOST_NO_EXCEPTIONS
-#error This header requires exception handling to be enabled.
-#endif
-#include <boost/exception/exception.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/exception/diagnostic_information.hpp>
-#include <boost/exception/detail/type_info.hpp>
-#include <boost/exception/detail/clone_current_exception.hpp>
-#ifndef BOOST_NO_RTTI
-#include <boost/core/demangle.hpp>
-#endif
-#include <boost/shared_ptr.hpp>
-#include <stdexcept>
-#include <new>
-#include <ios>
-#include <stdlib.h>
-
-namespace
-boost
-    {
-    class exception_ptr;
-    BOOST_NORETURN void rethrow_exception( exception_ptr const & );
-    exception_ptr current_exception();
-
-    class
-    exception_ptr
-        {
-        typedef boost::shared_ptr<exception_detail::clone_base const> impl;
-        impl ptr_;
-        friend void rethrow_exception( exception_ptr const & );
-        typedef exception_detail::clone_base const * (impl::*unspecified_bool_type)() const;
-        public:
-        exception_ptr()
-            {
-            }
-        explicit
-        exception_ptr( impl const & ptr ):
-            ptr_(ptr)
-            {
-            }
-        bool
-        operator==( exception_ptr const & other ) const
-            {
-            return ptr_==other.ptr_;
-            }
-        bool
-        operator!=( exception_ptr const & other ) const
-            {
-            return ptr_!=other.ptr_;
-            }
-        operator unspecified_bool_type() const
-            {
-            return ptr_?&impl::get:0;
-            }
-        };
-
-    template <class T>
-    inline
-    exception_ptr
-    copy_exception( T const & e )
-        {
-        try
-            {
-            throw enable_current_exception(e);
-            }
-        catch(
-        ... )
-            {
-            return current_exception();
-            }
-        }
-
-#ifndef BOOST_NO_RTTI
-    typedef error_info<struct tag_original_exception_type,std::type_info const *> original_exception_type;
-
-    inline
-    std::string
-    to_string( original_exception_type const & x )
-        {
-        return core::demangle(x.value()->name());
-        }
-#endif
-
-    namespace
-    exception_detail
-        {
-        struct
-        bad_alloc_:
-            boost::exception,
-            std::bad_alloc
-                {
-                ~bad_alloc_() throw() { }
-                };
-
-        struct
-        bad_exception_:
-            boost::exception,
-            std::bad_exception
-                {
-                ~bad_exception_() throw() { }
-                };
-
-        template <class Exception>
-        exception_ptr
-        get_static_exception_object()
-            {
-            Exception ba;
-            exception_detail::clone_impl<Exception> c(ba);
-#ifndef BOOST_EXCEPTION_DISABLE
-            c <<
-                throw_function(BOOST_CURRENT_FUNCTION) <<
-                throw_file(__FILE__) <<
-                throw_line(__LINE__);
-#endif
-            static exception_ptr ep(shared_ptr<exception_detail::clone_base const>(new exception_detail::clone_impl<Exception>(c)));
-            return ep;
-            }
-
-        template <class Exception>
-        struct
-        exception_ptr_static_exception_object
-            {
-            static exception_ptr const e;
-            };
-
-        template <class Exception>
-        exception_ptr const
-        exception_ptr_static_exception_object<Exception>::
-        e = get_static_exception_object<Exception>();
-        }
-
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility push (default)
-# endif
-#endif
-    class
-    unknown_exception:
-        public boost::exception,
-        public std::exception
-        {
-        public:
-
-        unknown_exception()
-            {
-            }
-
-        explicit
-        unknown_exception( std::exception const & e )
-            {
-            add_original_type(e);
-            }
-
-        explicit
-        unknown_exception( boost::exception const & e ):
-            boost::exception(e)
-            {
-            add_original_type(e);
-            }
-
-        ~unknown_exception() throw()
-            {
-            }
-
-        private:
-
-        template <class E>
-        void
-        add_original_type( E const & e )
-            {
-#ifndef BOOST_NO_RTTI
-            (*this) << original_exception_type(&typeid(e));
-#endif
-            }
-        };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility pop
-# endif
-#endif
-
-    namespace
-    exception_detail
-        {
-        template <class T>
-        class
-        current_exception_std_exception_wrapper:
-            public T,
-            public boost::exception
-            {
-            public:
-
-            explicit
-            current_exception_std_exception_wrapper( T const & e1 ):
-                T(e1)
-                {
-                add_original_type(e1);
-                }
-
-            current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ):
-                T(e1),
-                boost::exception(e2)
-                {
-                add_original_type(e1);
-                }
-
-            ~current_exception_std_exception_wrapper() throw()
-                {
-                }
-
-            private:
-
-            template <class E>
-            void
-            add_original_type( E const & e )
-                {
-#ifndef BOOST_NO_RTTI
-                (*this) << original_exception_type(&typeid(e));
-#endif
-                }
-            };
-
-#ifdef BOOST_NO_RTTI
-        template <class T>
-        boost::exception const *
-        get_boost_exception( T const * )
-            {
-            try
-                {
-                throw;
-                }
-            catch(
-            boost::exception & x )
-                {
-                return &x;
-                }
-            catch(...)
-                {
-                return 0;
-                }
-            }
-#else
-        template <class T>
-        boost::exception const *
-        get_boost_exception( T const * x )
-            {
-            return dynamic_cast<boost::exception const *>(x);
-            }
-#endif
-
-        template <class T>
-        inline
-        exception_ptr
-        current_exception_std_exception( T const & e1 )
-            {
-            if( boost::exception const * e2 = get_boost_exception(&e1) )
-                return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1,*e2));
-            else
-                return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1));
-            }
-
-        inline
-        exception_ptr
-        current_exception_unknown_exception()
-            {
-            return boost::copy_exception(unknown_exception());
-            }
-
-        inline
-        exception_ptr
-        current_exception_unknown_boost_exception( boost::exception const & e )
-            {
-            return boost::copy_exception(unknown_exception(e));
-            }
-
-        inline
-        exception_ptr
-        current_exception_unknown_std_exception( std::exception const & e )
-            {
-            if( boost::exception const * be = get_boost_exception(&e) )
-                return current_exception_unknown_boost_exception(*be);
-            else
-                return boost::copy_exception(unknown_exception(e));
-            }
-
-        inline
-        exception_ptr
-        current_exception_impl()
-            {
-            exception_detail::clone_base const * e=0;
-            switch(
-            exception_detail::clone_current_exception(e) )
-                {
-                case exception_detail::clone_current_exception_result::
-                success:
-                    {
-                    BOOST_ASSERT(e!=0);
-                    return exception_ptr(shared_ptr<exception_detail::clone_base const>(e));
-                    }
-                case exception_detail::clone_current_exception_result::
-                bad_alloc:
-                    {
-                    BOOST_ASSERT(!e);
-                    return exception_detail::exception_ptr_static_exception_object<bad_alloc_>::e;
-                    }
-                case exception_detail::clone_current_exception_result::
-                bad_exception:
-                    {
-                    BOOST_ASSERT(!e);
-                    return exception_detail::exception_ptr_static_exception_object<bad_exception_>::e;
-                    }
-                default:
-                    BOOST_ASSERT(0);
-                case exception_detail::clone_current_exception_result::
-                not_supported:
-                    {
-                    BOOST_ASSERT(!e);
-                    try
-                        {
-                        throw;
-                        }
-                    catch(
-                    exception_detail::clone_base & e )
-                        {
-                        return exception_ptr(shared_ptr<exception_detail::clone_base const>(e.clone()));
-                        }
-                    catch(
-                    std::domain_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::invalid_argument & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::length_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::out_of_range & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::logic_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::range_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::overflow_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::underflow_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::ios_base::failure & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::runtime_error & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::bad_alloc & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-#ifndef BOOST_NO_TYPEID
-                    catch(
-                    std::bad_cast & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::bad_typeid & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-#endif
-                    catch(
-                    std::bad_exception & e )
-                        {
-                        return exception_detail::current_exception_std_exception(e);
-                        }
-                    catch(
-                    std::exception & e )
-                        {
-                        return exception_detail::current_exception_unknown_std_exception(e);
-                        }
-                    catch(
-                    boost::exception & e )
-                        {
-                        return exception_detail::current_exception_unknown_boost_exception(e);
-                        }
-                    catch(
-                    ... )
-                        {
-                        return exception_detail::current_exception_unknown_exception();
-                        }
-                    }
-                }
-            }
-        }
-
-    inline
-    exception_ptr
-    current_exception()
-        {
-        exception_ptr ret;
-        try
-            {
-            ret=exception_detail::current_exception_impl();
-            }
-        catch(
-        std::bad_alloc & )
-            {
-            ret=exception_detail::exception_ptr_static_exception_object<exception_detail::bad_alloc_>::e;
-            }
-        catch(
-        ... )
-            {
-            ret=exception_detail::exception_ptr_static_exception_object<exception_detail::bad_exception_>::e;
-            }
-        BOOST_ASSERT(ret);
-        return ret;
-        }
-
-    BOOST_NORETURN
-    inline
-    void
-    rethrow_exception( exception_ptr const & p )
-        {
-        BOOST_ASSERT(p);
-        p.ptr_->rethrow();
-        BOOST_ASSERT(0);
-        #if defined(UNDER_CE)
-            // some CE platforms don't define ::abort()
-            exit(-1);
-        #else
-            abort();
-        #endif
-        }
-
-    inline
-    std::string
-    diagnostic_information( exception_ptr const & p, bool verbose=true )
-        {
-        if( p )
-            try
-                {
-                rethrow_exception(p);
-                }
-            catch(
-            ... )
-                {
-                return current_exception_diagnostic_information(verbose);
-                }
-        return "<empty>";
-        }
-
-    inline
-    std::string
-    to_string( exception_ptr const & p )
-        {
-        std::string s='\n'+diagnostic_information(p);
-        std::string padding("  ");
-        std::string r;
-        bool f=false;
-        for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i )
-            {
-            if( f )
-                r+=padding;
-            char c=*i;
-            r+=c;
-            f=(c=='\n');
-            }
-        return r;
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/is_output_streamable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/is_output_streamable.hpp
deleted file mode 100644
index 847f348..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/is_output_streamable.hpp
+++ /dev/null
@@ -1,60 +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_898984B4076411DD973EDFA055D89593
-#define UUID_898984B4076411DD973EDFA055D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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 <ostream>
-
-namespace
-boost
-    {
-    namespace
-    to_string_detail
-        {
-        struct
-        partial_ordering_helper1
-            {
-            template <class CharT,class Traits>
-            partial_ordering_helper1( std::basic_ostream<CharT,Traits> & );
-            };
-
-        struct
-        partial_ordering_helper2
-            {
-            template <class T>
-            partial_ordering_helper2( T const & );
-            };
-
-        char operator<<( partial_ordering_helper1, partial_ordering_helper2 );
-
-        template <class T,class CharT,class Traits>
-        struct
-        is_output_streamable_impl
-            {
-            static std::basic_ostream<CharT,Traits> & f();
-            static T const & g();
-            enum e { value=1!=(sizeof(f()<<g())) };
-            };
-        }
-
-    template <class T, class CharT=char, class Traits=std::char_traits<CharT> >
-    struct
-    is_output_streamable
-        {
-        enum e { value=to_string_detail::is_output_streamable_impl<T,CharT,Traits>::value };
-        };
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/object_hex_dump.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/object_hex_dump.hpp
deleted file mode 100644
index 53c8bf6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/object_hex_dump.hpp
+++ /dev/null
@@ -1,50 +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_6F463AC838DF11DDA3E6909F56D89593
-#define UUID_6F463AC838DF11DDA3E6909F56D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/detail/type_info.hpp>
-#include <iomanip>
-#include <ios>
-#include <string>
-#include <sstream>
-#include <cstdlib>
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        template <class T>
-        inline
-        std::string
-        object_hex_dump( T const & x, std::size_t max_size=16 )
-            {
-            std::ostringstream s;
-            s << "type: " << type_name<T>() << ", size: " << sizeof(T) << ", dump: ";
-            std::size_t n=sizeof(T)>max_size?max_size:sizeof(T);
-            s.fill('0');
-            s.width(2);
-            unsigned char const * b=reinterpret_cast<unsigned char const *>(&x);
-            s << std::setw(2) << std::hex << (unsigned int)*b;
-            for( unsigned char const * e=b+n; ++b!=e; )
-                s << " " << std::setw(2) << std::hex << (unsigned int)*b;
-            return s.str();
-            }
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/type_info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/type_info.hpp
deleted file mode 100644
index b8c7d48..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/detail/type_info.hpp
+++ /dev/null
@@ -1,81 +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 (__GNUC__*100+__GNUC_MINOR__>301) && !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/core/typeinfo.hpp>
-#include <boost/core/demangle.hpp>
-#include <boost/current_function.hpp>
-#include <boost/config.hpp>
-#include <string>
-
-namespace
-boost
-    {
-    template <class T>
-    inline
-    std::string
-    tag_type_name()
-        {
-#ifdef BOOST_NO_TYPEID
-        return BOOST_CURRENT_FUNCTION;
-#else
-        return core::demangle(typeid(T*).name());
-#endif
-        }
-
-    template <class T>
-    inline
-    std::string
-    type_name()
-        {
-#ifdef BOOST_NO_TYPEID
-        return BOOST_CURRENT_FUNCTION;
-#else
-        return core::demangle(typeid(T).name());
-#endif
-        }
-
-    namespace
-    exception_detail
-        {
-        struct
-        type_info_
-            {
-            core::typeinfo const * type_;
-
-            explicit
-            type_info_( core::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_CORE_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/rbgl_trimmed_boost_1_61_0/boost/exception/diagnostic_information.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/diagnostic_information.hpp
deleted file mode 100644
index 305e8ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/diagnostic_information.hpp
+++ /dev/null
@@ -1,201 +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_0552D49838DD11DD90146B8956D89593
-#define UUID_0552D49838DD11DD90146B8956D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/config.hpp>
-#include <boost/exception/get_error_info.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/utility/enable_if.hpp>
-#ifndef BOOST_NO_RTTI
-#include <boost/core/demangle.hpp>
-#endif
-#include <exception>
-#include <sstream>
-#include <string>
-
-#ifndef BOOST_NO_EXCEPTIONS
-#include <boost/exception/current_exception_cast.hpp>
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool );
-        }
-
-    inline
-    std::string
-    current_exception_diagnostic_information( bool verbose=true)
-        {
-        boost::exception const * be=current_exception_cast<boost::exception const>();
-        std::exception const * se=current_exception_cast<std::exception const>();
-        if( be || se )
-            return exception_detail::diagnostic_information_impl(be,se,true,verbose);
-        else
-            return "No diagnostic information available.";
-        }
-    }
-#endif
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        inline
-        exception const *
-        get_boost_exception( exception const * e )
-            {
-            return e;
-            }
-
-        inline
-        exception const *
-        get_boost_exception( ... )
-            {
-            return 0;
-            }
-
-        inline
-        std::exception const *
-        get_std_exception( std::exception const * e )
-            {
-            return e;
-            }
-
-        inline
-        std::exception const *
-        get_std_exception( ... )
-            {
-            return 0;
-            }
-
-        inline
-        char const *
-        get_diagnostic_information( exception const & x, char const * header )
-            {
-#ifndef BOOST_NO_EXCEPTIONS
-            try
-                {
-#endif
-                error_info_container * c=x.data_.get();
-                if( !c )
-                    x.data_.adopt(c=new exception_detail::error_info_container_impl);
-                char const * di=c->diagnostic_information(header);
-                BOOST_ASSERT(di!=0);
-                return di;
-#ifndef BOOST_NO_EXCEPTIONS
-                }
-            catch(...)
-                {
-                return 0;
-                }
-#endif
-            }
-
-        inline
-        std::string
-        diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose )
-            {
-            if( !be && !se )
-                return "Unknown exception.";
-#ifndef BOOST_NO_RTTI
-            if( !be )
-                be=dynamic_cast<boost::exception const *>(se);
-            if( !se )
-                se=dynamic_cast<std::exception const *>(be);
-#endif
-            char const * wh=0;
-            if( with_what && se )
-                {
-                wh=se->what();
-                if( be && exception_detail::get_diagnostic_information(*be,0)==wh )
-                    return wh;
-                }
-            std::ostringstream tmp;
-            if( be && verbose )
-                {
-                char const * const * f=get_error_info<throw_file>(*be);
-                int const * l=get_error_info<throw_line>(*be);
-                char const * const * fn=get_error_info<throw_function>(*be);
-                if( !f && !l && !fn )
-                    tmp << "Throw location unknown (consider using BOOST_THROW_EXCEPTION)\n";
-                else
-                    {
-                    if( f )
-                        {
-                        tmp << *f;
-                        if( int const * l=get_error_info<throw_line>(*be) )
-                            tmp << '(' << *l << "): ";
-                        }
-                    tmp << "Throw in function ";
-                    if( char const * const * fn=get_error_info<throw_function>(*be) )
-                        tmp << *fn;
-                    else
-                        tmp << "(unknown)";
-                    tmp << '\n';
-                    }
-                }
-#ifndef BOOST_NO_RTTI
-            if ( verbose )
-                tmp << std::string("Dynamic exception type: ") <<
-                    core::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n';
-#endif
-            if( with_what && se && verbose )
-                tmp << "std::exception::what: " << wh << '\n';
-            if( be )
-                if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) )
-                    if( *s )
-                        return std::string(s);
-            return tmp.str();
-            }
-        }
-
-    template <class T>
-    std::string
-    diagnostic_information( T const & e, bool verbose=true )
-        {
-        return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose);
-        }
-
-    inline
-    char const *
-    diagnostic_information_what( exception const & e, bool verbose=true ) throw()
-        {
-        char const * w=0;
-#ifndef BOOST_NO_EXCEPTIONS
-        try
-            {
-#endif
-            (void) exception_detail::diagnostic_information_impl(&e,0,false,verbose);
-            if( char const * di=exception_detail::get_diagnostic_information(e,0) )
-                return di;
-            else
-                return "Failed to produce boost::diagnostic_information_what()";
-#ifndef BOOST_NO_EXCEPTIONS
-            }
-        catch(
-        ... )
-            {
-            }
-#endif
-        return w;
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/enable_current_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/enable_current_exception.hpp
deleted file mode 100644
index 9881053..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/enable_current_exception.hpp
+++ /dev/null
@@ -1,6 +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)
-
-#include <boost/exception/exception.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/enable_error_info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/enable_error_info.hpp
deleted file mode 100644
index 9881053..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/enable_error_info.hpp
+++ /dev/null
@@ -1,6 +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)
-
-#include <boost/exception/exception.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_api_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_api_function.hpp
deleted file mode 100644
index 481c613..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_api_function.hpp
+++ /dev/null
@@ -1,22 +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_DDFBB4546C1211DEA4659E9055D89593
-#define UUID_DDFBB4546C1211DEA4659E9055D89593
-
-#include "boost/exception/error_info.hpp"
-
-namespace
-boost
-    {
-    //Usage hint:
-    //if( api_function(....)!=0 )
-    //    BOOST_THROW_EXCEPTION(
-    //        failure() <<
-    //        errinfo_api_function("api_function") );
-    typedef error_info<struct errinfo_api_function_,char const *> errinfo_api_function;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_at_line.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_at_line.hpp
deleted file mode 100644
index cbd5cce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_at_line.hpp
+++ /dev/null
@@ -1,18 +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_E7255CE26C1211DE85800C9155D89593
-#define UUID_E7255CE26C1211DE85800C9155D89593
-
-namespace
-boost
-    {
-    template <class Tag,class T> class error_info;
-
-    //Use with parsing errors exceptions, for example in a XML file parser.
-    typedef error_info<struct errinfo_at_line_,int> errinfo_at_line;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_errno.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_errno.hpp
deleted file mode 100644
index 2cf7cab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_errno.hpp
+++ /dev/null
@@ -1,44 +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_F0EE17BE6C1211DE87FF459155D89593
-#define UUID_F0EE17BE6C1211DE87FF459155D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/info.hpp"
-#include <errno.h>
-#include <string.h>
-
-namespace
-boost
-    {
-    typedef error_info<struct errinfo_errno_,int> errinfo_errno;
-
-    //Usage hint:
-    //if( c_function(....)!=0 )
-    //    BOOST_THROW_EXCEPTION(
-    //        failure() <<
-    //        errinfo_errno(errno) <<
-    //        errinfo_api_function("c_function") );
-    inline
-    std::string
-    to_string( errinfo_errno const & e )
-        {
-        std::ostringstream tmp;
-        int v=e.value();
-        tmp << v << ", \"" << strerror(v) << "\"";
-        return tmp.str();
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_handle.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_handle.hpp
deleted file mode 100644
index 8e6cff8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_handle.hpp
+++ /dev/null
@@ -1,20 +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_F79E6EE26C1211DEB26E929155D89593
-#define UUID_F79E6EE26C1211DEB26E929155D89593
-
-#include <stdio.h>
-
-namespace
-boost
-    {
-    template <class> class weak_ptr;
-    template <class Tag,class T> class error_info;
-
-    typedef error_info<struct errinfo_file_handle_,weak_ptr<FILE> > errinfo_file_handle;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_name.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_name.hpp
deleted file mode 100644
index d3cce4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_name.hpp
+++ /dev/null
@@ -1,26 +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_FEE5120A6C1211DE94E8BC9155D89593
-#define UUID_FEE5120A6C1211DE94E8BC9155D89593
-
-#include <string>
-
-namespace
-boost
-    {
-    template <class Tag,class T> class error_info;
-
-    //Usage hint:
-    //FILE * f=fopen(name,mode);
-    //if( !f )
-    //    BOOST_THROW_EXCEPTION(
-    //        file_open_error() <<
-    //        errinfo_file_name(name) <<
-    //        errinfo_file_open_mode(mode) );
-    typedef error_info<struct errinfo_file_name_,std::string> errinfo_file_name;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_open_mode.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_open_mode.hpp
deleted file mode 100644
index f4fba0d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_file_open_mode.hpp
+++ /dev/null
@@ -1,26 +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_056F1F266C1311DE8E74299255D89593
-#define UUID_056F1F266C1311DE8E74299255D89593
-
-#include <string>
-
-namespace
-boost
-    {
-    template <class Tag,class T> class error_info;
-
-    //Usage hint:
-    //FILE * f=fopen(name,mode);
-    //if( !f )
-    //    BOOST_THROW_EXCEPTION(
-    //        file_open_error() <<
-    //        errinfo_file_name(name) <<
-    //        errinfo_file_open_mode(mode) );
-    typedef error_info<struct errinfo_file_open_mode_,std::string> errinfo_file_open_mode;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_nested_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_nested_exception.hpp
deleted file mode 100644
index c3299d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_nested_exception.hpp
+++ /dev/null
@@ -1,18 +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_45CC9A82B77511DEB330FC4956D89593
-#define UUID_45CC9A82B77511DEB330FC4956D89593
-
-namespace
-boost
-    {
-    namespace exception_detail { class clone_base; }
-    template <class Tag,class T> class error_info;
-    class exception_ptr;
-    typedef error_info<struct errinfo_nested_exception_,exception_ptr> errinfo_nested_exception;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_type_info_name.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_type_info_name.hpp
deleted file mode 100644
index 0b060e2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/errinfo_type_info_name.hpp
+++ /dev/null
@@ -1,23 +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_0E11109E6C1311DEB7EA649255D89593
-#define UUID_0E11109E6C1311DEB7EA649255D89593
-
-#include <string>
-
-namespace
-boost
-    {
-    template <class Tag,class T> class error_info;
-
-    //Usage hint:
-    //BOOST_THROW_EXCEPTION(
-    //    bad_type() <<
-    //    errinfo_type_info_name(typeid(x).name()) );
-    typedef error_info<struct errinfo_type_info_name_,std::string> errinfo_type_info_name;
-    }
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/error_info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/error_info.hpp
deleted file mode 100644
index 03b3da8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/error_info.hpp
+++ /dev/null
@@ -1,9 +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_EE7ECCA0433B11E1923E37064924019B
-#define UUID_EE7ECCA0433B11E1923E37064924019B
-namespace boost { template <class Tag,class T> class error_info; }
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/exception.hpp
deleted file mode 100644
index 1f2bd9c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/exception.hpp
+++ /dev/null
@@ -1,499 +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 (__GNUC__*100+__GNUC_MINOR__>301) && !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
-        {
-        //<N3757>
-        public:
-        template <class Tag> void set( typename Tag::type const & );
-        template <class Tag> typename Tag::type const * get() const;
-        //</N3757>
-
-        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
-        {
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility push (default)
-# endif
-#endif
-        template <class T>
-        struct
-        error_info_injector:
-            public T,
-            public exception
-            {
-            explicit
-            error_info_injector( T const & x ):
-                T(x)
-                {
-                }
-
-            ~error_info_injector() throw()
-                {
-                }
-            };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility pop
-# endif
-#endif
-
-        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
-        {
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility push (default)
-# endif
-#endif
-        class
-        clone_base
-            {
-            public:
-
-            virtual clone_base const * clone() const = 0;
-            virtual void rethrow() const = 0;
-
-            virtual
-            ~clone_base() throw()
-                {
-                }
-            };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility pop
-# endif
-#endif
-
-        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 * )
-            {
-            }
-
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility push (default)
-# endif
-#endif
-        template <class T>
-        class
-        clone_impl:
-            public T,
-            public virtual clone_base
-            {
-            struct clone_tag { };
-            clone_impl( clone_impl const & x, clone_tag ):
-                T(x)
-                {
-                copy_boost_exception(this,&x);
-                }
-
-            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,clone_tag());
-                }
-
-            void
-            rethrow() const
-                {
-                throw*this;
-                }
-            };
-        }
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-#  pragma GCC visibility pop
-# endif
-#endif
-
-    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/rbgl_trimmed_boost_1_61_0/boost/exception/get_error_info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/get_error_info.hpp
deleted file mode 100644
index 96be763..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 (__GNUC__*100+__GNUC_MINOR__>301) && !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/rbgl_trimmed_boost_1_61_0/boost/exception/info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/info.hpp
deleted file mode 100644
index 762a950..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/info.hpp
+++ /dev/null
@@ -1,198 +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_8D22C4CA9CC811DCAA9133D256D89593
-#define UUID_8D22C4CA9CC811DCAA9133D256D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/to_string_stub.hpp>
-#include <boost/exception/detail/error_info_impl.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/config.hpp>
-#include <map>
-
-namespace
-boost
-    {
-    template <class Tag,class T>
-    inline
-    std::string
-    error_info_name( error_info<Tag,T> const & x )
-        {
-        return tag_type_name<Tag>();
-        }
-
-    template <class Tag,class T>
-    inline
-    std::string
-    to_string( error_info<Tag,T> const & x )
-        {
-        return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n';
-        }
-
-    template <class Tag,class T>
-    inline
-    error_info<Tag,T>::
-    error_info( value_type const & value ):
-        value_(value)
-        {
-        }
-
-    template <class Tag,class T>
-    inline
-    error_info<Tag,T>::
-    ~error_info() throw()
-        {
-        }
-
-    template <class Tag,class T>
-    inline
-    std::string
-    error_info<Tag,T>::
-    name_value_string() const
-        {
-        return to_string_stub(*this);
-        }
-
-    namespace
-    exception_detail
-        {
-        class
-        error_info_container_impl:
-            public error_info_container
-            {
-            public:
-
-            error_info_container_impl():
-                count_(0)
-                {
-                }
-
-            ~error_info_container_impl() throw()
-                {
-                }
-
-            void
-            set( shared_ptr<error_info_base> const & x, type_info_ const & typeid_ )
-                {
-                BOOST_ASSERT(x);
-                info_[typeid_] = x;
-                diagnostic_info_str_.clear();
-                }
-
-            shared_ptr<error_info_base>
-            get( type_info_ const & ti ) const
-                {
-                error_info_map::const_iterator i=info_.find(ti);
-                if( info_.end()!=i )
-                    {
-                    shared_ptr<error_info_base> const & p = i->second;
-#ifndef BOOST_NO_RTTI
-                    BOOST_ASSERT( *BOOST_EXCEPTION_DYNAMIC_TYPEID(*p).type_==*ti.type_ );
-#endif
-                    return p;
-                    }
-                return shared_ptr<error_info_base>();
-                }
-
-            char const *
-            diagnostic_information( char const * header ) const
-                {
-                if( header )
-                    {
-                    std::ostringstream tmp;
-                    tmp << header;
-                    for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
-                        {
-                        error_info_base const & x = *i->second;
-                        tmp << x.name_value_string();
-                        }
-                    tmp.str().swap(diagnostic_info_str_);
-                    }
-                return diagnostic_info_str_.c_str();
-                }
-
-            private:
-
-            friend class boost::exception;
-
-            typedef std::map< type_info_, shared_ptr<error_info_base> > error_info_map;
-            error_info_map info_;
-            mutable std::string diagnostic_info_str_;
-            mutable int count_;
-
-            error_info_container_impl( error_info_container_impl const & );
-            error_info_container_impl & operator=( error_info_container const & );
-
-            void
-            add_ref() const
-                {
-                ++count_;
-                }
-
-            bool
-            release() const
-                {
-                if( --count_ )
-                    return false;
-                else
-                    {
-                    delete this;
-                    return true;
-                    }
-                }
-
-            refcount_ptr<error_info_container>
-            clone() const
-                {
-                refcount_ptr<error_info_container> p;
-                error_info_container_impl * c=new error_info_container_impl;
-                p.adopt(c);
-                c->info_ = info_;
-                return p;
-                }
-            };
-
-        template <class E,class Tag,class T>
-        inline
-        E const &
-        set_info( E const & x, error_info<Tag,T> const & v )
-            {
-            typedef error_info<Tag,T> error_info_tag_t;
-            shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );
-            exception_detail::error_info_container * c=x.data_.get();
-            if( !c )
-                x.data_.adopt(c=new exception_detail::error_info_container_impl);
-            c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));
-            return x;
-            }
-
-        template <class T>
-        struct
-        derives_boost_exception
-            {
-            enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) };
-            };
-        }
-
-    template <class E,class Tag,class T>
-    inline
-    typename enable_if<exception_detail::derives_boost_exception<E>,E const &>::type
-    operator<<( E const & x, error_info<Tag,T> const & v )
-        {
-        return exception_detail::set_info(x,v);
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/info_tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/info_tuple.hpp
deleted file mode 100644
index 70154fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/info_tuple.hpp
+++ /dev/null
@@ -1,100 +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_63EE924290FB11DC87BB856555D89593
-#define UUID_63EE924290FB11DC87BB856555D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/info.hpp>
-#include <boost/tuple/tuple.hpp>
-
-namespace
-boost
-    {
-    template <
-        class E >
-    inline
-    E const &
-    operator<<(
-        E const & x,
-        tuple< > const & v )
-        {
-        return x;
-        }
-
-    template <
-        class E,
-        class Tag1,class T1 >
-    inline
-    E const &
-    operator<<(
-        E const & x,
-        tuple<
-            error_info<Tag1,T1> > const & v )
-        {
-        return x << v.template get<0>();
-        }
-
-    template <
-        class E,
-        class Tag1,class T1,
-        class Tag2,class T2 >
-    inline
-    E const &
-    operator<<(
-        E const & x,
-        tuple<
-            error_info<Tag1,T1>,
-            error_info<Tag2,T2> > const & v )
-        {
-        return x << v.template get<0>() << v.template get<1>();
-        }
-
-    template <
-        class E,
-        class Tag1,class T1,
-        class Tag2,class T2,
-        class Tag3,class T3 >
-    inline
-    E const &
-    operator<<(
-        E const & x,
-        tuple<
-            error_info<Tag1,T1>,
-            error_info<Tag2,T2>,
-            error_info<Tag3,T3> > const & v )
-        {
-        return x << v.template get<0>() << v.template get<1>() << v.template get<2>();
-        }
-
-    template <
-        class E,
-        class Tag1,class T1,
-        class Tag2,class T2,
-        class Tag3,class T3,
-        class Tag4,class T4 >
-    inline
-    E const &
-    operator<<(
-        E const & x,
-        tuple<
-            error_info<Tag1,T1>,
-            error_info<Tag2,T2>,
-            error_info<Tag3,T3>,
-            error_info<Tag4,T4> > const & v )
-        {
-        return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>();
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/to_string.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/to_string.hpp
deleted file mode 100644
index 68541d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/to_string.hpp
+++ /dev/null
@@ -1,88 +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_7E48761AD92811DC9011477D56D89593
-#define UUID_7E48761AD92811DC9011477D56D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/utility/enable_if.hpp>
-#include <boost/exception/detail/is_output_streamable.hpp>
-#include <sstream>
-
-namespace
-boost
-    {
-    template <class T,class U>
-    std::string to_string( std::pair<T,U> const & );
-    std::string to_string( std::exception const & );
-
-    namespace
-    to_string_detail
-        {
-        template <class T>
-        typename disable_if<is_output_streamable<T>,char>::type to_string( T const & );
-        using boost::to_string;
-
-        template <class,bool IsOutputStreamable>
-        struct has_to_string_impl;
-
-        template <class T>
-        struct
-        has_to_string_impl<T,true>
-            {
-            enum e { value=1 };
-            };
-
-        template <class T>
-        struct
-        has_to_string_impl<T,false>
-            {
-            static T const & f();
-            enum e { value=1!=sizeof(to_string(f())) };
-            };
-        }
-
-    template <class T>
-    inline
-    typename enable_if<is_output_streamable<T>,std::string>::type
-    to_string( T const & x )
-        {
-        std::ostringstream out;
-        out << x;
-        return out.str();
-        }
-
-    template <class T>
-    struct
-    has_to_string
-        {
-        enum e { value=to_string_detail::has_to_string_impl<T,is_output_streamable<T>::value>::value };
-        };
-
-    template <class T,class U>
-    inline
-    std::string
-    to_string( std::pair<T,U> const & x )
-        {
-        return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')';
-        }
-
-    inline
-    std::string
-    to_string( std::exception const & x )
-        {
-        return x.what();
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception/to_string_stub.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception/to_string_stub.hpp
deleted file mode 100644
index b6ab31c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception/to_string_stub.hpp
+++ /dev/null
@@ -1,117 +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_E788439ED9F011DCB181F25B55D89593
-#define UUID_E788439ED9F011DCB181F25B55D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !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/to_string.hpp>
-#include <boost/exception/detail/object_hex_dump.hpp>
-#include <boost/assert.hpp>
-
-namespace
-boost
-    {
-    namespace
-    exception_detail
-        {
-        template <bool ToStringAvailable>
-        struct
-        to_string_dispatcher
-            {
-            template <class T,class Stub>
-            static
-            std::string
-            convert( T const & x, Stub )
-                {
-                return to_string(x);
-                }
-            };
-
-        template <>
-        struct
-        to_string_dispatcher<false>
-            {
-            template <class T,class Stub>
-            static
-            std::string
-            convert( T const & x, Stub s )
-                {
-                return s(x);
-                }
-
-            template <class T>
-            static
-            std::string
-            convert( T const & x, std::string s )
-                {
-                return s;
-                }
-
-            template <class T>
-            static
-            std::string
-            convert( T const & x, char const * s )
-                {
-                BOOST_ASSERT(s!=0);
-                return s;
-                }
-            };
-
-        namespace
-        to_string_dispatch
-            {
-            template <class T,class Stub>
-            inline
-            std::string
-            dispatch( T const & x, Stub s )
-                {
-                return to_string_dispatcher<has_to_string<T>::value>::convert(x,s);
-                }
-            }
-
-        template <class T>
-        inline
-        std::string
-        string_stub_dump( T const & x )
-            {
-            return "[ " + exception_detail::object_hex_dump(x) + " ]";
-            }
-        }
-
-    template <class T>
-    inline
-    std::string
-    to_string_stub( T const & x )
-        {
-        return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump<T>);
-        }
-
-    template <class T,class Stub>
-    inline
-    std::string
-    to_string_stub( T const & x, Stub s )
-        {
-        return exception_detail::to_string_dispatch::dispatch(x,s);
-        }
-
-    template <class T,class U,class Stub>
-    inline
-    std::string
-    to_string_stub( std::pair<T,U> const & x, Stub s )
-        {
-        return std::string("(") + to_string_stub(x.first,s) + ',' + to_string_stub(x.second,s) + ')';
-        }
-    }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/exception_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/exception_ptr.hpp
deleted file mode 100644
index d48cce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/exception_ptr.hpp
+++ /dev/null
@@ -1,11 +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_FA5836A2CADA11DC8CD47C8555D89593
-#define UUID_FA5836A2CADA11DC8CD47C8555D89593
-
-#include <boost/exception/detail/exception_ptr.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/filesystem.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/filesystem.hpp
deleted file mode 100644
index 0122634..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/filesystem.hpp
+++ /dev/null
@@ -1,21 +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/filesystem/config.hpp>
-#  include <boost/filesystem/path.hpp>
-#  include <boost/filesystem/operations.hpp>
-#  include <boost/filesystem/convenience.hpp>
-#  include <boost/filesystem/string_file.hpp>
-
-#endif  // BOOST_FILESYSTEM_FILESYSTEM_HPP 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/flyweight.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/flyweight.hpp
deleted file mode 100644
index 852ea8e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/flyweight.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2006-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/flyweight for library home page.
- */
-
-#ifndef BOOST_FLYWEIGHT_HPP
-#define BOOST_FLYWEIGHT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/flyweight/flyweight.hpp>
-#include <boost/flyweight/hashed_factory.hpp>
-#include <boost/flyweight/refcounted.hpp>
-#include <boost/flyweight/simple_locking.hpp>
-#include <boost/flyweight/static_holder.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/foreach.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/foreach.hpp
deleted file mode 100644
index eb3a50b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/foreach.hpp
+++ /dev/null
@@ -1,1127 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// foreach.hpp header file
-//
-// Copyright 2004 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:
-//  Anson Tsao        - for the initial inspiration and several good suggestions.
-//  Thorsten Ottosen  - for Boost.Range, and for suggesting a way to detect
-//                      const-qualified rvalues at compile time on VC7.1+
-//  Russell Hind      - For help porting to Borland
-//  Alisdair Meredith - For help porting to Borland
-//  Stefan Slapeta    - For help porting to Intel
-//  David Jenkins     - For help finding a Microsoft Code Analysis bug
-//  mimomorin at ...     - For a patch to use rvalue refs on supporting compilers
-
-#ifndef BOOST_FOREACH
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <cstddef>
-#include <utility>  // for std::pair
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// Some compilers let us detect even const-qualified rvalues at compile-time
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)                                                   \
- || defined(BOOST_MSVC) && !defined(_PREFAST_)                                 \
- || (BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ <= 5) && !defined(BOOST_INTEL) &&       \
-                                                                  !defined(BOOST_CLANG))         \
- || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ >= 4) && !defined(BOOST_INTEL) &&       \
-                                                                  !defined(BOOST_CLANG))
-# define BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION
-#else
-// Some compilers allow temporaries to be bound to non-const references.
-// These compilers make it impossible to for BOOST_FOREACH to detect
-// temporaries and avoid reevaluation of the collection expression.
-# if BOOST_WORKAROUND(__BORLANDC__, < 0x593)                                                    \
-  || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER))                   \
-  || BOOST_WORKAROUND(__SUNPRO_CC, < 0x5100)                                                    \
-  || BOOST_WORKAROUND(__DECCXX_VER, <= 60590042)
-#  define BOOST_FOREACH_NO_RVALUE_DETECTION
-# endif
-// Some compilers do not correctly implement the lvalue/rvalue conversion
-// rules of the ternary conditional operator.
-# if defined(BOOST_FOREACH_NO_RVALUE_DETECTION)                                                 \
-  || defined(BOOST_NO_SFINAE)                                                                   \
-  || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400))                                        \
-  || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1400))                                   \
-  || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 3) && defined(__APPLE_CC__))       \
-  || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))                                         \
-  || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206))                                      \
-  || BOOST_WORKAROUND(__SUNPRO_CC, >= 0x5100)                                                   \
-  || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590))
-#  define BOOST_FOREACH_NO_CONST_RVALUE_DETECTION
-# else
-#  define BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-# endif
-#endif
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/logical.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/rend.hpp>
-#include <boost/range/rbegin.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/reverse_iterator.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/foreach_fwd.hpp>
-
-#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-# include <new>
-# include <boost/aligned_storage.hpp>
-# include <boost/utility/enable_if.hpp>
-# include <boost/type_traits/remove_const.hpp>
-#endif
-
-namespace boost
-{
-
-// forward declarations for iterator_range
-template<typename T>
-class iterator_range;
-
-// forward declarations for sub_range
-template<typename T>
-class sub_range;
-
-namespace foreach
-{
-    ///////////////////////////////////////////////////////////////////////////////
-    // in_range
-    //
-    template<typename T>
-    inline std::pair<T, T> in_range(T begin, T end)
-    {
-        return std::make_pair(begin, end);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////
-    // 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::mpl::false_
-    {
-    };
-
-    ///////////////////////////////////////////////////////////////////////////////
-    // 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
-    #if !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) && !defined(BOOST_NO_IS_ABSTRACT)
-      : boost::mpl::or_<
-            boost::is_abstract<T>
-          , boost::is_base_and_derived<boost::noncopyable, T>
-        >
-    #elif !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED)
-      : boost::is_base_and_derived<boost::noncopyable, T>
-    #elif !defined(BOOST_NO_IS_ABSTRACT)
-      : boost::is_abstract<T>
-    #else
-      : boost::mpl::false_
-    #endif
-    {
-    };
-
-} // namespace foreach
-
-} // namespace boost
-
-// vc6/7 needs help ordering the following overloads
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# define BOOST_FOREACH_TAG_DEFAULT ...
-#else
-# define BOOST_FOREACH_TAG_DEFAULT boost::foreach::tag
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// boost_foreach_is_lightweight_proxy
-//   Another customization point for the is_lightweight_proxy optimization,
-//   this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy
-//   at the global namespace for your type.
-template<typename T>
-inline boost::foreach::is_lightweight_proxy<T> *
-boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
-
-template<typename T>
-inline boost::mpl::true_ *
-boost_foreach_is_lightweight_proxy(std::pair<T, T> *&, boost::foreach::tag) { return 0; }
-
-template<typename T>
-inline boost::mpl::true_ *
-boost_foreach_is_lightweight_proxy(boost::iterator_range<T> *&, boost::foreach::tag) { return 0; }
-
-template<typename T>
-inline boost::mpl::true_ *
-boost_foreach_is_lightweight_proxy(boost::sub_range<T> *&, boost::foreach::tag) { return 0; }
-
-template<typename T>
-inline boost::mpl::true_ *
-boost_foreach_is_lightweight_proxy(T **&, boost::foreach::tag) { return 0; }
-
-///////////////////////////////////////////////////////////////////////////////
-// boost_foreach_is_noncopyable
-//   Another customization point for the is_noncopyable trait,
-//   this one works on legacy compilers. Overload boost_foreach_is_noncopyable
-//   at the global namespace for your type.
-template<typename T>
-inline boost::foreach::is_noncopyable<T> *
-boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
-
-namespace boost
-{
-
-namespace foreach_detail_
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// Define some utilities for assessing the properties of expressions
-//
-template<typename Bool1, typename Bool2>
-inline boost::mpl::and_<Bool1, Bool2> *and_(Bool1 *, Bool2 *) { return 0; }
-
-template<typename Bool1, typename Bool2, typename Bool3>
-inline boost::mpl::and_<Bool1, Bool2, Bool3> *and_(Bool1 *, Bool2 *, Bool3 *) { return 0; }
-
-template<typename Bool1, typename Bool2>
-inline boost::mpl::or_<Bool1, Bool2> *or_(Bool1 *, Bool2 *) { return 0; }
-
-template<typename Bool1, typename Bool2, typename Bool3>
-inline boost::mpl::or_<Bool1, Bool2, Bool3> *or_(Bool1 *, Bool2 *, Bool3 *) { return 0; }
-
-template<typename Bool1>
-inline boost::mpl::not_<Bool1> *not_(Bool1 *) { return 0; }
-
-template<typename T>
-inline boost::is_array<T> *is_array_(T const &) { return 0; }
-
-template<typename T>
-inline boost::is_const<T> *is_const_(T &) { return 0; }
-
-#ifndef BOOST_FOREACH_NO_RVALUE_DETECTION
-template<typename T>
-inline boost::mpl::true_ *is_const_(T const &) { return 0; }
-#endif
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-template<typename T>
-inline boost::mpl::false_ *is_rvalue_(T &, int) { return 0; }
-
-template<typename T>
-inline boost::mpl::true_ *is_rvalue_(T const &, ...) { return 0; }
-#else
-template<typename T>
-inline boost::is_rvalue_reference<T &&> *is_rvalue_(T &&, int) { return 0; }
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// auto_any_t/auto_any
-//  General utility for putting an object of any type into automatic storage
-struct auto_any_base
-{
-    // auto_any_base must evaluate to false in boolean context so that
-    // they can be declared in if() statements.
-    operator bool() const
-    {
-        return false;
-    }
-};
-
-template<typename T>
-struct auto_any : auto_any_base
-{
-    explicit auto_any(T const &t)
-      : item(t)
-    {
-    }
-
-    // temporaries of type auto_any will be bound to const auto_any_base
-    // references, but we still want to be able to mutate the stored
-    // data, so declare it as mutable.
-    mutable T item;
-};
-
-typedef auto_any_base const &auto_any_t;
-
-template<typename T, typename C>
-inline BOOST_DEDUCED_TYPENAME boost::mpl::if_<C, T const, T>::type &auto_any_cast(auto_any_t a)
-{
-    return static_cast<auto_any<T> const &>(a).item;
-}
-
-typedef boost::mpl::true_ const_;
-
-///////////////////////////////////////////////////////////////////////////////
-// type2type
-//
-template<typename T, typename C = boost::mpl::false_>
-struct type2type
-  : boost::mpl::if_<C, T const, T>
-{
-};
-
-template<typename T>
-struct wrap_cstr
-{
-    typedef T type;
-};
-
-template<>
-struct wrap_cstr<char *>
-{
-    typedef wrap_cstr<char *> type;
-    typedef char *iterator;
-    typedef char *const_iterator;
-};
-
-template<>
-struct wrap_cstr<char const *>
-{
-    typedef wrap_cstr<char const *> type;
-    typedef char const *iterator;
-    typedef char const *const_iterator;
-};
-
-template<>
-struct wrap_cstr<wchar_t *>
-{
-    typedef wrap_cstr<wchar_t *> type;
-    typedef wchar_t *iterator;
-    typedef wchar_t *const_iterator;
-};
-
-template<>
-struct wrap_cstr<wchar_t const *>
-{
-    typedef wrap_cstr<wchar_t const *> type;
-    typedef wchar_t const *iterator;
-    typedef wchar_t const *const_iterator;
-};
-
-template<typename T>
-struct is_char_array
-  : mpl::and_<
-        is_array<T>
-      , mpl::or_<
-            is_convertible<T, char const *>
-          , is_convertible<T, wchar_t const *>
-        >
-    >
-{};
-
-template<typename T, typename C = boost::mpl::false_>
-struct foreach_iterator
-{
-    // **** READ THIS IF YOUR COMPILE BREAKS HERE ****
-    //
-    // There is an ambiguity about how to iterate over arrays of char and wchar_t. 
-    // Should the last array element be treated as a null terminator to be skipped, or
-    // is it just like any other element in the array? To fix the problem, you must
-    // say which behavior you want.
-    //
-    // To treat the container as a null-terminated string, merely cast it to a
-    // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ...
-    //
-    // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>,
-    // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ...
-    BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) );
-
-    // If the type is a pointer to a null terminated string (as opposed 
-    // to an array type), there is no ambiguity.
-    typedef BOOST_DEDUCED_TYPENAME wrap_cstr<T>::type container;
-
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if<
-        C
-      , range_const_iterator<container>
-      , range_mutable_iterator<container>
-    >::type type;
-};
-
-
-template<typename T, typename C = boost::mpl::false_>
-struct foreach_reverse_iterator
-{
-    // **** READ THIS IF YOUR COMPILE BREAKS HERE ****
-    //
-    // There is an ambiguity about how to iterate over arrays of char and wchar_t. 
-    // Should the last array element be treated as a null terminator to be skipped, or
-    // is it just like any other element in the array? To fix the problem, you must
-    // say which behavior you want.
-    //
-    // To treat the container as a null-terminated string, merely cast it to a
-    // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ...
-    //
-    // To treat the container as an array, use boost::as_array() in <boost/range/as_array.hpp>,
-    // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ...
-    BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) );
-
-    // If the type is a pointer to a null terminated string (as opposed 
-    // to an array type), there is no ambiguity.
-    typedef BOOST_DEDUCED_TYPENAME wrap_cstr<T>::type container;
-
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if<
-        C
-      , range_reverse_iterator<container const>
-      , range_reverse_iterator<container>
-    >::type type;
-};
-
-template<typename T, typename C = boost::mpl::false_>
-struct foreach_reference
-  : iterator_reference<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
-{
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// encode_type
-//
-template<typename T>
-inline type2type<T> *encode_type(T &, boost::false_type*) { return 0; }
-
-template<typename T>
-inline type2type<T, const_> *encode_type(T const &, boost::true_type*) { return 0; }
-
-template<typename T>
-inline type2type<T> *encode_type(T &, boost::mpl::false_*) { return 0; }
-
-template<typename T>
-inline type2type<T, const_> *encode_type(T const &, boost::mpl::true_*) { return 0; }
-
-///////////////////////////////////////////////////////////////////////////////
-// set_false
-//
-inline bool set_false(bool &b)
-{
-    b = false;
-    return false;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// to_ptr
-//
-template<typename T>
-inline T *&to_ptr(T const &)
-{
-    static T *t = 0;
-    return t;
-}
-
-// Borland needs a little extra help with arrays
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template<typename T,std::size_t N>
-inline T (*&to_ptr(T (&)[N]))[N]
-{
-    static T (*t)[N] = 0;
-    return t;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// derefof
-//
-template<typename T>
-inline T &derefof(T *t)
-{
-    // This is a work-around for a compiler bug in Borland. If T* is a pointer to array type U(*)[N],
-    // then dereferencing it results in a U* instead of U(&)[N]. The cast forces the issue.
-    return reinterpret_cast<T &>(
-        *const_cast<char *>(
-            reinterpret_cast<char const volatile *>(t)
-        )
-    );
-}
-
-# define BOOST_FOREACH_DEREFOF(T) boost::foreach_detail_::derefof(*T)
-#else
-# define BOOST_FOREACH_DEREFOF(T) (*T)
-#endif
-
-#if defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION)                                  \
- && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-///////////////////////////////////////////////////////////////////////////////
-// Rvalue references makes it drop-dead simple to detect at compile time
-// whether an expression is an rvalue.
-///////////////////////////////////////////////////////////////////////////////
-
-# define BOOST_FOREACH_IS_RVALUE(COL)                                                           \
-    boost::foreach_detail_::is_rvalue_((COL), 0)
-
-#elif defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION)                                \
- && defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-///////////////////////////////////////////////////////////////////////////////
-// Detect at compile-time whether an expression yields an rvalue or
-// an lvalue. This is rather non-standard, but some popular compilers
-// accept it.
-///////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-// rvalue_probe
-//
-template<typename T>
-struct rvalue_probe
-{
-    struct private_type_ {};
-    // can't ever return an array by value
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
-        boost::mpl::or_<boost::is_abstract<T>, boost::is_array<T> >, private_type_, T
-    >::type value_type;
-    operator value_type() { return *reinterpret_cast<value_type *>(this); } // never called
-    operator T &() const { return *reinterpret_cast<T *>(const_cast<rvalue_probe *>(this)); } // never called
-};
-
-template<typename T>
-rvalue_probe<T> const make_probe(T const &)
-{
-    return rvalue_probe<T>();
-}
-
-# define BOOST_FOREACH_IS_RVALUE(COL)                                                           \
-    boost::foreach_detail_::and_(                                                               \
-        boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(COL))                    \
-      , (true ? 0 : boost::foreach_detail_::is_rvalue_(                                         \
-            (true ? boost::foreach_detail_::make_probe(COL) : (COL)), 0)))
-
-#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION)
-///////////////////////////////////////////////////////////////////////////////
-// Detect at run-time whether an expression yields an rvalue
-// or an lvalue. This is 100% standard C++, but not all compilers
-// accept it. Also, it causes FOREACH to break when used with non-
-// copyable collection types.
-///////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-// rvalue_probe
-//
-template<typename T>
-struct rvalue_probe
-{
-    rvalue_probe(T &t, bool &b)
-      : value(t)
-      , is_rvalue(b)
-    {
-    }
-
-    struct private_type_ {};
-    // can't ever return an array or an abstract type by value
-    #ifdef BOOST_NO_IS_ABSTRACT
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
-        boost::is_array<T>, private_type_, T
-    >::type value_type;
-    #else
-    typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
-        boost::mpl::or_<boost::is_abstract<T>, boost::is_array<T> >, private_type_, T
-    >::type value_type;
-    #endif
-    
-    operator value_type()
-    {
-        this->is_rvalue = true;
-        return this->value;
-    }
-
-    operator T &() const
-    {
-        return this->value;
-    }
-
-private:
-    T &value;
-    bool &is_rvalue;
-};
-
-template<typename T>
-rvalue_probe<T> make_probe(T &t, bool &b) { return rvalue_probe<T>(t, b); }
-
-template<typename T>
-rvalue_probe<T const> make_probe(T const &t, bool &b)  { return rvalue_probe<T const>(t, b); }
-
-///////////////////////////////////////////////////////////////////////////////
-// simple_variant
-//  holds either a T or a T const*
-template<typename T>
-struct simple_variant
-{
-    simple_variant(T const *t)
-      : is_rvalue(false)
-    {
-        *static_cast<T const **>(this->data.address()) = t;
-    }
-
-    simple_variant(T const &t)
-      : is_rvalue(true)
-    {
-        ::new(this->data.address()) T(t);
-    }
-
-    simple_variant(simple_variant const &that)
-      : is_rvalue(that.is_rvalue)
-    {
-        if(this->is_rvalue)
-            ::new(this->data.address()) T(*that.get());
-        else
-            *static_cast<T const **>(this->data.address()) = that.get();
-    }
-
-    ~simple_variant()
-    {
-        if(this->is_rvalue)
-            this->get()->~T();
-    }
-
-    T const *get() const
-    {
-        if(this->is_rvalue)
-            return static_cast<T const *>(this->data.address());
-        else
-            return *static_cast<T const * const *>(this->data.address());
-    }
-
-private:
-    enum size_type { size = sizeof(T) > sizeof(T*) ? sizeof(T) : sizeof(T*) };
-    simple_variant &operator =(simple_variant const &); 
-    bool const is_rvalue;
-    aligned_storage<size> data;
-};
-
-// If the collection is an array or is noncopyable, it must be an lvalue.
-// If the collection is a lightweight proxy, treat it as an rvalue
-// BUGBUG what about a noncopyable proxy?
-template<typename LValue, typename IsProxy>
-inline BOOST_DEDUCED_TYPENAME boost::enable_if<boost::mpl::or_<LValue, IsProxy>, IsProxy>::type *
-should_copy_impl(LValue *, IsProxy *, bool *)
-{
-    return 0;
-}
-
-// Otherwise, we must determine at runtime whether it's an lvalue or rvalue
-inline bool *
-should_copy_impl(boost::mpl::false_ *, boost::mpl::false_ *, bool *is_rvalue)
-{
-    return is_rvalue;
-}
-
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// contain
-//
-template<typename T>
-inline auto_any<T> contain(T const &t, boost::mpl::true_ *) // rvalue
-{
-    return auto_any<T>(t);
-}
-
-template<typename T>
-inline auto_any<T *> contain(T &t, boost::mpl::false_ *) // lvalue
-{
-    // Cannot seem to get sunpro to handle addressof() with array types.
-    #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570))
-    return auto_any<T *>(&t);
-    #else
-    return auto_any<T *>(boost::addressof(t));
-    #endif
-}
-
-#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-template<typename T>
-inline auto_any<simple_variant<T> >
-contain(T const &t, bool *rvalue)
-{
-    return auto_any<simple_variant<T> >(*rvalue ? simple_variant<T>(t) : simple_variant<T>(&t));
-}
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// begin
-//
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
-begin(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
-        boost::begin(auto_any_cast<T, C>(col)));
-}
-
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
-begin(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
-{
-    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
-    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
-        iterator(boost::begin(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
-}
-
-#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-template<typename T>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type>
-begin(auto_any_t col, type2type<T, const_> *, bool *)
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type>(
-        boost::begin(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get()));
-}
-#endif
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-template<typename T, typename C>
-inline auto_any<T *>
-begin(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings
-{
-    return auto_any<T *>(auto_any_cast<T *, boost::mpl::false_>(col));
-}
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// end
-//
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
-end(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
-        boost::end(auto_any_cast<T, C>(col)));
-}
-
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>
-end(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
-{
-    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
-    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iterator;
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type>(
-        iterator(boost::end(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
-}
-
-#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-template<typename T>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type>
-end(auto_any_t col, type2type<T, const_> *, bool *)
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_iterator<T, const_>::type>(
-        boost::end(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get()));
-}
-#endif
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-template<typename T, typename C>
-inline auto_any<int>
-end(auto_any_t, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings
-{
-    return auto_any<int>(0); // not used
-}
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// done
-//
-template<typename T, typename C>
-inline bool done(auto_any_t cur, auto_any_t end, type2type<T, C> *)
-{
-    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
-    return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end);
-}
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-template<typename T, typename C>
-inline bool done(auto_any_t cur, auto_any_t, type2type<T *, C> *) // null-terminated C-style strings
-{
-    return ! *auto_any_cast<T *, boost::mpl::false_>(cur);
-}
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// next
-//
-template<typename T, typename C>
-inline void next(auto_any_t cur, type2type<T, C> *)
-{
-    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
-    ++auto_any_cast<iter_t, boost::mpl::false_>(cur);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// deref
-//
-template<typename T, typename C>
-inline BOOST_DEDUCED_TYPENAME foreach_reference<T, C>::type
-deref(auto_any_t cur, type2type<T, C> *)
-{
-    typedef BOOST_DEDUCED_TYPENAME foreach_iterator<T, C>::type iter_t;
-    return *auto_any_cast<iter_t, boost::mpl::false_>(cur);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// rbegin
-//
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>
-rbegin(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>(
-        boost::rbegin(auto_any_cast<T, C>(col)));
-}
-
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>
-rbegin(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
-{
-    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
-    typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iterator;
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>(
-        iterator(boost::rbegin(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
-}
-
-#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-template<typename T>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type>
-rbegin(auto_any_t col, type2type<T, const_> *, bool *)
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type>(
-        boost::rbegin(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get()));
-}
-#endif
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-template<typename T, typename C>
-inline auto_any<reverse_iterator<T *> >
-rbegin(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings
-{
-    T *p = auto_any_cast<T *, boost::mpl::false_>(col);
-    while(0 != *p)
-        ++p;
-    return auto_any<reverse_iterator<T *> >(reverse_iterator<T *>(p));
-}
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// rend
-//
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>
-rend(auto_any_t col, type2type<T, C> *, boost::mpl::true_ *) // rvalue
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>(
-        boost::rend(auto_any_cast<T, C>(col)));
-}
-
-template<typename T, typename C>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>
-rend(auto_any_t col, type2type<T, C> *, boost::mpl::false_ *) // lvalue
-{
-    typedef BOOST_DEDUCED_TYPENAME type2type<T, C>::type type;
-    typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iterator;
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type>(
-        iterator(boost::rend(BOOST_FOREACH_DEREFOF((auto_any_cast<type *, boost::mpl::false_>(col))))));
-}
-
-#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION
-template<typename T>
-inline auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type>
-rend(auto_any_t col, type2type<T, const_> *, bool *)
-{
-    return auto_any<BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, const_>::type>(
-        boost::rend(*auto_any_cast<simple_variant<T>, boost::mpl::false_>(col).get()));
-}
-#endif
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-template<typename T, typename C>
-inline auto_any<reverse_iterator<T *> >
-rend(auto_any_t col, type2type<T *, C> *, boost::mpl::true_ *) // null-terminated C-style strings
-{
-    return auto_any<reverse_iterator<T *> >(
-        reverse_iterator<T *>(auto_any_cast<T *, boost::mpl::false_>(col)));
-}
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// rdone
-//
-template<typename T, typename C>
-inline bool rdone(auto_any_t cur, auto_any_t end, type2type<T, C> *)
-{
-    typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iter_t;
-    return auto_any_cast<iter_t, boost::mpl::false_>(cur) == auto_any_cast<iter_t, boost::mpl::false_>(end);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// rnext
-//
-template<typename T, typename C>
-inline void rnext(auto_any_t cur, type2type<T, C> *)
-{
-    typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iter_t;
-    ++auto_any_cast<iter_t, boost::mpl::false_>(cur);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// rderef
-//
-template<typename T, typename C>
-inline BOOST_DEDUCED_TYPENAME foreach_reference<T, C>::type
-rderef(auto_any_t cur, type2type<T, C> *)
-{
-    typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator<T, C>::type iter_t;
-    return *auto_any_cast<iter_t, boost::mpl::false_>(cur);
-}
-
-} // namespace foreach_detail_
-} // namespace boost
-
-// Suppress a bogus code analysis warning on vc8+
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# define BOOST_FOREACH_SUPPRESS_WARNINGS() __pragma(warning(suppress:6001))
-#else
-# define BOOST_FOREACH_SUPPRESS_WARNINGS()
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// Define a macro for giving hidden variables a unique name. Not strictly
-// needed, but eliminates some warnings on some compilers.
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
-// With some versions of MSVC, use of __LINE__ to create unique identifiers
-// can fail when the Edit-and-Continue debug flag is used.
-# define BOOST_FOREACH_ID(x) x
-#else
-# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__)
-#endif
-
-// A sneaky way to get the type of the collection without evaluating the expression
-#define BOOST_FOREACH_TYPEOF(COL)                                                               \
-    (true ? 0 : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL)))
-
-// returns true_* if the type is noncopyable
-#define BOOST_FOREACH_IS_NONCOPYABLE(COL)                                                       \
-    boost_foreach_is_noncopyable(                                                               \
-        boost::foreach_detail_::to_ptr(COL)                                                     \
-      , boost_foreach_argument_dependent_lookup_hack_value)
-
-// returns true_* if the type is a lightweight proxy (and is not noncopyable)
-#define BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)                                                 \
-    boost::foreach_detail_::and_(                                                               \
-        boost::foreach_detail_::not_(BOOST_FOREACH_IS_NONCOPYABLE(COL))                         \
-      , boost_foreach_is_lightweight_proxy(                                                     \
-            boost::foreach_detail_::to_ptr(COL)                                                 \
-          , boost_foreach_argument_dependent_lookup_hack_value))
-
-#if defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION)
-///////////////////////////////////////////////////////////////////////////////
-// R-values and const R-values supported here with zero runtime overhead
-///////////////////////////////////////////////////////////////////////////////
-
-// No variable is needed to track the rvalue-ness of the collection expression
-# define BOOST_FOREACH_PREAMBLE()                                                               \
-    BOOST_FOREACH_SUPPRESS_WARNINGS()
-
-// Evaluate the collection expression
-# define BOOST_FOREACH_EVALUATE(COL)                                                            \
-    (COL)
-
-# define BOOST_FOREACH_SHOULD_COPY(COL)                                                         \
-    (true ? 0 : boost::foreach_detail_::or_(                                                    \
-        BOOST_FOREACH_IS_RVALUE(COL)                                                            \
-      , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)))
-
-#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION)
-///////////////////////////////////////////////////////////////////////////////
-// R-values and const R-values supported here
-///////////////////////////////////////////////////////////////////////////////
-
-// Declare a variable to track the rvalue-ness of the collection expression
-# define BOOST_FOREACH_PREAMBLE()                                                               \
-    BOOST_FOREACH_SUPPRESS_WARNINGS()                                                           \
-    if (bool BOOST_FOREACH_ID(_foreach_is_rvalue) = false) {} else
-
-// Evaluate the collection expression, and detect if it is an lvalue or and rvalue
-# define BOOST_FOREACH_EVALUATE(COL)                                                            \
-    (true ? boost::foreach_detail_::make_probe((COL), BOOST_FOREACH_ID(_foreach_is_rvalue)) : (COL))
-
-// The rvalue/lvalue-ness of the collection expression is determined dynamically, unless
-// the type is an array or is noncopyable or is non-const, in which case we know it's an lvalue.
-// If the type happens to be a lightweight proxy, always make a copy.
-# define BOOST_FOREACH_SHOULD_COPY(COL)                                                         \
-    (boost::foreach_detail_::should_copy_impl(                                                  \
-        true ? 0 : boost::foreach_detail_::or_(                                                 \
-            boost::foreach_detail_::is_array_(COL)                                              \
-          , BOOST_FOREACH_IS_NONCOPYABLE(COL)                                                   \
-          , boost::foreach_detail_::not_(boost::foreach_detail_::is_const_(COL)))               \
-      , true ? 0 : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)                                      \
-      , &BOOST_FOREACH_ID(_foreach_is_rvalue)))
-
-#elif !defined(BOOST_FOREACH_NO_RVALUE_DETECTION)
-///////////////////////////////////////////////////////////////////////////////
-// R-values supported here, const R-values NOT supported here
-///////////////////////////////////////////////////////////////////////////////
-
-// No variable is needed to track the rvalue-ness of the collection expression
-# define BOOST_FOREACH_PREAMBLE()                                                               \
-    BOOST_FOREACH_SUPPRESS_WARNINGS()
-
-// Evaluate the collection expression
-# define BOOST_FOREACH_EVALUATE(COL)                                                            \
-    (COL)
-
-// Determine whether the collection expression is an lvalue or an rvalue.
-// NOTE: this gets the answer wrong for const rvalues.
-# define BOOST_FOREACH_SHOULD_COPY(COL)                                                         \
-    (true ? 0 : boost::foreach_detail_::or_(                                                    \
-        boost::foreach_detail_::is_rvalue_((COL), 0)                                            \
-      , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)))
-
-#else
-///////////////////////////////////////////////////////////////////////////////
-// R-values NOT supported here
-///////////////////////////////////////////////////////////////////////////////
-
-// No variable is needed to track the rvalue-ness of the collection expression
-# define BOOST_FOREACH_PREAMBLE()                                                               \
-    BOOST_FOREACH_SUPPRESS_WARNINGS()
-
-// Evaluate the collection expression
-# define BOOST_FOREACH_EVALUATE(COL)                                                            \
-    (COL)
-
-// Can't use rvalues with BOOST_FOREACH (unless they are lightweight proxies)
-# define BOOST_FOREACH_SHOULD_COPY(COL)                                                         \
-    (true ? 0 : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))
-
-#endif
-
-#define BOOST_FOREACH_CONTAIN(COL)                                                              \
-    boost::foreach_detail_::contain(                                                            \
-        BOOST_FOREACH_EVALUATE(COL)                                                             \
-      , BOOST_FOREACH_SHOULD_COPY(COL))
-
-#define BOOST_FOREACH_BEGIN(COL)                                                                \
-    boost::foreach_detail_::begin(                                                              \
-        BOOST_FOREACH_ID(_foreach_col)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL)                                                               \
-      , BOOST_FOREACH_SHOULD_COPY(COL))
-
-#define BOOST_FOREACH_END(COL)                                                                  \
-    boost::foreach_detail_::end(                                                                \
-        BOOST_FOREACH_ID(_foreach_col)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL)                                                               \
-      , BOOST_FOREACH_SHOULD_COPY(COL))
-
-#define BOOST_FOREACH_DONE(COL)                                                                 \
-    boost::foreach_detail_::done(                                                               \
-        BOOST_FOREACH_ID(_foreach_cur)                                                          \
-      , BOOST_FOREACH_ID(_foreach_end)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL))
-
-#define BOOST_FOREACH_NEXT(COL)                                                                 \
-    boost::foreach_detail_::next(                                                               \
-        BOOST_FOREACH_ID(_foreach_cur)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL))
-
-#define BOOST_FOREACH_DEREF(COL)                                                                \
-    boost::foreach_detail_::deref(                                                              \
-        BOOST_FOREACH_ID(_foreach_cur)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL))
-
-#define BOOST_FOREACH_RBEGIN(COL)                                                               \
-    boost::foreach_detail_::rbegin(                                                             \
-        BOOST_FOREACH_ID(_foreach_col)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL)                                                               \
-      , BOOST_FOREACH_SHOULD_COPY(COL))
-
-#define BOOST_FOREACH_REND(COL)                                                                 \
-    boost::foreach_detail_::rend(                                                               \
-        BOOST_FOREACH_ID(_foreach_col)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL)                                                               \
-      , BOOST_FOREACH_SHOULD_COPY(COL))
-
-#define BOOST_FOREACH_RDONE(COL)                                                                \
-    boost::foreach_detail_::rdone(                                                              \
-        BOOST_FOREACH_ID(_foreach_cur)                                                          \
-      , BOOST_FOREACH_ID(_foreach_end)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL))
-
-#define BOOST_FOREACH_RNEXT(COL)                                                                \
-    boost::foreach_detail_::rnext(                                                              \
-        BOOST_FOREACH_ID(_foreach_cur)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL))
-
-#define BOOST_FOREACH_RDEREF(COL)                                                               \
-    boost::foreach_detail_::rderef(                                                             \
-        BOOST_FOREACH_ID(_foreach_cur)                                                          \
-      , BOOST_FOREACH_TYPEOF(COL))
-
-///////////////////////////////////////////////////////////////////////////////
-// BOOST_FOREACH
-//
-//   For iterating over collections. Collections can be
-//   arrays, null-terminated strings, or STL containers.
-//   The loop variable can be a value or reference. For
-//   example:
-//
-//   std::list<int> int_list(/*stuff*/);
-//   BOOST_FOREACH(int &i, int_list)
-//   {
-//       /* 
-//        * loop body goes here.
-//        * i is a reference to the int in int_list.
-//        */
-//   }
-//
-//   Alternately, you can declare the loop variable first,
-//   so you can access it after the loop finishes. Obviously,
-//   if you do it this way, then the loop variable cannot be
-//   a reference.
-//
-//   int i;
-//   BOOST_FOREACH(i, int_list)
-//       { ... }
-//
-#define BOOST_FOREACH(VAR, COL)                                                                                   \
-    BOOST_FOREACH_PREAMBLE()                                                                                      \
-    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
-    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else     \
-    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else       \
-    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
-              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL);                                    \
-              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0)                            \
-        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
-        for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
-
-///////////////////////////////////////////////////////////////////////////////
-// BOOST_REVERSE_FOREACH
-//
-//   For iterating over collections in reverse order. In
-//   all other respects, BOOST_REVERSE_FOREACH is like
-//   BOOST_FOREACH.
-//
-#define BOOST_REVERSE_FOREACH(VAR, COL)                                                                           \
-    BOOST_FOREACH_PREAMBLE()                                                                                      \
-    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else   \
-    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_RBEGIN(COL)) {} else    \
-    if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_REND(COL)) {} else      \
-    for (bool BOOST_FOREACH_ID(_foreach_continue) = true;                                                         \
-              BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_RDONE(COL);                                   \
-              BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_RNEXT(COL) : (void)0)                           \
-        if  (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else                      \
-        for (VAR = BOOST_FOREACH_RDEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/foreach_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/foreach_fwd.hpp
deleted file mode 100644
index 4e0bb37..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/format.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/format.hpp
deleted file mode 100644
index 73464a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/format.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// ----------------------------------------------------------------------------
-// format.hpp :  primary header
-// ----------------------------------------------------------------------------
-
-//  Copyright Samuel Krempp 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/format for library home page
-
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_HPP
-#define BOOST_FORMAT_HPP
-
-#include <vector>
-#include <string>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-
-#ifndef BOOST_NO_STD_LOCALE
-#include <locale>
-#endif
-
-// ***   Compatibility framework
-#include <boost/format/detail/compat_workarounds.hpp>
-
-#ifdef BOOST_NO_LOCALE_ISIDIGIT
-#include <cctype>  // we'll use the non-locale  <cctype>'s std::isdigit(int)
-#endif
-
-// ****  Forward declarations ----------------------------------
-#include <boost/format/format_fwd.hpp>     // basic_format<Ch,Tr>, and other frontends
-#include <boost/format/internals_fwd.hpp>  // misc forward declarations for internal use
-
-// ****  Auxiliary structs (stream_format_state<Ch,Tr> , and format_item<Ch,Tr> )
-#include <boost/format/internals.hpp>    
-
-// ****  Format  class  interface --------------------------------
-#include <boost/format/format_class.hpp>
-
-// **** Exceptions -----------------------------------------------
-#include <boost/format/exceptions.hpp>
-
-// **** Implementation -------------------------------------------
-#include <boost/format/format_implementation.hpp>   // member functions
-#include <boost/format/group.hpp>                   // class for grouping arguments
-#include <boost/format/feed_args.hpp>               // argument-feeding functions
-#include <boost/format/parsing.hpp>                 // format-string parsing (member-)functions
-
-// **** Implementation of the free functions ----------------------
-#include <boost/format/free_funcs.hpp>
-
-
-// *** Undefine 'local' macros :
-#include <boost/format/detail/unset_macros.hpp>
-
-#endif // BOOST_FORMAT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function.hpp
deleted file mode 100644
index b72842b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/function_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_equal.hpp
deleted file mode 100644
index 2d76c75..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/function_output_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_output_iterator.hpp
deleted file mode 100644
index dd8c44d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_output_iterator.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// (C) Copyright Jeremy Siek 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)
-
-// Revision History:
-
-// 27 Feb 2001   Jeremy Siek
-//      Initial checkin.
-
-#ifndef BOOST_FUNCTION_OUTPUT_ITERATOR_HPP
-#define BOOST_FUNCTION_OUTPUT_ITERATOR_HPP
-
-#include <iterator>
-
-namespace boost {
-namespace iterators {
-
-  template <class UnaryFunction>
-  class function_output_iterator {
-    typedef function_output_iterator self;
-  public:
-    typedef std::output_iterator_tag iterator_category;
-    typedef void                value_type;
-    typedef void                difference_type;
-    typedef void                pointer;
-    typedef void                reference;
-
-    explicit function_output_iterator() {}
-
-    explicit function_output_iterator(const UnaryFunction& f)
-      : m_f(f) {}
-
-    struct output_proxy {
-      output_proxy(UnaryFunction& f) : m_f(f) { }
-      template <class T> output_proxy& operator=(const T& value) {
-        m_f(value);
-        return *this;
-      }
-      UnaryFunction& m_f;
-    };
-    output_proxy operator*() { return output_proxy(m_f); }
-    self& operator++() { return *this; }
-    self& operator++(int) { return *this; }
-  private:
-    UnaryFunction m_f;
-  };
-
-  template <class UnaryFunction>
-  inline function_output_iterator<UnaryFunction>
-  make_function_output_iterator(const UnaryFunction& f = UnaryFunction()) {
-    return function_output_iterator<UnaryFunction>(f);
-  }
-
-} // namespace iterators
-
-using iterators::function_output_iterator;
-using iterators::make_function_output_iterator;
-
-} // namespace boost
-
-#endif // BOOST_FUNCTION_OUTPUT_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/components.hpp
deleted file mode 100644
index 6f22098..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/components.hpp
+++ /dev/null
@@ -1,424 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_COMPONENTS_HPP_INCLUDED
-#define BOOST_FT_COMPONENTS_HPP_INCLUDED
-
-#include <cstddef>
-
-#include <boost/config.hpp>
-
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/type_traits/integral_constant.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/vector/vector0.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
-#   include <boost/type_traits/remove_cv.hpp>
-
-#   include <boost/mpl/identity.hpp>
-#   include <boost/mpl/bitand.hpp>
-#   include <boost/mpl/vector/vector10.hpp>
-#   include <boost/mpl/front.hpp>
-#   include <boost/mpl/begin.hpp>
-#   include <boost/mpl/advance.hpp>
-#   include <boost/mpl/iterator_range.hpp>
-#   include <boost/mpl/joint_view.hpp>
-#   include <boost/mpl/equal_to.hpp>
-#   include <boost/mpl/copy.hpp>
-#   include <boost/mpl/front_inserter.hpp>
-
-#   include <boost/function_types/detail/classifier.hpp>
-#endif
-
-#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT
-#   include <boost/mpl/remove.hpp>
-#endif
-
-#include <boost/function_types/config/config.hpp>
-
-#   if   BOOST_FT_MAX_ARITY < 10
-#     include <boost/mpl/vector/vector10.hpp>
-#   elif BOOST_FT_MAX_ARITY < 20
-#     include <boost/mpl/vector/vector20.hpp>
-#   elif BOOST_FT_MAX_ARITY < 30
-#     include <boost/mpl/vector/vector30.hpp>
-#   elif BOOST_FT_MAX_ARITY < 40
-#     include <boost/mpl/vector/vector40.hpp>
-#   elif BOOST_FT_MAX_ARITY < 50
-#     include <boost/mpl/vector/vector50.hpp>
-#   endif
-
-#include <boost/function_types/detail/class_transform.hpp>
-#include <boost/function_types/property_tags.hpp>
-
-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-
-    using mpl::placeholders::_;
-
-    template< typename T, typename ClassTypeTransform = add_reference<_> > 
-    struct components;
-
-    namespace detail 
-    {
-      template<typename T, typename L> struct components_impl;
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
-      template<typename T, typename OrigT, typename L> struct components_bcc;
-#endif
-    }
-
-    template<typename T, typename ClassTypeTransform> 
-    struct components
-#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
-      : detail::components_impl<T, ClassTypeTransform>
-#else
-      : detail::components_bcc<typename remove_cv<T>::type,T,
-            ClassTypeTransform>
-#endif
-    { 
-      typedef components<T,ClassTypeTransform> type;
-
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,components,(T,ClassTypeTransform))
-    };
-
-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-  namespace detail {
-
-    struct components_mpl_sequence_tag; 
-
-    struct components_non_func_base
-    {
-      typedef mpl::vector0<> types;
-      typedef void function_arity;
-
-      typedef detail::constant<0> bits;
-      typedef detail::constant<0> mask;
-
-      typedef components_mpl_sequence_tag tag;
-    };
-
-    template
-    < typename Components
-    , typename IfTagged
-    , typename ThenTag
-    , typename DefaultBase = components_non_func_base
-    >
-    struct retagged_if
-      : mpl::if_
-        < detail::represents_impl<Components, IfTagged>
-        , detail::changed_tag<Components,IfTagged,ThenTag>
-        , DefaultBase
-        >::type
-    { };
-
-    // We detect plain function types and function references as function 
-    // pointers by recursive instantiation of components_impl. 
-    // The third specialization of components_impl makes sure the recursion 
-    // terminates (when adding pointers).
-    template<typename T, typename L>
-    struct components_impl
-      : detail::retagged_if
-        < detail::components_impl<T*,L>
-        , pointer_tag, /* --> */ function_tag >
-    { };
-    template<typename T, typename L>
-    struct components_impl<T&, L>
-      : detail::retagged_if
-        < detail::components_impl<T*,L>
-        , pointer_tag, /* --> */ reference_tag >
-    { };
-
-#if !BOOST_FT_NO_CV_FUNC_SUPPORT
-    // Retry the type with a member pointer attached to detect cv functions
-    class a_class;
-
-    template<typename Base, typename T, typename L>
-    struct cv_func_base
-      : detail::retagged_if<Base,member_pointer_tag,function_tag>
-    {
-      typedef typename
-        mpl::remove
-          < typename Base::types
-          , typename detail::class_transform<a_class,L>::type>::type
-      types;
-    };
-
-    template<typename T, typename L>
-    struct components_impl<T*, L>
-      : mpl::if_
-        < detail::represents_impl< detail::components_impl<T a_class::*, L>
-                                 , member_pointer_tag >
-        , detail::cv_func_base< detail::components_impl<T a_class::*, L>, T, L>
-        , components_non_func_base
-        >::type
-    { };
-
-    template<typename T, typename L>
-    struct components_impl<T a_class::*, L>
-      : components_non_func_base
-    { };
-#else
-    template<typename T, typename L>
-    struct components_impl<T*, L>
-      : components_non_func_base
-    { }; 
-#endif
-
-    template<typename T, typename L>
-    struct components_impl<T* const, L> 
-      : components_impl<T*,L>
-    { };
-
-    template<typename T, typename L>
-    struct components_impl<T* volatile, L> 
-      : components_impl<T*,L>
-    { };
-
-    template<typename T, typename L>
-    struct components_impl<T* const volatile, L> 
-      : components_impl<T*,L>
-    { };
-
-    template<typename T, typename L>
-    struct components_impl<T const, L> 
-      : components_impl<T,L>
-    { };
-
-    template<typename T, typename L>
-    struct components_impl<T volatile, L> 
-      : components_impl<T,L>
-    { };
-
-    template<typename T, typename L>
-    struct components_impl<T const volatile, L> 
-      : components_impl<T,L>
-    { };
-
-
-    template<typename T, class C>
-    struct member_obj_ptr_result
-    { typedef T & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T, C const>
-    { typedef T const & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T, C volatile>
-    { typedef T volatile & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T, C const volatile>
-    { typedef T const volatile & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T &, C>
-    { typedef T & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T &, C const>
-    { typedef T & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T &, C volatile>
-    { typedef T & type; };
-
-    template<typename T, class C>
-    struct member_obj_ptr_result<T &, C const volatile>
-    { typedef T & type; };
-
-    template<typename T, class C, typename L>
-    struct member_obj_ptr_components
-      : member_object_pointer_base
-    {
-      typedef function_types::components<T C::*, L> type;
-      typedef components_mpl_sequence_tag tag;
-
-      typedef mpl::integral_c<std::size_t,1> function_arity;
-
-      typedef mpl::vector2< typename detail::member_obj_ptr_result<T,C>::type,
-          typename detail::class_transform<C,L>::type > types;
-    };
-
-#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
-#   define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer
-
-    template<typename T, class C, typename L>
-    struct components_impl<T C::*, L>
-      : member_obj_ptr_components<T,C,L>
-    { };
-
-#else  
-#   define BOOST_FT_variations BOOST_FT_pointer
-
-    // This workaround removes the member pointer from the type to allow 
-    // detection of member function pointers with BCC. 
-    template<typename T, typename C, typename L>
-    struct components_impl<T C::*, L>
-      : detail::retagged_if
-        < detail::components_impl<typename boost::remove_cv<T>::type *, L>
-        , pointer_tag, /* --> */ member_function_pointer_tag
-        , member_obj_ptr_components<T,C,L> >
-    { };
-
-    // BCC lets us test the cv-qualification of a function type by template 
-    // partial specialization - so we use this bug feature to find out the 
-    // member function's cv-qualification (unfortunately there are some 
-    // invisible modifiers that impose some limitations on these types even if
-    // we remove the qualifiers, So we cannot exploit the same bug to make the 
-    // library work for cv-qualified function types).
-    template<typename T> struct encode_cv
-    { typedef char (& type)[1]; BOOST_STATIC_CONSTANT(std::size_t, value = 1); };
-    template<typename T> struct encode_cv<T const *>
-    { typedef char (& type)[2]; BOOST_STATIC_CONSTANT(std::size_t, value = 2); };
-    template<typename T> struct encode_cv<T volatile *>
-    { typedef char (& type)[3]; BOOST_STATIC_CONSTANT(std::size_t, value = 3); };
-    template<typename T> struct encode_cv<T const volatile *> 
-    { typedef char (& type)[4]; BOOST_STATIC_CONSTANT(std::size_t, value = 4); };
-
-    // For member function pointers we have to use a function template (partial
-    // template specialization for a member pointer drops the cv qualification 
-    // of the function type).
-    template<typename T, typename C>
-    typename encode_cv<T *>::type mfp_cv_tester(T C::*);
-
-    template<typename T> struct encode_mfp_cv
-    { 
-      BOOST_STATIC_CONSTANT(std::size_t, value = 
-          sizeof(detail::mfp_cv_tester((T)0L))); 
-    };
-
-    // Associate bits with the CV codes above.
-    template<std::size_t> struct cv_tag_mfp_impl;
-
-    template<typename T> struct cv_tag_mfp
-      : detail::cv_tag_mfp_impl
-        < ::boost::function_types::detail::encode_mfp_cv<T>::value >
-    { };
-
-    template<> struct cv_tag_mfp_impl<1> : non_cv              { };
-    template<> struct cv_tag_mfp_impl<2> : const_non_volatile  { };
-    template<> struct cv_tag_mfp_impl<3> : volatile_non_const  { };
-    template<> struct cv_tag_mfp_impl<4> : cv_qualified        { };
-
-    // Metafunction to decode the cv code and apply it to a type.
-    // We add a pointer, because otherwise cv-qualifiers won't stick (another bug).
-    template<typename T, std::size_t CV> struct decode_cv;
-
-    template<typename T> struct decode_cv<T,1> : mpl::identity<T *>          {};
-    template<typename T> struct decode_cv<T,2> : mpl::identity<T const *>    {};
-    template<typename T> struct decode_cv<T,3> : mpl::identity<T volatile *> {};
-    template<typename T> struct decode_cv<T,4> 
-                                         : mpl::identity<T const volatile *> {};
-
-    // The class type transformation comes after adding cv-qualifiers. We have
-    // wrap it to remove the pointer added in decode_cv_impl.
-    template<typename T, typename L> struct bcc_class_transform_impl;
-    template<typename T, typename L> struct bcc_class_transform_impl<T *, L>
-      : class_transform<T,L> 
-    { };
-
-    template<typename T, typename D, typename L> struct bcc_class_transform 
-      : bcc_class_transform_impl
-        < typename decode_cv
-          < T
-          , ::boost::function_types::detail::encode_mfp_cv<D>::value 
-          >::type
-        , L
-        > 
-    { };
-
-    // After extracting the member pointee from the type the class type is still
-    // in the type (somewhere -- you won't see with RTTI, that is) and that type
-    // is flagged unusable and *not* identical to the nonmember function type.
-    // We can, however, decompose this type via components_impl but surprisingly
-    // a pointer to the const qualified class type pops up again as the first 
-    // parameter type. 
-    // We have to replace this type with the properly cv-qualified and 
-    // transformed class type, integrate the cv qualification into the bits.
-    template<typename Base, typename MFP, typename OrigT, typename L>
-    struct mfp_components;
-
-
-    template<typename Base, typename T, typename C, typename OrigT, typename L>
-    struct mfp_components<Base,T C::*,OrigT,L> 
-    {
-    private:
-      typedef typename mpl::front<typename Base::types>::type result_type;
-      typedef typename detail::bcc_class_transform<C,OrigT,L>::type class_type;
-
-      typedef mpl::vector2<result_type, class_type> result_and_class_type;
-
-      typedef typename 
-        mpl::advance
-        < typename mpl::begin<typename Base::types>::type
-        , typename mpl::if_
-          < mpl::equal_to< typename detail::classifier<OrigT>::function_arity
-                         , typename Base::function_arity >
-          , mpl::integral_c<int,2> , mpl::integral_c<int,1> 
-          >::type
-        >::type
-      from;
-      typedef typename mpl::end<typename Base::types>::type to;
-
-      typedef mpl::iterator_range<from,to> param_types;
-
-      typedef mpl::joint_view< result_and_class_type, param_types> types_view;
-    public:
-
-      typedef typename 
-        mpl::reverse_copy<types_view, mpl::front_inserter< mpl::vector0<> > >::type 
-      types;
-
-      typedef typename 
-        function_types::tag< Base, detail::cv_tag_mfp<OrigT> >::bits 
-      bits;
-
-      typedef typename Base::mask mask;
-
-      typedef typename detail::classifier<OrigT>::function_arity function_arity;
-
-      typedef components_mpl_sequence_tag tag;
-    };
-
-    // Now put it all together: detect cv-qualification of function types and do
-    // the weird transformations above for member function pointers.
-    template<typename T, typename OrigT, typename L>
-    struct components_bcc
-      : mpl::if_
-        < detail::represents_impl< detail::components_impl<T,L>
-                                 , member_function_pointer_tag>
-        , detail::mfp_components<detail::components_impl<T,L>,T,OrigT,L>
-        , detail::components_impl<T,L>
-        >::type
-    { };
-
-#endif // end of BORLAND WORKAROUND
-
-#define BOOST_FT_al_path boost/function_types/detail/components_impl
-#include <boost/function_types/detail/pp_loop.hpp>
-
-  } } // namespace function_types::detail
-
-} // namespace ::boost
-
-#include <boost/function_types/detail/components_as_mpl_sequence.hpp>
-#include <boost/function_types/detail/retag_default_cc.hpp>
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/cc_names.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/cc_names.hpp
deleted file mode 100644
index ab69d64..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/cc_names.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
-#define BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
-
-#define BOOST_FT_BUILTIN_CC_NAMES \
-  (( IMPLICIT           , implicit_cc , BOOST_PP_EMPTY                ))\
-  (( CDECL              , cdecl_cc    , BOOST_PP_IDENTITY(__cdecl   ) ))\
-  (( STDCALL            , stdcall_cc  , BOOST_PP_IDENTITY(__stdcall ) ))\
-  (( PASCAL             , pascal_cc   , BOOST_PP_IDENTITY(pascal    ) ))\
-  (( FASTCALL           , fastcall_cc , BOOST_PP_IDENTITY(__fastcall) ))\
-  (( CLRCALL            , clrcall_cc  , BOOST_PP_IDENTITY(__clrcall ) ))\
-  (( THISCALL           , thiscall_cc , BOOST_PP_IDENTITY(__thiscall) ))\
-  (( IMPLICIT_THISCALL  , thiscall_cc , BOOST_PP_EMPTY                )) 
-
-// append user-defined cc names to builtin ones
-#ifdef BOOST_FT_CC_NAMES 
-#   define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES BOOST_FT_CC_NAMES
-#   define BOOST_FT_CC_PREPROCESSING 1
-#else
-#   define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES
-#endif
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/compiler.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/compiler.hpp
deleted file mode 100644
index 151c856..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/compiler.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
-#define BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(BOOST_MSVC)
-
-#   if BOOST_MSVC < 1310
-#     error "unsupported compiler version"
-#   endif
-
-#   ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
-
-      // enable clrcall calling covention (call to .NET managed code) when
-      // compiling with /clr 
-#     if BOOST_MSVC >= 1400 && defined(__cplusplus_cli)
-#       ifndef BOOST_FT_CC_CLRCALL
-#       define BOOST_FT_CC_CLRCALL callable_builtin
-#       endif
-#     endif
-
-      // Intel x86 architecture specific calling conventions
-#     ifdef _M_IX86
-#       define BOOST_FT_COMMON_X86_CCs callable_builtin
-#       if BOOST_MSVC < 1400
-          // version 7.1 is missing a keyword to specify the thiscall cc ...
-#         ifndef BOOST_FT_CC_IMPLICIT_THISCALL
-#         define BOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin
-#         ifndef BOOST_FT_CONFIG_OK
-#           pragma message("INFO| /Gd /Gr /Gz will compiler options will cause")
-#           pragma message("INFO| a compile error.")
-#           pragma message("INFO| Reconfigure Boost.FunctionTypes in this case.")
-#           pragma message("INFO| This message can be suppressed by defining")
-#           pragma message("INFO| BOOST_FT_CONFIG_OK.")
-#         endif
-#         endif
-#       else 
-          // ...introduced in version 8
-#         ifndef BOOST_FT_CC_THISCALL
-#         define BOOST_FT_CC_THISCALL non_variadic|member|callable_builtin
-#         endif
-#       endif
-#     endif
-#   endif
-
-#elif defined(__GNUC__) && !defined(BOOST_INTEL_LINUX)
-
-#   if __GNUC__ < 3
-#     error "unsupported compiler version"
-#   endif
-
-#   ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
-
-#     if defined(__i386__)
-#       // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20439
-#       // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328
-#       if BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(4))
-#         ifndef BOOST_FT_CC_IMPLICIT 
-#         define BOOST_FT_CC_IMPLICIT member|callable_builtin
-#         endif
-#         define BOOST_FT_COMMON_X86_CCs non_member|callable_builtin
-#       else
-#         define BOOST_FT_COMMON_X86_CCs callable_builtin
-#       endif
-#     else
-#       ifndef BOOST_FT_CC_IMPLICIT
-#       define BOOST_FT_CC_IMPLICIT callable_builtin
-#       endif
-#     endif
-#   endif
-
-#   if (defined(BOOST_FT_CC_CDECL) || defined(BOOST_FT_COMMON_X86_CCs)) \
-        && !defined(__cdecl)
-#     define __cdecl __attribute__((__cdecl__))
-#   endif
-#   if (defined(BOOST_FT_CC_STDCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
-        && !defined(__stdcall)
-#     define __stdcall __attribute__((__stdcall__))
-#   endif
-#   if (defined(BOOST_FT_CC_FASTCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
-        && !defined(__fastcall)
-#     define __fastcall __attribute__((__fastcall__))
-#   endif
-
-#elif defined(__BORLANDC__)
-
-#   if __BORLANDC__ < 0x550
-#     error "unsupported compiler version"
-#   elif __BORLANDC__ > 0x565
-#     pragma message("WARNING: library untested with this compiler version")
-#   endif
-
-#   ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
-#     define BOOST_FT_COMMON_X86_CCs callable_builtin
-#   endif
-
-    // syntactic specialities of cc specifier
-#   define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
-                        result() cc_spec() lparen() type_mod() name() rparen()
-#else
-    // only enable default calling convention
-#   define BOOST_FT_CC_IMPLICIT callable_builtin
-#endif
-
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/config.hpp
deleted file mode 100644
index 7ec8e1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/config/config.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_CONFIG_HPP_INCLUDED
-#define BOOST_FT_CONFIG_HPP_INCLUDED
-
-#include <boost/function_types/config/compiler.hpp>
-#include <boost/function_types/config/cc_names.hpp>
-
-// maximum allowed arity
-#ifndef BOOST_FT_MAX_ARITY
-#define BOOST_FT_MAX_ARITY 20
-#endif
-
-// the most common calling conventions for x86 architecture can be enabled at
-// once in the compiler config
-#ifdef BOOST_FT_COMMON_X86_CCs
-#   ifndef BOOST_FT_CC_CDECL
-#   define BOOST_FT_CC_CDECL BOOST_FT_COMMON_X86_CCs
-#   endif
-#   ifndef BOOST_FT_CC_STDCALL
-#   define BOOST_FT_CC_STDCALL non_variadic|BOOST_FT_COMMON_X86_CCs
-#   endif
-#   ifndef BOOST_FT_CC_FASTCALL
-#   define BOOST_FT_CC_FASTCALL non_variadic|BOOST_FT_COMMON_X86_CCs
-#   endif
-#endif
-
-// where to place the cc specifier (the common way)
-#ifndef BOOST_FT_SYNTAX
-#   define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
-                        result() lparen() cc_spec() type_mod() name() rparen()
-#endif
-
-// param for nullary functions
-// set to "void" for compilers that require nullary functions to read 
-// "R (void)" in template partial specialization
-#ifndef BOOST_FT_NULLARY_PARAM
-#define BOOST_FT_NULLARY_PARAM 
-#endif
-
-// there is a pending defect report on cv qualified function types, so support
-// for these types is disabled, unless for compilers where it's known to work
-#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT
-#define BOOST_FT_NO_CV_FUNC_SUPPORT 1
-#endif
-
-// full preprocessing implies preprocessing of the ccs
-#if defined(BOOST_FT_PREPROCESSING_MODE) && !defined(BOOST_FT_CC_PREPROCESSING)
-#   define BOOST_FT_CC_PREPROCESSING 1
-#endif
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/class_transform.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/class_transform.hpp
deleted file mode 100644
index 27b97b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/class_transform.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED
-#define BOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-namespace boost { namespace function_types { namespace detail {
-
-using mpl::placeholders::_;
-
-// Transformation metafunction for the class type of member function pointers.
-template<typename T, typename L>
-struct class_transform
-{ typedef typename mpl::apply1<L,T>::type type; };
-
-
-// We can short-circuit the mechanism implemented in the primary template for 
-// the most common lambda expression and save both the "un-lambdaing" and the
-// type traits invocation (we know that T can only be a class type).
-
-template<typename T> struct class_transform< T, mpl::identity<_> >
-{ typedef T type; };
-
-template<typename T> struct class_transform< T, add_reference<_> > 
-{ typedef T & type; };
-
-template<typename T> struct class_transform< T, add_pointer<_> >
-{ typedef T * type; };
-
-template<typename T> struct class_transform< T, remove_cv<_> >
-{ typedef typename boost::remove_cv<T>::type type; };
-
-template<typename T> struct class_transform< T, add_reference< remove_cv<_> > >
-{ typedef typename boost::remove_cv<T>::type & type; };
-
-template<typename T> struct class_transform< T, add_pointer< remove_cv<_> > >
-{ typedef typename boost::remove_cv<T>::type * type; };
-
-template<typename T, typename U> struct class_transform< T, mpl::always<U> >
-{ typedef U type; };
-
-
-} } } // namespace ::boost::function_types::detail
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier.hpp
deleted file mode 100644
index b5c5e71..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED
-#define BOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED
-
-#include <boost/type.hpp>
-#include <boost/config.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-#include <boost/function_types/config/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-
-namespace boost { namespace function_types { namespace detail {
-
-template<typename T> struct classifier;
-
-template<std::size_t S> struct char_array { typedef char (&type)[S]; };
-
-template<bits_t Flags, bits_t CCID, std::size_t Arity> struct encode_charr
-{
-  typedef typename char_array<
-    ::boost::function_types::detail::encode_charr_impl<Flags,CCID,Arity>::value 
-  >::type type;
-};
-
-#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
-#   define BOOST_FT_DECL __cdecl
-#else
-#   define BOOST_FT_DECL /**/
-#endif
-
-char BOOST_FT_DECL classifier_impl(...);
-
-#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_pointer|\
-                            BOOST_FT_member_pointer
-
-#define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \
-    R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
-
-#define BOOST_FT_type_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-    R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,** BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
-
-#define BOOST_FT_type_member_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-    R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,T0::** BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
-
-#define BOOST_FT_al_path boost/function_types/detail/classifier_impl
-#include <boost/function_types/detail/pp_loop.hpp>
-
-template<typename T> struct classifier_bits
-{
-  static typename boost::add_reference<T>::type tester;
-
-  BOOST_STATIC_CONSTANT(bits_t,value = (bits_t)sizeof(
-    boost::function_types::detail::classifier_impl(& tester) 
-  )-1);
-};
-
-template<typename T> struct classifier
-{
-  typedef detail::constant<
-    ::boost::function_types::detail::decode_bits<
-      ::boost::function_types::detail::classifier_bits<T>::value
-    >::tag_bits > 
-  bits;
-
-  typedef detail::full_mask mask;
- 
-  typedef detail::constant<
-    ::boost::function_types::detail::decode_bits<
-      ::boost::function_types::detail::classifier_bits<T>::value
-    >::arity > 
-  function_arity;
-};
-
-
-
-} } } // namespace ::boost::function_types::detail
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity10_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity10_0.hpp
deleted file mode 100644
index e27f3c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity10_0.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-template< typename R >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,0> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,1> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,2> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,3> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,4> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,5> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,6> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,7> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,8> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,9> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,10> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity10_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity10_1.hpp
deleted file mode 100644
index cca8027..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity10_1.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-template< typename R , typename T0 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,1> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,2> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,3> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,4> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,5> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,6> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,7> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,8> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,9> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,10> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity20_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity20_0.hpp
deleted file mode 100644
index f7a2516..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity20_0.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity10_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,11> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,12> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,13> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,14> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,15> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,16> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,17> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,18> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,19> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,20> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity20_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity20_1.hpp
deleted file mode 100644
index 1cee2ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity20_1.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity10_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,11> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,12> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,13> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,14> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,15> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,16> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,17> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,18> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,19> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,20> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity30_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity30_0.hpp
deleted file mode 100644
index 6bc60f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity30_0.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity20_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,21> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,22> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,23> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,24> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,25> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,26> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,27> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,28> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,29> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,30> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity30_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity30_1.hpp
deleted file mode 100644
index 743c263..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity30_1.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity20_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,21> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,22> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,23> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,24> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,25> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,26> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,27> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,28> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,29> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,30> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity40_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity40_0.hpp
deleted file mode 100644
index 161ac17..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity40_0.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity30_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,31> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,32> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,33> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,34> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,35> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,36> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,37> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,38> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,39> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,40> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity40_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity40_1.hpp
deleted file mode 100644
index e3a9988..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity40_1.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity30_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,31> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,32> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,33> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,34> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,35> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,36> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,37> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,38> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,39> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,40> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity50_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity50_0.hpp
deleted file mode 100644
index d05719a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity50_0.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity40_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,41> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,42> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,43> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,44> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,45> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,46> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,47> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,48> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,49> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,50> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 , T49 BOOST_FT_ell) BOOST_FT_cv);
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity50_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity50_1.hpp
deleted file mode 100644
index 944eaba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/arity50_1.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/classifier_impl/arity40_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,41> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,42> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,43> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,44> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,45> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,46> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,47> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,48> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,49> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,50> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv);
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/master.hpp
deleted file mode 100644
index 00b722e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/classifier_impl/master.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-#if BOOST_FT_ARITY_LOOP_PREFIX
-
-#   ifndef BOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED
-#     include <boost/preprocessor/facilities/identity.hpp>
-#   endif
-
-#   define BOOST_FT_type_name
-
-#elif BOOST_FT_ARITY_LOOP_IS_ITERATING
-
-template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)) >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity>::type
-classifier_impl(BOOST_FT_type);
-
-#elif BOOST_FT_ARITY_LOOP_SUFFIX
-
-#   undef BOOST_FT_type_name
-
-#else
-#   error "attempt to use arity loop master file without loop"
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_as_mpl_sequence.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_as_mpl_sequence.hpp
deleted file mode 100644
index 637b1b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_as_mpl_sequence.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED
-#define BOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/back_fwd.hpp>
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/pop_back_fwd.hpp>
-
-namespace boost { namespace mpl {
-
-template<> struct size_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S > struct apply
-    : mpl::size <typename S::types>
-  { };
-};
-template<> struct empty_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S > struct apply
-    : mpl::empty <typename S::types>
-  { };
-};
-template<> struct front_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S > struct apply
-    : mpl::front <typename S::types>
-  { };
-};
-template<> struct back_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S > struct apply
-    : mpl::back <typename S::types>
-  { };
-};
-template<> struct at_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S, typename N > struct apply
-    : mpl::at <typename S::types, N >
-  { };
-};
-template<> struct begin_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S > struct apply
-    : mpl::begin <typename S::types>
-  { };
-};
-template<> struct end_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S > struct apply
-    : mpl::end <typename S::types>
-  { };
-};
-template<> struct clear_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S >
-  struct apply
-    : S
-  {
-    typedef apply type;
-    typedef typename mpl::clear< typename S::types >::type types;
-  };
-};
-template<>
-struct push_front_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S, typename T >
-  struct apply
-    : S
-  { 
-    typedef apply type;
-    typedef typename mpl::push_front< typename S::types, T >::type types;
-  };
-};
-template<>
-struct pop_front_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S >
-  struct apply
-    : S
-  {
-    typedef apply type;
-    typedef typename mpl::pop_front< typename S::types >::type types; 
-  };
-};
-template<>
-struct push_back_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S, typename T >
-  struct apply
-    : S
-  {
-    typedef apply type;
-    typedef typename mpl::push_back< typename S::types, T >::type types; 
-  };
-};
-template<>
-struct pop_back_impl
-< function_types::detail::components_mpl_sequence_tag >
-{
-  template< typename S >
-  struct apply
-    : S
-  {
-    typedef apply type;
-    typedef typename mpl::pop_back< typename S::types >::type types; 
-  };
-};
-
-} } // namespace ::boost::mpl
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity10_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity10_0.hpp
deleted file mode 100644
index f96c6a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity10_0.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-template< typename R, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,0> function_arity;
-typedef mpl::vector1< R BOOST_FT_nullary_param > types;
-};
-template< typename R , typename T0, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,1> function_arity;
-typedef mpl::vector2< R , T0 > types;
-};
-template< typename R , typename T0 , typename T1, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,2> function_arity;
-typedef mpl::vector3< R , T0 , T1 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,3> function_arity;
-typedef mpl::vector4< R , T0 , T1 , T2 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,4> function_arity;
-typedef mpl::vector5< R , T0 , T1 , T2 , T3 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,5> function_arity;
-typedef mpl::vector6< R , T0 , T1 , T2 , T3 , T4 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,6> function_arity;
-typedef mpl::vector7< R , T0 , T1 , T2 , T3 , T4 , T5 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,7> function_arity;
-typedef mpl::vector8< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,8> function_arity;
-typedef mpl::vector9< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,9> function_arity;
-typedef mpl::vector10< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,10> function_arity;
-typedef mpl::vector11< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity10_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity10_1.hpp
deleted file mode 100644
index 1b06a97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity10_1.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-template< typename R , typename T0, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,1> function_arity;
-typedef mpl::vector2< R, typename class_transform<T0 BOOST_FT_cv, L> ::type > types;
-};
-template< typename R , typename T0 , typename T1, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,2> function_arity;
-typedef mpl::vector3< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,3> function_arity;
-typedef mpl::vector4< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,4> function_arity;
-typedef mpl::vector5< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,5> function_arity;
-typedef mpl::vector6< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,6> function_arity;
-typedef mpl::vector7< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,7> function_arity;
-typedef mpl::vector8< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,8> function_arity;
-typedef mpl::vector9< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,9> function_arity;
-typedef mpl::vector10< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,10> function_arity;
-typedef mpl::vector11< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity20_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity20_0.hpp
deleted file mode 100644
index f6b2ca8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity20_0.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity10_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,11> function_arity;
-typedef mpl::vector12< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,12> function_arity;
-typedef mpl::vector13< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,13> function_arity;
-typedef mpl::vector14< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,14> function_arity;
-typedef mpl::vector15< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,15> function_arity;
-typedef mpl::vector16< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,16> function_arity;
-typedef mpl::vector17< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,17> function_arity;
-typedef mpl::vector18< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,18> function_arity;
-typedef mpl::vector19< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,19> function_arity;
-typedef mpl::vector20< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,20> function_arity;
-typedef mpl::vector21< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity20_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity20_1.hpp
deleted file mode 100644
index 1688e6b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity20_1.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity10_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,11> function_arity;
-typedef mpl::vector12< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,12> function_arity;
-typedef mpl::vector13< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,13> function_arity;
-typedef mpl::vector14< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,14> function_arity;
-typedef mpl::vector15< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,15> function_arity;
-typedef mpl::vector16< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,16> function_arity;
-typedef mpl::vector17< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,17> function_arity;
-typedef mpl::vector18< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,18> function_arity;
-typedef mpl::vector19< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,19> function_arity;
-typedef mpl::vector20< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,20> function_arity;
-typedef mpl::vector21< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity30_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity30_0.hpp
deleted file mode 100644
index e85eb3a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity30_0.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity20_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,21> function_arity;
-typedef mpl::vector22< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,22> function_arity;
-typedef mpl::vector23< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,23> function_arity;
-typedef mpl::vector24< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,24> function_arity;
-typedef mpl::vector25< 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,25> function_arity;
-typedef mpl::vector26< 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,26> function_arity;
-typedef mpl::vector27< 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 , T25 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,27> function_arity;
-typedef mpl::vector28< 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 , T25 , T26 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,28> function_arity;
-typedef mpl::vector29< 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 , T25 , T26 , T27 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,29> function_arity;
-typedef mpl::vector30< 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 , T25 , T26 , T27 , T28 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,30> function_arity;
-typedef mpl::vector31< 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 , T25 , T26 , T27 , T28 , T29 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity30_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity30_1.hpp
deleted file mode 100644
index 290d21e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity30_1.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity20_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,21> function_arity;
-typedef mpl::vector22< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,22> function_arity;
-typedef mpl::vector23< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,23> function_arity;
-typedef mpl::vector24< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,24> function_arity;
-typedef mpl::vector25< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,25> function_arity;
-typedef mpl::vector26< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,26> function_arity;
-typedef mpl::vector27< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,27> function_arity;
-typedef mpl::vector28< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,28> function_arity;
-typedef mpl::vector29< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,29> function_arity;
-typedef mpl::vector30< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,30> function_arity;
-typedef mpl::vector31< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity40_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity40_0.hpp
deleted file mode 100644
index f1a2410..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity40_0.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity30_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,31> function_arity;
-typedef mpl::vector32< 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 , T25 , T26 , T27 , T28 , T29 , T30 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,32> function_arity;
-typedef mpl::vector33< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,33> function_arity;
-typedef mpl::vector34< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,34> function_arity;
-typedef mpl::vector35< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,35> function_arity;
-typedef mpl::vector36< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,36> function_arity;
-typedef mpl::vector37< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,37> function_arity;
-typedef mpl::vector38< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,38> function_arity;
-typedef mpl::vector39< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,39> function_arity;
-typedef mpl::vector40< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,40> function_arity;
-typedef mpl::vector41< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity40_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity40_1.hpp
deleted file mode 100644
index e1741cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity40_1.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity30_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,31> function_arity;
-typedef mpl::vector32< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,32> function_arity;
-typedef mpl::vector33< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,33> function_arity;
-typedef mpl::vector34< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,34> function_arity;
-typedef mpl::vector35< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,35> function_arity;
-typedef mpl::vector36< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,36> function_arity;
-typedef mpl::vector37< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,37> function_arity;
-typedef mpl::vector38< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,38> function_arity;
-typedef mpl::vector39< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,39> function_arity;
-typedef mpl::vector40< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,40> function_arity;
-typedef mpl::vector41< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity50_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity50_0.hpp
deleted file mode 100644
index 693a05d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity50_0.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity40_0.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,41> function_arity;
-typedef mpl::vector42< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,42> function_arity;
-typedef mpl::vector43< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,43> function_arity;
-typedef mpl::vector44< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,44> function_arity;
-typedef mpl::vector45< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,45> function_arity;
-typedef mpl::vector46< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,46> function_arity;
-typedef mpl::vector47< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,47> function_arity;
-typedef mpl::vector48< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,48> function_arity;
-typedef mpl::vector49< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,49> function_arity;
-typedef mpl::vector50< 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 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 , T49 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 , T49 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,50> function_arity;
-typedef mpl::vector51< 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 , 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 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity50_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity50_1.hpp
deleted file mode 100644
index 9bc1616..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/arity50_1.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/components_impl/arity40_1.hpp>
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,41> function_arity;
-typedef mpl::vector42< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,42> function_arity;
-typedef mpl::vector43< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,43> function_arity;
-typedef mpl::vector44< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,44> function_arity;
-typedef mpl::vector45< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,45> function_arity;
-typedef mpl::vector46< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,46> function_arity;
-typedef mpl::vector47< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,47> function_arity;
-typedef mpl::vector48< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,48> function_arity;
-typedef mpl::vector49< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,49> function_arity;
-typedef mpl::vector50< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L>
-{
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv, L> type;
-typedef components_mpl_sequence_tag tag;
-typedef mpl::integral_c<std::size_t,50> function_arity;
-typedef mpl::vector51< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
-};
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/master.hpp
deleted file mode 100644
index cd83726..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/components_impl/master.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-#if   BOOST_FT_ARITY_LOOP_PREFIX
-
-#   ifndef BOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED
-#     include <boost/preprocessor/cat.hpp>
-#     include <boost/preprocessor/facilities/empty.hpp>
-#     include <boost/preprocessor/facilities/identity.hpp>
-#     include <boost/preprocessor/arithmetic/dec.hpp>
-#     include <boost/preprocessor/punctuation/comma_if.hpp>
-#   endif
-
-#   define BOOST_FT_type_name
-
-#   if !BOOST_FT_mfp
-
-#     define BOOST_FT_types \
-          R BOOST_PP_COMMA_IF(BOOST_FT_arity) BOOST_FT_params(BOOST_PP_EMPTY)
-#   else
-
-#     define BOOST_FT_types \
-          R, typename class_transform<T0 BOOST_FT_cv, L>::type \
-          BOOST_PP_COMMA_IF(BOOST_PP_DEC(BOOST_FT_arity)) \
-          BOOST_FT_params(BOOST_PP_EMPTY)
-
-#   endif
-
-#elif BOOST_FT_ARITY_LOOP_IS_ITERATING
-
-template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)), typename L>
-struct components_impl<BOOST_FT_type, L>
-{
-  typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-  typedef constant<BOOST_FT_full_mask> mask;
-
-  typedef function_types::components<BOOST_FT_type, L> type;
-  typedef components_mpl_sequence_tag tag;
-
-  typedef mpl::integral_c<std::size_t,BOOST_FT_arity> function_arity;
-
-  typedef BOOST_PP_CAT(mpl::vector,BOOST_FT_n)< BOOST_FT_types > types;
-};
-
-#elif BOOST_FT_ARITY_LOOP_SUFFIX
-
-#   undef BOOST_FT_types
-#   undef BOOST_FT_type_name
-
-#else
-#   error "attempt to use arity loop master file without loop"
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/cv_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/cv_traits.hpp
deleted file mode 100644
index 4e15fa4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/cv_traits.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED
-#define BOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED
-
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
-#   include <boost/type_traits/remove_cv.hpp>
-#   include <boost/type_traits/remove_pointer.hpp>
-#   include <boost/type_traits/remove_reference.hpp>
-#endif
-
-#include <boost/function_types/property_tags.hpp>
-
-namespace boost { namespace function_types { namespace detail {
-
-#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
-
-template<typename T> struct cv_traits 
-{ typedef non_cv tag; typedef T type; };
-template<typename T> struct cv_traits<T &>     
-{ typedef non_cv tag; typedef T type; };
-template<typename T> struct cv_traits<T *>    
-{ typedef non_cv tag; typedef T type; };
-template<typename T> struct cv_traits<T * const> 
-{ typedef non_cv tag; typedef T type; };
-template<typename T> struct cv_traits<T * volatile> 
-{ typedef non_cv tag; typedef T type; };
-template<typename T> struct cv_traits<T * const volatile> 
-{ typedef non_cv tag; typedef T type; };
-
-template<typename T> struct cv_traits<T const> 
-{ typedef const_non_volatile tag; typedef T type; };
-template<typename T> struct cv_traits<T const &>
-{ typedef const_non_volatile tag; typedef T type; };
-template<typename T> struct cv_traits<T const *> 
-{ typedef const_non_volatile tag; typedef T type; };
-template<typename T> struct cv_traits<T const * const> 
-{ typedef const_non_volatile tag; typedef T type; };
-template<typename T> struct cv_traits<T const * volatile> 
-{ typedef const_non_volatile tag; typedef T type; };
-template<typename T> struct cv_traits<T const * const volatile> 
-{ typedef const_non_volatile tag; typedef T type; };
-
-template<typename T> struct cv_traits<T volatile>  
-{ typedef volatile_non_const tag; typedef T type; };
-template<typename T> struct cv_traits<T volatile &>  
-{ typedef volatile_non_const tag; typedef T type; };
-template<typename T> struct cv_traits<T volatile *> 
-{ typedef volatile_non_const tag; typedef T type; };
-template<typename T> struct cv_traits<T volatile * const> 
-{ typedef volatile_non_const tag; typedef T type; };
-template<typename T> struct cv_traits<T volatile * volatile> 
-{ typedef volatile_non_const tag; typedef T type; };
-template<typename T> struct cv_traits<T volatile * const volatile> 
-{ typedef volatile_non_const tag; typedef T type; };
-
-template<typename T> struct cv_traits<T const volatile>   
-{ typedef cv_qualified tag; typedef T type; };
-template<typename T> struct cv_traits<T const volatile &>
-{ typedef cv_qualified tag; typedef T type; };
-template<typename T> struct cv_traits<T const volatile *>
-{ typedef cv_qualified tag; typedef T type; };
-template<typename T> struct cv_traits<T const volatile * const>
-{ typedef cv_qualified tag; typedef T type; };
-template<typename T> struct cv_traits<T const volatile * volatile>
-{ typedef cv_qualified tag; typedef T type; };
-template<typename T> struct cv_traits<T const volatile * const volatile>
-{ typedef cv_qualified tag; typedef T type; };
-
-#else
-template<std::size_t> struct cv_tag_impl;
-
-template<> struct cv_tag_impl<1> { typedef non_cv type;};
-template<> struct cv_tag_impl<2> { typedef const_non_volatile type; };
-template<> struct cv_tag_impl<3> { typedef volatile_non_const type; };
-template<> struct cv_tag_impl<4> { typedef cv_qualified type; };
-
-typedef char (& case_1)[1];
-typedef char (& case_2)[2];
-typedef char (& case_3)[3];
-typedef char (& case_4)[4];
-
-template<typename T> case_1 switch_cv(T *);
-template<typename T> case_2 switch_cv(T const *);
-template<typename T> case_3 switch_cv(T volatile *);
-template<typename T> case_4 switch_cv(T const volatile *);
-
-template<typename T> T                * ref_to_ptr(T &);
-template<typename T> T const          * ref_to_ptr(T const &);
-template<typename T> T volatile       * ref_to_ptr(T volatile &);
-template<typename T> T const volatile * ref_to_ptr(T const volatile &);
-
-template<typename T> T                * ref_to_ptr(T * const volatile &);
-
-template<typename T>
-struct cv_code
-{
-  static T _t;
-  BOOST_STATIC_CONSTANT(std::size_t, value = 
-      sizeof(::boost::function_types::detail::switch_cv(
-         ::boost::function_types::detail::ref_to_ptr(_t) ) ));
-};
-
-template<typename T> struct cv_traits 
-{
-  typedef typename boost::function_types::detail::cv_tag_impl< 
-    ::boost::function_types::detail::cv_code<T>::value >::type
-  tag;
-
-  // may require Boost.TypeTraits broken compiler specializations
-  // to work
-  typedef typename boost::remove_cv<
-              typename boost::remove_pointer<
-                  typename boost::remove_reference<T>::type 
-              >::type 
-          >::type type; 
-};
-#endif
-
-} } } // namespace boost::function_types::detail
-
-#endif
- 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/aliases_def.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/aliases_def.hpp
deleted file mode 100644
index 4d48331..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/aliases_def.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-#define callable_builtin BOOST_FT_callable_builtin
-#define member           BOOST_FT_member_pointer
-#define non_member       BOOST_FT_non_member
-#define variadic         BOOST_FT_variadic
-#define non_variadic     BOOST_FT_non_variadic
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/aliases_undef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/aliases_undef.hpp
deleted file mode 100644
index 1d4e577..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/aliases_undef.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-#undef callable_builtin
-#undef member
-#undef non_member
-#undef variadic
-#undef non_variadic
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/def.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/def.hpp
deleted file mode 100644
index 08074fb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/def.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-// Type encoding:
-//
-// bit 0: callable builtin
-// bit 1: non member
-// bit 2: naked function
-// bit 3: pointer
-// bit 4: reference
-// bit 5: member pointer
-// bit 6: member function pointer
-// bit 7: member object pointer
-
-#define BOOST_FT_type_mask                            0x000000ff // 1111 1111 
-#define BOOST_FT_callable_builtin                     0x00000001 // 0000 0001
-#define BOOST_FT_non_member                           0x00000002 // 0000 0010
-#define BOOST_FT_function                             0x00000007 // 0000 0111
-#define BOOST_FT_pointer                              0x0000000b // 0000 1011
-#define BOOST_FT_reference                            0x00000013 // 0001 0011
-#define BOOST_FT_non_member_callable_builtin          0x00000003 // 0000 0011
-#define BOOST_FT_member_pointer                       0x00000020 // 0010 0000
-#define BOOST_FT_member_function_pointer              0x00000061 // 0110 0001
-#define BOOST_FT_member_object_pointer                0x000000a3 // 1010 0001
-#define BOOST_FT_member_object_pointer_flags          0x000002a3
-
-#define BOOST_FT_variadic                             0x00000100
-#define BOOST_FT_non_variadic                         0x00000200
-#define BOOST_FT_variadic_mask                        0x00000300
-
-#define BOOST_FT_const                                0x00000400
-#define BOOST_FT_volatile                             0x00000800
-
-#define BOOST_FT_default_cc                           0x00008000
-#define BOOST_FT_cc_mask                              0x00ff8000
-
-#define BOOST_FT_kind_mask                            0x000000fc 
-
-#define BOOST_FT_flags_mask                           0x00000fff
-#define BOOST_FT_full_mask                            0x00ff0fff
-
-#define BOOST_FT_arity_shift                          24
-#define BOOST_FT_arity_mask                           0x7f000000
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/undef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/undef.hpp
deleted file mode 100644
index 1920d6f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/encoding/undef.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-#undef BOOST_FT_type_mask
-#undef BOOST_FT_kind_mask
-#undef BOOST_FT_callable_builtin
-#undef BOOST_FT_non_member
-#undef BOOST_FT_function
-#undef BOOST_FT_pointer
-#undef BOOST_FT_reference
-#undef BOOST_FT_non_member_callable_builtin
-#undef BOOST_FT_member_pointer
-#undef BOOST_FT_member_function_pointer
-#undef BOOST_FT_member_object_pointer
-#undef BOOST_FT_member_object_pointer_flags
-
-#undef BOOST_FT_variadic
-#undef BOOST_FT_non_variadic
-#undef BOOST_FT_variadic_mask
-
-#undef BOOST_FT_const
-#undef BOOST_FT_volatile
-
-#undef BOOST_FT_default_cc
-#undef BOOST_FT_cc_mask
-
-#undef BOOST_FT_flags_mask
-#undef BOOST_FT_full_mask
-
-#undef BOOST_FT_arity_mask
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_arity_loop.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_arity_loop.hpp
deleted file mode 100644
index b6dbff5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_arity_loop.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-#ifndef BOOST_FT_PREPROCESSING_MODE
-// input:  BOOST_FT_mfp        0 or 1 <=> member function pointer?
-// input:  BOOST_FT_type_name  BOOST_FT_type --> "R (* ..._type_name)()" (pass2)
-#endif
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-#ifdef __WAVE__
-#   pragma wave option(preserve: 0)
-#endif
-
-#ifndef BOOST_FT_ARITY_LOOP_IS_ITERATING
-
-#   define BOOST_FT_AL_PREPROCESSED \
-        BOOST_FT_AL_FILE(BOOST_FT_al_path,BOOST_FT_FROM_ARITY,BOOST_FT_mfp)
-
-#   define BOOST_FT_AL_FILE(base_path,max_arity,mfp) \
-        BOOST_FT_AL_FILE_I(base_path,max_arity,mfp)
-#   define BOOST_FT_AL_FILE_I(base_path,max_arity,mfp) \
-        <base_path/arity ## max_arity ## _ ## mfp.hpp>
-
-#   if !defined(BOOST_FT_PREPROCESSING_MODE)
-
-#     if BOOST_FT_MAX_ARITY < 10
-#       define BOOST_FT_FROM_ARITY 0 
-#     elif BOOST_FT_MAX_ARITY < 20
-#       define BOOST_FT_FROM_ARITY 10
-#     elif BOOST_FT_MAX_ARITY < 30
-#       define BOOST_FT_FROM_ARITY 20
-#     elif BOOST_FT_MAX_ARITY < 40
-#       define BOOST_FT_FROM_ARITY 30
-#     endif
-
-#     if BOOST_FT_FROM_ARITY
-#       include BOOST_FT_AL_PREPROCESSED
-#     endif
-
-#   elif !defined(BOOST_FT_FROM_ARITY) // single pass preprocessing
-#     define BOOST_FT_FROM_ARITY 0
-
-#   elif BOOST_FT_FROM_ARITY > 0       // arity20 includes arity10
-BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED
-#   endif
-
-#   undef BOOST_FT_AL_PREPROCESSED
-
-#   undef BOOST_FT_AL_FILE
-#   undef BOOST_FT_AL_FILE_I
-
-#   if BOOST_FT_MAX_ARITY > BOOST_FT_FROM_ARITY
-
-#     ifndef BOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED
-#     define BOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED
-#         include <boost/preprocessor/cat.hpp>
-#         include <boost/preprocessor/tuple/eat.hpp>
-#         include <boost/preprocessor/control/if.hpp>
-#         include <boost/preprocessor/arithmetic/inc.hpp>
-#         include <boost/preprocessor/facilities/empty.hpp>
-#         include <boost/preprocessor/facilities/expand.hpp>
-#         include <boost/preprocessor/iteration/iterate.hpp>
-#         include <boost/preprocessor/repetition/enum_params.hpp>
-#         include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#         include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#     endif
-
-#     define BOOST_FT_AL_INCLUDE_FILE <BOOST_FT_al_path/master.hpp>
-
-#     define BOOST_FT_ARITY_LOOP_PREFIX 1
-#     include BOOST_FT_AL_INCLUDE_FILE
-#     undef  BOOST_FT_ARITY_LOOP_PREFIX
-
-#     if !BOOST_PP_IS_ITERATING
-#       define BOOST_PP_FILENAME_1 BOOST_FT_AL_INCLUDE_FILE
-#     elif BOOST_PP_ITERATION_DEPTH() == 1
-#       define BOOST_PP_FILENAME_2 BOOST_FT_AL_INCLUDE_FILE
-#     else
-#       error "loops nested too deeply"
-#     endif
-
-#     define BOOST_FT_arity BOOST_PP_ITERATION()
-#     define BOOST_FT_n     BOOST_PP_INC(BOOST_FT_arity)
-
-#     define BOOST_FT_type \
-          BOOST_FT_syntax(BOOST_FT_cc,BOOST_FT_type_name BOOST_PP_EMPTY)\
-               (BOOST_FT_params(BOOST_PP_EMPTY) BOOST_FT_ell) BOOST_FT_cv
-
-#     define BOOST_FT_tplargs(prefx) \
-          prefx() R BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_FT_arity,prefx() T)
-
-#     if !BOOST_FT_mfp
-
-#       define BOOST_FT_params(prefx) \
-            BOOST_PP_IF(BOOST_FT_arity,BOOST_PP_ENUM_PARAMS, \
-                BOOST_FT_nullary_param BOOST_PP_TUPLE_EAT(2))( \
-                    BOOST_FT_arity,prefx() T) 
-#     else
-
-#       define BOOST_FT_params(prefx) \
-            BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_FT_arity,prefx() T)
-
-#     endif
-
-#     if !BOOST_FT_FROM_ARITY 
-#       define BOOST_PP_ITERATION_LIMITS (BOOST_FT_mfp, BOOST_FT_MAX_ARITY)
-#     else
-#       define BOOST_PP_ITERATION_LIMITS \
-            (BOOST_FT_FROM_ARITY+1, BOOST_FT_MAX_ARITY)
-#     endif
-
-#     define BOOST_FT_ARITY_LOOP_IS_ITERATING 1
-#     include BOOST_PP_ITERATE()
-#     undef  BOOST_FT_ARITY_LOOP_IS_ITERATING
-
-#     undef BOOST_FT_arity
-#     undef BOOST_FT_params
-#     undef BOOST_FT_tplargs
-#     undef BOOST_FT_type
-
-#     define BOOST_FT_ARITY_LOOP_SUFFIX 1
-#     include BOOST_FT_AL_INCLUDE_FILE
-#     undef  BOOST_FT_ARITY_LOOP_SUFFIX
-
-#     undef BOOST_FT_AL_INCLUDE_FILE
-#   endif
-
-#   undef BOOST_FT_FROM_ARITY
-
-#else
-#   error "attempt to nest arity loops"
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_cc_loop/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_cc_loop/master.hpp
deleted file mode 100644
index 60e958c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_cc_loop/master.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-#ifdef __WAVE__
-// this file has been generated from the master.hpp file in the same directory
-#   pragma wave option(preserve: 0)
-#endif
-
-
-#if !BOOST_PP_IS_ITERATING
-
-#   ifndef BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED
-#     include <boost/function_types/config/cc_names.hpp>
-
-#     include <boost/preprocessor/cat.hpp>
-#     include <boost/preprocessor/seq/size.hpp>
-#     include <boost/preprocessor/seq/elem.hpp>
-#     include <boost/preprocessor/tuple/elem.hpp>
-#     include <boost/preprocessor/iteration/iterate.hpp>
-#     include <boost/preprocessor/facilities/expand.hpp>
-#     include <boost/preprocessor/arithmetic/inc.hpp>
-#   endif
-
-#   include <boost/function_types/detail/encoding/def.hpp>
-#   include <boost/function_types/detail/encoding/aliases_def.hpp>
-
-#   define  BOOST_PP_FILENAME_1 \
-        <boost/function_types/detail/pp_cc_loop/master.hpp>
-#   define  BOOST_PP_ITERATION_LIMITS \
-        (0,BOOST_PP_SEQ_SIZE(BOOST_FT_CC_NAMES_SEQ)-1)
-#   include BOOST_PP_ITERATE()
-#   if !defined(BOOST_FT_config_valid) && BOOST_FT_CC_PREPROCESSING
-#     define BOOST_FT_cc_id 1
-#     define BOOST_FT_cc_name implicit_cc
-#     define BOOST_FT_cc BOOST_PP_EMPTY
-#     define BOOST_FT_cond callable_builtin
-#     include BOOST_FT_cc_file
-#     undef BOOST_FT_cond
-#     undef BOOST_FT_cc_name
-#     undef BOOST_FT_cc
-#     undef BOOST_FT_cc_id
-#   elif !defined(BOOST_FT_config_valid) // and generating preprocessed file
-BOOST_PP_EXPAND(#) ifndef BOOST_FT_config_valid
-BOOST_PP_EXPAND(#)   define BOOST_FT_cc_id 1
-BOOST_PP_EXPAND(#)   define BOOST_FT_cc_name implicit_cc
-BOOST_PP_EXPAND(#)   define BOOST_FT_cc BOOST_PP_EMPTY
-BOOST_PP_EXPAND(#)   define BOOST_FT_cond callable_builtin
-#define _()
-BOOST_PP_EXPAND(#)   include BOOST_FT_cc_file
-#undef _
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cond
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cc_name
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cc
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cc_id
-BOOST_PP_EXPAND(#) else
-BOOST_PP_EXPAND(#)   undef BOOST_FT_config_valid
-BOOST_PP_EXPAND(#) endif
-
-#   else
-#     undef BOOST_FT_config_valid
-#   endif
-
-#   include <boost/function_types/detail/encoding/aliases_undef.hpp>
-#   include <boost/function_types/detail/encoding/undef.hpp>
-
-#elif BOOST_FT_CC_PREPROCESSING
-
-#   define BOOST_FT_cc_id  BOOST_PP_INC(BOOST_PP_FRAME_ITERATION(1))
-#   define BOOST_FT_cc_inf \
-        BOOST_PP_SEQ_ELEM(BOOST_PP_FRAME_ITERATION(1),BOOST_FT_CC_NAMES_SEQ)
-
-#   define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf)
-#   define BOOST_FT_cc_name    BOOST_PP_TUPLE_ELEM(3,1,BOOST_FT_cc_inf)
-#   define BOOST_FT_cc         BOOST_PP_TUPLE_ELEM(3,2,BOOST_FT_cc_inf)
-
-#   define BOOST_FT_cond BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name)
-
-#   if BOOST_FT_cond
-#     define BOOST_FT_config_valid 1
-#     include BOOST_FT_cc_file
-#   endif
-
-#   undef BOOST_FT_cond
-
-#   undef BOOST_FT_cc_pp_name
-#   undef BOOST_FT_cc_name
-#   undef BOOST_FT_cc
-
-#   undef BOOST_FT_cc_id
-#   undef BOOST_FT_cc_inf
-
-#else // if generating preprocessed file
-BOOST_PP_EXPAND(#) define BOOST_FT_cc_id BOOST_PP_INC(BOOST_PP_ITERATION())
-
-#   define BOOST_FT_cc_inf \
-        BOOST_PP_SEQ_ELEM(BOOST_PP_ITERATION(),BOOST_FT_CC_NAMES_SEQ)
-
-#   define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf)
-
-#   define BOOST_FT_CC_DEF(name,index) \
-        name BOOST_PP_TUPLE_ELEM(3,index,BOOST_FT_cc_inf)
-BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc_name,1)
-BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc,2)
-#   undef  BOOST_FT_CC_DEF
-
-#   define BOOST_FT_cc_cond_v BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name)
-BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v
-#   undef  BOOST_FT_cc_cond_v
-
-#   undef BOOST_FT_cc_pp_name
-#   undef BOOST_FT_cc_inf
-
-BOOST_PP_EXPAND(#) if BOOST_FT_cond
-BOOST_PP_EXPAND(#)   define BOOST_FT_config_valid 1
-#define _()
-BOOST_PP_EXPAND(#)   include BOOST_FT_cc_file
-#undef _
-BOOST_PP_EXPAND(#) endif
-
-BOOST_PP_EXPAND(#) undef BOOST_FT_cond
-
-BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name
-BOOST_PP_EXPAND(#) undef BOOST_FT_cc
-
-BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_cc_loop/preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_cc_loop/preprocessed.hpp
deleted file mode 100644
index da4079c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_cc_loop/preprocessed.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-// this file has been generated from the master.hpp file in the same directory
-# define BOOST_FT_cc_id 1
-# define BOOST_FT_cc_name implicit_cc
-# define BOOST_FT_cc BOOST_PP_EMPTY
-# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 2
-# define BOOST_FT_cc_name cdecl_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__cdecl )
-# define BOOST_FT_cond BOOST_FT_CC_CDECL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 3
-# define BOOST_FT_cc_name stdcall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__stdcall )
-# define BOOST_FT_cond BOOST_FT_CC_STDCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 4
-# define BOOST_FT_cc_name pascal_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(pascal )
-# define BOOST_FT_cond BOOST_FT_CC_PASCAL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 5
-# define BOOST_FT_cc_name fastcall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__fastcall)
-# define BOOST_FT_cond BOOST_FT_CC_FASTCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 6
-# define BOOST_FT_cc_name clrcall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__clrcall )
-# define BOOST_FT_cond BOOST_FT_CC_CLRCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 7
-# define BOOST_FT_cc_name thiscall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__thiscall)
-# define BOOST_FT_cond BOOST_FT_CC_THISCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 8
-# define BOOST_FT_cc_name thiscall_cc
-# define BOOST_FT_cc BOOST_PP_EMPTY
-# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT_THISCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
-# endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# ifndef BOOST_FT_config_valid
-# define BOOST_FT_cc_id 1
-# define BOOST_FT_cc_name implicit_cc
-# define BOOST_FT_cc BOOST_PP_EMPTY
-# define BOOST_FT_cond 0x00000001
-# include BOOST_FT_cc_file
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# else
-# undef BOOST_FT_config_valid
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_loop.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_loop.hpp
deleted file mode 100644
index 7d8c347..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_loop.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-#ifndef BOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED
-#define BOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED
-#   include <boost/preprocessor/facilities/expand.hpp>
-#   include <boost/preprocessor/facilities/empty.hpp>
-#   include <boost/preprocessor/punctuation/paren.hpp>
-#endif
-
-#include <boost/function_types/detail/encoding/def.hpp>
-#include <boost/function_types/detail/encoding/aliases_def.hpp>
-
-#if defined(BOOST_FT_PREPROCESSING_MODE)
-#   define BOOST_FT_loop <boost/function_types/detail/pp_cc_loop/master.hpp>
-#else
-#   define BOOST_FT_loop \
-        <boost/function_types/detail/pp_cc_loop/preprocessed.hpp>
-#endif
-
-#if defined(BOOST_FT_al_path)
-
-#   define BOOST_FT_cc_file \
-        <boost/function_types/detail/pp_variate_loop/preprocessed.hpp>
-#   define BOOST_FT_variate_file \
-        <boost/function_types/detail/pp_arity_loop.hpp>
-
-#   ifndef BOOST_FT_type_function
-#   define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_EMPTY,cc,BOOST_PP_EMPTY,name,BOOST_PP_EMPTY)
-#   endif
-#   ifndef BOOST_FT_type_function_pointer
-#   define BOOST_FT_type_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
-#   endif
-#   ifndef BOOST_FT_type_function_reference
-#   define BOOST_FT_type_function_reference(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,& BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
-#   endif
-#   ifndef BOOST_FT_type_member_function_pointer
-#   define BOOST_FT_type_member_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,T0::* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
-#   endif
-
-#   include BOOST_FT_loop
-
-#   undef BOOST_FT_type_function
-#   undef BOOST_FT_type_function_pointer
-#   undef BOOST_FT_type_function_reference
-#   undef BOOST_FT_type_member_function_pointer
-
-#   undef BOOST_FT_variations
-#   undef BOOST_FT_variate_file
-#   undef BOOST_FT_cc_file
-#   undef BOOST_FT_al_path
-
-#elif defined(BOOST_FT_cc_file)
-
-#   include BOOST_FT_loop
-#   undef BOOST_FT_cc_file
-
-#else
-
-#   error "argument missing"
-
-#endif
-
-#undef BOOST_FT_loop
-
-#include <boost/function_types/detail/encoding/aliases_undef.hpp>
-#include <boost/function_types/detail/encoding/undef.hpp>
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_retag_default_cc/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_retag_default_cc/master.hpp
deleted file mode 100644
index 865efce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_retag_default_cc/master.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is guarded externally
-
-#ifdef __WAVE__
-// this file has been generated from the master.hpp file in the same directory
-#   pragma wave option(preserve: 0)
-#endif
-
-#if !defined(BOOST_PP_VALUE)
-#   include <boost/preprocessor/slot/slot.hpp>
-#   include <boost/preprocessor/iteration/self.hpp>
-
-#   include <boost/function_types/detail/encoding/def.hpp>
-#   include <boost/function_types/detail/encoding/aliases_def.hpp>
-
-namespace boost { namespace function_types {
-
-namespace detail
-{
-  template<class Tag, class RefTag> struct selector_bits
-  {
-#   define  BOOST_PP_VALUE non_member|member|non_variadic|variadic
-#   include BOOST_PP_ASSIGN_SLOT(1)
-
-    BOOST_STATIC_CONSTANT(bits_t, value = (
-        (::boost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc) 
-      | (::boost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1))
-    ));
-  };
-
-  template<bits_t SelectorBits> struct default_cc_tag; 
-  
-  template<class Tag, class RefTag> struct retag_default_cc
-    : detail::compound_tag
-      < Tag, detail::default_cc_tag< 
-          ::boost::function_types::detail::selector_bits<Tag,RefTag>::value > >
-  { };
-
-  template<bits_t SelectorBits> struct default_cc_tag
-  {
-    typedef null_tag::bits bits;
-    typedef null_tag::mask mask;
-  };
-
-  class test_class;
-  typedef constant<BOOST_FT_cc_mask> cc_mask_constant;
-
-#   define BOOST_FT_self \
-      <boost/function_types/detail/pp_retag_default_cc/master.hpp>
-
-#   define  default_cc_ BOOST_FT_default_cc
-
-#   define  BOOST_PP_VALUE default_cc_|non_member|non_variadic
-#   define  BOOST_FT_tester void (*tester)()
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
-
-#   define  BOOST_PP_VALUE default_cc_|non_member|variadic
-#   define  BOOST_FT_tester void (*tester)(...)
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
-
-#   define  BOOST_PP_VALUE default_cc_|member|non_variadic
-#   define  BOOST_FT_tester void (test_class::*tester)()
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
-
-#   define  BOOST_PP_VALUE default_cc_|member|variadic
-#   define  BOOST_FT_tester void (test_class::*tester)(...)
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
-
-#   undef   default_cc_
-
-#   undef BOOST_FT_self
-
-} } } // namespace ::boost::function_types::detail
-
-#   include <boost/function_types/detail/encoding/aliases_undef.hpp>
-#   include <boost/function_types/detail/encoding/undef.hpp>
-
-#else // if defined(BOOST_PP_VALUE)
-
-#   include BOOST_PP_ASSIGN_SLOT(1)
-
-  template<> struct default_cc_tag<BOOST_PP_SLOT(1)> 
-  {
-    typedef BOOST_FT_tester;
-    typedef mpl::bitand_<components<tester>::bits,cc_mask_constant> bits;
-    typedef cc_mask_constant mask;
-  };
-
-#   undef BOOST_FT_tester
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
deleted file mode 100644
index 72666d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is guarded externally
-
-// this file has been generated from the master.hpp file in the same directory
-namespace boost { namespace function_types {
-namespace detail
-{
-template<class Tag, class RefTag> struct selector_bits
-{
-BOOST_STATIC_CONSTANT(bits_t, value = (
-(::boost::function_types::detail::bits<Tag> ::value & 0x00008000) 
-| (::boost::function_types::detail::bits<RefTag> ::value & 802)
-));
-};
-template<bits_t SelectorBits> struct default_cc_tag; 
-template<class Tag, class RefTag> struct retag_default_cc
-: detail::compound_tag
-< Tag, detail::default_cc_tag< 
-::boost::function_types::detail::selector_bits<Tag,RefTag> ::value > >
-{ };
-template<bits_t SelectorBits> struct default_cc_tag
-{
-typedef null_tag::bits bits;
-typedef null_tag::mask mask;
-};
-class test_class;
-typedef constant<0x00ff8000> cc_mask_constant;
-template< > struct default_cc_tag<33282> 
-{
-typedef void ( *tester)();
-typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
-typedef cc_mask_constant mask;
-};
-template< > struct default_cc_tag<33026> 
-{
-typedef void ( *tester)( ... );
-typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
-typedef cc_mask_constant mask;
-};
-template< > struct default_cc_tag<33312> 
-{
-typedef void (test_class:: *tester)();
-typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
-typedef cc_mask_constant mask;
-};
-template< > struct default_cc_tag<33056> 
-{
-typedef void (test_class:: *tester)( ... );
-typedef mpl::bitand_<components<tester> ::bits,cc_mask_constant> bits;
-typedef cc_mask_constant mask;
-};
-} } } 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/cc_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/cc_tag.hpp
deleted file mode 100644
index 81f1d89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/cc_tag.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusions
-
-  struct BOOST_FT_cc_name
-  {
-    typedef detail::encode_bits<0,BOOST_FT_cc_id> bits;
-    typedef detail::constant<BOOST_FT_cc_mask> mask;
-  };
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/master.hpp
deleted file mode 100644
index 9cce212..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/master.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is guarded externally
-
-#ifdef __WAVE__
-// this file has been generated from the master.hpp file in the same directory
-#   pragma wave option(preserve: 0)
-#endif
-
-#if !defined(BOOST_FT_PREPROCESSING_MODE) || defined(BOOST_FT_CONFIG_HPP_INCLUDED)
-#   error "this file used with two-pass preprocessing, only"
-#endif
-
-#include <boost/preprocessor/slot/slot.hpp>
-#include <boost/function_types/detail/encoding/def.hpp>
-
-namespace boost { namespace function_types {
-
-typedef detail::property_tag<BOOST_FT_non_variadic,BOOST_FT_variadic_mask> non_variadic;
-typedef detail::property_tag<BOOST_FT_variadic,BOOST_FT_variadic_mask>     variadic;
-                                                                       
-typedef detail::property_tag<0,BOOST_FT_const>                     non_const;
-typedef detail::property_tag<BOOST_FT_const,BOOST_FT_const>        const_qualified;
-                                                                       
-typedef detail::property_tag<0,BOOST_FT_volatile>                  non_volatile;
-typedef detail::property_tag<BOOST_FT_volatile,BOOST_FT_volatile>  volatile_qualified; 
-
-typedef detail::property_tag<BOOST_FT_default_cc,BOOST_FT_cc_mask> default_cc;
-
-#define BOOST_PP_VALUE BOOST_FT_const|BOOST_FT_volatile 
-#include BOOST_PP_ASSIGN_SLOT(1)
-
-typedef detail::property_tag<0                , BOOST_PP_SLOT(1)> non_cv;
-typedef detail::property_tag<BOOST_FT_const   , BOOST_PP_SLOT(1)> const_non_volatile;
-typedef detail::property_tag<BOOST_FT_volatile, BOOST_PP_SLOT(1)> volatile_non_const;
-typedef detail::property_tag<BOOST_PP_SLOT(1) , BOOST_PP_SLOT(1)> cv_qualified;
-
-namespace detail {
-
-  typedef constant<BOOST_FT_full_mask> full_mask;
-
-  template <bits_t Flags, bits_t CCID> struct encode_bits_impl
-  {
-    BOOST_STATIC_CONSTANT( bits_t, value = 
-      Flags | (BOOST_FT_default_cc * CCID) << 1 );
-  };
-
-  template <bits_t Flags, bits_t CCID, std::size_t Arity> 
-  struct encode_charr_impl
-  {
-    BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+
-      Flags | (BOOST_FT_default_cc * CCID) << 1 | Arity << BOOST_FT_arity_shift
-    ));
-  };
-
-  template <bits_t Bits> struct decode_bits
-  {
-    BOOST_STATIC_CONSTANT(bits_t, flags = Bits & BOOST_FT_flags_mask);
-
-    BOOST_STATIC_CONSTANT(bits_t, cc_id = 
-      ( (Bits & BOOST_FT_full_mask) / BOOST_FT_default_cc) >> 1 
-    );
-
-    BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & BOOST_FT_full_mask));
-
-    BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t)
-      (Bits >> BOOST_FT_arity_shift) 
-    );
-  };
-
-  template <bits_t LHS_bits, bits_t LHS_mask, bits_t RHS_bits, bits_t RHS_mask>
-  struct tag_ice
-  {
-    BOOST_STATIC_CONSTANT(bool, match =
-      RHS_bits == (LHS_bits & RHS_mask & (RHS_bits |~BOOST_FT_type_mask))
-    );
-
-    BOOST_STATIC_CONSTANT(bits_t, combined_bits = 
-      (LHS_bits & ~RHS_mask) | RHS_bits
-    );
-
-    BOOST_STATIC_CONSTANT(bits_t, combined_mask =
-      LHS_mask | RHS_mask
-    );
-
-    BOOST_STATIC_CONSTANT(bits_t, extracted_bits =
-      LHS_bits & RHS_mask
-    );
-
-  };
-
-#define BOOST_FT_mask BOOST_FT_type_mask
-  typedef property_tag<BOOST_FT_callable_builtin,BOOST_FT_mask>            callable_builtin_tag;
-  typedef property_tag<BOOST_FT_non_member_callable_builtin,BOOST_FT_mask> nonmember_callable_builtin_tag;
-  typedef property_tag<BOOST_FT_function,BOOST_FT_mask>       function_tag;
-  typedef property_tag<BOOST_FT_reference,BOOST_FT_mask>      reference_tag;
-  typedef property_tag<BOOST_FT_pointer,BOOST_FT_mask>        pointer_tag;
-  typedef property_tag<BOOST_FT_member_function_pointer,BOOST_FT_mask> member_function_pointer_tag;
-  typedef property_tag<BOOST_FT_member_object_pointer,BOOST_FT_mask> member_object_pointer_tag;
-  typedef property_tag<BOOST_FT_member_object_pointer_flags,BOOST_FT_full_mask> member_object_pointer_base;
-  typedef property_tag<BOOST_FT_member_pointer,BOOST_FT_mask> member_pointer_tag;
-#undef  BOOST_FT_mask 
-
-#define BOOST_PP_VALUE BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_default_cc
-#include BOOST_PP_ASSIGN_SLOT(1)
-#define BOOST_PP_VALUE BOOST_FT_type_mask|BOOST_FT_variadic_mask|BOOST_FT_cc_mask
-#include BOOST_PP_ASSIGN_SLOT(2)
-
-  typedef property_tag< BOOST_PP_SLOT(1) , BOOST_PP_SLOT(2) > nv_dcc_func;
-
-#define BOOST_PP_VALUE \
-    BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_default_cc
-#include BOOST_PP_ASSIGN_SLOT(1)
-
-  typedef property_tag< BOOST_PP_SLOT(1) , BOOST_PP_SLOT(2) > nv_dcc_mfp;
-
-} // namespace detail
-
-} } // namespace ::boost::function_types
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/preprocessed.hpp
deleted file mode 100644
index 823c3cc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_tags/preprocessed.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is guarded externally
-
-// this file has been generated from the master.hpp file in the same directory
-namespace boost { namespace function_types {
-typedef detail::property_tag<0x00000200,0x00000300> non_variadic;
-typedef detail::property_tag<0x00000100,0x00000300> variadic;
-typedef detail::property_tag<0,0x00000400> non_const;
-typedef detail::property_tag<0x00000400,0x00000400> const_qualified;
-typedef detail::property_tag<0,0x00000800> non_volatile;
-typedef detail::property_tag<0x00000800,0x00000800> volatile_qualified; 
-typedef detail::property_tag<0x00008000,0x00ff8000> default_cc;
-typedef detail::property_tag<0 , 3072> non_cv;
-typedef detail::property_tag<0x00000400 , 3072> const_non_volatile;
-typedef detail::property_tag<0x00000800, 3072> volatile_non_const;
-typedef detail::property_tag<3072 , 3072> cv_qualified;
-namespace detail {
-typedef constant<0x00ff0fff> full_mask;
-template <bits_t Flags, bits_t CCID> struct encode_bits_impl
-{
-BOOST_STATIC_CONSTANT( bits_t, value = 
-Flags | (0x00008000 * CCID) << 1 );
-};
-template <bits_t Flags, bits_t CCID, std::size_t Arity> 
-struct encode_charr_impl
-{
-BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+
-Flags | (0x00008000 * CCID) << 1 | Arity << 24
-));
-};
-template <bits_t Bits> struct decode_bits
-{
-BOOST_STATIC_CONSTANT(bits_t, flags = Bits & 0x00000fff);
-BOOST_STATIC_CONSTANT(bits_t, cc_id = 
-( (Bits & 0x00ff0fff) / 0x00008000) >> 1 
-);
-BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & 0x00ff0fff));
-BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t)
-(Bits >> 24) 
-);
-};
-template <bits_t LHS_bits, bits_t LHS_mask, bits_t RHS_bits, bits_t RHS_mask>
-struct tag_ice
-{
-BOOST_STATIC_CONSTANT(bool, match =
-RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff))
-);
-BOOST_STATIC_CONSTANT(bits_t, combined_bits = 
-(LHS_bits & ~RHS_mask) | RHS_bits
-);
-BOOST_STATIC_CONSTANT(bits_t, combined_mask =
-LHS_mask | RHS_mask
-);
-BOOST_STATIC_CONSTANT(bits_t, extracted_bits =
-LHS_bits & RHS_mask
-);
-};
-typedef property_tag<0x00000001,0x000000ff> callable_builtin_tag;
-typedef property_tag<0x00000003,0x000000ff> nonmember_callable_builtin_tag;
-typedef property_tag<0x00000007,0x000000ff> function_tag;
-typedef property_tag<0x00000013,0x000000ff> reference_tag;
-typedef property_tag<0x0000000b,0x000000ff> pointer_tag;
-typedef property_tag<0x00000061,0x000000ff> member_function_pointer_tag;
-typedef property_tag<0x000000a3,0x000000ff> member_object_pointer_tag;
-typedef property_tag<0x000002a3,0x00ff0fff> member_object_pointer_base;
-typedef property_tag<0x00000020,0x000000ff> member_pointer_tag;
-typedef property_tag< 33287 , 16745471 > nv_dcc_func;
-typedef property_tag< 33377 , 16745471 > nv_dcc_mfp;
-} 
-} } 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_variate_loop/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_variate_loop/master.hpp
deleted file mode 100644
index 5026342..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_variate_loop/master.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifdef __WAVE__
-// this file has been generated from the master.hpp file in the same directory
-#   pragma wave option(preserve: 0)
-#endif
-
-#if !defined(BOOST_FT_PREPROCESSING_MODE)
-#   error "this file is only for two-pass preprocessing"
-#endif
-
-#if !defined(BOOST_PP_VALUE)
-#   include <boost/preprocessor/slot/slot.hpp>
-#   include <boost/preprocessor/facilities/empty.hpp>
-#   include <boost/preprocessor/facilities/expand.hpp>
-#   include <boost/function_types/detail/encoding/def.hpp>
-
-BOOST_PP_EXPAND(#) define BOOST_FT_mfp 0
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function
-
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic
-#   include __FILE__
-
-BOOST_PP_EXPAND(#) if !BOOST_FT_NO_CV_FUNC_SUPPORT
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_const
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_const
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_volatile
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_volatile
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_const|BOOST_FT_volatile
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_const|BOOST_FT_volatile
-#   include __FILE__
-BOOST_PP_EXPAND(#) endif
-
-
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function_pointer
-
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_pointer|BOOST_FT_non_variadic
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_pointer|BOOST_FT_variadic
-#   include __FILE__
-
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function_reference
-
-#   define BOOST_PP_VALUE \
-      BOOST_FT_reference|BOOST_FT_non_variadic
-#   include __FILE__
-#   define BOOST_PP_VALUE \
-      BOOST_FT_reference|BOOST_FT_variadic
-#   include __FILE__
-
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) undef  BOOST_FT_mfp
-
-BOOST_PP_EXPAND(#) define BOOST_FT_mfp 1
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_member_function_pointer
-
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_const
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_const
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_volatile
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_volatile
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_const|BOOST_FT_volatile
-#   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_const|BOOST_FT_volatile
-#   include __FILE__
-
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) undef  BOOST_FT_mfp
-
-#   include <boost/function_types/detail/encoding/undef.hpp>
-#else 
-
-#   include BOOST_PP_ASSIGN_SLOT(1)
-
-#   define  BOOST_PP_VALUE BOOST_PP_SLOT(1) & BOOST_FT_kind_mask
-#   include BOOST_PP_ASSIGN_SLOT(2)
-
-BOOST_PP_EXPAND(#) if !!(BOOST_PP_SLOT(2) & (BOOST_FT_variations))
-BOOST_PP_EXPAND(#) if (BOOST_PP_SLOT(1) & (BOOST_FT_cond)) == (BOOST_FT_cond)
-
-#   if ( BOOST_PP_SLOT(1) & (BOOST_FT_variadic) )
-BOOST_PP_EXPAND(#)   define BOOST_FT_ell ...
-BOOST_PP_EXPAND(#)   define BOOST_FT_nullary_param
-#   else
-BOOST_PP_EXPAND(#)   define BOOST_FT_ell
-BOOST_PP_EXPAND(#)   define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-#   endif
-
-#   if !( BOOST_PP_SLOT(1) & (BOOST_FT_volatile) )
-#     if !( BOOST_PP_SLOT(1) & (BOOST_FT_const) )
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv 
-#     else
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv const
-#     endif
-#   else
-#     if !( BOOST_PP_SLOT(1) & (BOOST_FT_const) )
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv volatile
-#     else
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv const volatile
-#     endif
-#   endif
-BOOST_PP_EXPAND(#)   define BOOST_FT_flags BOOST_PP_SLOT(1)
-BOOST_PP_EXPAND(#)   include BOOST_FT_variate_file
-
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cv
-BOOST_PP_EXPAND(#)   undef BOOST_FT_ell
-BOOST_PP_EXPAND(#)   undef BOOST_FT_nullary_param
-BOOST_PP_EXPAND(#)   undef BOOST_FT_flags
-BOOST_PP_EXPAND(#) endif
-BOOST_PP_EXPAND(#) endif
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_variate_loop/preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_variate_loop/preprocessed.hpp
deleted file mode 100644
index 7e7c4f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/pp_variate_loop/preprocessed.hpp
+++ /dev/null
@@ -1,283 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// this file has been generated from the master.hpp file in the same directory
-# define BOOST_FT_mfp 0
-# define BOOST_FT_syntax BOOST_FT_type_function
-# if ! ! (4 & (BOOST_FT_variations))
-# if (519 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 519
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (263 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 263
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if !BOOST_FT_NO_CV_FUNC_SUPPORT
-# if ! ! (4 & (BOOST_FT_variations))
-# if (1543 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1543
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (1287 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1287
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (2567 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2567
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (2311 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2311
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (3591 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3591
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (3335 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3335
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# endif
-# undef BOOST_FT_syntax
-# define BOOST_FT_syntax BOOST_FT_type_function_pointer
-# if ! ! (8 & (BOOST_FT_variations))
-# if (523 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 523
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (8 & (BOOST_FT_variations))
-# if (267 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 267
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# undef BOOST_FT_syntax
-# define BOOST_FT_syntax BOOST_FT_type_function_reference
-# if ! ! (16 & (BOOST_FT_variations))
-# if (531 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 531
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (16 & (BOOST_FT_variations))
-# if (275 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 275
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# undef BOOST_FT_syntax
-# undef BOOST_FT_mfp
-# define BOOST_FT_mfp 1
-# define BOOST_FT_syntax BOOST_FT_type_member_function_pointer
-# if ! ! (96 & (BOOST_FT_variations))
-# if (609 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 609
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (353 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 353
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (1633 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1633
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (1377 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1377
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (2657 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2657
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (2401 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2401
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (3681 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3681
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (3425 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3425
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
-# endif
-# endif
-# undef BOOST_FT_syntax
-# undef BOOST_FT_mfp
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/retag_default_cc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/retag_default_cc.hpp
deleted file mode 100644
index c8926f6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/retag_default_cc.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED
-#define BOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED
-
-#include <boost/mpl/bitand.hpp>
-
-#include <boost/function_types/components.hpp>
-
-#if defined(BOOST_FT_PREPROCESSING_MODE)
-#   include <boost/function_types/detail/pp_retag_default_cc/master.hpp>
-#else
-#   include <boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp>
-#endif
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize.hpp
deleted file mode 100644
index 0b15cbb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
-#define BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
-
-#include <cstddef>
-
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/size.hpp>
-
-#include <boost/function_types/config/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/function_types/detail/cv_traits.hpp>
-#include <boost/function_types/detail/retag_default_cc.hpp>
-
-namespace boost { namespace function_types { namespace detail {
-
-template<bits_t Flags, bits_t CCID, std::size_t Size>
-struct synthesize_impl_o
-{
-  template<typename Seq> struct synthesize_impl_i { };
-};
-
-template<typename Seq, bits_t Bits>
-struct synthesize_impl
-  : detail::synthesize_impl_o
-    < ::boost::function_types::detail::decode_bits<Bits>::flags
-    , ::boost::function_types::detail::decode_bits<Bits>::cc_id
-    , ::boost::mpl::size<Seq>::value
-    >
-    ::template synthesize_impl_i<Seq>
-{ };
-
-template<typename Seq, typename Tag>
-struct synthesize_func
-  : detail::synthesize_impl
-    < Seq
-    , ::boost::function_types::detail::bits
-      < detail::retag_default_cc
-        < function_types::tag<nv_dcc_func, Tag> > 
-      >::value 
-    >
-{ };
-
-template<typename Seq, typename Tag>
-struct synthesize_mfp
-  : detail::synthesize_impl
-    < Seq 
-    , ::boost::function_types::detail::bits
-      < detail::retag_default_cc
-        < function_types::tag
-          < typename detail::cv_traits< typename mpl::at_c<Seq,1>::type >::tag
-          , nv_dcc_mfp, Tag
-        > >
-      >::value
-    >
-{ };
-
-template<typename S, typename R = typename mpl::at_c<S,0>::type,
-    typename C = typename mpl::at_c<S,1>::type>
-struct synthesize_mop
-{
-  typedef R C::* type;
-};
-
-#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_member_pointer
-#define BOOST_FT_al_path boost/function_types/detail/synthesize_impl
-#include <boost/function_types/detail/pp_loop.hpp>
-
-} } } // namespace ::boost::function_types::detail
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity10_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity10_0.hpp
deleted file mode 100644
index ad22e50..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity10_0.hpp
+++ /dev/null
@@ -1,334 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,0)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 1 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,0) 
-< typename mpl::deref< iter_0 > ::type 
-> ::type type;
-};
-};
-template< typename R , typename T0 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 2 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 3 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 4 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 5 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 6 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 7 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 8 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 9 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 10 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 11 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity10_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity10_1.hpp
deleted file mode 100644
index bbd5963..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity10_1.hpp
+++ /dev/null
@@ -1,326 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 2 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 3 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 4 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 5 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 6 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 7 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 8 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 9 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 10 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 11 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity20_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity20_0.hpp
deleted file mode 100644
index cb62e69..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity20_0.hpp
+++ /dev/null
@@ -1,517 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity10_0.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-> ::type type;
-};
-};
-template< typename R , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity20_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity20_1.hpp
deleted file mode 100644
index 1c5e1e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity20_1.hpp
+++ /dev/null
@@ -1,527 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity10_1.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-> ::type type;
-};
-};
-template< typename R , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity30_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity30_0.hpp
deleted file mode 100644
index 63a64f0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity30_0.hpp
+++ /dev/null
@@ -1,717 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity20_0.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity30_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity30_1.hpp
deleted file mode 100644
index 6cba73e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity30_1.hpp
+++ /dev/null
@@ -1,727 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity20_1.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity40_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity40_0.hpp
deleted file mode 100644
index b065757..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity40_0.hpp
+++ /dev/null
@@ -1,917 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity30_0.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity40_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity40_1.hpp
deleted file mode 100644
index c9f2194..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity40_1.hpp
+++ /dev/null
@@ -1,927 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity30_1.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity50_0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity50_0.hpp
deleted file mode 100644
index b1ad7b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity50_0.hpp
+++ /dev/null
@@ -1,1117 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity40_0.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 42 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 43 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 44 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 45 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 46 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 47 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 48 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 49 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-typedef typename mpl::next< iter_47 > ::type iter_48;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-, typename mpl::deref< iter_48 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 50 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-typedef typename mpl::next< iter_47 > ::type iter_48;
-typedef typename mpl::next< iter_48 > ::type iter_49;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-, typename mpl::deref< iter_48 > ::type
-, typename mpl::deref< iter_49 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 , T49 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 51 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-typedef typename mpl::next< iter_47 > ::type iter_48;
-typedef typename mpl::next< iter_48 > ::type iter_49;
-typedef typename mpl::next< iter_49 > ::type iter_50;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) 
-< typename mpl::deref< iter_0 > ::type 
-, typename mpl::deref< iter_1 > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-, typename mpl::deref< iter_48 > ::type
-, typename mpl::deref< iter_49 > ::type
-, typename mpl::deref< iter_50 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity50_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity50_1.hpp
deleted file mode 100644
index 2915c41..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/arity50_1.hpp
+++ /dev/null
@@ -1,1127 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-// input:  BOOST_FT_syntax     type macro to use
-// input:  BOOST_FT_cc         empty or cc specifier 
-// input:  BOOST_FT_ell        empty or "..."
-// input:  BOOST_FT_cv         empty or cv qualifiers
-// input:  BOOST_FT_flags      single decimal integer encoding the flags
-// output: BOOST_FT_n          number of component types (arity+1)
-// output: BOOST_FT_arity      current arity
-// output: BOOST_FT_type       macro that expands to the type
-// output: BOOST_FT_tplargs(p) template arguments with given prefix
-// output: BOOST_FT_params(p)  parameters with given prefix
-
-# include <boost/function_types/detail/synthesize_impl/arity40_1.hpp>
-# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 42 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 43 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 44 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 45 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 46 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 47 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 48 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 49 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-typedef typename mpl::next< iter_47 > ::type iter_48;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-, typename mpl::deref< iter_48 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 50 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-typedef typename mpl::next< iter_47 > ::type iter_48;
-typedef typename mpl::next< iter_48 > ::type iter_49;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-, typename mpl::deref< iter_48 > ::type
-, typename mpl::deref< iter_49 > ::type
-> ::type type;
-};
-};
-template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50)
-{
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (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 BOOST_FT_ell) BOOST_FT_cv ;
-};
-template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 51 > 
-{ 
-template<typename S> struct synthesize_impl_i
-{
-private:
-typedef typename mpl::begin<S> ::type iter_0;
-typedef typename mpl::next< iter_0 > ::type iter_1;
-typedef typename mpl::next< iter_1 > ::type iter_2;
-typedef typename mpl::next< iter_2 > ::type iter_3;
-typedef typename mpl::next< iter_3 > ::type iter_4;
-typedef typename mpl::next< iter_4 > ::type iter_5;
-typedef typename mpl::next< iter_5 > ::type iter_6;
-typedef typename mpl::next< iter_6 > ::type iter_7;
-typedef typename mpl::next< iter_7 > ::type iter_8;
-typedef typename mpl::next< iter_8 > ::type iter_9;
-typedef typename mpl::next< iter_9 > ::type iter_10;
-typedef typename mpl::next< iter_10 > ::type iter_11;
-typedef typename mpl::next< iter_11 > ::type iter_12;
-typedef typename mpl::next< iter_12 > ::type iter_13;
-typedef typename mpl::next< iter_13 > ::type iter_14;
-typedef typename mpl::next< iter_14 > ::type iter_15;
-typedef typename mpl::next< iter_15 > ::type iter_16;
-typedef typename mpl::next< iter_16 > ::type iter_17;
-typedef typename mpl::next< iter_17 > ::type iter_18;
-typedef typename mpl::next< iter_18 > ::type iter_19;
-typedef typename mpl::next< iter_19 > ::type iter_20;
-typedef typename mpl::next< iter_20 > ::type iter_21;
-typedef typename mpl::next< iter_21 > ::type iter_22;
-typedef typename mpl::next< iter_22 > ::type iter_23;
-typedef typename mpl::next< iter_23 > ::type iter_24;
-typedef typename mpl::next< iter_24 > ::type iter_25;
-typedef typename mpl::next< iter_25 > ::type iter_26;
-typedef typename mpl::next< iter_26 > ::type iter_27;
-typedef typename mpl::next< iter_27 > ::type iter_28;
-typedef typename mpl::next< iter_28 > ::type iter_29;
-typedef typename mpl::next< iter_29 > ::type iter_30;
-typedef typename mpl::next< iter_30 > ::type iter_31;
-typedef typename mpl::next< iter_31 > ::type iter_32;
-typedef typename mpl::next< iter_32 > ::type iter_33;
-typedef typename mpl::next< iter_33 > ::type iter_34;
-typedef typename mpl::next< iter_34 > ::type iter_35;
-typedef typename mpl::next< iter_35 > ::type iter_36;
-typedef typename mpl::next< iter_36 > ::type iter_37;
-typedef typename mpl::next< iter_37 > ::type iter_38;
-typedef typename mpl::next< iter_38 > ::type iter_39;
-typedef typename mpl::next< iter_39 > ::type iter_40;
-typedef typename mpl::next< iter_40 > ::type iter_41;
-typedef typename mpl::next< iter_41 > ::type iter_42;
-typedef typename mpl::next< iter_42 > ::type iter_43;
-typedef typename mpl::next< iter_43 > ::type iter_44;
-typedef typename mpl::next< iter_44 > ::type iter_45;
-typedef typename mpl::next< iter_45 > ::type iter_46;
-typedef typename mpl::next< iter_46 > ::type iter_47;
-typedef typename mpl::next< iter_47 > ::type iter_48;
-typedef typename mpl::next< iter_48 > ::type iter_49;
-typedef typename mpl::next< iter_49 > ::type iter_50;
-public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) 
-< typename mpl::deref< iter_0 > ::type 
-, typename detail::cv_traits< 
-typename mpl::deref< iter_1 > ::type > ::type
-, typename mpl::deref< iter_2 > ::type
-, typename mpl::deref< iter_3 > ::type
-, typename mpl::deref< iter_4 > ::type
-, typename mpl::deref< iter_5 > ::type
-, typename mpl::deref< iter_6 > ::type
-, typename mpl::deref< iter_7 > ::type
-, typename mpl::deref< iter_8 > ::type
-, typename mpl::deref< iter_9 > ::type
-, typename mpl::deref< iter_10 > ::type
-, typename mpl::deref< iter_11 > ::type
-, typename mpl::deref< iter_12 > ::type
-, typename mpl::deref< iter_13 > ::type
-, typename mpl::deref< iter_14 > ::type
-, typename mpl::deref< iter_15 > ::type
-, typename mpl::deref< iter_16 > ::type
-, typename mpl::deref< iter_17 > ::type
-, typename mpl::deref< iter_18 > ::type
-, typename mpl::deref< iter_19 > ::type
-, typename mpl::deref< iter_20 > ::type
-, typename mpl::deref< iter_21 > ::type
-, typename mpl::deref< iter_22 > ::type
-, typename mpl::deref< iter_23 > ::type
-, typename mpl::deref< iter_24 > ::type
-, typename mpl::deref< iter_25 > ::type
-, typename mpl::deref< iter_26 > ::type
-, typename mpl::deref< iter_27 > ::type
-, typename mpl::deref< iter_28 > ::type
-, typename mpl::deref< iter_29 > ::type
-, typename mpl::deref< iter_30 > ::type
-, typename mpl::deref< iter_31 > ::type
-, typename mpl::deref< iter_32 > ::type
-, typename mpl::deref< iter_33 > ::type
-, typename mpl::deref< iter_34 > ::type
-, typename mpl::deref< iter_35 > ::type
-, typename mpl::deref< iter_36 > ::type
-, typename mpl::deref< iter_37 > ::type
-, typename mpl::deref< iter_38 > ::type
-, typename mpl::deref< iter_39 > ::type
-, typename mpl::deref< iter_40 > ::type
-, typename mpl::deref< iter_41 > ::type
-, typename mpl::deref< iter_42 > ::type
-, typename mpl::deref< iter_43 > ::type
-, typename mpl::deref< iter_44 > ::type
-, typename mpl::deref< iter_45 > ::type
-, typename mpl::deref< iter_46 > ::type
-, typename mpl::deref< iter_47 > ::type
-, typename mpl::deref< iter_48 > ::type
-, typename mpl::deref< iter_49 > ::type
-, typename mpl::deref< iter_50 > ::type
-> ::type type;
-};
-};
-# undef BOOST_FT_make_type
-# undef BOOST_FT_make_type_impl
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/master.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/master.hpp
deleted file mode 100644
index 49d38ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/synthesize_impl/master.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-// no include guards, this file is intended for multiple inclusion
-
-#if   BOOST_FT_ARITY_LOOP_PREFIX
-
-#   ifndef BOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED
-#     include <boost/preprocessor/cat.hpp>
-#     include <boost/preprocessor/arithmetic/dec.hpp>
-#     include <boost/preprocessor/iteration/local.hpp>
-#     include <boost/preprocessor/facilities/empty.hpp>
-#     include <boost/preprocessor/facilities/identity.hpp>
-#   endif
-
-#   define BOOST_FT_type_name type
-
-#   ifdef BOOST_FT_flags
-#     define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-#     define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-#   else
-BOOST_PP_EXPAND(#) define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-BOOST_PP_EXPAND(#) define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
-#   endif
-
-#   define BOOST_FT_iter(i) BOOST_PP_CAT(iter_,i)
-
-#elif BOOST_FT_ARITY_LOOP_IS_ITERATING
-
-template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)) >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity)
-{
-  typedef BOOST_FT_type ;
-};
-
-template<> 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, BOOST_FT_n > 
-{ 
-  template<typename S> struct synthesize_impl_i
-  {
-  private:
-    typedef typename mpl::begin<S>::type BOOST_FT_iter(0);
-#   if BOOST_FT_n > 1
-#     define BOOST_PP_LOCAL_MACRO(i) typedef typename mpl::next< \
-          BOOST_FT_iter(BOOST_PP_DEC(i)) >::type BOOST_FT_iter(i);
-#     define BOOST_PP_LOCAL_LIMITS (1,BOOST_FT_n-1)
-#     include BOOST_PP_LOCAL_ITERATE()
-#   endif
-  public:
-    typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity) 
-    < typename mpl::deref< BOOST_FT_iter(0) >::type 
-#   if BOOST_FT_mfp
-    , typename detail::cv_traits< 
-          typename mpl::deref< BOOST_FT_iter(1) >::type >::type
-#   endif
-#   if BOOST_FT_n > (BOOST_FT_mfp+1)
-#     define BOOST_PP_LOCAL_LIMITS (BOOST_FT_mfp+1,BOOST_FT_n-1)
-#     define BOOST_PP_LOCAL_MACRO(i) \
-        , typename mpl::deref< BOOST_FT_iter(i) >::type
-#     include BOOST_PP_LOCAL_ITERATE()
-#   endif
-    >::type type;
-  };
-};
-
-#elif BOOST_FT_ARITY_LOOP_SUFFIX
-
-#   ifdef BOOST_FT_flags
-#     undef BOOST_FT_make_type
-#     undef BOOST_FT_make_type_impl
-#   else
-BOOST_PP_EXPAND(#) undef BOOST_FT_make_type
-BOOST_PP_EXPAND(#) undef BOOST_FT_make_type_impl
-#   endif
-#   undef BOOST_FT_iter
-#   undef BOOST_FT_type_name
-
-#else
-#   error "attempt to use arity loop master file without loop"
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/to_sequence.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/to_sequence.hpp
deleted file mode 100644
index 54854db..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/detail/to_sequence.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED
-#define BOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-#include <boost/function_types/is_callable_builtin.hpp>
-
-namespace boost { namespace function_types { namespace detail {
-
-// wrap first arguments in components, if callable builtin type
-template<typename T>
-struct to_sequence
-{
-  typedef typename
-   mpl::eval_if
-   < is_callable_builtin<T>
-   , to_sequence< components<T> >
-   , mpl::identity< T >
-   >::type
-  type;
-};
-
-// reduce template instantiations, if possible
-template<typename T, typename U>
-struct to_sequence< components<T,U> > 
-{
-  typedef typename components<T,U>::types type;
-};
-
-} } } // namespace ::boost::function_types::detail
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_arity.hpp
deleted file mode 100644
index a81001b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_arity.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_FUNCTION_ARITY_HPP_INCLUDED
-#define BOOST_FT_FUNCTION_ARITY_HPP_INCLUDED
-
-#include <boost/blank.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/is_callable_builtin.hpp>
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template<typename T> struct function_arity
-      : mpl::if_
-        < function_types::is_callable_builtin<T>
-        , typename components<T>::function_arity, boost::blank
-        >::type
-    {
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(1,function_arity,(T)) 
-    };
-  }
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_pointer.hpp
deleted file mode 100644
index cb13918..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_pointer.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_FT_FUNCTION_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/function_type.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template<typename Types, typename Tag = null_tag> struct function_pointer
-    {
-      typedef typename function_types::function_type<Types,Tag>::type * type;
-
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_pointer,(Types,Tag))
-    };
-  } 
-} 
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_reference.hpp
deleted file mode 100644
index 3eceae0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_reference.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_FUNCTION_REFERENCE_HPP_INCLUDED
-#define BOOST_FT_FUNCTION_REFERENCE_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/function_type.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template<typename Types, typename Tag = null_tag> struct function_reference
-    {
-      typedef typename function_types::function_type<Types,Tag>::type & type;
-
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_reference,(Types,Tag))
-    };
-  } 
-} 
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_type.hpp
deleted file mode 100644
index afe3654..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/function_type.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_FUNCTION_TYPE_HPP_INCLUDED
-#define BOOST_FT_FUNCTION_TYPE_HPP_INCLUDED
-
-#include <boost/function_types/detail/synthesize.hpp>
-#include <boost/function_types/detail/to_sequence.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template<typename Types, typename Tag = null_tag> struct function_type
-      : detail::synthesize_func<typename detail::to_sequence<Types>::type, Tag>
-    {
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_type,(Types,Tag))
-    };
-  }
-}
-
-#endif
- 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_callable_builtin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_callable_builtin.hpp
deleted file mode 100644
index 3b826ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_callable_builtin.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED
-#define BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_callable_builtin
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag, detail::callable_builtin_tag> 
-        >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_callable_builtin,(T,Tag))
-    };
-  }
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function.hpp
deleted file mode 100644
index 09f75b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_FUNCTION_HPP_INCLUDED
-#define BOOST_FT_IS_FUNCTION_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_function
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag ,detail::function_tag> 
-        >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function,(T,Tag))
-    };
-  }
-} 
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function_pointer.hpp
deleted file mode 100644
index 67a0402..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function_pointer.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_function_pointer
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag ,detail::pointer_tag> 
-        >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_pointer,(T,Tag))
-    };
-  }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function_reference.hpp
deleted file mode 100644
index 6bf908d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_function_reference.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED
-#define BOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_function_reference
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag ,detail::reference_tag> >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_reference,(T,Tag))
-    };
-  }
-} 
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_function_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_function_pointer.hpp
deleted file mode 100644
index ef54765..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_function_pointer.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_member_function_pointer
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag ,detail::member_function_pointer_tag> >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_function_pointer,(T,Tag))
-    };
-  }
-} 
-#endif 
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_object_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_object_pointer.hpp
deleted file mode 100644
index 10bc89a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_object_pointer.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-#define BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T > 
-    struct is_member_object_pointer
-      : function_types::detail::represents_impl
-        < function_types::components<T>
-        , detail::member_object_pointer_tag >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_member_object_pointer,(T))
-    };
-  }
-} 
-
-#endif 
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_pointer.hpp
deleted file mode 100644
index db1da29..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_member_pointer.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED
-#define BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_member_pointer
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag ,detail::member_pointer_tag> 
-        >
-    {
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_pointer,(T,Tag))
-    };
-  } 
-} 
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_nonmember_callable_builtin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_nonmember_callable_builtin.hpp
deleted file mode 100644
index 6105285..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/is_nonmember_callable_builtin.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_IS_NONMEMBER_CALLABLE_BUILTIN_HPP_INCLUDED
-#define BOOST_FT_IS_NONMEMBER_CALLABLE_BUILTIN_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T, typename Tag = null_tag > 
-    struct is_nonmember_callable_builtin
-      : function_types::represents
-        < function_types::components<T>
-        , function_types::tag<Tag,detail::nonmember_callable_builtin_tag> 
-        >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_nonmember_callable_builtin,(T,Tag))
-    };
-  }
-} 
-
-#endif 
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/member_function_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/member_function_pointer.hpp
deleted file mode 100644
index 104271f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/member_function_pointer.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_FT_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/detail/synthesize.hpp>
-#include <boost/function_types/detail/to_sequence.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template<typename Types, typename Tag = null_tag> 
-    struct member_function_pointer
-      : detail::synthesize_mfp< typename detail::to_sequence<Types>::type, Tag >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,member_function_pointer,(Types,Tag))
-    };
-  } 
-} 
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/member_object_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/member_object_pointer.hpp
deleted file mode 100644
index 1951654..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/member_object_pointer.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-#define BOOST_FT_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/function_types/detail/synthesize.hpp>
-#include <boost/function_types/detail/to_sequence.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template<typename Types> 
-    struct member_object_pointer
-      : detail::synthesize_mop< typename detail::to_sequence<Types>::type >
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(1,member_object_pointer,(Types))
-    };
-  } 
-} 
-
-#endif
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/parameter_types.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/parameter_types.hpp
deleted file mode 100644
index 227ad27..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/parameter_types.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_PARAMETER_TYPES_HPP_INCLUDED
-#define BOOST_FT_PARAMETER_TYPES_HPP_INCLUDED
-
-#include <boost/blank.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/mpl/pop_front.hpp>
-
-#include <boost/function_types/is_callable_builtin.hpp>
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    using mpl::placeholders::_;
- 
-    template< typename T, typename ClassTypeTransform = add_reference<_> >
-    struct parameter_types;
-
-    namespace detail
-    {
-      template<typename T, typename ClassTypeTransform> 
-      struct parameter_types_impl
-        : mpl::pop_front
-          < typename function_types::components<T,ClassTypeTransform>::types 
-          >::type
-      { };
-    }
-
-    template<typename T, typename ClassTypeTransform> struct parameter_types
-      : mpl::if_
-        < function_types::is_callable_builtin<T>
-        , detail::parameter_types_impl<T,ClassTypeTransform>, boost::blank
-        >::type
-    {
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,parameter_types,(T,ClassTypeTransform)) 
-    };
-  }
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/property_tags.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/property_tags.hpp
deleted file mode 100644
index c2158d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/property_tags.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_DETAIL_TAGS_HPP_INCLUDED
-#define BOOST_FT_DETAIL_TAGS_HPP_INCLUDED
-
-#include <cstddef>
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/mpl/bitxor.hpp>
-
-
-namespace boost { namespace function_types { 
-
-namespace detail 
-{
-  typedef long bits_t;
-
-  template<bits_t Value> struct constant 
-    : boost::integral_constant<bits_t,Value> 
-  { };
-
-  template<bits_t Bits, bits_t Mask> struct property_tag 
-  {
-    typedef constant<Bits> bits;
-    typedef constant<Mask> mask;
-  };
-
-  template<typename T> struct bits : T::bits { };
-  template<typename T> struct mask : T::mask { };
-
-  // forward declaration, defined in pp_tags
-  template<bits_t Bits, bits_t CCID> struct encode_bits_impl; 
-
-  // forward declaration, defined in pp_tags
-  template<bits_t LHS_bits, bits_t LHS_mask, 
-           bits_t RHS_bits, bits_t RHS_mask> 
-  struct tag_ice;
- 
-  // forward declaration, defined in retag_default_cc 
-  template<class Tag, class RegTag = Tag> struct retag_default_cc; 
- 
-  template<bits_t Bits, bits_t CCID> struct encode_bits
-    : constant< 
-        ::boost::function_types::detail::encode_bits_impl<Bits,CCID>::value 
-      >
-  { };
-
-  template<class LHS, class RHS> struct compound_tag
-  {
-    typedef constant<
-      ::boost::function_types::detail::tag_ice
-        < ::boost::function_types::detail::bits<LHS>::value
-        , ::boost::function_types::detail::mask<LHS>::value
-        , ::boost::function_types::detail::bits<RHS>::value
-        , ::boost::function_types::detail::mask<RHS>::value
-        >::combined_bits 
-    > bits;
-
-    typedef constant< 
-      ::boost::function_types::detail::tag_ice
-        < ::boost::function_types::detail::bits<LHS>::value
-        , ::boost::function_types::detail::mask<LHS>::value
-        , ::boost::function_types::detail::bits<RHS>::value
-        , ::boost::function_types::detail::mask<RHS>::value
-        >::combined_mask 
-    > mask; 
-  };
-
-  template <class Base, class PropOld, class PropNew>
-  struct changed_tag
-    : Base
-  {
-    typedef mpl::bitxor_
-        <typename Base::bits, typename PropOld::bits, typename PropNew::bits>
-    bits;
-  };
-
-  template<class Tag, class QueryTag> struct represents_impl
-    : boost::integral_constant<bool,
-        ::boost::function_types::detail::tag_ice
-          < ::boost::function_types::detail::bits<Tag>::value
-          , ::boost::function_types::detail::mask<Tag>::value
-          , ::boost::function_types::detail::bits<QueryTag>::value
-          , ::boost::function_types::detail::mask<QueryTag>::value
-          >::match
-      >
-  { };
-
-} // namespace detail
-
-typedef detail::property_tag<0,0> null_tag;
-
-template<class Tag1, class Tag2, class Tag3 = null_tag, class Tag4 = null_tag>
-struct tag
-  : detail::compound_tag< detail::compound_tag<Tag1,Tag2>, 
-        detail::compound_tag<Tag3,Tag4> >
-{ };
-
-template<class Tag1, class Tag2, class Tag3> struct tag<Tag1,Tag2,Tag3,null_tag>
-  : detail::compound_tag<detail::compound_tag<Tag1,Tag2>,Tag3>
-{ };
-template<class Tag1, class Tag2> struct tag<Tag1,Tag2,null_tag,null_tag>
-  : detail::compound_tag<Tag1,Tag2>
-{ };
-template<class Tag1> struct tag<Tag1,null_tag,null_tag,null_tag>
-  : Tag1
-{ };
-
-
-template<class Tag, class QueryTag> struct represents
-  : detail::represents_impl<Tag, detail::retag_default_cc<QueryTag,Tag> >
-{ };
-
-
-template<class Tag, class QueryTag> struct extract
-{ 
-  typedef detail::constant<
-    ::boost::function_types::detail::tag_ice
-      < ::boost::function_types::detail::bits<Tag>::value
-      , ::boost::function_types::detail::mask<Tag>::value
-      , ::boost::function_types::detail::bits<QueryTag>::value
-      , ::boost::function_types::detail::mask<QueryTag>::value
-      >::extracted_bits 
-  > bits;
-
-  typedef detail::constant< 
-    ::boost::function_types::detail::mask<QueryTag>::value
-  > mask; 
-};
-
-} } // namespace ::boost::function_types
-
-#include <boost/function_types/detail/pp_tags/preprocessed.hpp>
-
-namespace boost { namespace function_types {
-#define BOOST_FT_cc_file <boost/function_types/detail/pp_tags/cc_tag.hpp>
-#include <boost/function_types/detail/pp_loop.hpp>
-} } // namespace boost::function_types
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/result_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/function_types/result_type.hpp
deleted file mode 100644
index db642c8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/function_types/result_type.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// (C) Copyright Tobias Schwinger
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-//------------------------------------------------------------------------------
-
-#ifndef BOOST_FT_RESULT_TYPE_HPP_INCLUDED
-#define BOOST_FT_RESULT_TYPE_HPP_INCLUDED
-
-#include <boost/blank.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/mpl/at.hpp>
-
-#include <boost/function_types/is_callable_builtin.hpp>
-#include <boost/function_types/components.hpp>
-
-namespace boost 
-{ 
-  namespace function_types 
-  {
-    template< typename T > struct result_type;
-
-    namespace detail
-    {
-      template<typename T> struct result_type_impl
-        : mpl::at_c
-          < typename function_types::components<T>::types, 0 >
-      { };
-    }
-
-    template<typename T> struct result_type
-      : mpl::if_
-        < function_types::is_callable_builtin<T>
-        , detail::result_type_impl<T>, boost::blank
-        >::type
-    { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(1,result_type,(T)) 
-    };
-  }
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional.hpp
deleted file mode 100644
index b618485..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// ------------------------------------------------------------------------------
-
-#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/rbgl_trimmed_boost_1_61_0/boost/functional/factory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/factory.hpp
deleted file mode 100644
index 67fee71..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/factory.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2007 Tobias Schwinger
-  
-    Use modification and distribution are subject to the 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_FUNCTIONAL_FACTORY_HPP_INCLUDED
-#   ifndef BOOST_PP_IS_ITERATING
-
-#     include <boost/preprocessor/iteration/iterate.hpp>
-#     include <boost/preprocessor/repetition/enum_params.hpp>
-#     include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#     include <new>
-#     include <boost/pointee.hpp>
-#     include <boost/get_pointer.hpp>
-#     include <boost/non_type.hpp>
-#     include <boost/type_traits/remove_cv.hpp>
-
-#     if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T)
-#       include <boost/none_t.hpp>
-#     endif
-
-#     ifndef BOOST_FUNCTIONAL_FACTORY_MAX_ARITY
-#       define BOOST_FUNCTIONAL_FACTORY_MAX_ARITY 10
-#     elif BOOST_FUNCTIONAL_FACTORY_MAX_ARITY < 3
-#       undef  BOOST_FUNCTIONAL_FACTORY_MAX_ARITY
-#       define BOOST_FUNCTIONAL_FACTORY_MAX_ARITY 3
-#     endif
-
-namespace boost
-{
-    enum factory_alloc_propagation
-    {
-        factory_alloc_for_pointee_and_deleter,
-        factory_passes_alloc_to_smart_pointer
-    };
-
-#if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T)
-    template< typename Pointer, class Allocator = boost::none_t,
-        factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter >
-    class factory;
-#else
-    template< typename Pointer, class Allocator = void,
-        factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter >
-    class factory;
-#endif
-
-    //----- ---- --- -- - -  -   -
-
-    template< typename Pointer, factory_alloc_propagation AP >
-    class factory<Pointer, void, AP>
-    {
-      public:
-        typedef typename boost::remove_cv<Pointer>::type result_type;
-        typedef typename boost::pointee<result_type>::type value_type;
-
-        factory()
-        { }
-
-#     define BOOST_PP_FILENAME_1 <boost/functional/factory.hpp>
-#     define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUNCTIONAL_FACTORY_MAX_ARITY)
-#     include BOOST_PP_ITERATE()
-    };
-
-#if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T)
-    template< typename Pointer, factory_alloc_propagation AP >
-    class factory<Pointer, boost::none_t, AP>
-        : public factory<Pointer, void, AP>
-    {};
-#endif
-
-    template< class Pointer, class Allocator, factory_alloc_propagation AP >
-    class factory
-        : private Allocator::template rebind< typename boost::pointee<
-            typename boost::remove_cv<Pointer>::type >::type >::other
-    {
-      public:
-        typedef typename boost::remove_cv<Pointer>::type result_type;
-        typedef typename boost::pointee<result_type>::type value_type;
-
-        typedef typename Allocator::template rebind<value_type>::other
-            allocator_type;
-
-        explicit factory(allocator_type const & a = allocator_type())
-          : allocator_type(a)
-        { }
-
-      private:
-
-        struct deleter
-            : allocator_type
-        {
-            inline deleter(allocator_type const& that) 
-              : allocator_type(that)
-            { }
-
-            allocator_type& get_allocator() const
-            {
-                return *const_cast<allocator_type*>(
-                    static_cast<allocator_type const*>(this));
-            }
-
-            void operator()(value_type* ptr) const
-            {
-                if (!! ptr) ptr->~value_type();
-                const_cast<allocator_type*>(static_cast<allocator_type const*>(
-                    this))->deallocate(ptr,1);
-            }
-        };
-
-        inline allocator_type& get_allocator() const
-        {
-            return *const_cast<allocator_type*>(
-                static_cast<allocator_type const*>(this));
-        }
-
-        inline result_type make_pointer(value_type* ptr, boost::non_type<
-            factory_alloc_propagation,factory_passes_alloc_to_smart_pointer>)
-        const
-        {
-            return result_type(ptr,deleter(this->get_allocator()));
-        }
-        inline result_type make_pointer(value_type* ptr, boost::non_type<
-            factory_alloc_propagation,factory_alloc_for_pointee_and_deleter>)
-        const
-        {
-            return result_type(ptr,deleter(this->get_allocator()),
-                this->get_allocator());
-        }
-
-      public:
-
-#     define BOOST_TMP_MACRO
-#     define BOOST_PP_FILENAME_1 <boost/functional/factory.hpp>
-#     define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUNCTIONAL_FACTORY_MAX_ARITY)
-#     include BOOST_PP_ITERATE()
-#     undef BOOST_TMP_MACRO
-    };
-
-    template< typename Pointer, class Allocator, factory_alloc_propagation AP > 
-    class factory<Pointer&, Allocator, AP>;
-    // forbidden, would create a dangling reference
-}
-
-#     define BOOST_FUNCTIONAL_FACTORY_HPP_INCLUDED
-#   else // defined(BOOST_PP_IS_ITERATING)
-#     define N BOOST_PP_ITERATION()
-#     if !defined(BOOST_TMP_MACRO)
-#       if N > 0
-    template< BOOST_PP_ENUM_PARAMS(N, typename T) >
-#       endif
-    inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const
-    {
-        return result_type( new value_type(BOOST_PP_ENUM_PARAMS(N,a)) );
-    }
-#     else // defined(BOOST_TMP_MACRO)
-#       if N > 0
-    template< BOOST_PP_ENUM_PARAMS(N, typename T) >
-#       endif
-    inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const
-    {
-        value_type* memory = this->get_allocator().allocate(1);
-        try
-        { 
-            return make_pointer(
-                new(memory) value_type(BOOST_PP_ENUM_PARAMS(N,a)),
-                boost::non_type<factory_alloc_propagation,AP>() );
-        }
-        catch (...) { this->get_allocator().deallocate(memory,1); throw; }
-    }
-#     endif
-#     undef N
-#   endif // defined(BOOST_PP_IS_ITERATING)
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/forward_adapter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/forward_adapter.hpp
deleted file mode 100644
index 796abd2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/forward_adapter.hpp
+++ /dev/null
@@ -1,472 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2007-2008 Tobias Schwinger
-  
-    Use modification and distribution are subject to the 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_FUNCTIONAL_FORWARD_ADAPTER_HPP_INCLUDED
-#   ifndef BOOST_PP_IS_ITERATING
-
-#   include <boost/config.hpp>
-#   include <boost/detail/workaround.hpp>
-
-#   include <boost/preprocessor/iteration/iterate.hpp>
-#   include <boost/preprocessor/repetition/enum_params.hpp>
-#   include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#   include <boost/preprocessor/facilities/intercept.hpp>
-#   include <boost/preprocessor/arithmetic/dec.hpp>
-
-#   include <boost/utility/result_of.hpp>
-
-#   ifndef BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY
-#     define BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY 6
-#   elif BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY < 3
-#     undef  BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY
-#     define BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY 3
-#   endif
-
-
-namespace boost 
-{
-    template< typename Function, int Arity_Or_MinArity = -1, int MaxArity = -1 >
-    class forward_adapter;
-
-    //----- ---- --- -- - -  -   -
-
-    namespace detail
-    {
-        template< class MostDerived, typename Function, typename FunctionConst, 
-            int Arity, int MinArity >
-        struct forward_adapter_impl;
-
-        struct forward_adapter_result
-        {
-            template< typename Sig > struct apply;
-
-            // Utility metafunction for qualification adjustment on arguments
-            template< typename T > struct q          { typedef T const t; };
-            template< typename T > struct q<T const> { typedef T const t; };
-            template< typename T > struct q<T &>     { typedef T       t; };
-
-            // Utility metafunction to choose target function qualification
-            template< typename T > struct c
-            { typedef typename T::target_function_t t; };
-            template< typename T > struct c<T&      >
-            { typedef typename T::target_function_t t; };
-            template< typename T > struct c<T const >
-            { typedef typename T::target_function_const_t t; };
-            template< typename T > struct c<T const&>
-            { typedef typename T::target_function_const_t t; };
-        };
-    }
-
-#   define BOOST_TMP_MACRO(f,fn,fc) \
-        boost::detail::forward_adapter_impl< \
-            forward_adapter<f,Arity_Or_MinArity,MaxArity>, fn, fc, \
-            (MaxArity!=-1? MaxArity :Arity_Or_MinArity!=-1? Arity_Or_MinArity \
-                :BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY), \
-            (Arity_Or_MinArity!=-1? Arity_Or_MinArity : 0) >
-
-    template< typename Function, int Arity_Or_MinArity, int MaxArity >
-    class forward_adapter
-        : public BOOST_TMP_MACRO(Function,Function,Function const)
-        , private Function
-    {
-      public:
-        forward_adapter(Function const& f = Function()) 
-          : Function(f) 
-        { }
-
-        typedef Function        target_function_t;
-        typedef Function const  target_function_const_t;
-
-        Function       & target_function()       { return *this; }
-        Function const & target_function() const { return *this; }
-
-        template< typename Sig > struct result
-            : detail::forward_adapter_result::template apply<Sig>
-        { };
-
-        using BOOST_TMP_MACRO(Function,Function, Function const)::operator();
-    };
-    template< typename Function, int Arity_Or_MinArity, int MaxArity >
-    class forward_adapter< Function const, Arity_Or_MinArity, MaxArity >
-        : public BOOST_TMP_MACRO(Function const, Function const, Function const)
-        , private Function
-    {
-      public:
-        forward_adapter(Function const& f = Function())
-          : Function(f) 
-        { }
-
-        typedef Function const target_function_t;
-        typedef Function const target_function_const_t;
-
-        Function const & target_function() const { return *this; }
-
-        template< typename Sig > struct result
-            : detail::forward_adapter_result::template apply<Sig>
-        { };
-
-        using BOOST_TMP_MACRO(Function const,Function const, Function const)
-            ::operator();
-    };
-    template< typename Function, int Arity_Or_MinArity, int MaxArity >
-    class forward_adapter< Function &, Arity_Or_MinArity, MaxArity >
-        : public BOOST_TMP_MACRO(Function&, Function, Function)
-    {
-        Function& ref_function;
-      public:
-        forward_adapter(Function& f)
-          : ref_function(f) 
-        { }
-
-        typedef Function target_function_t;
-        typedef Function target_function_const_t;
-
-        Function & target_function() const { return this->ref_function; }
-
-        template< typename Sig > struct result
-            : detail::forward_adapter_result::template apply<Sig>
-        { };
-
-        using BOOST_TMP_MACRO(Function&, Function, Function)::operator();
-    }; 
-
-    #undef BOOST_TMP_MACRO
-
-    namespace detail
-    {
-        template< class Self >
-        struct forward_adapter_result::apply< Self() >
-            : boost::result_of< BOOST_DEDUCED_TYPENAME c<Self>::t() >
-        { };
-
-        template< class MD, class F, class FC >
-        struct forward_adapter_impl<MD,F,FC,0,0>
-        {
-            inline typename boost::result_of< FC() >::type
-            operator()() const
-            {
-                return static_cast<MD const*>(this)->target_function()();
-            }
-
-            inline typename boost::result_of< F() >::type
-            operator()()
-            {
-                return static_cast<MD*>(this)->target_function()();
-            }
-
-        // closing brace gets generated by preprocessing code, below
-
-#       define BOOST_TMP_MACRO(tpl_params,arg_types,params,args)              \
-            template< tpl_params >                                             \
-            inline typename boost::result_of< FC(arg_types) >::type            \
-            operator()(params) const                                           \
-            {                                                                  \
-                return static_cast<MD const*>(this)->target_function()(args);  \
-            }                                                                  \
-            template< tpl_params >                                             \
-            inline typename boost::result_of< F(arg_types)>::type              \
-            operator()(params)                                                 \
-            {                                                                  \
-                return static_cast<MD*>(this)->target_function()(args);        \
-            }
-
-#       // This is the total number of iterations we need
-#       define count ((1 << BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY+1)-2)
-
-#       // Chain file iteration to virtually one loop
-#       if BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY <= 7
-#         define limit1 count
-#         define limit2 0
-#         define limit3 0
-#       else
-#         if BOOST_FUNCTIONAL_FORWARD_ADAPTER_MAX_ARITY <= 15
-#           define limit1 (count >> 8)
-#           define limit2 255
-#           define limit3 0
-#         else
-#           define limit1 (count >> 16)
-#           define limit2 255
-#           define limit3 255
-#         endif
-#       endif
-
-#       define N 0
-
-#       define  BOOST_PP_FILENAME_1 <boost/functional/forward_adapter.hpp>
-#       define  BOOST_PP_ITERATION_LIMITS (0,limit1)
-#       include BOOST_PP_ITERATE()
-
-#       undef N
-#       undef limit3
-#       undef limit2
-#       undef limit1
-#       undef count
-#       undef BOOST_TMP_MACRO
-
-        };
-
-    } // namespace detail
-
-    template<class F, int A0, int A1>
-    struct result_of<boost::forward_adapter<F,A0,A1> const ()>
-        : boost::detail::forward_adapter_result::template apply<
-            boost::forward_adapter<F,A0,A1> const () >
-    { };
-    template<class F, int A0, int A1>
-    struct result_of<boost::forward_adapter<F,A0,A1>()>
-        : boost::detail::forward_adapter_result::template apply<
-            boost::forward_adapter<F,A0,A1>() >
-    { };
-    template<class F, int A0, int A1>
-    struct result_of<boost::forward_adapter<F,A0,A1> const& ()>
-        : boost::detail::forward_adapter_result::template apply<
-            boost::forward_adapter<F,A0,A1> const () >
-    { };
-    template<class F, int A0, int A1>
-    struct result_of<boost::forward_adapter<F,A0,A1>& ()>
-        : boost::detail::forward_adapter_result::template apply<
-            boost::forward_adapter<F,A0,A1>() >
-    { };
-}
-
-#       define BOOST_FUNCTIONAL_FORWARD_ADAPTER_HPP_INCLUDED
-
-#   elif BOOST_PP_ITERATION_DEPTH() == 1 && limit2
-#     define  BOOST_PP_FILENAME_2 <boost/functional/forward_adapter.hpp>
-#     define  BOOST_PP_ITERATION_LIMITS (0,limit2)
-#     include BOOST_PP_ITERATE()
-#   elif BOOST_PP_ITERATION_DEPTH() == 2 && limit3
-#     define  BOOST_PP_FILENAME_3 <boost/functional/forward_adapter.hpp>
-#     define  BOOST_PP_ITERATION_LIMITS (0,limit3)
-#     include BOOST_PP_ITERATE()
-
-#   else
-
-#     // I is the loop counter
-#     if limit2 && limit3
-#       define I (BOOST_PP_ITERATION_1 << 16 | BOOST_PP_ITERATION_2 << 8 | \
-            BOOST_PP_ITERATION_3)
-#     elif limit2
-#       define I (BOOST_PP_ITERATION_1 << 8 | BOOST_PP_ITERATION_2)
-#     else
-#       define I BOOST_PP_ITERATION_1
-#     endif
-
-#     if I < count
-
-#       // Done for this arity? Increment N
-#       if (I+2 >> N+1) 
-#         if N == 0
-#           undef N
-#           define N 1
-#         elif N == 1
-#           undef N
-#           define N 2
-#         elif N == 2
-#           undef N
-#           define N 3
-#         elif N == 3
-#           undef N
-#           define N 4
-#         elif N == 4
-#           undef N
-#           define N 5
-#         elif N == 5
-#           undef N
-#           define N 6
-#         elif N == 6
-#           undef N
-#           define N 7
-#         elif N == 7
-#           undef N
-#           define N 8
-#         elif N == 8
-#           undef N
-#           define N 9
-#         elif N == 9
-#           undef N
-#           define N 10
-#         elif N == 10
-#           undef N
-#           define N 11
-#         elif N == 11
-#           undef N
-#           define N 12
-#         elif N == 12
-#           undef N
-#           define N 13
-#         elif N == 13
-#           undef N
-#           define N 14
-#         elif N == 14
-#           undef N
-#           define N 15
-#         elif N == 15
-#           undef N
-#           define N 16
-#         endif
-
-        };
-
-        template< class Self, BOOST_PP_ENUM_PARAMS(N,typename T) >
-        struct forward_adapter_result::apply< Self(BOOST_PP_ENUM_PARAMS(N,T)) >
-            : boost::result_of< 
-                BOOST_DEDUCED_TYPENAME c<Self>::t(BOOST_PP_ENUM_BINARY_PARAMS(N, 
-                      typename q<T,>::t& BOOST_PP_INTERCEPT)) >
-        { };
-
-        template< class MD, class F, class FC >
-        struct forward_adapter_impl<MD,F,FC,BOOST_PP_DEC(N),N>
-        {
-            template< BOOST_PP_ENUM_PARAMS(N,typename T) >
-            inline typename boost::result_of< F(
-                BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT)) >::type
-            operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT));
-        };
-
-        template< class MD, class F, class FC, int MinArity >
-        struct forward_adapter_impl<MD,F,FC,N,MinArity>
-            : forward_adapter_impl<MD,F,FC,BOOST_PP_DEC(N),MinArity>
-        {
-            using forward_adapter_impl<MD,F,FC,BOOST_PP_DEC(N),MinArity>::operator();
-
-#       endif
-
-#       // Zero based count for each arity would be I-(1<<N)+2, but we don't
-#       // need it, unless we need a nicer order.
-
-#       // Macros for the parameter's type modifiers.
-#       if I & 0x000001
-#         define PT0 T0 &
-#       else
-#         define PT0 T0 const &
-#       endif
-#       if I & 0x000002
-#         define PT1 T1 &
-#       else
-#         define PT1 T1 const &
-#       endif
-#       if I & 0x000004
-#         define PT2 T2 &
-#       else
-#         define PT2 T2 const &
-#       endif
-#       if I & 0x000008
-#         define PT3 T3 &
-#       else
-#         define PT3 T3 const &
-#       endif
-#       if I & 0x000010
-#         define PT4 T4 &
-#       else
-#         define PT4 T4 const &
-#       endif
-#       if I & 0x000020
-#         define PT5 T5 &
-#       else
-#         define PT5 T5 const &
-#       endif
-#       if I & 0x000040
-#         define PT6 T6 &
-#       else
-#         define PT6 T6 const &
-#       endif
-#       if I & 0x000080
-#         define PT7 T7 &
-#       else
-#         define PT7 T7 const &
-#       endif
-#       if I & 0x000100
-#         define PT8 T8 &
-#       else
-#         define PT8 T8 const &
-#       endif
-#       if I & 0x000200
-#         define PT9 T9 &
-#       else
-#         define PT9 T9 const &
-#       endif
-#       if I & 0x000400
-#         define PT10 T10 &
-#       else
-#         define PT10 T10 const &
-#       endif
-#       if I & 0x000800
-#         define PT11 T11 &
-#       else
-#         define PT11 T11 const &
-#       endif
-#       if I & 0x001000
-#         define PT12 T12 &
-#       else
-#         define PT12 T12 const &
-#       endif
-#       if I & 0x002000
-#         define PT13 T13 &
-#       else
-#         define PT13 T13 const &
-#       endif
-#       if I & 0x004000
-#         define PT14 T14 &
-#       else
-#         define PT14 T14 const &
-#       endif
-#       if I & 0x008000
-#         define PT15 T15 &
-#       else
-#         define PT15 T15 const &
-#       endif
-
-#       if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1400)) 
-            template< BOOST_PP_ENUM_PARAMS(N,typename T) >
-            inline typename boost::result_of<  FC(BOOST_PP_ENUM_PARAMS(N,PT)) 
-                >::type
-            operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,PT,a)) const
-            {
-                return static_cast<MD const* const>(this)
-                    ->target_function()(BOOST_PP_ENUM_PARAMS(N,a));
-            }
-            template< BOOST_PP_ENUM_PARAMS(N,typename T) >
-            inline typename boost::result_of<  F(BOOST_PP_ENUM_PARAMS(N,PT))
-                >::type
-            operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,PT,a))
-            {
-                return static_cast<MD* const>(this)
-                    ->target_function()(BOOST_PP_ENUM_PARAMS(N,a));
-            }
-#       else
-        BOOST_TMP_MACRO(BOOST_PP_ENUM_PARAMS(N,typename T),
-            BOOST_PP_ENUM_PARAMS(N,PT), BOOST_PP_ENUM_BINARY_PARAMS(N,PT,a),
-            BOOST_PP_ENUM_PARAMS(N,a) )
-        // ...generates uglier code but is faster - it caches ENUM_*
-#       endif
-
-#       undef PT0
-#       undef PT1
-#       undef PT2
-#       undef PT3
-#       undef PT4
-#       undef PT5
-#       undef PT6
-#       undef PT7
-#       undef PT8
-#       undef PT9
-#       undef PT10
-#       undef PT11
-#       undef PT12
-#       undef PT13
-#       undef PT14
-#       undef PT15
-
-#     endif // I < count
-
-#     undef I
-#   endif // defined(BOOST_PP_IS_ITERATING)
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash.hpp
deleted file mode 100644
index 44983f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/float_functions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/float_functions.hpp
deleted file mode 100644
index f3db52f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/float_functions.hpp
+++ /dev/null
@@ -1,336 +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>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-
-// Set BOOST_HASH_CONFORMANT_FLOATS to 1 for libraries known to have
-// sufficiently good floating point support to not require any
-// workarounds.
-//
-// When set to 0, the library tries to automatically
-// use the best available implementation. This normally works well, but
-// breaks when ambiguities are created by odd namespacing of the functions.
-//
-// Note that if this is set to 0, the library should still take full
-// advantage of the platform's floating point support.
-
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#elif defined(__LIBCOMO__)
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-// Rogue Wave library:
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#elif defined(_LIBCPP_VERSION)
-// libc++
-#   define BOOST_HASH_CONFORMANT_FLOATS 1
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-// GNU libstdc++ 3
-#   if defined(__GNUC__) && __GNUC__ >= 4
-#       define BOOST_HASH_CONFORMANT_FLOATS 1
-#   else
-#       define BOOST_HASH_CONFORMANT_FLOATS 0
-#   endif
-#elif defined(__STL_CONFIG_H)
-// generic SGI STL
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#elif defined(__MSL_CPP__)
-// MSL standard lib:
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#elif defined(__IBMCPP__)
-// VACPP std lib (probably conformant for much earlier version).
-#   if __IBMCPP__ >= 1210
-#       define BOOST_HASH_CONFORMANT_FLOATS 1
-#   else
-#       define BOOST_HASH_CONFORMANT_FLOATS 0
-#   endif
-#elif defined(MSIPL_COMPILE_H)
-// Modena C++ standard library
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-// Dinkumware Library (this has to appear after any possible replacement libraries):
-#   if _CPPLIB_VER >= 405
-#       define BOOST_HASH_CONFORMANT_FLOATS 1
-#   else
-#       define BOOST_HASH_CONFORMANT_FLOATS 0
-#   endif
-#else
-#   define BOOST_HASH_CONFORMANT_FLOATS 0
-#endif
-
-#if BOOST_HASH_CONFORMANT_FLOATS
-
-// The standard library is known to be compliant, so don't use the
-// configuration mechanism.
-
-namespace boost {
-    namespace hash_detail {
-        template <typename Float>
-        struct call_ldexp {
-            typedef Float float_type;
-            inline Float operator()(Float x, int y) const {
-                return std::ldexp(x, y);
-            }
-        };
-
-        template <typename Float>
-        struct call_frexp {
-            typedef Float float_type;
-            inline Float operator()(Float x, int* y) const {
-                return std::frexp(x, y);
-            }
-        };
-
-        template <typename Float>
-        struct select_hash_type
-        {
-            typedef Float type;
-        };
-    }
-}
-
-#else // BOOST_HASH_CONFORMANT_FLOATS == 0
-
-// 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 // BOOST_HASH_CONFORMANT_FLOATS
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/hash_float.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/hash_float.hpp
deleted file mode 100644
index eb9264f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/hash_float.hpp
+++ /dev/null
@@ -1,271 +0,0 @@
-
-// Copyright 2005-2012 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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/functional/hash/detail/float_functions.hpp>
-#include <boost/functional/hash/detail/limits.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <cstring>
-
-#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
-
-// 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
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        inline void hash_float_combine(std::size_t& seed, std::size_t value)
-        {
-            seed ^= value + (seed<<6) + (seed>>2);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Binary hash function
-        //
-        // Only used for floats with known iec559 floats, and certain values in
-        // numeric_limits
-
-        inline std::size_t hash_binary(char* ptr, std::size_t length)
-        {
-            std::size_t seed = 0;
-
-            if (length >= sizeof(std::size_t)) {
-                std::memcpy(&seed, ptr, sizeof(std::size_t));
-                length -= sizeof(std::size_t);
-                ptr += sizeof(std::size_t);
-
-                while(length >= sizeof(std::size_t)) {
-                    std::size_t buffer = 0;
-                    std::memcpy(&buffer, ptr, sizeof(std::size_t));
-                    hash_float_combine(seed, buffer);
-                    length -= sizeof(std::size_t);
-                    ptr += sizeof(std::size_t);
-                }
-            }
-
-            if (length > 0) {
-                std::size_t buffer = 0;
-                std::memcpy(&buffer, ptr, length);
-                hash_float_combine(seed, buffer);
-            }
-
-            return seed;
-        }
-
-        template <typename Float, unsigned digits, unsigned max_exponent>
-        struct enable_binary_hash
-        {
-            BOOST_STATIC_CONSTANT(bool, value =
-                std::numeric_limits<Float>::is_iec559 &&
-                std::numeric_limits<Float>::digits == digits &&
-                std::numeric_limits<Float>::radix == 2 &&
-                std::numeric_limits<Float>::max_exponent == max_exponent);
-        };
-
-        template <typename Float>
-        inline std::size_t float_hash_impl(Float v,
-            BOOST_DEDUCED_TYPENAME boost::enable_if_c<
-                enable_binary_hash<Float, 24, 128>::value,
-                std::size_t>::type)
-        {
-            return hash_binary((char*) &v, 4);
-        }
-
-
-        template <typename Float>
-        inline std::size_t float_hash_impl(Float v,
-            BOOST_DEDUCED_TYPENAME boost::enable_if_c<
-                enable_binary_hash<Float, 53, 1024>::value,
-                std::size_t>::type)
-        {
-            return hash_binary((char*) &v, 8);
-        }
-
-        template <typename Float>
-        inline std::size_t float_hash_impl(Float v,
-            BOOST_DEDUCED_TYPENAME boost::enable_if_c<
-                enable_binary_hash<Float, 64, 16384>::value,
-                std::size_t>::type)
-        {
-            return hash_binary((char*) &v, 10);
-        }
-
-        template <typename Float>
-        inline std::size_t float_hash_impl(Float v,
-            BOOST_DEDUCED_TYPENAME boost::enable_if_c<
-                enable_binary_hash<Float, 113, 16384>::value,
-                std::size_t>::type)
-        {
-            return hash_binary((char*) &v, 16);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Portable hash function
-        //
-        // Used as a fallback when the binary hash function isn't supported.
-
-        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;
-        }
-
-#if !defined(BOOST_HASH_DETAIL_TEST_WITHOUT_GENERIC)
-        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));
-        }
-#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)
-        {
-#if defined(fpclassify)
-            switch (fpclassify(v))
-#elif BOOST_HASH_CONFORMANT_FLOATS
-            switch (std::fpclassify(v))
-#else
-            using namespace std;
-            switch (fpclassify(v))
-#endif
-            {
-            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, 0);
-            default:
-                BOOST_ASSERT(0);
-                return 0;
-            }
-        }
-    }
-}
-
-#else // !BOOST_HASH_USE_FPCLASSIFY
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        template <class T>
-        inline bool is_zero(T v)
-        {
-#if !defined(__GNUC__)
-            return v == 0;
-#else
-            // GCC's '-Wfloat-equal' will complain about comparing
-            // v to 0, but because it disables warnings for system
-            // headers it won't complain if you use std::equal_to to
-            // compare with 0. Resulting in this silliness:
-            return std::equal_to<T>()(v, 0);
-#endif
-        }
-
-        template <class T>
-        inline std::size_t float_hash_value(T v)
-        {
-            return boost::hash_detail::is_zero(v) ? 0 : float_hash_impl(v, 0);
-        }
-    }
-}
-
-#endif // BOOST_HASH_USE_FPCLASSIFY
-
-#undef BOOST_HASH_USE_FPCLASSIFY
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/limits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/limits.hpp
deleted file mode 100644
index 4a971a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/detail/limits.hpp
+++ /dev/null
@@ -1,62 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#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/rbgl_trimmed_boost_1_61_0/boost/functional/hash/extensions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/extensions.hpp
deleted file mode 100644
index eafaefe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/extensions.hpp
+++ /dev/null
@@ -1,318 +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/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/functional/hash/hash.hpp>
-#include <boost/detail/container_fwd.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-
-#if !defined(BOOST_NO_CXX11_HDR_ARRAY)
-#   include <array>
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)
-#   include <tuple>
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_MEMORY)
-#   include <memory>
-#endif
-
-#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#include <boost/type_traits/is_array.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;
-        boost::hash_combine(seed, v.first);
-        boost::hash_combine(seed, v.second);
-        return seed;
-    }
-
-    template <class T, class A>
-    std::size_t hash_value(std::vector<T, A> const& v)
-    {
-        return boost::hash_range(v.begin(), v.end());
-    }
-
-    template <class T, class A>
-    std::size_t hash_value(std::list<T, A> const& v)
-    {
-        return boost::hash_range(v.begin(), v.end());
-    }
-
-    template <class T, class A>
-    std::size_t hash_value(std::deque<T, A> const& v)
-    {
-        return boost::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 boost::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 boost::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 boost::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 boost::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;
-    }
-
-#if !defined(BOOST_NO_CXX11_HDR_ARRAY)
-    template <class T, std::size_t N>
-    std::size_t hash_value(std::array<T, N> const& v)
-    {
-        return boost::hash_range(v.begin(), v.end());
-    }
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)
-    namespace hash_detail {
-        template <std::size_t I, typename T>
-        inline typename boost::enable_if_c<(I == std::tuple_size<T>::value),
-                void>::type
-            hash_combine_tuple(std::size_t&, T const&)
-        {
-        }
-
-        template <std::size_t I, typename T>
-        inline typename boost::enable_if_c<(I < std::tuple_size<T>::value),
-                void>::type
-            hash_combine_tuple(std::size_t& seed, T const& v)
-        {
-            boost::hash_combine(seed, std::get<I>(v));
-            boost::hash_detail::hash_combine_tuple<I + 1>(seed, v);
-        }
-
-        template <typename T>
-        inline std::size_t hash_tuple(T const& v)
-        {
-            std::size_t seed = 0;
-            boost::hash_detail::hash_combine_tuple<0>(seed, v);
-            return seed;
-        }
-    }
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    template <typename... T>
-    inline std::size_t hash_value(std::tuple<T...> const& v)
-    {
-        return boost::hash_detail::hash_tuple(v);
-    }
-#else
-
-    inline std::size_t hash_value(std::tuple<> const& v)
-    {
-        return boost::hash_detail::hash_tuple(v);
-    }
-
-#   define BOOST_HASH_TUPLE_F(z, n, _)                                      \
-    template<                                                               \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                            \
-    >                                                                       \
-    inline std::size_t hash_value(std::tuple<                               \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, A)                                     \
-    > const& v)                                                             \
-    {                                                                       \
-        return boost::hash_detail::hash_tuple(v);                           \
-    }
-
-    BOOST_PP_REPEAT_FROM_TO(1, 11, BOOST_HASH_TUPLE_F, _)
-#   undef BOOST_HASH_TUPLE_F
-#endif
-
-#endif
-
-#if !defined(BOOST_NO_CXX11_SMART_PTR)
-    template <typename T>
-    inline std::size_t hash_value(std::shared_ptr<T> const& x) {
-        return boost::hash_value(x.get());
-    }
-
-    template <typename T, typename Deleter>
-    inline std::size_t hash_value(std::unique_ptr<T, Deleter> const& x) {
-        return boost::hash_value(x.get());
-    }
-#endif
-
-    //
-    // 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
-            {
-                static std::size_t call(Array const& v)
-                {
-                    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;
-
-        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
-            };
-        };
-    }
-#endif  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/hash.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/hash.hpp
deleted file mode 100644
index 2fb9f21..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/hash.hpp
+++ /dev/null
@@ -1,559 +0,0 @@
-
-// Copyright 2005-2014 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 also contains public domain code from MurmurHash. From the
-//  MurmurHash header:
-
-// MurmurHash3 was written by Austin Appleby, and is placed in the public
-// domain. The author hereby disclaims copyright to this source code.
-
-#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>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/cstdint.hpp>
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#include <boost/type_traits/is_pointer.hpp>
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX)
-#include <typeindex>
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-
-#if BOOST_MSVC >= 1400
-#pragma warning(disable:6295) // Ill-defined for-loop : 'unsigned int' values
-                              // are always of range '0' to '4294967295'.
-                              // Loop executes infinitely.
-#endif
-
-#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
-
-#if defined(_MSC_VER)
-#   define BOOST_FUNCTIONAL_HASH_ROTL32(x, r) _rotl(x,r)
-#else
-#   define BOOST_FUNCTIONAL_HASH_ROTL32(x, r) (x << r) | (x >> (32 - r))
-#endif
-
-namespace boost
-{
-    namespace hash_detail
-    {
-        struct enable_hash_value { typedef std::size_t type; };
-
-        template <typename T> struct basic_numbers {};
-        template <typename T> struct long_numbers;
-        template <typename T> struct ulong_numbers;
-        template <typename T> struct float_numbers {};
-
-        template <> struct basic_numbers<bool> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<char> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<unsigned char> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<signed char> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<short> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<unsigned short> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<int> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<unsigned int> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<long> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct basic_numbers<unsigned long> :
-            boost::hash_detail::enable_hash_value {};
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-        template <> struct basic_numbers<wchar_t> :
-            boost::hash_detail::enable_hash_value {};
-#endif
-
-        // long_numbers is defined like this to allow for separate
-        // specialization for long_long and int128_type, in case
-        // they conflict.
-        template <typename T> struct long_numbers2 {};
-        template <typename T> struct ulong_numbers2 {};
-        template <typename T> struct long_numbers : long_numbers2<T> {};
-        template <typename T> struct ulong_numbers : ulong_numbers2<T> {};
-
-#if !defined(BOOST_NO_LONG_LONG)
-        template <> struct long_numbers<boost::long_long_type> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct ulong_numbers<boost::ulong_long_type> :
-            boost::hash_detail::enable_hash_value {};
-#endif
-
-#if defined(BOOST_HAS_INT128)
-        template <> struct long_numbers2<boost::int128_type> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct ulong_numbers2<boost::uint128_type> :
-            boost::hash_detail::enable_hash_value {};
-#endif
-
-        template <> struct float_numbers<float> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct float_numbers<double> :
-            boost::hash_detail::enable_hash_value {};
-        template <> struct float_numbers<long double> :
-            boost::hash_detail::enable_hash_value {};
-    }
-
-    template <typename T>
-    typename boost::hash_detail::basic_numbers<T>::type hash_value(T);
-    template <typename T>
-    typename boost::hash_detail::long_numbers<T>::type hash_value(T);
-    template <typename T>
-    typename boost::hash_detail::ulong_numbers<T>::type hash_value(T);
-
-    template <typename T>
-    typename boost::enable_if<boost::is_enum<T>, std::size_t>::type
-        hash_value(T);
-
-#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
-
-    template <class Ch, class A>
-    std::size_t hash_value(
-        std::basic_string<Ch, std::BOOST_HASH_CHAR_TRAITS<Ch>, A> const&);
-
-    template <typename T>
-    typename boost::hash_detail::float_numbers<T>::type hash_value(T);
-
-#if !defined(BOOST_NO_CXX11_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;
-        }
-
-        template <typename SizeT>
-        inline void hash_combine_impl(SizeT& seed, SizeT value)
-        {
-            seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2);
-        }
-
-        template <typename SizeT>
-        inline void hash_combine_impl(boost::uint32_t& h1,
-                boost::uint32_t k1)
-        {
-            const uint32_t c1 = 0xcc9e2d51;
-            const uint32_t c2 = 0x1b873593;
-
-            k1 *= c1;
-            k1 = BOOST_FUNCTIONAL_HASH_ROTL32(k1,15);
-            k1 *= c2;
-
-            h1 ^= k1;
-            h1 = BOOST_FUNCTIONAL_HASH_ROTL32(h1,13);
-            h1 = h1*5+0xe6546b64;
-        }
-
-
-// Don't define 64-bit hash combine on platforms with 64 bit integers,
-// and also not for 32-bit gcc as it warns about the 64-bit constant.
-#if !defined(BOOST_NO_INT64_T) && \
-        !(defined(__GNUC__) && ULONG_MAX == 0xffffffff)
-
-        template <typename SizeT>
-        inline void hash_combine_impl(boost::uint64_t& h,
-                boost::uint64_t k)
-        {
-            const uint64_t m = UINT64_C(0xc6a4a7935bd1e995);
-            const int r = 47;
-
-            k *= m;
-            k ^= k >> r;
-            k *= m;
-
-            h ^= k;
-            h *= m;
-        }
-
-#endif // BOOST_NO_INT64_T
-    }
-
-    template <typename T>
-    typename boost::hash_detail::basic_numbers<T>::type hash_value(T v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    template <typename T>
-    typename boost::hash_detail::long_numbers<T>::type hash_value(T v)
-    {
-        return hash_detail::hash_value_signed(v);
-    }
-
-    template <typename T>
-    typename boost::hash_detail::ulong_numbers<T>::type hash_value(T v)
-    {
-        return hash_detail::hash_value_unsigned(v);
-    }
-
-    template <typename T>
-    typename boost::enable_if<boost::is_enum<T>, std::size_t>::type
-        hash_value(T v)
-    {
-        return static_cast<std::size_t>(v);
-    }
-
-    // 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
-
-    template <class T>
-    inline void hash_combine(std::size_t& seed, T const& v)
-    {
-        boost::hash<T> hasher;
-        return boost::hash_detail::hash_combine_impl(seed, hasher(v));
-    }
-
-#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());
-    }
-
-    template <typename T>
-    typename boost::hash_detail::float_numbers<T>::type hash_value(T v)
-    {
-        return boost::hash_detail::float_hash_value(v);
-    }
-
-#if !defined(BOOST_NO_CXX11_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 const reference.
-    //
-    // These are undefined later.
-
-#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); \
-        } \
-    };
-
-    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_HAS_INT128)
-    BOOST_HASH_SPECIALIZE(boost::int128_type)
-    BOOST_HASH_SPECIALIZE(boost::uint128_type)
-#endif
-
-#if !defined(BOOST_NO_CXX11_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
-#undef BOOST_FUNCTIONAL_HASH_ROTL32
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/functional/hash/hash_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/hash_fwd.hpp
deleted file mode 100644
index 01fe012..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash/hash_fwd.hpp
+++ /dev/null
@@ -1,36 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-    template <class T> struct hash;
-
-    template <class T> void hash_combine(std::size_t& seed, T const& v);
-
-    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/rbgl_trimmed_boost_1_61_0/boost/functional/hash_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash_fwd.hpp
deleted file mode 100644
index eea9073..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/hash_fwd.hpp
+++ /dev/null
@@ -1,11 +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/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/functional/hash/hash_fwd.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/lightweight_forward_adapter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/lightweight_forward_adapter.hpp
deleted file mode 100644
index 637aa9e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/lightweight_forward_adapter.hpp
+++ /dev/null
@@ -1,259 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2007 Tobias Schwinger
-  
-    Use modification and distribution are subject to the 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_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_HPP_INCLUDED
-#   ifndef BOOST_PP_IS_ITERATING
-
-#   include <boost/config.hpp>
-#   include <boost/detail/workaround.hpp>
-
-#   include <boost/preprocessor/cat.hpp>
-#   include <boost/preprocessor/iteration/iterate.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/facilities/intercept.hpp>
-
-#   include <boost/utility/result_of.hpp>
-#   include <boost/ref.hpp>
-
-#   ifndef BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_MAX_ARITY
-#     define BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_MAX_ARITY 10
-#   elif BOOST_FUNCTIONAL_FORDWARD_ADAPTER_MAX_ARITY < 3
-#     undef  BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_MAX_ARITY
-#     define BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_MAX_ARITY 3
-#   endif
-
-namespace boost 
-{
-    template< typename Function, int Arity_Or_MinArity = -1, int MaxArity = -1 >
-    class lightweight_forward_adapter;
-
-    //----- ---- --- -- - -  -   -
-
-    namespace detail
-    {
-        template< class MostDerived, typename Function, typename FunctionConst, 
-            int Arity, int MinArity >
-        struct lightweight_forward_adapter_impl;
-
-        struct lightweight_forward_adapter_result
-        {
-            template< typename Sig > struct apply;
-
-            // Utility metafunction for argument transform
-            template< typename T > struct x  { typedef T const& t; };
-            template< typename T > struct x< boost::reference_wrapper<T> >
-            { typedef T& t; };
-            template< typename T > struct x<T&>       : x<T> { };
-            template< typename T > struct x<T const&> : x<T> { };
-            template< typename T > struct x<T const>  : x<T> { };
-
-            // Utility metafunction to choose target function qualification
-            template< typename T > struct c
-            { typedef typename T::target_function_t t; };
-            template< typename T > struct c<T&      >
-            { typedef typename T::target_function_t t; };
-            template< typename T > struct c<T const >
-            { typedef typename T::target_function_const_t t; };
-            template< typename T > struct c<T const&>
-            { typedef typename T::target_function_const_t t; };
-        };
-    }
-
-#   define BOOST_TMP_MACRO(f,fn,fc) \
-        boost::detail::lightweight_forward_adapter_impl< \
-            lightweight_forward_adapter<f,Arity_Or_MinArity,MaxArity>, fn, fc, \
-            (MaxArity!=-1? MaxArity :Arity_Or_MinArity!=-1? Arity_Or_MinArity \
-                :BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_MAX_ARITY), \
-            (Arity_Or_MinArity!=-1? Arity_Or_MinArity : 0) >
-
-    template< typename Function, int Arity_Or_MinArity, int MaxArity >
-    class lightweight_forward_adapter
-        : public BOOST_TMP_MACRO(Function,Function,Function const)
-        , private Function
-    {
-      public:
-        lightweight_forward_adapter(Function const& f = Function()) 
-          : Function(f) 
-        { }
-
-        typedef Function        target_function_t;
-        typedef Function const  target_function_const_t;
-
-        Function       & target_function()       { return *this; }
-        Function const & target_function() const { return *this; }
-
-        template< typename Sig > struct result
-            : detail::lightweight_forward_adapter_result::template apply<Sig>
-        { };
-
-        using BOOST_TMP_MACRO(Function,Function, Function const)::operator();
-    };
-    template< typename Function, int Arity_Or_MinArity, int MaxArity >
-    class lightweight_forward_adapter< Function const, Arity_Or_MinArity, 
-        MaxArity >
-        : public BOOST_TMP_MACRO(Function const, Function const, Function const)
-        , private Function
-    {
-      public:
-        lightweight_forward_adapter(Function const& f = Function())
-          : Function(f) 
-        { }
-
-        typedef Function const target_function_t;
-        typedef Function const target_function_const_t;
-
-        Function const & target_function() const { return *this; }
-
-        template< typename Sig > struct result
-            : detail::lightweight_forward_adapter_result::template apply<Sig>
-        { };
-
-        using BOOST_TMP_MACRO(Function const,Function const, Function const)
-            ::operator();
-    };
-    template< typename Function, int Arity_Or_MinArity, int MaxArity >
-    class lightweight_forward_adapter< Function &, Arity_Or_MinArity, MaxArity >
-        : public BOOST_TMP_MACRO(Function&, Function, Function)
-    {
-        Function& ref_function;
-      public:
-        lightweight_forward_adapter(Function& f)
-          : ref_function(f) 
-        { }
-
-        typedef Function target_function_t;
-        typedef Function target_function_const_t;
-
-        Function & target_function() const { return this->ref_function; }
-
-        template< typename Sig > struct result
-            : detail::lightweight_forward_adapter_result::template apply<Sig>
-        { };
-
-        using BOOST_TMP_MACRO(Function&, Function, Function)::operator();
-    }; 
-
-    #undef BOOST_TMP_MACRO
-
-    namespace detail
-    {
-        template< class Self >
-        struct lightweight_forward_adapter_result::apply< Self() >
-            : boost::result_of< BOOST_DEDUCED_TYPENAME c<Self>::t() >
-        { };
-
-        template< class MD, class F, class FC >
-        struct lightweight_forward_adapter_impl<MD,F,FC,0,0>
-            : lightweight_forward_adapter_result
-        {
-            inline typename boost::result_of< FC() >::type
-            operator()() const
-            {
-                return static_cast<MD const*>(this)->target_function()();
-            }
-
-            inline typename boost::result_of< F() >::type
-            operator()()
-            {
-                return static_cast<MD*>(this)->target_function()();
-            }
-        };
-
-#       define  BOOST_PP_FILENAME_1 \
-            <boost/functional/lightweight_forward_adapter.hpp>
-#       define  BOOST_PP_ITERATION_LIMITS                                     \
-            (1,BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_MAX_ARITY) 
-#       include BOOST_PP_ITERATE()
-
-    } // namespace detail
-
-    template<class F, int A0, int A1>
-    struct result_of<boost::lightweight_forward_adapter<F,A0,A1> const ()>
-        : boost::detail::lightweight_forward_adapter_result::template apply<
-            boost::lightweight_forward_adapter<F,A0,A1> const () >
-    { };
-    template<class F, int A0, int A1>
-    struct result_of<boost::lightweight_forward_adapter<F,A0,A1>()>
-        : boost::detail::lightweight_forward_adapter_result::template apply<
-            boost::lightweight_forward_adapter<F,A0,A1>() >
-    { };
-    template<class F, int A0, int A1>
-    struct result_of<boost::lightweight_forward_adapter<F,A0,A1> const& ()>
-        : boost::detail::lightweight_forward_adapter_result::template apply<
-            boost::lightweight_forward_adapter<F,A0,A1> const () >
-    { };
-    template<class F, int A0, int A1>
-    struct result_of<boost::lightweight_forward_adapter<F,A0,A1>& ()>
-        : boost::detail::lightweight_forward_adapter_result::template apply<
-            boost::lightweight_forward_adapter<F,A0,A1>() >
-    { };
-}
-
-#     define BOOST_FUNCTIONAL_LIGHTWEIGHT_FORWARD_ADAPTER_HPP_INCLUDED
-
-#   else // defined(BOOST_PP_IS_ITERATING)
-#     define N BOOST_PP_ITERATION() 
-
-        template< class Self, BOOST_PP_ENUM_PARAMS(N,typename T) >
-        struct lightweight_forward_adapter_result::apply<
-            Self (BOOST_PP_ENUM_PARAMS(N,T)) >
-            : boost::result_of<
-                BOOST_DEDUCED_TYPENAME c<Self>::t (BOOST_PP_ENUM_BINARY_PARAMS(N,
-                    typename x<T,>::t BOOST_PP_INTERCEPT)) >
-        { };
-
-        template< class MD, class F, class FC >
-        struct lightweight_forward_adapter_impl<MD,F,FC,BOOST_PP_DEC(N),N>
-            : lightweight_forward_adapter_result
-        {
-            template< BOOST_PP_ENUM_PARAMS(N,typename T) >
-            inline typename boost::result_of< F(BOOST_PP_ENUM_BINARY_PARAMS(N,
-                T,const& BOOST_PP_INTERCEPT)) >::type
-            operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT));
-        };
-
-        template< class MD, class F, class FC, int MinArity >
-        struct lightweight_forward_adapter_impl<MD,F,FC,N,MinArity>
-            : lightweight_forward_adapter_impl<MD,F,FC,BOOST_PP_DEC(N),MinArity>
-        {
-            using lightweight_forward_adapter_impl<MD,F,FC,BOOST_PP_DEC(N),
-                MinArity>::operator();
-
-#     define M(z,i,d) \
-          static_cast<typename d::template x<T##i>::t>(a##i)
-
-            template< BOOST_PP_ENUM_PARAMS(N,typename T) >
-            inline typename lightweight_forward_adapter_result::template apply<
-                MD const (BOOST_PP_ENUM_BINARY_PARAMS(N,
-                    T,const& BOOST_PP_INTERCEPT)) >::type
-            operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,const& a)) const
-            {
-                typedef lightweight_forward_adapter_result _;
-                return static_cast<MD const*>(this)->target_function()(
-                    BOOST_PP_ENUM(N,M,_));
-            }
-            template< BOOST_PP_ENUM_PARAMS(N,typename T) >
-            inline typename lightweight_forward_adapter_result::template apply<
-                MD (BOOST_PP_ENUM_BINARY_PARAMS(N,
-                    T,const& BOOST_PP_INTERCEPT)) >::type
-            operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,const& a))
-            {
-                typedef lightweight_forward_adapter_result _;
-                return static_cast<MD*>(this)->target_function()(
-                    BOOST_PP_ENUM(N,M,_));
-            }
-#     undef M
-      };
-
-#     undef N
-#   endif // defined(BOOST_PP_IS_ITERATING)
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function.hpp
deleted file mode 100644
index 83fe4b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function.hpp
+++ /dev/null
@@ -1,311 +0,0 @@
-
-// Copyright (C) 2009-2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/functional/overloaded_function
-
-#ifndef DOXYGEN // Doxygen documentation only.
-
-#if !BOOST_PP_IS_ITERATING
-#   ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_HPP_
-#       define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_HPP_
-
-#       include <boost/functional/overloaded_function/detail/base.hpp>
-#       include <boost/functional/overloaded_function/detail/function_type.hpp>
-#       include <boost/functional/overloaded_function/config.hpp>
-#       include <boost/typeof/typeof.hpp>
-#       include <boost/preprocessor/iteration/iterate.hpp>
-#       include <boost/preprocessor/repetition/enum.hpp>
-#       include <boost/preprocessor/repetition/repeat.hpp>
-#       include <boost/preprocessor/control/expr_iif.hpp>
-#       include <boost/preprocessor/control/expr_if.hpp>
-#       include <boost/preprocessor/comparison/greater.hpp>
-#       include <boost/preprocessor/comparison/less.hpp>
-#       include <boost/preprocessor/cat.hpp>
-#       include <boost/preprocessor/arithmetic/add.hpp>
-#       include <boost/preprocessor/arithmetic/sub.hpp>
-#       include <boost/preprocessor/tuple/eat.hpp>
-#       include <boost/preprocessor/logical/and.hpp>
-#       include <boost/preprocessor/logical/not.hpp>
-#       include <boost/preprocessor/facilities/expand.hpp>
-
-#define BOOST_FUNCTIONAL_f_type(z, n, unused) \
-    BOOST_PP_CAT(F, n)
-
-#define BOOST_FUNCTIONAL_f_arg(z, n, unused) \
-    BOOST_PP_CAT(f, n)
-
-#define BOOST_FUNCTIONAL_f_tparam(z, n, unused) \
-    typename BOOST_FUNCTIONAL_f_type(z, n, ~) \
-
-#define BOOST_FUNCTIONAL_f_tparam_dflt(z, n, is_tspec) \
-    BOOST_FUNCTIONAL_f_tparam(z, n, ~) \
-    /* overload requires at least 2 functors so F0 and F1 not optional */ \
-    BOOST_PP_EXPR_IIF(BOOST_PP_AND(BOOST_PP_NOT(is_tspec), \
-            BOOST_PP_GREATER(n, 1)), \
-        = void \
-    )
-
-#define BOOST_FUNCTIONAL_f_arg_decl(z, n, unused) \
-    BOOST_FUNCTIONAL_f_type(z, n, ~) /* no qualifier to deduce tparam */ \
-    BOOST_FUNCTIONAL_f_arg(z, n, ~)
-
-#define BOOST_FUNCTIONAL_g_type(z, n, unused) \
-    BOOST_PP_CAT(G, n)
-
-#define BOOST_FUNCTIONAL_g_arg(z, n, unused) \
-    BOOST_PP_CAT(g, n)
-
-#define BOOST_FUNCTIONAL_g_tparam(z, n, unused) \
-    typename BOOST_FUNCTIONAL_g_type(z, n, ~)
-
-#define BOOST_FUNCTIONAL_g_arg_decl(z, n, unused) \
-    BOOST_FUNCTIONAL_g_type(z, n, ~) /* no qualifier to deduce tparam */ \
-    BOOST_FUNCTIONAL_g_arg(z, n, ~)
-
-#define BOOST_FUNCTIONAL_base(z, n, unused) \
-    ::boost::overloaded_function_detail::base< \
-        BOOST_FUNCTIONAL_f_type(z, n, ~) \
-    >
-
-#define BOOST_FUNCTIONAL_inherit(z, n, unused) \
-    public BOOST_FUNCTIONAL_base(z, n, ~)
-
-#define BOOST_FUNCTIONAL_base_init(z, n, unused) \
-    BOOST_FUNCTIONAL_base(z, n, ~)(BOOST_FUNCTIONAL_g_arg(z, n, ~))
-
-#define BOOST_FUNCTIONAL_using_operator_call(z, n, unused) \
-    using BOOST_FUNCTIONAL_base(z, n, ~)::operator();
-
-#define BOOST_FUNCTIONAL_function_type(z, n, unused) \
-    typename ::boost::overloaded_function_detail::function_type< \
-        BOOST_FUNCTIONAL_f_type(z, n, ~) \
-    >::type
-
-#       define BOOST_PP_ITERATION_PARAMS_1 \
-            /* at least 2 func to overload so start from 2 to MAX */ \
-            /* (cannot iterate [0, MAX-2) because error on Sun) */ \
-            (3, (2, BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX, \
-            "boost/functional/overloaded_function.hpp"))
-#       include BOOST_PP_ITERATE() // Iterate over function arity.
-
-#undef BOOST_FUNCTIONAL_f_type
-#undef BOOST_FUNCTIONAL_f_arg
-#undef BOOST_FUNCTIONAL_f_tparam
-#undef BOOST_FUNCTIONAL_f_arg_decl
-#undef BOOST_FUNCTIONAL_f_tparam_dflt
-#undef BOOST_FUNCTIONAL_g_type
-#undef BOOST_FUNCTIONAL_g_arg
-#undef BOOST_FUNCTIONAL_g_tparam
-#undef BOOST_FUNCTIONAL_g_arg_decl
-#undef BOOST_FUNCTIONAL_base
-#undef BOOST_FUNCTIONAL_inherit
-#undef BOOST_FUNCTIONAL_base_init
-#undef BOOST_FUNCTIONAL_using_operator_call
-#undef BOOST_FUNCTIONAL_function_type
-
-#   endif // #include guard
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-#   define BOOST_FUNCTIONAL_overloads \
-        /* iterate as OVERLOADS, OVERLOADS-1, OVERLOADS-2, ... */ \
-        /* (add 2 because iteration started from 2 to MAX) */ \
-        BOOST_PP_ADD(2, BOOST_PP_SUB( \
-                BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX, \
-                BOOST_PP_FRAME_ITERATION(1)))
-#   define BOOST_FUNCTIONAL_is_tspec \
-        /* if template specialization */ \
-        BOOST_PP_LESS(BOOST_FUNCTIONAL_overloads, \
-                BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX)
-
-// For type-of emulation: This must be included at this pp iteration level.
-#   include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-namespace boost {
-
-template<
-    BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_f_tparam_dflt,
-            BOOST_FUNCTIONAL_is_tspec)
->
-class overloaded_function
-    // Template specialization.
-    BOOST_PP_EXPR_IIF(BOOST_PP_EXPAND(BOOST_FUNCTIONAL_is_tspec), <)
-    BOOST_PP_IIF(BOOST_FUNCTIONAL_is_tspec,
-        BOOST_PP_ENUM
-    ,
-        BOOST_PP_TUPLE_EAT(3)
-    )(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_f_type, ~)
-    BOOST_PP_EXPR_IIF(BOOST_PP_EXPAND(BOOST_FUNCTIONAL_is_tspec), >)
-    // Bases (overloads >= 2 so always at least 2 bases).
-    : BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads,
-            BOOST_FUNCTIONAL_inherit, ~)
-{
-public:
-    template<
-        BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_g_tparam, ~)
-    > /* implicit */ inline overloaded_function(
-            BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads,
-                    BOOST_FUNCTIONAL_g_arg_decl, ~))
-            // Overloads >= 2 so always at least 2 bases to initialize.
-            : BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads,
-                    BOOST_FUNCTIONAL_base_init, ~)
-    {}
-
-    BOOST_PP_REPEAT(BOOST_FUNCTIONAL_overloads, 
-            BOOST_FUNCTIONAL_using_operator_call, ~)
-};
-
-template<
-    BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_f_tparam, ~)
->
-overloaded_function<
-    BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_function_type, ~)
-> make_overloaded_function(
-    BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_f_arg_decl, ~)
-) {
-    return overloaded_function<
-        BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads,
-                BOOST_FUNCTIONAL_function_type, ~)
-    >(BOOST_PP_ENUM(BOOST_FUNCTIONAL_overloads, BOOST_FUNCTIONAL_f_arg, ~));
-}
-
-} // namespace
-
-// For type-of emulation: Register overloaded function type (for _AUTO, etc).
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::overloaded_function,
-    BOOST_FUNCTIONAL_overloads)
-
-#   undef BOOST_FUNCTIONAL_overloads
-#   undef BOOST_FUNCTIONAL_is_tspec
-#endif // iteration
-
-// DOCUMENTATION //
-
-#else // DOXYGEN
-
-/** @file
- at brief Overload distinct function pointers, function references, and
-monomorphic function objects into a single function object.
-*/
-
-namespace boost {
-
-/**
- at brief Function object to overload functions with distinct signatures.
-
-This function object aggregates together calls to functions of all the
-specified function types <c>F1</c>, <c>F2</c>, etc which must have distinct
-function signatures from one another.
-
- at Params
- at Param{F<em>i</em>,
-Each function type must be specified using the following syntax (which is
-Boost.Function's preferred syntax):
- at code
-    result_type (argument1_type\, argumgnet2_type\, ...)
- at endcode
-}
- at EndParams
-
-In some cases, the @RefFunc{make_overloaded_function} function template can be
-useful to construct an overloaded function object without explicitly
-specifying the function types.
-
-At least two distinct function types must be specified (because there is
-nothing to overload between one or zero functions).
-The maximum number of functions to overload is given by the
- at RefMacro{BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX}
-configuration macro.
-The maximum number of function parameters for each of the specified function
-types is given by the
- at RefMacro{BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX}
-configuration macro.
-
- at See @RefSect{tutorial, Tutorial} section, @RefFunc{make_overloaded_function},
- at RefMacro{BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX},
- at RefMacro{BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX},
-Boost.Function.
-*/
-template<typename F1, typename F2, ...>
-class overloaded_function {
-public:
-    /**
-    @brief Construct the overloaded function object.
-
-    Any function pointer, function reference, and monomorphic function object
-    that can be converted to a <c>boost::function</c> function object can be
-    specified as parameter.
-
-    @Note Unfortunately, it is not possible to support polymorphic function
-    objects (as explained <a
-    href="http://lists.boost.org/Archives/boost/2012/03/191744.php">here</a>).
-    */
-    overloaded_function(const boost::function<F1>&,
-            const boost::function<F2>&, ...);
-
-    /**
-    @brief Call operator matching the signature of the function type specified
-    as 1st template parameter.
-
-    This will in turn invoke the call operator of the 1st function passed to
-    the constructor.
-    */
-    typename boost::function_traits<F1>::result_type operator()(
-            typename boost::function_traits<F1>::arg1_type,
-            typename boost::function_traits<F1>::arg2_type,
-            ...) const;
-
-    /**
-    @brief Call operator matching the signature of the function type specified
-    as 2nd template parameter.
-
-    This will in turn invoke the call operator of the 2nd function passed to
-    the constructor.
-
-    @Note Similar call operators are present for all specified function types
-    <c>F1</c>, <c>F2</c>, etc (even if not exhaustively listed by this
-    documentation).
-    */
-    typename boost::function_traits<F2>::result_type operator()(
-            typename boost::function_traits<F2>::arg1_type,
-            typename boost::function_traits<F2>::arg2_type,
-            ...) const;
-};
-
-/**
- at brief Make an overloaded function object without explicitly specifying the
-function types.
-
-This function template creates and returns an @RefClass{overloaded_function}
-object that overloads all the specified functions <c>f1</c>, <c>f2</c>, etc.
-
-The function types are internally determined from the template parameter types
-so they do not need to be explicitly specified.
-Therefore, this function template usually has a more concise syntax when
-compared with @RefClass{overloaded_function}.
-This is especially useful when the explicit type of the returned
- at RefClass{overloaded_function} object does not need to be known (e.g., when
-used with Boost.Typeof's <c>BOOST_AUTO</c>, C++11 <c>auto</c>, or when the
-overloaded function object is handled using a function template parameter, see
-the @RefSect{tutorial, Tutorial} section).
-
-The maximum number of functions to overload is given by the
- at RefMacro{BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX}
-configuration macro.
-
- at Note In this documentation, <c>__function_type__</c> is a placeholder for a
-symbol that is specific to the implementation of this library.
-
- at See @RefSect{tutorial, Tutorial} section, @RefClass{overloaded_function},
- at RefMacro{BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX}.
-*/
-template<typename F1, typename F2, ...>
-overloaded_function<
-    __function_type__<F1>, __function_type__<F2>, ...
-> make_overloaded_function(F1 f1, F2 f2, ...);
-
-} // namespace
-
-#endif // DOXYGEN
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/config.hpp
deleted file mode 100644
index 2f5d9e1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/config.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// Copyright (C) 2009-2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/functional/overloaded_function
-
-#ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_HPP_
-#define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_HPP_
-
-/** @file
- at brief Change the compile-time configuration of this library.
-*/
-
-/**
- at brief Specify the maximum number of arguments of the functions being
-overloaded.
-
-If this macro is left undefined by the user, it has a default value of 5
-(increasing this number might increase compilation time).
-When specified by the user, this macro must be a non-negative integer number.
-
- at See @RefSect{getting_started, Getting Started},
- at RefClass{boost::overloaded_function}.
-*/
-#ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX 
-#   define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX 5
-#endif
-
-/**
- at brief Specify the maximum number of functions that can be overloaded.
-
-If this macro is left undefined by the user, it has a default value of 5
-(increasing this number might increase compilation time).
-When defined by the user, this macro must be an integer number greater or
-equal than 2 (because at least two distinct functions need to be specified in
-order to define an overload).
-
- at See @RefSect{getting_started, Getting Started},
- at RefClass{boost::overloaded_function}.
-*/
-#ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX
-#   define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX 5
-#endif
-#if BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX < 2
-#   error "maximum overload macro cannot be less than 2"
-#endif
-
-#endif // #include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/detail/base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/detail/base.hpp
deleted file mode 100644
index 8fd9a0a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/detail/base.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-
-// Copyright (C) 2009-2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/functional/overloaded_function
-
-#if !BOOST_PP_IS_ITERATING
-#   ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_DETAIL_BASE_HPP_
-#       define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_DETAIL_BASE_HPP_
-
-#       include <boost/functional/overloaded_function/config.hpp>
-#       include <boost/function.hpp>
-#       include <boost/preprocessor/iteration/iterate.hpp>
-#       include <boost/preprocessor/repetition/enum.hpp>
-#       include <boost/preprocessor/cat.hpp>
-#       include <boost/preprocessor/comma_if.hpp>
-
-#define BOOST_FUNCTIONAL_DETAIL_arg_type(z, n, unused) \
-    BOOST_PP_CAT(A, n)
-
-#define BOOST_FUNCTIONAL_DETAIL_arg_name(z, n, unused) \
-    BOOST_PP_CAT(a, n)
-
-#define BOOST_FUNCTIONAL_DETAIL_arg_tparam(z, n, unused) \
-    typename BOOST_FUNCTIONAL_DETAIL_arg_type(z, n, unused)
-
-#define BOOST_FUNCTIONAL_DETAIL_arg(z, n, unused) \
-    BOOST_FUNCTIONAL_DETAIL_arg_type(z, n, unused) \
-    BOOST_FUNCTIONAL_DETAIL_arg_name(z, n, unused)
-
-#define BOOST_FUNCTIONAL_DETAIL_f \
-    R (BOOST_PP_ENUM(BOOST_FUNCTIONAL_DETAIL_arity, \
-            BOOST_FUNCTIONAL_DETAIL_arg_type, ~))
-
-// Do not use namespace ::detail because overloaded_function is already a class.
-namespace boost { namespace overloaded_function_detail {
-
-template<typename F>
-class base {}; // Empty template cannot be used directly (only its spec).
-
-#       define BOOST_PP_ITERATION_PARAMS_1 \
-                (3, (0, BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX, \
-                "boost/functional/overloaded_function/detail/base.hpp"))
-#       include BOOST_PP_ITERATE() // Iterate over funciton arity.
-
-} } // namespace
-
-#undef BOOST_FUNCTIONAL_DETAIL_arg_type
-#undef BOOST_FUNCTIONAL_DETAIL_arg_name
-#undef BOOST_FUNCTIONAL_DETAIL_arg_tparam
-#undef BOOST_FUNCTIONAL_DETAIL_arg
-#undef BOOST_FUNCTIONAL_DETAIL_f
-
-#   endif // #include guard
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-#   define BOOST_FUNCTIONAL_DETAIL_arity BOOST_PP_FRAME_ITERATION(1)
-
-template<
-    typename R
-    BOOST_PP_COMMA_IF(BOOST_FUNCTIONAL_DETAIL_arity)
-    BOOST_PP_ENUM(BOOST_FUNCTIONAL_DETAIL_arity,
-            BOOST_FUNCTIONAL_DETAIL_arg_tparam, ~)
->
-class base< BOOST_FUNCTIONAL_DETAIL_f > {
-public:
-    /* implicit */ inline base(
-            // This requires specified type to be implicitly convertible to
-            // a boost::function<> functor.
-            boost::function< BOOST_FUNCTIONAL_DETAIL_f > const& f): f_(f)
-    {}
-
-    inline R operator()(BOOST_PP_ENUM(BOOST_FUNCTIONAL_DETAIL_arity,
-            BOOST_FUNCTIONAL_DETAIL_arg, ~)) const {
-        return f_(BOOST_PP_ENUM(BOOST_FUNCTIONAL_DETAIL_arity,
-                BOOST_FUNCTIONAL_DETAIL_arg_name, ~));
-    }
-
-private:
-    boost::function< BOOST_FUNCTIONAL_DETAIL_f > const f_;
-};
-
-#   undef BOOST_FUNCTIONAL_DETAIL_arity
-#endif // iteration
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/detail/function_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/detail/function_type.hpp
deleted file mode 100644
index 0c28607..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/overloaded_function/detail/function_type.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-
-// Copyright (C) 2009-2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/functional/overloaded_function
-
-#ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_DETAIL_FUNCTION_TYPE_HPP_
-#define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_DETAIL_FUNCTION_TYPE_HPP_
-
-#include <boost/function_types/is_function.hpp>
-#include <boost/function_types/is_function_pointer.hpp>
-#include <boost/function_types/is_function_reference.hpp>
-#include <boost/function_types/function_type.hpp>
-#include <boost/function_types/parameter_types.hpp>
-#include <boost/function_types/result_type.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/function.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/pop_front.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/typeof/typeof.hpp>
-
-// Do not use namespace ::detail because overloaded_function is already a class.
-namespace boost { namespace overloaded_function_detail {
-
-// Requires: F is a monomorphic functor (i.e., has non-template `operator()`).
-// Returns: F's function type `result_type (arg1_type, arg2_type, ...)`.
-// It does not assume F typedef result_type, arg1_type, ... but needs typeof.
-template<typename F>
-class functor_type {
-    // NOTE: clang does not accept extra parenthesis `&(...)`.
-    typedef BOOST_TYPEOF_TPL(&F::operator()) call_ptr;
-public:
-    typedef
-        typename boost::function_types::function_type<
-            typename boost::mpl::push_front<
-                  typename boost::mpl::pop_front< // Remove functor type (1st).
-                    typename boost::function_types::parameter_types<
-                            call_ptr>::type
-                  >::type
-                , typename boost::function_types::result_type<call_ptr>::type
-            >::type
-        >::type
-    type;
-};
-
-// NOTE: When using boost::function in Boost.Typeof emulation mode, the user
-// has to register boost::functionN instead of boost::function in oder to
-// do TYPEOF(F::operator()). That is confusing, so boost::function is handled
-// separately so it does not require any Boost.Typeof registration at all.
-template<typename F>
-struct functor_type< boost::function<F> > {
-    typedef F type;
-};
-
-// Requires: F is a function type, pointer, reference, or monomorphic functor.
-// Returns: F's function type `result_type (arg1_type, arg2_type, ...)`.
-template<typename F>
-struct function_type {
-    typedef
-        typename boost::mpl::if_<boost::function_types::is_function<F>,
-            boost::mpl::identity<F>
-        ,
-            typename boost::mpl::if_<boost::function_types::
-                    is_function_pointer<F>,
-                boost::remove_pointer<F>
-            ,
-                typename boost::mpl::if_<boost::function_types::
-                        is_function_reference<F>,
-                    boost::remove_reference<F>
-                , // Else, requires that F is a functor.
-                    functor_type<F>
-                >::type
-            >::type
-        >::type
-    ::type type;
-};
-
-} } // namespace
-
-#endif // #include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/functional/value_factory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/functional/value_factory.hpp
deleted file mode 100644
index ba94c2a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/functional/value_factory.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*=============================================================================
-    Copyright (c) 2007 Tobias Schwinger
-  
-    Use modification and distribution are subject to the 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_FUNCTIONAL_VALUE_FACTORY_HPP_INCLUDED
-#   ifndef BOOST_PP_IS_ITERATING
-
-#     include <boost/preprocessor/iteration/iterate.hpp>
-#     include <boost/preprocessor/repetition/enum_params.hpp>
-#     include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#     include <new>
-#     include <boost/pointee.hpp>
-#     include <boost/get_pointer.hpp>
-#     include <boost/non_type.hpp>
-#     include <boost/type_traits/remove_cv.hpp>
-
-#     ifndef BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY
-#       define BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY 10
-#     elif BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY < 3
-#       undef  BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY
-#       define BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY 3
-#     endif
-
-namespace boost
-{
-    template< typename T >
-    class value_factory;
-
-    //----- ---- --- -- - -  -   -
-
-    template< typename T >
-    class value_factory
-    {
-      public:
-        typedef T result_type;
-
-        value_factory()
-        { }
-
-#     define BOOST_PP_FILENAME_1 <boost/functional/value_factory.hpp>
-#     define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUNCTIONAL_VALUE_FACTORY_MAX_ARITY)
-#     include BOOST_PP_ITERATE()
-    };
-
-    template< typename T > class value_factory<T&>;
-    // forbidden, would create a dangling reference
-}
-#     define BOOST_FUNCTIONAL_VALUE_FACTORY_HPP_INCLUDED
-#   else // defined(BOOST_PP_IS_ITERATING)
-
-#     define N BOOST_PP_ITERATION()
-#     if N > 0
-    template< BOOST_PP_ENUM_PARAMS(N, typename T) >
-#     endif
-    inline result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const
-    {
-        return result_type(BOOST_PP_ENUM_PARAMS(N,a));
-    }
-#     undef N
-
-#   endif // defined(BOOST_PP_IS_ITERATING)
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/generator_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/generator_iterator.hpp
deleted file mode 100644
index 0fe1569..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/generator_iterator.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// (C) Copyright Jens Maurer 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)
-//
-// Revision History:
-
-// 15 Nov 2001   Jens Maurer
-//      created.
-
-//  See http://www.boost.org/libs/utility/iterator_adaptors.htm for documentation.
-
-#ifndef BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP
-#define BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP
-
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/ref.hpp>
-
-namespace boost {
-namespace iterators {
-
-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() {}
-    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;
-};
-
-template<class Generator>
-struct generator_iterator_generator
-{
-  typedef generator_iterator<Generator> type;
-};
-
-template <class Generator>
-inline generator_iterator<Generator>
-make_generator_iterator(Generator & gen)
-{
-  typedef generator_iterator<Generator> result_t;
-  return result_t(&gen);
-}
-
-} // namespace iterators
-
-using iterators::generator_iterator;
-using iterators::generator_iterator_generator;
-using iterators::make_generator_iterator;
-
-} // namespace boost
-
-#endif // BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/geometry.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/geometry.hpp
deleted file mode 100644
index a4756e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/geometry.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-
-// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
-// Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
-// Copyright (c) 2009-2011 Mateusz Loskot, London, UK.
-
-// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
-// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
-
-// Use, modification and distribution is subject to the 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_GEOMETRY_HPP
-#define BOOST_GEOMETRY_HPP
-
-#include <boost/geometry/geometry.hpp>
-
-#endif // BOOST_GEOMETRY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/get_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/get_pointer.hpp
deleted file mode 100644
index 36e2cd7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/get_pointer.hpp
+++ /dev/null
@@ -1,76 +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
-
-#include <boost/config.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
-
-#if !defined( BOOST_NO_AUTO_PTR )
-
-#if defined( __GNUC__ ) && (defined( __GXX_EXPERIMENTAL_CXX0X__ ) || (__cplusplus >= 201103L))
-#if defined( BOOST_GCC )
-#if BOOST_GCC >= 40600
-#define BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS
-#endif // BOOST_GCC >= 40600
-#elif defined( __clang__ ) && defined( __has_warning )
-#if __has_warning("-Wdeprecated-declarations")
-#define BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS
-#endif // __has_warning("-Wdeprecated-declarations")
-#endif
-#endif // defined( __GNUC__ ) && (defined( __GXX_EXPERIMENTAL_CXX0X__ ) || (__cplusplus >= 201103L))
-
-#if defined( BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS )
-// Disable libstdc++ warnings about std::auto_ptr being deprecated in C++11 mode
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#define BOOST_CORE_DETAIL_DISABLED_DEPRECATED_WARNINGS
-#endif
-
-template<class T> T * get_pointer(std::auto_ptr<T> const& p)
-{
-    return p.get();
-}
-
-#if defined( BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS )
-#pragma GCC diagnostic pop
-#undef BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS
-#endif
-
-#endif // !defined( BOOST_NO_AUTO_PTR )
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
-
-template<class T> T * get_pointer( std::unique_ptr<T> const& p )
-{
-    return p.get();
-}
-
-template<class T> T * get_pointer( std::shared_ptr<T> const& p )
-{
-    return p.get();
-}
-
-#endif
-
-} // namespace boost
-
-#endif // GET_POINTER_DWA20021219_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/accounting.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/accounting.hpp
deleted file mode 100644
index 6643e75..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/accounting.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_ACCOUNTING_HPP
-#define BOOST_GRAPH_ACCOUNTING_HPP
-
-#include <iomanip>
-#include <iostream>
-#include <string>
-#include <sstream>
-#include <boost/mpi/config.hpp>
-
-namespace boost { namespace graph { namespace accounting {
-
-typedef double time_type;
-
-inline time_type get_time()
-{
-  return MPI_Wtime();
-}
-
-inline std::string print_time(time_type t)
-{
-  std::ostringstream out;
-  out << std::setiosflags(std::ios::fixed) << std::setprecision(2) << t;
-  return out.str();
-}
-
-} } } // end namespace boost::graph::accounting
-
-#endif // BOOST_GRAPH_ACCOUNTING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adj_list_serialize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/adj_list_serialize.hpp
deleted file mode 100644
index 01db502..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adj_list_serialize.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//=======================================================================
-// Copyright 2005 Jeremy G. Siek
-// Authors: Jeremy G. Siek
-//
-// Distributed under the 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 ADJ_LIST_SERIALIZE_HPP
-#define ADJ_LIST_SERIALIZE_HPP
-
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/pending/property_serialize.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.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 {
-
-// Turn off tracking for adjacency_list. It's not polymorphic, and we
-// need to do this to enable saving of non-const adjacency lists.
-template<class OEL, class VL, class D, class VP, class EP, class GP, class EL>
-struct tracking_level<boost::adjacency_list<OEL,VL,D,VP,EP,GP,EL> > {
-  typedef mpl::integral_c_tag tag;
-  typedef mpl::int_<track_never> type;
-  BOOST_STATIC_CONSTANT(int, value = tracking_level::type::value);
-};
-
-template<class Archive, class OEL, class VL, class D, 
-     class VP, class EP, class GP, class EL>
-inline void save(
-    Archive & ar,
-    const boost::adjacency_list<OEL,VL,D,VP,EP,GP,EL> &graph,
-    const unsigned int /* file_version */
-){
-  typedef adjacency_list<OEL,VL,D,VP,EP,GP,EL> Graph;
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-  int V = num_vertices(graph);
-  int E = num_edges(graph);
-  ar << BOOST_SERIALIZATION_NVP(V);
-  ar << BOOST_SERIALIZATION_NVP(E);
-
-  // assign indices to vertices
-  std::map<Vertex,int> indices;
-  int num = 0;
-  BGL_FORALL_VERTICES_T(v, graph, Graph) {
-    indices[v] = num++;
-    ar << serialization::make_nvp("vertex_property", get(vertex_all_t(), graph, v) );
-  }
-  
-  // write edges
-  BGL_FORALL_EDGES_T(e, graph, Graph) {
-    ar << serialization::make_nvp("u" , indices[source(e,graph)]);
-    ar << serialization::make_nvp("v" , indices[target(e,graph)]);
-    ar << serialization::make_nvp("edge_property", get(edge_all_t(), graph, e) );
-  }
-
-  ar << serialization::make_nvp("graph_property", get_property(graph, graph_all_t()) );
-}
-
-
-template<class Archive, class OEL, class VL, class D,
-     class VP, class EP, class GP, class EL>
-inline void load(
-    Archive & ar,
-    boost::adjacency_list<OEL,VL,D,VP,EP,GP,EL> &graph,
-    const unsigned int /* file_version */
-){
-  typedef adjacency_list<OEL,VL,D,VP,EP,GP,EL> Graph;
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-  unsigned int V;
-  ar >> BOOST_SERIALIZATION_NVP(V);
-  unsigned int E;
-  ar >> BOOST_SERIALIZATION_NVP(E);
-  
-  std::vector<Vertex> verts(V);
-  int i = 0;
-  while(V-- > 0){
-    Vertex v = add_vertex(graph);
-    verts[i++] = v;
-    ar >> serialization::make_nvp("vertex_property", get(vertex_all_t(), graph, v) );
-  }
-  while(E-- > 0){
-    int u; int v;
-    ar >> BOOST_SERIALIZATION_NVP(u);
-    ar >> BOOST_SERIALIZATION_NVP(v);
-    Edge e; bool inserted;
-    boost::tie(e,inserted) = add_edge(verts[u], verts[v], graph);
-    ar >> serialization::make_nvp("edge_property", get(edge_all_t(), graph, e) );
-  }
-  ar >> serialization::make_nvp("graph_property", get_property(graph, graph_all_t()) );
-}
-
-template<class Archive, class OEL, class VL, class D, class VP, class EP, class GP, class EL>
-inline void serialize(
-    Archive & ar,
-    boost::adjacency_list<OEL,VL,D,VP,EP,GP,EL> &graph,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, graph, file_version);
-}
-
-}//serialization
-}//boost
-
-
-#endif // ADJ_LIST_SERIALIZE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_iterator.hpp
deleted file mode 100644
index d500606..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_iterator.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_ADJACENCY_ITERATOR_HPP
-#define BOOST_ADJACENCY_ITERATOR_HPP
-
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/graph/graph_traits.hpp>
-
-namespace boost
-{
-
-  template <class Graph, class Vertex, class OutEdgeIter, class Difference>
-  struct adjacency_iterator
-    : iterator_adaptor<
-          adjacency_iterator<Graph,Vertex,OutEdgeIter,Difference>
-        , OutEdgeIter
-        , Vertex
-        , use_default
-        , Vertex
-        , Difference
-      >
-  {
-      typedef iterator_adaptor<
-          adjacency_iterator<Graph,Vertex,OutEdgeIter,Difference>
-        , OutEdgeIter
-        , Vertex
-        , use_default
-        , Vertex
-        , Difference
-      > super_t;
-      
-      inline adjacency_iterator() {}
-      inline adjacency_iterator(OutEdgeIter const& i, const Graph* g) : super_t(i), m_g(g) { }
-
-      inline Vertex
-      dereference() const
-        { return target(*this->base(), *m_g); }
-
-      const Graph* m_g;
-  };
-
-  template <class Graph,
-            class Vertex = typename graph_traits<Graph>::vertex_descriptor,
-            class OutEdgeIter=typename graph_traits<Graph>::out_edge_iterator>
-  class adjacency_iterator_generator
-  {
-    typedef typename boost::detail::iterator_traits<OutEdgeIter>
-      ::difference_type difference_type;
-  public:
-      typedef adjacency_iterator<Graph,Vertex,OutEdgeIter,difference_type> type;
-  };
-
-  template <class Graph, class Vertex, class InEdgeIter, class Difference>
-  struct inv_adjacency_iterator
-    : iterator_adaptor<
-          inv_adjacency_iterator<Graph,Vertex,InEdgeIter,Difference>
-        , InEdgeIter
-        , Vertex
-        , use_default
-        , Vertex
-        , Difference
-      >
-    {
-      typedef iterator_adaptor<
-                  inv_adjacency_iterator<Graph,Vertex,InEdgeIter,Difference>
-                , InEdgeIter
-                , Vertex
-                , use_default
-                , Vertex
-                , Difference
-              > super_t;
-
-      inline inv_adjacency_iterator() { }
-      inline inv_adjacency_iterator(InEdgeIter const& i, const Graph* g) : super_t(i), m_g(g) { }
-
-      inline Vertex
-      dereference() const
-        { return source(*this->base(), *m_g); }
-
-      const Graph* m_g;
-    };
-
-  template <class Graph,
-            class Vertex = typename graph_traits<Graph>::vertex_descriptor,
-            class InEdgeIter = typename graph_traits<Graph>::in_edge_iterator>
-  class inv_adjacency_iterator_generator {
-    typedef typename boost::detail::iterator_traits<InEdgeIter>
-      ::difference_type difference_type;
-  public:
-      typedef inv_adjacency_iterator<Graph, Vertex, InEdgeIter, difference_type> type;
-  };
-
-} // namespace boost
-
-#endif // BOOST_DETAIL_ADJACENCY_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_list.hpp
deleted file mode 100644
index d7fbc06..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_list.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2010 Thomas Claveirole
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Thomas Claveirole
-//
-// Distributed under the 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_GRAPH_ADJACENCY_LIST_HPP
-#define BOOST_GRAPH_ADJACENCY_LIST_HPP
-
-
-#include <boost/config.hpp>
-
-#include <vector>
-#include <list>
-#include <set>
-
-#include <boost/unordered_set.hpp>
-
-#if !defined BOOST_NO_SLIST
-#  ifdef BOOST_SLIST_HEADER
-#    include BOOST_SLIST_HEADER
-#  else
-#    include <slist>
-#  endif
-#endif
-
-#include <boost/scoped_ptr.hpp>
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_mutability_traits.hpp>
-#include <boost/graph/graph_selectors.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/graph/detail/edge.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/named_graph.hpp>
-
-namespace boost {
-
-  //===========================================================================
-  // Selectors for the VertexList and EdgeList template parameters of
-  // adjacency_list, and the container_gen traits class which is used
-  // to map the selectors to the container type used to implement the
-  // graph.
-
-#if !defined BOOST_NO_SLIST
-  struct slistS {};
-#endif
-
-  struct vecS  { };
-  struct listS { };
-  struct setS { };
-  struct mapS  { };
-  struct multisetS { };
-  struct multimapS { };
-  struct hash_setS { };
-  struct hash_mapS { };
-  struct hash_multisetS { };
-  struct hash_multimapS { };
-
-  template <class Selector, class ValueType>
-  struct container_gen { };
-
-  template <class ValueType>
-  struct container_gen<listS, ValueType> {
-    typedef std::list<ValueType> type;
-  };
-#if !defined BOOST_NO_SLIST
-  template <class ValueType>
-  struct container_gen<slistS, ValueType> {
-    typedef BOOST_STD_EXTENSION_NAMESPACE::slist<ValueType> type;
-  };
-#endif
-  template <class ValueType>
-  struct container_gen<vecS, ValueType> {
-    typedef std::vector<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<mapS, ValueType> {
-    typedef std::set<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<setS, ValueType> {
-    typedef std::set<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<multisetS, ValueType> {
-    typedef std::multiset<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<multimapS, ValueType> {
-    typedef std::multiset<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<hash_setS, ValueType> {
-    typedef boost::unordered_set<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<hash_mapS, ValueType> {
-    typedef boost::unordered_set<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<hash_multisetS, ValueType> {
-    typedef boost::unordered_multiset<ValueType> type;
-  };
-
-  template <class ValueType>
-  struct container_gen<hash_multimapS, ValueType> {
-    typedef boost::unordered_multiset<ValueType> type;
-  };
-
-  template <class StorageSelector>
-  struct parallel_edge_traits { };
-
-  template <>
-  struct parallel_edge_traits<vecS> {
-    typedef allow_parallel_edge_tag type; };
-
-  template <>
-  struct parallel_edge_traits<listS> {
-    typedef allow_parallel_edge_tag type; };
-
-#if !defined BOOST_NO_SLIST
-  template <>
-  struct parallel_edge_traits<slistS> {
-    typedef allow_parallel_edge_tag type; };
-#endif
-
-  template <>
-  struct parallel_edge_traits<setS> {
-    typedef disallow_parallel_edge_tag type; };
-
-  template <>
-  struct parallel_edge_traits<multisetS> {
-    typedef allow_parallel_edge_tag type; };
-
-  template <>
-  struct parallel_edge_traits<hash_setS> {
-    typedef disallow_parallel_edge_tag type;
-  };
-
-  // mapS is obsolete, replaced with setS
-  template <>
-  struct parallel_edge_traits<mapS> {
-    typedef disallow_parallel_edge_tag type; };
-
-  template <>
-  struct parallel_edge_traits<hash_mapS> {
-    typedef disallow_parallel_edge_tag type;
-  };
-
-  template <>
-  struct parallel_edge_traits<hash_multisetS> {
-    typedef allow_parallel_edge_tag type;
-  };
-
-  template <>
-  struct parallel_edge_traits<hash_multimapS> {
-    typedef allow_parallel_edge_tag type;
-  };
-
-  namespace detail {
-    template <class Directed> struct is_random_access {
-      enum { value = false};
-      typedef mpl::false_ type;
-    };
-    template <>
-    struct is_random_access<vecS> {
-      enum { value = true };
-      typedef mpl::true_ type;
-    };
-
-  } // namespace detail
-
-  template <typename Selector> struct is_distributed_selector: mpl::false_ {};
-
-
-  //===========================================================================
-  // The adjacency_list_traits class, which provides a way to access
-  // some of the associated types of an adjacency_list type without
-  // having to first create the adjacency_list type. This is useful
-  // when trying to create interior vertex or edge properties who's
-  // value type is a vertex or edge descriptor.
-
-  template <class OutEdgeListS = vecS,
-            class VertexListS = vecS,
-            class DirectedS = directedS,
-            class EdgeListS = listS>
-  struct adjacency_list_traits
-  {
-    typedef typename detail::is_random_access<VertexListS>::type
-      is_rand_access;
-    typedef typename DirectedS::is_bidir_t is_bidir;
-    typedef typename DirectedS::is_directed_t is_directed;
-
-    typedef typename mpl::if_<is_bidir,
-      bidirectional_tag,
-      typename mpl::if_<is_directed,
-        directed_tag, undirected_tag
-      >::type
-    >::type directed_category;
-
-    typedef typename parallel_edge_traits<OutEdgeListS>::type
-      edge_parallel_category;
-
-    typedef std::size_t vertices_size_type;
-    typedef void* vertex_ptr;
-    typedef typename mpl::if_<is_rand_access,
-      vertices_size_type, vertex_ptr>::type vertex_descriptor;
-    typedef detail::edge_desc_impl<directed_category, vertex_descriptor>
-      edge_descriptor;
-
-  private:
-    // Logic to figure out the edges_size_type
-    struct dummy {};
-    typedef typename container_gen<EdgeListS, dummy>::type EdgeContainer;
-    typedef typename DirectedS::is_bidir_t BidirectionalT;
-    typedef typename DirectedS::is_directed_t DirectedT;
-    typedef typename mpl::and_<DirectedT,
-      typename mpl::not_<BidirectionalT>::type >::type on_edge_storage;
-  public:
-    typedef typename mpl::if_<on_edge_storage,
-       std::size_t, typename EdgeContainer::size_type
-    >::type edges_size_type;
-
-  };
-
-} // namespace boost
-
-#include <boost/graph/detail/adjacency_list.hpp>
-
-namespace boost {
-
-  //===========================================================================
-  // The adjacency_list class.
-  //
-
-  template <class OutEdgeListS = vecS, // a Sequence or an AssociativeContainer
-            class VertexListS = vecS, // a Sequence or a RandomAccessContainer
-            class DirectedS = directedS,
-            class VertexProperty = no_property,
-            class EdgeProperty = no_property,
-            class GraphProperty = no_property,
-            class EdgeListS = listS>
-  class adjacency_list
-    : public detail::adj_list_gen<
-      adjacency_list<OutEdgeListS,VertexListS,DirectedS,
-                     VertexProperty,EdgeProperty,GraphProperty,EdgeListS>,
-      VertexListS, OutEdgeListS, DirectedS,
-      VertexProperty, EdgeProperty,
-      GraphProperty, EdgeListS>::type,
-      // Support for named vertices
-      public graph::maybe_named_graph<
-        adjacency_list<OutEdgeListS,VertexListS,DirectedS,
-                       VertexProperty,EdgeProperty,GraphProperty,EdgeListS>,
-        typename adjacency_list_traits<OutEdgeListS, VertexListS, DirectedS,
-                                       EdgeListS>::vertex_descriptor,
-        VertexProperty>
-  {
-      public:
-    typedef GraphProperty graph_property_type;
-    typedef typename lookup_one_property<GraphProperty, graph_bundle_t>::type graph_bundled;
-
-    typedef VertexProperty vertex_property_type;
-    typedef typename lookup_one_property<VertexProperty, vertex_bundle_t>::type vertex_bundled;
-
-    typedef EdgeProperty edge_property_type;
-    typedef typename lookup_one_property<EdgeProperty, edge_bundle_t>::type edge_bundled;
-
-  private:
-    typedef adjacency_list self;
-    typedef typename detail::adj_list_gen<
-      self, VertexListS, OutEdgeListS, DirectedS,
-      vertex_property_type, edge_property_type, GraphProperty, EdgeListS
-    >::type Base;
-
-  public:
-    typedef typename Base::stored_vertex stored_vertex;
-    typedef typename Base::vertices_size_type vertices_size_type;
-    typedef typename Base::edges_size_type edges_size_type;
-    typedef typename Base::degree_size_type degree_size_type;
-    typedef typename Base::vertex_descriptor vertex_descriptor;
-    typedef typename Base::edge_descriptor edge_descriptor;
-    typedef OutEdgeListS out_edge_list_selector;
-    typedef VertexListS vertex_list_selector;
-    typedef DirectedS directed_selector;
-    typedef EdgeListS edge_list_selector;
-
-
-    adjacency_list(const GraphProperty& p = GraphProperty())
-      : m_property(new graph_property_type(p))
-    { }
-
-    adjacency_list(const adjacency_list& x)
-      : Base(x), m_property(new graph_property_type(*x.m_property))
-    { }
-
-    adjacency_list& operator=(const adjacency_list& x) {
-      // TBD: probably should give the strong guarantee
-      if (&x != this) {
-        Base::operator=(x);
-
-        // Copy/swap the ptr since we can't just assign it...
-        property_ptr p(new graph_property_type(*x.m_property));
-        m_property.swap(p);
-      }
-      return *this;
-    }
-
-    // Required by Mutable Graph
-    adjacency_list(vertices_size_type num_vertices,
-                          const GraphProperty& p = GraphProperty())
-      : Base(num_vertices), m_property(new graph_property_type(p))
-    { }
-
-    // Required by Iterator Constructible Graph
-    template <class EdgeIterator>
-    adjacency_list(EdgeIterator first, EdgeIterator last,
-                          vertices_size_type n,
-                          edges_size_type = 0,
-                          const GraphProperty& p = GraphProperty())
-      : Base(n, first, last), m_property(new graph_property_type(p))
-    { }
-
-    template <class EdgeIterator, class EdgePropertyIterator>
-    adjacency_list(EdgeIterator first, EdgeIterator last,
-                          EdgePropertyIterator ep_iter,
-                          vertices_size_type n,
-                          edges_size_type = 0,
-                          const GraphProperty& p = GraphProperty())
-      : Base(n, first, last, ep_iter), m_property(new graph_property_type(p))
-    { }
-
-    void swap(adjacency_list& x) {
-      // Is there a more efficient way to do this?
-      adjacency_list tmp(x);
-      x = *this;
-      *this = tmp;
-    }
-
-    void clear()
-    {
-      this->clearing_graph();
-      Base::clear();
-    }
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    // Directly access a vertex or edge bundle
-    vertex_bundled& operator[](vertex_descriptor v)
-    { return get(vertex_bundle, *this)[v]; }
-
-    const vertex_bundled& operator[](vertex_descriptor v) const
-    { return get(vertex_bundle, *this)[v]; }
-
-    edge_bundled& operator[](edge_descriptor e)
-    { return get(edge_bundle, *this)[e]; }
-
-    const edge_bundled& operator[](edge_descriptor e) const
-    { return get(edge_bundle, *this)[e]; }
-
-    graph_bundled& operator[](graph_bundle_t)
-    { return get_property(*this); }
-
-    graph_bundled const& operator[](graph_bundle_t) const
-    { return get_property(*this); }
-#endif
-
-    //  protected:  (would be protected if friends were more portable)
-    typedef scoped_ptr<graph_property_type> property_ptr;
-    property_ptr  m_property;
-  };
-
-#define ADJLIST_PARAMS \
-    typename OEL, typename VL, typename D, typename VP, typename EP, \
-    typename GP, typename EL
-#define ADJLIST adjacency_list<OEL,VL,D,VP,EP,GP,EL>
-
-  template<ADJLIST_PARAMS, typename Tag, typename Value>
-  inline void set_property(ADJLIST& g, Tag tag, Value const& value) {
-    get_property_value(*g.m_property, tag) = value;
-  }
-
-  template<ADJLIST_PARAMS, typename Tag>
-  inline typename graph_property<ADJLIST, Tag>::type&
-  get_property(ADJLIST& g, Tag tag) {
-    return get_property_value(*g.m_property, tag);
-  }
-
-  template<ADJLIST_PARAMS, typename Tag>
-  inline typename graph_property<ADJLIST, Tag>::type const&
-  get_property(ADJLIST const& g, Tag tag) {
-    return get_property_value(*g.m_property, tag);
-  }
-
-  // dwa 09/25/00 - needed to be more explicit so reverse_graph would work.
-  template <class Directed, class Vertex,
-      class OutEdgeListS,
-      class VertexListS,
-      class DirectedS,
-      class VertexProperty,
-      class EdgeProperty,
-      class GraphProperty, class EdgeListS>
-  inline Vertex
-  source(const detail::edge_base<Directed,Vertex>& e,
-         const adjacency_list<OutEdgeListS, VertexListS, DirectedS,
-                 VertexProperty, EdgeProperty, GraphProperty, EdgeListS>&)
-  {
-    return e.m_source;
-  }
-
-  template <class Directed, class Vertex, class OutEdgeListS,
-      class VertexListS, class DirectedS, class VertexProperty,
-      class EdgeProperty, class GraphProperty, class EdgeListS>
-  inline Vertex
-  target(const detail::edge_base<Directed,Vertex>& e,
-         const adjacency_list<OutEdgeListS, VertexListS, DirectedS,
-              VertexProperty, EdgeProperty, GraphProperty, EdgeListS>&)
-  {
-    return e.m_target;
-  }
-
-// Mutability Traits
-template <ADJLIST_PARAMS>
-struct graph_mutability_traits<ADJLIST> {
-    typedef mutable_property_graph_tag category;
-};
-
-// Can't remove vertices from adjacency lists with VL==vecS
-template <typename OEL, typename D, typename VP, typename EP, typename GP, typename EL>
-struct graph_mutability_traits< adjacency_list<OEL,vecS,D,VP,EP,GP,EL> > {
-    typedef add_only_property_graph_tag category;
-};
-#undef ADJLIST_PARAMS
-#undef ADJLIST
-
-
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_ADJACENCY_LIST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_list_io.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_list_io.hpp
deleted file mode 100644
index aaba8a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_list_io.hpp
+++ /dev/null
@@ -1,406 +0,0 @@
-//=======================================================================
-// Copyright 2001 Universite Joseph Fourier, Grenoble.
-// Author: Francois Faure
-//
-// Distributed under the 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_GRAPH_ADJACENCY_LIST_IO_HPP
-#define BOOST_GRAPH_ADJACENCY_LIST_IO_HPP
-
-#include <iostream>
-#include <vector>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <cctype>
-
-// Method read to parse an adjacency list from an input stream. Examples:
-// cin >> read( G );
-// cin >> read( G, NodePropertySubset(), EdgepropertySubset() );
-//
-// Method write to print an adjacency list to an output stream. Examples:
-// cout << write( G );
-// cout << write( G, NodePropertySubset(), EdgepropertySubset() );
-
-namespace boost {
-
-/* outline
-        - basic property input
-        - get property subset
-        - graph parser
-        - property printer
-        - graph printer
-        - user methods
-*/
-
-//===========================================================================
-// basic property input
-
-template<class Tag, class Value, class Next>
-std::istream& operator >> ( std::istream& in, property<Tag,Value,Next>& p )
-{
-        in >> p.m_value >> p.m_base; // houpla !!
-        return in;
-}
-
-template<class Tag, class Value>
-std::istream& operator >> ( std::istream& in, property<Tag,Value,no_property>& p )
-{
-        in >> p.m_value;
-        return in;
-}
-
-inline std::istream& operator >> ( std::istream& in, no_property& )
-{
-        return in;
-}
-
-// basic property input
-//===========================================================================
-// get property subsets
-
-// get a single property tagged Stag
-template<class Tag, class Value, class Next, class V, class Stag>
-void get
-( property<Tag,Value,Next>& p, const V& v, Stag s )
-{
-        get( p.m_base,v,s );
-}
-
-template<class Value, class Next, class V, class Stag>
-void get
-( property<Stag,Value,Next>& p, const V& v, Stag )
-{
-        p.m_value = v;
-}
-
-// get a subset of properties tagged Stag
-template<class Tag, class Value, class Next, 
-        class Stag, class Svalue, class Snext>
-void getSubset
-( property<Tag,Value,Next>& p, const property<Stag,Svalue,Snext>& s )
-{
-        get( p, s.m_value, Stag() );
-        getSubset( p, s.m_base );
-}
-
-template<class Tag, class Value, class Next, 
-        class Stag, class Svalue>
-void getSubset
-( property<Tag,Value,Next>& p, const property<Stag,Svalue,no_property>& s)
-{
-        get( p, s.m_value, Stag() );
-}
-
-inline void getSubset
-( no_property&, const no_property& )
-{
-}
-
-#if !defined(BOOST_GRAPH_NO_BUNDLED_PROPERTIES)
-template<typename T, typename U>
-void getSubset(T& p, const U& s)
-{
-  p = s;
-}
-
-template<typename T>
-void getSubset(T&, const no_property&)
-{
-}
-
-
-#endif
-
-//  get property subset
-//===========================================================================
-// graph parser
-typedef enum{ PARSE_NUM_NODES, PARSE_VERTEX, PARSE_EDGE } GraphParserState;
-
-template<class Graph_t, class VertexProperty, class EdgeProperty, class VertexPropertySubset,
-class EdgePropertySubset>
-struct GraphParser
-{
-
-        typedef Graph_t Graph;
-        
-        GraphParser( Graph* g ): graph(g)
-        {}      
-        
-        GraphParser& operator () ( std::istream& in )
-        {
-                typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-                std::vector<Vertex> nodes;
-
-                GraphParserState state = PARSE_VERTEX;
-
-                unsigned int numLine = 1;
-                char c;
-                while ( in.get(c) )
-                {
-                        if( c== '#' ) skip(in);
-                        else if( c== 'n' ) state = PARSE_NUM_NODES;
-                        else if( c== 'v' ) state = PARSE_VERTEX;
-                        else if( c== 'e' ) state = PARSE_EDGE;
-                        else if( c== '\n' ) numLine++;
-                        else if( !std::isspace(c) ){
-                                in.putback(c);
-                                if( state == PARSE_VERTEX ){
-                                        VertexPropertySubset readProp;
-                                        if( in >> readProp )
-                                        {
-                                                VertexProperty vp;
-                                                getSubset( vp, readProp );
-                                                nodes.push_back( add_vertex(vp, *graph) );
-                                        }
-                                        else
-                                                std::cerr<<"read vertex, parse error at line"<<numLine<<std::endl;
-                                }
-                                else if( state == PARSE_EDGE ) {
-                                        int source, target;
-                                        EdgePropertySubset readProp;
-                                        in >> source >> target;
-                                        if( in >> readProp ) 
-                                        {
-                                                EdgeProperty ep;
-                                                getSubset( ep, readProp );
-                                                add_edge(nodes[source], nodes[target], ep, *graph);
-                                        }
-                                        else
-                                                std::cerr<<"read edge, parse error at line"<<numLine<<std::endl;
-                                }
-                                else { // state == PARSE_NUM_NODES
-                                        int n;
-                                        if( in >> n ){
-                                                for( int i=0; i<n; ++i )
-                                                        nodes.push_back( add_vertex( *graph ));
-                                        }
-                                        else 
-                                                std::cerr<<"read num_nodes, parse error at line "<< numLine << std::endl;
-                                }
-                        }
-                }
-        return (*this);
-        }
-        
-        
-protected:
-
-        Graph* graph;
-        
-        void skip( std::istream& in )
-        {
-                char c = 0;
-                while( c!='\n' && !in.eof() ) 
-                       in.get(c);
-                in.putback(c);
-        }
-};
-
-// parser
-//=======================================================================
-// property printer
-
-#if defined(BOOST_GRAPH_NO_BUNDLED_PROPERTIES)
-template<class Graph, class Property>
-struct PropertyPrinter
-{
-        typedef typename Property::value_type Value;
-        typedef typename Property::tag_type Tag;
-        typedef typename Property::next_type Next;
-        
-        PropertyPrinter( const Graph& g ):graph(&g){}
-        
-        template<class Val>
-        PropertyPrinter& operator () ( std::ostream& out, const Val& v )
-        {
-                typename property_map<Graph,Tag>::const_type ps = get(Tag(), *graph);
-                out << ps[ v ] <<" ";
-                PropertyPrinter<Graph,Next> print(*graph);
-                print(out, v);
-                return (*this);
-        }
-private:
-        const Graph* graph;
-};
-#else
-template<class Graph, typename Property>
-struct PropertyPrinter
-{
-        PropertyPrinter( const Graph& g ):graph(&g){}
-        
-        template<class Val>
-        PropertyPrinter& operator () ( std::ostream& out, const Val& v )
-        {
-                out << (*graph)[ v ] <<" ";
-                return (*this);
-        }
-private:
-        const Graph* graph;
-};
-
-template<class Graph, typename Tag, typename Value, typename Next>
-struct PropertyPrinter<Graph, property<Tag, Value, Next> >
-{
-        PropertyPrinter( const Graph& g ):graph(&g){}
-        
-        template<class Val>
-        PropertyPrinter& operator () ( std::ostream& out, const Val& v )
-        {
-                typename property_map<Graph,Tag>::const_type ps = get(Tag(), *graph);
-                out << ps[ v ] <<" ";
-                PropertyPrinter<Graph,Next> print(*graph);
-                print(out, v);
-                return (*this);
-        }
-private:
-        const Graph* graph;
-};
-#endif
-
-template<class Graph>
-struct PropertyPrinter<Graph, no_property>
-{
-        PropertyPrinter( const Graph& ){}
-
-        template<class Val>
-        PropertyPrinter& operator () ( std::ostream&, const Val& ){ return *this; }
-};
-
-// property printer
-//=========================================================================
-// graph printer
-
-template<class Graph_t, class EdgeProperty>
-struct EdgePrinter
-{
-
-        typedef Graph_t Graph;
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        
-        EdgePrinter( const Graph& g )
-                : graph(g)
-        {}      
-        
-        const EdgePrinter& operator () ( std::ostream& out ) const
-        {
-                // assign indices to vertices
-                std::map<Vertex,int> indices;
-                int num = 0;
-                BGL_FORALL_VERTICES_T(v, graph, Graph) {
-                        indices[v] = num++;
-                }
-
-                // write edges
-                PropertyPrinter<Graph, EdgeProperty> print_Edge(graph);
-                out << "e" << std::endl;
-                BGL_FORALL_EDGES_T(e, graph, Graph) {
-                        out << indices[source(e,graph)] <<  " " << indices[target(e,graph)] << "  "; 
-                        print_Edge(out,e); 
-                        out << std::endl;
-                }
-                out << std::endl;            
-                return (*this);
-        }
-        
-protected:
-
-        const Graph& graph;
-        
-};
-
-template<class Graph, class V, class E>
-struct GraphPrinter: public EdgePrinter<Graph,E>
-{
-        GraphPrinter( const Graph& g )
-          : EdgePrinter<Graph,E>(g)
-        {}
-        
-        const GraphPrinter& operator () ( std::ostream& out ) const
-        {
-                PropertyPrinter<Graph, V> printNode(this->graph);
-                out << "v"<<std::endl;
-                BGL_FORALL_VERTICES_T(v, this->graph, Graph) {
-                        printNode(out,v); 
-                        out << std::endl;
-                }
-                
-                EdgePrinter<Graph,E>::operator ()( out );
-                return (*this);
-        }
-};
-
-template<class Graph, class E>
-struct GraphPrinter<Graph,no_property,E> 
-  : public EdgePrinter<Graph,E>
-{
-        GraphPrinter( const Graph& g )
-          : EdgePrinter<Graph,E>(g)
-        {}
-        
-        const GraphPrinter& operator () ( std::ostream& out ) const
-        {
-                out << "n "<< num_vertices(this->graph) << std::endl;
-                EdgePrinter<Graph,E>::operator ()( out );
-                return (*this);
-        }
-};
-
-// graph printer
-//=========================================================================
-// user methods
-
-/// input stream for reading a graph
-template<class Graph, class VP, class EP, class VPS, class EPS>
-std::istream& operator >> ( std::istream& in, GraphParser<Graph,VP,EP,VPS,EPS> gp ) 
-{ 
-        gp(in); 
-        return in; 
-}
-
-/// graph parser for given subsets of internal vertex and edge properties
-template<class EL, class VL, class D, class VP, class EP, class GP, class VPS, class EPS>
-GraphParser<adjacency_list<EL,VL,D,VP,EP,GP>,VP,EP,VPS,EPS> 
-read( adjacency_list<EL,VL,D,VP,EP,GP>& g, VPS vps, EPS eps )
-{
-        return GraphParser<adjacency_list<EL,VL,D,VP,EP,GP>,VP,EP,VPS,EPS>(&g);
-}
-
-/// graph parser for all internal vertex and edge properties
-template<class EL, class VL, class D, class VP, class EP, class GP>
-GraphParser<adjacency_list<EL,VL,D,VP,EP,GP>,VP,EP,VP,EP> 
-read( adjacency_list<EL,VL,D,VP,EP,GP>& g )
-{
-        return GraphParser<adjacency_list<EL,VL,D,VP,EP,GP>,VP,EP,VP,EP>(&g);
-}
-
-
-/// output stream for writing a graph
-template<class Graph, class VP, class EP>
-std::ostream& operator << ( std::ostream& out, const GraphPrinter<Graph,VP,EP>& gp ) 
-{ 
-        gp(out); 
-        return out; 
-}
-
-/// write the graph with given property subsets
-template<class EL, class VL, class D, class VP, class EP, class GP, class VPS, class EPS>
-GraphPrinter<adjacency_list<EL,VL,D,VP,EP,GP>,VPS,EPS> 
-write( const adjacency_list<EL,VL,D,VP,EP,GP>& g, VPS, EPS )
-{
-        return GraphPrinter<adjacency_list<EL,VL,D,VP,EP,GP>,VPS,EPS>(g);
-}
-
-/// write the graph with all internal vertex and edge properties
-template<class EL, class VL, class D, class VP, class EP, class GP>
-GraphPrinter<adjacency_list<EL,VL,D,VP,EP,GP>,VP,EP> 
-write( const adjacency_list<EL,VL,D,VP,EP,GP>& g )
-{
-        return GraphPrinter<adjacency_list<EL,VL,D,VP,EP,GP>,VP,EP>(g);
-}
-
-// user methods
-//=========================================================================
-}// boost
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_matrix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_matrix.hpp
deleted file mode 100644
index ade7351..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/adjacency_matrix.hpp
+++ /dev/null
@@ -1,1235 +0,0 @@
-//=======================================================================
-// Copyright 2001 University of Notre Dame.
-// Copyright 2006 Trustees of Indiana University
-// Authors: Jeremy G. Siek and Douglas Gregor <dgregor at cs.indiana.edu>
-//
-// Distributed under the 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_ADJACENCY_MATRIX_HPP
-#define BOOST_ADJACENCY_MATRIX_HPP
-
-#include <boost/config.hpp>
-#include <vector>
-#include <memory>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/iterator.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_mutability_traits.hpp>
-#include <boost/graph/graph_selectors.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/graph/adjacency_iterator.hpp>
-#include <boost/graph/detail/edge.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/filter_iterator.hpp>
-#include <boost/range/irange.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/transform_value_property_map.hpp>
-#include <boost/property_map/function_property_map.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    template <class Directed, class Vertex>
-    class matrix_edge_desc_impl : public edge_desc_impl<Directed,Vertex>
-    {
-      typedef edge_desc_impl<Directed,Vertex> Base;
-    public:
-      matrix_edge_desc_impl() { }
-      matrix_edge_desc_impl(bool exists, Vertex s, Vertex d,
-                            const void* ep = 0)
-        : Base(s, d, ep), m_exists(exists) { }
-      bool exists() const { return m_exists; }
-    private:
-      bool m_exists;
-    };
-
-    struct does_edge_exist {
-      template <class Edge>
-      bool operator()(const Edge& e) const { return e.exists(); }
-    };
-
-    // Note to self... The int for get_edge_exists and set_edge exist helps
-    // make these calls unambiguous.
-    template <typename EdgeProperty>
-    bool get_edge_exists(const std::pair<bool, EdgeProperty>& stored_edge, int) {
-      return stored_edge.first;
-    }
-    template <typename EdgeProperty>
-    void set_edge_exists(
-        std::pair<bool, EdgeProperty>& stored_edge,
-        bool flag,
-        int
-        ) {
-      stored_edge.first = flag;
-    }
-
-    template <typename EdgeProxy>
-    bool get_edge_exists(const EdgeProxy& edge_proxy, ...) {
-      return edge_proxy;
-    }
-    template <typename EdgeProxy>
-    EdgeProxy& set_edge_exists(EdgeProxy& edge_proxy, bool flag, ...) {
-      edge_proxy = flag;
-      return edge_proxy; // just to avoid never used warning
-    }
-
-
-    // NOTE: These functions collide with the get_property function for
-    // accessing bundled graph properties. Be excplicit when using them.
-    template <typename EdgeProperty>
-    const EdgeProperty&
-    get_edge_property(const std::pair<bool, EdgeProperty>& stored_edge) {
-      return stored_edge.second;
-    }
-    template <typename EdgeProperty>
-    EdgeProperty&
-    get_edge_property(std::pair<bool, EdgeProperty>& stored_edge) {
-      return stored_edge.second;
-    }
-
-    template <typename StoredEdgeProperty, typename EdgeProperty>
-    inline void
-    set_edge_property(std::pair<bool, StoredEdgeProperty>& stored_edge,
-                      const EdgeProperty& ep, int) {
-      stored_edge.second = ep;
-    }
-
-    inline const no_property& get_edge_property(const char&) {
-      static no_property s_prop;
-      return s_prop;
-    }
-    inline no_property& get_edge_property(char&) {
-      static no_property s_prop;
-      return s_prop;
-    }
-    template <typename EdgeProxy, typename EdgeProperty>
-    inline void set_edge_property(EdgeProxy, const EdgeProperty&, ...) {}
-
-    //=======================================================================
-    // Directed Out Edge Iterator
-
-    template <
-        typename VertexDescriptor, typename MatrixIter
-      , typename VerticesSizeType, typename EdgeDescriptor
-    >
-    struct dir_adj_matrix_out_edge_iter
-      : iterator_adaptor<
-            dir_adj_matrix_out_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        >
-    {
-        typedef iterator_adaptor<
-            dir_adj_matrix_out_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        > super_t;
-
-        dir_adj_matrix_out_edge_iter() { }
-
-        dir_adj_matrix_out_edge_iter(
-            const MatrixIter& i
-          , const VertexDescriptor& src
-          , const VerticesSizeType& n
-           )
-            : super_t(i), m_src(src), m_targ(0), m_n(n)
-        { }
-
-        void increment() {
-            ++this->base_reference();
-            ++m_targ;
-        }
-
-        inline EdgeDescriptor
-        dereference() const
-        {
-            return EdgeDescriptor(get_edge_exists(*this->base(), 0),
-                                  m_src, m_targ,
-                                  &get_edge_property(*this->base()));
-        }
-        VertexDescriptor m_src, m_targ;
-        VerticesSizeType m_n;
-    };
-
-    //=======================================================================
-    // Directed In Edge Iterator
-
-    template <
-        typename VertexDescriptor, typename MatrixIter
-      , typename VerticesSizeType, typename EdgeDescriptor
-    >
-    struct dir_adj_matrix_in_edge_iter
-      : iterator_adaptor<
-            dir_adj_matrix_in_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        >
-    {
-        typedef iterator_adaptor<
-            dir_adj_matrix_in_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        > super_t;
-
-        dir_adj_matrix_in_edge_iter() { }
-
-        dir_adj_matrix_in_edge_iter(
-            const MatrixIter& i
-          , const MatrixIter& last
-          , const VertexDescriptor& tgt
-          , const VerticesSizeType& n
-           )
-          : super_t(i), m_last(last), m_src(0), m_targ(tgt), m_n(n)
-        { }
-
-        void increment() {
-          if (VerticesSizeType(m_last - this->base_reference()) >= m_n) {
-            this->base_reference() += m_n;
-            ++m_src;
-          } else {
-            this->base_reference() = m_last;
-          }
-        }
-
-        inline EdgeDescriptor
-        dereference() const
-        {
-            return EdgeDescriptor(get_edge_exists(*this->base(), 0),
-                                  m_src, m_targ,
-                                  &get_edge_property(*this->base()));
-        }
-        MatrixIter m_last;
-        VertexDescriptor m_src, m_targ;
-        VerticesSizeType m_n;
-    };
-
-    //=======================================================================
-    // Undirected Out Edge Iterator
-
-    template <
-        typename VertexDescriptor, typename MatrixIter
-      , typename VerticesSizeType, typename EdgeDescriptor
-    >
-    struct undir_adj_matrix_out_edge_iter
-      : iterator_adaptor<
-            undir_adj_matrix_out_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        >
-    {
-        typedef iterator_adaptor<
-            undir_adj_matrix_out_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        > super_t;
-
-        undir_adj_matrix_out_edge_iter() { }
-
-        undir_adj_matrix_out_edge_iter(
-            const MatrixIter& i
-          , const VertexDescriptor& src
-          , const VerticesSizeType& n
-        )
-          : super_t(i), m_src(src), m_inc(src), m_targ(0), m_n(n)
-        {}
-
-        void increment()
-        {
-            if (m_targ < m_src)     // first half
-            {
-                ++this->base_reference();
-            }
-            else if (m_targ < m_n - 1)
-            {                  // second half
-                ++m_inc;
-                this->base_reference() += m_inc;
-            }
-            else
-            {                  // past-the-end
-                this->base_reference() += m_n - m_src;
-            }
-            ++m_targ;
-        }
-
-        inline EdgeDescriptor
-        dereference() const
-        {
-            return EdgeDescriptor(get_edge_exists(*this->base(), 0),
-                                  m_src, m_targ,
-                                  &get_edge_property(*this->base()));
-        }
-
-        VertexDescriptor m_src, m_inc, m_targ;
-        VerticesSizeType m_n;
-    };
-
-    //=======================================================================
-    // Undirected In Edge Iterator
-
-    template <
-        typename VertexDescriptor, typename MatrixIter
-      , typename VerticesSizeType, typename EdgeDescriptor
-    >
-    struct undir_adj_matrix_in_edge_iter
-      : iterator_adaptor<
-            undir_adj_matrix_in_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        >
-    {
-        typedef iterator_adaptor<
-            undir_adj_matrix_in_edge_iter<VertexDescriptor, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        > super_t;
-
-        undir_adj_matrix_in_edge_iter() { }
-
-        undir_adj_matrix_in_edge_iter(
-            const MatrixIter& i
-          , const VertexDescriptor& src
-          , const VerticesSizeType& n
-        )
-          : super_t(i), m_src(src), m_inc(src), m_targ(0), m_n(n)
-        {}
-
-        void increment()
-        {
-            if (m_targ < m_src)     // first half
-            {
-                ++this->base_reference();
-            }
-            else if (m_targ < m_n - 1)
-            {                  // second half
-                ++m_inc;
-                this->base_reference() += m_inc;
-            }
-            else
-            {                  // past-the-end
-                this->base_reference() += m_n - m_src;
-            }
-            ++m_targ;
-        }
-
-        inline EdgeDescriptor
-        dereference() const
-        {
-            return EdgeDescriptor(get_edge_exists(*this->base(), 0),
-                                  m_targ, m_src,
-                                  &get_edge_property(*this->base()));
-        }
-
-        VertexDescriptor m_src, m_inc, m_targ;
-        VerticesSizeType m_n;
-    };
-
-    //=======================================================================
-    // Edge Iterator
-
-    template <typename Directed, typename MatrixIter,
-              typename VerticesSizeType, typename EdgeDescriptor>
-    struct adj_matrix_edge_iter
-      : iterator_adaptor<
-            adj_matrix_edge_iter<Directed, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        >
-    {
-        typedef iterator_adaptor<
-            adj_matrix_edge_iter<Directed, MatrixIter,  VerticesSizeType, EdgeDescriptor>
-          , MatrixIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , std::ptrdiff_t
-        > super_t;
-
-        adj_matrix_edge_iter() { }
-
-        adj_matrix_edge_iter(const MatrixIter& i, const MatrixIter& start, const VerticesSizeType& n)
-            : super_t(i), m_start(start), m_src(0), m_targ(0), m_n(n) { }
-
-        void increment()
-        {
-            increment_dispatch(this->base_reference(), Directed());
-        }
-
-        void increment_dispatch(MatrixIter& i, directedS)
-        {
-            ++i;
-            if (m_targ == m_n - 1)
-            {
-                m_targ = 0;
-                ++m_src;
-            }
-            else
-            {
-                ++m_targ;
-            }
-        }
-
-        void increment_dispatch(MatrixIter& i, undirectedS)
-        {
-            ++i;
-            if (m_targ == m_src)
-            {
-                m_targ = 0;
-                ++m_src;
-            }
-            else
-            {
-                ++m_targ;
-            }
-        }
-
-        inline EdgeDescriptor
-        dereference() const
-        {
-            return EdgeDescriptor(get_edge_exists(*this->base(), 0),
-                                  m_src, m_targ,
-                                  &get_edge_property(*this->base()));
-        }
-
-        MatrixIter m_start;
-        VerticesSizeType m_src, m_targ, m_n;
-    };
-
-  } // namespace detail
-
-  //=========================================================================
-  // Adjacency Matrix Traits
-  template <typename Directed = directedS>
-  class adjacency_matrix_traits {
-    typedef typename Directed::is_directed_t is_directed;
-  public:
-    // The bidirectionalS tag is not allowed with the adjacency_matrix
-    // graph type. Instead, use directedS, which also provides the
-    // functionality required for a Bidirectional Graph (in_edges,
-    // in_degree, etc.).
-    BOOST_STATIC_ASSERT(!(is_same<Directed, bidirectionalS>::value));
-
-    typedef typename mpl::if_<is_directed,
-                                    bidirectional_tag, undirected_tag>::type
-      directed_category;
-
-    typedef disallow_parallel_edge_tag edge_parallel_category;
-
-    typedef std::size_t vertex_descriptor;
-
-    typedef detail::matrix_edge_desc_impl<directed_category,
-      vertex_descriptor> edge_descriptor;
-  };
-
-  struct adjacency_matrix_class_tag { };
-
-  struct adj_matrix_traversal_tag :
-    public virtual adjacency_matrix_tag,
-    public virtual vertex_list_graph_tag,
-    public virtual incidence_graph_tag,
-    public virtual adjacency_graph_tag,
-    public virtual edge_list_graph_tag { };
-
-  //=========================================================================
-  // Adjacency Matrix Class
-  template <typename Directed = directedS,
-            typename VertexProperty = no_property,
-            typename EdgeProperty = no_property,
-            typename GraphProperty = no_property,
-            typename Allocator = std::allocator<bool> >
-  class adjacency_matrix {
-    typedef adjacency_matrix self;
-    typedef adjacency_matrix_traits<Directed> Traits;
-
-  public:
-    // The bidirectionalS tag is not allowed with the adjacency_matrix
-    // graph type. Instead, use directedS, which also provides the
-    // functionality required for a Bidirectional Graph (in_edges,
-    // in_degree, etc.).
-    BOOST_STATIC_ASSERT(!(is_same<Directed, bidirectionalS>::value));
-
-    typedef GraphProperty graph_property_type;
-    typedef typename lookup_one_property<GraphProperty, graph_bundle_t>::type graph_bundled;
-
-    typedef VertexProperty vertex_property_type;
-    typedef typename lookup_one_property<VertexProperty, vertex_bundle_t>::type vertex_bundled;
-
-    typedef EdgeProperty edge_property_type;
-    typedef typename lookup_one_property<EdgeProperty, edge_bundle_t>::type edge_bundled;
-
-  public: // should be private
-    typedef typename mpl::if_<typename has_property<edge_property_type>::type,
-      std::pair<bool, edge_property_type>, char>::type StoredEdge;
-#if defined(BOOST_NO_STD_ALLOCATOR)
-    typedef std::vector<StoredEdge> Matrix;
-#else
-    typedef typename Allocator::template rebind<StoredEdge>::other Alloc;
-    typedef std::vector<StoredEdge, Alloc> Matrix;
-#endif
-    typedef typename Matrix::iterator MatrixIter;
-    typedef typename Matrix::size_type size_type;
-  public:
-    // Graph concept required types
-    typedef typename Traits::vertex_descriptor vertex_descriptor;
-    typedef typename Traits::edge_descriptor edge_descriptor;
-    typedef typename Traits::directed_category directed_category;
-    typedef typename Traits::edge_parallel_category edge_parallel_category;
-    typedef adj_matrix_traversal_tag traversal_category;
-
-    static vertex_descriptor null_vertex()
-    {
-      return (std::numeric_limits<vertex_descriptor>::max)();
-    }
-
-    //private: if friends worked, these would be private
-
-    typedef detail::dir_adj_matrix_out_edge_iter<
-        vertex_descriptor, MatrixIter, size_type, edge_descriptor
-    > DirOutEdgeIter;
-
-    typedef detail::undir_adj_matrix_out_edge_iter<
-        vertex_descriptor, MatrixIter, size_type, edge_descriptor
-    > UnDirOutEdgeIter;
-
-    typedef typename mpl::if_<
-        typename Directed::is_directed_t, DirOutEdgeIter, UnDirOutEdgeIter
-    >::type unfiltered_out_edge_iter;
-
-    typedef detail::dir_adj_matrix_in_edge_iter<
-        vertex_descriptor, MatrixIter, size_type, edge_descriptor
-    > DirInEdgeIter;
-
-    typedef detail::undir_adj_matrix_in_edge_iter<
-        vertex_descriptor, MatrixIter, size_type, edge_descriptor
-    > UnDirInEdgeIter;
-
-    typedef typename mpl::if_<
-        typename Directed::is_directed_t, DirInEdgeIter, UnDirInEdgeIter
-    >::type unfiltered_in_edge_iter;
-
-    typedef detail::adj_matrix_edge_iter<
-        Directed, MatrixIter, size_type, edge_descriptor
-    > unfiltered_edge_iter;
-
-  public:
-
-    // IncidenceGraph concept required types
-    typedef filter_iterator<detail::does_edge_exist, unfiltered_out_edge_iter>
-      out_edge_iterator;
-
-    typedef size_type degree_size_type;
-
-    // BidirectionalGraph required types
-    typedef filter_iterator<detail::does_edge_exist, unfiltered_in_edge_iter>
-      in_edge_iterator;
-
-    // AdjacencyGraph required types
-     typedef typename adjacency_iterator_generator<self,
-       vertex_descriptor, out_edge_iterator>::type adjacency_iterator;
-
-    // VertexListGraph required types
-    typedef size_type vertices_size_type;
-    typedef integer_range<vertex_descriptor> VertexList;
-    typedef typename VertexList::iterator vertex_iterator;
-
-    // EdgeListGraph required types
-    typedef size_type edges_size_type;
-    typedef filter_iterator<
-        detail::does_edge_exist, unfiltered_edge_iter
-    > edge_iterator;
-
-    // PropertyGraph required types
-    typedef adjacency_matrix_class_tag graph_tag;
-
-    // Constructor required by MutableGraph
-    adjacency_matrix(vertices_size_type n_vertices,
-                     const GraphProperty& p = GraphProperty())
-      : m_matrix(Directed::is_directed ?
-                 (n_vertices * n_vertices)
-                 : (n_vertices * (n_vertices + 1) / 2)),
-      m_vertex_set(0, n_vertices),
-      m_vertex_properties(n_vertices),
-      m_num_edges(0),
-      m_property(p) { }
-
-    template <typename EdgeIterator>
-    adjacency_matrix(EdgeIterator first,
-                     EdgeIterator last,
-                     vertices_size_type n_vertices,
-                     const GraphProperty& p = GraphProperty())
-      : m_matrix(Directed::is_directed ?
-                 (n_vertices * n_vertices)
-                 : (n_vertices * (n_vertices + 1) / 2)),
-      m_vertex_set(0, n_vertices),
-      m_vertex_properties(n_vertices),
-      m_num_edges(0),
-      m_property(p)
-    {
-      for (; first != last; ++first) {
-        add_edge(first->first, first->second, *this);
-      }
-    }
-
-    template <typename EdgeIterator, typename EdgePropertyIterator>
-    adjacency_matrix(EdgeIterator first,
-                     EdgeIterator last,
-                     EdgePropertyIterator ep_iter,
-                     vertices_size_type n_vertices,
-                     const GraphProperty& p = GraphProperty())
-      : m_matrix(Directed::is_directed ?
-                 (n_vertices * n_vertices)
-                 : (n_vertices * (n_vertices + 1) / 2)),
-      m_vertex_set(0, n_vertices),
-      m_vertex_properties(n_vertices),
-      m_num_edges(0),
-      m_property(p)
-    {
-      for (; first != last; ++first, ++ep_iter) {
-        add_edge(first->first, first->second, *ep_iter, *this);
-      }
-    }
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    // Directly access a vertex or edge bundle
-    vertex_bundled& operator[](vertex_descriptor v)
-    { return get(vertex_bundle, *this, v); }
-
-    const vertex_bundled& operator[](vertex_descriptor v) const
-    { return get(vertex_bundle, *this, v); }
-
-    edge_bundled& operator[](edge_descriptor e)
-    { return get(edge_bundle, *this, e); }
-
-    const edge_bundled& operator[](edge_descriptor e) const
-    { return get(edge_bundle, *this, e); }
-
-    graph_bundled& operator[](graph_bundle_t)
-    { return get_property(*this); }
-
-    const graph_bundled& operator[](graph_bundle_t) const
-    { return get_property(*this); }
-#endif
-
-    //private: if friends worked, these would be private
-
-    typename Matrix::const_reference
-    get_edge(vertex_descriptor u, vertex_descriptor v) const {
-      if (Directed::is_directed)
-        return m_matrix[u * m_vertex_set.size() + v];
-      else {
-        if (v > u)
-          std::swap(u, v);
-        return m_matrix[u * (u + 1)/2 + v];
-      }
-    }
-    typename Matrix::reference
-    get_edge(vertex_descriptor u, vertex_descriptor v) {
-      if (Directed::is_directed)
-        return m_matrix[u * m_vertex_set.size() + v];
-      else {
-        if (v > u)
-          std::swap(u, v);
-        return m_matrix[u * (u + 1)/2 + v];
-      }
-    }
-
-    Matrix m_matrix;
-    VertexList m_vertex_set;
-    std::vector<vertex_property_type> m_vertex_properties;
-    size_type m_num_edges;
-    graph_property_type m_property;
-  };
-
-  //=========================================================================
-  // Functions required by the AdjacencyMatrix concept
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<D,VP,EP,GP,A>::edge_descriptor,
-            bool>
-  edge(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-       typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor v,
-       const adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    bool exists = detail::get_edge_exists(g.get_edge(u,v), 0);
-    typename adjacency_matrix<D,VP,EP,GP,A>::edge_descriptor
-      e(exists, u, v, &detail::get_edge_property(g.get_edge(u,v)));
-    return std::make_pair(e, exists);
-  }
-
-  //=========================================================================
-  // Functions required by the IncidenceGraph concept
-
-  // O(1)
-  template <typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<directedS,VP,EP,GP,A>::out_edge_iterator,
-            typename adjacency_matrix<directedS,VP,EP,GP,A>::out_edge_iterator>
-  out_edges
-    (typename adjacency_matrix<directedS,VP,EP,GP,A>::vertex_descriptor u,
-     const adjacency_matrix<directedS,VP,EP,GP,A>& g_)
-  {
-    typedef adjacency_matrix<directedS,VP,EP,GP,A> Graph;
-    Graph& g = const_cast<Graph&>(g_);
-    typename Graph::vertices_size_type offset = u * g.m_vertex_set.size();
-    typename Graph::MatrixIter f = g.m_matrix.begin() + offset;
-    typename Graph::MatrixIter l = f + g.m_vertex_set.size();
-    typename Graph::unfiltered_out_edge_iter
-          first(f, u, g.m_vertex_set.size())
-        , last(l, u, g.m_vertex_set.size());
-    detail::does_edge_exist pred;
-    typedef typename Graph::out_edge_iterator out_edge_iterator;
-    return std::make_pair(out_edge_iterator(pred, first, last),
-                          out_edge_iterator(pred, last, last));
-  }
-
-  // O(1)
-  template <typename VP, typename EP, typename GP, typename A>
-  std::pair<
-    typename adjacency_matrix<undirectedS,VP,EP,GP,A>::out_edge_iterator,
-    typename adjacency_matrix<undirectedS,VP,EP,GP,A>::out_edge_iterator>
-  out_edges
-    (typename adjacency_matrix<undirectedS,VP,EP,GP,A>::vertex_descriptor u,
-     const adjacency_matrix<undirectedS,VP,EP,GP,A>& g_)
-  {
-    typedef adjacency_matrix<undirectedS,VP,EP,GP,A> Graph;
-    Graph& g = const_cast<Graph&>(g_);
-    typename Graph::vertices_size_type offset = u * (u + 1) / 2;
-    typename Graph::MatrixIter f = g.m_matrix.begin() + offset;
-    typename Graph::MatrixIter l = g.m_matrix.end();
-
-    typename Graph::unfiltered_out_edge_iter
-        first(f, u, g.m_vertex_set.size())
-      , last(l, u, g.m_vertex_set.size());
-
-    detail::does_edge_exist pred;
-    typedef typename Graph::out_edge_iterator out_edge_iterator;
-    return std::make_pair(out_edge_iterator(pred, first, last),
-                          out_edge_iterator(pred, last, last));
-  }
-
-  // O(N)
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D,VP,EP,GP,A>::degree_size_type
-  out_degree(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-             const adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    typename adjacency_matrix<D,VP,EP,GP,A>::degree_size_type n = 0;
-    typename adjacency_matrix<D,VP,EP,GP,A>::out_edge_iterator f, l;
-    for (boost::tie(f, l) = out_edges(u, g); f != l; ++f)
-      ++n;
-    return n;
-  }
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-    typename Dir, typename Vertex>
-  typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor
-  source(const detail::matrix_edge_desc_impl<Dir,Vertex>& e,
-         const adjacency_matrix<D,VP,EP,GP,A>&)
-  {
-    return e.m_source;
-  }
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-    typename Dir, typename Vertex>
-  typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor
-  target(const detail::matrix_edge_desc_impl<Dir,Vertex>& e,
-         const adjacency_matrix<D,VP,EP,GP,A>&)
-  {
-    return e.m_target;
-  }
-
-  //=========================================================================
-  // Functions required by the BidirectionalGraph concept
-
-  // O(1)
-  template <typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<directedS,VP,EP,GP,A>::in_edge_iterator,
-            typename adjacency_matrix<directedS,VP,EP,GP,A>::in_edge_iterator>
-  in_edges
-    (typename adjacency_matrix<directedS,VP,EP,GP,A>::vertex_descriptor u,
-     const adjacency_matrix<directedS,VP,EP,GP,A>& g_)
-  {
-    typedef adjacency_matrix<directedS,VP,EP,GP,A> Graph;
-    Graph& g = const_cast<Graph&>(g_);
-    typename Graph::MatrixIter f = g.m_matrix.begin() + u;
-    typename Graph::MatrixIter l = g.m_matrix.end();
-    typename Graph::unfiltered_in_edge_iter
-        first(f, l, u, g.m_vertex_set.size())
-      , last(l, l, u, g.m_vertex_set.size());
-    detail::does_edge_exist pred;
-    typedef typename Graph::in_edge_iterator in_edge_iterator;
-    return std::make_pair(in_edge_iterator(pred, first, last),
-                          in_edge_iterator(pred, last, last));
-  }
-
-  // O(1)
-  template <typename VP, typename EP, typename GP, typename A>
-  std::pair<
-    typename adjacency_matrix<undirectedS,VP,EP,GP,A>::in_edge_iterator,
-    typename adjacency_matrix<undirectedS,VP,EP,GP,A>::in_edge_iterator>
-  in_edges
-    (typename adjacency_matrix<undirectedS,VP,EP,GP,A>::vertex_descriptor u,
-     const adjacency_matrix<undirectedS,VP,EP,GP,A>& g_)
-  {
-    typedef adjacency_matrix<undirectedS,VP,EP,GP,A> Graph;
-    Graph& g = const_cast<Graph&>(g_);
-    typename Graph::vertices_size_type offset = u * (u + 1) / 2;
-    typename Graph::MatrixIter f = g.m_matrix.begin() + offset;
-    typename Graph::MatrixIter l = g.m_matrix.end();
-
-    typename Graph::unfiltered_in_edge_iter
-        first(f, u, g.m_vertex_set.size())
-      , last(l, u, g.m_vertex_set.size());
-
-    detail::does_edge_exist pred;
-    typedef typename Graph::in_edge_iterator in_edge_iterator;
-    return std::make_pair(in_edge_iterator(pred, first, last),
-                          in_edge_iterator(pred, last, last));
-  }
-
-  // O(N)
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D,VP,EP,GP,A>::degree_size_type
-  in_degree(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-             const adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    typename adjacency_matrix<D,VP,EP,GP,A>::degree_size_type n = 0;
-    typename adjacency_matrix<D,VP,EP,GP,A>::in_edge_iterator f, l;
-    for (boost::tie(f, l) = in_edges(u, g); f != l; ++f)
-      ++n;
-    return n;
-  }
-
-  //=========================================================================
-  // Functions required by the AdjacencyGraph concept
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<D,VP,EP,GP,A>::adjacency_iterator,
-            typename adjacency_matrix<D,VP,EP,GP,A>::adjacency_iterator>
-  adjacent_vertices
-    (typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-     const adjacency_matrix<D,VP,EP,GP,A>& g_)
-  {
-      typedef adjacency_matrix<D,VP,EP,GP,A> Graph;
-      const Graph& cg = static_cast<const Graph&>(g_);
-      Graph& g = const_cast<Graph&>(cg);
-      typedef typename Graph::adjacency_iterator adjacency_iterator;
-      typename Graph::out_edge_iterator first, last;
-      boost::tie(first, last) = out_edges(u, g);
-      return std::make_pair(adjacency_iterator(first, &g),
-                            adjacency_iterator(last, &g));
-  }
-
-  //=========================================================================
-  // Functions required by the VertexListGraph concept
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<D,VP,EP,GP,A>::vertex_iterator,
-            typename adjacency_matrix<D,VP,EP,GP,A>::vertex_iterator>
-  vertices(const adjacency_matrix<D,VP,EP,GP,A>& g_) {
-    typedef adjacency_matrix<D,VP,EP,GP,A> Graph;
-    Graph& g = const_cast<Graph&>(g_);
-    return std::make_pair(g.m_vertex_set.begin(), g.m_vertex_set.end());
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D,VP,EP,GP,A>::vertices_size_type
-  num_vertices(const adjacency_matrix<D,VP,EP,GP,A>& g) {
-    return g.m_vertex_set.size();
-  }
-
-  //=========================================================================
-  // Functions required by the EdgeListGraph concept
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<D,VP,EP,GP,A>::edge_iterator,
-            typename adjacency_matrix<D,VP,EP,GP,A>::edge_iterator>
-  edges(const adjacency_matrix<D,VP,EP,GP,A>& g_)
-  {
-    typedef adjacency_matrix<D,VP,EP,GP,A> Graph;
-    Graph& g = const_cast<Graph&>(g_);
-
-    typename Graph::unfiltered_edge_iter
-      first(g.m_matrix.begin(), g.m_matrix.begin(),
-                                    g.m_vertex_set.size()),
-      last(g.m_matrix.end(), g.m_matrix.begin(),
-                                    g.m_vertex_set.size());
-    detail::does_edge_exist pred;
-    typedef typename Graph::edge_iterator edge_iterator;
-    return std::make_pair(edge_iterator(pred, first, last),
-                          edge_iterator(pred, last, last));
-  }
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D,VP,EP,GP,A>::edges_size_type
-  num_edges(const adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    return g.m_num_edges;
-  }
-
-  //=========================================================================
-  // Functions required by the MutableGraph concept
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename EP2>
-  std::pair<typename adjacency_matrix<D,VP,EP,GP,A>::edge_descriptor, bool>
-  add_edge(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-           typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor v,
-           const EP2& ep,
-           adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    typedef typename adjacency_matrix<D,VP,EP,GP,A>::edge_descriptor
-      edge_descriptor;
-    if (detail::get_edge_exists(g.get_edge(u,v), 0) == false) {
-      ++(g.m_num_edges);
-      detail::set_edge_property(g.get_edge(u,v), EP(ep), 0);
-      detail::set_edge_exists(g.get_edge(u,v), true, 0);
-      return std::make_pair
-        (edge_descriptor(true, u, v, &detail::get_edge_property(g.get_edge(u,v))),
-         true);
-    } else
-      return std::make_pair
-        (edge_descriptor(true, u, v, &detail::get_edge_property(g.get_edge(u,v))),
-         false);
-  }
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  std::pair<typename adjacency_matrix<D,VP,EP,GP,A>::edge_descriptor, bool>
-  add_edge(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-           typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor v,
-           adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    EP ep;
-    return add_edge(u, v, ep, g);
-  }
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  void
-  remove_edge(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u,
-              typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor v,
-              adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    // Don'remove the edge unless it already exists.
-    if(detail::get_edge_exists(g.get_edge(u,v), 0)) {
-      --(g.m_num_edges);
-      detail::set_edge_exists(g.get_edge(u,v), false, 0);
-    }
-  }
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  void
-  remove_edge(typename adjacency_matrix<D,VP,EP,GP,A>::edge_descriptor e,
-              adjacency_matrix<D,VP,EP,GP,A>& g)
-  {
-    remove_edge(source(e, g), target(e, g), g);
-  }
-
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  inline typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor
-  add_vertex(adjacency_matrix<D,VP,EP,GP,A>& g) {
-    // UNDER CONSTRUCTION
-    BOOST_ASSERT(false);
-    return *vertices(g).first;
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename VP2>
-  inline typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor
-  add_vertex(const VP2& /*vp*/, adjacency_matrix<D,VP,EP,GP,A>& g) {
-    // UNDER CONSTRUCTION
-    BOOST_ASSERT(false);
-    return *vertices(g).first;
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  inline void
-  remove_vertex(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor /*u*/,
-                adjacency_matrix<D,VP,EP,GP,A>& /*g*/)
-  {
-    // UNDER CONSTRUCTION
-    BOOST_ASSERT(false);
-  }
-
-  // O(V)
-  template <typename VP, typename EP, typename GP, typename A>
-  void
-  clear_vertex
-    (typename adjacency_matrix<directedS,VP,EP,GP,A>::vertex_descriptor u,
-     adjacency_matrix<directedS,VP,EP,GP,A>& g)
-  {
-    typename adjacency_matrix<directedS,VP,EP,GP,A>::vertex_iterator
-      vi, vi_end;
-    for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-      remove_edge(u, *vi, g);
-    for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-      remove_edge(*vi, u, g);
-  }
-
-  // O(V)
-  template <typename VP, typename EP, typename GP, typename A>
-  void
-  clear_vertex
-    (typename adjacency_matrix<undirectedS,VP,EP,GP,A>::vertex_descriptor u,
-     adjacency_matrix<undirectedS,VP,EP,GP,A>& g)
-  {
-    typename adjacency_matrix<undirectedS,VP,EP,GP,A>::vertex_iterator
-      vi, vi_end;
-    for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-      remove_edge(u, *vi, g);
-  }
-
-  //=========================================================================
-  // Functions required by the PropertyGraph concept
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Prop, typename Kind>
-  struct adj_mat_pm_helper;
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Prop>
-  struct adj_mat_pm_helper<D, VP, EP, GP, A, Prop, vertex_property_tag> {
-    typedef typename graph_traits<adjacency_matrix<D, VP, EP, GP, A> >::vertex_descriptor arg_type;
-    typedef typed_identity_property_map<arg_type> vi_map_type;
-    typedef iterator_property_map<typename std::vector<VP>::iterator, vi_map_type> all_map_type;
-    typedef iterator_property_map<typename std::vector<VP>::const_iterator, vi_map_type> all_map_const_type;
-    typedef transform_value_property_map<
-              detail::lookup_one_property_f<VP, Prop>,
-              all_map_type>
-      type;
-    typedef transform_value_property_map<
-              detail::lookup_one_property_f<const VP, Prop>,
-              all_map_const_type>
-      const_type;
-    typedef typename property_traits<type>::reference single_nonconst_type;
-    typedef typename property_traits<const_type>::reference single_const_type;
-
-    static type get_nonconst(adjacency_matrix<D, VP, EP, GP, A>& g, Prop prop) {
-      return type(prop, all_map_type(g.m_vertex_properties.begin(), vi_map_type()));
-    }
-
-    static const_type get_const(const adjacency_matrix<D, VP, EP, GP, A>& g, Prop prop) {
-      return const_type(prop, all_map_const_type(g.m_vertex_properties.begin(), vi_map_type()));
-    }
-
-    static single_nonconst_type get_nonconst_one(adjacency_matrix<D, VP, EP, GP, A>& g, Prop prop, arg_type v) {
-      return lookup_one_property<VP, Prop>::lookup(g.m_vertex_properties[v], prop);
-    }
-
-    static single_const_type get_const_one(const adjacency_matrix<D, VP, EP, GP, A>& g, Prop prop, arg_type v) {
-      return lookup_one_property<const VP, Prop>::lookup(g.m_vertex_properties[v], prop);
-    }
-  };
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  struct adj_mat_pm_helper<D, VP, EP, GP, A, Tag, edge_property_tag> {
-    typedef typename graph_traits<adjacency_matrix<D, VP, EP, GP, A> >::edge_descriptor edge_descriptor;
-
-    template <typename IsConst>
-    struct lookup_property_from_edge {
-      Tag tag;
-      lookup_property_from_edge(Tag tag): tag(tag) {}
-      typedef typename boost::mpl::if_<IsConst, const EP, EP>::type ep_type_nonref;
-      typedef ep_type_nonref& ep_type;
-      typedef typename lookup_one_property<ep_type_nonref, Tag>::type& result_type;
-      result_type operator()(edge_descriptor e) const {
-        return lookup_one_property<ep_type_nonref, Tag>::lookup(*static_cast<ep_type_nonref*>(e.get_property()), tag);
-      }
-    };
-
-    typedef function_property_map<
-              lookup_property_from_edge<boost::mpl::false_>,
-              typename graph_traits<adjacency_matrix<D, VP, EP, GP, A> >::edge_descriptor> type;
-    typedef function_property_map<
-              lookup_property_from_edge<boost::mpl::true_>,
-              typename graph_traits<adjacency_matrix<D, VP, EP, GP, A> >::edge_descriptor> const_type;
-    typedef edge_descriptor arg_type;
-    typedef typename lookup_property_from_edge<boost::mpl::false_>::result_type single_nonconst_type;
-    typedef typename lookup_property_from_edge<boost::mpl::true_>::result_type single_const_type;
-
-    static type get_nonconst(adjacency_matrix<D, VP, EP, GP, A>& g, Tag tag) {
-      return type(tag);
-    }
-
-    static const_type get_const(const adjacency_matrix<D, VP, EP, GP, A>& g, Tag tag) {
-      return const_type(tag);
-    }
-
-    static single_nonconst_type get_nonconst_one(adjacency_matrix<D, VP, EP, GP, A>& g, Tag tag, edge_descriptor e) {
-      return lookup_one_property<EP, Tag>::lookup(*static_cast<EP*>(e.get_property()), tag);
-    }
-
-    static single_const_type get_const_one(const adjacency_matrix<D, VP, EP, GP, A>& g, Tag tag, edge_descriptor e) {
-      return lookup_one_property<const EP, Tag>::lookup(*static_cast<const EP*>(e.get_property()), tag);
-    }
-  };
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  struct property_map<adjacency_matrix<D,VP,EP,GP,A>, Tag>
-    : adj_mat_pm_helper<D, VP, EP, GP, A, Tag,
-                        typename detail::property_kind_from_graph<adjacency_matrix<D, VP, EP, GP, A>, Tag>::type> {};
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::type
-  get(Tag tag, adjacency_matrix<D, VP, EP, GP, A>& g) {
-    return property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::get_nonconst(g, tag);
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::const_type
-  get(Tag tag, const adjacency_matrix<D, VP, EP, GP, A>& g) {
-    return property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::get_const(g, tag);
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::single_nonconst_type
-  get(Tag tag, adjacency_matrix<D, VP, EP, GP, A>& g, typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::arg_type a) {
-    return property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::get_nonconst_one(g, tag, a);
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::single_const_type
-  get(Tag tag, const adjacency_matrix<D, VP, EP, GP, A>& g, typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::arg_type a) {
-    return property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::get_const_one(g, tag, a);
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  void
-  put(Tag tag,
-      adjacency_matrix<D, VP, EP, GP, A>& g,
-      typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::arg_type a,
-      typename property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::single_const_type val) {
-    property_map<adjacency_matrix<D, VP, EP, GP, A>, Tag>::get_nonconst_one(g, tag, a) = val;
-  }
-
-  // O(1)
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag, typename Value>
-  inline void
-  set_property(adjacency_matrix<D,VP,EP,GP,A>& g, Tag tag, const Value& value)
-  {
-      get_property_value(g.m_property, tag) = value;
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  inline typename graph_property<adjacency_matrix<D,VP,EP,GP,A>, Tag>::type&
-  get_property(adjacency_matrix<D,VP,EP,GP,A>& g, Tag tag)
-  {
-      return get_property_value(g.m_property, tag);
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A,
-            typename Tag>
-  inline const typename graph_property<adjacency_matrix<D,VP,EP,GP,A>, Tag>::type&
-  get_property(const adjacency_matrix<D,VP,EP,GP,A>& g, Tag tag)
-  {
-      return get_property_value(g.m_property, tag);
-  }
-
-  //=========================================================================
-  // Vertex Property Map
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  struct property_map<adjacency_matrix<D, VP, EP, GP, A>, vertex_index_t> {
-    typedef typename adjacency_matrix<D, VP, EP, GP, A>::vertex_descriptor Vertex;
-    typedef typed_identity_property_map<Vertex> type;
-    typedef type const_type;
-  };
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename property_map<adjacency_matrix<D, VP, EP, GP, A>, vertex_index_t>::const_type
-  get(vertex_index_t, adjacency_matrix<D, VP, EP, GP, A>&) {
-    return typename property_map<adjacency_matrix<D, VP, EP, GP, A>, vertex_index_t>::const_type();
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D, VP, EP, GP, A>::vertex_descriptor
-  get(vertex_index_t,
-      adjacency_matrix<D, VP, EP, GP, A>&,
-      typename adjacency_matrix<D, VP, EP, GP, A>::vertex_descriptor v) {
-    return v;
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename property_map<adjacency_matrix<D, VP, EP, GP, A>, vertex_index_t>::const_type
-  get(vertex_index_t, const adjacency_matrix<D, VP, EP, GP, A>&) {
-    return typename property_map<adjacency_matrix<D, VP, EP, GP, A>, vertex_index_t>::const_type();
-  }
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D, VP, EP, GP, A>::vertex_descriptor
-  get(vertex_index_t,
-      const adjacency_matrix<D, VP, EP, GP, A>&,
-      typename adjacency_matrix<D, VP, EP, GP, A>::vertex_descriptor v) {
-    return v;
-  }
-
-  //=========================================================================
-  // Other Functions
-
-  template <typename D, typename VP, typename EP, typename GP, typename A>
-  typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor
-  vertex(typename adjacency_matrix<D,VP,EP,GP,A>::vertices_size_type n,
-         const adjacency_matrix<D,VP,EP,GP,A>&)
-  {
-    return n;
-  }
-
-template <typename D, typename VP, typename EP, typename GP, typename A>
-struct graph_mutability_traits<adjacency_matrix<D, VP, EP, GP, A> > {
-  typedef mutable_edge_property_graph_tag category;
-};
-
-
-} // namespace boost
-
-#endif // BOOST_ADJACENCY_MATRIX_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/astar_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/astar_search.hpp
deleted file mode 100644
index 435ccf0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/astar_search.hpp
+++ /dev/null
@@ -1,564 +0,0 @@
-
-
-//
-//=======================================================================
-// Copyright (c) 2004 Kristopher Beevers
-//
-// Distributed under the 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_GRAPH_ASTAR_SEARCH_HPP
-#define BOOST_GRAPH_ASTAR_SEARCH_HPP
-
-
-#include <functional>
-#include <vector>
-#include <boost/limits.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/relax.hpp>
-#include <boost/graph/exception.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/detail/d_ary_heap.hpp>
-#include <boost/graph/property_maps/constant_property_map.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/vector_property_map.hpp>
-#include <boost/property_map/function_property_map.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-
-  template <class Heuristic, class Graph>
-  struct AStarHeuristicConcept {
-    void constraints()
-    {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Heuristic> ));
-      h(u);
-    }
-    Heuristic h;
-    typename graph_traits<Graph>::vertex_descriptor u;
-  };
-
-
-  template <class Graph, class CostType>
-  class astar_heuristic : public std::unary_function<
-    typename graph_traits<Graph>::vertex_descriptor, CostType>
-  {
-  public:
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    astar_heuristic() {}
-    CostType operator()(Vertex u) { return static_cast<CostType>(0); }
-  };
-
-
-
-  template <class Visitor, class Graph>
-  struct AStarVisitorConcept {
-    void constraints()
-    {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-      vis.initialize_vertex(u, g);
-      vis.discover_vertex(u, g);
-      vis.examine_vertex(u, g);
-      vis.examine_edge(e, g);
-      vis.edge_relaxed(e, g);
-      vis.edge_not_relaxed(e, g);
-      vis.black_target(e, g);
-      vis.finish_vertex(u, g);
-    }
-    Visitor vis;
-    Graph g;
-    typename graph_traits<Graph>::vertex_descriptor u;
-    typename graph_traits<Graph>::edge_descriptor e;
-  };
-
-
-  template <class Visitors = null_visitor>
-  class astar_visitor : public bfs_visitor<Visitors> {
-  public:
-    astar_visitor() {}
-    astar_visitor(Visitors vis)
-      : bfs_visitor<Visitors>(vis) {}
-
-    template <class Edge, class Graph>
-    void edge_relaxed(Edge e, const Graph& g) {
-      invoke_visitors(this->m_vis, e, g, on_edge_relaxed());
-    }
-    template <class Edge, class Graph>
-    void edge_not_relaxed(Edge e, const Graph& g) {
-      invoke_visitors(this->m_vis, e, g, on_edge_not_relaxed());
-    }
-  private:
-    template <class Edge, class Graph>
-    void tree_edge(Edge e, const Graph& g) {}
-    template <class Edge, class Graph>
-    void non_tree_edge(Edge e, const Graph& g) {}
-  };
-  template <class Visitors>
-  astar_visitor<Visitors>
-  make_astar_visitor(Visitors vis) {
-    return astar_visitor<Visitors>(vis);
-  }
-  typedef astar_visitor<> default_astar_visitor;
-
-
-  namespace detail {
-
-    template <class AStarHeuristic, class UniformCostVisitor,
-              class UpdatableQueue, class PredecessorMap,
-              class CostMap, class DistanceMap, class WeightMap,
-              class ColorMap, class BinaryFunction,
-              class BinaryPredicate>
-    struct astar_bfs_visitor
-    {
-
-      typedef typename property_traits<CostMap>::value_type C;
-      typedef typename property_traits<ColorMap>::value_type ColorValue;
-      typedef color_traits<ColorValue> Color;
-      typedef typename property_traits<DistanceMap>::value_type distance_type;
-
-      astar_bfs_visitor(AStarHeuristic h, UniformCostVisitor vis,
-                        UpdatableQueue& Q, PredecessorMap p,
-                        CostMap c, DistanceMap d, WeightMap w,
-                        ColorMap col, BinaryFunction combine,
-                        BinaryPredicate compare, C zero)
-        : m_h(h), m_vis(vis), m_Q(Q), m_predecessor(p), m_cost(c),
-          m_distance(d), m_weight(w), m_color(col),
-          m_combine(combine), m_compare(compare), m_zero(zero) {}
-
-
-      template <class Vertex, class Graph>
-      void initialize_vertex(Vertex u, const Graph& g) {
-        m_vis.initialize_vertex(u, g);
-      }
-      template <class Vertex, class Graph>
-      void discover_vertex(Vertex u, const Graph& g) {
-        m_vis.discover_vertex(u, g);
-      }
-      template <class Vertex, class Graph>
-      void examine_vertex(Vertex u, const Graph& g) {
-        m_vis.examine_vertex(u, g);
-      }
-      template <class Vertex, class Graph>
-      void finish_vertex(Vertex u, const Graph& g) {
-        m_vis.finish_vertex(u, g);
-      }
-      template <class Edge, class Graph>
-      void examine_edge(Edge e, const Graph& g) {
-        if (m_compare(get(m_weight, e), m_zero))
-          BOOST_THROW_EXCEPTION(negative_edge());
-        m_vis.examine_edge(e, g);
-      }
-      template <class Edge, class Graph>
-      void non_tree_edge(Edge, const Graph&) {}
-
-
-
-      template <class Edge, class Graph>
-      void tree_edge(Edge e, const Graph& g) {
-        using boost::get;
-        bool m_decreased =
-          relax(e, g, m_weight, m_predecessor, m_distance,
-                m_combine, m_compare);
-
-        if(m_decreased) {
-          m_vis.edge_relaxed(e, g);
-          put(m_cost, target(e, g),
-              m_combine(get(m_distance, target(e, g)),
-                        m_h(target(e, g))));
-        } else
-          m_vis.edge_not_relaxed(e, g);
-      }
-
-
-      template <class Edge, class Graph>
-      void gray_target(Edge e, const Graph& g) {
-        using boost::get;
-        bool m_decreased =
-          relax(e, g, m_weight, m_predecessor, m_distance,
-                m_combine, m_compare);
-
-        if(m_decreased) {
-          put(m_cost, target(e, g),
-              m_combine(get(m_distance, target(e, g)),
-                        m_h(target(e, g))));
-          m_Q.update(target(e, g));
-          m_vis.edge_relaxed(e, g);
-        } else
-          m_vis.edge_not_relaxed(e, g);
-      }
-
-
-      template <class Edge, class Graph>
-      void black_target(Edge e, const Graph& g) {
-        using boost::get;
-        bool m_decreased =
-          relax(e, g, m_weight, m_predecessor, m_distance,
-                m_combine, m_compare);
-
-        if(m_decreased) {
-          m_vis.edge_relaxed(e, g);
-          put(m_cost, target(e, g),
-              m_combine(get(m_distance, target(e, g)),
-                        m_h(target(e, g))));
-          m_Q.push(target(e, g));
-          put(m_color, target(e, g), Color::gray());
-          m_vis.black_target(e, g);
-        } else
-          m_vis.edge_not_relaxed(e, g);
-      }
-
-
-
-      AStarHeuristic m_h;
-      UniformCostVisitor m_vis;
-      UpdatableQueue& m_Q;
-      PredecessorMap m_predecessor;
-      CostMap m_cost;
-      DistanceMap m_distance;
-      WeightMap m_weight;
-      ColorMap m_color;
-      BinaryFunction m_combine;
-      BinaryPredicate m_compare;
-      C m_zero;
-
-    };
-
-  } // namespace detail
-
-
-
-  template <typename VertexListGraph, typename AStarHeuristic,
-            typename AStarVisitor, typename PredecessorMap,
-            typename CostMap, typename DistanceMap,
-            typename WeightMap, typename ColorMap,
-            typename VertexIndexMap,
-            typename CompareFunction, typename CombineFunction,
-            typename CostInf, typename CostZero>
-  inline void
-  astar_search_no_init
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, AStarVisitor vis,
-     PredecessorMap predecessor, CostMap cost,
-     DistanceMap distance, WeightMap weight,
-     ColorMap color, VertexIndexMap index_map,
-     CompareFunction compare, CombineFunction combine,
-     CostInf /*inf*/, CostZero zero)
-  {
-    typedef typename graph_traits<VertexListGraph>::vertex_descriptor
-      Vertex;
-    typedef boost::vector_property_map<std::size_t, VertexIndexMap> IndexInHeapMap;
-    IndexInHeapMap index_in_heap(index_map);
-    typedef d_ary_heap_indirect<Vertex, 4, IndexInHeapMap, CostMap, CompareFunction>
-      MutableQueue;
-    MutableQueue Q(cost, index_in_heap, compare);
-
-    detail::astar_bfs_visitor<AStarHeuristic, AStarVisitor,
-        MutableQueue, PredecessorMap, CostMap, DistanceMap,
-        WeightMap, ColorMap, CombineFunction, CompareFunction>
-      bfs_vis(h, vis, Q, predecessor, cost, distance, weight,
-              color, combine, compare, zero);
-
-    breadth_first_visit(g, s, Q, bfs_vis, color);
-  }
-
-  namespace graph_detail {
-    template <typename A, typename B>
-    struct select1st {
-      typedef std::pair<A, B> argument_type;
-      typedef A result_type;
-      A operator()(const std::pair<A, B>& p) const {return p.first;}
-    };
-  }
-
-  template <typename VertexListGraph, typename AStarHeuristic,
-            typename AStarVisitor, typename PredecessorMap,
-            typename CostMap, typename DistanceMap,
-            typename WeightMap,
-            typename CompareFunction, typename CombineFunction,
-            typename CostInf, typename CostZero>
-  inline void
-  astar_search_no_init_tree
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, AStarVisitor vis,
-     PredecessorMap predecessor, CostMap cost,
-     DistanceMap distance, WeightMap weight,
-     CompareFunction compare, CombineFunction combine,
-     CostInf /*inf*/, CostZero zero)
-  {
-    typedef typename graph_traits<VertexListGraph>::vertex_descriptor
-      Vertex;
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-    typedef d_ary_heap_indirect<
-              std::pair<Distance, Vertex>,
-              4,
-              null_property_map<std::pair<Distance, Vertex>, std::size_t>,
-              function_property_map<graph_detail::select1st<Distance, Vertex>, std::pair<Distance, Vertex> >,
-              CompareFunction>
-      MutableQueue;
-    MutableQueue Q(
-      make_function_property_map<std::pair<Distance, Vertex> >(graph_detail::select1st<Distance, Vertex>()),
-      null_property_map<std::pair<Distance, Vertex>, std::size_t>(),
-      compare);
-
-    vis.discover_vertex(s, g);
-    Q.push(std::make_pair(get(cost, s), s));
-    while (!Q.empty()) {
-      Vertex v;
-      Distance v_rank;
-      boost::tie(v_rank, v) = Q.top();
-      Q.pop();
-      vis.examine_vertex(v, g);
-      BGL_FORALL_OUTEDGES_T(v, e, g, VertexListGraph) {
-        Vertex w = target(e, g);
-        vis.examine_edge(e, g);
-        Distance e_weight = get(weight, e);
-        if (compare(e_weight, zero))
-          BOOST_THROW_EXCEPTION(negative_edge());
-        bool decreased =
-          relax(e, g, weight, predecessor, distance,
-                combine, compare);
-        Distance w_d = combine(get(distance, v), e_weight);
-        if (decreased) {
-          vis.edge_relaxed(e, g);
-          Distance w_rank = combine(get(distance, w), h(w));
-          put(cost, w, w_rank);
-          vis.discover_vertex(w, g);
-          Q.push(std::make_pair(w_rank, w));
-        } else {
-          vis.edge_not_relaxed(e, g);
-        }
-      }
-      vis.finish_vertex(v, g);
-    }
-  }
-
-  // Non-named parameter interface
-  template <typename VertexListGraph, typename AStarHeuristic,
-            typename AStarVisitor, typename PredecessorMap,
-            typename CostMap, typename DistanceMap,
-            typename WeightMap, typename VertexIndexMap,
-            typename ColorMap,
-            typename CompareFunction, typename CombineFunction,
-            typename CostInf, typename CostZero>
-  inline void
-  astar_search
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, AStarVisitor vis,
-     PredecessorMap predecessor, CostMap cost,
-     DistanceMap distance, WeightMap weight,
-     VertexIndexMap index_map, ColorMap color,
-     CompareFunction compare, CombineFunction combine,
-     CostInf inf, CostZero zero)
-  {
-
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typename graph_traits<VertexListGraph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      put(color, *ui, Color::white());
-      put(distance, *ui, inf);
-      put(cost, *ui, inf);
-      put(predecessor, *ui, *ui);
-      vis.initialize_vertex(*ui, g);
-    }
-    put(distance, s, zero);
-    put(cost, s, h(s));
-
-    astar_search_no_init
-      (g, s, h, vis, predecessor, cost, distance, weight,
-       color, index_map, compare, combine, inf, zero);
-
-  }
-
-  // Non-named parameter interface
-  template <typename VertexListGraph, typename AStarHeuristic,
-            typename AStarVisitor, typename PredecessorMap,
-            typename CostMap, typename DistanceMap,
-            typename WeightMap,
-            typename CompareFunction, typename CombineFunction,
-            typename CostInf, typename CostZero>
-  inline void
-  astar_search_tree
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, AStarVisitor vis,
-     PredecessorMap predecessor, CostMap cost,
-     DistanceMap distance, WeightMap weight,
-     CompareFunction compare, CombineFunction combine,
-     CostInf inf, CostZero zero)
-  {
-
-    typename graph_traits<VertexListGraph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      put(distance, *ui, inf);
-      put(cost, *ui, inf);
-      put(predecessor, *ui, *ui);
-      vis.initialize_vertex(*ui, g);
-    }
-    put(distance, s, zero);
-    put(cost, s, h(s));
-
-    astar_search_no_init_tree
-      (g, s, h, vis, predecessor, cost, distance, weight,
-       compare, combine, inf, zero);
-
-  }
-
-  // Named parameter interfaces
-  template <typename VertexListGraph,
-            typename AStarHeuristic,
-            typename P, typename T, typename R>
-  void
-  astar_search
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, const bgl_named_params<P, T, R>& params)
-  {
-    using namespace boost::graph::keywords;
-    typedef bgl_named_params<P, T, R> params_type;
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
-
-    // Distance type is the value type of the distance map if there is one,
-    // otherwise the value type of the weight map.
-    typedef
-      typename detail::override_const_property_result<
-                 arg_pack_type, tag::weight_map, edge_weight_t, VertexListGraph>::type
-      weight_map_type;
-    typedef typename boost::property_traits<weight_map_type>::value_type W;
-    typedef
-      typename detail::map_maker<VertexListGraph, arg_pack_type, tag::distance_map, W>::map_type
-      distance_map_type;
-    typedef typename boost::property_traits<distance_map_type>::value_type D;
-    const D inf = arg_pack[_distance_inf || detail::get_max<D>()];
-
-    astar_search
-      (g, s, h,
-       arg_pack[_visitor | make_astar_visitor(null_visitor())],
-       arg_pack[_predecessor_map | dummy_property_map()],
-       detail::make_property_map_from_arg_pack_gen<tag::rank_map, D>(D())(g, arg_pack),
-       detail::make_property_map_from_arg_pack_gen<tag::distance_map, W>(W())(g, arg_pack),
-       detail::override_const_property(arg_pack, _weight_map, g, edge_weight),
-       detail::override_const_property(arg_pack, _vertex_index_map, g, vertex_index),
-       detail::make_color_map_from_arg_pack(g, arg_pack),
-       arg_pack[_distance_compare | std::less<D>()],
-       arg_pack[_distance_combine | closed_plus<D>(inf)],
-       inf,
-       arg_pack[_distance_zero | D()]);
-  }
-
-  // Named parameter interfaces
-  template <typename VertexListGraph,
-            typename AStarHeuristic,
-            typename P, typename T, typename R>
-  void
-  astar_search_tree
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, const bgl_named_params<P, T, R>& params)
-  {
-    using namespace boost::graph::keywords;
-    typedef bgl_named_params<P, T, R> params_type;
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
-
-    // Distance type is the value type of the distance map if there is one,
-    // otherwise the value type of the weight map.
-    typedef
-      typename detail::override_const_property_result<
-                 arg_pack_type, tag::weight_map, edge_weight_t, VertexListGraph>::type
-      weight_map_type;
-    typedef typename boost::property_traits<weight_map_type>::value_type W;
-    typedef
-      typename detail::map_maker<VertexListGraph, arg_pack_type, tag::distance_map, W>::map_type
-      distance_map_type;
-    typedef typename boost::property_traits<distance_map_type>::value_type D;
-    const D inf = arg_pack[_distance_inf || detail::get_max<D>()];
-
-    astar_search_tree
-      (g, s, h,
-       arg_pack[_visitor | make_astar_visitor(null_visitor())],
-       arg_pack[_predecessor_map | dummy_property_map()],
-       detail::make_property_map_from_arg_pack_gen<tag::rank_map, D>(D())(g, arg_pack),
-       detail::make_property_map_from_arg_pack_gen<tag::distance_map, W>(W())(g, arg_pack),
-       detail::override_const_property(arg_pack, _weight_map, g, edge_weight),
-       arg_pack[_distance_compare | std::less<D>()],
-       arg_pack[_distance_combine | closed_plus<D>(inf)],
-       inf,
-       arg_pack[_distance_zero | D()]);
-  }
-
-  template <typename VertexListGraph,
-            typename AStarHeuristic,
-            typename P, typename T, typename R>
-  void
-  astar_search_no_init
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, const bgl_named_params<P, T, R>& params)
-  {
-    using namespace boost::graph::keywords;
-    typedef bgl_named_params<P, T, R> params_type;
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
-    typedef
-      typename detail::override_const_property_result<
-                 arg_pack_type, tag::weight_map, edge_weight_t, VertexListGraph>::type
-               weight_map_type;
-    typedef typename boost::property_traits<weight_map_type>::value_type D;
-    const D inf = arg_pack[_distance_inf || detail::get_max<D>()];
-    astar_search_no_init
-      (g, s, h,
-       arg_pack[_visitor | make_astar_visitor(null_visitor())],
-       arg_pack[_predecessor_map | dummy_property_map()],
-       detail::make_property_map_from_arg_pack_gen<tag::rank_map, D>(D())(g, arg_pack),
-       detail::make_property_map_from_arg_pack_gen<tag::distance_map, D>(D())(g, arg_pack),
-       detail::override_const_property(arg_pack, _weight_map, g, edge_weight),
-       detail::make_color_map_from_arg_pack(g, arg_pack),
-       detail::override_const_property(arg_pack, _vertex_index_map, g, vertex_index),
-       arg_pack[_distance_compare | std::less<D>()],
-       arg_pack[_distance_combine | closed_plus<D>(inf)],
-       inf,
-       arg_pack[_distance_zero | D()]);
-  }
-
-  template <typename VertexListGraph,
-            typename AStarHeuristic,
-            typename P, typename T, typename R>
-  void
-  astar_search_no_init_tree
-    (const VertexListGraph &g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     AStarHeuristic h, const bgl_named_params<P, T, R>& params)
-  {
-    using namespace boost::graph::keywords;
-    typedef bgl_named_params<P, T, R> params_type;
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
-    typedef
-      typename detail::override_const_property_result<
-                 arg_pack_type, tag::weight_map, edge_weight_t, VertexListGraph>::type
-               weight_map_type;
-    typedef typename boost::property_traits<weight_map_type>::value_type D;
-    const D inf = arg_pack[_distance_inf || detail::get_max<D>()];
-    astar_search_no_init_tree
-      (g, s, h,
-       arg_pack[_visitor | make_astar_visitor(null_visitor())],
-       arg_pack[_predecessor_map | dummy_property_map()],
-       detail::make_property_map_from_arg_pack_gen<tag::rank_map, D>(D())(g, arg_pack),
-       detail::make_property_map_from_arg_pack_gen<tag::distance_map, D>(D())(g, arg_pack),
-       detail::override_const_property(arg_pack, _weight_map, g, edge_weight),
-       arg_pack[_distance_compare | std::less<D>()],
-       arg_pack[_distance_combine | closed_plus<D>(inf)],
-       inf,
-       arg_pack[_distance_zero | D()]);
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_ASTAR_SEARCH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bandwidth.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/bandwidth.hpp
deleted file mode 100644
index e8e7bf2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bandwidth.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (c) Jeremy Siek 2001, Marc Wintermantel 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_GRAPH_BANDWIDTH_HPP
-#define BOOST_GRAPH_BANDWIDTH_HPP
-
-#include <algorithm> // for std::min and std::max
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/detail/numeric_traits.hpp>
-
-namespace boost {
-
-  template <typename Graph, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type
-  ith_bandwidth(typename graph_traits<Graph>::vertex_descriptor i,
-                const Graph& g,
-                VertexIndexMap index)
-  {
-    BOOST_USING_STD_MAX();
-    using std::abs;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    vertices_size_type b = 0;
-    typename graph_traits<Graph>::out_edge_iterator e, end;
-    for (boost::tie(e, end) = out_edges(i, g); e != end; ++e) {
-      int f_i = get(index, i);
-      int f_j = get(index, target(*e, g));
-      b = max BOOST_PREVENT_MACRO_SUBSTITUTION (b, vertices_size_type(abs(f_i - f_j)));
-    }
-    return b;
-  }
-
-  template <typename Graph>
-  typename graph_traits<Graph>::vertices_size_type
-  ith_bandwidth(typename graph_traits<Graph>::vertex_descriptor i,
-                const Graph& g)
-  {
-    return ith_bandwidth(i, g, get(vertex_index, g));
-  }
-
-  template <typename Graph, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type
-  bandwidth(const Graph& g, VertexIndexMap index)
-  {
-    BOOST_USING_STD_MAX();
-    using std::abs;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    vertices_size_type b = 0;
-    typename graph_traits<Graph>::edge_iterator i, end;
-    for (boost::tie(i, end) = edges(g); i != end; ++i) {
-      int f_i = get(index, source(*i, g));
-      int f_j = get(index, target(*i, g));
-      b = max BOOST_PREVENT_MACRO_SUBSTITUTION (b, vertices_size_type(abs(f_i - f_j)));
-    }
-    return b;
-  }
-
-  template <typename Graph>
-  typename graph_traits<Graph>::vertices_size_type
-  bandwidth(const Graph& g)
-  {
-    return bandwidth(g, get(vertex_index, g));
-  }
-
-  template <typename Graph, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type
-  edgesum(const Graph& g, VertexIndexMap index_map)
-  {
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-    typedef typename detail::numeric_traits<size_type>::difference_type diff_t;
-    size_type sum = 0;
-    typename graph_traits<Graph>::edge_iterator i, end;
-    for (boost::tie(i, end) = edges(g); i != end; ++i) {
-      diff_t f_u = get(index_map, source(*i, g));
-      diff_t f_v = get(index_map, target(*i, g));
-      using namespace std; // to call abs() unqualified
-      sum += abs(f_u - f_v);
-    }
-    return sum;
-  }
-  
-} // namespace boost
-
-#endif // BOOST_GRAPH_BANDWIDTH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp
deleted file mode 100644
index 6f4bbf4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_BETWEENNESS_CENTRALITY_CLUSTERING_HPP
-#define BOOST_GRAPH_BETWEENNESS_CENTRALITY_CLUSTERING_HPP
-
-#include <boost/graph/betweenness_centrality.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_utility.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <algorithm>
-#include <vector>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-/** Threshold termination function for the betweenness centrality
- * clustering algorithm.
- */
-template<typename T>
-struct bc_clustering_threshold
-{
-  typedef T centrality_type;
-
-  /// Terminate clustering when maximum absolute edge centrality is
-  /// below the given threshold.
-  explicit bc_clustering_threshold(T threshold) 
-    : threshold(threshold), dividend(1.0) {}
-  
-  /**
-   * Terminate clustering when the maximum edge centrality is below
-   * the given threshold.
-   *
-   * @param threshold the threshold value
-   *
-   * @param g the graph on which the threshold will be calculated
-   *
-   * @param normalize when true, the threshold is compared against the
-   * normalized edge centrality based on the input graph; otherwise,
-   * the threshold is compared against the absolute edge centrality.
-   */
-  template<typename Graph>
-  bc_clustering_threshold(T threshold, const Graph& g, bool normalize = true)
-    : threshold(threshold), dividend(1.0)
-  {
-    if (normalize) {
-      typename graph_traits<Graph>::vertices_size_type n = num_vertices(g);
-      dividend = T((n - 1) * (n - 2)) / T(2);
-    }
-  }
-
-  /** Returns true when the given maximum edge centrality (potentially
-   * normalized) falls below the threshold.
-   */
-  template<typename Graph, typename Edge>
-  bool operator()(T max_centrality, Edge, const Graph&)
-  {
-    return (max_centrality / dividend) < threshold;
-  }
-
- protected:
-  T threshold;
-  T dividend;
-};
-
-/** Graph clustering based on edge betweenness centrality.
- * 
- * This algorithm implements graph clustering based on edge
- * betweenness centrality. It is an iterative algorithm, where in each
- * step it compute the edge betweenness centrality (via @ref
- * brandes_betweenness_centrality) and removes the edge with the
- * maximum betweenness centrality. The @p done function object
- * determines when the algorithm terminates (the edge found when the
- * algorithm terminates will not be removed).
- *
- * @param g The graph on which clustering will be performed. The type
- * of this parameter (@c MutableGraph) must be a model of the
- * VertexListGraph, IncidenceGraph, EdgeListGraph, and Mutable Graph
- * concepts.
- *
- * @param done The function object that indicates termination of the
- * algorithm. It must be a ternary function object thats accepts the
- * maximum centrality, the descriptor of the edge that will be
- * removed, and the graph @p g.
- *
- * @param edge_centrality (UTIL/OUT) The property map that will store
- * the betweenness centrality for each edge. When the algorithm
- * terminates, it will contain the edge centralities for the
- * graph. The type of this property map must model the
- * ReadWritePropertyMap concept. Defaults to an @c
- * iterator_property_map whose value type is 
- * @c Done::centrality_type and using @c get(edge_index, g) for the 
- * index map.
- *
- * @param vertex_index (IN) The property map that maps vertices to
- * indices in the range @c [0, num_vertices(g)). This type of this
- * property map must model the ReadablePropertyMap concept and its
- * value type must be an integral type. Defaults to 
- * @c get(vertex_index, g).
- */
-template<typename MutableGraph, typename Done, typename EdgeCentralityMap,
-         typename VertexIndexMap>
-void 
-betweenness_centrality_clustering(MutableGraph& g, Done done,
-                                  EdgeCentralityMap edge_centrality,
-                                  VertexIndexMap vertex_index)
-{
-  typedef typename property_traits<EdgeCentralityMap>::value_type
-    centrality_type;
-  typedef typename graph_traits<MutableGraph>::edge_iterator edge_iterator;
-  typedef typename graph_traits<MutableGraph>::edge_descriptor edge_descriptor;
-  typedef typename graph_traits<MutableGraph>::vertices_size_type
-    vertices_size_type;
-
-  if (has_no_edges(g)) return;
-
-  // Function object that compares the centrality of edges
-  indirect_cmp<EdgeCentralityMap, std::less<centrality_type> > 
-    cmp(edge_centrality);
-
-  bool is_done;
-  do {
-    brandes_betweenness_centrality(g, 
-                                   edge_centrality_map(edge_centrality)
-                                   .vertex_index_map(vertex_index));
-    std::pair<edge_iterator, edge_iterator> edges_iters = edges(g);
-    edge_descriptor e = *max_element(edges_iters.first, edges_iters.second, cmp);
-    is_done = done(get(edge_centrality, e), e, g);
-    if (!is_done) remove_edge(e, g);
-  } while (!is_done && !has_no_edges(g));
-}
-
-/**
- * \overload
- */ 
-template<typename MutableGraph, typename Done, typename EdgeCentralityMap>
-void 
-betweenness_centrality_clustering(MutableGraph& g, Done done,
-                                  EdgeCentralityMap edge_centrality)
-{
-  betweenness_centrality_clustering(g, done, edge_centrality,
-                                    get(vertex_index, g));
-}
-
-/**
- * \overload
- */ 
-template<typename MutableGraph, typename Done>
-void
-betweenness_centrality_clustering(MutableGraph& g, Done done)
-{
-  typedef typename Done::centrality_type centrality_type;
-  std::vector<centrality_type> edge_centrality(num_edges(g));
-  betweenness_centrality_clustering(g, done, 
-    make_iterator_property_map(edge_centrality.begin(), get(edge_index, g)),
-    get(vertex_index, g));
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_BETWEENNESS_CENTRALITY_CLUSTERING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bellman_ford_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/bellman_ford_shortest_paths.hpp
deleted file mode 100644
index 7873067..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bellman_ford_shortest_paths.hpp
+++ /dev/null
@@ -1,240 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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 implements the function
-
-  template <class EdgeListGraph, class Size, class P, class T, class R>
-  bool bellman_ford_shortest_paths(EdgeListGraph& g, Size N, 
-     const bgl_named_params<P, T, R>& params)
-  
- */
-
-
-#ifndef BOOST_GRAPH_BELLMAN_FORD_SHORTEST_PATHS_HPP
-#define BOOST_GRAPH_BELLMAN_FORD_SHORTEST_PATHS_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/relax.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-  template <class Visitor, class Graph>
-  struct BellmanFordVisitorConcept {
-    void constraints() {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-      vis.examine_edge(e, g);
-      vis.edge_relaxed(e, g);
-      vis.edge_not_relaxed(e, g);
-      vis.edge_minimized(e, g);
-      vis.edge_not_minimized(e, g);
-    }
-    Visitor vis;
-    Graph g;
-    typename graph_traits<Graph>::edge_descriptor e;
-  };
-
-  template <class Visitors = null_visitor>
-  class bellman_visitor {
-  public:
-    bellman_visitor() { }
-    bellman_visitor(Visitors vis) : m_vis(vis) { }
-
-    template <class Edge, class Graph>
-    void examine_edge(Edge u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_examine_edge());
-    }
-    template <class Edge, class Graph>
-    void edge_relaxed(Edge u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_edge_relaxed());      
-    }
-    template <class Edge, class Graph>
-    void edge_not_relaxed(Edge u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_edge_not_relaxed());
-    }
-    template <class Edge, class Graph>
-    void edge_minimized(Edge u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_edge_minimized());
-    }
-    template <class Edge, class Graph>
-    void edge_not_minimized(Edge u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_edge_not_minimized());
-    }
-  protected:
-    Visitors m_vis;
-  };
-  template <class Visitors>
-  bellman_visitor<Visitors>
-  make_bellman_visitor(Visitors vis) {
-    return bellman_visitor<Visitors>(vis);
-  }
-  typedef bellman_visitor<> default_bellman_visitor;
-
-  template <class EdgeListGraph, class Size, class WeightMap,
-            class PredecessorMap, class DistanceMap,
-            class BinaryFunction, class BinaryPredicate,
-            class BellmanFordVisitor>
-  bool bellman_ford_shortest_paths(EdgeListGraph& g, Size N, 
-                         WeightMap weight, 
-                         PredecessorMap pred,
-                         DistanceMap distance, 
-                         BinaryFunction combine, 
-                         BinaryPredicate compare,
-                         BellmanFordVisitor v)
-  {
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<EdgeListGraph> ));
-    typedef graph_traits<EdgeListGraph> GTraits;
-    typedef typename GTraits::edge_descriptor Edge;
-    typedef typename GTraits::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<DistanceMap, Vertex> ));
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<WeightMap, Edge> ));
-
-    typename GTraits::edge_iterator i, end;
-
-    for (Size k = 0; k < N; ++k) {
-      bool at_least_one_edge_relaxed = false;
-      for (boost::tie(i, end) = edges(g); i != end; ++i) {
-        v.examine_edge(*i, g);
-        if (relax(*i, g, weight, pred, distance, combine, compare)) {
-          at_least_one_edge_relaxed = true;
-          v.edge_relaxed(*i, g);
-        } else
-          v.edge_not_relaxed(*i, g);
-      }
-      if (!at_least_one_edge_relaxed)
-        break;
-    }
-
-    for (boost::tie(i, end) = edges(g); i != end; ++i)
-      if (compare(combine(get(distance, source(*i, g)), get(weight, *i)),
-                  get(distance, target(*i,g))))
-      {
-        v.edge_not_minimized(*i, g);
-        return false;
-      } else
-        v.edge_minimized(*i, g);
-
-    return true;
-  }
-
-  namespace detail {
-
-    template<typename VertexAndEdgeListGraph, typename Size, 
-             typename WeightMap, typename PredecessorMap, typename DistanceMap,
-             typename P, typename T, typename R>
-    bool 
-    bellman_dispatch2
-      (VertexAndEdgeListGraph& g, 
-       typename graph_traits<VertexAndEdgeListGraph>::vertex_descriptor s,
-       Size N, WeightMap weight, PredecessorMap pred, DistanceMap distance,
-       const bgl_named_params<P, T, R>& params)
-    {
-      typedef typename property_traits<DistanceMap>::value_type D;
-      bellman_visitor<> null_vis;
-      typedef typename property_traits<WeightMap>::value_type weight_type;
-      typename graph_traits<VertexAndEdgeListGraph>::vertex_iterator v, v_end;
-      for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-        put(distance, *v, (std::numeric_limits<weight_type>::max)());
-        put(pred, *v, *v);
-      }
-      put(distance, s, weight_type(0));
-      return bellman_ford_shortest_paths
-               (g, N, weight, pred, distance,
-                choose_param(get_param(params, distance_combine_t()),
-                             closed_plus<D>()),
-                choose_param(get_param(params, distance_compare_t()),
-                             std::less<D>()),
-                choose_param(get_param(params, graph_visitor),
-                             null_vis)
-                );
-    }
-
-    template<typename VertexAndEdgeListGraph, typename Size, 
-             typename WeightMap, typename PredecessorMap, typename DistanceMap,
-             typename P, typename T, typename R>
-    bool 
-    bellman_dispatch2
-      (VertexAndEdgeListGraph& g, 
-       param_not_found,
-       Size N, WeightMap weight, PredecessorMap pred, DistanceMap distance,
-       const bgl_named_params<P, T, R>& params)
-    {
-      typedef typename property_traits<DistanceMap>::value_type D;
-      bellman_visitor<> null_vis;
-      return bellman_ford_shortest_paths
-               (g, N, weight, pred, distance,
-                choose_param(get_param(params, distance_combine_t()),
-                             closed_plus<D>()),
-                choose_param(get_param(params, distance_compare_t()),
-                             std::less<D>()),
-                choose_param(get_param(params, graph_visitor),
-                             null_vis)
-                );
-    }
-
-    template <class EdgeListGraph, class Size, class WeightMap,
-              class DistanceMap, class P, class T, class R>
-    bool bellman_dispatch(EdgeListGraph& g, Size N, 
-                          WeightMap weight, DistanceMap distance, 
-                          const bgl_named_params<P, T, R>& params)
-    {
-      dummy_property_map dummy_pred;
-      return 
-        detail::bellman_dispatch2
-          (g, 
-           get_param(params, root_vertex_t()),
-           N, weight,
-           choose_param(get_param(params, vertex_predecessor), dummy_pred),
-           distance,
-           params);
-    }
-  } // namespace detail
-
-  template <class EdgeListGraph, class Size, class P, class T, class R>
-  bool bellman_ford_shortest_paths
-    (EdgeListGraph& g, Size N, 
-     const bgl_named_params<P, T, R>& params)
-  {                                
-    return detail::bellman_dispatch
-      (g, N,
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-       choose_pmap(get_param(params, vertex_distance), g, vertex_distance),
-       params);
-  }
-
-  template <class EdgeListGraph, class Size>
-  bool bellman_ford_shortest_paths(EdgeListGraph& g, Size N)
-  {                                
-    bgl_named_params<int,int> params(0);
-    return bellman_ford_shortest_paths(g, N, params);
-  }
-
-  template <class VertexAndEdgeListGraph, class P, class T, class R>
-  bool bellman_ford_shortest_paths
-    (VertexAndEdgeListGraph& g, 
-     const bgl_named_params<P, T, R>& params)
-  {               
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<VertexAndEdgeListGraph> ));
-    return detail::bellman_dispatch
-      (g, num_vertices(g),
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-       choose_pmap(get_param(params, vertex_distance), g, vertex_distance),
-       params);
-  }
-} // namespace boost
-
-#endif // BOOST_GRAPH_BELLMAN_FORD_SHORTEST_PATHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/betweenness_centrality.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/betweenness_centrality.hpp
deleted file mode 100644
index d596d5a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/betweenness_centrality.hpp
+++ /dev/null
@@ -1,616 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_BRANDES_BETWEENNESS_CENTRALITY_HPP
-#define BOOST_GRAPH_BRANDES_BETWEENNESS_CENTRALITY_HPP
-
-#include <stack>
-#include <vector>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/relax.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <algorithm>
-
-namespace boost {
-
-namespace detail { namespace graph {
-
-  /**
-   * Customized visitor passed to Dijkstra's algorithm by Brandes'
-   * betweenness centrality algorithm. This visitor is responsible for
-   * keeping track of the order in which vertices are discovered, the
-   * predecessors on the shortest path(s) to a vertex, and the number
-   * of shortest paths.
-   */
-  template<typename Graph, typename WeightMap, typename IncomingMap,
-           typename DistanceMap, typename PathCountMap>
-  struct brandes_dijkstra_visitor : public bfs_visitor<>
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-    brandes_dijkstra_visitor(std::stack<vertex_descriptor>& ordered_vertices,
-                             WeightMap weight,
-                             IncomingMap incoming,
-                             DistanceMap distance,
-                             PathCountMap path_count)
-      : ordered_vertices(ordered_vertices), weight(weight), 
-        incoming(incoming), distance(distance),
-        path_count(path_count)
-    { }
-
-    /**
-     * Whenever an edge e = (v, w) is relaxed, the incoming edge list
-     * for w is set to {(v, w)} and the shortest path count of w is set to
-     * the number of paths that reach {v}.
-     */
-    void edge_relaxed(edge_descriptor e, const Graph& g) 
-    { 
-      vertex_descriptor v = source(e, g), w = target(e, g);
-      incoming[w].clear();
-      incoming[w].push_back(e);
-      put(path_count, w, get(path_count, v));
-    }
-
-    /**
-     * If an edge e = (v, w) was not relaxed, it may still be the case
-     * that we've found more equally-short paths, so include {(v, w)} in the
-     * incoming edges of w and add all of the shortest paths to v to the
-     * shortest path count of w.
-     */
-    void edge_not_relaxed(edge_descriptor e, const Graph& g) 
-    {
-      typedef typename property_traits<WeightMap>::value_type weight_type;
-      typedef typename property_traits<DistanceMap>::value_type distance_type;
-      vertex_descriptor v = source(e, g), w = target(e, g);
-      distance_type d_v = get(distance, v), d_w = get(distance, w);
-      weight_type w_e = get(weight, e);
-
-      closed_plus<distance_type> combine;
-      if (d_w == combine(d_v, w_e)) {
-        put(path_count, w, get(path_count, w) + get(path_count, v));
-        incoming[w].push_back(e);
-      }
-    }
-
-    /// Keep track of vertices as they are reached
-    void examine_vertex(vertex_descriptor w, const Graph&) 
-    { 
-      ordered_vertices.push(w);
-    }
-
-  private:
-    std::stack<vertex_descriptor>& ordered_vertices;
-    WeightMap weight;
-    IncomingMap incoming;
-    DistanceMap distance;
-    PathCountMap path_count;
-  };
-
-  /**
-   * Function object that calls Dijkstra's shortest paths algorithm
-   * using the Dijkstra visitor for the Brandes betweenness centrality
-   * algorithm.
-   */
-  template<typename WeightMap>
-  struct brandes_dijkstra_shortest_paths
-  {
-    brandes_dijkstra_shortest_paths(WeightMap weight_map) 
-      : weight_map(weight_map) { }
-
-    template<typename Graph, typename IncomingMap, typename DistanceMap, 
-             typename PathCountMap, typename VertexIndexMap>
-    void 
-    operator()(Graph& g, 
-               typename graph_traits<Graph>::vertex_descriptor s,
-               std::stack<typename graph_traits<Graph>::vertex_descriptor>& ov,
-               IncomingMap incoming,
-               DistanceMap distance,
-               PathCountMap path_count,
-               VertexIndexMap vertex_index)
-    {
-      typedef brandes_dijkstra_visitor<Graph, WeightMap, IncomingMap, 
-                                       DistanceMap, PathCountMap> visitor_type;
-      visitor_type visitor(ov, weight_map, incoming, distance, path_count);
-
-      dijkstra_shortest_paths(g, s, 
-                              boost::weight_map(weight_map)
-                              .vertex_index_map(vertex_index)
-                              .distance_map(distance)
-                              .visitor(visitor));
-    }
-
-  private:
-    WeightMap weight_map;
-  };
-
-  /**
-   * Function object that invokes breadth-first search for the
-   * unweighted form of the Brandes betweenness centrality algorithm.
-   */
-  struct brandes_unweighted_shortest_paths
-  {
-    /**
-     * Customized visitor passed to breadth-first search, which
-     * records predecessor and the number of shortest paths to each
-     * vertex.
-     */
-    template<typename Graph, typename IncomingMap, typename DistanceMap, 
-             typename PathCountMap>
-    struct visitor_type : public bfs_visitor<>
-    {
-      typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-      typedef typename graph_traits<Graph>::vertex_descriptor 
-        vertex_descriptor;
-      
-      visitor_type(IncomingMap incoming, DistanceMap distance, 
-                   PathCountMap path_count, 
-                   std::stack<vertex_descriptor>& ordered_vertices)
-        : incoming(incoming), distance(distance), 
-          path_count(path_count), ordered_vertices(ordered_vertices) { }
-
-      /// Keep track of vertices as they are reached
-      void examine_vertex(vertex_descriptor v, Graph&)
-      {
-        ordered_vertices.push(v);
-      }
-
-      /**
-       * Whenever an edge e = (v, w) is labelled a tree edge, the
-       * incoming edge list for w is set to {(v, w)} and the shortest
-       * path count of w is set to the number of paths that reach {v}.
-       */
-      void tree_edge(edge_descriptor e, Graph& g)
-      {
-        vertex_descriptor v = source(e, g);
-        vertex_descriptor w = target(e, g);
-        put(distance, w, get(distance, v) + 1);
-        
-        put(path_count, w, get(path_count, v));
-        incoming[w].push_back(e);
-      }
-
-      /**
-       * If an edge e = (v, w) is not a tree edge, it may still be the
-       * case that we've found more equally-short paths, so include (v, w)
-       * in the incoming edge list of w and add all of the shortest
-       * paths to v to the shortest path count of w.
-       */
-      void non_tree_edge(edge_descriptor e, Graph& g)
-      {
-        vertex_descriptor v = source(e, g);
-        vertex_descriptor w = target(e, g);
-        if (get(distance, w) == get(distance, v) + 1) {
-          put(path_count, w, get(path_count, w) + get(path_count, v));
-          incoming[w].push_back(e);
-        }
-      }
-
-    private:
-      IncomingMap incoming;
-      DistanceMap distance;
-      PathCountMap path_count;
-      std::stack<vertex_descriptor>& ordered_vertices;
-    };
-
-    template<typename Graph, typename IncomingMap, typename DistanceMap, 
-             typename PathCountMap, typename VertexIndexMap>
-    void 
-    operator()(Graph& g, 
-               typename graph_traits<Graph>::vertex_descriptor s,
-               std::stack<typename graph_traits<Graph>::vertex_descriptor>& ov,
-               IncomingMap incoming,
-               DistanceMap distance,
-               PathCountMap path_count,
-               VertexIndexMap vertex_index)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor
-        vertex_descriptor;
-
-      visitor_type<Graph, IncomingMap, DistanceMap, PathCountMap>
-        visitor(incoming, distance, path_count, ov);
-      
-      std::vector<default_color_type> 
-        colors(num_vertices(g), color_traits<default_color_type>::white());
-      boost::queue<vertex_descriptor> Q;
-      breadth_first_visit(g, s, Q, visitor, 
-                          make_iterator_property_map(colors.begin(), 
-                                                     vertex_index));
-    }
-  };
-
-  // When the edge centrality map is a dummy property map, no
-  // initialization is needed.
-  template<typename Iter>
-  inline void 
-  init_centrality_map(std::pair<Iter, Iter>, dummy_property_map) { }
-
-  // When we have a real edge centrality map, initialize all of the
-  // centralities to zero.
-  template<typename Iter, typename Centrality>
-  void 
-  init_centrality_map(std::pair<Iter, Iter> keys, Centrality centrality_map)
-  {
-    typedef typename property_traits<Centrality>::value_type 
-      centrality_type;
-    while (keys.first != keys.second) {
-      put(centrality_map, *keys.first, centrality_type(0));
-      ++keys.first;
-    }
-  }
-
-  // When the edge centrality map is a dummy property map, no update
-  // is performed.
-  template<typename Key, typename T>
-  inline void 
-  update_centrality(dummy_property_map, const Key&, const T&) { }
-
-  // When we have a real edge centrality map, add the value to the map
-  template<typename CentralityMap, typename Key, typename T>
-  inline void 
-  update_centrality(CentralityMap centrality_map, Key k, const T& x)
-  { put(centrality_map, k, get(centrality_map, k) + x); }
-
-  template<typename Iter>
-  inline void 
-  divide_centrality_by_two(std::pair<Iter, Iter>, dummy_property_map) {}
-
-  template<typename Iter, typename CentralityMap>
-  inline void
-  divide_centrality_by_two(std::pair<Iter, Iter> keys, 
-                           CentralityMap centrality_map)
-  {
-    typename property_traits<CentralityMap>::value_type two(2);
-    while (keys.first != keys.second) {
-      put(centrality_map, *keys.first, get(centrality_map, *keys.first) / two);
-      ++keys.first;
-    }
-  }
-
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename IncomingMap, typename DistanceMap, 
-           typename DependencyMap, typename PathCountMap,
-           typename VertexIndexMap, typename ShortestPaths>
-  void 
-  brandes_betweenness_centrality_impl(const Graph& g, 
-                                      CentralityMap centrality,     // C_B
-                                      EdgeCentralityMap edge_centrality_map,
-                                      IncomingMap incoming, // P
-                                      DistanceMap distance,         // d
-                                      DependencyMap dependency,     // delta
-                                      PathCountMap path_count,      // sigma
-                                      VertexIndexMap vertex_index,
-                                      ShortestPaths shortest_paths)
-  {
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    // Initialize centrality
-    init_centrality_map(vertices(g), centrality);
-    init_centrality_map(edges(g), edge_centrality_map);
-
-    std::stack<vertex_descriptor> ordered_vertices;
-    vertex_iterator s, s_end;
-    for (boost::tie(s, s_end) = vertices(g); s != s_end; ++s) {
-      // Initialize for this iteration
-      vertex_iterator w, w_end;
-      for (boost::tie(w, w_end) = vertices(g); w != w_end; ++w) {
-        incoming[*w].clear();
-        put(path_count, *w, 0);
-        put(dependency, *w, 0);
-      }
-      put(path_count, *s, 1);
-      
-      // Execute the shortest paths algorithm. This will be either
-      // Dijkstra's algorithm or a customized breadth-first search,
-      // depending on whether the graph is weighted or unweighted.
-      shortest_paths(g, *s, ordered_vertices, incoming, distance,
-                     path_count, vertex_index);
-      
-      while (!ordered_vertices.empty()) {
-        vertex_descriptor w = ordered_vertices.top();
-        ordered_vertices.pop();
-        
-        typedef typename property_traits<IncomingMap>::value_type
-          incoming_type;
-        typedef typename incoming_type::iterator incoming_iterator;
-        typedef typename property_traits<DependencyMap>::value_type 
-          dependency_type;
-        
-        for (incoming_iterator vw = incoming[w].begin();
-             vw != incoming[w].end(); ++vw) {
-          vertex_descriptor v = source(*vw, g);
-          dependency_type factor = dependency_type(get(path_count, v))
-            / dependency_type(get(path_count, w));
-          factor *= (dependency_type(1) + get(dependency, w));
-          put(dependency, v, get(dependency, v) + factor);
-          update_centrality(edge_centrality_map, *vw, factor);
-        }
-        
-        if (w != *s) {
-          update_centrality(centrality, w, get(dependency, w));
-        }
-      }
-    }
-
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    const bool is_undirected = 
-      is_convertible<directed_category*, undirected_tag*>::value;
-    if (is_undirected) {
-      divide_centrality_by_two(vertices(g), centrality);
-      divide_centrality_by_two(edges(g), edge_centrality_map);
-    }
-  }
-
-} } // end namespace detail::graph
-
-template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-         typename IncomingMap, typename DistanceMap, 
-         typename DependencyMap, typename PathCountMap, 
-         typename VertexIndexMap>
-void 
-brandes_betweenness_centrality(const Graph& g, 
-                               CentralityMap centrality,     // C_B
-                               EdgeCentralityMap edge_centrality_map,
-                               IncomingMap incoming, // P
-                               DistanceMap distance,         // d
-                               DependencyMap dependency,     // delta
-                               PathCountMap path_count,      // sigma
-                               VertexIndexMap vertex_index
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-{
-  detail::graph::brandes_unweighted_shortest_paths shortest_paths;
-
-  detail::graph::brandes_betweenness_centrality_impl(g, centrality, 
-                                                     edge_centrality_map,
-                                                     incoming, distance,
-                                                     dependency, path_count,
-                                                     vertex_index, 
-                                                     shortest_paths);
-}
-
-template<typename Graph, typename CentralityMap, typename EdgeCentralityMap, 
-         typename IncomingMap, typename DistanceMap, 
-         typename DependencyMap, typename PathCountMap, 
-         typename VertexIndexMap, typename WeightMap>    
-void 
-brandes_betweenness_centrality(const Graph& g, 
-                               CentralityMap centrality,     // C_B
-                               EdgeCentralityMap edge_centrality_map,
-                               IncomingMap incoming, // P
-                               DistanceMap distance,         // d
-                               DependencyMap dependency,     // delta
-                               PathCountMap path_count,      // sigma
-                               VertexIndexMap vertex_index,
-                               WeightMap weight_map
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-{
-  detail::graph::brandes_dijkstra_shortest_paths<WeightMap>
-    shortest_paths(weight_map);
-
-  detail::graph::brandes_betweenness_centrality_impl(g, centrality, 
-                                                     edge_centrality_map,
-                                                     incoming, distance,
-                                                     dependency, path_count,
-                                                     vertex_index, 
-                                                     shortest_paths);
-}
-
-namespace detail { namespace graph {
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename WeightMap, typename VertexIndexMap>
-  void 
-  brandes_betweenness_centrality_dispatch2(const Graph& g,
-                                           CentralityMap centrality,
-                                           EdgeCentralityMap edge_centrality_map,
-                                           WeightMap weight_map,
-                                           VertexIndexMap vertex_index)
-  {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    typedef typename mpl::if_c<(is_same<CentralityMap, 
-                                        dummy_property_map>::value),
-                                         EdgeCentralityMap, 
-                               CentralityMap>::type a_centrality_map;
-    typedef typename property_traits<a_centrality_map>::value_type 
-      centrality_type;
-
-    typename graph_traits<Graph>::vertices_size_type V = num_vertices(g);
-    
-    std::vector<std::vector<edge_descriptor> > incoming(V);
-    std::vector<centrality_type> distance(V);
-    std::vector<centrality_type> dependency(V);
-    std::vector<degree_size_type> path_count(V);
-
-    brandes_betweenness_centrality(
-      g, centrality, edge_centrality_map,
-      make_iterator_property_map(incoming.begin(), vertex_index),
-      make_iterator_property_map(distance.begin(), vertex_index),
-      make_iterator_property_map(dependency.begin(), vertex_index),
-      make_iterator_property_map(path_count.begin(), vertex_index),
-      vertex_index,
-      weight_map);
-  }
-  
-
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename VertexIndexMap>
-  void 
-  brandes_betweenness_centrality_dispatch2(const Graph& g,
-                                           CentralityMap centrality,
-                                           EdgeCentralityMap edge_centrality_map,
-                                           VertexIndexMap vertex_index)
-  {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    typedef typename mpl::if_c<(is_same<CentralityMap, 
-                                        dummy_property_map>::value),
-                                         EdgeCentralityMap, 
-                               CentralityMap>::type a_centrality_map;
-    typedef typename property_traits<a_centrality_map>::value_type 
-      centrality_type;
-
-    typename graph_traits<Graph>::vertices_size_type V = num_vertices(g);
-    
-    std::vector<std::vector<edge_descriptor> > incoming(V);
-    std::vector<centrality_type> distance(V);
-    std::vector<centrality_type> dependency(V);
-    std::vector<degree_size_type> path_count(V);
-
-    brandes_betweenness_centrality(
-      g, centrality, edge_centrality_map,
-      make_iterator_property_map(incoming.begin(), vertex_index),
-      make_iterator_property_map(distance.begin(), vertex_index),
-      make_iterator_property_map(dependency.begin(), vertex_index),
-      make_iterator_property_map(path_count.begin(), vertex_index),
-      vertex_index);
-  }
-
-  template<typename WeightMap>
-  struct brandes_betweenness_centrality_dispatch1
-  {
-    template<typename Graph, typename CentralityMap, 
-             typename EdgeCentralityMap, typename VertexIndexMap>
-    static void 
-    run(const Graph& g, CentralityMap centrality, 
-        EdgeCentralityMap edge_centrality_map, VertexIndexMap vertex_index,
-        WeightMap weight_map)
-    {
-      brandes_betweenness_centrality_dispatch2(g, centrality, edge_centrality_map,
-                                               weight_map, vertex_index);
-    }
-  };
-
-  template<>
-  struct brandes_betweenness_centrality_dispatch1<param_not_found>
-  {
-    template<typename Graph, typename CentralityMap, 
-             typename EdgeCentralityMap, typename VertexIndexMap>
-    static void 
-    run(const Graph& g, CentralityMap centrality, 
-        EdgeCentralityMap edge_centrality_map, VertexIndexMap vertex_index,
-        param_not_found)
-    {
-      brandes_betweenness_centrality_dispatch2(g, centrality, edge_centrality_map,
-                                               vertex_index);
-    }
-  };
-
-  template <typename T>
-  struct is_bgl_named_params {
-    BOOST_STATIC_CONSTANT(bool, value = false);
-  };
-
-  template <typename Param, typename Tag, typename Rest>
-  struct is_bgl_named_params<bgl_named_params<Param, Tag, Rest> > {
-    BOOST_STATIC_CONSTANT(bool, value = true);
-  };
-
-} } // end namespace detail::graph
-
-template<typename Graph, typename Param, typename Tag, typename Rest>
-void 
-brandes_betweenness_centrality(const Graph& g, 
-                               const bgl_named_params<Param,Tag,Rest>& params
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-{
-  typedef bgl_named_params<Param,Tag,Rest> named_params;
-
-  typedef typename get_param_type<edge_weight_t, named_params>::type ew;
-  detail::graph::brandes_betweenness_centrality_dispatch1<ew>::run(
-    g, 
-    choose_param(get_param(params, vertex_centrality), 
-                 dummy_property_map()),
-    choose_param(get_param(params, edge_centrality), 
-                 dummy_property_map()),
-    choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-    get_param(params, edge_weight));
-}
-
-// disable_if is required to work around problem with MSVC 7.1 (it seems to not
-// get partial ordering getween this overload and the previous one correct)
-template<typename Graph, typename CentralityMap>
-typename disable_if<detail::graph::is_bgl_named_params<CentralityMap>,
-                    void>::type
-brandes_betweenness_centrality(const Graph& g, CentralityMap centrality
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-{
-  detail::graph::brandes_betweenness_centrality_dispatch2(
-    g, centrality, dummy_property_map(), get(vertex_index, g));
-}
-
-template<typename Graph, typename CentralityMap, typename EdgeCentralityMap>
-void 
-brandes_betweenness_centrality(const Graph& g, CentralityMap centrality,
-                               EdgeCentralityMap edge_centrality_map
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-{
-  detail::graph::brandes_betweenness_centrality_dispatch2(
-    g, centrality, edge_centrality_map, get(vertex_index, g));
-}
-
-/**
- * Converts "absolute" betweenness centrality (as computed by the
- * brandes_betweenness_centrality algorithm) in the centrality map
- * into "relative" centrality. The result is placed back into the
- * given centrality map.
- */
-template<typename Graph, typename CentralityMap>
-void 
-relative_betweenness_centrality(const Graph& g, CentralityMap centrality)
-{
-  typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-  typedef typename property_traits<CentralityMap>::value_type centrality_type;
-
-  typename graph_traits<Graph>::vertices_size_type n = num_vertices(g);
-  centrality_type factor = centrality_type(2)/centrality_type(n*n - 3*n + 2);
-  vertex_iterator v, v_end;
-  for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-    put(centrality, *v, factor * get(centrality, *v));
-  }
-}
-
-// Compute the central point dominance of a graph.
-template<typename Graph, typename CentralityMap>
-typename property_traits<CentralityMap>::value_type
-central_point_dominance(const Graph& g, CentralityMap centrality
-                        BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-{
-  using std::max;
-
-  typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-  typedef typename property_traits<CentralityMap>::value_type centrality_type;
-
-  typename graph_traits<Graph>::vertices_size_type n = num_vertices(g);
-
-  // Find max centrality
-  centrality_type max_centrality(0);
-  vertex_iterator v, v_end;
-  for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-    max_centrality = (max)(max_centrality, get(centrality, *v));
-  }
-
-  // Compute central point dominance
-  centrality_type sum(0);
-  for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-    sum += (max_centrality - get(centrality, *v));
-  }
-  return sum/(n-1);
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_BRANDES_BETWEENNESS_CENTRALITY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/biconnected_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/biconnected_components.hpp
deleted file mode 100644
index 1669f69..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/biconnected_components.hpp
+++ /dev/null
@@ -1,417 +0,0 @@
-// Copyright (c) Jeremy Siek 2001
-// Copyright (c) Douglas Gregor 2004
-//
-// Distributed under the 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 final is generated by libs/graph/doc/biconnected_components.w
-
-#ifndef BOOST_GRAPH_BICONNECTED_COMPONENTS_HPP
-#define BOOST_GRAPH_BICONNECTED_COMPONENTS_HPP
-
-#include <stack>
-#include <vector>
-#include <algorithm> // for std::min and std::max
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/graph/graph_utility.hpp>
-#include <boost/concept/assert.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-  namespace detail
-  {
-    template<typename ComponentMap, typename DiscoverTimeMap,
-             typename LowPointMap, typename PredecessorMap,
-             typename OutputIterator, typename Stack,
-             typename ArticulationVector, typename IndexMap,
-             typename DFSVisitor>
-    struct biconnected_components_visitor : public dfs_visitor<>
-    {
-      biconnected_components_visitor
-        (ComponentMap comp, std::size_t& c, 
-         std::size_t& children_of_root, DiscoverTimeMap dtm,
-         std::size_t& dfs_time, LowPointMap lowpt, PredecessorMap pred,
-         OutputIterator out, Stack& S,
-         ArticulationVector& is_articulation_point, IndexMap index_map,
-         DFSVisitor vis)
-          : comp(comp), c(c), children_of_root(children_of_root),
-            dtm(dtm), dfs_time(dfs_time), lowpt(lowpt),
-            pred(pred), out(out), S(S),
-            is_articulation_point(is_articulation_point),
-            index_map(index_map), vis(vis) { }
-
-      template <typename Vertex, typename Graph>
-      void initialize_vertex(const Vertex& u, Graph& g)
-      {
-        put(pred, u, u);
-        vis.initialize_vertex(u, g);
-      }
-
-      template <typename Vertex, typename Graph>
-      void start_vertex(const Vertex& u, Graph& g)
-      {
-        children_of_root = 0;
-        vis.start_vertex(u, g);
-      }
-
-      template <typename Vertex, typename Graph>
-      void discover_vertex(const Vertex& u, Graph& g)
-      {
-        put(dtm, u, ++dfs_time);
-        put(lowpt, u, get(dtm, u));
-        vis.discover_vertex(u, g);
-      }
-
-      template <typename Edge, typename Graph>
-      void examine_edge(const Edge& e, Graph& g)
-      {
-        vis.examine_edge(e, g);
-      }
-
-      template <typename Edge, typename Graph>
-      void tree_edge(const Edge& e, Graph& g)
-      {
-        typename boost::graph_traits<Graph>::vertex_descriptor src = source(e, g);
-        typename boost::graph_traits<Graph>::vertex_descriptor tgt = target(e, g);
-
-        S.push(e);
-        put(pred, tgt, src);
-        if ( get(pred, src) == src ) {
-          ++children_of_root;
-        }
-        vis.tree_edge(e, g);
-      }
-
-      template <typename Edge, typename Graph>
-      void back_edge(const Edge& e, Graph& g)
-      {
-        BOOST_USING_STD_MIN();
-
-        typename boost::graph_traits<Graph>::vertex_descriptor src = source(e, g);
-        typename boost::graph_traits<Graph>::vertex_descriptor tgt = target(e, g);
-        if ( tgt != get(pred, src) ) {
-          S.push(e);
-          put(lowpt, src,
-              min BOOST_PREVENT_MACRO_SUBSTITUTION(get(lowpt, src),
-                                                   get(dtm, tgt)));
-        }
-        vis.back_edge(e, g);
-      }
-
-      template <typename Edge, typename Graph>
-      void forward_or_cross_edge(const Edge& e, Graph& g)
-      {
-        vis.forward_or_cross_edge(e, g);
-      }
-
-      template <typename Vertex, typename Graph>
-      void finish_vertex(const Vertex& u, Graph& g)
-      {
-        BOOST_USING_STD_MIN();
-        Vertex parent = get(pred, u);
-        if (parent == u) { // Root of tree is special
-          is_articulation_point[get(index_map, u)] = (children_of_root > 1);
-        } else {
-          put(lowpt, parent,
-              min BOOST_PREVENT_MACRO_SUBSTITUTION(get(lowpt, parent),
-                                                 get(lowpt, u)));
-          if ( get(lowpt, u) >= get(dtm, parent) ) {
-            is_articulation_point[get(index_map, parent)] = true;
-            while ( get(dtm, source(S.top(), g)) >= get(dtm, u) ) {
-              put(comp, S.top(), c);
-              S.pop();
-            }
-            BOOST_ASSERT (source(S.top(), g) == parent);
-            BOOST_ASSERT (target(S.top(), g) == u);
-            put(comp, S.top(), c);
-            S.pop();
-            ++c;
-          }
-        }
-        if ( is_articulation_point[get(index_map, u)] ) {
-          *out++ = u;
-        }
-        vis.finish_vertex(u, g);
-      }
-
-      ComponentMap comp;
-      std::size_t& c;
-      std::size_t& children_of_root;
-      DiscoverTimeMap dtm;
-      std::size_t& dfs_time;
-      LowPointMap lowpt;
-      PredecessorMap pred;
-      OutputIterator out;
-      Stack& S;
-      ArticulationVector& is_articulation_point;
-      IndexMap index_map;
-      DFSVisitor vis;
-    };
-
-  template<typename Graph, typename ComponentMap, typename OutputIterator,
-        typename VertexIndexMap, typename DiscoverTimeMap, typename LowPointMap,
-        typename PredecessorMap, typename DFSVisitor>
-  std::pair<std::size_t, OutputIterator>
-    biconnected_components_impl(const Graph & g, ComponentMap comp,
-        OutputIterator out, VertexIndexMap index_map, DiscoverTimeMap dtm,
-        LowPointMap lowpt, PredecessorMap pred, DFSVisitor dfs_vis)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<ComponentMap, edge_t> ));
-    BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<DiscoverTimeMap,
-                                                  vertex_t> ));
-    BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<LowPointMap, vertex_t > ));
-    BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<PredecessorMap,
-                                                  vertex_t> ));
-
-    std::size_t num_components = 0;
-    std::size_t children_of_root;
-    std::size_t dfs_time = 0;
-    std::stack<edge_t> S;
-        std::vector<char> is_articulation_point(num_vertices(g));
-
-    biconnected_components_visitor<ComponentMap, DiscoverTimeMap,
-        LowPointMap, PredecessorMap, OutputIterator, std::stack<edge_t>, 
-        std::vector<char>, VertexIndexMap, DFSVisitor>
-    vis(comp, num_components, children_of_root, dtm, dfs_time,
-        lowpt, pred, out, S, is_articulation_point, index_map, dfs_vis);
-
-    depth_first_search(g, visitor(vis).vertex_index_map(index_map));
-
-    return std::pair<std::size_t, OutputIterator>(num_components, vis.out);
-  }
-
-    template <typename PredecessorMap>
-    struct bicomp_dispatch3
-    {
-  template<typename Graph, typename ComponentMap, typename OutputIterator,
-                typename VertexIndexMap, typename DiscoverTimeMap, 
-                typename LowPointMap, class P, class T, class R>
-      static std::pair<std::size_t, OutputIterator> apply (const Graph & g, 
-          ComponentMap comp, OutputIterator out, VertexIndexMap index_map, 
-          DiscoverTimeMap dtm, LowPointMap lowpt, 
-          const bgl_named_params<P, T, R>& params, PredecessorMap pred)
-      {
-        return biconnected_components_impl
-                (g, comp, out, index_map, dtm, lowpt, pred,
-                 choose_param(get_param(params, graph_visitor),
-                    make_dfs_visitor(null_visitor())));
-      }
-    };
-    
-    template <>
-    struct bicomp_dispatch3<param_not_found>
-    {
-      template<typename Graph, typename ComponentMap, typename OutputIterator,
-                typename VertexIndexMap, typename DiscoverTimeMap, 
-                typename LowPointMap, class P, class T, class R>
-      static std::pair<std::size_t, OutputIterator> apply (const Graph & g, 
-          ComponentMap comp, OutputIterator out, VertexIndexMap index_map, 
-          DiscoverTimeMap dtm, LowPointMap lowpt, 
-          const bgl_named_params<P, T, R>& params, 
-          param_not_found)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    std::vector<vertex_t> pred(num_vertices(g));
-    vertex_t vert = graph_traits<Graph>::null_vertex();
-
-        return biconnected_components_impl
-                (g, comp, out, index_map, dtm, lowpt, 
-              make_iterator_property_map(pred.begin(), index_map, vert),
-                 choose_param(get_param(params, graph_visitor),
-                    make_dfs_visitor(null_visitor())));
-  }
-    };
-
-    template <typename LowPointMap>
-    struct bicomp_dispatch2
-    {
-  template<typename Graph, typename ComponentMap, typename OutputIterator,
-                typename VertexIndexMap, typename DiscoverTimeMap, 
-                typename P, typename T, typename R>
-      static std::pair<std::size_t, OutputIterator> apply (const Graph& g, 
-          ComponentMap comp, OutputIterator out, VertexIndexMap index_map, 
-          DiscoverTimeMap dtm, const bgl_named_params<P, T, R>& params, 
-          LowPointMap lowpt)
-      {
-        typedef typename get_param_type< vertex_predecessor_t, bgl_named_params<P,T,R> >::type dispatch_type;
-
-        return bicomp_dispatch3<dispatch_type>::apply
-            (g, comp, out, index_map, dtm, lowpt, params, 
-             get_param(params, vertex_predecessor));
-      }
-    };
-
-
-    template <>
-    struct bicomp_dispatch2<param_not_found>
-    {
-      template<typename Graph, typename ComponentMap, typename OutputIterator,
-                typename VertexIndexMap, typename DiscoverTimeMap, 
-                typename P, typename T, typename R>
-      static std::pair<std::size_t, OutputIterator> apply (const Graph& g, 
-          ComponentMap comp, OutputIterator out, VertexIndexMap index_map, 
-          DiscoverTimeMap dtm, const bgl_named_params<P, T, R>& params, 
-          param_not_found)
-  {
-    typedef typename graph_traits<Graph>::vertices_size_type
-      vertices_size_type;
-    std::vector<vertices_size_type> lowpt(num_vertices(g));
-        vertices_size_type vst(0);
-
-        typedef typename get_param_type< vertex_predecessor_t, bgl_named_params<P,T,R> >::type dispatch_type;
-  
-        return bicomp_dispatch3<dispatch_type>::apply
-            (g, comp, out, index_map, dtm,
-             make_iterator_property_map(lowpt.begin(), index_map, vst),
-             params, get_param(params, vertex_predecessor));
-      }
-    };
-
-    template <typename DiscoverTimeMap>
-    struct bicomp_dispatch1
-    {
-      template<typename Graph, typename ComponentMap, typename OutputIterator,
-                typename VertexIndexMap, class P, class T, class R>
-      static std::pair<std::size_t, OutputIterator> apply(const Graph& g, 
-          ComponentMap comp, OutputIterator out, VertexIndexMap index_map, 
-          const bgl_named_params<P, T, R>& params, DiscoverTimeMap dtm)
-      {
-        typedef typename get_param_type< vertex_lowpoint_t, bgl_named_params<P,T,R> >::type dispatch_type;
-
-        return bicomp_dispatch2<dispatch_type>::apply
-            (g, comp, out, index_map, dtm, params, 
-             get_param(params, vertex_lowpoint));
-      }
-    };
-
-    template <>
-    struct bicomp_dispatch1<param_not_found>
-    {
-      template<typename Graph, typename ComponentMap, typename OutputIterator,
-                typename VertexIndexMap, class P, class T, class R>
-      static std::pair<std::size_t, OutputIterator> apply(const Graph& g, 
-          ComponentMap comp, OutputIterator out, VertexIndexMap index_map, 
-          const bgl_named_params<P, T, R>& params, param_not_found)
-      {
-        typedef typename graph_traits<Graph>::vertices_size_type
-            vertices_size_type;
-        std::vector<vertices_size_type> discover_time(num_vertices(g));
-    vertices_size_type vst(0);
-
-        typedef typename get_param_type< vertex_lowpoint_t, bgl_named_params<P,T,R> >::type dispatch_type;
-
-        return bicomp_dispatch2<dispatch_type>::apply
-            (g, comp, out, index_map, 
-              make_iterator_property_map(discover_time.begin(), index_map, vst),
-             params, get_param(params, vertex_lowpoint));
-      }
-    };
-
-  }
-
-  template<typename Graph, typename ComponentMap, typename OutputIterator,
-      typename DiscoverTimeMap, typename LowPointMap>
-  std::pair<std::size_t, OutputIterator>
-  biconnected_components(const Graph& g, ComponentMap comp, 
-      OutputIterator out, DiscoverTimeMap dtm, LowPointMap lowpt)
-  {
-    typedef param_not_found dispatch_type;
-
-    return detail::bicomp_dispatch3<dispatch_type>::apply
-            (g, comp, out, 
-             get(vertex_index, g), 
-             dtm, lowpt, 
-             bgl_named_params<int, buffer_param_t>(0), 
-             param_not_found());
-  }
-
-  template <typename Graph, typename ComponentMap, typename OutputIterator,
-      typename P, typename T, typename R>
-  std::pair<std::size_t, OutputIterator>
-  biconnected_components(const Graph& g, ComponentMap comp, OutputIterator out, 
-      const bgl_named_params<P, T, R>& params)
-  {
-    typedef typename get_param_type< vertex_discover_time_t, bgl_named_params<P,T,R> >::type dispatch_type;
-
-    return detail::bicomp_dispatch1<dispatch_type>::apply(g, comp, out, 
-        choose_const_pmap(get_param(params, vertex_index), g, vertex_index), 
-        params, get_param(params, vertex_discover_time));
-  }
-
-  template < typename Graph, typename ComponentMap, typename OutputIterator>
-  std::pair<std::size_t, OutputIterator>
-  biconnected_components(const Graph& g, ComponentMap comp, OutputIterator out)
-  {
-    return biconnected_components(g, comp, out,  
-        bgl_named_params<int, buffer_param_t>(0));
-  }
-
-  namespace graph_detail {
-    struct dummy_output_iterator
-    {
-      typedef std::output_iterator_tag iterator_category;
-      typedef void value_type;
-      typedef void pointer;
-      typedef void difference_type;
-
-      struct reference {
-        template<typename T>
-        reference& operator=(const T&) { return *this; }
-      };
-
-      reference operator*() const { return reference(); }
-      dummy_output_iterator& operator++() { return *this; }
-      dummy_output_iterator operator++(int) { return *this; }
-    };
-  } // end namespace graph_detail
-
-  template <typename Graph, typename ComponentMap,
-      typename P, typename T, typename R>
-  std::size_t
-  biconnected_components(const Graph& g, ComponentMap comp, 
-      const bgl_named_params<P, T, R>& params)
-  {
-    return biconnected_components(g, comp,
-        graph_detail::dummy_output_iterator(), params).first;
-  }
-
-  template <typename Graph, typename ComponentMap>
-  std::size_t
-  biconnected_components(const Graph& g, ComponentMap comp)
-  {
-    return biconnected_components(g, comp,
-                                  graph_detail::dummy_output_iterator()).first;
-  }
-
-  template<typename Graph, typename OutputIterator, 
-      typename P, typename T, typename R>
-  OutputIterator
-  articulation_points(const Graph& g, OutputIterator out, 
-      const bgl_named_params<P, T, R>& params)
-  {
-    return biconnected_components(g, dummy_property_map(), out, 
-        params).second;
-  }
-
-  template<typename Graph, typename OutputIterator>
-  OutputIterator
-  articulation_points(const Graph& g, OutputIterator out)
-  {
-    return biconnected_components(g, dummy_property_map(), out, 
-        bgl_named_params<int, buffer_param_t>(0)).second;
-  }
-
-}                               // namespace boost
-
-#endif  /* BOOST_GRAPH_BICONNECTED_COMPONENTS_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bipartite.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/bipartite.hpp
deleted file mode 100644
index 74316fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bipartite.hpp
+++ /dev/null
@@ -1,381 +0,0 @@
-/**
- *
- * Copyright (c) 2010 Matthias Walter (xammy at xammy.homelinux.net)
- *
- * Authors: Matthias Walter
- *
- * Distributed under the 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_GRAPH_BIPARTITE_HPP
-#define BOOST_GRAPH_BIPARTITE_HPP
-
-#include <utility>
-#include <vector>
-#include <exception>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/graph/one_bit_color_map.hpp>
-#include <boost/bind.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    /**
-     * The bipartite_visitor_error is thrown if an edge cannot be colored.
-     * The witnesses are the edges incident vertices.
-     */
-
-    template <typename Vertex>
-    struct bipartite_visitor_error: std::exception
-    {
-      std::pair <Vertex, Vertex> witnesses;
-
-      bipartite_visitor_error (Vertex a, Vertex b) :
-        witnesses (a, b)
-      {
-
-      }
-
-      const char* what () const throw ()
-      {
-        return "Graph is not bipartite.";
-      }
-    };
-
-    /**
-     * Functor which colors edges to be non-monochromatic.
-     */
-
-    template <typename PartitionMap>
-    struct bipartition_colorize
-    {
-      typedef on_tree_edge event_filter;
-
-      bipartition_colorize (PartitionMap partition_map) :
-        partition_map_ (partition_map)
-      {
-
-      }
-
-      template <typename Edge, typename Graph>
-      void operator() (Edge e, const Graph& g)
-      {
-        typedef typename graph_traits <Graph>::vertex_descriptor vertex_descriptor_t;
-        typedef color_traits <typename property_traits <PartitionMap>::value_type> color_traits;
-
-        vertex_descriptor_t source_vertex = source (e, g);
-        vertex_descriptor_t target_vertex = target (e, g);
-        if (get (partition_map_, source_vertex) == color_traits::white ())
-          put (partition_map_, target_vertex, color_traits::black ());
-        else
-          put (partition_map_, target_vertex, color_traits::white ());
-      }
-
-    private:
-      PartitionMap partition_map_;
-    };
-
-    /**
-     * Creates a bipartition_colorize functor which colors edges
-     * to be non-monochromatic.
-     *
-     * @param partition_map Color map for the bipartition
-     * @return The functor.
-     */
-
-    template <typename PartitionMap>
-    inline bipartition_colorize <PartitionMap> colorize_bipartition (PartitionMap partition_map)
-    {
-      return bipartition_colorize <PartitionMap> (partition_map);
-    }
-
-    /**
-     * Functor which tests an edge to be monochromatic.
-     */
-
-    template <typename PartitionMap>
-    struct bipartition_check
-    {
-      typedef on_back_edge event_filter;
-
-      bipartition_check (PartitionMap partition_map) :
-        partition_map_ (partition_map)
-      {
-
-      }
-
-      template <typename Edge, typename Graph>
-      void operator() (Edge e, const Graph& g)
-      {
-        typedef typename graph_traits <Graph>::vertex_descriptor vertex_descriptor_t;
-
-        vertex_descriptor_t source_vertex = source (e, g);
-        vertex_descriptor_t target_vertex = target (e, g);
-        if (get (partition_map_, source_vertex) == get (partition_map_, target_vertex))
-          throw bipartite_visitor_error <vertex_descriptor_t> (source_vertex, target_vertex);
-      }
-
-    private:
-      PartitionMap partition_map_;
-    };
-
-    /**
-     * Creates a bipartition_check functor which raises an error if a
-     * monochromatic edge is found.
-     *
-     * @param partition_map The map for a bipartition.
-     * @return The functor.
-     */
-
-    template <typename PartitionMap>
-    inline bipartition_check <PartitionMap> check_bipartition (PartitionMap partition_map)
-    {
-      return bipartition_check <PartitionMap> (partition_map);
-    }
-
-    /**
-     * Find the beginning of a common suffix of two sequences
-     * 
-     * @param sequence1 Pair of bidirectional iterators defining the first sequence.
-     * @param sequence2 Pair of bidirectional iterators defining the second sequence.
-     * @return Pair of iterators pointing to the beginning of the common suffix.
-     */
-
-    template <typename BiDirectionalIterator1, typename BiDirectionalIterator2>
-    inline std::pair <BiDirectionalIterator1, BiDirectionalIterator2> reverse_mismatch (std::pair <
-        BiDirectionalIterator1, BiDirectionalIterator1> sequence1, std::pair <BiDirectionalIterator2,
-        BiDirectionalIterator2> sequence2)
-    {
-      if (sequence1.first == sequence1.second || sequence2.first == sequence2.second)
-        return std::make_pair (sequence1.first, sequence2.first);
-
-      BiDirectionalIterator1 iter1 = sequence1.second;
-      BiDirectionalIterator2 iter2 = sequence2.second;
-
-      while (true)
-      {
-        --iter1;
-        --iter2;
-        if (*iter1 != *iter2)
-        {
-          ++iter1;
-          ++iter2;
-          break;
-        }
-        if (iter1 == sequence1.first)
-          break;
-        if (iter2 == sequence2.first)
-          break;
-      }
-
-      return std::make_pair (iter1, iter2);
-    }
-
-  }
-
-  /**
-   * Checks a given graph for bipartiteness and fills the given color map with
-   * white and black according to the bipartition. If the graph is not
-   * bipartite, the contents of the color map are undefined. Runs in linear
-   * time in the size of the graph, if access to the property maps is in
-   * constant time.
-   *
-   * @param graph The given graph.
-   * @param index_map An index map associating vertices with an index.
-   * @param partition_map A color map to fill with the bipartition.
-   * @return true if and only if the given graph is bipartite.
-   */
-
-  template <typename Graph, typename IndexMap, typename PartitionMap>
-  bool is_bipartite (const Graph& graph, const IndexMap index_map, PartitionMap partition_map)
-  {
-    /// General types and variables
-    typedef typename property_traits <PartitionMap>::value_type partition_color_t;
-    typedef typename graph_traits <Graph>::vertex_descriptor vertex_descriptor_t;
-
-    /// Declare dfs visitor
-    //    detail::empty_recorder recorder;
-    //    typedef detail::bipartite_visitor <PartitionMap, detail::empty_recorder> dfs_visitor_t;
-    //    dfs_visitor_t dfs_visitor (partition_map, recorder);
-
-
-    /// Call dfs
-    try
-    {
-      depth_first_search (graph, vertex_index_map (index_map).visitor (make_dfs_visitor (std::make_pair (
-          detail::colorize_bipartition (partition_map), std::make_pair (detail::check_bipartition (partition_map),
-              put_property (partition_map, color_traits <partition_color_t>::white (), on_start_vertex ()))))));
-    }
-    catch (detail::bipartite_visitor_error <vertex_descriptor_t> error)
-    {
-      return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Checks a given graph for bipartiteness.
-   *
-   * @param graph The given graph.
-   * @param index_map An index map associating vertices with an index.
-   * @return true if and only if the given graph is bipartite.
-   */
-
-  template <typename Graph, typename IndexMap>
-  bool is_bipartite (const Graph& graph, const IndexMap index_map)
-  {
-    typedef one_bit_color_map <IndexMap> partition_map_t;
-    partition_map_t partition_map (num_vertices (graph), index_map);
-
-    return is_bipartite (graph, index_map, partition_map);
-  }
-
-  /**
-   * Checks a given graph for bipartiteness. The graph must
-   * have an internal vertex_index property. Runs in linear time in the
-   * size of the graph, if access to the property maps is in constant time.
-   *
-   * @param graph The given graph.
-   * @return true if and only if the given graph is bipartite.
-   */
-
-  template <typename Graph>
-  bool is_bipartite (const Graph& graph)
-  {
-    return is_bipartite (graph, get (vertex_index, graph));
-  }
-
-  /**
-   * Checks a given graph for bipartiteness and fills a given color map with
-   * white and black according to the bipartition. If the graph is not
-   * bipartite, a sequence of vertices, producing an odd-cycle, is written to
-   * the output iterator. The final iterator value is returned. Runs in linear
-   * time in the size of the graph, if access to the property maps is in
-   * constant time.
-   *
-   * @param graph The given graph.
-   * @param index_map An index map associating vertices with an index.
-   * @param partition_map A color map to fill with the bipartition.
-   * @param result An iterator to write the odd-cycle vertices to.
-   * @return The final iterator value after writing.
-   */
-
-  template <typename Graph, typename IndexMap, typename PartitionMap, typename OutputIterator>
-  OutputIterator find_odd_cycle (const Graph& graph, const IndexMap index_map, PartitionMap partition_map,
-      OutputIterator result)
-  {
-    /// General types and variables
-    typedef typename property_traits <PartitionMap>::value_type partition_color_t;
-    typedef typename graph_traits <Graph>::vertex_descriptor vertex_descriptor_t;
-    typedef typename graph_traits <Graph>::vertex_iterator vertex_iterator_t;
-    vertex_iterator_t vertex_iter, vertex_end;
-
-    /// Declare predecessor map
-    typedef std::vector <vertex_descriptor_t> predecessors_t;
-    typedef iterator_property_map <typename predecessors_t::iterator, IndexMap, vertex_descriptor_t,
-        vertex_descriptor_t&> predecessor_map_t;
-
-    predecessors_t predecessors (num_vertices (graph), graph_traits <Graph>::null_vertex ());
-    predecessor_map_t predecessor_map (predecessors.begin (), index_map);
-
-    /// Initialize predecessor map
-    for (boost::tie (vertex_iter, vertex_end) = vertices (graph); vertex_iter != vertex_end; ++vertex_iter)
-    {
-      put (predecessor_map, *vertex_iter, *vertex_iter);
-    }
-
-    /// Call dfs
-    try
-    {
-      depth_first_search (graph, vertex_index_map (index_map).visitor (make_dfs_visitor (std::make_pair (
-          detail::colorize_bipartition (partition_map), std::make_pair (detail::check_bipartition (partition_map),
-              std::make_pair (put_property (partition_map, color_traits <partition_color_t>::white (),
-                  on_start_vertex ()), record_predecessors (predecessor_map, on_tree_edge ())))))));
-    }
-    catch (detail::bipartite_visitor_error <vertex_descriptor_t> error)
-    {
-      typedef std::vector <vertex_descriptor_t> path_t;
-
-      path_t path1, path2;
-      vertex_descriptor_t next, current;
-
-      /// First path
-      next = error.witnesses.first;
-      do
-      {
-        current = next;
-        path1.push_back (current);
-        next = predecessor_map[current];
-      }
-      while (current != next);
-
-      /// Second path
-      next = error.witnesses.second;
-      do
-      {
-        current = next;
-        path2.push_back (current);
-        next = predecessor_map[current];
-      }
-      while (current != next);
-
-      /// Find beginning of common suffix
-      std::pair <typename path_t::iterator, typename path_t::iterator> mismatch = detail::reverse_mismatch (
-          std::make_pair (path1.begin (), path1.end ()), std::make_pair (path2.begin (), path2.end ()));
-
-      /// Copy the odd-length cycle
-      result = std::copy (path1.begin (), mismatch.first + 1, result);
-      return std::reverse_copy (path2.begin (), mismatch.second, result);
-    }
-
-    return result;
-  }
-
-  /**
-   * Checks a given graph for bipartiteness. If the graph is not bipartite, a
-   * sequence of vertices, producing an odd-cycle, is written to the output
-   * iterator. The final iterator value is returned. Runs in linear time in the
-   * size of the graph, if access to the property maps is in constant time.
-   *
-   * @param graph The given graph.
-   * @param index_map An index map associating vertices with an index.
-   * @param result An iterator to write the odd-cycle vertices to.
-   * @return The final iterator value after writing.
-   */
-
-  template <typename Graph, typename IndexMap, typename OutputIterator>
-  OutputIterator find_odd_cycle (const Graph& graph, const IndexMap index_map, OutputIterator result)
-  {
-    typedef one_bit_color_map <IndexMap> partition_map_t;
-    partition_map_t partition_map (num_vertices (graph), index_map);
-
-    return find_odd_cycle (graph, index_map, partition_map, result);
-  }
-
-  /**
-   * Checks a given graph for bipartiteness. If the graph is not bipartite, a
-   * sequence of vertices, producing an odd-cycle, is written to the output
-   * iterator. The final iterator value is returned. The graph must have an
-   * internal vertex_index property. Runs in linear time in the size of the
-   * graph, if access to the property maps is in constant time.
-   *
-   * @param graph The given graph.
-   * @param result An iterator to write the odd-cycle vertices to.
-   * @return The final iterator value after writing.
-   */
-
-  template <typename Graph, typename OutputIterator>
-  OutputIterator find_odd_cycle (const Graph& graph, OutputIterator result)
-  {
-    return find_odd_cycle (graph, get (vertex_index, graph), result);
-  }
-}
-
-#endif /// BOOST_GRAPH_BIPARTITE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/boyer_myrvold_planar_test.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/boyer_myrvold_planar_test.hpp
deleted file mode 100644
index dc01586..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/boyer_myrvold_planar_test.hpp
+++ /dev/null
@@ -1,322 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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 __BOYER_MYRVOLD_PLANAR_TEST_HPP__
-#define __BOYER_MYRVOLD_PLANAR_TEST_HPP__
-
-#include <boost/graph/planar_detail/boyer_myrvold_impl.hpp>
-#include <boost/parameter.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/bool.hpp>
-
-
-namespace boost
-{
-
-  struct no_kuratowski_subgraph_isolation {};
-  struct no_planar_embedding {};
-
-  namespace boyer_myrvold_params
-  {
-    
-    BOOST_PARAMETER_KEYWORD(tag, graph)
-    BOOST_PARAMETER_KEYWORD(tag, embedding)
-    BOOST_PARAMETER_KEYWORD(tag, kuratowski_subgraph)
-    BOOST_PARAMETER_KEYWORD(tag, vertex_index_map)
-    BOOST_PARAMETER_KEYWORD(tag, edge_index_map)
-    
-    typedef parameter::parameters< parameter::required<tag::graph>,
-                                   tag::embedding,
-                                   tag::kuratowski_subgraph,
-                                   tag::vertex_index_map,
-                                   tag::edge_index_map
-                                   > boyer_myrvold_params_t;
-    
-    namespace core
-    {
-        
-      template <typename ArgumentPack>
-      bool dispatched_boyer_myrvold(ArgumentPack const& args, 
-                                    mpl::true_, 
-                                    mpl::true_
-                                    )
-      {
-        //Dispatch for no planar embedding, no kuratowski subgraph isolation
-
-        typedef typename remove_const
-                < 
-                    typename remove_reference
-                    < typename parameter::binding
-                        < ArgumentPack, tag::graph>::type 
-                    >::type 
-                >::type graph_t;
-
-        typedef typename parameter::binding
-          < ArgumentPack, 
-            tag::vertex_index_map,
-            typename property_map
-              < typename remove_reference<graph_t>::type, 
-                vertex_index_t>::const_type
-          >::type vertex_index_map_t;
-
-        boyer_myrvold_impl
-          <graph_t, 
-           vertex_index_map_t,
-           graph::detail::no_old_handles,
-           graph::detail::no_embedding
-          >
-          planarity_tester(args[graph], 
-                           args[vertex_index_map | 
-                                get(vertex_index, args[graph])
-                                ]
-                           );
-
-        return planarity_tester.is_planar() ? true : false;
-      }
-
-
-    
-      template <typename ArgumentPack>
-      bool dispatched_boyer_myrvold(ArgumentPack const& args, 
-                                    mpl::true_, 
-                                    mpl::false_
-                                    )
-      {
-        //Dispatch for no planar embedding, kuratowski subgraph isolation
-        typedef typename remove_const
-                < 
-                    typename remove_reference
-                    < typename parameter::binding
-                        < ArgumentPack, tag::graph>::type 
-                    >::type 
-                >::type graph_t;
-        
-        typedef typename parameter::binding
-          < ArgumentPack, 
-            tag::vertex_index_map,
-            typename property_map<graph_t, vertex_index_t>::type
-          >::type vertex_index_map_t;
-      
-        boyer_myrvold_impl 
-          <graph_t, 
-           vertex_index_map_t,
-           graph::detail::store_old_handles,
-           graph::detail::no_embedding
-          >
-          planarity_tester(args[graph], 
-                           args[vertex_index_map | 
-                                get(vertex_index, args[graph])
-                                ]
-                           );
-
-        if (planarity_tester.is_planar())
-          return true;
-        else
-          {
-            planarity_tester.extract_kuratowski_subgraph
-              (args[kuratowski_subgraph],
-               args[edge_index_map|get(edge_index, args[graph])]
-               );          
-            return false;
-          }
-      }
-
-
-
-    
-      template <typename ArgumentPack>
-      bool dispatched_boyer_myrvold(ArgumentPack const& args, 
-                                    mpl::false_, 
-                                    mpl::true_
-                                    )
-      {
-        //Dispatch for planar embedding, no kuratowski subgraph isolation
-        typedef typename remove_const
-                < 
-                    typename remove_reference
-                    < typename parameter::binding
-                        < ArgumentPack, tag::graph>::type 
-                    >::type 
-                >::type graph_t;        
-        
-        typedef typename parameter::binding
-          < ArgumentPack, 
-          tag::vertex_index_map,
-          typename property_map<graph_t, vertex_index_t>::type
-          >::type  vertex_index_map_t;
-
-        boyer_myrvold_impl
-          <graph_t, 
-           vertex_index_map_t,
-           graph::detail::no_old_handles,
-#ifdef BOOST_GRAPH_PREFER_STD_LIB
-           graph::detail::std_list
-#else
-           graph::detail::recursive_lazy_list
-#endif
-          >
-          planarity_tester(args[graph], 
-                           args[vertex_index_map | 
-                                get(vertex_index, args[graph])
-                                ]
-                           );
-
-        if (planarity_tester.is_planar())
-          {
-            planarity_tester.make_edge_permutation(args[embedding]);
-            return true;
-          }
-        else
-          return false;
-      }
-    
-
-
-      template <typename ArgumentPack>
-      bool dispatched_boyer_myrvold(ArgumentPack const& args, 
-                                    mpl::false_, 
-                                    mpl::false_
-                                    )
-      {
-        //Dispatch for planar embedding, kuratowski subgraph isolation
-        typedef typename remove_const
-                < 
-                    typename remove_reference
-                    < typename parameter::binding
-                        < ArgumentPack, tag::graph>::type 
-                    >::type 
-                >::type graph_t;        
-        
-        typedef typename parameter::binding
-          < ArgumentPack, 
-          tag::vertex_index_map, 
-          typename property_map<graph_t, vertex_index_t>::type
-          >::type vertex_index_map_t;
-        
-        boyer_myrvold_impl
-          <graph_t, 
-          vertex_index_map_t,
-          graph::detail::store_old_handles,
-#ifdef BOOST_BGL_PREFER_STD_LIB
-           graph::detail::std_list
-#else
-           graph::detail::recursive_lazy_list
-#endif
-          >
-          planarity_tester(args[graph], 
-                           args[vertex_index_map | 
-                                get(vertex_index, args[graph])
-                                ]
-                           );
-
-        if (planarity_tester.is_planar())
-          {
-            planarity_tester.make_edge_permutation(args[embedding]);
-            return true;
-          }
-        else
-          {
-            planarity_tester.extract_kuratowski_subgraph
-              (args[kuratowski_subgraph], 
-               args[edge_index_map | get(edge_index, args[graph])]
-               );          
-            return false;
-          } 
-      }
-
-
-
-
-      template <typename ArgumentPack>
-      bool boyer_myrvold_planarity_test(ArgumentPack const& args)
-      {
-        
-        typedef typename parameter::binding 
-          < ArgumentPack, 
-            tag::kuratowski_subgraph,
-            const no_kuratowski_subgraph_isolation&
-          >::type 
-          kuratowski_arg_t;
-       
-        typedef typename parameter::binding 
-          < ArgumentPack, 
-            tag::embedding,
-            const no_planar_embedding&
-          >::type 
-          embedding_arg_t;
-      
-         return dispatched_boyer_myrvold
-           (args, 
-            boost::is_same
-              <embedding_arg_t, const no_planar_embedding&>(),
-            boost::is_same
-              <kuratowski_arg_t, const no_kuratowski_subgraph_isolation&>() 
-            );
-      }
-
-
-
-    } //namespace core
-    
-  } //namespace boyer_myrvold_params
-  
-    
-  template <typename A0>
-  bool boyer_myrvold_planarity_test(A0 const& arg0)
-  {
-    return boyer_myrvold_params::core::boyer_myrvold_planarity_test
-      (boyer_myrvold_params::boyer_myrvold_params_t()(arg0));
-  }
-  
-  template <typename A0, typename A1>
-  //  bool boyer_myrvold_planarity_test(A0 const& arg0, A1 const& arg1)
-  bool boyer_myrvold_planarity_test(A0 const& arg0, A1 const& arg1)
-  {
-    return boyer_myrvold_params::core::boyer_myrvold_planarity_test
-      (boyer_myrvold_params::boyer_myrvold_params_t()(arg0,arg1));
-  }
-  
-  template <typename A0, typename A1, typename A2>
-  bool boyer_myrvold_planarity_test(A0 const& arg0, 
-                                    A1 const& arg1, 
-                                    A2 const& arg2
-                                    )
-  {
-    return boyer_myrvold_params::core::boyer_myrvold_planarity_test
-      (boyer_myrvold_params::boyer_myrvold_params_t()(arg0,arg1,arg2));
-  }
-    
-  template <typename A0, typename A1, typename A2, typename A3>
-  bool boyer_myrvold_planarity_test(A0 const& arg0,
-                                    A1 const& arg1, 
-                                    A2 const& arg2, 
-                                    A3 const& arg3
-                                    )
-  {
-    return boyer_myrvold_params::core::boyer_myrvold_planarity_test
-      (boyer_myrvold_params::boyer_myrvold_params_t()(arg0,arg1,arg2,arg3));
-  }
-
-  template <typename A0, typename A1, typename A2, typename A3, typename A4>
-  bool boyer_myrvold_planarity_test(A0 const& arg0, 
-                                    A1 const& arg1, 
-                                    A2 const& arg2, 
-                                    A3 const& arg3, 
-                                    A4 const& arg4
-                                    )
-  {
-    return boyer_myrvold_params::core::boyer_myrvold_planarity_test
-      (boyer_myrvold_params::boyer_myrvold_params_t()
-       (arg0,arg1,arg2,arg3,arg4)
-       );
-  }
-    
-
-}
-
-#endif //__BOYER_MYRVOLD_PLANAR_TEST_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/boykov_kolmogorov_max_flow.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/boykov_kolmogorov_max_flow.hpp
deleted file mode 100644
index 1edc132..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/boykov_kolmogorov_max_flow.hpp
+++ /dev/null
@@ -1,873 +0,0 @@
-//  Copyright (c) 2006, Stephan Diederich
-//
-//  This code may be used under either of the following two licences:
-//
-//    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. OF SUCH DAMAGE.
-//
-//  Or:
-//
-//    Distributed under the 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_BOYKOV_KOLMOGOROV_MAX_FLOW_HPP
-#define BOOST_BOYKOV_KOLMOGOROV_MAX_FLOW_HPP
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <vector>
-#include <list>
-#include <utility>
-#include <iosfwd>
-#include <algorithm> // for std::min and std::max
-
-#include <boost/pending/queue.hpp>
-#include <boost/limits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/none_t.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/lookup_edge.hpp>
-#include <boost/concept/assert.hpp>
-
-// The algorithm impelemented here is described in:
-//
-// Boykov, Y., Kolmogorov, V. "An Experimental Comparison of Min-Cut/Max-Flow
-// Algorithms for Energy Minimization in Vision", In IEEE Transactions on
-// Pattern Analysis and Machine Intelligence, vol. 26, no. 9, pp. 1124-1137,
-// Sep 2004.
-//
-// For further reading, also see:
-//
-// Kolmogorov, V. "Graph Based Algorithms for Scene Reconstruction from Two or
-// More Views". PhD thesis, Cornell University, Sep 2003.
-
-namespace boost {
-
-namespace detail {
-
-template <class Graph,
-          class EdgeCapacityMap,
-          class ResidualCapacityEdgeMap,
-          class ReverseEdgeMap,
-          class PredecessorMap,
-          class ColorMap,
-          class DistanceMap,
-          class IndexMap>
-class bk_max_flow {
-  typedef typename property_traits<EdgeCapacityMap>::value_type tEdgeVal;
-  typedef graph_traits<Graph> tGraphTraits;
-  typedef typename tGraphTraits::vertex_iterator vertex_iterator;
-  typedef typename tGraphTraits::vertex_descriptor vertex_descriptor;
-  typedef typename tGraphTraits::edge_descriptor edge_descriptor;
-  typedef typename tGraphTraits::edge_iterator edge_iterator;
-  typedef typename tGraphTraits::out_edge_iterator out_edge_iterator;
-  typedef boost::queue<vertex_descriptor> tQueue;                               //queue of vertices, used in adoption-stage
-  typedef typename property_traits<ColorMap>::value_type tColorValue;
-  typedef color_traits<tColorValue> tColorTraits;
-  typedef typename property_traits<DistanceMap>::value_type tDistanceVal;
-
-    public:
-      bk_max_flow(Graph& g,
-                  EdgeCapacityMap cap,
-                  ResidualCapacityEdgeMap res,
-                  ReverseEdgeMap rev,
-                  PredecessorMap pre,
-                  ColorMap color,
-                  DistanceMap dist,
-                  IndexMap idx,
-                  vertex_descriptor src,
-                  vertex_descriptor sink):
-      m_g(g),
-      m_index_map(idx),
-      m_cap_map(cap),
-      m_res_cap_map(res),
-      m_rev_edge_map(rev),
-      m_pre_map(pre),
-      m_tree_map(color),
-      m_dist_map(dist),
-      m_source(src),
-      m_sink(sink),
-      m_active_nodes(),
-      m_in_active_list_vec(num_vertices(g), false),
-      m_in_active_list_map(make_iterator_property_map(m_in_active_list_vec.begin(), m_index_map)),
-      m_has_parent_vec(num_vertices(g), false),
-      m_has_parent_map(make_iterator_property_map(m_has_parent_vec.begin(), m_index_map)),
-      m_time_vec(num_vertices(g), 0),
-      m_time_map(make_iterator_property_map(m_time_vec.begin(), m_index_map)),
-      m_flow(0),
-      m_time(1),
-      m_last_grow_vertex(graph_traits<Graph>::null_vertex()){
-        // initialize the color-map with gray-values
-        vertex_iterator vi, v_end;
-        for(boost::tie(vi, v_end) = vertices(m_g); vi != v_end; ++vi){
-          set_tree(*vi, tColorTraits::gray());
-        }
-        // Initialize flow to zero which means initializing
-        // the residual capacity equal to the capacity
-        edge_iterator ei, e_end;
-        for(boost::tie(ei, e_end) = edges(m_g); ei != e_end; ++ei) {
-          put(m_res_cap_map, *ei, get(m_cap_map, *ei));
-          BOOST_ASSERT(get(m_rev_edge_map, get(m_rev_edge_map, *ei)) == *ei); //check if the reverse edge map is build up properly
-        }
-        //init the search trees with the two terminals
-        set_tree(m_source, tColorTraits::black());
-        set_tree(m_sink, tColorTraits::white());
-        put(m_time_map, m_source, 1);
-        put(m_time_map, m_sink, 1);
-      }
-
-      tEdgeVal max_flow(){
-        //augment direct paths from SOURCE->SINK and SOURCE->VERTEX->SINK
-        augment_direct_paths();
-        //start the main-loop
-        while(true){
-          bool path_found;
-          edge_descriptor connecting_edge;
-          boost::tie(connecting_edge, path_found) = grow(); //find a path from source to sink
-          if(!path_found){
-            //we're finished, no more paths were found
-            break;
-          }
-          ++m_time;
-          augment(connecting_edge); //augment that path
-          adopt(); //rebuild search tree structure
-        }
-        return m_flow;
-      }
-
-      // the complete class is protected, as we want access to members in
-      // derived test-class (see test/boykov_kolmogorov_max_flow_test.cpp)
-    protected:
-      void augment_direct_paths(){
-        // in a first step, we augment all direct paths from source->NODE->sink
-        // and additionally paths from source->sink. This improves especially
-        // graphcuts for segmentation, as most of the nodes have source/sink
-        // connects but shouldn't have an impact on other maxflow problems
-        // (this is done in grow() anyway)
-        out_edge_iterator ei, e_end;
-        for(boost::tie(ei, e_end) = out_edges(m_source, m_g); ei != e_end; ++ei){
-          edge_descriptor from_source = *ei;
-          vertex_descriptor current_node = target(from_source, m_g);
-          if(current_node == m_sink){
-            tEdgeVal cap = get(m_res_cap_map, from_source);
-            put(m_res_cap_map, from_source, 0);
-            m_flow += cap;
-            continue;
-          }
-          edge_descriptor to_sink;
-          bool is_there;
-          boost::tie(to_sink, is_there) = lookup_edge(current_node, m_sink, m_g);
-          if(is_there){
-            tEdgeVal cap_from_source = get(m_res_cap_map, from_source);
-            tEdgeVal cap_to_sink = get(m_res_cap_map, to_sink);
-            if(cap_from_source > cap_to_sink){
-              set_tree(current_node, tColorTraits::black());
-              add_active_node(current_node);
-              set_edge_to_parent(current_node, from_source);
-              put(m_dist_map, current_node, 1);
-              put(m_time_map, current_node, 1);
-              // add stuff to flow and update residuals. we dont need to
-              // update reverse_edges, as incoming/outgoing edges to/from
-              // source/sink don't count for max-flow
-              put(m_res_cap_map, from_source, get(m_res_cap_map, from_source) - cap_to_sink);
-              put(m_res_cap_map, to_sink, 0);
-              m_flow += cap_to_sink;
-            } else if(cap_to_sink > 0){
-              set_tree(current_node, tColorTraits::white());
-              add_active_node(current_node);
-              set_edge_to_parent(current_node, to_sink);
-              put(m_dist_map, current_node, 1);
-              put(m_time_map, current_node, 1);
-              // add stuff to flow and update residuals. we dont need to update
-              // reverse_edges, as incoming/outgoing edges to/from source/sink
-              // don't count for max-flow
-              put(m_res_cap_map, to_sink, get(m_res_cap_map, to_sink) - cap_from_source);
-              put(m_res_cap_map, from_source, 0);
-              m_flow += cap_from_source;
-            }
-          } else if(get(m_res_cap_map, from_source)){
-            // there is no sink connect, so we can't augment this path, but to
-            // avoid adding m_source to the active nodes, we just activate this
-            // node and set the approciate things
-            set_tree(current_node, tColorTraits::black());
-            set_edge_to_parent(current_node, from_source);
-            put(m_dist_map, current_node, 1);
-            put(m_time_map, current_node, 1);
-            add_active_node(current_node);
-          }
-        }
-        for(boost::tie(ei, e_end) = out_edges(m_sink, m_g); ei != e_end; ++ei){
-          edge_descriptor to_sink = get(m_rev_edge_map, *ei);
-          vertex_descriptor current_node = source(to_sink, m_g);
-          if(get(m_res_cap_map, to_sink)){
-            set_tree(current_node, tColorTraits::white());
-            set_edge_to_parent(current_node, to_sink);
-            put(m_dist_map, current_node, 1);
-            put(m_time_map, current_node, 1);
-            add_active_node(current_node);
-          }
-        }
-      }
-
-      /**
-       * Returns a pair of an edge and a boolean. if the bool is true, the
-       * edge is a connection of a found path from s->t , read "the link" and
-       * source(returnVal, m_g) is the end of the path found in the source-tree
-       * target(returnVal, m_g) is the beginning of the path found in the sink-tree
-       */
-      std::pair<edge_descriptor, bool> grow(){
-        BOOST_ASSERT(m_orphans.empty());
-        vertex_descriptor current_node;
-        while((current_node = get_next_active_node()) != graph_traits<Graph>::null_vertex()){ //if there is one
-          BOOST_ASSERT(get_tree(current_node) != tColorTraits::gray() &&
-                       (has_parent(current_node) ||
-                         current_node == m_source ||
-                         current_node == m_sink));
-
-          if(get_tree(current_node) == tColorTraits::black()){
-            //source tree growing
-            out_edge_iterator ei, e_end;
-            if(current_node != m_last_grow_vertex){
-              m_last_grow_vertex = current_node;
-              boost::tie(m_last_grow_edge_it, m_last_grow_edge_end) = out_edges(current_node, m_g);
-            }
-            for(; m_last_grow_edge_it != m_last_grow_edge_end; ++m_last_grow_edge_it) {
-              edge_descriptor out_edge = *m_last_grow_edge_it;
-              if(get(m_res_cap_map, out_edge) > 0){ //check if we have capacity left on this edge
-                vertex_descriptor other_node = target(out_edge, m_g);
-                if(get_tree(other_node) == tColorTraits::gray()){ //it's a free node
-                  set_tree(other_node, tColorTraits::black()); //aquire other node to our search tree
-                  set_edge_to_parent(other_node, out_edge);   //set us as parent
-                  put(m_dist_map, other_node, get(m_dist_map, current_node) + 1);  //and update the distance-heuristic
-                  put(m_time_map, other_node, get(m_time_map, current_node));
-                  add_active_node(other_node);
-                } else if(get_tree(other_node) == tColorTraits::black()) {
-                  // we do this to get shorter paths. check if we are nearer to
-                  // the source as its parent is
-                  if(is_closer_to_terminal(current_node, other_node)){
-                    set_edge_to_parent(other_node, out_edge);
-                    put(m_dist_map, other_node, get(m_dist_map, current_node) + 1);
-                    put(m_time_map, other_node, get(m_time_map, current_node));
-                  }
-                } else{
-                  BOOST_ASSERT(get_tree(other_node)==tColorTraits::white());
-                  //kewl, found a path from one to the other search tree, return
-                  // the connecting edge in src->sink dir
-                  return std::make_pair(out_edge, true);
-                }
-              }
-            } //for all out-edges
-          } //source-tree-growing
-          else{
-            BOOST_ASSERT(get_tree(current_node) == tColorTraits::white());
-            out_edge_iterator ei, e_end;
-            if(current_node != m_last_grow_vertex){
-              m_last_grow_vertex = current_node;
-              boost::tie(m_last_grow_edge_it, m_last_grow_edge_end) = out_edges(current_node, m_g);
-            }
-            for(; m_last_grow_edge_it != m_last_grow_edge_end; ++m_last_grow_edge_it){
-              edge_descriptor in_edge = get(m_rev_edge_map, *m_last_grow_edge_it);
-              if(get(m_res_cap_map, in_edge) > 0){ //check if there is capacity left
-                vertex_descriptor other_node = source(in_edge, m_g);
-                if(get_tree(other_node) == tColorTraits::gray()){ //it's a free node
-                  set_tree(other_node, tColorTraits::white());      //aquire that node to our search tree
-                  set_edge_to_parent(other_node, in_edge);          //set us as parent
-                  add_active_node(other_node);                      //activate that node
-                  put(m_dist_map, other_node, get(m_dist_map, current_node) + 1); //set its distance
-                  put(m_time_map, other_node, get(m_time_map, current_node));//and time
-                } else if(get_tree(other_node) == tColorTraits::white()){
-                  if(is_closer_to_terminal(current_node, other_node)){
-                    //we are closer to the sink than its parent is, so we "adopt" him
-                    set_edge_to_parent(other_node, in_edge);
-                    put(m_dist_map, other_node, get(m_dist_map, current_node) + 1);
-                    put(m_time_map, other_node, get(m_time_map, current_node));
-                  }
-                } else{
-                  BOOST_ASSERT(get_tree(other_node)==tColorTraits::black());
-                  //kewl, found a path from one to the other search tree,
-                  // return the connecting edge in src->sink dir
-                  return std::make_pair(in_edge, true);
-                }
-              }
-            } //for all out-edges
-          } //sink-tree growing
-
-          //all edges of that node are processed, and no more paths were found.
-          // remove if from the front of the active queue
-          finish_node(current_node);
-        } //while active_nodes not empty
-
-        //no active nodes anymore and no path found, we're done
-        return std::make_pair(edge_descriptor(), false);
-      }
-
-      /**
-       * augments path from s->t and updates residual graph
-       * source(e, m_g) is the end of the path found in the source-tree
-       * target(e, m_g) is the beginning of the path found in the sink-tree
-       * this phase generates orphans on satured edges, if the attached verts are
-       * from different search-trees orphans are ordered in distance to
-       * sink/source. first the farest from the source are front_inserted into
-       * the orphans list, and after that the sink-tree-orphans are
-       * front_inserted. when going to adoption stage the orphans are popped_front,
-       * and so we process the nearest verts to the terminals first
-       */
-      void augment(edge_descriptor e) {
-        BOOST_ASSERT(get_tree(target(e, m_g)) == tColorTraits::white());
-        BOOST_ASSERT(get_tree(source(e, m_g)) == tColorTraits::black());
-        BOOST_ASSERT(m_orphans.empty());
-
-        const tEdgeVal bottleneck = find_bottleneck(e);
-        //now we push the found flow through the path
-        //for each edge we saturate we have to look for the verts that belong to that edge, one of them becomes an orphans
-        //now process the connecting edge
-        put(m_res_cap_map, e, get(m_res_cap_map, e) - bottleneck);
-        BOOST_ASSERT(get(m_res_cap_map, e) >= 0);
-        put(m_res_cap_map, get(m_rev_edge_map, e), get(m_res_cap_map, get(m_rev_edge_map, e)) + bottleneck);
-
-        //now we follow the path back to the source
-        vertex_descriptor current_node = source(e, m_g);
-        while(current_node != m_source){
-          edge_descriptor pred = get_edge_to_parent(current_node);
-          put(m_res_cap_map, pred, get(m_res_cap_map, pred) - bottleneck);
-          BOOST_ASSERT(get(m_res_cap_map, pred) >= 0);
-          put(m_res_cap_map, get(m_rev_edge_map, pred), get(m_res_cap_map, get(m_rev_edge_map, pred)) + bottleneck);
-          if(get(m_res_cap_map, pred) == 0){
-            set_no_parent(current_node);
-            m_orphans.push_front(current_node);
-          }
-          current_node = source(pred, m_g);
-        }
-        //then go forward in the sink-tree
-        current_node = target(e, m_g);
-        while(current_node != m_sink){
-          edge_descriptor pred = get_edge_to_parent(current_node);
-          put(m_res_cap_map, pred, get(m_res_cap_map, pred) - bottleneck);
-          BOOST_ASSERT(get(m_res_cap_map, pred) >= 0);
-          put(m_res_cap_map, get(m_rev_edge_map, pred), get(m_res_cap_map, get(m_rev_edge_map, pred)) + bottleneck);
-          if(get(m_res_cap_map, pred) == 0){
-            set_no_parent(current_node);
-            m_orphans.push_front(current_node);
-          }
-          current_node = target(pred, m_g);
-        }
-        //and add it to the max-flow
-        m_flow += bottleneck;
-      }
-
-      /**
-       * returns the bottleneck of a s->t path (end_of_path is last vertex in
-       * source-tree, begin_of_path is first vertex in sink-tree)
-       */
-      inline tEdgeVal find_bottleneck(edge_descriptor e){
-        BOOST_USING_STD_MIN();
-        tEdgeVal minimum_cap = get(m_res_cap_map, e);
-        vertex_descriptor current_node = source(e, m_g);
-        //first go back in the source tree
-        while(current_node != m_source){
-          edge_descriptor pred = get_edge_to_parent(current_node);
-          minimum_cap = min BOOST_PREVENT_MACRO_SUBSTITUTION(minimum_cap, get(m_res_cap_map, pred));
-          current_node = source(pred, m_g);
-        }
-        //then go forward in the sink-tree
-        current_node = target(e, m_g);
-        while(current_node != m_sink){
-          edge_descriptor pred = get_edge_to_parent(current_node);
-          minimum_cap = min BOOST_PREVENT_MACRO_SUBSTITUTION(minimum_cap, get(m_res_cap_map, pred));
-          current_node = target(pred, m_g);
-        }
-        return minimum_cap;
-      }
-
-      /**
-       * rebuild search trees
-       * empty the queue of orphans, and find new parents for them or just drop
-       * them from the search trees
-       */
-      void adopt(){
-        while(!m_orphans.empty() || !m_child_orphans.empty()){
-          vertex_descriptor current_node;
-          if(m_child_orphans.empty()){
-            //get the next orphan from the main-queue  and remove it
-            current_node = m_orphans.front();
-            m_orphans.pop_front();
-          } else{
-            current_node = m_child_orphans.front();
-            m_child_orphans.pop();
-          }
-          if(get_tree(current_node) == tColorTraits::black()){
-            //we're in the source-tree
-            tDistanceVal min_distance = (std::numeric_limits<tDistanceVal>::max)();
-            edge_descriptor new_parent_edge;
-            out_edge_iterator ei, e_end;
-            for(boost::tie(ei, e_end) = out_edges(current_node, m_g); ei != e_end; ++ei){
-              const edge_descriptor in_edge = get(m_rev_edge_map, *ei);
-              BOOST_ASSERT(target(in_edge, m_g) == current_node); //we should be the target of this edge
-              if(get(m_res_cap_map, in_edge) > 0){
-                vertex_descriptor other_node = source(in_edge, m_g);
-                if(get_tree(other_node) == tColorTraits::black() && has_source_connect(other_node)){
-                  if(get(m_dist_map, other_node) < min_distance){
-                    min_distance = get(m_dist_map, other_node);
-                    new_parent_edge = in_edge;
-                  }
-                }
-              }
-            }
-            if(min_distance != (std::numeric_limits<tDistanceVal>::max)()){
-              set_edge_to_parent(current_node, new_parent_edge);
-              put(m_dist_map, current_node, min_distance + 1);
-              put(m_time_map, current_node, m_time);
-            } else{
-              put(m_time_map, current_node, 0);
-              for(boost::tie(ei, e_end) = out_edges(current_node, m_g); ei != e_end; ++ei){
-                edge_descriptor in_edge = get(m_rev_edge_map, *ei);
-                vertex_descriptor other_node = source(in_edge, m_g);
-                if(get_tree(other_node) == tColorTraits::black() && other_node != m_source){
-                  if(get(m_res_cap_map, in_edge) > 0){
-                    add_active_node(other_node);
-                  }
-                  if(has_parent(other_node) && source(get_edge_to_parent(other_node), m_g) == current_node){
-                    //we are the parent of that node
-                    //it has to find a new parent, too
-                    set_no_parent(other_node);
-                    m_child_orphans.push(other_node);
-                  }
-                }
-              }
-              set_tree(current_node, tColorTraits::gray());
-            } //no parent found
-          } //source-tree-adoption
-          else{
-            //now we should be in the sink-tree, check that...
-            BOOST_ASSERT(get_tree(current_node) == tColorTraits::white());
-            out_edge_iterator ei, e_end;
-            edge_descriptor new_parent_edge;
-            tDistanceVal min_distance = (std::numeric_limits<tDistanceVal>::max)();
-            for(boost::tie(ei, e_end) = out_edges(current_node, m_g); ei != e_end; ++ei){
-              const edge_descriptor out_edge = *ei;
-              if(get(m_res_cap_map, out_edge) > 0){
-                const vertex_descriptor other_node = target(out_edge, m_g);
-                if(get_tree(other_node) == tColorTraits::white() && has_sink_connect(other_node))
-                  if(get(m_dist_map, other_node) < min_distance){
-                    min_distance = get(m_dist_map, other_node);
-                    new_parent_edge = out_edge;
-                  }
-              }
-            }
-            if(min_distance != (std::numeric_limits<tDistanceVal>::max)()){
-              set_edge_to_parent(current_node, new_parent_edge);
-              put(m_dist_map, current_node, min_distance + 1);
-              put(m_time_map, current_node, m_time);
-            } else{
-              put(m_time_map, current_node, 0);
-              for(boost::tie(ei, e_end) = out_edges(current_node, m_g); ei != e_end; ++ei){
-                const edge_descriptor out_edge = *ei;
-                const vertex_descriptor other_node = target(out_edge, m_g);
-                if(get_tree(other_node) == tColorTraits::white() && other_node != m_sink){
-                  if(get(m_res_cap_map, out_edge) > 0){
-                    add_active_node(other_node);
-                  }
-                  if(has_parent(other_node) && target(get_edge_to_parent(other_node), m_g) == current_node){
-                    //we were it's parent, so it has to find a new one, too
-                    set_no_parent(other_node);
-                    m_child_orphans.push(other_node);
-                  }
-                }
-              }
-              set_tree(current_node, tColorTraits::gray());
-            } //no parent found
-          } //sink-tree adoption
-        } //while !orphans.empty()
-      } //adopt
-
-      /**
-       * return next active vertex if there is one, otherwise a null_vertex
-       */
-      inline vertex_descriptor get_next_active_node(){
-        while(true){
-          if(m_active_nodes.empty())
-            return graph_traits<Graph>::null_vertex();
-          vertex_descriptor v = m_active_nodes.front();
-
-      //if it has no parent, this node can't be active (if its not source or sink)
-      if(!has_parent(v) && v != m_source && v != m_sink){
-            m_active_nodes.pop();
-            put(m_in_active_list_map, v, false);
-          } else{
-            BOOST_ASSERT(get_tree(v) == tColorTraits::black() || get_tree(v) == tColorTraits::white());
-            return v;
-          }
-        }
-      }
-
-      /**
-       * adds v as an active vertex, but only if its not in the list already
-       */
-      inline void add_active_node(vertex_descriptor v){
-        BOOST_ASSERT(get_tree(v) != tColorTraits::gray());
-        if(get(m_in_active_list_map, v)){
-          if (m_last_grow_vertex == v) {
-              m_last_grow_vertex = graph_traits<Graph>::null_vertex();
-          }
-          return;
-        } else{
-          put(m_in_active_list_map, v, true);
-          m_active_nodes.push(v);
-        }
-      }
-
-      /**
-       * finish_node removes a node from the front of the active queue (its called in grow phase, if no more paths can be found using this node)
-       */
-      inline void finish_node(vertex_descriptor v){
-        BOOST_ASSERT(m_active_nodes.front() == v);
-        m_active_nodes.pop();
-        put(m_in_active_list_map, v, false);
-        m_last_grow_vertex = graph_traits<Graph>::null_vertex();
-      }
-
-      /**
-       * removes a vertex from the queue of active nodes (actually this does nothing,
-       * but checks if this node has no parent edge, as this is the criteria for
-       * being no more active)
-       */
-      inline void remove_active_node(vertex_descriptor v){
-        BOOST_ASSERT(!has_parent(v));
-      }
-
-      /**
-       * returns the search tree of v; tColorValue::black() for source tree,
-       * white() for sink tree, gray() for no tree
-       */
-      inline tColorValue get_tree(vertex_descriptor v) const {
-        return get(m_tree_map, v);
-      }
-
-      /**
-       * sets search tree of v; tColorValue::black() for source tree, white()
-       * for sink tree, gray() for no tree
-       */
-      inline void set_tree(vertex_descriptor v, tColorValue t){
-        put(m_tree_map, v, t);
-      }
-
-      /**
-       * returns edge to parent vertex of v;
-       */
-      inline edge_descriptor get_edge_to_parent(vertex_descriptor v) const{
-        return get(m_pre_map, v);
-      }
-
-      /**
-       * returns true if the edge stored in m_pre_map[v] is a valid entry
-       */
-      inline bool has_parent(vertex_descriptor v) const{
-        return get(m_has_parent_map, v);
-      }
-
-      /**
-       * sets edge to parent vertex of v;
-       */
-      inline void set_edge_to_parent(vertex_descriptor v, edge_descriptor f_edge_to_parent){
-        BOOST_ASSERT(get(m_res_cap_map, f_edge_to_parent) > 0);
-        put(m_pre_map, v, f_edge_to_parent);
-        put(m_has_parent_map, v, true);
-      }
-
-      /**
-       * removes the edge to parent of v (this is done by invalidating the
-       * entry an additional map)
-       */
-      inline void set_no_parent(vertex_descriptor v){
-        put(m_has_parent_map, v, false);
-      }
-
-      /**
-       * checks if vertex v has a connect to the sink-vertex (@var m_sink)
-       * @param v the vertex which is checked
-       * @return true if a path to the sink was found, false if not
-       */
-      inline bool has_sink_connect(vertex_descriptor v){
-        tDistanceVal current_distance = 0;
-        vertex_descriptor current_vertex = v;
-        while(true){
-          if(get(m_time_map, current_vertex) == m_time){
-            //we found a node which was already checked this round. use it for distance calculations
-            current_distance += get(m_dist_map, current_vertex);
-            break;
-          }
-          if(current_vertex == m_sink){
-            put(m_time_map, m_sink, m_time);
-            break;
-          }
-          if(has_parent(current_vertex)){
-            //it has a parent, so get it
-            current_vertex = target(get_edge_to_parent(current_vertex), m_g);
-            ++current_distance;
-          } else{
-            //no path found
-            return false;
-          }
-        }
-        current_vertex=v;
-        while(get(m_time_map, current_vertex) != m_time){
-          put(m_dist_map, current_vertex, current_distance);
-          --current_distance;
-          put(m_time_map, current_vertex, m_time);
-          current_vertex = target(get_edge_to_parent(current_vertex), m_g);
-        }
-        return true;
-      }
-
-      /**
-       * checks if vertex v has a connect to the source-vertex (@var m_source)
-       * @param v the vertex which is checked
-       * @return true if a path to the source was found, false if not
-       */
-      inline bool has_source_connect(vertex_descriptor v){
-        tDistanceVal current_distance = 0;
-        vertex_descriptor current_vertex = v;
-        while(true){
-          if(get(m_time_map, current_vertex) == m_time){
-            //we found a node which was already checked this round. use it for distance calculations
-            current_distance += get(m_dist_map, current_vertex);
-            break;
-          }
-          if(current_vertex == m_source){
-            put(m_time_map, m_source, m_time);
-            break;
-          }
-          if(has_parent(current_vertex)){
-            //it has a parent, so get it
-            current_vertex = source(get_edge_to_parent(current_vertex), m_g);
-            ++current_distance;
-          } else{
-            //no path found
-            return false;
-          }
-        }
-        current_vertex=v;
-        while(get(m_time_map, current_vertex) != m_time){
-            put(m_dist_map, current_vertex, current_distance);
-            --current_distance;
-            put(m_time_map, current_vertex, m_time);
-            current_vertex = source(get_edge_to_parent(current_vertex), m_g);
-        }
-        return true;
-      }
-
-      /**
-       * returns true, if p is closer to a terminal than q
-       */
-      inline bool is_closer_to_terminal(vertex_descriptor p, vertex_descriptor q){
-        //checks the timestamps first, to build no cycles, and after that the real distance
-        return (get(m_time_map, q) <= get(m_time_map, p) &&
-                get(m_dist_map, q) > get(m_dist_map, p)+1);
-      }
-
-      ////////
-      // member vars
-      ////////
-      Graph& m_g;
-      IndexMap m_index_map;
-      EdgeCapacityMap m_cap_map;
-      ResidualCapacityEdgeMap m_res_cap_map;
-      ReverseEdgeMap m_rev_edge_map;
-      PredecessorMap m_pre_map; //stores paths found in the growth stage
-      ColorMap m_tree_map; //maps each vertex into one of the two search tree or none (gray())
-      DistanceMap m_dist_map; //stores distance to source/sink nodes
-      vertex_descriptor m_source;
-      vertex_descriptor m_sink;
-
-      tQueue m_active_nodes;
-      std::vector<bool> m_in_active_list_vec;
-      iterator_property_map<std::vector<bool>::iterator, IndexMap> m_in_active_list_map;
-
-      std::list<vertex_descriptor> m_orphans;
-      tQueue m_child_orphans; // we use a second queuqe for child orphans, as they are FIFO processed
-
-      std::vector<bool> m_has_parent_vec;
-      iterator_property_map<std::vector<bool>::iterator, IndexMap> m_has_parent_map;
-
-      std::vector<long> m_time_vec; //timestamp of each node, used for sink/source-path calculations
-      iterator_property_map<std::vector<long>::iterator, IndexMap> m_time_map;
-      tEdgeVal m_flow;
-      long m_time;
-      vertex_descriptor m_last_grow_vertex;
-      out_edge_iterator m_last_grow_edge_it;
-      out_edge_iterator m_last_grow_edge_end;
-};
-
-} //namespace boost::detail
-
-/**
-  * non-named-parameter version, given everything
-  * this is the catch all version
-  */
-template<class Graph,
-         class CapacityEdgeMap,
-         class ResidualCapacityEdgeMap,
-         class ReverseEdgeMap, class PredecessorMap,
-         class ColorMap,
-         class DistanceMap,
-         class IndexMap>
-typename property_traits<CapacityEdgeMap>::value_type
-boykov_kolmogorov_max_flow(Graph& g,
-                           CapacityEdgeMap cap,
-                           ResidualCapacityEdgeMap res_cap,
-                           ReverseEdgeMap rev_map,
-                           PredecessorMap pre_map,
-                           ColorMap color,
-                           DistanceMap dist,
-                           IndexMap idx,
-                           typename graph_traits<Graph>::vertex_descriptor src,
-                           typename graph_traits<Graph>::vertex_descriptor sink)
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-  //as this method is the last one before we instantiate the solver, we do the concept checks here
-  BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> )); //to have vertices(), num_vertices(),
-  BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph> )); //to have edges()
-  BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> )); //to have source(), target() and out_edges()
-  BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<CapacityEdgeMap, edge_descriptor> )); //read flow-values from edges
-  BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ResidualCapacityEdgeMap, edge_descriptor> )); //write flow-values to residuals
-  BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<ReverseEdgeMap, edge_descriptor> )); //read out reverse edges
-  BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<PredecessorMap, vertex_descriptor> )); //store predecessor there
-  BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, vertex_descriptor> )); //write corresponding tree
-  BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<DistanceMap, vertex_descriptor> )); //write distance to source/sink
-  BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMap, vertex_descriptor> )); //get index 0...|V|-1
-  BOOST_ASSERT(num_vertices(g) >= 2 && src != sink);
-
-  detail::bk_max_flow<
-    Graph, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap,
-    PredecessorMap, ColorMap, DistanceMap, IndexMap
-  > algo(g, cap, res_cap, rev_map, pre_map, color, dist, idx, src, sink);
-
-  return algo.max_flow();
-}
-
-/**
- * non-named-parameter version, given capacity, residucal_capacity,
- * reverse_edges, and an index map.
- */
-template<class Graph,
-         class CapacityEdgeMap,
-         class ResidualCapacityEdgeMap,
-         class ReverseEdgeMap,
-         class IndexMap>
-typename property_traits<CapacityEdgeMap>::value_type
-boykov_kolmogorov_max_flow(Graph& g,
-                           CapacityEdgeMap cap,
-                           ResidualCapacityEdgeMap res_cap,
-                           ReverseEdgeMap rev,
-                           IndexMap idx,
-                           typename graph_traits<Graph>::vertex_descriptor src,
-                           typename graph_traits<Graph>::vertex_descriptor sink)
-{
-  typename graph_traits<Graph>::vertices_size_type n_verts = num_vertices(g);
-  std::vector<typename graph_traits<Graph>::edge_descriptor> predecessor_vec(n_verts);
-  std::vector<default_color_type> color_vec(n_verts);
-  std::vector<typename graph_traits<Graph>::vertices_size_type> distance_vec(n_verts);
-  return
-    boykov_kolmogorov_max_flow(
-      g, cap, res_cap, rev,
-      make_iterator_property_map(predecessor_vec.begin(), idx),
-      make_iterator_property_map(color_vec.begin(), idx),
-      make_iterator_property_map(distance_vec.begin(), idx),
-      idx, src, sink);
-}
-
-/**
- * non-named-parameter version, some given: capacity, residual_capacity,
- * reverse_edges, color_map and an index map. Use this if you are interested in
- * the minimum cut, as the color map provides that info.
- */
-template<class Graph,
-         class CapacityEdgeMap,
-         class ResidualCapacityEdgeMap,
-         class ReverseEdgeMap,
-         class ColorMap,
-         class IndexMap>
-typename property_traits<CapacityEdgeMap>::value_type
-boykov_kolmogorov_max_flow(Graph& g,
-                           CapacityEdgeMap cap,
-                           ResidualCapacityEdgeMap res_cap,
-                           ReverseEdgeMap rev,
-                           ColorMap color,
-                           IndexMap idx,
-                           typename graph_traits<Graph>::vertex_descriptor src,
-                           typename graph_traits<Graph>::vertex_descriptor sink)
-{
-  typename graph_traits<Graph>::vertices_size_type n_verts = num_vertices(g);
-  std::vector<typename graph_traits<Graph>::edge_descriptor> predecessor_vec(n_verts);
-  std::vector<typename graph_traits<Graph>::vertices_size_type> distance_vec(n_verts);
-  return
-    boykov_kolmogorov_max_flow(
-      g, cap, res_cap, rev,
-      make_iterator_property_map(predecessor_vec.begin(), idx),
-      color,
-      make_iterator_property_map(distance_vec.begin(), idx),
-      idx, src, sink);
-}
-
-/**
- * named-parameter version, some given
- */
-template<class Graph, class P, class T, class R>
-typename property_traits<typename property_map<Graph, edge_capacity_t>::const_type>::value_type
-boykov_kolmogorov_max_flow(Graph& g,
-                           typename graph_traits<Graph>::vertex_descriptor src,
-                           typename graph_traits<Graph>::vertex_descriptor sink,
-                           const bgl_named_params<P, T, R>& params)
-{
-  return
-  boykov_kolmogorov_max_flow(
-    g,
-    choose_const_pmap(get_param(params, edge_capacity), g, edge_capacity),
-    choose_pmap(get_param(params, edge_residual_capacity), g, edge_residual_capacity),
-    choose_const_pmap(get_param(params, edge_reverse), g, edge_reverse),
-    choose_pmap(get_param(params, vertex_predecessor), g, vertex_predecessor),
-    choose_pmap(get_param(params, vertex_color), g, vertex_color),
-    choose_pmap(get_param(params, vertex_distance), g, vertex_distance),
-    choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-    src, sink);
-}
-
-/**
- * named-parameter version, none given
- */
-template<class Graph>
-typename property_traits<typename property_map<Graph, edge_capacity_t>::const_type>::value_type
-boykov_kolmogorov_max_flow(Graph& g,
-                           typename graph_traits<Graph>::vertex_descriptor src,
-                           typename graph_traits<Graph>::vertex_descriptor sink)
-{
-  bgl_named_params<int, buffer_param_t> params(0); // bogus empty param
-  return boykov_kolmogorov_max_flow(g, src, sink, params);
-}
-
-} // namespace boost
-
-#endif // BOOST_BOYKOV_KOLMOGOROV_MAX_FLOW_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/breadth_first_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/breadth_first_search.hpp
deleted file mode 100644
index b0d10ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/breadth_first_search.hpp
+++ /dev/null
@@ -1,413 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_BREADTH_FIRST_SEARCH_HPP
-#define BOOST_GRAPH_BREADTH_FIRST_SEARCH_HPP
-
-/*
-  Breadth First Search Algorithm (Cormen, Leiserson, and Rivest p. 470)
-*/
-#include <boost/config.hpp>
-#include <vector>
-#include <boost/pending/queue.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/two_bit_color_map.hpp>
-#include <boost/concept/assert.hpp>
-
-#ifdef BOOST_GRAPH_USE_MPI
-#include <boost/graph/distributed/concepts.hpp>
-#endif // BOOST_GRAPH_USE_MPI
-
-namespace boost {
-
-  template <class Visitor, class Graph>
-  struct BFSVisitorConcept {
-    void constraints() {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-      vis.initialize_vertex(u, g);
-      vis.discover_vertex(u, g);
-      vis.examine_vertex(u, g);
-      vis.examine_edge(e, g);
-      vis.tree_edge(e, g);
-      vis.non_tree_edge(e, g);
-      vis.gray_target(e, g);
-      vis.black_target(e, g);
-      vis.finish_vertex(u, g);
-    }
-    Visitor vis;
-    Graph g;
-    typename graph_traits<Graph>::vertex_descriptor u;
-    typename graph_traits<Graph>::edge_descriptor e;
-  };
-
-
-  // Multiple-source version
-  template <class IncidenceGraph, class Buffer, class BFSVisitor,
-            class ColorMap, class SourceIterator>
-  void breadth_first_visit
-    (const IncidenceGraph& g,
-     SourceIterator sources_begin, SourceIterator sources_end,
-     Buffer& Q, BFSVisitor vis, ColorMap color)
-  {
-    BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
-    typedef graph_traits<IncidenceGraph> GTraits;
-    typedef typename GTraits::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( BFSVisitorConcept<BFSVisitor, IncidenceGraph> ));
-    BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typename GTraits::out_edge_iterator ei, ei_end;
-
-    for (; sources_begin != sources_end; ++sources_begin) {
-      Vertex s = *sources_begin;
-      put(color, s, Color::gray());           vis.discover_vertex(s, g);
-      Q.push(s);
-    }
-    while (! Q.empty()) {
-      Vertex u = Q.top(); Q.pop();            vis.examine_vertex(u, g);
-      for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-        Vertex v = target(*ei, g);            vis.examine_edge(*ei, g);
-        ColorValue v_color = get(color, v);
-        if (v_color == Color::white()) {      vis.tree_edge(*ei, g);
-          put(color, v, Color::gray());       vis.discover_vertex(v, g);
-          Q.push(v);
-        } else {                              vis.non_tree_edge(*ei, g);
-          if (v_color == Color::gray())       vis.gray_target(*ei, g);
-          else                                vis.black_target(*ei, g);
-        }
-      } // end for
-      put(color, u, Color::black());          vis.finish_vertex(u, g);
-    } // end while
-  } // breadth_first_visit
-
-  // Single-source version
-  template <class IncidenceGraph, class Buffer, class BFSVisitor,
-            class ColorMap>
-  void breadth_first_visit
-    (const IncidenceGraph& g,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor s,
-     Buffer& Q, BFSVisitor vis, ColorMap color)
-  {
-    typename graph_traits<IncidenceGraph>::vertex_descriptor sources[1] = {s};
-    breadth_first_visit(g, sources, sources + 1, Q, vis, color);
-  }
-
-
-  template <class VertexListGraph, class SourceIterator,
-            class Buffer, class BFSVisitor,
-            class ColorMap>
-  void breadth_first_search
-    (const VertexListGraph& g,
-     SourceIterator sources_begin, SourceIterator sources_end,
-     Buffer& Q, BFSVisitor vis, ColorMap color)
-  {
-    // Initialization
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typename boost::graph_traits<VertexListGraph>::vertex_iterator i, i_end;
-    for (boost::tie(i, i_end) = vertices(g); i != i_end; ++i) {
-      vis.initialize_vertex(*i, g);
-      put(color, *i, Color::white());
-    }
-    breadth_first_visit(g, sources_begin, sources_end, Q, vis, color);
-  }
-
-  template <class VertexListGraph, class Buffer, class BFSVisitor,
-            class ColorMap>
-  void breadth_first_search
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     Buffer& Q, BFSVisitor vis, ColorMap color)
-  {
-    typename graph_traits<VertexListGraph>::vertex_descriptor sources[1] = {s};
-    breadth_first_search(g, sources, sources + 1, Q, vis, color);
-  }
-
-  namespace graph { struct bfs_visitor_event_not_overridden {}; }
-
-
-  template <class Visitors = null_visitor>
-  class bfs_visitor {
-  public:
-    bfs_visitor() { }
-    bfs_visitor(Visitors vis) : m_vis(vis) { }
-
-    template <class Vertex, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    initialize_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_initialize_vertex());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Vertex, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    discover_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_discover_vertex());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Vertex, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    examine_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_examine_vertex());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Edge, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    examine_edge(Edge e, Graph& g)
-    {
-      invoke_visitors(m_vis, e, g, ::boost::on_examine_edge());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Edge, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    tree_edge(Edge e, Graph& g)
-    {
-      invoke_visitors(m_vis, e, g, ::boost::on_tree_edge());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Edge, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    non_tree_edge(Edge e, Graph& g)
-    {
-      invoke_visitors(m_vis, e, g, ::boost::on_non_tree_edge());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Edge, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    gray_target(Edge e, Graph& g)
-    {
-      invoke_visitors(m_vis, e, g, ::boost::on_gray_target());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Edge, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    black_target(Edge e, Graph& g)
-    {
-      invoke_visitors(m_vis, e, g, ::boost::on_black_target());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    template <class Vertex, class Graph>
-    graph::bfs_visitor_event_not_overridden
-    finish_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_finish_vertex());
-      return graph::bfs_visitor_event_not_overridden();
-    }
-
-    BOOST_GRAPH_EVENT_STUB(on_initialize_vertex,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_discover_vertex,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_examine_vertex,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_examine_edge,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_tree_edge,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_non_tree_edge,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_gray_target,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_black_target,bfs)
-    BOOST_GRAPH_EVENT_STUB(on_finish_vertex,bfs)
-
-  protected:
-    Visitors m_vis;
-  };
-  template <class Visitors>
-  bfs_visitor<Visitors>
-  make_bfs_visitor(Visitors vis) {
-    return bfs_visitor<Visitors>(vis);
-  }
-  typedef bfs_visitor<> default_bfs_visitor;
-
-
-  namespace detail {
-
-    template <class VertexListGraph, class ColorMap, class BFSVisitor,
-      class P, class T, class R>
-    void bfs_helper
-      (VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       ColorMap color,
-       BFSVisitor vis,
-       const bgl_named_params<P, T, R>& params,
-       boost::mpl::false_)
-    {
-      typedef graph_traits<VertexListGraph> Traits;
-      // Buffer default
-      typedef typename Traits::vertex_descriptor Vertex;
-      typedef boost::queue<Vertex> queue_t;
-      queue_t Q;
-      breadth_first_search
-        (g, s,
-         choose_param(get_param(params, buffer_param_t()), boost::ref(Q)).get(),
-         vis, color);
-    }
-
-#ifdef BOOST_GRAPH_USE_MPI
-    template <class DistributedGraph, class ColorMap, class BFSVisitor,
-              class P, class T, class R>
-    void bfs_helper
-      (DistributedGraph& g,
-       typename graph_traits<DistributedGraph>::vertex_descriptor s,
-       ColorMap color,
-       BFSVisitor vis,
-       const bgl_named_params<P, T, R>& params,
-       boost::mpl::true_);
-#endif // BOOST_GRAPH_USE_MPI
-
-    //-------------------------------------------------------------------------
-    // Choose between default color and color parameters. Using
-    // function dispatching so that we don't require vertex index if
-    // the color default is not being used.
-
-    template <class ColorMap>
-    struct bfs_dispatch {
-      template <class VertexListGraph, class P, class T, class R>
-      static void apply
-      (VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       const bgl_named_params<P, T, R>& params,
-       ColorMap color)
-      {
-        bfs_helper
-          (g, s, color,
-           choose_param(get_param(params, graph_visitor),
-                        make_bfs_visitor(null_visitor())),
-           params,
-           boost::mpl::bool_<
-             boost::is_base_and_derived<
-               distributed_graph_tag,
-               typename graph_traits<VertexListGraph>::traversal_category>::value>());
-      }
-    };
-
-    template <>
-    struct bfs_dispatch<param_not_found> {
-      template <class VertexListGraph, class P, class T, class R>
-      static void apply
-      (VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       const bgl_named_params<P, T, R>& params,
-       param_not_found)
-      {
-        null_visitor null_vis;
-
-        bfs_helper
-          (g, s,
-           make_two_bit_color_map
-           (num_vertices(g),
-            choose_const_pmap(get_param(params, vertex_index),
-                              g, vertex_index)),
-           choose_param(get_param(params, graph_visitor),
-                        make_bfs_visitor(null_vis)),
-           params,
-           boost::mpl::bool_<
-             boost::is_base_and_derived<
-               distributed_graph_tag,
-               typename graph_traits<VertexListGraph>::traversal_category>::value>());
-      }
-    };
-
-  } // namespace detail
-
-#if 1
-  // Named Parameter Variant
-  template <class VertexListGraph, class P, class T, class R>
-  void breadth_first_search
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     const bgl_named_params<P, T, R>& params)
-  {
-    // The graph is passed by *const* reference so that graph adaptors
-    // (temporaries) can be passed into this function. However, the
-    // graph is not really const since we may write to property maps
-    // of the graph.
-    VertexListGraph& ng = const_cast<VertexListGraph&>(g);
-    typedef typename get_param_type< vertex_color_t, bgl_named_params<P,T,R> >::type C;
-    detail::bfs_dispatch<C>::apply(ng, s, params,
-                                   get_param(params, vertex_color));
-  }
-#endif
-
-
-  // This version does not initialize colors, user has to.
-
-  template <class IncidenceGraph, class P, class T, class R>
-  void breadth_first_visit
-    (const IncidenceGraph& g,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor s,
-     const bgl_named_params<P, T, R>& params)
-  {
-    // The graph is passed by *const* reference so that graph adaptors
-    // (temporaries) can be passed into this function. However, the
-    // graph is not really const since we may write to property maps
-    // of the graph.
-    IncidenceGraph& ng = const_cast<IncidenceGraph&>(g);
-
-    typedef graph_traits<IncidenceGraph> Traits;
-    // Buffer default
-    typedef typename Traits::vertex_descriptor vertex_descriptor;
-    typedef boost::queue<vertex_descriptor> queue_t;
-    queue_t Q;
-
-    breadth_first_visit
-      (ng, s,
-       choose_param(get_param(params, buffer_param_t()), boost::ref(Q)).get(),
-       choose_param(get_param(params, graph_visitor),
-                    make_bfs_visitor(null_visitor())),
-       choose_pmap(get_param(params, vertex_color), ng, vertex_color)
-       );
-  }
-
-  namespace graph {
-    namespace detail {
-      template <typename Graph, typename Source>
-      struct breadth_first_search_impl {
-        typedef void result_type;
-        template <typename ArgPack>
-        void operator()(const Graph& g, const Source& source, const ArgPack& arg_pack) {
-          using namespace boost::graph::keywords;
-          typename boost::graph_traits<Graph>::vertex_descriptor sources[1] = {source};
-          boost::queue<typename boost::graph_traits<Graph>::vertex_descriptor> Q;
-          boost::breadth_first_search(g,
-                                      &sources[0],
-                                      &sources[1], 
-                                      boost::unwrap_ref(arg_pack[_buffer | boost::ref(Q)]),
-                                      arg_pack[_visitor | make_bfs_visitor(null_visitor())],
-                                      boost::detail::make_color_map_from_arg_pack(g, arg_pack));
-        }
-      };
-    }
-    BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(breadth_first_search, 2, 4)
-  }
-
-#if 0
-  // Named Parameter Variant
-  BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(breadth_first_search, 2)
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/breadth_first_search.hpp>
-#endif
-
-#endif // BOOST_GRAPH_BREADTH_FIRST_SEARCH_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bron_kerbosch_all_cliques.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/bron_kerbosch_all_cliques.hpp
deleted file mode 100644
index b663cf9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/bron_kerbosch_all_cliques.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_CLIQUE_HPP
-#define BOOST_GRAPH_CLIQUE_HPP
-
-#include <vector>
-#include <deque>
-#include <boost/config.hpp>
-
-#include <boost/concept/assert.hpp>
-
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/lookup_edge.hpp>
-
-#include <boost/concept/detail/concept_def.hpp>
-namespace boost {
-    namespace concepts {
-        BOOST_concept(CliqueVisitor,(Visitor)(Clique)(Graph))
-        {
-            BOOST_CONCEPT_USAGE(CliqueVisitor)
-            {
-                vis.clique(k, g);
-            }
-        private:
-            Visitor vis;
-            Graph g;
-            Clique k;
-        };
-    } /* namespace concepts */
-using concepts::CliqueVisitorConcept;
-} /* namespace boost */
-#include <boost/concept/detail/concept_undef.hpp>
-
-namespace boost
-{
-// The algorithm implemented in this paper is based on the so-called
-// Algorithm 457, published as:
-//
-//     @article{362367,
-//         author = {Coen Bron and Joep Kerbosch},
-//         title = {Algorithm 457: finding all cliques of an undirected graph},
-//         journal = {Communications of the ACM},
-//         volume = {16},
-//         number = {9},
-//         year = {1973},
-//         issn = {0001-0782},
-//         pages = {575--577},
-//         doi = {http://doi.acm.org/10.1145/362342.362367},
-//             publisher = {ACM Press},
-//             address = {New York, NY, USA},
-//         }
-//
-// Sort of. This implementation is adapted from the 1st version of the
-// algorithm and does not implement the candidate selection optimization
-// described as published - it could, it just doesn't yet.
-//
-// The algorithm is given as proportional to (3.14)^(n/3) power. This is
-// not the same as O(...), but based on time measures and approximation.
-//
-// Unfortunately, this implementation may be less efficient on non-
-// AdjacencyMatrix modeled graphs due to the non-constant implementation
-// of the edge(u,v,g) functions.
-//
-// TODO: It might be worthwhile to provide functionality for passing
-// a connectivity matrix to improve the efficiency of those lookups
-// when needed. This could simply be passed as a BooleanMatrix
-// s.t. edge(u,v,B) returns true or false. This could easily be
-// abstracted for adjacency matricies.
-//
-// The following paper is interesting for a number of reasons. First,
-// it lists a number of other such algorithms and second, it describes
-// a new algorithm (that does not appear to require the edge(u,v,g)
-// function and appears fairly efficient. It is probably worth investigating.
-//
-//      @article{DBLP:journals/tcs/TomitaTT06,
-//          author = {Etsuji Tomita and Akira Tanaka and Haruhisa Takahashi},
-//          title = {The worst-case time complexity for generating all maximal cliques and computational experiments},
-//          journal = {Theor. Comput. Sci.},
-//          volume = {363},
-//          number = {1},
-//          year = {2006},
-//          pages = {28-42}
-//          ee = {http://dx.doi.org/10.1016/j.tcs.2006.06.015}
-//      }
-
-/**
- * The default clique_visitor supplies an empty visitation function.
- */
-struct clique_visitor
-{
-    template <typename VertexSet, typename Graph>
-    void clique(const VertexSet&, Graph&)
-    { }
-};
-
-/**
- * The max_clique_visitor records the size of the maximum clique (but not the
- * clique itself).
- */
-struct max_clique_visitor
-{
-    max_clique_visitor(std::size_t& max)
-        : maximum(max)
-    { }
-
-    template <typename Clique, typename Graph>
-    inline void clique(const Clique& p, const Graph& g)
-    {
-        BOOST_USING_STD_MAX();
-        maximum = max BOOST_PREVENT_MACRO_SUBSTITUTION (maximum, p.size());
-    }
-    std::size_t& maximum;
-};
-
-inline max_clique_visitor find_max_clique(std::size_t& max)
-{ return max_clique_visitor(max); }
-
-namespace detail
-{
-    template <typename Graph>
-    inline bool
-    is_connected_to_clique(const Graph& g,
-                            typename graph_traits<Graph>::vertex_descriptor u,
-                            typename graph_traits<Graph>::vertex_descriptor v,
-                            typename graph_traits<Graph>::undirected_category)
-    {
-        return lookup_edge(u, v, g).second;
-    }
-
-    template <typename Graph>
-    inline bool
-    is_connected_to_clique(const Graph& g,
-                            typename graph_traits<Graph>::vertex_descriptor u,
-                            typename graph_traits<Graph>::vertex_descriptor v,
-                            typename graph_traits<Graph>::directed_category)
-    {
-        // Note that this could alternate between using an || to determine
-        // full connectivity. I believe that this should produce strongly
-        // connected components. Note that using && instead of || will
-        // change the results to a fully connected subgraph (i.e., symmetric
-        // edges between all vertices s.t., if a->b, then b->a.
-        return lookup_edge(u, v, g).second && lookup_edge(v, u, g).second;
-    }
-
-    template <typename Graph, typename Container>
-    inline void
-    filter_unconnected_vertices(const Graph& g,
-                                typename graph_traits<Graph>::vertex_descriptor v,
-                                const Container& in,
-                                Container& out)
-    {
-        BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-
-        typename graph_traits<Graph>::directed_category cat;
-        typename Container::const_iterator i, end = in.end();
-        for(i = in.begin(); i != end; ++i) {
-            if(is_connected_to_clique(g, v, *i, cat)) {
-                out.push_back(*i);
-            }
-        }
-    }
-
-    template <
-        typename Graph,
-        typename Clique,        // compsub type
-        typename Container,     // candidates/not type
-        typename Visitor>
-    void extend_clique(const Graph& g,
-                        Clique& clique,
-                        Container& cands,
-                        Container& nots,
-                        Visitor vis,
-                        std::size_t min)
-    {
-        BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-        BOOST_CONCEPT_ASSERT(( CliqueVisitorConcept<Visitor,Clique,Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-        // Is there vertex in nots that is connected to all vertices
-        // in the candidate set? If so, no clique can ever be found.
-        // This could be broken out into a separate function.
-        {
-            typename Container::iterator ni, nend = nots.end();
-            typename Container::iterator ci, cend = cands.end();
-            for(ni = nots.begin(); ni != nend; ++ni) {
-                for(ci = cands.begin(); ci != cend; ++ci) {
-                    // if we don't find an edge, then we're okay.
-                    if(!lookup_edge(*ni, *ci, g).second) break;
-                }
-                // if we iterated all the way to the end, then *ni
-                // is connected to all *ci
-                if(ci == cend) break;
-            }
-            // if we broke early, we found *ni connected to all *ci
-            if(ni != nend) return;
-        }
-
-        // TODO: the original algorithm 457 describes an alternative
-        // (albeit really complicated) mechanism for selecting candidates.
-        // The given optimizaiton seeks to bring about the above
-        // condition sooner (i.e., there is a vertex in the not set
-        // that is connected to all candidates). unfortunately, the
-        // method they give for doing this is fairly unclear.
-
-        // basically, for every vertex in not, we should know how many
-        // vertices it is disconnected from in the candidate set. if
-        // we fix some vertex in the not set, then we want to keep
-        // choosing vertices that are not connected to that fixed vertex.
-        // apparently, by selecting fix point with the minimum number
-        // of disconnections (i.e., the maximum number of connections
-        // within the candidate set), then the previous condition wil
-        // be reached sooner.
-
-        // there's some other stuff about using the number of disconnects
-        // as a counter, but i'm jot really sure i followed it.
-
-        // TODO: If we min-sized cliques to visit, then theoretically, we
-        // should be able to stop recursing if the clique falls below that
-        // size - maybe?
-
-        // otherwise, iterate over candidates and and test
-        // for maxmimal cliquiness.
-        typename Container::iterator i, j;
-        for(i = cands.begin(); i != cands.end(); ) {
-            Vertex candidate = *i;
-
-            // add the candidate to the clique (keeping the iterator!)
-            // typename Clique::iterator ci = clique.insert(clique.end(), candidate);
-            clique.push_back(candidate);
-
-            // remove it from the candidate set
-            i = cands.erase(i);
-
-            // build new candidate and not sets by removing all vertices
-            // that are not connected to the current candidate vertex.
-            // these actually invert the operation, adding them to the new
-            // sets if the vertices are connected. its semantically the same.
-            Container new_cands, new_nots;
-            filter_unconnected_vertices(g, candidate, cands, new_cands);
-            filter_unconnected_vertices(g, candidate, nots, new_nots);
-
-            if(new_cands.empty() && new_nots.empty()) {
-                // our current clique is maximal since there's nothing
-                // that's connected that we haven't already visited. If
-                // the clique is below our radar, then we won't visit it.
-                if(clique.size() >= min) {
-                    vis.clique(clique, g);
-                }
-            }
-            else {
-                // recurse to explore the new candidates
-                extend_clique(g, clique, new_cands, new_nots, vis, min);
-            }
-
-            // we're done with this vertex, so we need to move it
-            // to the nots, and remove the candidate from the clique.
-            nots.push_back(candidate);
-            clique.pop_back();
-        }
-    }
-} /* namespace detail */
-
-template <typename Graph, typename Visitor>
-inline void
-bron_kerbosch_all_cliques(const Graph& g, Visitor vis, std::size_t min)
-{
-    BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph> )); // Structural requirement only
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    typedef std::vector<Vertex> VertexSet;
-    typedef std::deque<Vertex> Clique;
-    BOOST_CONCEPT_ASSERT(( CliqueVisitorConcept<Visitor,Clique,Graph> ));
-
-    // NOTE: We're using a deque to implement the clique, because it provides
-    // constant inserts and removals at the end and also a constant size.
-
-    VertexIterator i, end;
-    boost::tie(i, end) = vertices(g);
-    VertexSet cands(i, end);    // start with all vertices as candidates
-    VertexSet nots;             // start with no vertices visited
-
-    Clique clique;              // the first clique is an empty vertex set
-    detail::extend_clique(g, clique, cands, nots, vis, min);
-}
-
-// NOTE: By default the minimum number of vertices per clique is set at 2
-// because singleton cliques aren't really very interesting.
-template <typename Graph, typename Visitor>
-inline void
-bron_kerbosch_all_cliques(const Graph& g, Visitor vis)
-{ bron_kerbosch_all_cliques(g, vis, 2); }
-
-template <typename Graph>
-inline std::size_t
-bron_kerbosch_clique_number(const Graph& g)
-{
-    std::size_t ret = 0;
-    bron_kerbosch_all_cliques(g, find_max_clique(ret));
-    return ret;
-}
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/buffer_concepts.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/buffer_concepts.hpp
deleted file mode 100644
index 2bad8af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/buffer_concepts.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//            Copyright Daniel Trebbien 2010.
-// Distributed under the Boost Software License, Version 1.0.
-//   (See accompanying file LICENSE_1_0.txt or the copy at
-//         http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_GRAPH_BUFFER_CONCEPTS_HPP
-#define BOOST_GRAPH_BUFFER_CONCEPTS_HPP 1
-#include <boost/concept_check.hpp>
-#include <boost/concept/detail/concept_def.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost {
-
-  BOOST_concept(Buffer, (B))
-  {
-    typedef typename B::value_type value_type;
-    typedef typename B::size_type size_type;
-    
-    BOOST_CONCEPT_USAGE(Buffer) {
-      typedef typename boost::add_reference<value_type>::type reference;
-      
-      BOOST_CONCEPT_ASSERT((Assignable<value_type>));
-      
-      buf.push(g_ct);
-      buf.pop();
-      reference t = buf.top();
-      boost::ignore_unused_variable_warning(t);
-    }
-    
-    void const_constraints(const B& cbuf) {
-      typedef typename boost::add_const<typename boost::remove_reference<value_type>::type>::type& const_reference;
-      
-      const_reference ct = cbuf.top();
-      s = cbuf.size();
-      if (cbuf.empty())
-        dummy = __LINE__;
-    }
-    
-    int dummy;
-    
-    static const value_type g_ct;
-    size_type s;
-    B buf;
-  };
-  
-  BOOST_concept(UpdatableQueue, (Q))
-    : Buffer<Q>
-  {
-    BOOST_CONCEPT_USAGE(UpdatableQueue) {
-      q.update(g_ct);
-    }
-    
-    void const_constraints(const Q& cq) {
-      if (cq.contains(g_ct))
-        dummy = __LINE__;
-    }
-    
-    int dummy;
-    
-    static const typename Buffer<Q>::value_type g_ct;
-    Q q;
-  };
-  
-  BOOST_concept(KeyedUpdatableQueue, (Q))
-    : UpdatableQueue<Q>
-  {
-    typedef typename Q::key_type key_type;
-    typedef typename Q::key_map key_map;
-    
-    BOOST_CONCEPT_USAGE(KeyedUpdatableQueue) {
-      BOOST_CONCEPT_ASSERT((boost::ReadWritePropertyMapConcept<key_map, typename Buffer<Q>::value_type>));
-    }
-    
-    void const_constraints(const Q& cq) {
-      km = cq.keys();
-      k = get(km, g_ct);
-    }
-    
-    static const typename Buffer<Q>::value_type g_ct;
-    key_type k;
-    key_map km;
-    Q q;
-  };
-
-} // end `namespace boost`
-
-#endif // !BOOST_GRAPH_BUFFER_CONCEPTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/chrobak_payne_drawing.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/chrobak_payne_drawing.hpp
deleted file mode 100644
index 0e1f052..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/chrobak_payne_drawing.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-//=======================================================================
-// Copyright (c) Aaron Windsor 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)
-//=======================================================================
-
-#ifndef __CHROBAK_PAYNE_DRAWING_HPP__
-#define __CHROBAK_PAYNE_DRAWING_HPP__
-
-#include <vector>
-#include <list>
-#include <stack>
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-
-
-namespace boost
-{
-
-  namespace graph { namespace detail
-  {
-
-    template<typename Graph, 
-             typename VertexToVertexMap, 
-             typename VertexTo1DCoordMap>
-    void accumulate_offsets(typename graph_traits<Graph>::vertex_descriptor v,
-                            std::size_t offset,
-                            const Graph& g,
-                            VertexTo1DCoordMap x,
-                            VertexTo1DCoordMap delta_x,
-                            VertexToVertexMap left,
-                            VertexToVertexMap right)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-      // Suggestion of explicit stack from Aaron Windsor to avoid system stack
-      // overflows.
-      typedef std::pair<vertex_descriptor, std::size_t> stack_entry;
-      std::stack<stack_entry> st;
-      st.push(stack_entry(v, offset));
-      while (!st.empty()) {
-        vertex_descriptor v = st.top().first;
-        std::size_t offset = st.top().second;
-        st.pop();
-        if (v != graph_traits<Graph>::null_vertex()) {
-          x[v] += delta_x[v] + offset;
-          st.push(stack_entry(left[v], x[v]));
-          st.push(stack_entry(right[v], x[v]));
-        }
-      }
-    }
-
-  } /*namespace detail*/ } /*namespace graph*/
-
-
-
-
-
-  template<typename Graph, 
-           typename PlanarEmbedding, 
-           typename ForwardIterator, 
-           typename GridPositionMap,
-           typename VertexIndexMap>
-  void chrobak_payne_straight_line_drawing(const Graph& g, 
-                                           PlanarEmbedding embedding, 
-                                           ForwardIterator ordering_begin,
-                                           ForwardIterator ordering_end,
-                                           GridPositionMap drawing,
-                                           VertexIndexMap vm
-                                           )
-  {
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename PlanarEmbedding::value_type::const_iterator 
-      edge_permutation_iterator_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef std::vector<vertex_t> vertex_vector_t;
-    typedef std::vector<v_size_t> vsize_vector_t;
-    typedef std::vector<bool> bool_vector_t;
-    typedef boost::iterator_property_map
-      <typename vertex_vector_t::iterator, VertexIndexMap> 
-      vertex_to_vertex_map_t;
-    typedef boost::iterator_property_map
-      <typename vsize_vector_t::iterator, VertexIndexMap> 
-      vertex_to_vsize_map_t;
-    typedef boost::iterator_property_map
-      <typename bool_vector_t::iterator, VertexIndexMap> 
-      vertex_to_bool_map_t;
-
-    vertex_vector_t left_vector(num_vertices(g), 
-                                graph_traits<Graph>::null_vertex()
-                                );
-    vertex_vector_t right_vector(num_vertices(g), 
-                                 graph_traits<Graph>::null_vertex()
-                                 );
-    vsize_vector_t seen_as_right_vector(num_vertices(g), 0);
-    vsize_vector_t seen_vector(num_vertices(g), 0);
-    vsize_vector_t delta_x_vector(num_vertices(g),0);
-    vsize_vector_t y_vector(num_vertices(g));
-    vsize_vector_t x_vector(num_vertices(g),0);
-    bool_vector_t installed_vector(num_vertices(g),false);
-
-    vertex_to_vertex_map_t left(left_vector.begin(), vm);
-    vertex_to_vertex_map_t right(right_vector.begin(), vm);
-    vertex_to_vsize_map_t seen_as_right(seen_as_right_vector.begin(), vm);
-    vertex_to_vsize_map_t seen(seen_vector.begin(), vm);
-    vertex_to_vsize_map_t delta_x(delta_x_vector.begin(), vm);
-    vertex_to_vsize_map_t y(y_vector.begin(), vm);
-    vertex_to_vsize_map_t x(x_vector.begin(), vm);
-    vertex_to_bool_map_t installed(installed_vector.begin(), vm);
-
-    v_size_t timestamp = 1;
-    vertex_vector_t installed_neighbors;
-
-    ForwardIterator itr = ordering_begin;
-    vertex_t v1 = *itr; ++itr;
-    vertex_t v2 = *itr; ++itr;
-    vertex_t v3 = *itr; ++itr;
-
-    delta_x[v2] = 1; 
-    delta_x[v3] = 1;
-    
-    y[v1] = 0;
-    y[v2] = 0;
-    y[v3] = 1;
-
-    right[v1] = v3;
-    right[v3] = v2;
-
-    installed[v1] = installed[v2] = installed[v3] = true;
-
-    for(ForwardIterator itr_end = ordering_end; itr != itr_end; ++itr)
-      {
-        vertex_t v = *itr;
-
-        // First, find the leftmost and rightmost neighbor of v on the outer 
-        // cycle of the embedding. 
-        // Note: since we're moving clockwise through the edges adjacent to v, 
-        // we're actually moving from right to left among v's neighbors on the
-        // outer face (since v will be installed above them all) looking for 
-        // the leftmost and rightmost installed neigbhors
-
-        vertex_t leftmost = graph_traits<Graph>::null_vertex();
-        vertex_t rightmost = graph_traits<Graph>::null_vertex();
-
-        installed_neighbors.clear();
-
-        vertex_t prev_vertex = graph_traits<Graph>::null_vertex();
-        edge_permutation_iterator_t pi, pi_end;
-        pi_end = embedding[v].end();
-        for(pi = embedding[v].begin(); pi != pi_end; ++pi)
-          {
-            vertex_t curr_vertex = source(*pi,g) == v ? 
-              target(*pi,g) : source(*pi,g);
-            
-            // Skip any self-loops or parallel edges
-            if (curr_vertex == v || curr_vertex == prev_vertex)
-                continue;
-
-            if (installed[curr_vertex])
-              {
-                seen[curr_vertex] = timestamp;
-
-                if (right[curr_vertex] != graph_traits<Graph>::null_vertex())
-                  {
-                    seen_as_right[right[curr_vertex]] = timestamp;
-                  }
-                installed_neighbors.push_back(curr_vertex);
-              }
-
-            prev_vertex = curr_vertex;
-          }
-
-        typename vertex_vector_t::iterator vi, vi_end;
-        vi_end = installed_neighbors.end();
-        for(vi = installed_neighbors.begin(); vi != vi_end; ++vi)
-          {
-            if (right[*vi] == graph_traits<Graph>::null_vertex() || 
-                seen[right[*vi]] != timestamp
-                )
-              rightmost = *vi;
-            if (seen_as_right[*vi] != timestamp)
-              leftmost = *vi;
-          }
-
-        ++timestamp;
-
-        //stretch gaps
-        ++delta_x[right[leftmost]];
-        ++delta_x[rightmost];
-
-        //adjust offsets
-        std::size_t delta_p_q = 0;
-        vertex_t stopping_vertex = right[rightmost];
-        for(vertex_t temp = right[leftmost]; temp != stopping_vertex; 
-            temp = right[temp]
-            )
-          {
-            delta_p_q += delta_x[temp];
-          }
-
-        delta_x[v] = ((y[rightmost] + delta_p_q) - y[leftmost])/2;
-        y[v] = y[leftmost] + delta_x[v];
-        delta_x[rightmost] = delta_p_q - delta_x[v];
-        
-        bool leftmost_and_rightmost_adjacent = right[leftmost] == rightmost;
-        if (!leftmost_and_rightmost_adjacent)
-          delta_x[right[leftmost]] -= delta_x[v];
-
-        //install v
-        if (!leftmost_and_rightmost_adjacent)
-          {
-            left[v] = right[leftmost];
-            vertex_t next_to_rightmost;
-            for(vertex_t temp = leftmost; temp != rightmost; 
-                temp = right[temp]
-                )
-              {
-                next_to_rightmost = temp;
-              }
-
-            right[next_to_rightmost] = graph_traits<Graph>::null_vertex();
-          }
-        else
-          {
-            left[v] = graph_traits<Graph>::null_vertex();
-          }
-
-        right[leftmost] = v;
-        right[v] = rightmost;
-        installed[v] = true;
-
-      }
-
-    graph::detail::accumulate_offsets
-      (*ordering_begin,0,g,x,delta_x,left,right);
-
-    vertex_iterator_t vi, vi_end;
-    for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-      {
-        vertex_t v(*vi);
-        drawing[v].x = x[v];
-        drawing[v].y = y[v];
-      }
-
-  }
-
-
-
-
-  template<typename Graph, 
-           typename PlanarEmbedding, 
-           typename ForwardIterator, 
-           typename GridPositionMap>
-  inline void chrobak_payne_straight_line_drawing(const Graph& g, 
-                                                  PlanarEmbedding embedding, 
-                                                  ForwardIterator ord_begin,
-                                                  ForwardIterator ord_end,
-                                                  GridPositionMap drawing
-                                                  )
-  {
-    chrobak_payne_straight_line_drawing(g, 
-                                        embedding, 
-                                        ord_begin, 
-                                        ord_end, 
-                                        drawing, 
-                                        get(vertex_index,g)
-                                        );
-  }
-
-
-  
-
-} // namespace boost
-
-#endif //__CHROBAK_PAYNE_DRAWING_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/circle_layout.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/circle_layout.hpp
deleted file mode 100644
index 9c6ca6e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/circle_layout.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_CIRCLE_LAYOUT_HPP
-#define BOOST_GRAPH_CIRCLE_LAYOUT_HPP
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <utility>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/topology.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost {
-  /** 
-   * \brief Layout the graph with the vertices at the points of a regular
-   * n-polygon. 
-   *
-   * The distance from the center of the polygon to each point is
-   * determined by the @p radius parameter. The @p position parameter
-   * must be an Lvalue Property Map whose value type is a class type
-   * containing @c x and @c y members that will be set to the @c x and
-   * @c y coordinates.
-   */
-  template<typename VertexListGraph, typename PositionMap, typename Radius>
-  void 
-  circle_graph_layout(const VertexListGraph& g, PositionMap position,
-                      Radius radius)
-  {
-    BOOST_STATIC_ASSERT (property_traits<PositionMap>::value_type::dimensions >= 2);
-    const double pi = boost::math::constants::pi<double>();
-
-#ifndef BOOST_NO_STDC_NAMESPACE
-    using std::sin;
-    using std::cos;
-#endif // BOOST_NO_STDC_NAMESPACE
-
-    typedef typename graph_traits<VertexListGraph>::vertices_size_type 
-      vertices_size_type;
-
-    vertices_size_type n = num_vertices(g);
-    
-    vertices_size_type i = 0;
-    double two_pi_over_n = 2. * pi / n;
-    BGL_FORALL_VERTICES_T(v, g, VertexListGraph) {
-      position[v][0] = radius * cos(i * two_pi_over_n);
-      position[v][1] = radius * sin(i * two_pi_over_n);
-      ++i;
-    }
-  }
-} // end namespace boost
-
-#endif // BOOST_GRAPH_CIRCLE_LAYOUT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/closeness_centrality.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/closeness_centrality.hpp
deleted file mode 100644
index 3ddf284..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/closeness_centrality.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_CLOSENESS_CENTRALITY_HPP
-#define BOOST_GRAPH_CLOSENESS_CENTRALITY_HPP
-
-#include <boost/graph/detail/geodesic.hpp>
-#include <boost/graph/exterior_property.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost
-{
-template <typename Graph,
-          typename DistanceType,
-          typename ResultType,
-          typename Reciprocal = detail::reciprocal<ResultType> >
-struct closeness_measure
-    : public geodesic_measure<Graph, DistanceType, ResultType>
-{
-    typedef geodesic_measure< Graph, DistanceType, ResultType> base_type;
-    typedef typename base_type::distance_type distance_type;
-    typedef typename base_type::result_type result_type;
-
-    result_type operator ()(distance_type d, const Graph&)
-    {
-        BOOST_CONCEPT_ASSERT(( NumericValueConcept<DistanceType> ));
-        BOOST_CONCEPT_ASSERT(( NumericValueConcept<ResultType> ));
-        BOOST_CONCEPT_ASSERT(( AdaptableUnaryFunctionConcept<Reciprocal,ResultType,ResultType> ));
-        return (d == base_type::infinite_distance())
-            ? base_type::zero_result()
-            : rec(result_type(d));
-    }
-    Reciprocal rec;
-};
-
-template <typename Graph, typename DistanceMap>
-inline closeness_measure<
-        Graph, typename property_traits<DistanceMap>::value_type, double,
-        detail::reciprocal<double> >
-measure_closeness(const Graph&, DistanceMap)
-{
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-    return closeness_measure<Graph, Distance, double, detail::reciprocal<double> >();
-}
-
-template <typename T, typename Graph, typename DistanceMap>
-inline closeness_measure<
-        Graph, typename property_traits<DistanceMap>::value_type, T,
-        detail::reciprocal<T> >
-measure_closeness(const Graph&, DistanceMap)
-{
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-    return closeness_measure<Graph, Distance, T, detail::reciprocal<T> >();
-}
-
-template <typename T, typename Graph, typename DistanceMap, typename Reciprocal>
-inline closeness_measure<
-        Graph, typename property_traits<DistanceMap>::value_type, T,
-        Reciprocal>
-measure_closeness(const Graph&, DistanceMap)
-{
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-    return closeness_measure<Graph, Distance, T, Reciprocal>();
-}
-
-template <typename Graph,
-          typename DistanceMap,
-          typename Measure,
-          typename Combinator>
-inline typename Measure::result_type
-closeness_centrality(const Graph& g,
-                     DistanceMap dist,
-                     Measure measure,
-                     Combinator combine)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-    BOOST_CONCEPT_ASSERT(( NumericValueConcept<Distance> ));
-    BOOST_CONCEPT_ASSERT(( DistanceMeasureConcept<Measure,Graph> ));
-
-    Distance n = detail::combine_distances(g, dist, combine, Distance(0));
-    return measure(n, g);
-}
-
-template <typename Graph, typename DistanceMap, typename Measure>
-inline typename Measure::result_type
-closeness_centrality(const Graph& g, DistanceMap dist, Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-
-    return closeness_centrality(g, dist, measure, std::plus<Distance>());
-}
-
-template <typename Graph, typename DistanceMap>
-inline double closeness_centrality(const Graph& g, DistanceMap dist)
-{ return closeness_centrality(g, dist, measure_closeness(g, dist)); }
-
-template <typename T, typename Graph, typename DistanceMap>
-inline T closeness_centrality(const Graph& g, DistanceMap dist)
-{ return closeness_centrality(g, dist, measure_closeness<T>(g, dist)); }
-
-template <typename Graph,
-          typename DistanceMatrixMap,
-          typename CentralityMap,
-          typename Measure>
-inline void
-all_closeness_centralities(const Graph& g,
-                           DistanceMatrixMap dist,
-                           CentralityMap cent,
-                           Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMatrixMap,Vertex> ));
-    typedef typename property_traits<DistanceMatrixMap>::value_type DistanceMap;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<CentralityMap,Vertex> ));
-    typedef typename property_traits<CentralityMap>::value_type Centrality;
-
-    typename graph_traits<Graph>::vertex_iterator i, end;
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        DistanceMap dm = get(dist, *i);
-        Centrality c = closeness_centrality(g, dm, measure);
-        put(cent, *i, c);
-    }
-}
-
-template <typename Graph,
-          typename DistanceMatrixMap,
-          typename CentralityMap>
-inline void
-all_closeness_centralities(const Graph& g,
-                            DistanceMatrixMap dist,
-                            CentralityMap cent)
-{
-    BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMatrixMap,Vertex> ));
-    typedef typename property_traits<DistanceMatrixMap>::value_type DistanceMap;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-    typedef typename property_traits<CentralityMap>::value_type Result;
-
-    all_closeness_centralities(g, dist, cent, measure_closeness<Result>(g, DistanceMap()));
-}
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/clustering_coefficient.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/clustering_coefficient.hpp
deleted file mode 100644
index 5345ed9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/clustering_coefficient.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_CLUSTERING_COEFFICIENT_HPP
-#define BOOST_GRAPH_CLUSTERING_COEFFICIENT_HPP
-
-#include <boost/next_prior.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/lookup_edge.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost
-{
-namespace detail
-{
-    template <class Graph>
-    inline typename graph_traits<Graph>::degree_size_type
-    possible_edges(const Graph& g, std::size_t k, directed_tag)
-    {
-        BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::degree_size_type T;
-        return T(k) * (T(k) - 1);
-    }
-
-    template <class Graph>
-    inline typename graph_traits<Graph>::degree_size_type
-    possible_edges(const Graph& g, size_t k, undirected_tag)
-    {
-        // dirty little trick...
-        return possible_edges(g, k, directed_tag()) / 2;
-    }
-
-    // This template matches directedS and bidirectionalS.
-    template <class Graph>
-    inline typename graph_traits<Graph>::degree_size_type
-    count_edges(const Graph& g,
-                typename graph_traits<Graph>::vertex_descriptor u,
-                typename graph_traits<Graph>::vertex_descriptor v,
-                directed_tag)
-
-    {
-        BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph> ));
-        return (lookup_edge(u, v, g).second ? 1 : 0) +
-                (lookup_edge(v, u, g).second ? 1 : 0);
-    }
-
-    // This template matches undirectedS
-    template <class Graph>
-    inline typename graph_traits<Graph>::degree_size_type
-    count_edges(const Graph& g,
-                typename graph_traits<Graph>::vertex_descriptor u,
-                typename graph_traits<Graph>::vertex_descriptor v,
-                undirected_tag)
-    {
-        BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph> ));
-        return lookup_edge(u, v, g).second ? 1 : 0;
-    }
-}
-
-template <typename Graph, typename Vertex>
-inline typename graph_traits<Graph>::degree_size_type
-num_paths_through_vertex(const Graph& g, Vertex v)
-{
-    BOOST_CONCEPT_ASSERT(( AdjacencyGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::directed_category Directed;
-    typedef typename graph_traits<Graph>::adjacency_iterator AdjacencyIterator;
-
-    // TODO: There should actually be a set of neighborhood functions
-    // for things like this (num_neighbors() would be great).
-
-    AdjacencyIterator i, end;
-    boost::tie(i, end) = adjacent_vertices(v, g);
-    std::size_t k = std::distance(i, end);
-    return detail::possible_edges(g, k, Directed());
-}
-
-template <typename Graph, typename Vertex>
-inline typename graph_traits<Graph>::degree_size_type
-num_triangles_on_vertex(const Graph& g, Vertex v)
-{
-    BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-    BOOST_CONCEPT_ASSERT(( AdjacencyGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::degree_size_type Degree;
-    typedef typename graph_traits<Graph>::directed_category Directed;
-    typedef typename graph_traits<Graph>::adjacency_iterator AdjacencyIterator;
-
-    // TODO: I might be able to reduce the requirement from adjacency graph
-    // to incidence graph by using out edges.
-
-    Degree count(0);
-    AdjacencyIterator i, j, end;
-    for(boost::tie(i, end) = adjacent_vertices(v, g); i != end; ++i) {
-        for(j = boost::next(i); j != end; ++j) {
-            count += detail::count_edges(g, *i, *j, Directed());
-        }
-    }
-    return count;
-} /* namespace detail */
-
-template <typename T, typename Graph, typename Vertex>
-inline T
-clustering_coefficient(const Graph& g, Vertex v)
-{
-    T zero(0);
-    T routes = T(num_paths_through_vertex(g, v));
-    return (routes > zero) ?
-        T(num_triangles_on_vertex(g, v)) / routes : zero;
-}
-
-template <typename Graph, typename Vertex>
-inline double
-clustering_coefficient(const Graph& g, Vertex v)
-{ return clustering_coefficient<double>(g, v); }
-
-template <typename Graph, typename ClusteringMap>
-inline typename property_traits<ClusteringMap>::value_type
-all_clustering_coefficients(const Graph& g, ClusteringMap cm)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<ClusteringMap,Vertex> ));
-    typedef typename property_traits<ClusteringMap>::value_type Coefficient;
-
-    Coefficient sum(0);
-    VertexIterator i, end;
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        Coefficient cc = clustering_coefficient<Coefficient>(g, *i);
-        put(cm, *i, cc);
-        sum += cc;
-    }
-    return sum / Coefficient(num_vertices(g));
-}
-
-template <typename Graph, typename ClusteringMap>
-inline typename property_traits<ClusteringMap>::value_type
-mean_clustering_coefficient(const Graph& g, ClusteringMap cm)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<ClusteringMap,Vertex> ));
-    typedef typename property_traits<ClusteringMap>::value_type Coefficient;
-
-    Coefficient cc(0);
-    VertexIterator i, end;
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        cc += get(cm, *i);
-    }
-    return cc / Coefficient(num_vertices(g));
-}
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/compressed_sparse_row_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/compressed_sparse_row_graph.hpp
deleted file mode 100644
index 7b91d4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/compressed_sparse_row_graph.hpp
+++ /dev/null
@@ -1,1606 +0,0 @@
-// Copyright 2005-2009 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-
-// Compressed sparse row graph type
-
-#ifndef BOOST_GRAPH_COMPRESSED_SPARSE_ROW_GRAPH_HPP
-#define BOOST_GRAPH_COMPRESSED_SPARSE_ROW_GRAPH_HPP
-
-#include <vector>
-#include <utility>
-#include <algorithm>
-#include <climits>
-#include <boost/assert.hpp>
-#include <iterator>
-#if 0
-#include <iostream> // For some debugging code below
-#endif
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/filtered_graph.hpp> // For keep_all
-#include <boost/graph/detail/indexed_properties.hpp>
-#include <boost/graph/detail/compressed_sparse_row_struct.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/iterator/zip_iterator.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/integer.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/graph/graph_selectors.hpp>
-#include <boost/graph/detail/is_distributed_selector.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/functional/hash.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/property_map/transform_value_property_map.hpp>
-#include <boost/mpl/print.hpp>
-
-namespace boost {
-
-// A tag type indicating that the graph in question is a compressed
-// sparse row graph. This is an internal detail of the BGL.
-struct csr_graph_tag;
-
-// A type (edges_are_sorted_t) and a value (edges_are_sorted) used to indicate
-// that the edge list passed into the CSR graph is already sorted by source
-// vertex.
-enum edges_are_sorted_t {edges_are_sorted};
-
-// A type (edges_are_sorted_global_t) and a value (edges_are_sorted_global)
-// used to indicate that the edge list passed into the CSR graph is already
-// sorted by source vertex.
-enum edges_are_sorted_global_t {edges_are_sorted_global};
-
-// A type (edges_are_unsorted_t) and a value (edges_are_unsorted) used to
-// indicate that the edge list passed into the CSR graph is not sorted by
-// source vertex.  This version caches the edge information in memory, and thus
-// requires only a single pass over the input data.
-enum edges_are_unsorted_t {edges_are_unsorted};
-
-// A type (edges_are_unsorted_multi_pass_t) and a value
-// (edges_are_unsorted_multi_pass) used to indicate that the edge list passed
-// into the CSR graph is not sorted by source vertex.  This version uses less
-// memory but requires multi-pass capability on the iterators.
-enum edges_are_unsorted_multi_pass_t {edges_are_unsorted_multi_pass};
-
-// A type (edges_are_unsorted_multi_pass_global_t) and a value
-// (edges_are_unsorted_multi_pass_global) used to indicate that the edge list
-// passed into the CSR graph is not sorted by source vertex.  This version uses
-// less memory but requires multi-pass capability on the iterators.  The
-// global mapping and filtering is done here because it is often faster and it
-// greatly simplifies handling of edge properties.
-enum edges_are_unsorted_multi_pass_global_t {edges_are_unsorted_multi_pass_global};
-
-// A type (construct_inplace_from_sources_and_targets_t) and a value
-// (construct_inplace_from_sources_and_targets) used to indicate that mutable
-// vectors of sources and targets (and possibly edge properties) are being used
-// to construct the CSR graph.  These vectors are sorted in-place and then the
-// targets and properties are swapped into the graph data structure.
-enum construct_inplace_from_sources_and_targets_t {construct_inplace_from_sources_and_targets};
-
-// A type (construct_inplace_from_sources_and_targets_global_t) and a value
-// (construct_inplace_from_sources_and_targets_global) used to indicate that
-// mutable vectors of sources and targets (and possibly edge properties) are
-// being used to construct the CSR graph.  These vectors are sorted in-place
-// and then the targets and properties are swapped into the graph data
-// structure.  It is assumed that global indices (for distributed CSR) are
-// used, and a map is required to convert those to local indices.  This
-// constructor is intended for internal use by the various CSR graphs
-// (sequential and distributed).
-enum construct_inplace_from_sources_and_targets_global_t {construct_inplace_from_sources_and_targets_global};
-
-// A type (edges_are_unsorted_global_t) and a value (edges_are_unsorted_global)
-// used to indicate that the edge list passed into the CSR graph is not sorted
-// by source vertex.  The data is also stored using global vertex indices, and
-// must be filtered to choose only local vertices.  This constructor caches the
-// edge information in memory, and thus requires only a single pass over the
-// input data.  This constructor is intended for internal use by the
-// distributed CSR constructors.
-enum edges_are_unsorted_global_t {edges_are_unsorted_global};
-
-/****************************************************************************
- * Local helper macros to reduce typing and clutter later on.               *
- ****************************************************************************/
-#define BOOST_CSR_GRAPH_TEMPLATE_PARMS                                  \
-  typename Directed, typename VertexProperty, typename EdgeProperty,    \
-  typename GraphProperty, typename Vertex, typename EdgeIndex
-#define BOOST_CSR_GRAPH_TYPE                                            \
-   compressed_sparse_row_graph<Directed, VertexProperty, EdgeProperty,  \
-                               GraphProperty, Vertex, EdgeIndex>
-#define BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS                              \
-  typename VertexProperty, typename EdgeProperty,                       \
-  typename GraphProperty, typename Vertex, typename EdgeIndex
-#define BOOST_DIR_CSR_GRAPH_TYPE                                        \
-   compressed_sparse_row_graph<directedS, VertexProperty, EdgeProperty, \
-                               GraphProperty, Vertex, EdgeIndex>
-#define BOOST_BIDIR_CSR_GRAPH_TEMPLATE_PARMS                            \
-  typename VertexProperty, typename EdgeProperty,                       \
-  typename GraphProperty, typename Vertex, typename EdgeIndex
-#define BOOST_BIDIR_CSR_GRAPH_TYPE                                      \
-   compressed_sparse_row_graph<bidirectionalS, VertexProperty, EdgeProperty, \
-                               GraphProperty, Vertex, EdgeIndex>
-
-namespace detail {
-  template <typename T>
-  struct default_construct_iterator: public boost::iterator_facade<default_construct_iterator<T>, T, boost::random_access_traversal_tag, const T&> {
-    typedef boost::iterator_facade<default_construct_iterator<T>, T, std::random_access_iterator_tag, const T&> base_type;
-    T saved_value;
-    const T& dereference() const {return saved_value;}
-    bool equal(default_construct_iterator /*i*/) const {return true;}
-    void increment() {}
-    void decrement() {}
-    void advance(typename base_type::difference_type) {}
-    typename base_type::difference_type distance_to(default_construct_iterator) const {return 0;}
-  };
-
-  template <typename Less>
-  struct compare_first {
-    Less less;
-    compare_first(Less less = Less()): less(less) {}
-    template <typename Tuple>
-    bool operator()(const Tuple& a, const Tuple& b) const {
-      return less(a.template get<0>(), b.template get<0>());
-    }
-  };
-
-  template <int N, typename Result>
-  struct my_tuple_get_class {
-    typedef const Result& result_type;
-    template <typename Tuple>
-    result_type operator()(const Tuple& t) const {
-      return t.template get<N>();
-    }
-  };
-}
-
-/** Compressed sparse row graph.
- *
- * Vertex and EdgeIndex should be unsigned integral types and should
- * specialize numeric_limits.
- */
-template<typename Directed = directedS,
-         typename VertexProperty = no_property,
-         typename EdgeProperty = no_property,
-         typename GraphProperty = no_property,
-         typename Vertex = std::size_t,
-         typename EdgeIndex = Vertex>
-class compressed_sparse_row_graph; // Not defined
-
-template<typename VertexProperty,
-         typename EdgeProperty,
-         typename GraphProperty,
-         typename Vertex,
-         typename EdgeIndex>
-class compressed_sparse_row_graph<directedS, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex>
-   : public detail::indexed_vertex_properties<BOOST_DIR_CSR_GRAPH_TYPE,
-                                              VertexProperty, Vertex, typed_identity_property_map<Vertex> >
-{
- public:
-  typedef detail::indexed_vertex_properties<compressed_sparse_row_graph,
-                                            VertexProperty, Vertex, typed_identity_property_map<Vertex> >
-    inherited_vertex_properties;
-
-  // Some tests to prevent use of "void" is a property type (as was done in some test cases):
-  BOOST_STATIC_ASSERT((!is_same<VertexProperty, void>::value));
-  BOOST_STATIC_ASSERT((!is_same<EdgeProperty, void>::value));
-  BOOST_STATIC_ASSERT((!is_same<GraphProperty, void>::value));
-
- public:
-  // For Property Graph
-  typedef GraphProperty graph_property_type;
-  typedef typename lookup_one_property<GraphProperty, graph_bundle_t>::type graph_bundled;
-
-  typedef detail::compressed_sparse_row_structure<EdgeProperty, Vertex, EdgeIndex> forward_type;
-
- public:
-  /* At this time, the compressed sparse row graph can only be used to
-   * create directed and bidirectional graphs. In the future,
-   * undirected CSR graphs will also be supported.
-   */
-  // BOOST_STATIC_ASSERT((is_same<Directed, directedS>::value));
-
-  // Concept requirements:
-  // For Graph
-  typedef Vertex vertex_descriptor;
-  typedef detail::csr_edge_descriptor<Vertex, EdgeIndex> edge_descriptor;
-  typedef directed_tag directed_category;
-  typedef allow_parallel_edge_tag edge_parallel_category;
-
-  class traversal_category: public incidence_graph_tag,
-                            public adjacency_graph_tag,
-                            public vertex_list_graph_tag,
-                            public edge_list_graph_tag {};
-
-  static vertex_descriptor null_vertex() { return vertex_descriptor(-1); }
-
-  // For VertexListGraph
-  typedef counting_iterator<Vertex> vertex_iterator;
-  typedef Vertex vertices_size_type;
-
-  // For EdgeListGraph
-  typedef EdgeIndex edges_size_type;
-
-  // For IncidenceGraph
-  typedef detail::csr_out_edge_iterator<compressed_sparse_row_graph> out_edge_iterator;
-  typedef EdgeIndex degree_size_type;
-
-  // For AdjacencyGraph
-  typedef typename std::vector<Vertex>::const_iterator adjacency_iterator;
-
-  // For EdgeListGraph
-  typedef detail::csr_edge_iterator<compressed_sparse_row_graph> edge_iterator;
-
-  // For BidirectionalGraph (not implemented)
-  typedef void in_edge_iterator;
-
-  // For internal use
-  typedef csr_graph_tag graph_tag;
-
-  typedef typename forward_type::inherited_edge_properties::edge_bundled edge_bundled;
-  typedef typename forward_type::inherited_edge_properties::edge_push_back_type edge_push_back_type;
-  typedef typename forward_type::inherited_edge_properties::edge_property_type edge_property_type;
-
-  // Constructors
-
-  // Default constructor: an empty graph.
-  compressed_sparse_row_graph(): m_property() {}
-
-  //  With numverts vertices
-  compressed_sparse_row_graph(vertices_size_type numverts)
-    : inherited_vertex_properties(numverts), m_forward(numverts) {}
-
-  //  From number of vertices and unsorted list of edges
-  template <typename MultiPassInputIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, numverts, typed_identity_property_map<vertices_size_type>(), keep_all());
-  }
-
-  //  From number of vertices and unsorted list of edges, plus edge properties
-  template <typename MultiPassInputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_forward(), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, ep_iter, numverts, typed_identity_property_map<vertices_size_type>(), keep_all());
-  }
-
-  //  From number of vertices and unsorted list of edges, with filter and
-  //  global-to-local map
-  template <typename MultiPassInputIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_global_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              vertices_size_type numlocalverts,
-                              const GlobalToLocal& global_to_local,
-                              const SourcePred& source_pred,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_forward(), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, numlocalverts, global_to_local, source_pred);
-  }
-
-  //  From number of vertices and unsorted list of edges, plus edge properties,
-  //  with filter and global-to-local map
-  template <typename MultiPassInputIterator, typename EdgePropertyIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_global_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numlocalverts,
-                              const GlobalToLocal& global_to_local,
-                              const SourcePred& source_pred,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_forward(), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, ep_iter, numlocalverts, global_to_local, source_pred);
-  }
-
-  //  From number of vertices and sorted list of edges (new interface)
-  template<typename InputIterator>
-  compressed_sparse_row_graph(edges_are_sorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              edges_size_type numedges = 0,
-                              const GraphProperty& prop = GraphProperty())
-    : m_property(prop)
-  {
-    m_forward.assign_from_sorted_edges(edge_begin, edge_end, typed_identity_property_map<vertices_size_type>(), keep_all(), numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  //  From number of vertices and sorted list of edges (new interface)
-  template<typename InputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_sorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              edges_size_type numedges = 0,
-                              const GraphProperty& prop = GraphProperty())
-    : m_property(prop)
-  {
-    m_forward.assign_from_sorted_edges(edge_begin, edge_end, ep_iter, typed_identity_property_map<vertices_size_type>(), keep_all(), numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  //  From number of vertices and sorted list of edges, filtered and global (new interface)
-  template<typename InputIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_sorted_global_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              const GlobalToLocal& global_to_local,
-                              const SourcePred& source_pred,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : m_property(prop)
-  {
-    m_forward.assign_from_sorted_edges(edge_begin, edge_end, global_to_local, source_pred, numverts, 0);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  //  From number of vertices and sorted list of edges (new interface)
-  template<typename InputIterator, typename EdgePropertyIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_sorted_global_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              const GlobalToLocal& global_to_local,
-                              const SourcePred& source_pred,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : m_property(prop)
-  {
-    m_forward.assign_from_sorted_edges(edge_begin, edge_end, ep_iter, global_to_local, source_pred, numverts, 0);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  //  From number of vertices and mutable vectors of sources and targets;
-  //  vectors are returned with unspecified contents but are guaranteed not to
-  //  share storage with the constructed graph.
-  compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_t,
-                              std::vector<vertex_descriptor>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_property(prop)
-  {
-    m_forward.assign_sources_and_targets_global(sources, targets, numverts, boost::typed_identity_property_map<vertices_size_type>());
-  }
-
-  //  From number of vertices and mutable vectors of sources and targets,
-  //  expressed with global vertex indices; vectors are returned with
-  //  unspecified contents but are guaranteed not to share storage with the
-  //  constructed graph.  This constructor should only be used by the
-  //  distributed CSR graph.
-  template <typename GlobalToLocal>
-  compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_global_t,
-                              std::vector<vertex_descriptor>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              vertices_size_type numlocalverts,
-                              GlobalToLocal global_to_local,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_property(prop)
-  {
-    m_forward.assign_sources_and_targets_global(sources, targets, numlocalverts, global_to_local);
-  }
-
-  //  From number of vertices and mutable vectors of sources, targets, and edge
-  //  properties; vectors are returned with unspecified contents but are
-  //  guaranteed not to share storage with the constructed graph.
-  compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_t,
-                              std::vector<vertex_descriptor>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              std::vector<typename forward_type::inherited_edge_properties::edge_bundled>& edge_props,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_property(prop)
-  {
-    m_forward.assign_sources_and_targets_global(sources, targets, edge_props, numverts, boost::typed_identity_property_map<vertices_size_type>());
-  }
-
-  //  From number of vertices and mutable vectors of sources and targets and
-  //  edge properties, expressed with global vertex indices; vectors are
-  //  returned with unspecified contents but are guaranteed not to share
-  //  storage with the constructed graph.  This constructor should only be used
-  //  by the distributed CSR graph.
-  template <typename GlobalToLocal>
-  compressed_sparse_row_graph(construct_inplace_from_sources_and_targets_global_t,
-                              std::vector<vertex_descriptor>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              std::vector<typename forward_type::inherited_edge_properties::edge_bundled>& edge_props,
-                              vertices_size_type numlocalverts,
-                              GlobalToLocal global_to_local,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_property(prop)
-  {
-    m_forward.assign_sources_and_targets_global(sources, targets, edge_props, numlocalverts, global_to_local);
-  }
-
-  //  From number of vertices and single-pass range of unsorted edges.  Data is
-  //  cached in coordinate form before creating the actual graph.
-  template<typename InputIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_property(prop)
-  {
-    std::vector<vertex_descriptor> sources, targets;
-    boost::graph::detail::split_into_separate_coords
-      (edge_begin, edge_end, sources, targets);
-    m_forward.assign_sources_and_targets_global(sources, targets, numverts, boost::typed_identity_property_map<vertices_size_type>());
-  }
-
-  //  From number of vertices and single-pass range of unsorted edges and
-  //  single-pass range of edge properties.  Data is cached in coordinate form
-  //  before creating the actual graph.
-  template<typename InputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_property(prop)
-  {
-    std::vector<vertex_descriptor> sources, targets;
-    boost::graph::detail::split_into_separate_coords
-      (edge_begin, edge_end, sources, targets);
-    size_t numedges = sources.size();
-    std::vector<typename forward_type::inherited_edge_properties::edge_bundled> edge_props(numedges);
-    for (size_t i = 0; i < numedges; ++i) {
-      edge_props[i] = *ep_iter++;
-    }
-    m_forward.assign_sources_and_targets_global(sources, targets, edge_props, numverts, boost::typed_identity_property_map<vertices_size_type>());
-  }
-
-  //  From number of vertices and single-pass range of unsorted edges.  Data is
-  //  cached in coordinate form before creating the actual graph.  Edges are
-  //  filtered and transformed for use in a distributed graph.
-  template<typename InputIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_unsorted_global_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numlocalverts,
-                              GlobalToLocal global_to_local,
-                              const SourcePred& source_pred,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_property(prop)
-  {
-    std::vector<vertex_descriptor> sources, targets;
-    boost::graph::detail::split_into_separate_coords_filtered
-      (edge_begin, edge_end, sources, targets, source_pred);
-    m_forward.assign_sources_and_targets_global(sources, targets, numlocalverts, global_to_local);
-  }
-
-  //  From number of vertices and single-pass range of unsorted edges and
-  //  single-pass range of edge properties.  Data is cached in coordinate form
-  //  before creating the actual graph.  Edges are filtered and transformed for
-  //  use in a distributed graph.
-  template<typename InputIterator, typename EdgePropertyIterator,
-           typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_unsorted_global_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numlocalverts,
-                              GlobalToLocal global_to_local,
-                              const SourcePred& source_pred,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_property(prop)
-  {
-    std::vector<vertex_descriptor> sources, targets;
-    std::vector<edge_bundled> edge_props;
-    boost::graph::detail::split_into_separate_coords_filtered
-      (edge_begin, edge_end, ep_iter, sources, targets, edge_props, source_pred);
-    m_forward.assign_sources_and_targets_global(sources, targets, edge_props, numlocalverts, global_to_local);
-  }
-
-
-  //   Requires IncidenceGraph and a vertex index map
-  template<typename Graph, typename VertexIndexMap>
-  compressed_sparse_row_graph(const Graph& g, const VertexIndexMap& vi,
-                              vertices_size_type numverts,
-                              edges_size_type numedges)
-    : m_property()
-  {
-    assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  //   Requires VertexListGraph and EdgeListGraph
-  template<typename Graph, typename VertexIndexMap>
-  compressed_sparse_row_graph(const Graph& g, const VertexIndexMap& vi)
-    : m_property()
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    vertices_size_type numverts = num_vertices(g);
-    assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  // Requires vertex index map plus requirements of previous constructor
-  template<typename Graph>
-  explicit compressed_sparse_row_graph(const Graph& g)
-    : m_property()
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    assign(g, get(vertex_index, g), num_vertices(g), numedges);
-  }
-
-  // From any graph (slow and uses a lot of memory)
-  //   Requires IncidenceGraph and a vertex index map
-  //   Internal helper function
-  //   Note that numedges must be doubled for undirected source graphs
-  template<typename Graph, typename VertexIndexMap>
-  void
-  assign(const Graph& g, const VertexIndexMap& vi,
-         vertices_size_type numverts, edges_size_type numedges)
-  {
-    m_forward.assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  // Requires the above, plus VertexListGraph and EdgeListGraph
-  template<typename Graph, typename VertexIndexMap>
-  void assign(const Graph& g, const VertexIndexMap& vi)
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    vertices_size_type numverts = num_vertices(g);
-    m_forward.assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  // Requires the above, plus a vertex_index map.
-  template<typename Graph>
-  void assign(const Graph& g)
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    vertices_size_type numverts = num_vertices(g);
-    m_forward.assign(g, get(vertex_index, g), numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  // Add edges from a sorted (smallest sources first) range of pairs and edge
-  // properties
-  template <typename BidirectionalIteratorOrig, typename EPIterOrig,
-            typename GlobalToLocal>
-  void
-  add_edges_sorted_internal(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      EPIterOrig ep_iter_sorted,
-      const GlobalToLocal& global_to_local) {
-    m_forward.add_edges_sorted_internal(first_sorted, last_sorted, ep_iter_sorted, global_to_local);
-  }
-
-  template <typename BidirectionalIteratorOrig, typename EPIterOrig>
-  void
-  add_edges_sorted_internal(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      EPIterOrig ep_iter_sorted)  {
-    m_forward.add_edges_sorted_internal(first_sorted, last_sorted, ep_iter_sorted, typed_identity_property_map<vertices_size_type>());
-  }
-
-  // Add edges from a sorted (smallest sources first) range of pairs
-  template <typename BidirectionalIteratorOrig>
-  void
-  add_edges_sorted_internal(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted) {
-    m_forward.add_edges_sorted_internal(first_sorted, last_sorted, detail::default_construct_iterator<edge_bundled>());
-  }
-
-  template <typename BidirectionalIteratorOrig, typename GlobalToLocal>
-  void
-  add_edges_sorted_internal_global(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      const GlobalToLocal& global_to_local) {
-    m_forward.add_edges_sorted_internal(first_sorted, last_sorted, detail::default_construct_iterator<edge_bundled>(), global_to_local);
-  }
-
-  template <typename BidirectionalIteratorOrig, typename EPIterOrig,
-            typename GlobalToLocal>
-  void
-  add_edges_sorted_internal_global(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      EPIterOrig ep_iter_sorted,
-      const GlobalToLocal& global_to_local) {
-    m_forward.add_edges_sorted_internal(first_sorted, last_sorted, ep_iter_sorted, global_to_local);
-  }
-
-  // Add edges from a range of (source, target) pairs that are unsorted
-  template <typename InputIterator, typename GlobalToLocal>
-  inline void
-  add_edges_internal(InputIterator first, InputIterator last,
-                     const GlobalToLocal& global_to_local) {
-    typedef compressed_sparse_row_graph Graph;
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef std::vector<std::pair<vertex_t, vertex_t> > edge_vector_t;
-    edge_vector_t new_edges(first, last);
-    if (new_edges.empty()) return;
-    std::sort(new_edges.begin(), new_edges.end());
-    this->add_edges_sorted_internal_global(new_edges.begin(), new_edges.end(), global_to_local);
-  }
-
-  template <typename InputIterator>
-  inline void
-  add_edges_internal(InputIterator first, InputIterator last) {
-    this->add_edges_internal(first, last, typed_identity_property_map<vertices_size_type>());
-  }
-
-  // Add edges from a range of (source, target) pairs and edge properties that
-  // are unsorted
-  template <typename InputIterator, typename EPIterator, typename GlobalToLocal>
-  inline void
-  add_edges_internal(InputIterator first, InputIterator last,
-                     EPIterator ep_iter, EPIterator ep_iter_end,
-                     const GlobalToLocal& global_to_local) {
-    typedef compressed_sparse_row_graph Graph;
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef std::pair<vertex_t, vertex_t> vertex_pair;
-    typedef std::vector<
-              boost::tuple<vertex_pair,
-                           edge_bundled> >
-      edge_vector_t;
-    edge_vector_t new_edges
-      (boost::make_zip_iterator(boost::make_tuple(first, ep_iter)),
-       boost::make_zip_iterator(boost::make_tuple(last, ep_iter_end)));
-    if (new_edges.empty()) return;
-    std::sort(new_edges.begin(), new_edges.end(),
-              boost::detail::compare_first<
-                std::less<vertex_pair> >());
-    m_forward.add_edges_sorted_internal
-      (boost::make_transform_iterator(
-         new_edges.begin(),
-         boost::detail::my_tuple_get_class<0, vertex_pair>()),
-       boost::make_transform_iterator(
-         new_edges.end(),
-         boost::detail::my_tuple_get_class<0, vertex_pair>()),
-       boost::make_transform_iterator(
-         new_edges.begin(),
-         boost::detail::my_tuple_get_class
-           <1, edge_bundled>()),
-       global_to_local);
-  }
-
-  // Add edges from a range of (source, target) pairs and edge properties that
-  // are unsorted
-  template <typename InputIterator, typename EPIterator>
-  inline void
-  add_edges_internal(InputIterator first, InputIterator last,
-                     EPIterator ep_iter, EPIterator ep_iter_end) {
-    this->add_edges_internal(first, last, ep_iter, ep_iter_end, typed_identity_property_map<vertices_size_type>());
-  }
-
-  using inherited_vertex_properties::operator[];
-
-  // Directly access a edge or edge bundle
-  edge_push_back_type& operator[](const edge_descriptor& v)
-  { return m_forward.m_edge_properties[get(edge_index, *this, v)]; }
-
-  const edge_push_back_type& operator[](const edge_descriptor& v) const
-  { return m_forward.m_edge_properties[get(edge_index, *this, v)]; }
-
-  // Directly access a graph bundle
-  graph_bundled& operator[](graph_bundle_t)
-  { return get_property(*this); }
-
-  const graph_bundled& operator[](graph_bundle_t) const
-  { return get_property(*this); }
-
-  // private: non-portable, requires friend templates
-  inherited_vertex_properties&       vertex_properties()       {return *this;}
-  const inherited_vertex_properties& vertex_properties() const {return *this;}
-  typename forward_type::inherited_edge_properties&       edge_properties()       { return m_forward; }
-  const typename forward_type::inherited_edge_properties& edge_properties() const { return m_forward; }
-
-  forward_type m_forward;
-  GraphProperty m_property;
-};
-
-template<typename VertexProperty,
-         typename EdgeProperty,
-         typename GraphProperty,
-         typename Vertex,
-         typename EdgeIndex>
-class compressed_sparse_row_graph<bidirectionalS, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex>
-   : public detail::indexed_vertex_properties<BOOST_BIDIR_CSR_GRAPH_TYPE,
-                                              VertexProperty, Vertex, typed_identity_property_map<Vertex> >
-{
- public:
-  typedef detail::indexed_vertex_properties<compressed_sparse_row_graph,
-                                            VertexProperty, Vertex, typed_identity_property_map<Vertex> >
-    inherited_vertex_properties;
-
- public:
-  // For Property Graph
-  typedef GraphProperty graph_property_type;
-  typedef typename lookup_one_property<GraphProperty, graph_bundle_t>::type graph_bundled;
-  // typedef GraphProperty graph_property_type;
-
-  typedef detail::compressed_sparse_row_structure<EdgeProperty, Vertex, EdgeIndex> forward_type;
-  typedef EdgeIndex /* typename boost::mpl::if_c<boost::is_same<EdgeProperty, boost::no_property>, boost::no_property, EdgeIndex> */ backward_edge_property;
-  typedef detail::compressed_sparse_row_structure<backward_edge_property, Vertex, EdgeIndex> backward_type;
-
- public:
-  // Concept requirements:
-  // For Graph
-  typedef Vertex vertex_descriptor;
-  typedef detail::csr_edge_descriptor<Vertex, EdgeIndex> edge_descriptor;
-  typedef bidirectional_tag directed_category;
-  typedef allow_parallel_edge_tag edge_parallel_category;
-
-  class traversal_category: public bidirectional_graph_tag,
-                            public adjacency_graph_tag,
-                            public vertex_list_graph_tag,
-                            public edge_list_graph_tag {};
-
-  static vertex_descriptor null_vertex() { return vertex_descriptor(-1); }
-
-  // For VertexListGraph
-  typedef counting_iterator<Vertex> vertex_iterator;
-  typedef Vertex vertices_size_type;
-
-  // For EdgeListGraph
-  typedef EdgeIndex edges_size_type;
-
-  // For IncidenceGraph
-  typedef detail::csr_out_edge_iterator<compressed_sparse_row_graph> out_edge_iterator;
-  typedef EdgeIndex degree_size_type;
-
-  // For AdjacencyGraph
-  typedef typename std::vector<Vertex>::const_iterator adjacency_iterator;
-
-  // For EdgeListGraph
-  typedef detail::csr_edge_iterator<compressed_sparse_row_graph> edge_iterator;
-
-  // For BidirectionalGraph (not implemented)
-  typedef detail::csr_in_edge_iterator<compressed_sparse_row_graph> in_edge_iterator;
-
-  // For internal use
-  typedef csr_graph_tag graph_tag;
-
-  typedef typename forward_type::inherited_edge_properties::edge_bundled edge_bundled;
-  typedef typename forward_type::inherited_edge_properties::edge_push_back_type edge_push_back_type;
-  typedef typename forward_type::inherited_edge_properties::edge_property_type edge_property_type;
-
-  // Constructors
-
-  // Default constructor: an empty graph.
-  compressed_sparse_row_graph(): m_property() {}
-
-  //  With numverts vertices
-  compressed_sparse_row_graph(vertices_size_type numverts)
-    : inherited_vertex_properties(numverts),
-      m_forward(numverts), m_backward(numverts) {}
-
-  private:
-
-  void set_up_backward_property_links() {
-    std::pair<edge_iterator, edge_iterator> e = edges(*this);
-    m_backward.assign_unsorted_multi_pass_edges
-      (detail::transpose_edges(
-         detail::make_edge_to_index_pair_iter
-           (*this, get(vertex_index, *this), e.first)),
-       detail::transpose_edges(
-         detail::make_edge_to_index_pair_iter
-           (*this, get(vertex_index, *this), e.second)),
-       boost::counting_iterator<EdgeIndex>(0),
-       m_forward.m_rowstart.size() - 1,
-       typed_identity_property_map<Vertex>(),
-       keep_all());
-  }
-
-  public:
-
-  //  From number of vertices and unsorted list of edges
-  template <typename MultiPassInputIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, numverts, typed_identity_property_map<Vertex>(), keep_all());
-    set_up_backward_property_links();
-  }
-
-  //  From number of vertices and unsorted list of edges, plus edge properties
-  template <typename MultiPassInputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numverts), m_forward(), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, ep_iter, numverts, typed_identity_property_map<Vertex>(), keep_all());
-    set_up_backward_property_links();
-  }
-
-  //  From number of vertices and unsorted list of edges, with filter and
-  //  global-to-local map
-  template <typename MultiPassInputIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_global_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              vertices_size_type numlocalverts,
-                              const GlobalToLocal& global_to_local,
-                              const SourcePred& source_pred,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_forward(), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, numlocalverts, global_to_local, source_pred);
-    set_up_backward_property_links();
-  }
-
-  //  From number of vertices and unsorted list of edges, plus edge properties,
-  //  with filter and global-to-local map
-  template <typename MultiPassInputIterator, typename EdgePropertyIterator, typename GlobalToLocal, typename SourcePred>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_global_t,
-                              MultiPassInputIterator edge_begin,
-                              MultiPassInputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numlocalverts,
-                              const GlobalToLocal& global_to_local,
-                              const SourcePred& source_pred,
-                              const GraphProperty& prop = GraphProperty())
-    : inherited_vertex_properties(numlocalverts), m_forward(), m_property(prop)
-  {
-    m_forward.assign_unsorted_multi_pass_edges(edge_begin, edge_end, ep_iter, numlocalverts, global_to_local, source_pred);
-    set_up_backward_property_links();
-  }
-
-  //   Requires IncidenceGraph and a vertex index map
-  template<typename Graph, typename VertexIndexMap>
-  compressed_sparse_row_graph(const Graph& g, const VertexIndexMap& vi,
-                              vertices_size_type numverts,
-                              edges_size_type numedges)
-    : m_property()
-  {
-    assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  //   Requires VertexListGraph and EdgeListGraph
-  template<typename Graph, typename VertexIndexMap>
-  compressed_sparse_row_graph(const Graph& g, const VertexIndexMap& vi)
-    : m_property()
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    vertices_size_type numverts = num_vertices(g);
-    assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-  }
-
-  // Requires vertex index map plus requirements of previous constructor
-  template<typename Graph>
-  explicit compressed_sparse_row_graph(const Graph& g)
-    : m_property()
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    assign(g, get(vertex_index, g), num_vertices(g), numedges);
-  }
-
-  // From any graph (slow and uses a lot of memory)
-  //   Requires IncidenceGraph and a vertex index map
-  //   Internal helper function
-  //   Note that numedges must be doubled for undirected source graphs
-  template<typename Graph, typename VertexIndexMap>
-  void
-  assign(const Graph& g, const VertexIndexMap& vi,
-         vertices_size_type numverts, edges_size_type numedges)
-  {
-    m_forward.assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-    set_up_backward_property_links();
-  }
-
-  // Requires the above, plus VertexListGraph and EdgeListGraph
-  template<typename Graph, typename VertexIndexMap>
-  void assign(const Graph& g, const VertexIndexMap& vi)
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    vertices_size_type numverts = num_vertices(g);
-    m_forward.assign(g, vi, numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-    set_up_backward_property_links();
-  }
-
-  // Requires the above, plus a vertex_index map.
-  template<typename Graph>
-  void assign(const Graph& g)
-  {
-    typename graph_traits<Graph>::edges_size_type numedges = num_edges(g);
-    if (is_same<typename graph_traits<Graph>::directed_category, undirectedS>::value) {
-      numedges *= 2; // Double each edge (actual doubling done by out_edges function)
-    }
-    vertices_size_type numverts = num_vertices(g);
-    m_forward.assign(g, get(vertex_index, g), numverts, numedges);
-    inherited_vertex_properties::resize(numverts);
-    set_up_backward_property_links();
-  }
-
-  using inherited_vertex_properties::operator[];
-
-  // Directly access a edge or edge bundle
-  edge_push_back_type& operator[](const edge_descriptor& v)
-  { return m_forward.m_edge_properties[get(edge_index, *this, v)]; }
-
-  const edge_push_back_type& operator[](const edge_descriptor& v) const
-  { return m_forward.m_edge_properties[get(edge_index, *this, v)]; }
-
-  // private: non-portable, requires friend templates
-  inherited_vertex_properties&       vertex_properties()       {return *this;}
-  const inherited_vertex_properties& vertex_properties() const {return *this;}
-  typename forward_type::inherited_edge_properties&       edge_properties()       { return m_forward; }
-  const typename forward_type::inherited_edge_properties& edge_properties() const { return m_forward; }
-
-  forward_type m_forward;
-  backward_type m_backward;
-  GraphProperty m_property;
-};
-
-// Construction functions
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-add_vertex(BOOST_CSR_GRAPH_TYPE& g) {
-  add_vertex(g, typename BOOST_CSR_GRAPH_TYPE::vertex_bundled());
-}
-
-template<BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-add_vertex(BOOST_DIR_CSR_GRAPH_TYPE& g,
-           typename BOOST_DIR_CSR_GRAPH_TYPE::vertex_bundled const& p) {
-  Vertex old_num_verts_plus_one = g.m_forward.m_rowstart.size();
-  g.m_forward.m_rowstart.push_back(g.m_forward.m_rowstart.back());
-  g.vertex_properties().push_back(p);
-  return old_num_verts_plus_one - 1;
-}
-
-template<BOOST_BIDIR_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-add_vertex(BOOST_BIDIR_CSR_GRAPH_TYPE& g,
-           typename BOOST_BIDIR_CSR_GRAPH_TYPE::vertex_bundled const& p) {
-  Vertex old_num_verts_plus_one = g.m_forward.m_rowstart.size();
-  g.m_forward.m_rowstart.push_back(g.m_forward.m_rowstart.back());
-  g.m_backward.m_rowstart.push_back(g.m_backward.m_rowstart.back());
-  g.vertex_properties().push_back(p);
-  return old_num_verts_plus_one - 1;
-}
-
-template<BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-add_vertices(typename BOOST_DIR_CSR_GRAPH_TYPE::vertices_size_type count, BOOST_DIR_CSR_GRAPH_TYPE& g) {
-  Vertex old_num_verts_plus_one = g.m_forward.m_rowstart.size();
-  EdgeIndex numedges = g.m_forward.m_rowstart.back();
-  g.m_forward.m_rowstart.resize(old_num_verts_plus_one + count, numedges);
-  g.vertex_properties().resize(num_vertices(g));
-  return old_num_verts_plus_one - 1;
-}
-
-  // Add edges from a sorted (smallest sources first) range of pairs and edge
-  // properties
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS, typename BidirectionalIteratorOrig,
-            typename EPIterOrig>
-  void
-  add_edges_sorted(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      EPIterOrig ep_iter_sorted,
-      BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_sorted_internal(first_sorted, last_sorted, ep_iter_sorted);
-  }
-
-  // Add edges from a sorted (smallest sources first) range of pairs
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS, typename BidirectionalIteratorOrig>
-  void
-  add_edges_sorted(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_sorted_internal(first_sorted, last_sorted);
-  }
-
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS, typename BidirectionalIteratorOrig,
-            typename EPIterOrig, typename GlobalToLocal>
-  void
-  add_edges_sorted_global(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      EPIterOrig ep_iter_sorted,
-      const GlobalToLocal& global_to_local,
-      BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_sorted_internal_global(first_sorted, last_sorted, ep_iter_sorted,
-                                       global_to_local);
-  }
-
-  // Add edges from a sorted (smallest sources first) range of pairs
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS, typename BidirectionalIteratorOrig,
-            typename GlobalToLocal>
-  void
-  add_edges_sorted_global(
-      BidirectionalIteratorOrig first_sorted,
-      BidirectionalIteratorOrig last_sorted,
-      const GlobalToLocal& global_to_local,
-      BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_sorted_internal_global(first_sorted, last_sorted, global_to_local);
-  }
-
-  // Add edges from a range of (source, target) pairs that are unsorted
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS, typename InputIterator,
-            typename GlobalToLocal>
-  inline void
-  add_edges_global(InputIterator first, InputIterator last,
-                   const GlobalToLocal& global_to_local, BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_internal(first, last, global_to_local);
-  }
-
-  // Add edges from a range of (source, target) pairs that are unsorted
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS, typename InputIterator>
-  inline void
-  add_edges(InputIterator first, InputIterator last, BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_internal(first, last);
-  }
-
-  // Add edges from a range of (source, target) pairs and edge properties that
-  // are unsorted
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS,
-            typename InputIterator, typename EPIterator>
-  inline void
-  add_edges(InputIterator first, InputIterator last,
-            EPIterator ep_iter, EPIterator ep_iter_end,
-            BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_internal(first, last, ep_iter, ep_iter_end);
-  }
-
-  template <BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS,
-            typename InputIterator, typename EPIterator, typename GlobalToLocal>
-  inline void
-  add_edges_global(InputIterator first, InputIterator last,
-            EPIterator ep_iter, EPIterator ep_iter_end,
-            const GlobalToLocal& global_to_local,
-            BOOST_DIR_CSR_GRAPH_TYPE& g) {
-    g.add_edges_internal(first, last, ep_iter, ep_iter_end, global_to_local);
-  }
-
-// From VertexListGraph
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-num_vertices(const BOOST_CSR_GRAPH_TYPE& g) {
-  return g.m_forward.m_rowstart.size() - 1;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-std::pair<counting_iterator<Vertex>, counting_iterator<Vertex> >
-inline vertices(const BOOST_CSR_GRAPH_TYPE& g) {
-  return std::make_pair(counting_iterator<Vertex>(0),
-                        counting_iterator<Vertex>(num_vertices(g)));
-}
-
-// From IncidenceGraph
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-source(typename BOOST_CSR_GRAPH_TYPE::edge_descriptor e,
-       const BOOST_CSR_GRAPH_TYPE&)
-{
-  return e.src;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-target(typename BOOST_CSR_GRAPH_TYPE::edge_descriptor e,
-       const BOOST_CSR_GRAPH_TYPE& g)
-{
-  return g.m_forward.m_column[e.idx];
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_CSR_GRAPH_TYPE::out_edge_iterator,
-                 typename BOOST_CSR_GRAPH_TYPE::out_edge_iterator>
-out_edges(Vertex v, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_CSR_GRAPH_TYPE::edge_descriptor ed;
-  typedef typename BOOST_CSR_GRAPH_TYPE::out_edge_iterator it;
-  EdgeIndex v_row_start = g.m_forward.m_rowstart[v];
-  EdgeIndex next_row_start = g.m_forward.m_rowstart[v + 1];
-  return std::make_pair(it(ed(v, v_row_start)),
-                        it(ed(v, next_row_start)));
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline EdgeIndex
-out_degree(Vertex v, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  EdgeIndex v_row_start = g.m_forward.m_rowstart[v];
-  EdgeIndex next_row_start = g.m_forward.m_rowstart[v + 1];
-  return next_row_start - v_row_start;
-}
-
-template<BOOST_BIDIR_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_BIDIR_CSR_GRAPH_TYPE::in_edge_iterator,
-                 typename BOOST_BIDIR_CSR_GRAPH_TYPE::in_edge_iterator>
-in_edges(Vertex v, const BOOST_BIDIR_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_BIDIR_CSR_GRAPH_TYPE::in_edge_iterator it;
-  EdgeIndex v_row_start = g.m_backward.m_rowstart[v];
-  EdgeIndex next_row_start = g.m_backward.m_rowstart[v + 1];
-  return std::make_pair(it(g, v_row_start),
-                        it(g, next_row_start));
-}
-
-template<BOOST_BIDIR_CSR_GRAPH_TEMPLATE_PARMS>
-inline EdgeIndex
-in_degree(Vertex v, const BOOST_BIDIR_CSR_GRAPH_TYPE& g)
-{
-  EdgeIndex v_row_start = g.m_backward.m_rowstart[v];
-  EdgeIndex next_row_start = g.m_backward.m_rowstart[v + 1];
-  return next_row_start - v_row_start;
-}
-
-// From AdjacencyGraph
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_CSR_GRAPH_TYPE::adjacency_iterator,
-                 typename BOOST_CSR_GRAPH_TYPE::adjacency_iterator>
-adjacent_vertices(Vertex v, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  EdgeIndex v_row_start = g.m_forward.m_rowstart[v];
-  EdgeIndex next_row_start = g.m_forward.m_rowstart[v + 1];
-  return std::make_pair(g.m_forward.m_column.begin() + v_row_start,
-                        g.m_forward.m_column.begin() + next_row_start);
-}
-
-// Extra, common functions
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename graph_traits<BOOST_CSR_GRAPH_TYPE>::vertex_descriptor
-vertex(typename graph_traits<BOOST_CSR_GRAPH_TYPE>::vertex_descriptor i,
-       const BOOST_CSR_GRAPH_TYPE&)
-{
-  return i;
-}
-
-// edge() can be provided in linear time for the new interface
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_CSR_GRAPH_TYPE::edge_descriptor, bool>
-edge(Vertex i, Vertex j, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_CSR_GRAPH_TYPE::out_edge_iterator out_edge_iter;
-  std::pair<out_edge_iter, out_edge_iter> range = out_edges(i, g);
-  for (; range.first != range.second; ++range.first) {
-    if (target(*range.first, g) == j)
-      return std::make_pair(*range.first, true);
-  }
-  return std::make_pair(typename BOOST_CSR_GRAPH_TYPE::edge_descriptor(),
-                        false);
-}
-
-// Find an edge given its index in the graph
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_CSR_GRAPH_TYPE::edge_descriptor
-edge_from_index(EdgeIndex idx, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  typedef typename std::vector<EdgeIndex>::const_iterator row_start_iter;
-  BOOST_ASSERT (idx < num_edges(g));
-  row_start_iter src_plus_1 =
-    std::upper_bound(g.m_forward.m_rowstart.begin(),
-                     g.m_forward.m_rowstart.end(),
-                     idx);
-    // Get last source whose rowstart is at most idx
-    // upper_bound returns this position plus 1
-  Vertex src = (src_plus_1 - g.m_forward.m_rowstart.begin()) - 1;
-  return typename BOOST_CSR_GRAPH_TYPE::edge_descriptor(src, idx);
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline EdgeIndex
-num_edges(const BOOST_CSR_GRAPH_TYPE& g)
-{
-  return g.m_forward.m_column.size();
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-std::pair<typename BOOST_CSR_GRAPH_TYPE::edge_iterator,
-          typename BOOST_CSR_GRAPH_TYPE::edge_iterator>
-edges(const BOOST_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_CSR_GRAPH_TYPE::edge_iterator ei;
-  typedef typename BOOST_CSR_GRAPH_TYPE::edge_descriptor edgedesc;
-  if (g.m_forward.m_rowstart.size() == 1 || g.m_forward.m_column.empty()) {
-    return std::make_pair(ei(), ei());
-  } else {
-    // Find the first vertex that has outgoing edges
-    Vertex src = 0;
-    while (g.m_forward.m_rowstart[src + 1] == 0) ++src;
-    return std::make_pair(ei(g, edgedesc(src, 0), g.m_forward.m_rowstart[src + 1]),
-                          ei(g, edgedesc(num_vertices(g), g.m_forward.m_column.size()), 0));
-  }
-}
-
-// For Property Graph
-
-// Graph properties
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, class Tag, class Value>
-inline void
-set_property(BOOST_CSR_GRAPH_TYPE& g, Tag tag, const Value& value)
-{
-  get_property_value(g.m_property, tag) = value;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, class Tag>
-inline
-typename graph_property<BOOST_CSR_GRAPH_TYPE, Tag>::type&
-get_property(BOOST_CSR_GRAPH_TYPE& g, Tag tag)
-{
-  return get_property_value(g.m_property, tag);
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS, class Tag>
-inline
-const
-typename graph_property<BOOST_CSR_GRAPH_TYPE, Tag>::type&
-get_property(const BOOST_CSR_GRAPH_TYPE& g, Tag tag)
-{
-  return get_property_value(g.m_property, tag);
-}
-
-template <typename G, typename Tag, typename Kind>
-struct csr_property_map_helper {};
-// Kind == void for invalid property tags, so we can use that to SFINAE out
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-struct csr_property_map_helper<BOOST_CSR_GRAPH_TYPE, Tag, vertex_property_tag> {
-  typedef vertex_all_t all_tag;
-  typedef typename property_traits<typename property_map<BOOST_CSR_GRAPH_TYPE, vertex_all_t>::type>::key_type key_type;
-  typedef VertexProperty plist_type;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, vertex_all_t>::type all_type;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, vertex_all_t>::const_type all_const_type;
-  typedef transform_value_property_map<detail::lookup_one_property_f<plist_type, Tag>, all_type> type;
-  typedef transform_value_property_map<detail::lookup_one_property_f<const plist_type, Tag>, all_const_type> const_type;
-};
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-struct csr_property_map_helper<BOOST_CSR_GRAPH_TYPE, Tag, edge_property_tag> {
-  typedef edge_all_t all_tag;
-  typedef typename property_traits<typename property_map<BOOST_CSR_GRAPH_TYPE, edge_all_t>::type>::key_type key_type;
-  typedef EdgeProperty plist_type;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, edge_all_t>::type all_type;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, edge_all_t>::const_type all_const_type;
-  typedef transform_value_property_map<detail::lookup_one_property_f<plist_type, Tag>, all_type> type;
-  typedef transform_value_property_map<detail::lookup_one_property_f<const plist_type, Tag>, all_const_type> const_type;
-};
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-struct csr_property_map_helper<BOOST_CSR_GRAPH_TYPE, Tag, graph_property_tag> {
-  typedef graph_all_t all_tag;
-  typedef BOOST_CSR_GRAPH_TYPE* key_type;
-  typedef GraphProperty plist_type;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t>::type all_type;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t>::const_type all_const_type;
-  typedef transform_value_property_map<detail::lookup_one_property_f<plist_type, Tag>, all_type> type;
-  typedef transform_value_property_map<detail::lookup_one_property_f<const plist_type, Tag>, all_const_type> const_type;
-};
-
-// disable_if isn't truly necessary but required to avoid ambiguity with specializations below
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-struct property_map<BOOST_CSR_GRAPH_TYPE, Tag, typename disable_if<detail::is_distributed_selector<Vertex> >::type>:
-  csr_property_map_helper<
-    BOOST_CSR_GRAPH_TYPE,
-    Tag,
-    typename detail::property_kind_from_graph<BOOST_CSR_GRAPH_TYPE, Tag>
-               ::type> {};
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::type
-get(Tag tag, BOOST_CSR_GRAPH_TYPE& g) {
-  return typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::type(tag, get(typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::all_tag(), g));
-}
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::const_type
-get(Tag tag, const BOOST_CSR_GRAPH_TYPE& g) {
-  return typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::const_type(tag, get(typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::all_tag(), g));
-}
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-typename property_traits<typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::type>::reference
-get(Tag tag, BOOST_CSR_GRAPH_TYPE& g, typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::key_type k) {
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::all_tag all_tag;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, all_tag>::type outer_pm;
-  return lookup_one_property<typename property_traits<outer_pm>::value_type, Tag>::lookup(get(all_tag(), g, k), tag);
-}
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-typename property_traits<typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::const_type>::reference
-get(Tag tag, const BOOST_CSR_GRAPH_TYPE& g, typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::key_type k) {
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::all_tag all_tag;
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, all_tag>::const_type outer_pm;
-  return lookup_one_property<const typename property_traits<outer_pm>::value_type, Tag>::lookup(get(all_tag(), g, k), tag);
-}
-
-template <BOOST_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-void
-put(Tag tag,
-    BOOST_CSR_GRAPH_TYPE& g,
-    typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::key_type k,
-    typename lookup_one_property<typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::plist_type, Tag>::type val) {
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::all_tag all_tag;
-  lookup_one_property<typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::plist_type, Tag>::lookup(get(all_tag(), g, k), tag) = val;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-struct property_map<BOOST_CSR_GRAPH_TYPE, vertex_index_t, typename disable_if<detail::is_distributed_selector<Vertex> >::type>
-{
-  typedef typed_identity_property_map<Vertex> type;
-  typedef type const_type;
-};
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-struct property_map<BOOST_CSR_GRAPH_TYPE, edge_index_t, typename disable_if<detail::is_distributed_selector<Vertex> >::type>
-{
-  typedef detail::csr_edge_index_map<Vertex, EdgeIndex> type;
-  typedef type const_type;
-};
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-struct property_map<BOOST_CSR_GRAPH_TYPE, vertex_all_t, typename disable_if<detail::is_distributed_selector<Vertex> >::type>
-{
-  typedef typename BOOST_CSR_GRAPH_TYPE::inherited_vertex_properties::vertex_map_type type;
-  typedef typename BOOST_CSR_GRAPH_TYPE::inherited_vertex_properties::const_vertex_map_type const_type;
-};
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-struct property_map<BOOST_CSR_GRAPH_TYPE, edge_all_t, typename disable_if<detail::is_distributed_selector<Vertex> >::type>
-{
-  typedef typename BOOST_CSR_GRAPH_TYPE::forward_type::inherited_edge_properties::edge_map_type type;
-  typedef typename BOOST_CSR_GRAPH_TYPE::forward_type::inherited_edge_properties::const_edge_map_type const_type;
-};
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-struct property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t, typename disable_if<detail::is_distributed_selector<Vertex> >::type>
-{
-  typedef boost::ref_property_map<BOOST_CSR_GRAPH_TYPE*, typename BOOST_CSR_GRAPH_TYPE::graph_property_type> type;
-  typedef boost::ref_property_map<BOOST_CSR_GRAPH_TYPE*, const typename BOOST_CSR_GRAPH_TYPE::graph_property_type> const_type;
-};
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typed_identity_property_map<Vertex>
-get(vertex_index_t, const BOOST_CSR_GRAPH_TYPE&)
-{
-  return typed_identity_property_map<Vertex>();
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-get(vertex_index_t,
-    const BOOST_CSR_GRAPH_TYPE&, Vertex v)
-{
-  return v;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typed_identity_property_map<Vertex>
-get(vertex_index_t, BOOST_CSR_GRAPH_TYPE&)
-{
-  return typed_identity_property_map<Vertex>();
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline Vertex
-get(vertex_index_t,
-    BOOST_CSR_GRAPH_TYPE&, Vertex v)
-{
-  return v;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, edge_index_t>::const_type
-get(edge_index_t, const BOOST_CSR_GRAPH_TYPE&)
-{
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, edge_index_t>::const_type
-    result_type;
-  return result_type();
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline EdgeIndex
-get(edge_index_t, const BOOST_CSR_GRAPH_TYPE&,
-    typename BOOST_CSR_GRAPH_TYPE::edge_descriptor e)
-{
-  return e.idx;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, edge_index_t>::const_type
-get(edge_index_t, BOOST_CSR_GRAPH_TYPE&)
-{
-  typedef typename property_map<BOOST_CSR_GRAPH_TYPE, edge_index_t>::const_type
-    result_type;
-  return result_type();
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline EdgeIndex
-get(edge_index_t, BOOST_CSR_GRAPH_TYPE&,
-    typename BOOST_CSR_GRAPH_TYPE::edge_descriptor e)
-{
-  return e.idx;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, vertex_all_t>::type
-get(vertex_all_t, BOOST_CSR_GRAPH_TYPE& g)
-{
-  return g.get_vertex_bundle(get(vertex_index, g));
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, vertex_all_t>::const_type
-get(vertex_all_t, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  return g.get_vertex_bundle(get(vertex_index, g));
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline VertexProperty&
-get(vertex_all_t,
-    BOOST_CSR_GRAPH_TYPE& g, Vertex v)
-{
-  return get(vertex_all, g)[v];
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline const VertexProperty&
-get(vertex_all_t,
-    const BOOST_CSR_GRAPH_TYPE& g, Vertex v)
-{
-  return get(vertex_all, g)[v];
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline void
-put(vertex_all_t,
-    BOOST_CSR_GRAPH_TYPE& g,
-    Vertex v,
-    const VertexProperty& val)
-{
-  put(get(vertex_all, g), v, val);
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, edge_all_t>::type
-get(edge_all_t, BOOST_CSR_GRAPH_TYPE& g)
-{
-  return g.m_forward.get_edge_bundle(get(edge_index, g));
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, edge_all_t>::const_type
-get(edge_all_t, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  return g.m_forward.get_edge_bundle(get(edge_index, g));
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline EdgeProperty&
-get(edge_all_t,
-    BOOST_CSR_GRAPH_TYPE& g,
-    const typename BOOST_CSR_GRAPH_TYPE::edge_descriptor& e)
-{
-  return get(edge_all, g)[e];
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline const EdgeProperty&
-get(edge_all_t,
-    const BOOST_CSR_GRAPH_TYPE& g,
-    const typename BOOST_CSR_GRAPH_TYPE::edge_descriptor& e)
-{
-  return get(edge_all, g)[e];
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline void
-put(edge_all_t,
-    BOOST_CSR_GRAPH_TYPE& g,
-    const typename BOOST_CSR_GRAPH_TYPE::edge_descriptor& e,
-    const EdgeProperty& val)
-{
-  put(get(edge_all, g), e, val);
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t>::type
-get(graph_all_t, BOOST_CSR_GRAPH_TYPE& g)
-{
-  return typename property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t>::type(g.m_property);
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t>::const_type
-get(graph_all_t, const BOOST_CSR_GRAPH_TYPE& g)
-{
-  return typename property_map<BOOST_CSR_GRAPH_TYPE, graph_all_t>::const_type(g.m_property);
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline GraphProperty&
-get(graph_all_t,
-    BOOST_CSR_GRAPH_TYPE& g,
-    BOOST_CSR_GRAPH_TYPE*)
-{
-  return g.m_property;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline const GraphProperty&
-get(graph_all_t,
-    const BOOST_CSR_GRAPH_TYPE& g,
-    BOOST_CSR_GRAPH_TYPE*)
-{
-  return g.m_property;
-}
-
-template<BOOST_CSR_GRAPH_TEMPLATE_PARMS>
-inline void
-put(graph_all_t,
-    BOOST_CSR_GRAPH_TYPE& g,
-    BOOST_CSR_GRAPH_TYPE*,
-    const GraphProperty& val)
-{
-  g.m_property = val;
-}
-
-#undef BOOST_CSR_GRAPH_TYPE
-#undef BOOST_CSR_GRAPH_TEMPLATE_PARMS
-#undef BOOST_DIR_CSR_GRAPH_TYPE
-#undef BOOST_DIR_CSR_GRAPH_TEMPLATE_PARMS
-#undef BOOST_BIDIR_CSR_GRAPH_TYPE
-#undef BOOST_BIDIR_CSR_GRAPH_TEMPLATE_PARMS
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_COMPRESSED_SPARSE_ROW_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/connected_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/connected_components.hpp
deleted file mode 100644
index 9279110..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/connected_components.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997-2001 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_CONNECTED_COMPONENTS_HPP
-#define BOOST_GRAPH_CONNECTED_COMPONENTS_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    // This visitor is used both in the connected_components algorithm
-    // and in the kosaraju strong components algorithm during the
-    // second DFS traversal.
-    template <class ComponentsMap>
-    class components_recorder : public dfs_visitor<>
-    {
-      typedef typename property_traits<ComponentsMap>::value_type comp_type;
-    public:
-      components_recorder(ComponentsMap c, 
-                          comp_type& c_count)
-        : m_component(c), m_count(c_count) {}
-
-      template <class Vertex, class Graph>
-      void start_vertex(Vertex, Graph&) {
-        if (m_count == (std::numeric_limits<comp_type>::max)())
-          m_count = 0; // start counting components at zero
-        else
-          ++m_count;
-      }
-      template <class Vertex, class Graph>
-      void discover_vertex(Vertex u, Graph&) {
-        put(m_component, u, m_count);
-      }
-    protected:
-      ComponentsMap m_component;
-      comp_type& m_count;
-    };
-
-  } // namespace detail
-
-  // This function computes the connected components of an undirected
-  // graph using a single application of depth first search.
-
-  template <class Graph, class ComponentMap, class P, class T, class R>
-  inline typename property_traits<ComponentMap>::value_type
-  connected_components(const Graph& g, ComponentMap c, 
-                       const bgl_named_params<P, T, R>& params
-                       BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, vertex_list_graph_tag))
-  {
-    if (num_vertices(g) == 0) return 0;
-
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<ComponentMap, Vertex> ));
-    typedef typename boost::graph_traits<Graph>::directed_category directed;
-    BOOST_STATIC_ASSERT((boost::is_same<directed, undirected_tag>::value));
-
-    typedef typename property_traits<ComponentMap>::value_type comp_type;
-    // c_count initialized to "nil" (with nil represented by (max)())
-    comp_type c_count((std::numeric_limits<comp_type>::max)());
-    detail::components_recorder<ComponentMap> vis(c, c_count);
-    depth_first_search(g, params.visitor(vis));
-    return c_count + 1;
-  }
-
-  template <class Graph, class ComponentMap>
-  inline typename property_traits<ComponentMap>::value_type
-  connected_components(const Graph& g, ComponentMap c
-                       BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, vertex_list_graph_tag))
-  {
-    if (num_vertices(g) == 0) return 0;
-
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<ComponentMap, Vertex> ));
-    // typedef typename boost::graph_traits<Graph>::directed_category directed;
-    // BOOST_STATIC_ASSERT((boost::is_same<directed, undirected_tag>::value));
-
-    typedef typename property_traits<ComponentMap>::value_type comp_type;
-    // c_count initialized to "nil" (with nil represented by (max)())
-    comp_type c_count((std::numeric_limits<comp_type>::max)());
-    detail::components_recorder<ComponentMap> vis(c, c_count);
-    depth_first_search(g, visitor(vis));
-    return c_count + 1;
-  }
-
-  
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/connected_components.hpp>
-#endif
-
-#endif // BOOST_GRAPH_CONNECTED_COMPONENTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/copy.hpp
deleted file mode 100644
index 21bb0fb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/copy.hpp
+++ /dev/null
@@ -1,511 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997-2001 University of Notre Dame.
-// Authors: Jeremy G. Siek, Lie-Quan Lee, Andrew Lumsdaine
-//
-// Distributed under the 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 implements the following functions:
-
-
-  template <typename VertexListGraph, typename MutableGraph>
-  void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out)
-
-  template <typename VertexListGraph, typename MutableGraph, 
-    class P, class T, class R>
-  void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out, 
-                  const bgl_named_params<P, T, R>& params)
-
-
-  template <typename IncidenceGraph, typename MutableGraph>
-  typename graph_traits<MutableGraph>::vertex_descriptor
-  copy_component(IncidenceGraph& g_in, 
-                 typename graph_traits<IncidenceGraph>::vertex_descriptor src,
-                 MutableGraph& g_out)
-
-  template <typename IncidenceGraph, typename MutableGraph, 
-           typename P, typename T, typename R>
-  typename graph_traits<MutableGraph>::vertex_descriptor
-  copy_component(IncidenceGraph& g_in, 
-                 typename graph_traits<IncidenceGraph>::vertex_descriptor src,
-                 MutableGraph& g_out, 
-                 const bgl_named_params<P, T, R>& params)
- */
-
-
-#ifndef BOOST_GRAPH_COPY_HPP
-#define BOOST_GRAPH_COPY_HPP
-
-#include <boost/config.hpp>
-#include <vector>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/reverse_graph.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/type_traits/conversion_traits.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    // Hack to make transpose_graph work with the same interface as before
-    template <typename Graph, typename Desc>
-    struct remove_reverse_edge_descriptor {
-      typedef Desc type;
-      static Desc convert(const Desc& d, const Graph&) {return d;}
-    };
-
-    template <typename Graph, typename Desc>
-    struct remove_reverse_edge_descriptor<Graph, reverse_graph_edge_descriptor<Desc> > {
-      typedef Desc type;
-      static Desc convert(const reverse_graph_edge_descriptor<Desc>& d, const Graph& g) {
-        return get(edge_underlying, g, d);
-      }
-    };
-
-    // Add a reverse_graph_edge_descriptor wrapper if the Graph is a
-    // reverse_graph but the edge descriptor is from the original graph (this
-    // case comes from the fact that transpose_graph uses reverse_graph
-    // internally but doesn't expose the different edge descriptor type to the
-    // user).
-    template <typename Desc, typename Graph>
-    struct add_reverse_edge_descriptor {
-      typedef Desc type;
-      static Desc convert(const Desc& d) {return d;}
-    };
-
-    template <typename Desc, typename G, typename GR>
-    struct add_reverse_edge_descriptor<Desc, boost::reverse_graph<G, GR> > {
-      typedef reverse_graph_edge_descriptor<Desc> type;
-      static reverse_graph_edge_descriptor<Desc> convert(const Desc& d) {
-        return reverse_graph_edge_descriptor<Desc>(d);
-      }
-    };
-
-    template <typename Desc, typename G, typename GR>
-    struct add_reverse_edge_descriptor<reverse_graph_edge_descriptor<Desc>, boost::reverse_graph<G, GR> > {
-      typedef reverse_graph_edge_descriptor<Desc> type;
-      static reverse_graph_edge_descriptor<Desc> convert(const reverse_graph_edge_descriptor<Desc>& d) {
-        return d;
-      }
-    };
-
-    // Default edge and vertex property copiers
-
-    template <typename Graph1, typename Graph2>
-    struct edge_copier {
-      edge_copier(const Graph1& g1, Graph2& g2)
-        : edge_all_map1(get(edge_all, g1)), 
-          edge_all_map2(get(edge_all, g2)) { }
-
-      template <typename Edge1, typename Edge2>
-      void operator()(const Edge1& e1, Edge2& e2) const {
-        put(edge_all_map2, e2, get(edge_all_map1, add_reverse_edge_descriptor<Edge1, Graph1>::convert(e1)));
-      }
-      typename property_map<Graph1, edge_all_t>::const_type edge_all_map1;
-      mutable typename property_map<Graph2, edge_all_t>::type edge_all_map2;
-    };
-    template <typename Graph1, typename Graph2>
-    inline edge_copier<Graph1,Graph2>
-    make_edge_copier(const Graph1& g1, Graph2& g2)
-    {
-      return edge_copier<Graph1,Graph2>(g1, g2);
-    }
-
-    template <typename Graph1, typename Graph2>
-    struct vertex_copier {
-      vertex_copier(const Graph1& g1, Graph2& g2)
-        : vertex_all_map1(get(vertex_all, g1)), 
-          vertex_all_map2(get(vertex_all, g2)) { }
-
-      template <typename Vertex1, typename Vertex2>
-      void operator()(const Vertex1& v1, Vertex2& v2) const {
-        put(vertex_all_map2, v2, get(vertex_all_map1, v1));
-      }
-      typename property_map<Graph1, vertex_all_t>::const_type vertex_all_map1;
-      mutable typename property_map<Graph2, vertex_all_t>::type
-        vertex_all_map2;
-    };
-    template <typename Graph1, typename Graph2>
-    inline vertex_copier<Graph1,Graph2>
-    make_vertex_copier(const Graph1& g1, Graph2& g2)
-    {
-      return vertex_copier<Graph1,Graph2>(g1, g2);
-    }
-
-    // Copy all the vertices and edges of graph g_in into graph g_out.
-    // The copy_vertex and copy_edge function objects control how vertex
-    // and edge properties are copied.
-
-    template <int Version>
-    struct copy_graph_impl { };
-
-    template <> struct copy_graph_impl<0>
-    {
-      template <typename Graph, typename MutableGraph, 
-        typename CopyVertex, typename CopyEdge, typename IndexMap,
-        typename Orig2CopyVertexIndexMap>
-      static void apply(const Graph& g_in, MutableGraph& g_out, 
-                        CopyVertex copy_vertex, CopyEdge copy_edge,
-                        Orig2CopyVertexIndexMap orig2copy, IndexMap)
-      {
-        typedef remove_reverse_edge_descriptor<Graph, typename graph_traits<Graph>::edge_descriptor> cvt;
-        typename graph_traits<Graph>::vertex_iterator vi, vi_end;
-        for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) {
-          typename graph_traits<MutableGraph>::vertex_descriptor
-            new_v = add_vertex(g_out);
-          put(orig2copy, *vi, new_v);
-          copy_vertex(*vi, new_v);
-        }
-        typename graph_traits<Graph>::edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = edges(g_in); ei != ei_end; ++ei) {
-          typename graph_traits<MutableGraph>::edge_descriptor new_e;
-          bool inserted;
-          boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(*ei, g_in)), 
-                                                 get(orig2copy, target(*ei, g_in)),
-                                                 g_out);
-          copy_edge(cvt::convert(*ei, g_in), new_e);
-        }
-      }
-    };
-
-    // for directed graphs
-    template <> struct copy_graph_impl<1>
-    {
-      template <typename Graph, typename MutableGraph, 
-        typename CopyVertex, typename CopyEdge, typename IndexMap,
-        typename Orig2CopyVertexIndexMap>
-      static void apply(const Graph& g_in, MutableGraph& g_out, 
-                        CopyVertex copy_vertex, CopyEdge copy_edge,
-                        Orig2CopyVertexIndexMap orig2copy, IndexMap)
-      {
-        typedef remove_reverse_edge_descriptor<Graph, typename graph_traits<Graph>::edge_descriptor> cvt;
-        typename graph_traits<Graph>::vertex_iterator vi, vi_end;
-        for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) {
-          typename graph_traits<MutableGraph>::vertex_descriptor
-            new_v = add_vertex(g_out);
-          put(orig2copy, *vi, new_v);
-          copy_vertex(*vi, new_v);
-        }
-        for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) {
-          typename graph_traits<Graph>::out_edge_iterator ei, ei_end;
-          for (boost::tie(ei, ei_end) = out_edges(*vi, g_in); ei != ei_end; ++ei) {
-            typename graph_traits<MutableGraph>::edge_descriptor new_e;
-            bool inserted;
-            boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(*ei, g_in)), 
-                                                   get(orig2copy, target(*ei, g_in)),
-                                                   g_out);
-            copy_edge(cvt::convert(*ei, g_in), new_e);
-          }
-        }
-      }
-    };
-
-    // for undirected graphs
-    template <> struct copy_graph_impl<2>
-    {
-      template <typename Graph, typename MutableGraph, 
-        typename CopyVertex, typename CopyEdge, typename IndexMap,
-        typename Orig2CopyVertexIndexMap>
-      static void apply(const Graph& g_in, MutableGraph& g_out, 
-                        CopyVertex copy_vertex, CopyEdge copy_edge,
-                        Orig2CopyVertexIndexMap orig2copy,
-                        IndexMap index_map)
-      {
-        typedef remove_reverse_edge_descriptor<Graph, typename graph_traits<Graph>::edge_descriptor> cvt;
-        typedef color_traits<default_color_type> Color;
-        std::vector<default_color_type> 
-          color(num_vertices(g_in), Color::white());
-        typename graph_traits<Graph>::vertex_iterator vi, vi_end;
-        for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) {
-          typename graph_traits<MutableGraph>::vertex_descriptor
-            new_v = add_vertex(g_out);
-          put(orig2copy, *vi, new_v);
-          copy_vertex(*vi, new_v);
-        }
-        for (boost::tie(vi, vi_end) = vertices(g_in); vi != vi_end; ++vi) {
-          typename graph_traits<Graph>::out_edge_iterator ei, ei_end;
-          for (boost::tie(ei, ei_end) = out_edges(*vi, g_in); ei != ei_end; ++ei) {
-            typename graph_traits<MutableGraph>::edge_descriptor new_e;
-            bool inserted;
-            if (color[get(index_map, target(*ei, g_in))] == Color::white()) {
-              boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(*ei,g_in)),
-                                                     get(orig2copy, target(*ei,g_in)),
-                                                     g_out);
-              copy_edge(cvt::convert(*ei, g_in), new_e);
-            }
-          }
-          color[get(index_map, *vi)] = Color::black();
-        }
-      }
-    };
-
-    template <class Graph>
-    struct choose_graph_copy {
-      typedef typename Graph::traversal_category Trv;
-      typedef typename Graph::directed_category Dr;
-      enum { algo = 
-             (is_convertible<Trv, vertex_list_graph_tag>::value
-              && is_convertible<Trv, edge_list_graph_tag>::value)
-             ? 0 : is_convertible<Dr, directed_tag>::value ? 1 : 2 };
-      typedef copy_graph_impl<algo> type;
-    };
-
-    //-------------------------------------------------------------------------
-    struct choose_copier_parameter {
-      template <class P, class G1, class G2>
-      struct bind_ {
-        typedef const P& result_type;
-        static result_type apply(const P& p, const G1&, G2&)
-        { return p; }
-      };
-    };
-    struct choose_default_edge_copier {
-      template <class P, class G1, class G2>
-      struct bind_ {
-        typedef edge_copier<G1, G2> result_type;
-        static result_type apply(const P&, const G1& g1, G2& g2) { 
-          return result_type(g1, g2);
-        }
-      };
-    };
-    template <class Param>
-    struct choose_edge_copy {
-      typedef choose_copier_parameter type;
-    };
-    template <>
-    struct choose_edge_copy<param_not_found> {
-      typedef choose_default_edge_copier type;
-    };
-    template <class Param, class G1, class G2>
-    struct choose_edge_copier_helper {
-      typedef typename choose_edge_copy<Param>::type Selector;
-      typedef typename Selector:: template bind_<Param, G1, G2> Bind;
-      typedef Bind type;
-      typedef typename Bind::result_type result_type;
-    };
-    template <typename Param, typename G1, typename G2>
-    typename detail::choose_edge_copier_helper<Param,G1,G2>::result_type
-    choose_edge_copier(const Param& params, const G1& g_in, G2& g_out)
-    {
-      typedef typename 
-        detail::choose_edge_copier_helper<Param,G1,G2>::type Choice;
-      return Choice::apply(params, g_in, g_out);
-    }
-
-
-    struct choose_default_vertex_copier {
-      template <class P, class G1, class G2>
-      struct bind_ {
-        typedef vertex_copier<G1, G2> result_type;
-        static result_type apply(const P&, const G1& g1, G2& g2) { 
-          return result_type(g1, g2);
-        }
-      };
-    };
-    template <class Param>
-    struct choose_vertex_copy {
-      typedef choose_copier_parameter type;
-    };
-    template <>
-    struct choose_vertex_copy<param_not_found> {
-      typedef choose_default_vertex_copier type;
-    };
-    template <class Param, class G1, class G2>
-    struct choose_vertex_copier_helper {
-      typedef typename choose_vertex_copy<Param>::type Selector;
-      typedef typename Selector:: template bind_<Param, G1, G2> Bind;
-      typedef Bind type;
-      typedef typename Bind::result_type result_type;
-    };
-    template <typename Param, typename G1, typename G2>
-    typename detail::choose_vertex_copier_helper<Param,G1,G2>::result_type
-    choose_vertex_copier(const Param& params, const G1& g_in, G2& g_out)
-    {
-      typedef typename 
-        detail::choose_vertex_copier_helper<Param,G1,G2>::type Choice;
-      return Choice::apply(params, g_in, g_out);
-    }
-
-  } // namespace detail
-
-
-  template <typename VertexListGraph, typename MutableGraph>
-  void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out)
-  {
-    if (num_vertices(g_in) == 0)
-      return;
-    typedef typename graph_traits<MutableGraph>::vertex_descriptor vertex_t;
-    std::vector<vertex_t> orig2copy(num_vertices(g_in));
-    typedef typename detail::choose_graph_copy<VertexListGraph>::type 
-      copy_impl;
-    copy_impl::apply
-      (g_in, g_out, 
-       detail::make_vertex_copier(g_in, g_out), 
-       detail::make_edge_copier(g_in, g_out), 
-       make_iterator_property_map(orig2copy.begin(), 
-                                  get(vertex_index, g_in), orig2copy[0]),
-       get(vertex_index, g_in)
-       );
-  }
-
-  template <typename VertexListGraph, typename MutableGraph, 
-    class P, class T, class R>
-  void copy_graph(const VertexListGraph& g_in, MutableGraph& g_out, 
-                  const bgl_named_params<P, T, R>& params)
-  {
-    typename std::vector<T>::size_type n;
-      n = is_default_param(get_param(params, orig_to_copy_t()))
-        ? num_vertices(g_in) : 1;
-    if (n == 0)
-      return;
-    std::vector<BOOST_DEDUCED_TYPENAME graph_traits<MutableGraph>::vertex_descriptor> 
-      orig2copy(n);
-
-    typedef typename detail::choose_graph_copy<VertexListGraph>::type 
-      copy_impl;
-    copy_impl::apply
-      (g_in, g_out,
-       detail::choose_vertex_copier(get_param(params, vertex_copy_t()), 
-                                    g_in, g_out),
-       detail::choose_edge_copier(get_param(params, edge_copy_t()), 
-                                  g_in, g_out),
-       choose_param(get_param(params, orig_to_copy_t()),
-                    make_iterator_property_map
-                    (orig2copy.begin(), 
-                     choose_const_pmap(get_param(params, vertex_index), 
-                                 g_in, vertex_index), orig2copy[0])),
-       choose_const_pmap(get_param(params, vertex_index), g_in, vertex_index)
-       );
-  }
-
-  namespace detail {
-    
-    template <class NewGraph, class Copy2OrigIndexMap, 
-      class CopyVertex, class CopyEdge>
-    struct graph_copy_visitor : public bfs_visitor<>
-    {
-      graph_copy_visitor(NewGraph& graph, Copy2OrigIndexMap c,
-                         CopyVertex cv, CopyEdge ce)
-        : g_out(graph), orig2copy(c), copy_vertex(cv), copy_edge(ce) { }
-
-      template <class Vertex, class Graph>
-      typename graph_traits<NewGraph>::vertex_descriptor copy_one_vertex(Vertex u) const {
-        typename graph_traits<NewGraph>::vertex_descriptor
-          new_u = add_vertex(g_out);
-        put(orig2copy, u, new_u);
-        copy_vertex(u, new_u);
-        return new_u;
-      }
-      
-      template <class Edge, class Graph>
-      void tree_edge(Edge e, const Graph& g_in) const {
-        // For a tree edge, the target vertex has not been copied yet.
-        typename graph_traits<NewGraph>::edge_descriptor new_e;
-        bool inserted;
-        boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(e, g_in)), 
-                                               this->copy_one_vertex(target(e, g_in)),
-                                               g_out);
-        copy_edge(e, new_e);
-      }
-      
-      template <class Edge, class Graph>
-      void non_tree_edge(Edge e, const Graph& g_in) const {
-        // For a non-tree edge, the target vertex has already been copied.
-        typename graph_traits<NewGraph>::edge_descriptor new_e;
-        bool inserted;
-        boost::tie(new_e, inserted) = add_edge(get(orig2copy, source(e, g_in)), 
-                                               get(orig2copy, target(e, g_in)),
-                                               g_out);
-        copy_edge(e, new_e);
-      }
-    private:
-      NewGraph& g_out;
-      Copy2OrigIndexMap orig2copy;
-      CopyVertex copy_vertex;
-      CopyEdge copy_edge;
-    };
-
-    template <typename Graph, typename MutableGraph, 
-              typename CopyVertex, typename CopyEdge, 
-              typename Orig2CopyVertexIndexMap, typename Params>
-    typename graph_traits<MutableGraph>::vertex_descriptor
-    copy_component_impl
-      (const Graph& g_in, 
-       typename graph_traits<Graph>::vertex_descriptor src,
-       MutableGraph& g_out, 
-       CopyVertex copy_vertex, CopyEdge copy_edge,
-       Orig2CopyVertexIndexMap orig2copy,
-       const Params& params)
-    {
-      graph_copy_visitor<MutableGraph, Orig2CopyVertexIndexMap, 
-        CopyVertex, CopyEdge> vis(g_out, orig2copy, copy_vertex, copy_edge);
-      typename graph_traits<MutableGraph>::vertex_descriptor src_copy
-        = vis.copy_one_vertex(src);
-      breadth_first_search(g_in, src, params.visitor(vis));
-      return src_copy;
-    }
-
-  } // namespace detail
-  
-  
-  // Copy all the vertices and edges of graph g_in that are reachable
-  // from the source vertex into graph g_out. Return the vertex
-  // in g_out that matches the source vertex of g_in.
-  template <typename IncidenceGraph, typename MutableGraph, 
-           typename P, typename T, typename R>
-  typename graph_traits<MutableGraph>::vertex_descriptor
-  copy_component(IncidenceGraph& g_in, 
-                 typename graph_traits<IncidenceGraph>::vertex_descriptor src,
-                 MutableGraph& g_out, 
-                 const bgl_named_params<P, T, R>& params)
-  {
-    typename std::vector<T>::size_type n;
-      n = is_default_param(get_param(params, orig_to_copy_t()))
-        ? num_vertices(g_in) : 1;
-    std::vector<typename graph_traits<IncidenceGraph>::vertex_descriptor> 
-      orig2copy(n);
-    
-    return detail::copy_component_impl
-      (g_in, src, g_out,
-       detail::choose_vertex_copier(get_param(params, vertex_copy_t()), 
-                                    g_in, g_out),
-       detail::choose_edge_copier(get_param(params, edge_copy_t()), 
-                                  g_in, g_out),
-       choose_param(get_param(params, orig_to_copy_t()),
-                    make_iterator_property_map
-                    (orig2copy.begin(), 
-                     choose_pmap(get_param(params, vertex_index), 
-                                 g_in, vertex_index), orig2copy[0])),
-       params
-       );
-  }
-
-  template <typename IncidenceGraph, typename MutableGraph>
-  typename graph_traits<MutableGraph>::vertex_descriptor
-  copy_component(IncidenceGraph& g_in, 
-                 typename graph_traits<IncidenceGraph>::vertex_descriptor src,
-                 MutableGraph& g_out)
-  {
-    std::vector<typename graph_traits<IncidenceGraph>::vertex_descriptor> 
-      orig2copy(num_vertices(g_in));
-    
-    return detail::copy_component_impl
-      (g_in, src, g_out,
-       make_vertex_copier(g_in, g_out), 
-       make_edge_copier(g_in, g_out), 
-       make_iterator_property_map(orig2copy.begin(), 
-                                  get(vertex_index, g_in), orig2copy[0]),
-       bgl_named_params<char,char>('x') // dummy param object
-       );
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_COPY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/core_numbers.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/core_numbers.hpp
deleted file mode 100644
index 9384f5d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/core_numbers.hpp
+++ /dev/null
@@ -1,351 +0,0 @@
-//
-//=======================================================================
-// Copyright 2007 Stanford University
-// Authors: David Gleich
-//
-// Distributed under the 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_GRAPH_CORE_NUMBERS_HPP
-#define BOOST_GRAPH_CORE_NUMBERS_HPP
-
-#include <boost/graph/detail/d_ary_heap.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/concept/assert.hpp>
-
-/*
- * core_numbers
- *
- * Requirement: IncidenceGraph
- */
-
-// History
-//
-// 30 July 2007
-// Added visitors to the implementation
-//
-// 8 February 2008
-// Fixed headers and missing typename
-
-namespace boost {
-
-    // A linear time O(m) algorithm to compute the indegree core number
-    // of a graph for unweighted graphs.
-    //
-    // and a O((n+m) log n) algorithm to compute the in-edge-weight core
-    // numbers of a weighted graph.
-    //
-    // The linear algorithm comes from:
-    // Vladimir Batagelj and Matjaz Zaversnik, "An O(m) Algorithm for Cores
-    // Decomposition of Networks."  Sept. 1 2002.
-
-    template <typename Visitor, typename Graph>
-    struct CoreNumbersVisitorConcept {
-        void constraints()
-        {
-            BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-            vis.examine_vertex(u,g);
-            vis.finish_vertex(u,g);
-            vis.examine_edge(e,g);
-        }
-        Visitor vis;
-        Graph g;
-        typename graph_traits<Graph>::vertex_descriptor u;
-        typename graph_traits<Graph>::edge_descriptor e;
-    };
-
-    template <class Visitors = null_visitor>
-    class core_numbers_visitor : public bfs_visitor<Visitors> {
-        public:
-        core_numbers_visitor() {}
-        core_numbers_visitor(Visitors vis)
-            : bfs_visitor<Visitors>(vis) {}
-
-        private:
-        template <class Vertex, class Graph>
-        void initialize_vertex(Vertex, Graph&) {}
-
-        template <class Vertex, class Graph>
-        void discover_vertex(Vertex , Graph&) {}
-
-        template <class Vertex, class Graph>
-        void gray_target(Vertex, Graph&) {}
-
-        template <class Vertex, class Graph>
-        void black_target(Vertex, Graph&) {}
-
-        template <class Edge, class Graph>
-        void tree_edge(Edge, Graph&) {}
-
-        template <class Edge, class Graph>
-        void non_tree_edge(Edge, Graph&) {}
-    };
-
-    template <class Visitors>
-    core_numbers_visitor<Visitors> make_core_numbers_visitor(Visitors vis)
-    { return core_numbers_visitor<Visitors>(vis); }
-
-    typedef core_numbers_visitor<> default_core_numbers_visitor;
-
-    namespace detail {
-
-        // implement a constant_property_map to simplify compute_in_degree
-        // for the weighted and unweighted case
-        // this is based on dummy property map
-        template <typename ValueType>
-        class constant_value_property_map
-          : public boost::put_get_helper<ValueType,
-              constant_value_property_map<ValueType>  >
-        {
-        public:
-            typedef void key_type;
-            typedef ValueType value_type;
-            typedef const ValueType& reference;
-            typedef boost::readable_property_map_tag category;
-            inline constant_value_property_map(ValueType cc) : c(cc) { }
-            inline constant_value_property_map(const constant_value_property_map<ValueType>& x)
-              : c(x.c) { }
-            template <class Vertex>
-            inline reference operator[](Vertex) const { return c; }
-        protected:
-            ValueType c;
-        };
-
-
-        // the core numbers start as the indegree or inweight.  This function
-        // will initialize these values
-        template <typename Graph, typename CoreMap, typename EdgeWeightMap>
-        void compute_in_degree_map(Graph& g, CoreMap d, EdgeWeightMap wm)
-        {
-            typename graph_traits<Graph>::vertex_iterator vi,vi_end;
-            typename graph_traits<Graph>::out_edge_iterator ei,ei_end;
-            for (boost::tie(vi,vi_end) = vertices(g); vi!=vi_end; ++vi) {
-                put(d,*vi,0);
-            }
-            for (boost::tie(vi,vi_end) = vertices(g); vi!=vi_end; ++vi) {
-                for (boost::tie(ei,ei_end) = out_edges(*vi,g); ei!=ei_end; ++ei) {
-                    put(d,target(*ei,g),get(d,target(*ei,g))+get(wm,*ei));
-                }
-            }
-        }
-
-        // the version for weighted graphs is a little different
-        template <typename Graph, typename CoreMap,
-            typename EdgeWeightMap, typename MutableQueue,
-            typename Visitor>
-        typename property_traits<CoreMap>::value_type
-        core_numbers_impl(Graph& g, CoreMap c, EdgeWeightMap wm,
-            MutableQueue& Q, Visitor vis)
-        {
-            typename property_traits<CoreMap>::value_type v_cn = 0;
-            typedef typename graph_traits<Graph>::vertex_descriptor vertex;
-            while (!Q.empty())
-            {
-                // remove v from the Q, and then decrease the core numbers
-                // of its successors
-                vertex v = Q.top();
-                vis.examine_vertex(v,g);
-                Q.pop();
-                v_cn = get(c,v);
-                typename graph_traits<Graph>::out_edge_iterator oi,oi_end;
-                for (boost::tie(oi,oi_end) = out_edges(v,g); oi!=oi_end; ++oi) {
-                    vis.examine_edge(*oi,g);
-                    vertex u = target(*oi,g);
-                    // if c[u] > c[v], then u is still in the graph,
-                    if (get(c,u) > v_cn) {
-                        // remove the edge
-                        put(c,u,get(c,u)-get(wm,*oi));
-                        if (Q.contains(u))
-                          Q.update(u);
-                    }
-                }
-                vis.finish_vertex(v,g);
-            }
-            return (v_cn);
-        }
-
-        template <typename Graph, typename CoreMap, typename EdgeWeightMap,
-            typename IndexMap, typename CoreNumVisitor>
-        typename property_traits<CoreMap>::value_type
-        core_numbers_dispatch(Graph&g, CoreMap c, EdgeWeightMap wm,
-            IndexMap im, CoreNumVisitor vis)
-        {
-            typedef typename property_traits<CoreMap>::value_type D;
-            typedef std::less<D> Cmp;
-            // build the mutable queue
-            typedef typename graph_traits<Graph>::vertex_descriptor vertex;
-            std::vector<std::size_t> index_in_heap_data(num_vertices(g));
-            typedef iterator_property_map<std::vector<std::size_t>::iterator, IndexMap>
-              index_in_heap_map_type;
-            index_in_heap_map_type index_in_heap_map(index_in_heap_data.begin(), im);
-            typedef d_ary_heap_indirect<vertex, 4, index_in_heap_map_type, CoreMap, Cmp> MutableQueue;
-            MutableQueue Q(c, index_in_heap_map, Cmp());
-            typename graph_traits<Graph>::vertex_iterator vi,vi_end;
-            for (boost::tie(vi,vi_end) = vertices(g); vi!=vi_end; ++vi) {
-                Q.push(*vi);
-            }
-            return core_numbers_impl(g, c, wm, Q, vis);
-        }
-
-        // the version for the unweighted case
-        // for this functions CoreMap must be initialized
-        // with the in degree of each vertex
-        template <typename Graph, typename CoreMap, typename PositionMap,
-            typename Visitor>
-        typename property_traits<CoreMap>::value_type
-        core_numbers_impl(Graph& g, CoreMap c, PositionMap pos, Visitor vis)
-        {
-            typedef typename graph_traits<Graph>::vertices_size_type size_type;
-            typedef typename graph_traits<Graph>::degree_size_type degree_type;
-            typedef typename graph_traits<Graph>::vertex_descriptor vertex;
-            typename graph_traits<Graph>::vertex_iterator vi,vi_end;
-
-            // store the vertex core numbers
-            typename property_traits<CoreMap>::value_type v_cn = 0;
-
-            // compute the maximum degree (degrees are in the coremap)
-            typename graph_traits<Graph>::degree_size_type max_deg = 0;
-            for (boost::tie(vi,vi_end) = vertices(g); vi!=vi_end; ++vi) {
-                max_deg = (std::max<typename graph_traits<Graph>::degree_size_type>)(max_deg, get(c,*vi));
-            }
-
-            // store the vertices in bins by their degree
-            // allocate two extra locations to ease boundary cases
-            std::vector<size_type> bin(max_deg+2);
-            for (boost::tie(vi,vi_end) = vertices(g); vi!=vi_end; ++vi) {
-                ++bin[get(c,*vi)];
-            }
-
-            // this loop sets bin[d] to the starting position of vertices
-            // with degree d in the vert array for the bucket sort
-            size_type cur_pos = 0;
-            for (degree_type cur_deg = 0; cur_deg < max_deg+2; ++cur_deg) {
-                degree_type tmp = bin[cur_deg];
-                bin[cur_deg] = cur_pos;
-                cur_pos += tmp;
-            }
-
-            // perform the bucket sort with pos and vert so that
-            // pos[0] is the vertex of smallest degree
-            std::vector<vertex> vert(num_vertices(g));
-            for (boost::tie(vi,vi_end) = vertices(g); vi!=vi_end; ++vi) {
-                vertex v=*vi;
-                size_type p=bin[get(c,v)];
-                put(pos,v,p);
-                vert[p]=v;
-                ++bin[get(c,v)];
-            }
-            // we ``abused'' bin while placing the vertices, now,
-            // we need to restore it
-            std::copy(boost::make_reverse_iterator(bin.end()-2),
-                boost::make_reverse_iterator(bin.begin()),
-                boost::make_reverse_iterator(bin.end()-1));
-            // now simulate removing the vertices
-            for (size_type i=0; i < num_vertices(g); ++i) {
-                vertex v = vert[i];
-                vis.examine_vertex(v,g);
-                v_cn = get(c,v);
-                typename graph_traits<Graph>::out_edge_iterator oi,oi_end;
-                for (boost::tie(oi,oi_end) = out_edges(v,g); oi!=oi_end; ++oi) {
-                    vis.examine_edge(*oi,g);
-                    vertex u = target(*oi,g);
-                    // if c[u] > c[v], then u is still in the graph,
-                    if (get(c,u) > v_cn) {
-                        degree_type deg_u = get(c,u);
-                        degree_type pos_u = get(pos,u);
-                        // w is the first vertex with the same degree as u
-                        // (this is the resort operation!)
-                        degree_type pos_w = bin[deg_u];
-                        vertex w = vert[pos_w];
-                        if (u!=v) {
-                            // swap u and w
-                            put(pos,u,pos_w);
-                            put(pos,w,pos_u);
-                            vert[pos_w] = u;
-                            vert[pos_u] = w;
-                        }
-                        // now, the vertices array is sorted assuming
-                        // we perform the following step
-                        // start the set of vertices with degree of u
-                        // one into the future (this now points at vertex
-                        // w which we swapped with u).
-                        ++bin[deg_u];
-                        // we are removing v from the graph, so u's degree
-                        // decreases
-                        put(c,u,get(c,u)-1);
-                    }
-                }
-                vis.finish_vertex(v,g);
-            }
-            return v_cn;
-        }
-
-    } // namespace detail
-
-    // non-named parameter version for the unweighted case
-    template <typename Graph, typename CoreMap, typename CoreNumVisitor>
-    typename property_traits<CoreMap>::value_type
-    core_numbers(Graph& g, CoreMap c, CoreNumVisitor vis)
-    {
-        typedef typename graph_traits<Graph>::vertices_size_type size_type;
-        detail::compute_in_degree_map(g,c,
-            detail::constant_value_property_map<
-                typename property_traits<CoreMap>::value_type>(1) );
-        return detail::core_numbers_impl(g,c,
-            make_iterator_property_map(
-                std::vector<size_type>(num_vertices(g)).begin(),get(vertex_index, g)),
-            vis
-        );
-    }
-
-    // non-named paramter version for the unweighted case
-    template <typename Graph, typename CoreMap>
-    typename property_traits<CoreMap>::value_type
-    core_numbers(Graph& g, CoreMap c)
-    {
-        return core_numbers(g, c, make_core_numbers_visitor(null_visitor()));
-    }
-
-    // non-named parameter version for the weighted case
-    template <typename Graph, typename CoreMap, typename EdgeWeightMap,
-        typename VertexIndexMap, typename CoreNumVisitor>
-    typename property_traits<CoreMap>::value_type
-    core_numbers(Graph& g, CoreMap c, EdgeWeightMap wm, VertexIndexMap vim,
-        CoreNumVisitor vis)
-    {
-        detail::compute_in_degree_map(g,c,wm);
-        return detail::core_numbers_dispatch(g,c,wm,vim,vis);
-    }
-
-    // non-named parameter version for the weighted case
-//    template <typename Graph, typename CoreMap, typename EdgeWeightMap>
-//    typename property_traits<CoreMap>::value_type
-//    core_numbers(Graph& g, CoreMap c, EdgeWeightMap wm)
-//    {
-//        typedef typename graph_traits<Graph>::vertices_size_type size_type;
-//        detail::compute_in_degree_map(g,c,wm);
-//        return detail::core_numbers_dispatch(g,c,wm,get(vertex_index,g),
-//            make_core_numbers_visitor(null_visitor()));
-//    }
-
-    template <typename Graph, typename CoreMap>
-    typename property_traits<CoreMap>::value_type
-    weighted_core_numbers(Graph& g, CoreMap c)
-    {
-        return weighted_core_numbers(
-            g,c, make_core_numbers_visitor(null_visitor())
-        );
-    }
-
-    template <typename Graph, typename CoreMap, typename CoreNumVisitor>
-    typename property_traits<CoreMap>::value_type
-    weighted_core_numbers(Graph& g, CoreMap c, CoreNumVisitor vis)
-    { return core_numbers(g,c,get(edge_weight,g),get(vertex_index,g),vis); }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_CORE_NUMBERS_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/create_condensation_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/create_condensation_graph.hpp
deleted file mode 100644
index f874a08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/create_condensation_graph.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_CREATE_CONDENSATION_GRAPH_HPP
-#define BOOST_CREATE_CONDENSATION_GRAPH_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-  template <typename Graph, typename ComponentLists, 
-    typename ComponentNumberMap,
-    typename CondensationGraph, typename EdgeMultiplicityMap>
-  void create_condensation_graph(const Graph& g, 
-                                 const ComponentLists& components,
-                                 ComponentNumberMap component_number,
-                                 CondensationGraph& cg,
-                                 EdgeMultiplicityMap edge_mult_map)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex;
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-    typedef typename graph_traits<CondensationGraph>::vertex_descriptor 
-      cg_vertex;
-    std::vector<cg_vertex> to_cg_vertex(components.size());
-    for (size_type s = 0; s < components.size(); ++s)
-      to_cg_vertex[s] = add_vertex(cg);
-
-    for (size_type si = 0; si < components.size(); ++si) {
-      cg_vertex s = to_cg_vertex[si];
-      std::vector<cg_vertex> adj;
-      for (size_type i = 0; i < components[si].size(); ++i) {
-        vertex u = components[s][i];
-        typename graph_traits<Graph>::adjacency_iterator v, v_end;
-        for (boost::tie(v, v_end) = adjacent_vertices(u, g); v != v_end; ++v) {
-          cg_vertex t = to_cg_vertex[component_number[*v]];
-          if (s != t) // Avoid loops in the condensation graph
-            adj.push_back(t);
-        }
-      }
-      std::sort(adj.begin(), adj.end());
-      if (! adj.empty()) {
-        size_type i = 0;
-        cg_vertex t = adj[i];
-        typename graph_traits<CondensationGraph>::edge_descriptor e;
-        bool inserted;
-        boost::tie(e, inserted) = add_edge(s, t, cg);
-        put(edge_mult_map, e, 1);
-        ++i;
-        while (i < adj.size()) {
-          if (adj[i] == t)
-            put(edge_mult_map, e, get(edge_mult_map, e) + 1);
-          else {
-            t = adj[i];
-            boost::tie(e, inserted) = add_edge(s, t, cg);
-            put(edge_mult_map, e, 1);
-          }
-          ++i;
-        }
-      }
-    }
-  }
-  
-  template <typename Graph, typename ComponentLists, 
-    typename ComponentNumberMap, typename CondensationGraph>
-  void create_condensation_graph(const Graph& g, 
-                                 const ComponentLists& components,
-                                 ComponentNumberMap component_number,
-                                 CondensationGraph& cg)
-  {
-    create_condensation_graph(g, components, component_number, cg, 
-                              dummy_property_map());
-  }
-
-} // namespace boost
-
-#endif // BOOST_CREATE_CONDENSATION_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/cuthill_mckee_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/cuthill_mckee_ordering.hpp
deleted file mode 100644
index e16595c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/cuthill_mckee_ordering.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2004, 2005 Trustees of Indiana University
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek,
-//          Doug Gregor, D. Kevin McGrath
-//
-// Distributed under the 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_GRAPH_CUTHILL_MCKEE_HPP
-#define BOOST_GRAPH_CUTHILL_MCKEE_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/detail/sparse_ordering.hpp>
-#include <boost/graph/graph_utility.hpp>
-#include <algorithm>
-
-
-/*
-  (Reverse) Cuthill-McKee Algorithm for matrix reordering
-*/
-
-namespace boost {
-
-  namespace detail {
-
-
-
-    template < typename OutputIterator, typename Buffer, typename DegreeMap > 
-    class bfs_rcm_visitor:public default_bfs_visitor
-    {
-    public:
-      bfs_rcm_visitor(OutputIterator *iter, Buffer *b, DegreeMap deg): 
-        permutation(iter), Qptr(b), degree(deg) { }
-      template <class Vertex, class Graph>
-      void examine_vertex(Vertex u, Graph&) {
-        *(*permutation)++ = u;
-        index_begin = Qptr->size();
-      }
-      template <class Vertex, class Graph>
-      void finish_vertex(Vertex, Graph&) {
-        using std::sort;
-
-        typedef typename property_traits<DegreeMap>::value_type ds_type;
-
-        typedef indirect_cmp<DegreeMap, std::less<ds_type> > Compare;
-        Compare comp(degree);
-                
-        sort(Qptr->begin()+index_begin, Qptr->end(), comp);
-      }
-    protected:
-      OutputIterator *permutation;
-      int index_begin;
-      Buffer *Qptr;
-      DegreeMap degree;
-    };
-
-  } // namespace detail  
-
-
-  // Reverse Cuthill-McKee algorithm with a given starting Vertex.
-  //
-  // If user provides a reverse iterator, this will be a reverse-cuthill-mckee
-  // algorithm, otherwise it will be a standard CM algorithm
-
-  template <class Graph, class OutputIterator,
-            class ColorMap, class DegreeMap>
-  OutputIterator
-  cuthill_mckee_ordering(const Graph& g,
-                         std::deque< typename
-                         graph_traits<Graph>::vertex_descriptor > vertex_queue,
-                         OutputIterator permutation, 
-                         ColorMap color, DegreeMap degree)
-  {
-
-    //create queue, visitor...don't forget namespaces!
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename boost::sparse::sparse_ordering_queue<Vertex> queue;
-    typedef typename detail::bfs_rcm_visitor<OutputIterator, queue, DegreeMap> Visitor;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-
-
-    queue Q;
-
-    //create a bfs_rcm_visitor as defined above
-    Visitor     vis(&permutation, &Q, degree);
-
-    typename graph_traits<Graph>::vertex_iterator ui, ui_end;    
-
-    // Copy degree to pseudo_degree
-    // initialize the color map
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui){
-      put(color, *ui, Color::white());
-    }
-
-
-    while( !vertex_queue.empty() ) {
-      Vertex s = vertex_queue.front();
-      vertex_queue.pop_front();
-      
-      //call BFS with visitor
-      breadth_first_visit(g, s, Q, vis, color);
-    }
-    return permutation;
-  }
-    
-
-  // This is the case where only a single starting vertex is supplied.
-  template <class Graph, class OutputIterator,
-            class ColorMap, class DegreeMap>
-  OutputIterator
-  cuthill_mckee_ordering(const Graph& g,
-                         typename graph_traits<Graph>::vertex_descriptor s,
-                         OutputIterator permutation, 
-                         ColorMap color, DegreeMap degree)
-  {
-
-    std::deque< typename graph_traits<Graph>::vertex_descriptor > vertex_queue;
-    vertex_queue.push_front( s );
-
-    return cuthill_mckee_ordering(g, vertex_queue, permutation, color, degree);
-  
-  }
-  
-
-  // This is the version of CM which selects its own starting vertex
-  template < class Graph, class OutputIterator, 
-             class ColorMap, class DegreeMap>
-  OutputIterator 
-  cuthill_mckee_ordering(const Graph& G, OutputIterator permutation, 
-                         ColorMap color, DegreeMap degree)
-  {
-    if (boost::graph::has_no_vertices(G))
-      return permutation;
-
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-
-    std::deque<Vertex>      vertex_queue;
-
-    // Mark everything white
-    BGL_FORALL_VERTICES_T(v, G, Graph) put(color, v, Color::white());
-
-    // Find one vertex from each connected component 
-    BGL_FORALL_VERTICES_T(v, G, Graph) {
-      if (get(color, v) == Color::white()) {
-        depth_first_visit(G, v, dfs_visitor<>(), color);
-        vertex_queue.push_back(v);
-      }
-    }
-
-    // Find starting nodes for all vertices
-    // TBD: How to do this with a directed graph?
-    for (typename std::deque<Vertex>::iterator i = vertex_queue.begin();
-         i != vertex_queue.end(); ++i)
-      *i = find_starting_node(G, *i, color, degree);
-    
-    return cuthill_mckee_ordering(G, vertex_queue, permutation,
-                                  color, degree);
-  }
-
-  template<typename Graph, typename OutputIterator, typename VertexIndexMap>
-  OutputIterator 
-  cuthill_mckee_ordering(const Graph& G, OutputIterator permutation, 
-                         VertexIndexMap index_map)
-  {
-    if (boost::graph::has_no_vertices(G))
-      return permutation;
-    
-    std::vector<default_color_type> colors(num_vertices(G));
-    return cuthill_mckee_ordering(G, permutation, 
-                                  make_iterator_property_map(&colors[0], 
-                                                             index_map,
-                                                             colors[0]),
-                                  make_out_degree_map(G));
-  }
-
-  template<typename Graph, typename OutputIterator>
-  inline OutputIterator 
-  cuthill_mckee_ordering(const Graph& G, OutputIterator permutation)
-  { return cuthill_mckee_ordering(G, permutation, get(vertex_index, G)); }
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_CUTHILL_MCKEE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/cycle_canceling.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/cycle_canceling.hpp
deleted file mode 100644
index 46a4b86..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/cycle_canceling.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-//=======================================================================
-// Copyright 2013 University of Warsaw.
-// Authors: Piotr Wygocki 
-//
-// Distributed under the 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 algorithm is described in "Network Flows: Theory, Algorithms, and Applications"
-// by Ahuja, Magnanti, Orlin.
-
-#ifndef BOOST_GRAPH_CYCLE_CANCELING_HPP
-#define BOOST_GRAPH_CYCLE_CANCELING_HPP 
-
-#include <numeric>
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/pending/relaxed_heap.hpp>
-#include <boost/graph/bellman_ford_shortest_paths.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/detail/augment.hpp>
-#include <boost/graph/find_flow_cost.hpp>
-
-namespace boost {
-
-
-namespace detail {
-
-template <typename PredEdgeMap, typename Vertex>
-class RecordEdgeMapAndCycleVertex 
-    : public bellman_visitor<edge_predecessor_recorder<PredEdgeMap, on_edge_relaxed> > {
-        typedef edge_predecessor_recorder<PredEdgeMap, on_edge_relaxed> PredRec;
-public:
-    RecordEdgeMapAndCycleVertex(PredEdgeMap pred, Vertex & v) : 
-        bellman_visitor<PredRec>(PredRec(pred)), m_v(v), m_pred(pred) {}
-
-    template <typename Graph, typename Edge>
-    void edge_not_minimized(Edge e, const Graph & g) const {
-        typename graph_traits<Graph>::vertices_size_type n = num_vertices(g) + 1;
-
-        //edge e is not minimized but does not have to be on the negative weight cycle
-        //to find vertex on negative wieight cycle we move n+1 times backword in the PredEdgeMap graph.
-        while(n > 0) {
-            e = get(m_pred, source(e, g));
-            --n;
-        }
-        m_v = source(e, g);
-    }
-private:
-    Vertex & m_v;
-    PredEdgeMap m_pred;
-};
-
-} //detail
-
-
-template <class Graph, class Pred, class Distance, class Reversed, class ResidualCapacity, class Weight>
-void cycle_canceling(const Graph &g, Weight weight, Reversed rev, ResidualCapacity residual_capacity, Pred pred, Distance distance) {
-    typedef filtered_graph<const Graph, is_residual_edge<ResidualCapacity> > ResGraph;
-    ResGraph gres = detail::residual_graph(g, residual_capacity);
-    
-    typedef graph_traits<ResGraph> ResGTraits;
-    typedef graph_traits<Graph> GTraits;
-    typedef typename ResGTraits::edge_descriptor edge_descriptor;
-    typedef typename ResGTraits::vertex_descriptor vertex_descriptor;
-    
-    typename GTraits::vertices_size_type N = num_vertices(g);
-    
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-        put(pred, v, edge_descriptor());
-        put(distance, v, 0);
-    }
-
-    vertex_descriptor cycleStart;
-    while(!bellman_ford_shortest_paths(gres, N, 
-            weight_map(weight).
-            distance_map(distance).
-            visitor(detail::RecordEdgeMapAndCycleVertex<Pred, vertex_descriptor>(pred, cycleStart)))) {
-
-        detail::augment(g, cycleStart, cycleStart, pred, residual_capacity, rev);
-        
-        BGL_FORALL_VERTICES_T(v, g, Graph) {
-            put(pred, v, edge_descriptor());
-            put(distance, v, 0);
-        }
-    }
-}
-
-
-//in this namespace argument dispatching takes place
-namespace detail {
-
-template <class Graph, class P, class T, class R, class ResidualCapacity, class Weight, class Reversed, class Pred, class Distance>
-void cycle_canceling_dispatch2(
-        const Graph &g, 
-        Weight weight,
-        Reversed rev,
-        ResidualCapacity residual_capacity,
-        Pred pred,
-        Distance dist,
-        const bgl_named_params<P, T, R>& params) {
-    cycle_canceling(g, weight, rev, residual_capacity, pred, dist);
-}
-
-//setting default distance map
-template <class Graph, class P, class T, class R, class Pred, class ResidualCapacity, class Weight, class Reversed>
-void cycle_canceling_dispatch2(
-        Graph &g, 
-        Weight weight,
-        Reversed rev,
-        ResidualCapacity residual_capacity,
-        Pred pred,
-        param_not_found,
-        const bgl_named_params<P, T, R>& params) {
-    typedef typename property_traits<Weight>::value_type D;
-
-    std::vector<D> d_map(num_vertices(g));
-
-    cycle_canceling(g, weight, rev, residual_capacity, pred, 
-                    make_iterator_property_map(d_map.begin(), choose_const_pmap(get_param(params, vertex_index), g, vertex_index)));
-}
-
-template <class Graph, class P, class T, class R, class ResidualCapacity, class Weight, class Reversed, class Pred>
-void cycle_canceling_dispatch1(
-        Graph &g, 
-        Weight weight, 
-        Reversed rev,
-        ResidualCapacity residual_capacity,
-        Pred pred,
-        const bgl_named_params<P, T, R>& params) {
-    cycle_canceling_dispatch2(g, weight, rev,residual_capacity,  pred, 
-                                get_param(params, vertex_distance), params);
-}
-
-//setting default predecessors map
-template <class Graph, class P, class T, class R, class ResidualCapacity, class Weight, class Reversed>
-void cycle_canceling_dispatch1(
-        Graph &g, 
-        Weight weight, 
-        Reversed rev,
-        ResidualCapacity residual_capacity,
-        param_not_found,
-        const bgl_named_params<P, T, R>& params) {
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    std::vector<edge_descriptor> p_map(num_vertices(g));
-
-    cycle_canceling_dispatch2(g, weight, rev, residual_capacity,
-                              make_iterator_property_map(p_map.begin(), choose_const_pmap(get_param(params, vertex_index), g, vertex_index)),
-                                get_param(params, vertex_distance), params); 
-}
-
-}//detail
-
-template <class Graph, class  P, class T, class R>
-void cycle_canceling(Graph &g,
-        const bgl_named_params<P, T, R>& params) {
-    cycle_canceling_dispatch1(g, 
-           choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-           choose_const_pmap(get_param(params, edge_reverse), g, edge_reverse),
-           choose_pmap(get_param(params, edge_residual_capacity), 
-                       g, edge_residual_capacity),
-           get_param(params, vertex_predecessor), 
-           params);
-}
-
-template <class Graph>
-void cycle_canceling(Graph &g) {
-    bgl_named_params<int, buffer_param_t> params(0);
-    cycle_canceling(g, params);
-}
-
-
-}
-
-#endif /* BOOST_GRAPH_CYCLE_CANCELING_HPP */
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dag_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/dag_shortest_paths.hpp
deleted file mode 100644
index 325d151..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dag_shortest_paths.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_DAG_SHORTEST_PATHS_HPP
-#define BOOST_GRAPH_DAG_SHORTEST_PATHS_HPP
-
-#include <boost/graph/topological_sort.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-
-// single-source shortest paths for a Directed Acyclic Graph (DAG)
-
-namespace boost {
-
-  // Initalize distances and call depth first search
-  template <class VertexListGraph, class DijkstraVisitor, 
-            class DistanceMap, class WeightMap, class ColorMap, 
-            class PredecessorMap,
-            class Compare, class Combine, 
-            class DistInf, class DistZero>
-  inline void
-  dag_shortest_paths
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s, 
-     DistanceMap distance, WeightMap weight, ColorMap color,
-     PredecessorMap pred,
-     DijkstraVisitor vis, Compare compare, Combine combine, 
-     DistInf inf, DistZero zero)
-  {
-    typedef typename graph_traits<VertexListGraph>::vertex_descriptor Vertex;
-    std::vector<Vertex> rev_topo_order;
-    rev_topo_order.reserve(num_vertices(g));
-
-    // Call 'depth_first_visit', not 'topological_sort', because we don't
-    // want to traverse the entire graph, only vertices reachable from 's',
-    // and 'topological_sort' will traverse everything. The logic below
-    // is the same as for 'topological_sort', only we call 'depth_first_visit'
-    // and 'topological_sort' calls 'depth_first_search'.
-    topo_sort_visitor<std::back_insert_iterator<std::vector<Vertex> > >
-        topo_visitor(std::back_inserter(rev_topo_order));
-    depth_first_visit(g, s, topo_visitor, color);
-
-    typename graph_traits<VertexListGraph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      put(distance, *ui, inf);
-      put(pred, *ui, *ui);
-    }
-
-    put(distance, s, zero);
-    vis.discover_vertex(s, g);
-    typename std::vector<Vertex>::reverse_iterator i;
-    for (i = rev_topo_order.rbegin(); i != rev_topo_order.rend(); ++i) {
-      Vertex u = *i;
-      vis.examine_vertex(u, g);
-      typename graph_traits<VertexListGraph>::out_edge_iterator e, e_end;
-      for (boost::tie(e, e_end) = out_edges(u, g); e != e_end; ++e) {
-        vis.discover_vertex(target(*e, g), g);
-        bool decreased = relax(*e, g, weight, pred, distance, 
-                               combine, compare);
-        if (decreased)
-          vis.edge_relaxed(*e, g);
-        else
-          vis.edge_not_relaxed(*e, g);
-      }
-      vis.finish_vertex(u, g);      
-    }
-  }
-
-  namespace detail {
-
-    // Defaults are the same as Dijkstra's algorithm
-
-    // Handle Distance Compare, Combine, Inf and Zero defaults
-    template <class VertexListGraph, class DijkstraVisitor, 
-      class DistanceMap, class WeightMap, class ColorMap, 
-      class IndexMap, class Params>
-    inline void
-    dag_sp_dispatch2
-      (const VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s, 
-       DistanceMap distance, WeightMap weight, ColorMap color, IndexMap /*id*/,
-       DijkstraVisitor vis, const Params& params)
-    {
-      typedef typename property_traits<DistanceMap>::value_type D;
-      dummy_property_map p_map;
-      D inf =
-        choose_param(get_param(params, distance_inf_t()), 
-                     (std::numeric_limits<D>::max)());
-      dag_shortest_paths
-        (g, s, distance, weight, color, 
-         choose_param(get_param(params, vertex_predecessor), p_map),
-         vis, 
-         choose_param(get_param(params, distance_compare_t()), std::less<D>()),
-         choose_param(get_param(params, distance_combine_t()), closed_plus<D>(inf)),
-         inf,
-         choose_param(get_param(params, distance_zero_t()), 
-                      D()));
-    }
-
-    // Handle DistanceMap and ColorMap defaults
-    template <class VertexListGraph, class DijkstraVisitor, 
-              class DistanceMap, class WeightMap, class ColorMap,
-              class IndexMap, class Params>
-    inline void
-    dag_sp_dispatch1
-      (const VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s, 
-       DistanceMap distance, WeightMap weight, ColorMap color, IndexMap id,
-       DijkstraVisitor vis, const Params& params)
-    {
-      typedef typename property_traits<WeightMap>::value_type T;
-      typename std::vector<T>::size_type n;
-      n = is_default_param(distance) ? num_vertices(g) : 1;
-      std::vector<T> distance_map(n);
-      n = is_default_param(color) ? num_vertices(g) : 1;
-      std::vector<default_color_type> color_map(n);
-
-      dag_sp_dispatch2
-        (g, s, 
-         choose_param(distance, 
-                      make_iterator_property_map(distance_map.begin(), id,
-                                                 distance_map[0])),
-         weight, 
-         choose_param(color,
-                      make_iterator_property_map(color_map.begin(), id, 
-                                                 color_map[0])),
-         id, vis, params);
-    }
-    
-  } // namespace detail 
-  
-  template <class VertexListGraph, class Param, class Tag, class Rest>
-  inline void
-  dag_shortest_paths
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     const bgl_named_params<Param,Tag,Rest>& params)
-  {
-    // assert that the graph is directed...
-    null_visitor null_vis;
-    detail::dag_sp_dispatch1
-      (g, s, 
-       get_param(params, vertex_distance),
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-       get_param(params, vertex_color),
-       choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-       choose_param(get_param(params, graph_visitor),
-                    make_dijkstra_visitor(null_vis)),
-       params);
-  }
-  
-} // namespace boost
-
-#endif // BOOST_GRAPH_DAG_SHORTEST_PATHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/degree_centrality.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/degree_centrality.hpp
deleted file mode 100644
index f6cc7a2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/degree_centrality.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_DEGREE_CENTRALITY_HPP
-#define BOOST_GRAPH_DEGREE_CENTRALITY_HPP
-
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-template <typename Graph>
-struct degree_centrality_measure
-{
-    typedef typename graph_traits<Graph>::degree_size_type degree_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_type;
-};
-
-template <typename Graph>
-struct influence_measure
-    : public degree_centrality_measure<Graph>
-{
-    typedef degree_centrality_measure<Graph> base_type;
-    typedef typename base_type::degree_type degree_type;
-    typedef typename base_type::vertex_type vertex_type;
-
-    inline degree_type operator ()(vertex_type v, const Graph& g)
-    {
-        BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-        return out_degree(v, g);
-    }
-};
-
-template <typename Graph>
-inline influence_measure<Graph>
-measure_influence(const Graph&)
-{ return influence_measure<Graph>(); }
-
-
-template <typename Graph>
-struct prestige_measure
-    : public degree_centrality_measure<Graph>
-{
-    typedef degree_centrality_measure<Graph> base_type;
-    typedef typename base_type::degree_type degree_type;
-    typedef typename base_type::vertex_type vertex_type;
-
-    inline degree_type operator ()(vertex_type v, const Graph& g)
-    {
-        BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph> ));
-        return in_degree(v, g);
-    }
-};
-
-template <typename Graph>
-inline prestige_measure<Graph>
-measure_prestige(const Graph&)
-{ return prestige_measure<Graph>(); }
-
-
-template <typename Graph, typename Vertex, typename Measure>
-inline typename Measure::degree_type
-degree_centrality(const Graph& g, Vertex v, Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( DegreeMeasureConcept<Measure, Graph> ));
-    return measure(v, g);
-}
-
-template <typename Graph, typename Vertex>
-inline typename graph_traits<Graph>::degree_size_type
-degree_centrality(const Graph& g, Vertex v)
-{
-    return degree_centrality(g, v, measure_influence(g));
-}
-
-
-// These are alias functions, intended to provide a more expressive interface.
-
-template <typename Graph, typename Vertex>
-inline typename graph_traits<Graph>::degree_size_type
-influence(const Graph& g, Vertex v)
-{ return degree_centrality(g, v, measure_influence(g)); }
-
-
-template <typename Graph, typename Vertex>
-inline typename graph_traits<Graph>::degree_size_type
-prestige(const Graph& g, Vertex v)
-{ return degree_centrality(g, v, measure_prestige(g)); }
-
-
-template <typename Graph, typename CentralityMap, typename Measure>
-inline void
-all_degree_centralities(const Graph& g, CentralityMap cent, Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<CentralityMap,Vertex> ));
-    typedef typename property_traits<CentralityMap>::value_type Centrality;
-
-    VertexIterator i, end;
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        Centrality c = degree_centrality(g, *i, measure);
-        put(cent, *i, c);
-    }
-}
-
-template <typename Graph, typename CentralityMap>
-inline void all_degree_centralities(const Graph& g, CentralityMap cent)
-{ all_degree_centralities(g, cent, measure_influence(g)); }
-
-// More helper functions for computing influence and prestige.
-// I hate the names of these functions, but influence and prestige
-// don't pluralize too well.
-
-template <typename Graph, typename CentralityMap>
-inline void all_influence_values(const Graph& g, CentralityMap cent)
-{ all_degree_centralities(g, cent, measure_influence(g)); }
-
-template <typename Graph, typename CentralityMap>
-inline void all_prestige_values(const Graph& g, CentralityMap cent)
-{ all_degree_centralities(g, cent, measure_prestige(g)); }
-
-} /* namespace boost */
-
-#endif
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/depth_first_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/depth_first_search.hpp
deleted file mode 100644
index b002d36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/depth_first_search.hpp
+++ /dev/null
@@ -1,361 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2003 Bruce Barr
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//=======================================================================
-
-// Nonrecursive implementation of depth_first_visit_impl submitted by
-// Bruce Barr, schmoost <at> yahoo.com, May/June 2003.
-#ifndef BOOST_GRAPH_RECURSIVE_DFS_HPP
-#define BOOST_GRAPH_RECURSIVE_DFS_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/ref.hpp>
-#include <boost/implicit_cast.hpp>
-#include <boost/optional.hpp>
-#include <boost/parameter.hpp>
-#include <boost/concept/assert.hpp>
-#include <boost/tti/has_member_function.hpp>
-
-#include <vector>
-#include <utility>
-
-namespace boost {
-
-  template <class Visitor, class Graph>
-  class DFSVisitorConcept {
-  public:
-    void constraints() {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-      vis.initialize_vertex(u, g);
-      vis.start_vertex(u, g);
-      vis.discover_vertex(u, g);
-      vis.examine_edge(e, g);
-      vis.tree_edge(e, g);
-      vis.back_edge(e, g);
-      vis.forward_or_cross_edge(e, g);
-      // vis.finish_edge(e, g); // Optional for user
-      vis.finish_vertex(u, g);
-    }
-  private:
-    Visitor vis;
-    Graph g;
-    typename graph_traits<Graph>::vertex_descriptor u;
-    typename graph_traits<Graph>::edge_descriptor e;
-  };
-
-  namespace detail {
-
-    struct nontruth2 {
-      template<class T, class T2>
-      bool operator()(const T&, const T2&) const { return false; }
-    };
-
-    BOOST_TTI_HAS_MEMBER_FUNCTION(finish_edge)
-
-    template <bool IsCallable> struct do_call_finish_edge {
-      template <typename E, typename G, typename Vis>
-      static void call_finish_edge(Vis& vis, const E& e, const G& g) {
-        vis.finish_edge(e, g);
-      }
-    };
-
-    template <> struct do_call_finish_edge<false> {
-      template <typename E, typename G, typename Vis>
-      static void call_finish_edge(Vis&, const E&, const G&) {}
-    };
-
-    template <typename E, typename G, typename Vis>
-    void call_finish_edge(Vis& vis, const E& e, const G& g) { // Only call if method exists
-      do_call_finish_edge<has_member_function_finish_edge<Vis, void>::value>::call_finish_edge(vis, e, g);
-    }
-
-
-// Define BOOST_RECURSIVE_DFS to use older, recursive version.
-// It is retained for a while in order to perform performance
-// comparison.
-#ifndef BOOST_RECURSIVE_DFS
-
-    // If the vertex u and the iterators ei and ei_end are thought of as the
-    // context of the algorithm, each push and pop from the stack could
-    // be thought of as a context shift.
-    // Each pass through "while (ei != ei_end)" may refer to the out-edges of
-    // an entirely different vertex, because the context of the algorithm
-    // shifts every time a white adjacent vertex is discovered.
-    // The corresponding context shift back from the adjacent vertex occurs
-    // after all of its out-edges have been examined.
-    //
-    // See http://lists.boost.org/MailArchives/boost/msg48752.php for FAQ.
-
-    template <class IncidenceGraph, class DFSVisitor, class ColorMap,
-            class TerminatorFunc>
-    void depth_first_visit_impl
-      (const IncidenceGraph& g,
-       typename graph_traits<IncidenceGraph>::vertex_descriptor u,
-       DFSVisitor& vis,
-       ColorMap color, TerminatorFunc func = TerminatorFunc())
-    {
-      BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
-      BOOST_CONCEPT_ASSERT(( DFSVisitorConcept<DFSVisitor, IncidenceGraph> ));
-      typedef typename graph_traits<IncidenceGraph>::vertex_descriptor Vertex;
-      typedef typename graph_traits<IncidenceGraph>::edge_descriptor Edge;
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
-      typedef typename property_traits<ColorMap>::value_type ColorValue;
-      BOOST_CONCEPT_ASSERT(( ColorValueConcept<ColorValue> ));
-      typedef color_traits<ColorValue> Color;
-      typedef typename graph_traits<IncidenceGraph>::out_edge_iterator Iter;
-      typedef std::pair<Vertex, std::pair<boost::optional<Edge>, std::pair<Iter, Iter> > > VertexInfo;
-
-      boost::optional<Edge> src_e;
-      Iter ei, ei_end;
-      std::vector<VertexInfo> stack;
-
-      // Possible optimization for vector
-      //stack.reserve(num_vertices(g));
-
-      put(color, u, Color::gray());
-      vis.discover_vertex(u, g);
-      boost::tie(ei, ei_end) = out_edges(u, g);
-      if (func(u, g)) {
-          // If this vertex terminates the search, we push empty range
-          stack.push_back(std::make_pair(u, std::make_pair(boost::optional<Edge>(), std::make_pair(ei_end, ei_end))));
-      } else {
-          stack.push_back(std::make_pair(u, std::make_pair(boost::optional<Edge>(), std::make_pair(ei, ei_end))));
-      }
-      while (!stack.empty()) {
-        VertexInfo& back = stack.back();
-        u = back.first;
-        src_e = back.second.first;
-        boost::tie(ei, ei_end) = back.second.second;
-        stack.pop_back();
-        while (ei != ei_end) {
-          Vertex v = target(*ei, g);
-          vis.examine_edge(*ei, g);
-          ColorValue v_color = get(color, v);
-          if (v_color == Color::white()) {
-            vis.tree_edge(*ei, g);
-            src_e = *ei;
-            stack.push_back(std::make_pair(u, std::make_pair(src_e, std::make_pair(++ei, ei_end))));
-            u = v;
-            put(color, u, Color::gray());
-            vis.discover_vertex(u, g);
-            boost::tie(ei, ei_end) = out_edges(u, g);
-            if (func(u, g)) {
-                ei = ei_end;
-            }
-          } else {
-            if (v_color == Color::gray()) {
-              vis.back_edge(*ei, g);
-            } else {
-              vis.forward_or_cross_edge(*ei, g);
-            }
-            call_finish_edge(vis, *ei, g);
-            ++ei;
-          }
-        }
-        put(color, u, Color::black());
-        vis.finish_vertex(u, g);
-        if (src_e) call_finish_edge(vis, src_e.get(), g);
-      }
-    }
-
-#else // BOOST_RECURSIVE_DFS is defined
-
-    template <class IncidenceGraph, class DFSVisitor, class ColorMap,
-              class TerminatorFunc>
-    void depth_first_visit_impl
-      (const IncidenceGraph& g,
-       typename graph_traits<IncidenceGraph>::vertex_descriptor u,
-       DFSVisitor& vis,  // pass-by-reference here, important!
-       ColorMap color, TerminatorFunc func)
-    {
-      BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
-      BOOST_CONCEPT_ASSERT(( DFSVisitorConcept<DFSVisitor, IncidenceGraph> ));
-      typedef typename graph_traits<IncidenceGraph>::vertex_descriptor Vertex;
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
-      typedef typename property_traits<ColorMap>::value_type ColorValue;
-      BOOST_CONCEPT_ASSERT(( ColorValueConcept<ColorValue> ));
-      typedef color_traits<ColorValue> Color;
-      typename graph_traits<IncidenceGraph>::out_edge_iterator ei, ei_end;
-
-      put(color, u, Color::gray());          vis.discover_vertex(u, g);
-
-      if (!func(u, g))
-        for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-          Vertex v = target(*ei, g);           vis.examine_edge(*ei, g);
-          ColorValue v_color = get(color, v);
-          if (v_color == Color::white()) {     vis.tree_edge(*ei, g);
-          depth_first_visit_impl(g, v, vis, color, func);
-          } else if (v_color == Color::gray()) vis.back_edge(*ei, g);
-          else                                 vis.forward_or_cross_edge(*ei, g);
-          call_finish_edge(vis, *ei, g);
-        }
-      put(color, u, Color::black());         vis.finish_vertex(u, g);
-    }
-
-#endif
-
-  } // namespace detail
-
-  template <class VertexListGraph, class DFSVisitor, class ColorMap>
-  void
-  depth_first_search(const VertexListGraph& g, DFSVisitor vis, ColorMap color,
-                     typename graph_traits<VertexListGraph>::vertex_descriptor start_vertex)
-  {
-    typedef typename graph_traits<VertexListGraph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( DFSVisitorConcept<DFSVisitor, VertexListGraph> ));
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-
-    typename graph_traits<VertexListGraph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      Vertex u = implicit_cast<Vertex>(*ui);
-      put(color, u, Color::white()); vis.initialize_vertex(u, g);
-    }
-
-    if (start_vertex != detail::get_default_starting_vertex(g)){ vis.start_vertex(start_vertex, g);
-      detail::depth_first_visit_impl(g, start_vertex, vis, color,
-                                     detail::nontruth2());
-    }
-
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      Vertex u = implicit_cast<Vertex>(*ui);
-      ColorValue u_color = get(color, u);
-      if (u_color == Color::white()) {       vis.start_vertex(u, g);
-        detail::depth_first_visit_impl(g, u, vis, color, detail::nontruth2());
-      }
-    }
-  }
-
-  template <class VertexListGraph, class DFSVisitor, class ColorMap>
-  void
-  depth_first_search(const VertexListGraph& g, DFSVisitor vis, ColorMap color)
-  {
-    typedef typename boost::graph_traits<VertexListGraph>::vertex_iterator vi;
-    std::pair<vi, vi> verts = vertices(g);
-    if (verts.first == verts.second)
-      return;
-
-    depth_first_search(g, vis, color, detail::get_default_starting_vertex(g));
-  }
-
-  template <class Visitors = null_visitor>
-  class dfs_visitor {
-  public:
-    dfs_visitor() { }
-    dfs_visitor(Visitors vis) : m_vis(vis) { }
-
-    template <class Vertex, class Graph>
-    void initialize_vertex(Vertex u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_initialize_vertex());
-    }
-    template <class Vertex, class Graph>
-    void start_vertex(Vertex u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_start_vertex());
-    }
-    template <class Vertex, class Graph>
-    void discover_vertex(Vertex u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_discover_vertex());
-    }
-    template <class Edge, class Graph>
-    void examine_edge(Edge u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_examine_edge());
-    }
-    template <class Edge, class Graph>
-    void tree_edge(Edge u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_tree_edge());
-    }
-    template <class Edge, class Graph>
-    void back_edge(Edge u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_back_edge());
-    }
-    template <class Edge, class Graph>
-    void forward_or_cross_edge(Edge u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_forward_or_cross_edge());
-    }
-    template <class Edge, class Graph>
-    void finish_edge(Edge u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_finish_edge());
-    }
-    template <class Vertex, class Graph>
-    void finish_vertex(Vertex u, const Graph& g) {
-      invoke_visitors(m_vis, u, g, ::boost::on_finish_vertex());
-    }
-
-    BOOST_GRAPH_EVENT_STUB(on_initialize_vertex,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_start_vertex,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_discover_vertex,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_examine_edge,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_tree_edge,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_back_edge,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_forward_or_cross_edge,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_finish_edge,dfs)
-    BOOST_GRAPH_EVENT_STUB(on_finish_vertex,dfs)
-
-  protected:
-    Visitors m_vis;
-  };
-  template <class Visitors>
-  dfs_visitor<Visitors>
-  make_dfs_visitor(Visitors vis) {
-    return dfs_visitor<Visitors>(vis);
-  }
-  typedef dfs_visitor<> default_dfs_visitor;
-
-  // Boost.Parameter named parameter variant
-  namespace graph {
-    namespace detail {
-      template <typename Graph>
-      struct depth_first_search_impl {
-        typedef void result_type;
-        template <typename ArgPack>
-        void operator()(const Graph& g, const ArgPack& arg_pack) const {
-          using namespace boost::graph::keywords;
-          boost::depth_first_search(g,
-                                    arg_pack[_visitor | make_dfs_visitor(null_visitor())],
-                                    boost::detail::make_color_map_from_arg_pack(g, arg_pack),
-                                    arg_pack[_root_vertex || boost::detail::get_default_starting_vertex_t<Graph>(g)]);
-        }
-      };
-    }
-    BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(depth_first_search, 1, 4)
-  }
-
-  BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(depth_first_search, 1)
-
-  template <class IncidenceGraph, class DFSVisitor, class ColorMap>
-  void depth_first_visit
-    (const IncidenceGraph& g,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor u,
-     DFSVisitor vis, ColorMap color)
-  {
-    vis.start_vertex(u, g);
-    detail::depth_first_visit_impl(g, u, vis, color, detail::nontruth2());
-  }
-
-  template <class IncidenceGraph, class DFSVisitor, class ColorMap,
-            class TerminatorFunc>
-  void depth_first_visit
-    (const IncidenceGraph& g,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor u,
-     DFSVisitor vis, ColorMap color, TerminatorFunc func = TerminatorFunc())
-  {
-    vis.start_vertex(u, g);
-    detail::depth_first_visit_impl(g, u, vis, color, func);
-  }
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/depth_first_search.hpp>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/adj_list_edge_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/adj_list_edge_iterator.hpp
deleted file mode 100644
index 12cb6ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/adj_list_edge_iterator.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_DETAIL_ADJ_LIST_EDGE_ITERATOR_HPP
-#define BOOST_GRAPH_DETAIL_ADJ_LIST_EDGE_ITERATOR_HPP
-
-#include <iterator>
-#include <utility>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#  define BOOST_GRAPH_NO_OPTIONAL
-#endif
-
-#ifdef BOOST_GRAPH_NO_OPTIONAL
-#  define BOOST_GRAPH_MEMBER .
-#else 
-#  define BOOST_GRAPH_MEMBER ->
-#  include <boost/optional.hpp>
-#endif // ndef BOOST_GRAPH_NO_OPTIONAL
-
-namespace boost {
-
-  namespace detail {
-
-    template <class VertexIterator, class OutEdgeIterator, class Graph>
-    class adj_list_edge_iterator {
-      typedef adj_list_edge_iterator self;
-    public:
-      typedef std::forward_iterator_tag iterator_category;
-      typedef typename OutEdgeIterator::value_type value_type;
-      typedef typename OutEdgeIterator::reference  reference;
-      typedef typename OutEdgeIterator::pointer    pointer;
-      typedef typename OutEdgeIterator::difference_type difference_type;
-      typedef difference_type distance_type;
-
-      inline adj_list_edge_iterator() {}
-
-      inline adj_list_edge_iterator(const self& x) 
-      : vBegin(x.vBegin), vCurr(x.vCurr), vEnd(x.vEnd),
-        edges(x.edges), m_g(x.m_g) { }
-
-      template <class G>
-      inline adj_list_edge_iterator(VertexIterator b, 
-                                    VertexIterator c,
-                                    VertexIterator e,
-                                    const G& g) 
-        : vBegin(b), vCurr(c), vEnd(e), m_g(&g) {
-        if ( vCurr != vEnd ) {
-          while ( vCurr != vEnd && out_degree(*vCurr, *m_g) == 0 )
-            ++vCurr;
-          if ( vCurr != vEnd )
-            edges = out_edges(*vCurr, *m_g);
-        }
-      }
-
-      /*Note:
-        In the directed graph cases, it is fine. 
-        For undirected graphs, one edge go through twice.
-      */
-      inline self& operator++() {
-        ++edges BOOST_GRAPH_MEMBER first;
-        if (edges BOOST_GRAPH_MEMBER first == edges BOOST_GRAPH_MEMBER second) 
-        {
-          ++vCurr;
-          while ( vCurr != vEnd && out_degree(*vCurr, *m_g) == 0 )
-            ++vCurr;
-          if ( vCurr != vEnd )
-            edges = out_edges(*vCurr, *m_g);
-        }
-        return *this;
-      }
-      inline self operator++(int) {
-        self tmp = *this;
-        ++(*this);
-        return tmp;
-      }
-      inline value_type operator*() const 
-      { return *edges BOOST_GRAPH_MEMBER first; } 
-      inline bool operator==(const self& x) const {
-        return vCurr == x.vCurr 
-          && (vCurr == vEnd 
-              || edges BOOST_GRAPH_MEMBER first == x.edges BOOST_GRAPH_MEMBER first);
-      }
-      inline bool operator!=(const self& x) const {
-        return vCurr != x.vCurr 
-          || (vCurr != vEnd 
-              && edges BOOST_GRAPH_MEMBER first != x.edges BOOST_GRAPH_MEMBER first);
-      }
-    protected:
-      VertexIterator vBegin;
-      VertexIterator vCurr;
-      VertexIterator vEnd;
-
-#ifdef BOOST_GRAPH_NO_OPTIONAL
-      std::pair<OutEdgeIterator, OutEdgeIterator> edges;
-#else
-      boost::optional<std::pair<OutEdgeIterator, OutEdgeIterator> >
-        edges;
-#endif // ndef BOOST_GRAPH_NO_OPTIONAL
-      const Graph* m_g;
-    };
-
-  } // namespace detail
-
-}
-
-#undef BOOST_GRAPH_MEMBER
-
-#endif // BOOST_GRAPH_DETAIL_ADJ_LIST_EDGE_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/adjacency_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/adjacency_list.hpp
deleted file mode 100644
index 1145d88..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/adjacency_list.hpp
+++ /dev/null
@@ -1,2827 +0,0 @@
-// -*- c++ -*-
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2010 Thomas Claveirole
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Thomas Claveirole
-//
-// Distributed under the 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_GRAPH_DETAIL_ADJACENCY_LIST_HPP
-#define BOOST_GRAPH_DETAIL_ADJACENCY_LIST_HPP
-
-#include <map> // for vertex_map in copy_impl
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/operators.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/pending/container_traits.hpp>
-#include <boost/range/irange.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <memory>
-#include <algorithm>
-#include <boost/limits.hpp>
-
-#include <boost/iterator/iterator_adaptor.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/pending/container_traits.hpp>
-#include <boost/graph/detail/adj_list_edge_iterator.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/property.hpp>
-#include <boost/graph/adjacency_iterator.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_GRAPH_MOVE_IF_POSSIBLE(x) (x)
-#else
-#include <utility>
-#define BOOST_GRAPH_MOVE_IF_POSSIBLE(x) (std::move((x)))
-#endif
-
-/*
-  Outline for this file:
-
-  out_edge_iterator and in_edge_iterator implementation
-  edge_iterator for undirected graph
-  stored edge types (these object live in the out-edge/in-edge lists)
-  directed edges helper class
-  directed graph helper class
-  undirected graph helper class
-  bidirectional graph helper class
-  bidirectional graph helper class (without edge properties)
-  bidirectional graph helper class (with edge properties)
-  adjacency_list helper class
-  adj_list_impl class
-  vec_adj_list_impl class
-  adj_list_gen class
-  vertex property map
-  edge property map
-
-
-  Note: it would be nice to merge some of the undirected and
-  bidirectional code... it is awful similar.
- */
-
-
-namespace boost {
-
-  namespace detail {
-
-    template <typename DirectedS>
-    struct directed_category_traits {
-      typedef directed_tag directed_category;
-    };
-
-    template <>
-    struct directed_category_traits<directedS> {
-      typedef directed_tag directed_category;
-    };
-    template <>
-    struct directed_category_traits<undirectedS> {
-      typedef undirected_tag directed_category;
-    };
-    template <>
-    struct directed_category_traits<bidirectionalS> {
-      typedef bidirectional_tag directed_category;
-    };
-
-    template <class Vertex>
-    struct target_is {
-      target_is(const Vertex& v) : m_target(v) { }
-      template <class StoredEdge>
-      bool operator()(const StoredEdge& e) const {
-        return e.get_target() == m_target;
-      }
-      Vertex m_target;
-    };
-
-    // O(E/V)
-    template <class EdgeList, class vertex_descriptor>
-    void erase_from_incidence_list(EdgeList& el, vertex_descriptor v,
-                                   allow_parallel_edge_tag)
-    {
-      boost::graph_detail::erase_if(el, detail::target_is<vertex_descriptor>(v));
-    }
-    // O(log(E/V))
-    template <class EdgeList, class vertex_descriptor>
-    void erase_from_incidence_list(EdgeList& el, vertex_descriptor v,
-                                   disallow_parallel_edge_tag)
-    {
-      typedef typename EdgeList::value_type StoredEdge;
-      el.erase(StoredEdge(v));
-    }
-
-    //=========================================================================
-    // Out-Edge and In-Edge Iterator Implementation
-
-    template <class BaseIter, class VertexDescriptor, class EdgeDescriptor, class Difference>
-    struct out_edge_iter
-      : iterator_adaptor<
-            out_edge_iter<BaseIter, VertexDescriptor, EdgeDescriptor, Difference>
-          , BaseIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , Difference
-        >
-    {
-      typedef iterator_adaptor<
-          out_edge_iter<BaseIter, VertexDescriptor, EdgeDescriptor, Difference>
-        , BaseIter
-        , EdgeDescriptor
-        , use_default
-        , EdgeDescriptor
-        , Difference
-      > super_t;
-
-      inline out_edge_iter() { }
-        inline out_edge_iter(const BaseIter& i, const VertexDescriptor& src)
-          : super_t(i), m_src(src) { }
-
-      inline EdgeDescriptor
-      dereference() const
-      {
-        return EdgeDescriptor(m_src, (*this->base()).get_target(),
-                              &(*this->base()).get_property());
-      }
-      VertexDescriptor m_src;
-    };
-
-    template <class BaseIter, class VertexDescriptor, class EdgeDescriptor, class Difference>
-    struct in_edge_iter
-      : iterator_adaptor<
-            in_edge_iter<BaseIter, VertexDescriptor, EdgeDescriptor, Difference>
-          , BaseIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , Difference
-        >
-    {
-      typedef iterator_adaptor<
-          in_edge_iter<BaseIter, VertexDescriptor, EdgeDescriptor, Difference>
-        , BaseIter
-        , EdgeDescriptor
-        , use_default
-        , EdgeDescriptor
-        , Difference
-      > super_t;
-
-      inline in_edge_iter() { }
-      inline in_edge_iter(const BaseIter& i, const VertexDescriptor& src)
-        : super_t(i), m_src(src) { }
-
-      inline EdgeDescriptor
-      dereference() const
-      {
-        return EdgeDescriptor((*this->base()).get_target(), m_src,
-                              &this->base()->get_property());
-      }
-      VertexDescriptor m_src;
-    };
-
-    //=========================================================================
-    // Undirected Edge Iterator Implementation
-
-    template <class EdgeIter, class EdgeDescriptor, class Difference>
-    struct undirected_edge_iter
-      : iterator_adaptor<
-            undirected_edge_iter<EdgeIter, EdgeDescriptor, Difference>
-          , EdgeIter
-          , EdgeDescriptor
-          , use_default
-          , EdgeDescriptor
-          , Difference
-        >
-    {
-      typedef iterator_adaptor<
-          undirected_edge_iter<EdgeIter, EdgeDescriptor, Difference>
-        , EdgeIter
-        , EdgeDescriptor
-        , use_default
-        , EdgeDescriptor
-        , Difference
-      > super_t;
-
-      undirected_edge_iter() {}
-
-      explicit undirected_edge_iter(EdgeIter i)
-          : super_t(i) {}
-
-      inline EdgeDescriptor
-      dereference() const {
-        return EdgeDescriptor(
-            (*this->base()).m_source
-          , (*this->base()).m_target
-          , &this->base()->get_property());
-      }
-    };
-
-    //=========================================================================
-    // Edge Storage Types (stored in the out-edge/in-edge lists)
-
-    template <class Vertex>
-    class stored_edge
-      : public boost::equality_comparable1< stored_edge<Vertex>,
-        boost::less_than_comparable1< stored_edge<Vertex> > >
-    {
-    public:
-      typedef no_property property_type;
-      inline stored_edge() { }
-      inline stored_edge(Vertex target, const no_property& = no_property())
-        : m_target(target) { }
-      // Need to write this explicitly so stored_edge_property can
-      // invoke Base::operator= (at least, for SGI MIPSPro compiler)
-      inline stored_edge& operator=(const stored_edge& x) {
-        m_target = x.m_target;
-        return *this;
-      }
-      inline Vertex& get_target() const { return m_target; }
-      inline const no_property& get_property() const { return s_prop; }
-      inline bool operator==(const stored_edge& x) const
-        { return m_target == x.get_target(); }
-      inline bool operator<(const stored_edge& x) const
-        { return m_target < x.get_target(); }
-      //protected: need to add hash<> as a friend
-      static no_property s_prop;
-      // Sometimes target not used as key in the set, and in that case
-      // it is ok to change the target.
-      mutable Vertex m_target;
-    };
-    template <class Vertex>
-    no_property stored_edge<Vertex>::s_prop;
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
-    template <class Vertex, class Property>
-    class stored_edge_property : public stored_edge<Vertex> {
-      typedef stored_edge_property self;
-      typedef stored_edge<Vertex> Base;
-    public:
-      typedef Property property_type;
-      inline stored_edge_property() { }
-      inline stored_edge_property(Vertex target,
-                                  const Property& p = Property())
-        : stored_edge<Vertex>(target), m_property(new Property(p)) { }
-      stored_edge_property(const self& x)
-        : Base(x), m_property(const_cast<self&>(x).m_property) { }
-      self& operator=(const self& x) {
-        Base::operator=(x);
-        m_property = const_cast<self&>(x).m_property;
-        return *this;
-      }
-      inline Property& get_property() { return *m_property; }
-      inline const Property& get_property() const { return *m_property; }
-    protected:
-      // Holding the property by-value causes edge-descriptor
-      // invalidation for add_edge() with EdgeList=vecS. Instead we
-      // hold a pointer to the property. std::auto_ptr is not
-      // a perfect fit for the job, but it is darn close.
-      std::auto_ptr<Property> m_property;
-    };
-#else
-    template <class Vertex, class Property>
-    class stored_edge_property : public stored_edge<Vertex> {
-      typedef stored_edge_property self;
-      typedef stored_edge<Vertex> Base;
-    public:
-      typedef Property property_type;
-      inline stored_edge_property() { }
-      inline stored_edge_property(Vertex target,
-                                  const Property& p = Property())
-        : stored_edge<Vertex>(target), m_property(new Property(p)) { }
-#if defined(BOOST_MSVC) || (defined(BOOST_GCC) && (BOOST_GCC / 100) < 406)
-      stored_edge_property(self&& x) : Base(static_cast< Base const& >(x)) {
-        m_property.swap(x.m_property);
-      }
-      stored_edge_property(self const& x) : Base(static_cast< Base const& >(x)) {
-        m_property.swap(const_cast<self&>(x).m_property);
-      }
-      self& operator=(self&& x) {
-        Base::operator=(static_cast< Base const& >(x));
-        m_property = std::move(x.m_property);
-        return *this;
-      }
-      self& operator=(self const& x) {
-        Base::operator=(static_cast< Base const& >(x));
-        m_property = std::move(const_cast<self&>(x).m_property);
-        return *this;
-      }
-#else
-      stored_edge_property(self&& x) = default;
-      self& operator=(self&& x) = default;
-#endif
-      inline Property& get_property() { return *m_property; }
-      inline const Property& get_property() const { return *m_property; }
-    protected:
-      std::unique_ptr<Property> m_property;
-    };
-#endif
-
-
-    template <class Vertex, class Iter, class Property>
-    class stored_edge_iter
-      : public stored_edge<Vertex>
-    {
-    public:
-      typedef Property property_type;
-      inline stored_edge_iter() { }
-      inline stored_edge_iter(Vertex v)
-        : stored_edge<Vertex>(v) { }
-      inline stored_edge_iter(Vertex v, Iter i, void* = 0)
-        : stored_edge<Vertex>(v), m_iter(i) { }
-      inline Property& get_property() { return m_iter->get_property(); }
-      inline const Property& get_property() const {
-        return m_iter->get_property();
-      }
-      inline Iter get_iter() const { return m_iter; }
-    protected:
-      Iter m_iter;
-    };
-
-    // For when the EdgeList is a std::vector.
-    // Want to make the iterator stable, so use an offset
-    // instead of an iterator into a std::vector
-    template <class Vertex, class EdgeVec, class Property>
-    class stored_ra_edge_iter
-      : public stored_edge<Vertex>
-    {
-      typedef typename EdgeVec::iterator Iter;
-    public:
-      typedef Property property_type;
-      inline stored_ra_edge_iter() { }
-      inline explicit stored_ra_edge_iter(Vertex v) // Only used for comparisons
-        : stored_edge<Vertex>(v), m_i(0), m_vec(0){ }
-      inline stored_ra_edge_iter(Vertex v, Iter i, EdgeVec* edge_vec)
-        : stored_edge<Vertex>(v), m_i(i - edge_vec->begin()), m_vec(edge_vec){ }
-      inline Property& get_property() { BOOST_ASSERT ((m_vec != 0)); return (*m_vec)[m_i].get_property(); }
-      inline const Property& get_property() const {
-        BOOST_ASSERT ((m_vec != 0));
-        return (*m_vec)[m_i].get_property();
-      }
-      inline Iter get_iter() const { BOOST_ASSERT ((m_vec != 0)); return m_vec->begin() + m_i; }
-    protected:
-      std::size_t m_i;
-      EdgeVec* m_vec;
-    };
-
-  } // namespace detail
-
-  template <class Tag, class Vertex, class Property>
-  const typename property_value<Property,Tag>::type&
-  get(Tag property_tag,
-      const detail::stored_edge_property<Vertex, Property>& e)
-  {
-    return get_property_value(e.get_property(), property_tag);
-  }
-
-  template <class Tag, class Vertex, class Iter, class Property>
-  const typename property_value<Property,Tag>::type&
-  get(Tag property_tag,
-      const detail::stored_edge_iter<Vertex, Iter, Property>& e)
-  {
-    return get_property_value(e.get_property(), property_tag);
-  }
-
-  template <class Tag, class Vertex, class EdgeVec, class Property>
-  const typename property_value<Property,Tag>::type&
-  get(Tag property_tag,
-      const detail::stored_ra_edge_iter<Vertex, EdgeVec, Property>& e)
-  {
-    return get_property_value(e.get_property(), property_tag);
-  }
-
-    //=========================================================================
-    // Directed Edges Helper Class
-
-    namespace detail {
-
-      // O(E/V)
-      template <class edge_descriptor, class EdgeList, class StoredProperty>
-      inline void
-      remove_directed_edge_dispatch(edge_descriptor, EdgeList& el,
-                                    StoredProperty& p)
-      {
-        for (typename EdgeList::iterator i = el.begin();
-             i != el.end(); ++i)
-          if (&(*i).get_property() == &p) {
-            el.erase(i);
-            return;
-          }
-      }
-
-      template <class incidence_iterator, class EdgeList, class Predicate>
-      inline void
-      remove_directed_edge_if_dispatch(incidence_iterator first,
-                                       incidence_iterator last,
-                                       EdgeList& el, Predicate pred,
-                                       boost::allow_parallel_edge_tag)
-      {
-        // remove_if
-        while (first != last && !pred(*first))
-          ++first;
-        incidence_iterator i = first;
-        if (first != last)
-          for (++i; i != last; ++i)
-            if (!pred(*i)) {
-              *first.base() = BOOST_GRAPH_MOVE_IF_POSSIBLE(*i.base());
-              ++first;
-            }
-        el.erase(first.base(), el.end());
-      }
-      template <class incidence_iterator, class EdgeList, class Predicate>
-      inline void
-      remove_directed_edge_if_dispatch(incidence_iterator first,
-                                       incidence_iterator last,
-                                       EdgeList& el,
-                                       Predicate pred,
-                                       boost::disallow_parallel_edge_tag)
-      {
-        for (incidence_iterator next = first;
-             first != last; first = next) {
-          ++next;
-          if (pred(*first))
-            el.erase( first.base() );
-        }
-      }
-
-      template <class PropT, class Graph, class incidence_iterator,
-                class EdgeList, class Predicate>
-      inline void
-      undirected_remove_out_edge_if_dispatch(Graph& g,
-                                             incidence_iterator first,
-                                             incidence_iterator last,
-                                             EdgeList& el, Predicate pred,
-                                             boost::allow_parallel_edge_tag)
-      {
-        typedef typename Graph::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        // remove_if
-        while (first != last && !pred(*first))
-          ++first;
-        incidence_iterator i = first;
-        bool self_loop_removed = false;
-        if (first != last)
-          for (; i != last; ++i) {
-            if (self_loop_removed) {
-              /* With self loops, the descriptor will show up
-               * twice. The first time it will be removed, and now it
-               * will be skipped.
-               */
-              self_loop_removed = false;
-            }
-            else if (!pred(*i)) {
-              *first.base() = BOOST_GRAPH_MOVE_IF_POSSIBLE(*i.base());
-              ++first;
-            } else {
-              if (source(*i, g) == target(*i, g)) self_loop_removed = true;
-              else {
-                // Remove the edge from the target
-                detail::remove_directed_edge_dispatch
-                  (*i,
-                   g.out_edge_list(target(*i, g)),
-                   *(PropT*)(*i).get_property());
-              }
-
-              // Erase the edge property
-              g.m_edges.erase( (*i.base()).get_iter() );
-            }
-          }
-        el.erase(first.base(), el.end());
-      }
-      template <class PropT, class Graph, class incidence_iterator,
-                class EdgeList, class Predicate>
-      inline void
-      undirected_remove_out_edge_if_dispatch(Graph& g,
-                                             incidence_iterator first,
-                                             incidence_iterator last,
-                                             EdgeList& el,
-                                             Predicate pred,
-                                             boost::disallow_parallel_edge_tag)
-      {
-        typedef typename Graph::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        for (incidence_iterator next = first;
-             first != last; first = next) {
-          ++next;
-          if (pred(*first)) {
-            if (source(*first, g) != target(*first, g)) {
-              // Remove the edge from the target
-              detail::remove_directed_edge_dispatch
-                (*first,
-                 g.out_edge_list(target(*first, g)),
-                 *(PropT*)(*first).get_property());
-            }
-
-            // Erase the edge property
-            g.m_edges.erase( (*first.base()).get_iter() );
-
-            // Erase the edge in the source
-            el.erase( first.base() );
-          }
-        }
-      }
-
-      // O(E/V)
-      template <class edge_descriptor, class EdgeList, class StoredProperty>
-      inline void
-      remove_directed_edge_dispatch(edge_descriptor e, EdgeList& el,
-                                    no_property&)
-      {
-        for (typename EdgeList::iterator i = el.begin();
-             i != el.end(); ++i)
-          if ((*i).get_target() == e.m_target) {
-            el.erase(i);
-            return;
-          }
-      }
-
-    } // namespace detail
-
-    template <class Config>
-    struct directed_edges_helper {
-
-      // Placement of these overloaded remove_edge() functions
-      // inside the class avoids a VC++ bug.
-
-      // O(E/V)
-      inline void
-      remove_edge(typename Config::edge_descriptor e)
-      {
-        typedef typename Config::graph_type graph_type;
-        graph_type& g = static_cast<graph_type&>(*this);
-        typename Config::OutEdgeList& el = g.out_edge_list(source(e, g));
-        typedef typename Config::OutEdgeList::value_type::property_type PType;
-        detail::remove_directed_edge_dispatch(e, el,
-                                              *(PType*)e.get_property());
-      }
-
-      // O(1)
-      inline void
-      remove_edge(typename Config::out_edge_iterator iter)
-      {
-        typedef typename Config::graph_type graph_type;
-        graph_type& g = static_cast<graph_type&>(*this);
-        typename Config::edge_descriptor e = *iter;
-        typename Config::OutEdgeList& el = g.out_edge_list(source(e, g));
-        el.erase(iter.base());
-      }
-
-    };
-
-    // O(1)
-    template <class Config>
-    inline std::pair<typename Config::edge_iterator,
-                     typename Config::edge_iterator>
-    edges(const directed_edges_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_iterator edge_iterator;
-      const graph_type& cg = static_cast<const graph_type&>(g_);
-      graph_type& g = const_cast<graph_type&>(cg);
-      return std::make_pair( edge_iterator(g.vertex_set().begin(),
-                                           g.vertex_set().begin(),
-                                           g.vertex_set().end(), g),
-                             edge_iterator(g.vertex_set().begin(),
-                                           g.vertex_set().end(),
-                                           g.vertex_set().end(), g) );
-    }
-
-    //=========================================================================
-    // Directed Graph Helper Class
-
-    struct adj_list_dir_traversal_tag :
-      public virtual vertex_list_graph_tag,
-      public virtual incidence_graph_tag,
-      public virtual adjacency_graph_tag,
-      public virtual edge_list_graph_tag { };
-
-    template <class Config>
-    struct directed_graph_helper
-      : public directed_edges_helper<Config> {
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef adj_list_dir_traversal_tag traversal_category;
-    };
-
-    // O(E/V)
-    template <class Config>
-    inline void
-    remove_edge(typename Config::vertex_descriptor u,
-                typename Config::vertex_descriptor v,
-                directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_parallel_category Cat;
-      graph_type& g = static_cast<graph_type&>(g_);
-      detail::erase_from_incidence_list(g.out_edge_list(u), v, Cat());
-    }
-
-    template <class Config, class Predicate>
-    inline void
-    remove_out_edge_if(typename Config::vertex_descriptor u, Predicate pred,
-                       directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::out_edge_iterator first, last;
-      boost::tie(first, last) = out_edges(u, g);
-      typedef typename Config::edge_parallel_category edge_parallel_category;
-      detail::remove_directed_edge_if_dispatch
-        (first, last, g.out_edge_list(u), pred, edge_parallel_category());
-    }
-
-    template <class Config, class Predicate>
-    inline void
-    remove_edge_if(Predicate pred, directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-
-      typename Config::vertex_iterator vi, vi_end;
-      for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-        remove_out_edge_if(*vi, pred, g);
-    }
-
-    template <class EdgeOrIter, class Config>
-    inline void
-    remove_edge(EdgeOrIter e_or_iter, directed_graph_helper<Config>& g_)
-    {
-      g_.remove_edge(e_or_iter);
-    }
-
-    // O(V + E) for allow_parallel_edges
-    // O(V * log(E/V)) for disallow_parallel_edges
-    template <class Config>
-    inline void
-    clear_vertex(typename Config::vertex_descriptor u,
-                 directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_parallel_category Cat;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::vertex_iterator vi, viend;
-      for (boost::tie(vi, viend) = vertices(g); vi != viend; ++vi)
-        detail::erase_from_incidence_list(g.out_edge_list(*vi), u, Cat());
-      g.out_edge_list(u).clear();
-      // clear() should be a req of Sequence and AssociativeContainer,
-      // or maybe just Container
-    }
-
-    template <class Config>
-    inline void
-    clear_out_edges(typename Config::vertex_descriptor u,
-                    directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      g.out_edge_list(u).clear();
-      // clear() should be a req of Sequence and AssociativeContainer,
-      // or maybe just Container
-    }
-
-    // O(V), could do better...
-    template <class Config>
-    inline typename Config::edges_size_type
-    num_edges(const directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      const graph_type& g = static_cast<const graph_type&>(g_);
-      typename Config::edges_size_type num_e = 0;
-      typename Config::vertex_iterator vi, vi_end;
-      for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-        num_e += out_degree(*vi, g);
-      return num_e;
-    }
-    // O(1) for allow_parallel_edge_tag
-    // O(log(E/V)) for disallow_parallel_edge_tag
-    template <class Config>
-    inline std::pair<typename directed_graph_helper<Config>::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             const typename Config::edge_property_type& p,
-             directed_graph_helper<Config>& g_)
-    {
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::StoredEdge StoredEdge;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::OutEdgeList::iterator i;
-      bool inserted;
-      boost::tie(i, inserted) = boost::graph_detail::push(g.out_edge_list(u),
-                                            StoredEdge(v, p));
-      return std::make_pair(edge_descriptor(u, v, &(*i).get_property()),
-                            inserted);
-    }
-    // Did not use default argument here because that
-    // causes Visual C++ to get confused.
-    template <class Config>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             directed_graph_helper<Config>& g_)
-    {
-      typename Config::edge_property_type p;
-      return add_edge(u, v, p, g_);
-    }
-    //=========================================================================
-    // Undirected Graph Helper Class
-
-    template <class Config>
-    struct undirected_graph_helper;
-
-    struct undir_adj_list_traversal_tag :
-      public virtual vertex_list_graph_tag,
-      public virtual incidence_graph_tag,
-      public virtual adjacency_graph_tag,
-      public virtual edge_list_graph_tag,
-      public virtual bidirectional_graph_tag { };
-
-    namespace detail {
-
-      // using class with specialization for dispatch is a VC++ workaround.
-      template <class StoredProperty>
-      struct remove_undirected_edge_dispatch {
-
-        // O(E/V)
-        template <class edge_descriptor, class Config>
-        static void
-        apply(edge_descriptor e,
-              undirected_graph_helper<Config>& g_,
-              StoredProperty& p)
-        {
-          typedef typename Config::global_edgelist_selector EdgeListS;
-          BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-          typedef typename Config::graph_type graph_type;
-          graph_type& g = static_cast<graph_type&>(g_);
-
-          typename Config::OutEdgeList& out_el = g.out_edge_list(source(e, g));
-          typename Config::OutEdgeList::iterator out_i = out_el.begin();
-          typename Config::EdgeIter edge_iter_to_erase;
-          for (; out_i != out_el.end(); ++out_i)
-            if (&(*out_i).get_property() == &p) {
-              edge_iter_to_erase = (*out_i).get_iter();
-              out_el.erase(out_i);
-              break;
-            }
-          typename Config::OutEdgeList& in_el = g.out_edge_list(target(e, g));
-          typename Config::OutEdgeList::iterator in_i = in_el.begin();
-          for (; in_i != in_el.end(); ++in_i)
-            if (&(*in_i).get_property() == &p) {
-              in_el.erase(in_i);
-              break;
-            }
-          g.m_edges.erase(edge_iter_to_erase);
-        }
-      };
-
-      template <>
-      struct remove_undirected_edge_dispatch<no_property> {
-        // O(E/V)
-        template <class edge_descriptor, class Config>
-        static void
-        apply(edge_descriptor e,
-              undirected_graph_helper<Config>& g_,
-              no_property&)
-        {
-          typedef typename Config::global_edgelist_selector EdgeListS;
-          BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-          typedef typename Config::graph_type graph_type;
-          graph_type& g = static_cast<graph_type&>(g_);
-          no_property* p = (no_property*)e.get_property();
-          typename Config::OutEdgeList& out_el = g.out_edge_list(source(e, g));
-          typename Config::OutEdgeList::iterator out_i = out_el.begin();
-          typename Config::EdgeIter edge_iter_to_erase;
-          for (; out_i != out_el.end(); ++out_i)
-            if (&(*out_i).get_property() == p) {
-              edge_iter_to_erase = (*out_i).get_iter();
-              out_el.erase(out_i);
-              break;
-            }
-          typename Config::OutEdgeList& in_el = g.out_edge_list(target(e, g));
-          typename Config::OutEdgeList::iterator in_i = in_el.begin();
-          for (; in_i != in_el.end(); ++in_i)
-            if (&(*in_i).get_property() == p) {
-              in_el.erase(in_i);
-              break;
-            }
-          g.m_edges.erase(edge_iter_to_erase);
-        }
-      };
-
-      // O(E/V)
-      template <class Graph, class EdgeList, class Vertex>
-      inline void
-      remove_edge_and_property(Graph& g, EdgeList& el, Vertex v,
-                               boost::allow_parallel_edge_tag cat)
-      {
-        typedef typename Graph::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        typename EdgeList::iterator i = el.begin(), end = el.end();
-        for (; i != end; ++i) {
-          if ((*i).get_target() == v) {
-            // NOTE: Wihtout this skip, this loop will double-delete properties
-            // of loop edges. This solution is based on the observation that
-            // the incidence edges of a vertex with a loop are adjacent in the
-            // out edge list. This *may* actually hold for multisets also.
-            bool skip = (boost::next(i) != end && i->get_iter() == boost::next(i)->get_iter());
-            g.m_edges.erase((*i).get_iter());
-            if (skip) ++i;
-          }
-        }
-        detail::erase_from_incidence_list(el, v, cat);
-      }
-      // O(log(E/V))
-      template <class Graph, class EdgeList, class Vertex>
-      inline void
-      remove_edge_and_property(Graph& g, EdgeList& el, Vertex v,
-                               boost::disallow_parallel_edge_tag)
-      {
-        typedef typename Graph::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        typedef typename EdgeList::value_type StoredEdge;
-        typename EdgeList::iterator i = el.find(StoredEdge(v)), end = el.end();
-        if (i != end) {
-          g.m_edges.erase((*i).get_iter());
-          el.erase(i);
-        }
-      }
-
-    } // namespace detail
-
-    template <class Vertex, class EdgeProperty>
-    struct list_edge // short name due to VC++ truncation and linker problems
-      : public boost::detail::edge_base<boost::undirected_tag, Vertex>
-    {
-      typedef EdgeProperty property_type;
-      typedef boost::detail::edge_base<boost::undirected_tag, Vertex> Base;
-      list_edge(Vertex u, Vertex v, const EdgeProperty& p = EdgeProperty())
-        : Base(u, v), m_property(p) { }
-      EdgeProperty& get_property() { return m_property; }
-      const EdgeProperty& get_property() const { return m_property; }
-      // the following methods should never be used, but are needed
-      // to make SGI MIPSpro C++ happy
-      list_edge() { }
-      bool operator==(const list_edge&) const { return false; }
-      bool operator<(const list_edge&) const { return false; }
-      EdgeProperty m_property;
-    };
-
-    template <class Config>
-    struct undirected_graph_helper {
-
-      typedef undir_adj_list_traversal_tag traversal_category;
-
-      // Placement of these overloaded remove_edge() functions
-      // inside the class avoids a VC++ bug.
-
-      // O(E/V)
-      inline void
-      remove_edge(typename Config::edge_descriptor e)
-      {
-        typedef typename Config::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        typedef typename Config::OutEdgeList::value_type::property_type PType;
-        detail::remove_undirected_edge_dispatch<PType>::apply
-          (e, *this, *(PType*)e.get_property());
-      }
-      // O(E/V)
-      inline void
-      remove_edge(typename Config::out_edge_iterator iter)
-      {
-        this->remove_edge(*iter);
-      }
-    };
-
-    // Had to make these non-members to avoid accidental instantiation
-    // on SGI MIPSpro C++
-    template <class C>
-    inline typename C::InEdgeList&
-    in_edge_list(undirected_graph_helper<C>&,
-                 typename C::vertex_descriptor v)
-    {
-      typename C::stored_vertex* sv = (typename C::stored_vertex*)v;
-      return sv->m_out_edges;
-    }
-    template <class C>
-    inline const typename C::InEdgeList&
-    in_edge_list(const undirected_graph_helper<C>&,
-                 typename C::vertex_descriptor v) {
-      typename C::stored_vertex* sv = (typename C::stored_vertex*)v;
-      return sv->m_out_edges;
-    }
-
-    // O(E/V)
-    template <class EdgeOrIter, class Config>
-    inline void
-    remove_edge(EdgeOrIter e, undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      g_.remove_edge(e);
-    }
-
-    // O(E/V) or O(log(E/V))
-    template <class Config>
-    void
-    remove_edge(typename Config::vertex_descriptor u,
-                typename Config::vertex_descriptor v,
-                undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typedef typename Config::edge_parallel_category Cat;
-      detail::remove_edge_and_property(g, g.out_edge_list(u), v, Cat());
-      detail::erase_from_incidence_list(g.out_edge_list(v), u, Cat());
-    }
-
-    template <class Config, class Predicate>
-    void
-    remove_out_edge_if(typename Config::vertex_descriptor u, Predicate pred,
-                       undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::OutEdgeList::value_type::property_type PropT;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::out_edge_iterator first, last;
-      boost::tie(first, last) = out_edges(u, g);
-      typedef typename Config::edge_parallel_category Cat;
-      detail::undirected_remove_out_edge_if_dispatch<PropT>
-        (g, first, last, g.out_edge_list(u), pred, Cat());
-    }
-    template <class Config, class Predicate>
-    void
-    remove_in_edge_if(typename Config::vertex_descriptor u, Predicate pred,
-                      undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      remove_out_edge_if(u, pred, g_);
-    }
-
-    // O(E/V * E) or O(log(E/V) * E)
-    template <class Predicate, class Config>
-    void
-    remove_edge_if(Predicate pred, undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::edge_iterator ei, ei_end, next;
-      boost::tie(ei, ei_end) = edges(g);
-      for (next = ei; ei != ei_end; ei = next) {
-        ++next;
-        if (pred(*ei))
-          remove_edge(*ei, g);
-      }
-    }
-
-    // O(1)
-    template <class Config>
-    inline std::pair<typename Config::edge_iterator,
-                     typename Config::edge_iterator>
-    edges(const undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_iterator edge_iterator;
-      const graph_type& cg = static_cast<const graph_type&>(g_);
-      graph_type& g = const_cast<graph_type&>(cg);
-      return std::make_pair( edge_iterator(g.m_edges.begin()),
-                             edge_iterator(g.m_edges.end()) );
-    }
-    // O(1)
-    template <class Config>
-    inline typename Config::edges_size_type
-    num_edges(const undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      const graph_type& g = static_cast<const graph_type&>(g_);
-      return g.m_edges.size();
-    }
-    // O(E/V * E/V)
-    template <class Config>
-    inline void
-    clear_vertex(typename Config::vertex_descriptor u,
-                 undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      while (true) {
-        typename Config::out_edge_iterator ei, ei_end;
-        boost::tie(ei, ei_end) = out_edges(u, g);
-        if (ei == ei_end) break;
-        remove_edge(*ei, g);
-      }
-    }
-    // O(1) for allow_parallel_edge_tag
-    // O(log(E/V)) for disallow_parallel_edge_tag
-    template <class Config>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             const typename Config::edge_property_type& p,
-             undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::StoredEdge StoredEdge;
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-
-      bool inserted;
-      typename Config::EdgeContainer::value_type e(u, v, p);
-      typename Config::EdgeContainer::iterator p_iter
-        = graph_detail::push(g.m_edges, e).first;
-
-      typename Config::OutEdgeList::iterator i;
-      boost::tie(i, inserted) = boost::graph_detail::push(g.out_edge_list(u),
-                                    StoredEdge(v, p_iter, &g.m_edges));
-      if (inserted) {
-        boost::graph_detail::push(g.out_edge_list(v), StoredEdge(u, p_iter, &g.m_edges));
-        return std::make_pair(edge_descriptor(u, v, &p_iter->get_property()),
-                              true);
-      } else {
-        g.m_edges.erase(p_iter);
-        return std::make_pair
-          (edge_descriptor(u, v, &i->get_iter()->get_property()), false);
-      }
-    }
-    template <class Config>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             undirected_graph_helper<Config>& g_)
-    {
-      typename Config::edge_property_type p;
-      return add_edge(u, v, p, g_);
-    }
-
-    // O(1)
-    template <class Config>
-    inline typename Config::degree_size_type
-    degree(typename Config::vertex_descriptor u,
-           const undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type Graph;
-      const Graph& g = static_cast<const Graph&>(g_);
-      return out_degree(u, g);
-    }
-
-    template <class Config>
-    inline std::pair<typename Config::in_edge_iterator,
-                     typename Config::in_edge_iterator>
-    in_edges(typename Config::vertex_descriptor u,
-             const undirected_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type Graph;
-      const Graph& cg = static_cast<const Graph&>(g_);
-      Graph& g = const_cast<Graph&>(cg);
-      typedef typename Config::in_edge_iterator in_edge_iterator;
-      return
-        std::make_pair(in_edge_iterator(g.out_edge_list(u).begin(), u),
-                       in_edge_iterator(g.out_edge_list(u).end(), u));
-    }
-
-    template <class Config>
-    inline typename Config::degree_size_type
-    in_degree(typename Config::vertex_descriptor u,
-              const undirected_graph_helper<Config>& g_)
-    { return degree(u, g_); }
-
-    //=========================================================================
-    // Bidirectional Graph Helper Class
-
-    struct bidir_adj_list_traversal_tag :
-      public virtual vertex_list_graph_tag,
-      public virtual incidence_graph_tag,
-      public virtual adjacency_graph_tag,
-      public virtual edge_list_graph_tag,
-      public virtual bidirectional_graph_tag { };
-
-    template <class Config>
-    struct bidirectional_graph_helper
-      : public directed_edges_helper<Config> {
-      typedef bidir_adj_list_traversal_tag traversal_category;
-    };
-
-    // Had to make these non-members to avoid accidental instantiation
-    // on SGI MIPSpro C++
-    template <class C>
-    inline typename C::InEdgeList&
-    in_edge_list(bidirectional_graph_helper<C>&,
-                 typename C::vertex_descriptor v)
-    {
-      typename C::stored_vertex* sv = (typename C::stored_vertex*)v;
-      return sv->m_in_edges;
-    }
-    template <class C>
-    inline const typename C::InEdgeList&
-    in_edge_list(const bidirectional_graph_helper<C>&,
-                 typename C::vertex_descriptor v) {
-      typename C::stored_vertex* sv = (typename C::stored_vertex*)v;
-      return sv->m_in_edges;
-    }
-
-    template <class Predicate, class Config>
-    inline void
-    remove_edge_if(Predicate pred, bidirectional_graph_helper<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::edge_iterator ei, ei_end, next;
-      boost::tie(ei, ei_end) = edges(g);
-      for (next = ei; ei != ei_end; ei = next) {
-        ++next;
-        if (pred(*ei))
-          remove_edge(*ei, g);
-      }
-    }
-
-    template <class Config>
-    inline std::pair<typename Config::in_edge_iterator,
-                     typename Config::in_edge_iterator>
-    in_edges(typename Config::vertex_descriptor u,
-             const bidirectional_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      const graph_type& cg = static_cast<const graph_type&>(g_);
-      graph_type& g = const_cast<graph_type&>(cg);
-      typedef typename Config::in_edge_iterator in_edge_iterator;
-      return
-        std::make_pair(in_edge_iterator(in_edge_list(g, u).begin(), u),
-                       in_edge_iterator(in_edge_list(g, u).end(), u));
-    }
-
-    // O(1)
-    template <class Config>
-    inline std::pair<typename Config::edge_iterator,
-                     typename Config::edge_iterator>
-    edges(const bidirectional_graph_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_iterator edge_iterator;
-      const graph_type& cg = static_cast<const graph_type&>(g_);
-      graph_type& g = const_cast<graph_type&>(cg);
-      return std::make_pair( edge_iterator(g.m_edges.begin()),
-                             edge_iterator(g.m_edges.end()) );
-    }
-
-    //=========================================================================
-    // Bidirectional Graph Helper Class (with edge properties)
-
-
-    template <class Config>
-    struct bidirectional_graph_helper_with_property
-      : public bidirectional_graph_helper<Config>
-    {
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::out_edge_iterator out_edge_iterator;
-
-      std::pair<out_edge_iterator, out_edge_iterator>
-      get_parallel_edge_sublist(typename Config::edge_descriptor e,
-                                const graph_type& g,
-                                void*)
-      { return out_edges(source(e, g), g); }
-
-      std::pair<out_edge_iterator, out_edge_iterator>
-      get_parallel_edge_sublist(typename Config::edge_descriptor e,
-                                const graph_type& g,
-                                setS*)
-      { return edge_range(source(e, g), target(e, g), g); }
-
-      std::pair<out_edge_iterator, out_edge_iterator>
-      get_parallel_edge_sublist(typename Config::edge_descriptor e,
-                                const graph_type& g,
-                                multisetS*)
-      { return edge_range(source(e, g), target(e, g), g); }
-
-      std::pair<out_edge_iterator, out_edge_iterator>
-      get_parallel_edge_sublist(typename Config::edge_descriptor e,
-                                const graph_type& g,
-                                hash_setS*)
-      { return edge_range(source(e, g), target(e, g), g); }
-
-      // Placement of these overloaded remove_edge() functions
-      // inside the class avoids a VC++ bug.
-
-      // O(E/V) or O(log(E/V))
-      void
-      remove_edge(typename Config::edge_descriptor e)
-      {
-        typedef typename Config::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        graph_type& g = static_cast<graph_type&>(*this);
-
-        typedef typename Config::edgelist_selector OutEdgeListS;
-
-        std::pair<out_edge_iterator, out_edge_iterator> rng =
-          get_parallel_edge_sublist(e, g, (OutEdgeListS*)(0));
-        rng.first = std::find(rng.first, rng.second, e);
-        BOOST_ASSERT(rng.first != rng.second);
-        remove_edge(rng.first);
-      }
-
-      inline void
-      remove_edge(typename Config::out_edge_iterator iter)
-      {
-        typedef typename Config::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        typedef typename Config::graph_type graph_type;
-        graph_type& g = static_cast<graph_type&>(*this);
-        typename Config::edge_descriptor e = *iter;
-        typename Config::OutEdgeList& oel = g.out_edge_list(source(e, g));
-        typename Config::InEdgeList& iel = in_edge_list(g, target(e, g));
-        typedef typename Config::OutEdgeList::value_type::property_type PType;
-        PType& p = *(PType*)e.get_property();
-        detail::remove_directed_edge_dispatch(*iter, iel, p);
-        g.m_edges.erase(iter.base()->get_iter());
-        oel.erase(iter.base());
-      }
-    };
-
-    // O(E/V) for allow_parallel_edge_tag
-    // O(log(E/V)) for disallow_parallel_edge_tag
-    template <class Config>
-    inline void
-    remove_edge(typename Config::vertex_descriptor u,
-                typename Config::vertex_descriptor v,
-                bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typedef typename Config::edge_parallel_category Cat;
-      detail::remove_edge_and_property(g, g.out_edge_list(u), v, Cat());
-      detail::erase_from_incidence_list(in_edge_list(g, v), u, Cat());
-    }
-
-    // O(E/V) or O(log(E/V))
-    template <class EdgeOrIter, class Config>
-    inline void
-    remove_edge(EdgeOrIter e,
-                bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      g_.remove_edge(e);
-    }
-
-    template <class Config, class Predicate>
-    inline void
-    remove_out_edge_if(typename Config::vertex_descriptor u, Predicate pred,
-                       bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::OutEdgeList::value_type::property_type PropT;
-      graph_type& g = static_cast<graph_type&>(g_);
-
-      typedef typename Config::EdgeIter EdgeIter;
-      typedef std::vector<EdgeIter> Garbage;
-      Garbage garbage;
-
-      // First remove the edges from the targets' in-edge lists and
-      // from the graph's edge set list.
-      typename Config::out_edge_iterator out_i, out_end;
-      for (boost::tie(out_i, out_end) = out_edges(u, g); out_i != out_end; ++out_i)
-        if (pred(*out_i)) {
-          detail::remove_directed_edge_dispatch
-            (*out_i, in_edge_list(g, target(*out_i, g)),
-             *(PropT*)(*out_i).get_property());
-          // Put in garbage to delete later. Will need the properties
-          // for the remove_if of the out-edges.
-          garbage.push_back((*out_i.base()).get_iter());
-        }
-
-      // Now remove the edges from this out-edge list.
-      typename Config::out_edge_iterator first, last;
-      boost::tie(first, last) = out_edges(u, g);
-      typedef typename Config::edge_parallel_category Cat;
-      detail::remove_directed_edge_if_dispatch
-        (first, last, g.out_edge_list(u), pred, Cat());
-
-      // Now delete the edge properties from the g.m_edges list
-      for (typename Garbage::iterator i = garbage.begin();
-           i != garbage.end(); ++i)
-        g.m_edges.erase(*i);
-    }
-    template <class Config, class Predicate>
-    inline void
-    remove_in_edge_if(typename Config::vertex_descriptor v, Predicate pred,
-                      bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::OutEdgeList::value_type::property_type PropT;
-      graph_type& g = static_cast<graph_type&>(g_);
-
-      typedef typename Config::EdgeIter EdgeIter;
-      typedef std::vector<EdgeIter> Garbage;
-      Garbage garbage;
-
-      // First remove the edges from the sources' out-edge lists and
-      // from the graph's edge set list.
-      typename Config::in_edge_iterator in_i, in_end;
-      for (boost::tie(in_i, in_end) = in_edges(v, g); in_i != in_end; ++in_i)
-        if (pred(*in_i)) {
-          typename Config::vertex_descriptor u = source(*in_i, g);
-          detail::remove_directed_edge_dispatch
-            (*in_i, g.out_edge_list(u), *(PropT*)(*in_i).get_property());
-          // Put in garbage to delete later. Will need the properties
-          // for the remove_if of the out-edges.
-          garbage.push_back((*in_i.base()).get_iter());
-        }
-      // Now remove the edges from this in-edge list.
-      typename Config::in_edge_iterator first, last;
-      boost::tie(first, last) = in_edges(v, g);
-      typedef typename Config::edge_parallel_category Cat;
-      detail::remove_directed_edge_if_dispatch
-        (first, last, in_edge_list(g, v), pred, Cat());
-
-      // Now delete the edge properties from the g.m_edges list
-      for (typename Garbage::iterator i = garbage.begin();
-           i != garbage.end(); ++i)
-        g.m_edges.erase(*i);
-    }
-
-    // O(1)
-    template <class Config>
-    inline typename Config::edges_size_type
-    num_edges(const bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      const graph_type& g = static_cast<const graph_type&>(g_);
-      return g.m_edges.size();
-    }
-    // O(E/V * E/V) for allow_parallel_edge_tag
-    // O(E/V * log(E/V)) for disallow_parallel_edge_tag
-    template <class Config>
-    inline void
-    clear_vertex(typename Config::vertex_descriptor u,
-                 bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_parallel_category Cat;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::OutEdgeList& el = g.out_edge_list(u);
-      typename Config::OutEdgeList::iterator
-        ei = el.begin(), ei_end = el.end();
-      for (; ei != ei_end; ++ei) {
-        detail::erase_from_incidence_list
-          (in_edge_list(g, (*ei).get_target()), u, Cat());
-        g.m_edges.erase((*ei).get_iter());
-      }
-      typename Config::InEdgeList& in_el = in_edge_list(g, u);
-      typename Config::InEdgeList::iterator
-        in_ei = in_el.begin(), in_ei_end = in_el.end();
-      for (; in_ei != in_ei_end; ++in_ei) {
-        detail::erase_from_incidence_list
-          (g.out_edge_list((*in_ei).get_target()), u, Cat());
-        g.m_edges.erase((*in_ei).get_iter());
-      }
-      g.out_edge_list(u).clear();
-      in_edge_list(g, u).clear();
-    }
-
-    template <class Config>
-    inline void
-    clear_out_edges(typename Config::vertex_descriptor u,
-                    bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_parallel_category Cat;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::OutEdgeList& el = g.out_edge_list(u);
-      typename Config::OutEdgeList::iterator
-        ei = el.begin(), ei_end = el.end();
-      for (; ei != ei_end; ++ei) {
-        detail::erase_from_incidence_list
-          (in_edge_list(g, (*ei).get_target()), u, Cat());
-        g.m_edges.erase((*ei).get_iter());
-      }
-      g.out_edge_list(u).clear();
-    }
-
-    template <class Config>
-    inline void
-    clear_in_edges(typename Config::vertex_descriptor u,
-                   bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::global_edgelist_selector EdgeListS;
-      BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-      typedef typename Config::graph_type graph_type;
-      typedef typename Config::edge_parallel_category Cat;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typename Config::InEdgeList& in_el = in_edge_list(g, u);
-      typename Config::InEdgeList::iterator
-        in_ei = in_el.begin(), in_ei_end = in_el.end();
-      for (; in_ei != in_ei_end; ++in_ei) {
-        detail::erase_from_incidence_list
-          (g.out_edge_list((*in_ei).get_target()), u, Cat());
-        g.m_edges.erase((*in_ei).get_iter());
-      }
-      in_edge_list(g, u).clear();
-    }
-
-    // O(1) for allow_parallel_edge_tag
-    // O(log(E/V)) for disallow_parallel_edge_tag
-    template <class Config>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             const typename Config::edge_property_type& p,
-             bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      graph_type& g = static_cast<graph_type&>(g_);
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef typename Config::StoredEdge StoredEdge;
-      bool inserted;
-      typename Config::EdgeContainer::value_type e(u, v, p);
-      typename Config::EdgeContainer::iterator p_iter
-        = graph_detail::push(g.m_edges, e).first;
-      typename Config::OutEdgeList::iterator i;
-      boost::tie(i, inserted) = boost::graph_detail::push(g.out_edge_list(u),
-                                        StoredEdge(v, p_iter, &g.m_edges));
-      if (inserted) {
-        boost::graph_detail::push(in_edge_list(g, v), StoredEdge(u, p_iter, &g.m_edges));
-        return std::make_pair(edge_descriptor(u, v, &p_iter->m_property),
-                              true);
-      } else {
-        g.m_edges.erase(p_iter);
-        return std::make_pair(edge_descriptor(u, v,
-                                     &i->get_iter()->get_property()),
-                              false);
-      }
-    }
-
-    template <class Config>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typename Config::edge_property_type p;
-      return add_edge(u, v, p, g_);
-    }
-    // O(1)
-    template <class Config>
-    inline typename Config::degree_size_type
-    degree(typename Config::vertex_descriptor u,
-           const bidirectional_graph_helper_with_property<Config>& g_)
-    {
-      typedef typename Config::graph_type graph_type;
-      const graph_type& g = static_cast<const graph_type&>(g_);
-      return in_degree(u, g) + out_degree(u, g);
-    }
-
-    //=========================================================================
-    // Adjacency List Helper Class
-
-    template <class Config, class Base>
-    struct adj_list_helper : public Base
-    {
-      typedef typename Config::graph_type AdjList;
-      typedef typename Config::vertex_descriptor vertex_descriptor;
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef typename Config::out_edge_iterator out_edge_iterator;
-      typedef typename Config::in_edge_iterator in_edge_iterator;
-      typedef typename Config::adjacency_iterator adjacency_iterator;
-      typedef typename Config::inv_adjacency_iterator inv_adjacency_iterator;
-      typedef typename Config::vertex_iterator vertex_iterator;
-      typedef typename Config::edge_iterator edge_iterator;
-      typedef typename Config::directed_category directed_category;
-      typedef typename Config::edge_parallel_category edge_parallel_category;
-      typedef typename Config::vertices_size_type vertices_size_type;
-      typedef typename Config::edges_size_type edges_size_type;
-      typedef typename Config::degree_size_type degree_size_type;
-      typedef typename Config::StoredEdge StoredEdge;
-      typedef typename Config::vertex_property_type vertex_property_type;
-      typedef typename Config::edge_property_type edge_property_type;
-      typedef typename Config::graph_property_type graph_property_type;
-
-      typedef typename Config::global_edgelist_selector
-        global_edgelist_selector;
-
-      typedef typename lookup_one_property<vertex_property_type, vertex_bundle_t>::type vertex_bundled;
-      typedef typename lookup_one_property<edge_property_type, edge_bundle_t>::type edge_bundled;
-      typedef typename lookup_one_property<graph_property_type, graph_bundle_t>::type graph_bundled;
-    };
-
-    template <class Config, class Base>
-    inline std::pair<typename Config::adjacency_iterator,
-                     typename Config::adjacency_iterator>
-    adjacent_vertices(typename Config::vertex_descriptor u,
-                      const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type AdjList;
-      const AdjList& cg = static_cast<const AdjList&>(g_);
-      AdjList& g = const_cast<AdjList&>(cg);
-      typedef typename Config::adjacency_iterator adjacency_iterator;
-      typename Config::out_edge_iterator first, last;
-      boost::tie(first, last) = out_edges(u, g);
-      return std::make_pair(adjacency_iterator(first, &g),
-                            adjacency_iterator(last, &g));
-    }
-    template <class Config, class Base>
-    inline std::pair<typename Config::inv_adjacency_iterator,
-                     typename Config::inv_adjacency_iterator>
-    inv_adjacent_vertices(typename Config::vertex_descriptor u,
-                          const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type AdjList;
-      const AdjList& cg = static_cast<const AdjList&>(g_);
-      AdjList& g = const_cast<AdjList&>(cg);
-      typedef typename Config::inv_adjacency_iterator inv_adjacency_iterator;
-      typename Config::in_edge_iterator first, last;
-      boost::tie(first, last) = in_edges(u, g);
-      return std::make_pair(inv_adjacency_iterator(first, &g),
-                            inv_adjacency_iterator(last, &g));
-    }
-    template <class Config, class Base>
-    inline std::pair<typename Config::out_edge_iterator,
-                     typename Config::out_edge_iterator>
-    out_edges(typename Config::vertex_descriptor u,
-              const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type AdjList;
-      typedef typename Config::out_edge_iterator out_edge_iterator;
-      const AdjList& cg = static_cast<const AdjList&>(g_);
-      AdjList& g = const_cast<AdjList&>(cg);
-      return
-        std::make_pair(out_edge_iterator(g.out_edge_list(u).begin(), u),
-                       out_edge_iterator(g.out_edge_list(u).end(), u));
-    }
-    template <class Config, class Base>
-    inline std::pair<typename Config::vertex_iterator,
-                     typename Config::vertex_iterator>
-    vertices(const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type AdjList;
-      const AdjList& cg = static_cast<const AdjList&>(g_);
-      AdjList& g = const_cast<AdjList&>(cg);
-      return std::make_pair( g.vertex_set().begin(), g.vertex_set().end() );
-    }
-    template <class Config, class Base>
-    inline typename Config::vertices_size_type
-    num_vertices(const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type AdjList;
-      const AdjList& g = static_cast<const AdjList&>(g_);
-      return g.vertex_set().size();
-    }
-    template <class Config, class Base>
-    inline typename Config::degree_size_type
-    out_degree(typename Config::vertex_descriptor u,
-               const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type AdjList;
-      const AdjList& g = static_cast<const AdjList&>(g_);
-      return g.out_edge_list(u).size();
-    }
-    template <class Config, class Base>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    edge(typename Config::vertex_descriptor u,
-         typename Config::vertex_descriptor v,
-         const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type Graph;
-      typedef typename Config::StoredEdge StoredEdge;
-      const Graph& cg = static_cast<const Graph&>(g_);
-      const typename Config::OutEdgeList& el = cg.out_edge_list(u);
-      typename Config::OutEdgeList::const_iterator it = graph_detail::
-        find(el, StoredEdge(v));
-      return std::make_pair(
-               typename Config::edge_descriptor
-                     (u, v, (it == el.end() ? 0 : &(*it).get_property())),
-               (it != el.end()));
-    }
-
-    template <class Config, class Base>
-    inline std::pair<typename Config::out_edge_iterator,
-                     typename Config::out_edge_iterator>
-    edge_range(typename Config::vertex_descriptor u,
-               typename Config::vertex_descriptor v,
-               const adj_list_helper<Config, Base>& g_)
-    {
-      typedef typename Config::graph_type Graph;
-      typedef typename Config::StoredEdge StoredEdge;
-      const Graph& cg = static_cast<const Graph&>(g_);
-      Graph& g = const_cast<Graph&>(cg);
-      typedef typename Config::out_edge_iterator out_edge_iterator;
-      typename Config::OutEdgeList& el = g.out_edge_list(u);
-      typename Config::OutEdgeList::iterator first, last;
-      typename Config::EdgeContainer fake_edge_container;
-      boost::tie(first, last) = graph_detail::
-        equal_range(el, StoredEdge(v));
-      return std::make_pair(out_edge_iterator(first, u),
-                            out_edge_iterator(last, u));
-    }
-
-    template <class Config>
-    inline typename Config::degree_size_type
-    in_degree(typename Config::vertex_descriptor u,
-              const directed_edges_helper<Config>& g_)
-    {
-      typedef typename Config::graph_type Graph;
-      const Graph& cg = static_cast<const Graph&>(g_);
-      Graph& g = const_cast<Graph&>(cg);
-      return in_edge_list(g, u).size();
-    }
-
-    namespace detail {
-      template <class Config, class Base, class Property>
-      inline
-      typename boost::property_map<typename Config::graph_type,
-        Property>::type
-      get_dispatch(adj_list_helper<Config,Base>&, Property p,
-                   boost::edge_property_tag) {
-        typedef typename Config::graph_type Graph;
-        typedef typename boost::property_map<Graph, Property>::type PA;
-        return PA(p);
-      }
-      template <class Config, class Base, class Property>
-      inline
-      typename boost::property_map<typename Config::graph_type,
-        Property>::const_type
-      get_dispatch(const adj_list_helper<Config,Base>&, Property p,
-                   boost::edge_property_tag) {
-        typedef typename Config::graph_type Graph;
-        typedef typename boost::property_map<Graph, Property>::const_type PA;
-        return PA(p);
-      }
-
-      template <class Config, class Base, class Property>
-      inline
-      typename boost::property_map<typename Config::graph_type,
-        Property>::type
-      get_dispatch(adj_list_helper<Config,Base>& g, Property p,
-                   boost::vertex_property_tag) {
-        typedef typename Config::graph_type Graph;
-        typedef typename boost::property_map<Graph, Property>::type PA;
-        return PA(&static_cast<Graph&>(g), p);
-      }
-      template <class Config, class Base, class Property>
-      inline
-      typename boost::property_map<typename Config::graph_type,
-        Property>::const_type
-      get_dispatch(const adj_list_helper<Config, Base>& g, Property p,
-                   boost::vertex_property_tag) {
-        typedef typename Config::graph_type Graph;
-        typedef typename boost::property_map<Graph, Property>::const_type PA;
-        const Graph& cg = static_cast<const Graph&>(g);
-        return PA(&cg, p);
-      }
-
-    } // namespace detail
-
-    // Implementation of the PropertyGraph interface
-    template <class Config, class Base, class Property>
-    inline
-    typename boost::property_map<typename Config::graph_type, Property>::type
-    get(Property p, adj_list_helper<Config, Base>& g) {
-      typedef typename detail::property_kind_from_graph<adj_list_helper<Config, Base>, Property>::type Kind;
-      return detail::get_dispatch(g, p, Kind());
-    }
-    template <class Config, class Base, class Property>
-    inline
-    typename boost::property_map<typename Config::graph_type,
-      Property>::const_type
-    get(Property p, const adj_list_helper<Config, Base>& g) {
-      typedef typename detail::property_kind_from_graph<adj_list_helper<Config, Base>, Property>::type Kind;
-      return detail::get_dispatch(g, p, Kind());
-    }
-
-    template <class Config, class Base, class Property, class Key>
-    inline
-    typename boost::property_traits<
-      typename boost::property_map<typename Config::graph_type,
-        Property>::type
-    >::reference
-    get(Property p, adj_list_helper<Config, Base>& g, const Key& key) {
-      return get(get(p, g), key);
-    }
-
-    template <class Config, class Base, class Property, class Key>
-    inline
-    typename boost::property_traits<
-      typename boost::property_map<typename Config::graph_type,
-        Property>::const_type
-    >::reference
-    get(Property p, const adj_list_helper<Config, Base>& g, const Key& key) {
-      return get(get(p, g), key);
-    }
-
-    template <class Config, class Base, class Property, class Key,class Value>
-    inline void
-    put(Property p, adj_list_helper<Config, Base>& g,
-        const Key& key, const Value& value)
-    {
-      typedef typename Config::graph_type Graph;
-      typedef typename boost::property_map<Graph, Property>::type Map;
-      Map pmap = get(p, static_cast<Graph&>(g));
-      put(pmap, key, value);
-    }
-
-
-    //=========================================================================
-    // Generalize Adjacency List Implementation
-
-    struct adj_list_tag { };
-
-    template <class Derived, class Config, class Base>
-    class adj_list_impl
-      : public adj_list_helper<Config, Base>
-    {
-      typedef typename Config::OutEdgeList OutEdgeList;
-      typedef typename Config::InEdgeList InEdgeList;
-      typedef typename Config::StoredVertexList StoredVertexList;
-    public:
-      typedef typename Config::stored_vertex stored_vertex;
-      typedef typename Config::EdgeContainer EdgeContainer;
-      typedef typename Config::vertex_descriptor vertex_descriptor;
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef typename Config::vertex_iterator vertex_iterator;
-      typedef typename Config::edge_iterator edge_iterator;
-      typedef typename Config::edge_parallel_category edge_parallel_category;
-      typedef typename Config::vertices_size_type vertices_size_type;
-      typedef typename Config::edges_size_type edges_size_type;
-      typedef typename Config::degree_size_type degree_size_type;
-      typedef typename Config::edge_property_type edge_property_type;
-      typedef adj_list_tag graph_tag;
-
-      static vertex_descriptor null_vertex()
-      {
-        return 0;
-      }
-
-      inline adj_list_impl() { }
-
-      inline adj_list_impl(const adj_list_impl& x) {
-        copy_impl(x);
-      }
-      inline adj_list_impl& operator=(const adj_list_impl& x) {
-        this->clear();
-        copy_impl(x);
-        return *this;
-      }
-      inline void clear() {
-        for (typename StoredVertexList::iterator i = m_vertices.begin();
-             i != m_vertices.end(); ++i)
-          delete (stored_vertex*)*i;
-        m_vertices.clear();
-        m_edges.clear();
-      }
-      inline adj_list_impl(vertices_size_type num_vertices) {
-        for (vertices_size_type i = 0; i < num_vertices; ++i)
-          add_vertex(static_cast<Derived&>(*this));
-      }
-      template <class EdgeIterator>
-      inline adj_list_impl(vertices_size_type num_vertices,
-                           EdgeIterator first, EdgeIterator last)
-      {
-        vertex_descriptor* v = new vertex_descriptor[num_vertices];
-        for (vertices_size_type i = 0; i < num_vertices; ++i)
-          v[i] = add_vertex(static_cast<Derived&>(*this));
-
-        while (first != last) {
-          add_edge(v[(*first).first], v[(*first).second], *this);
-          ++first;
-        }
-        delete [] v;
-      }
-      template <class EdgeIterator, class EdgePropertyIterator>
-      inline adj_list_impl(vertices_size_type num_vertices,
-                           EdgeIterator first, EdgeIterator last,
-                           EdgePropertyIterator ep_iter)
-      {
-        vertex_descriptor* v = new vertex_descriptor[num_vertices];
-        for (vertices_size_type i = 0; i < num_vertices; ++i)
-          v[i] = add_vertex(static_cast<Derived&>(*this));
-
-        while (first != last) {
-          add_edge(v[(*first).first], v[(*first).second], *ep_iter, *this);
-          ++first;
-          ++ep_iter;
-        }
-        delete [] v;
-      }
-      ~adj_list_impl() {
-        for (typename StoredVertexList::iterator i = m_vertices.begin();
-             i != m_vertices.end(); ++i)
-          delete (stored_vertex*)*i;
-      }
-      //    protected:
-      inline OutEdgeList& out_edge_list(vertex_descriptor v) {
-        stored_vertex* sv = (stored_vertex*)v;
-        return sv->m_out_edges;
-      }
-      inline const OutEdgeList& out_edge_list(vertex_descriptor v) const {
-        stored_vertex* sv = (stored_vertex*)v;
-        return sv->m_out_edges;
-      }
-      inline StoredVertexList& vertex_set() { return m_vertices; }
-      inline const StoredVertexList& vertex_set() const { return m_vertices; }
-
-      inline void copy_impl(const adj_list_impl& x_)
-      {
-        const Derived& x = static_cast<const Derived&>(x_);
-
-        // Would be better to have a constant time way to get from
-        // vertices in x to the corresponding vertices in *this.
-        std::map<stored_vertex*,stored_vertex*> vertex_map;
-
-        // Copy the stored vertex objects by adding each vertex
-        // and copying its property object.
-        vertex_iterator vi, vi_end;
-        for (boost::tie(vi, vi_end) = vertices(x); vi != vi_end; ++vi) {
-          stored_vertex* v = (stored_vertex*)add_vertex(*this);
-          v->m_property = ((stored_vertex*)*vi)->m_property;
-          vertex_map[(stored_vertex*)*vi] = v;
-        }
-        // Copy the edges by adding each edge and copying its
-        // property object.
-        edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = edges(x); ei != ei_end; ++ei) {
-          edge_descriptor e;
-          bool inserted;
-          vertex_descriptor s = source(*ei,x), t = target(*ei,x);
-          boost::tie(e, inserted) = add_edge(vertex_map[(stored_vertex*)s],
-                                             vertex_map[(stored_vertex*)t], *this);
-          *((edge_property_type*)e.m_eproperty)
-            = *((edge_property_type*)(*ei).m_eproperty);
-        }
-      }
-
-
-      typename Config::EdgeContainer m_edges;
-      StoredVertexList m_vertices;
-    };
-
-    // O(1)
-    template <class Derived, class Config, class Base>
-    inline typename Config::vertex_descriptor
-    add_vertex(adj_list_impl<Derived, Config, Base>& g_)
-    {
-      Derived& g = static_cast<Derived&>(g_);
-      typedef typename Config::stored_vertex stored_vertex;
-      stored_vertex* v = new stored_vertex;
-      typename Config::StoredVertexList::iterator pos;
-      bool inserted;
-      boost::tie(pos,inserted) = boost::graph_detail::push(g.m_vertices, v);
-      v->m_position = pos;
-      g.added_vertex(v);
-      return v;
-    }
-    // O(1)
-    template <class Derived, class Config, class Base>
-    inline typename Config::vertex_descriptor
-    add_vertex(const typename Config::vertex_property_type& p,
-               adj_list_impl<Derived, Config, Base>& g_)
-    {
-      typedef typename Config::vertex_descriptor vertex_descriptor;
-      Derived& g = static_cast<Derived&>(g_);
-      if (optional<vertex_descriptor> v
-            = g.vertex_by_property(get_property_value(p, vertex_bundle)))
-        return *v;
-
-      typedef typename Config::stored_vertex stored_vertex;
-      stored_vertex* v = new stored_vertex(p);
-      typename Config::StoredVertexList::iterator pos;
-      bool inserted;
-      boost::tie(pos,inserted) = boost::graph_detail::push(g.m_vertices, v);
-      v->m_position = pos;
-      g.added_vertex(v);
-      return v;
-    }
-    // O(1)
-    template <class Derived, class Config, class Base>
-    inline void remove_vertex(typename Config::vertex_descriptor u,
-                              adj_list_impl<Derived, Config, Base>& g_)
-    {
-      typedef typename Config::stored_vertex stored_vertex;
-      Derived& g = static_cast<Derived&>(g_);
-      g.removing_vertex(u, boost::graph_detail::iterator_stability(g_.m_vertices));
-      stored_vertex* su = (stored_vertex*)u;
-      g.m_vertices.erase(su->m_position);
-      delete su;
-    }
-    // O(V)
-    template <class Derived, class Config, class Base>
-    inline typename Config::vertex_descriptor
-    vertex(typename Config::vertices_size_type n,
-           const adj_list_impl<Derived, Config, Base>& g_)
-    {
-      const Derived& g = static_cast<const Derived&>(g_);
-      typename Config::vertex_iterator i = vertices(g).first;
-      while (n--) ++i; // std::advance(i, n); (not VC++ portable)
-      return *i;
-    }
-
-    //=========================================================================
-    // Vector-Backbone Adjacency List Implementation
-
-    namespace detail {
-
-      template <class Graph, class vertex_descriptor>
-      inline void
-      remove_vertex_dispatch(Graph& g, vertex_descriptor u,
-                             boost::directed_tag)
-      {
-        typedef typename Graph::edge_parallel_category edge_parallel_category;
-        g.m_vertices.erase(g.m_vertices.begin() + u);
-        vertex_descriptor V = num_vertices(g);
-        if (u != V) {
-          for (vertex_descriptor v = 0; v < V; ++v)
-            reindex_edge_list(g.out_edge_list(v), u, edge_parallel_category());
-        }
-      }
-
-      template <class Graph, class vertex_descriptor>
-      inline void
-      remove_vertex_dispatch(Graph& g, vertex_descriptor u,
-                             boost::undirected_tag)
-      {
-        typedef typename Graph::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        typedef typename Graph::edge_parallel_category edge_parallel_category;
-        g.m_vertices.erase(g.m_vertices.begin() + u);
-        vertex_descriptor V = num_vertices(g);
-        for (vertex_descriptor v = 0; v < V; ++v)
-          reindex_edge_list(g.out_edge_list(v), u,
-                            edge_parallel_category());
-        typedef typename Graph::EdgeContainer Container;
-        typedef typename Container::iterator Iter;
-        Iter ei = g.m_edges.begin(), ei_end = g.m_edges.end();
-        for (; ei != ei_end; ++ei) {
-          if (ei->m_source > u)
-            --ei->m_source;
-          if (ei->m_target > u)
-            --ei->m_target;
-        }
-      }
-      template <class Graph, class vertex_descriptor>
-      inline void
-      remove_vertex_dispatch(Graph& g, vertex_descriptor u,
-                             boost::bidirectional_tag)
-      {
-        typedef typename Graph::global_edgelist_selector EdgeListS;
-        BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
-
-        typedef typename Graph::edge_parallel_category edge_parallel_category;
-        g.m_vertices.erase(g.m_vertices.begin() + u);
-        vertex_descriptor V = num_vertices(g);
-        vertex_descriptor v;
-        if (u != V) {
-          for (v = 0; v < V; ++v)
-            reindex_edge_list(g.out_edge_list(v), u,
-                              edge_parallel_category());
-          for (v = 0; v < V; ++v)
-            reindex_edge_list(in_edge_list(g, v), u,
-                              edge_parallel_category());
-
-          typedef typename Graph::EdgeContainer Container;
-          typedef typename Container::iterator Iter;
-          Iter ei = g.m_edges.begin(), ei_end = g.m_edges.end();
-          for (; ei != ei_end; ++ei) {
-            if (ei->m_source > u)
-              --ei->m_source;
-            if (ei->m_target > u)
-              --ei->m_target;
-          }
-        }
-      }
-
-      template <class EdgeList, class vertex_descriptor>
-      inline void
-      reindex_edge_list(EdgeList& el, vertex_descriptor u,
-                        boost::allow_parallel_edge_tag)
-      {
-        typename EdgeList::iterator ei = el.begin(), e_end = el.end();
-        for (; ei != e_end; ++ei)
-          if ((*ei).get_target() > u)
-            --(*ei).get_target();
-      }
-      template <class EdgeList, class vertex_descriptor>
-      inline void
-      reindex_edge_list(EdgeList& el, vertex_descriptor u,
-                        boost::disallow_parallel_edge_tag)
-      {
-        typename EdgeList::iterator ei = el.begin(), e_end = el.end();
-        while (ei != e_end) {
-          typename EdgeList::value_type ce = *ei;
-          ++ei;
-          if (ce.get_target() > u) {
-            el.erase(ce);
-            --ce.get_target();
-            el.insert(ce);
-          }
-        }
-      }
-    } // namespace detail
-
-    struct vec_adj_list_tag { };
-
-    template <class Graph, class Config, class Base>
-    class vec_adj_list_impl
-      : public adj_list_helper<Config, Base>
-    {
-      typedef typename Config::OutEdgeList OutEdgeList;
-      typedef typename Config::InEdgeList InEdgeList;
-      typedef typename Config::StoredVertexList StoredVertexList;
-    public:
-      typedef typename Config::vertex_descriptor vertex_descriptor;
-      typedef typename Config::edge_descriptor edge_descriptor;
-      typedef typename Config::out_edge_iterator out_edge_iterator;
-      typedef typename Config::edge_iterator edge_iterator;
-      typedef typename Config::directed_category directed_category;
-      typedef typename Config::vertices_size_type vertices_size_type;
-      typedef typename Config::edges_size_type edges_size_type;
-      typedef typename Config::degree_size_type degree_size_type;
-      typedef typename Config::StoredEdge StoredEdge;
-      typedef typename Config::stored_vertex stored_vertex;
-      typedef typename Config::EdgeContainer EdgeContainer;
-      typedef typename Config::edge_property_type edge_property_type;
-      typedef vec_adj_list_tag graph_tag;
-
-      static vertex_descriptor null_vertex()
-      {
-        return (std::numeric_limits<vertex_descriptor>::max)();
-      }
-
-      inline vec_adj_list_impl() { }
-
-      inline vec_adj_list_impl(const vec_adj_list_impl& x) {
-        copy_impl(x);
-      }
-      inline vec_adj_list_impl& operator=(const vec_adj_list_impl& x) {
-        this->clear();
-        copy_impl(x);
-        return *this;
-      }
-      inline void clear() {
-        m_vertices.clear();
-        m_edges.clear();
-      }
-
-      inline vec_adj_list_impl(vertices_size_type _num_vertices)
-        : m_vertices(_num_vertices) { }
-
-      template <class EdgeIterator>
-      inline vec_adj_list_impl(vertices_size_type num_vertices,
-                               EdgeIterator first, EdgeIterator last)
-        : m_vertices(num_vertices)
-      {
-        while (first != last) {
-          add_edge((*first).first, (*first).second,
-                   static_cast<Graph&>(*this));
-          ++first;
-        }
-      }
-      template <class EdgeIterator, class EdgePropertyIterator>
-      inline vec_adj_list_impl(vertices_size_type num_vertices,
-                               EdgeIterator first, EdgeIterator last,
-                               EdgePropertyIterator ep_iter)
-        : m_vertices(num_vertices)
-      {
-        while (first != last) {
-          add_edge((*first).first, (*first).second, *ep_iter,
-                   static_cast<Graph&>(*this));
-          ++first;
-          ++ep_iter;
-        }
-      }
-
-      //    protected:
-      inline boost::integer_range<vertex_descriptor> vertex_set() const {
-        return boost::integer_range<vertex_descriptor>(0, m_vertices.size());
-      }
-      inline OutEdgeList& out_edge_list(vertex_descriptor v) {
-        return m_vertices[v].m_out_edges;
-      }
-      inline const OutEdgeList& out_edge_list(vertex_descriptor v) const {
-        return m_vertices[v].m_out_edges;
-      }
-      inline void copy_impl(const vec_adj_list_impl& x_)
-      {
-        const Graph& x = static_cast<const Graph&>(x_);
-        // Copy the stored vertex objects by adding each vertex
-        // and copying its property object.
-        for (vertices_size_type i = 0; i < num_vertices(x); ++i) {
-          vertex_descriptor v = add_vertex(*this);
-          m_vertices[v].m_property = x.m_vertices[i].m_property;
-        }
-        // Copy the edges by adding each edge and copying its
-        // property object.
-        edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = edges(x); ei != ei_end; ++ei) {
-          edge_descriptor e;
-          bool inserted;
-          boost::tie(e, inserted) = add_edge(source(*ei,x), target(*ei,x) , *this);
-          *((edge_property_type*)e.m_eproperty)
-            = *((edge_property_type*)(*ei).m_eproperty);
-        }
-      }
-      typename Config::EdgeContainer m_edges;
-      StoredVertexList m_vertices;
-    };
-    // Had to make these non-members to avoid accidental instantiation
-    // on SGI MIPSpro C++
-    template <class G, class C, class B>
-    inline typename C::InEdgeList&
-    in_edge_list(vec_adj_list_impl<G,C,B>& g,
-                 typename C::vertex_descriptor v) {
-      return g.m_vertices[v].m_in_edges;
-    }
-    template <class G, class C, class B>
-    inline const typename C::InEdgeList&
-    in_edge_list(const vec_adj_list_impl<G,C,B>& g,
-                 typename C::vertex_descriptor v) {
-      return g.m_vertices[v].m_in_edges;
-    }
-
-      // O(1)
-    template <class Graph, class Config, class Base>
-    inline typename Config::vertex_descriptor
-    add_vertex(vec_adj_list_impl<Graph, Config, Base>& g_) {
-      Graph& g = static_cast<Graph&>(g_);
-      g.m_vertices.resize(g.m_vertices.size() + 1);
-      g.added_vertex(g.m_vertices.size() - 1);
-      return g.m_vertices.size() - 1;
-    }
-
-    template <class Graph, class Config, class Base>
-    inline typename Config::vertex_descriptor
-    add_vertex(const typename Config::vertex_property_type& p,
-               vec_adj_list_impl<Graph, Config, Base>& g_) {
-      typedef typename Config::vertex_descriptor vertex_descriptor;
-      Graph& g = static_cast<Graph&>(g_);
-      if (optional<vertex_descriptor> v
-            = g.vertex_by_property(get_property_value(p, vertex_bundle)))
-        return *v;
-      typedef typename Config::stored_vertex stored_vertex;
-      g.m_vertices.push_back(stored_vertex(p));
-      g.added_vertex(g.m_vertices.size() - 1);
-      return g.m_vertices.size() - 1;
-    }
-
-    // Here we override the directed_graph_helper add_edge() function
-    // so that the number of vertices is automatically changed if
-    // either u or v is greater than the number of vertices.
-    template <class Graph, class Config, class Base>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             const typename Config::edge_property_type& p,
-             vec_adj_list_impl<Graph, Config, Base>& g_)
-    {
-      BOOST_USING_STD_MAX();
-      typename Config::vertex_descriptor x = max BOOST_PREVENT_MACRO_SUBSTITUTION(u, v);
-      if (x >= num_vertices(g_))
-        g_.m_vertices.resize(x + 1);
-      adj_list_helper<Config, Base>& g = g_;
-      return add_edge(u, v, p, g);
-    }
-    template <class Graph, class Config, class Base>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_edge(typename Config::vertex_descriptor u,
-             typename Config::vertex_descriptor v,
-             vec_adj_list_impl<Graph, Config, Base>& g_)
-    {
-      typename Config::edge_property_type p;
-      return add_edge(u, v, p, g_);
-    }
-
-
-    // O(V + E)
-    template <class Graph, class Config, class Base>
-    inline void remove_vertex(typename Config::vertex_descriptor v,
-                              vec_adj_list_impl<Graph, Config, Base>& g_)
-    {
-      typedef typename Config::directed_category Cat;
-      Graph& g = static_cast<Graph&>(g_);
-      g.removing_vertex(v, boost::graph_detail::iterator_stability(g_.m_vertices));
-      detail::remove_vertex_dispatch(g, v, Cat());
-    }
-    // O(1)
-    template <class Graph, class Config, class Base>
-    inline typename Config::vertex_descriptor
-    vertex(typename Config::vertices_size_type n,
-           const vec_adj_list_impl<Graph, Config, Base>&)
-    {
-      return n;
-    }
-
-
-  namespace detail {
-
-    //=========================================================================
-    // Adjacency List Generator
-
-    template <class Graph, class VertexListS, class OutEdgeListS,
-              class DirectedS, class VertexProperty, class EdgeProperty,
-              class GraphProperty, class EdgeListS>
-    struct adj_list_gen
-    {
-      typedef typename detail::is_random_access<VertexListS>::type
-        is_rand_access;
-      typedef typename has_property<EdgeProperty>::type has_edge_property;
-      typedef typename DirectedS::is_directed_t DirectedT;
-      typedef typename DirectedS::is_bidir_t BidirectionalT;
-
-      struct config
-      {
-        typedef OutEdgeListS edgelist_selector;
-        typedef EdgeListS global_edgelist_selector;
-
-        typedef Graph graph_type;
-        typedef EdgeProperty edge_property_type;
-        typedef VertexProperty vertex_property_type;
-        typedef GraphProperty graph_property_type;
-        typedef std::size_t vertices_size_type;
-
-        typedef adjacency_list_traits<OutEdgeListS, VertexListS, DirectedS>
-           Traits;
-
-        typedef typename Traits::directed_category directed_category;
-        typedef typename Traits::edge_parallel_category edge_parallel_category;
-        typedef typename Traits::vertex_descriptor vertex_descriptor;
-        typedef typename Traits::edge_descriptor edge_descriptor;
-
-        typedef void* vertex_ptr;
-
-        // need to reorganize this to avoid instantiating stuff
-        // that doesn't get used -JGS
-
-        // VertexList and vertex_iterator
-        typedef typename container_gen<VertexListS,
-          vertex_ptr>::type SeqVertexList;
-        typedef boost::integer_range<vertex_descriptor> RandVertexList;
-        typedef typename mpl::if_<is_rand_access,
-          RandVertexList, SeqVertexList>::type VertexList;
-
-        typedef typename VertexList::iterator vertex_iterator;
-
-        // EdgeContainer and StoredEdge
-
-        typedef typename container_gen<EdgeListS,
-          list_edge<vertex_descriptor, EdgeProperty> >::type EdgeContainer;
-
-        typedef typename mpl::and_<DirectedT,
-             typename mpl::not_<BidirectionalT>::type >::type on_edge_storage;
-
-        typedef typename mpl::if_<on_edge_storage,
-          std::size_t, typename EdgeContainer::size_type
-        >::type edges_size_type;
-
-        typedef typename EdgeContainer::iterator EdgeIter;
-
-        typedef typename detail::is_random_access<EdgeListS>::type is_edge_ra;
-
-        typedef typename mpl::if_<on_edge_storage,
-          stored_edge_property<vertex_descriptor, EdgeProperty>,
-          typename mpl::if_<is_edge_ra,
-            stored_ra_edge_iter<vertex_descriptor, EdgeContainer, EdgeProperty>,
-            stored_edge_iter<vertex_descriptor, EdgeIter, EdgeProperty>
-          >::type
-        >::type StoredEdge;
-
-        // Adjacency Types
-
-        typedef typename container_gen<OutEdgeListS, StoredEdge>::type
-          OutEdgeList;
-        typedef typename OutEdgeList::size_type degree_size_type;
-        typedef typename OutEdgeList::iterator OutEdgeIter;
-
-        typedef boost::detail::iterator_traits<OutEdgeIter> OutEdgeIterTraits;
-        typedef typename OutEdgeIterTraits::iterator_category OutEdgeIterCat;
-        typedef typename OutEdgeIterTraits::difference_type OutEdgeIterDiff;
-
-        typedef out_edge_iter<
-            OutEdgeIter, vertex_descriptor, edge_descriptor, OutEdgeIterDiff
-        > out_edge_iterator;
-
-        typedef typename adjacency_iterator_generator<graph_type,
-           vertex_descriptor, out_edge_iterator>::type adjacency_iterator;
-
-        typedef OutEdgeList InEdgeList;
-        typedef OutEdgeIter InEdgeIter;
-        typedef OutEdgeIterCat InEdgeIterCat;
-        typedef OutEdgeIterDiff InEdgeIterDiff;
-
-        typedef in_edge_iter<
-            InEdgeIter, vertex_descriptor, edge_descriptor, InEdgeIterDiff
-        > in_edge_iterator;
-
-        typedef typename inv_adjacency_iterator_generator<graph_type,
-           vertex_descriptor, in_edge_iterator>::type inv_adjacency_iterator;
-
-        // Edge Iterator
-
-        typedef boost::detail::iterator_traits<EdgeIter> EdgeIterTraits;
-        typedef typename EdgeIterTraits::iterator_category EdgeIterCat;
-        typedef typename EdgeIterTraits::difference_type EdgeIterDiff;
-
-        typedef undirected_edge_iter<
-            EdgeIter
-          , edge_descriptor
-          , EdgeIterDiff
-        > UndirectedEdgeIter; // also used for bidirectional
-
-        typedef adj_list_edge_iterator<vertex_iterator, out_edge_iterator,
-           graph_type> DirectedEdgeIter;
-
-        typedef typename mpl::if_<on_edge_storage,
-          DirectedEdgeIter, UndirectedEdgeIter>::type edge_iterator;
-
-        // stored_vertex and StoredVertexList
-        typedef typename container_gen<VertexListS, vertex_ptr>::type
-          SeqStoredVertexList;
-        struct seq_stored_vertex {
-          seq_stored_vertex() { }
-          seq_stored_vertex(const VertexProperty& p) : m_property(p) { }
-          OutEdgeList m_out_edges;
-          VertexProperty m_property;
-          typename SeqStoredVertexList::iterator m_position;
-        };
-        struct bidir_seq_stored_vertex {
-          bidir_seq_stored_vertex() { }
-          bidir_seq_stored_vertex(const VertexProperty& p) : m_property(p) { }
-          OutEdgeList m_out_edges;
-          InEdgeList m_in_edges;
-          VertexProperty m_property;
-          typename SeqStoredVertexList::iterator m_position;
-        };
-        struct rand_stored_vertex {
-          rand_stored_vertex() { }
-          rand_stored_vertex(const VertexProperty& p) : m_property(p) { }
-          OutEdgeList m_out_edges;
-          VertexProperty m_property;
-        };
-        struct bidir_rand_stored_vertex {
-          bidir_rand_stored_vertex() { }
-          bidir_rand_stored_vertex(const VertexProperty& p) : m_property(p) { }
-          OutEdgeList m_out_edges;
-          InEdgeList m_in_edges;
-          VertexProperty m_property;
-        };
-        typedef typename mpl::if_<is_rand_access,
-          typename mpl::if_<BidirectionalT,
-            bidir_rand_stored_vertex, rand_stored_vertex>::type,
-          typename mpl::if_<BidirectionalT,
-            bidir_seq_stored_vertex, seq_stored_vertex>::type
-        >::type StoredVertex;
-        struct stored_vertex : public StoredVertex {
-          stored_vertex() { }
-          stored_vertex(const VertexProperty& p) : StoredVertex(p) { }
-        };
-
-        typedef typename container_gen<VertexListS, stored_vertex>::type
-          RandStoredVertexList;
-        typedef typename mpl::if_< is_rand_access,
-          RandStoredVertexList, SeqStoredVertexList>::type StoredVertexList;
-      }; // end of config
-
-
-      typedef typename mpl::if_<BidirectionalT,
-        bidirectional_graph_helper_with_property<config>,
-        typename mpl::if_<DirectedT,
-          directed_graph_helper<config>,
-          undirected_graph_helper<config>
-        >::type
-      >::type DirectedHelper;
-
-      typedef typename mpl::if_<is_rand_access,
-        vec_adj_list_impl<Graph, config, DirectedHelper>,
-        adj_list_impl<Graph, config, DirectedHelper>
-      >::type type;
-
-    };
-
-  } // namespace detail
-
-    //=========================================================================
-    // Vertex Property Maps
-
-    template <class Graph, class ValueType, class Reference, class Tag>
-    struct adj_list_vertex_property_map
-      : public boost::put_get_helper<
-          Reference,
-          adj_list_vertex_property_map<Graph, ValueType, Reference, Tag>
-        >
-    {
-      typedef typename Graph::stored_vertex StoredVertex;
-      typedef ValueType value_type;
-      typedef Reference reference;
-      typedef typename Graph::vertex_descriptor key_type;
-      typedef boost::lvalue_property_map_tag category;
-      inline adj_list_vertex_property_map(const Graph* = 0, Tag tag = Tag()): m_tag(tag) { }
-      inline Reference operator[](key_type v) const {
-        StoredVertex* sv = (StoredVertex*)v;
-        return get_property_value(sv->m_property, m_tag);
-      }
-      inline Reference operator()(key_type v) const {
-        return this->operator[](v);
-      }
-      Tag m_tag;
-    };
-
-    template <class Graph, class Property, class PropRef>
-    struct adj_list_vertex_all_properties_map
-      : public boost::put_get_helper<PropRef,
-          adj_list_vertex_all_properties_map<Graph, Property, PropRef>
-        >
-    {
-      typedef typename Graph::stored_vertex StoredVertex;
-      typedef Property value_type;
-      typedef PropRef reference;
-      typedef typename Graph::vertex_descriptor key_type;
-      typedef boost::lvalue_property_map_tag category;
-      inline adj_list_vertex_all_properties_map(const Graph* = 0, vertex_all_t = vertex_all_t()) { }
-      inline PropRef operator[](key_type v) const {
-        StoredVertex* sv = (StoredVertex*)v;
-        return sv->m_property;
-      }
-      inline PropRef operator()(key_type v) const {
-        return this->operator[](v);
-      }
-    };
-
-    template <class Graph, class GraphPtr, class ValueType, class Reference,
-              class Tag>
-    struct vec_adj_list_vertex_property_map
-      : public boost::put_get_helper<
-          Reference,
-          vec_adj_list_vertex_property_map<Graph,GraphPtr,ValueType,Reference,
-             Tag>
-        >
-    {
-      typedef ValueType value_type;
-      typedef Reference reference;
-      typedef typename boost::graph_traits<Graph>::vertex_descriptor key_type;
-      typedef boost::lvalue_property_map_tag category;
-      vec_adj_list_vertex_property_map(GraphPtr g = 0, Tag tag = Tag()) : m_g(g), m_tag(tag) { }
-      inline Reference operator[](key_type v) const {
-        return get_property_value(m_g->m_vertices[v].m_property, m_tag);
-      }
-      inline Reference operator()(key_type v) const {
-        return this->operator[](v);
-      }
-      GraphPtr m_g;
-      Tag m_tag;
-    };
-
-    template <class Graph, class GraphPtr, class Property, class PropertyRef>
-    struct vec_adj_list_vertex_all_properties_map
-      : public boost::put_get_helper<PropertyRef,
-          vec_adj_list_vertex_all_properties_map<Graph,GraphPtr,Property,
-            PropertyRef>
-        >
-    {
-      typedef Property value_type;
-      typedef PropertyRef reference;
-      typedef typename boost::graph_traits<Graph>::vertex_descriptor key_type;
-      typedef boost::lvalue_property_map_tag category;
-      vec_adj_list_vertex_all_properties_map(GraphPtr g = 0, vertex_all_t = vertex_all_t()) : m_g(g) { }
-      inline PropertyRef operator[](key_type v) const {
-        return m_g->m_vertices[v].m_property;
-      }
-      inline PropertyRef operator()(key_type v) const {
-        return this->operator[](v);
-      }
-      GraphPtr m_g;
-    };
-
-    struct adj_list_any_vertex_pa {
-      template <class Tag, class Graph, class Property>
-      struct bind_ {
-        typedef typename property_value<Property, Tag>::type value_type;
-        typedef value_type& reference;
-        typedef const value_type& const_reference;
-
-        typedef adj_list_vertex_property_map
-          <Graph, value_type, reference, Tag> type;
-        typedef adj_list_vertex_property_map
-          <Graph, value_type, const_reference, Tag> const_type;
-      };
-    };
-    struct adj_list_all_vertex_pa {
-      template <class Tag, class Graph, class Property>
-      struct bind_ {
-        typedef typename Graph::vertex_descriptor Vertex;
-        typedef adj_list_vertex_all_properties_map<Graph,Property,
-          Property&> type;
-        typedef adj_list_vertex_all_properties_map<Graph,Property,
-          const Property&> const_type;
-      };
-    };
-
-    template <class Property, class Vertex>
-    struct vec_adj_list_vertex_id_map
-      : public boost::put_get_helper<
-          Vertex, vec_adj_list_vertex_id_map<Property, Vertex>
-        >
-    {
-      typedef Vertex value_type;
-      typedef Vertex key_type;
-      typedef Vertex reference;
-      typedef boost::readable_property_map_tag category;
-      inline vec_adj_list_vertex_id_map() { }
-      template <class Graph>
-      inline vec_adj_list_vertex_id_map(const Graph&, vertex_index_t) { }
-      inline value_type operator[](key_type v) const { return v; }
-      inline value_type operator()(key_type v) const { return v; }
-    };
-
-    struct vec_adj_list_any_vertex_pa {
-      template <class Tag, class Graph, class Property>
-      struct bind_ {
-        typedef typename property_value<Property, Tag>::type value_type;
-        typedef value_type& reference;
-        typedef const value_type& const_reference;
-
-        typedef vec_adj_list_vertex_property_map
-          <Graph, Graph*, value_type, reference, Tag> type;
-        typedef vec_adj_list_vertex_property_map
-          <Graph, const Graph*, value_type, const_reference, Tag> const_type;
-      };
-    };
-    struct vec_adj_list_id_vertex_pa {
-      template <class Tag, class Graph, class Property>
-      struct bind_ {
-        typedef typename Graph::vertex_descriptor Vertex;
-        typedef vec_adj_list_vertex_id_map<Property, Vertex> type;
-        typedef vec_adj_list_vertex_id_map<Property, Vertex> const_type;
-      };
-    };
-    struct vec_adj_list_all_vertex_pa {
-      template <class Tag, class Graph, class Property>
-      struct bind_ {
-        typedef typename Graph::vertex_descriptor Vertex;
-        typedef vec_adj_list_vertex_all_properties_map
-          <Graph, Graph*, Property, Property&> type;
-        typedef vec_adj_list_vertex_all_properties_map
-          <Graph, const Graph*, Property, const Property&> const_type;
-      };
-    };
-  namespace detail {
-    template <class Tag, class Graph, class Property>
-    struct adj_list_choose_vertex_pa
-      : boost::mpl::if_<
-          boost::is_same<Tag, vertex_all_t>,
-          adj_list_all_vertex_pa,
-          adj_list_any_vertex_pa>::type
-        ::template bind_<Tag, Graph, Property>
-    {};
-
-
-    template <class Tag>
-    struct vec_adj_list_choose_vertex_pa_helper {
-      typedef vec_adj_list_any_vertex_pa type;
-    };
-    template <>
-    struct vec_adj_list_choose_vertex_pa_helper<vertex_index_t> {
-      typedef vec_adj_list_id_vertex_pa type;
-    };
-    template <>
-    struct vec_adj_list_choose_vertex_pa_helper<vertex_all_t> {
-      typedef vec_adj_list_all_vertex_pa type;
-    };
-    template <class Tag, class Graph, class Property>
-    struct vec_adj_list_choose_vertex_pa
-      : vec_adj_list_choose_vertex_pa_helper<Tag>::type::template bind_<Tag,Graph,Property>
-    {};
-  } // namespace detail
-
-    //=========================================================================
-    // Edge Property Map
-
-    template <class Directed, class Value, class Ref, class Vertex,
-              class Property, class Tag>
-    struct adj_list_edge_property_map
-      : public put_get_helper<
-          Ref,
-          adj_list_edge_property_map<Directed, Value, Ref, Vertex, Property,
-            Tag>
-        >
-    {
-      Tag tag;
-      explicit adj_list_edge_property_map(Tag tag = Tag()): tag(tag) {}
-
-      typedef Value value_type;
-      typedef Ref reference;
-      typedef detail::edge_desc_impl<Directed, Vertex> key_type;
-      typedef boost::lvalue_property_map_tag category;
-      inline Ref operator[](key_type e) const {
-        Property& p = *(Property*)e.get_property();
-        return get_property_value(p, tag);
-      }
-      inline Ref operator()(key_type e) const {
-        return this->operator[](e);
-      }
-    };
-
-    template <class Directed, class Property, class PropRef, class PropPtr,
-      class Vertex>
-    struct adj_list_edge_all_properties_map
-      : public put_get_helper<PropRef,
-          adj_list_edge_all_properties_map<Directed, Property, PropRef,
-            PropPtr, Vertex>
-        >
-    {
-      explicit adj_list_edge_all_properties_map(edge_all_t = edge_all_t()) {}
-      typedef Property value_type;
-      typedef PropRef reference;
-      typedef detail::edge_desc_impl<Directed, Vertex> key_type;
-      typedef boost::lvalue_property_map_tag category;
-      inline PropRef operator[](key_type e) const {
-        return *(PropPtr)e.get_property();
-      }
-      inline PropRef operator()(key_type e) const {
-        return this->operator[](e);
-      }
-    };
-
-  // Edge Property Maps
-
-  namespace detail {
-    struct adj_list_any_edge_pmap {
-      template <class Graph, class Property, class Tag>
-      struct bind_ {
-        typedef typename property_value<Property,Tag>::type value_type;
-        typedef value_type& reference;
-        typedef const value_type& const_reference;
-
-        typedef adj_list_edge_property_map
-           <typename Graph::directed_category, value_type, reference,
-            typename Graph::vertex_descriptor,Property,Tag> type;
-        typedef adj_list_edge_property_map
-           <typename Graph::directed_category, value_type, const_reference,
-            typename Graph::vertex_descriptor,const Property, Tag> const_type;
-      };
-    };
-    struct adj_list_all_edge_pmap {
-      template <class Graph, class Property, class Tag>
-      struct bind_ {
-        typedef adj_list_edge_all_properties_map
-        <typename Graph::directed_category, Property, Property&, Property*,
-            typename Graph::vertex_descriptor> type;
-        typedef adj_list_edge_all_properties_map
-        <typename Graph::directed_category, Property, const Property&,
-            const Property*, typename Graph::vertex_descriptor> const_type;
-      };
-    };
-
-    template <class Tag>
-    struct adj_list_choose_edge_pmap_helper {
-      typedef adj_list_any_edge_pmap type;
-    };
-    template <>
-    struct adj_list_choose_edge_pmap_helper<edge_all_t> {
-      typedef adj_list_all_edge_pmap type;
-    };
-    template <class Tag, class Graph, class Property>
-    struct adj_list_choose_edge_pmap
-      : adj_list_choose_edge_pmap_helper<Tag>::type::template bind_<Graph, Property, Tag>
-      {};
-    struct adj_list_edge_property_selector {
-      template <class Graph, class Property, class Tag>
-      struct bind_: adj_list_choose_edge_pmap<Tag, Graph, Property> {};
-    };
-  } // namespace detail
-
-  template <>
-  struct edge_property_selector<adj_list_tag> {
-    typedef detail::adj_list_edge_property_selector type;
-  };
-  template <>
-  struct edge_property_selector<vec_adj_list_tag> {
-    typedef detail::adj_list_edge_property_selector type;
-  };
-
-  // Vertex Property Maps
-
-  struct adj_list_vertex_property_selector {
-    template <class Graph, class Property, class Tag>
-    struct bind_
-      : detail::adj_list_choose_vertex_pa<Tag,Graph,Property>
-    {};
-  };
-  template <>
-  struct vertex_property_selector<adj_list_tag> {
-    typedef adj_list_vertex_property_selector type;
-  };
-
-  struct vec_adj_list_vertex_property_selector {
-    template <class Graph, class Property, class Tag>
-    struct bind_: detail::vec_adj_list_choose_vertex_pa<Tag,Graph,Property> {};
-  };
-  template <>
-  struct vertex_property_selector<vec_adj_list_tag> {
-    typedef vec_adj_list_vertex_property_selector type;
-  };
-
-} // namespace boost
-
-namespace boost {
-
-  template <typename V>
-  struct hash< boost::detail::stored_edge<V> >
-  {
-    std::size_t
-    operator()(const boost::detail::stored_edge<V>& e) const
-    {
-      return hash<V>()(e.m_target);
-    }
-  };
-
-  template <typename V, typename P>
-  struct hash< boost::detail::stored_edge_property <V,P> >
-  {
-    std::size_t
-    operator()(const boost::detail::stored_edge_property<V,P>& e) const
-    {
-      return hash<V>()(e.m_target);
-    }
-  };
-
-  template <typename V, typename I, typename P>
-  struct hash< boost::detail::stored_edge_iter<V,I, P> >
-  {
-    std::size_t
-    operator()(const boost::detail::stored_edge_iter<V,I,P>& e) const
-    {
-      return hash<V>()(e.m_target);
-    }
-  };
-
-}
-
-
-#endif // BOOST_GRAPH_DETAIL_DETAIL_ADJACENCY_LIST_CCT
-
-/*
-  Implementation Notes:
-
-  Many of the public interface functions in this file would have been
-  more conveniently implemented as inline friend functions.
-  However there are a few compiler bugs that make that approach
-  non-portable.
-
-  1. g++ inline friend in namespace bug
-  2. g++ using clause doesn't work with inline friends
-  3. VC++ doesn't have Koenig lookup
-
-  For these reasons, the functions were all written as non-inline free
-  functions, and static cast was used to convert from the helper
-  class to the adjacency_list derived class.
-
-  Looking back, it might have been better to write out all functions
-  in terms of the adjacency_list, and then use a tag to dispatch
-  to the various helpers instead of using inheritance.
-
- */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/array_binary_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/array_binary_tree.hpp
deleted file mode 100644
index 7875555..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/array_binary_tree.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_ARRAY_BINARY_TREE_HPP
-#define BOOST_ARRAY_BINARY_TREE_HPP
-
-#include <iterator>
-#include <functional>
-#include <boost/config.hpp>
-
-namespace boost {
-
-/*
- * Note: array_binary_tree is a completey balanced binary tree.
- */
-#if !defined BOOST_NO_STD_ITERATOR_TRAITS
-  template <class RandomAccessIterator, class ID>
-#else
-  template <class RandomAccessIterator, class ValueType, class ID>
-#endif
-class array_binary_tree_node {
-public:
-  typedef array_binary_tree_node ArrayBinaryTreeNode;
-  typedef RandomAccessIterator rep_iterator;
-#if !defined BOOST_NO_STD_ITERATOR_TRAITS
-  typedef typename std::iterator_traits<RandomAccessIterator>::difference_type
-          difference_type;
-  typedef typename std::iterator_traits<RandomAccessIterator>::value_type
-          value_type;
-#else
-  typedef int difference_type;
-  typedef ValueType value_type;
-#endif
-  typedef difference_type size_type;
-
-  struct children_type {
-    struct iterator
-        : boost::iterator<std::bidirectional_iterator_tag, ArrayBinaryTreeNode,
-                       difference_type, array_binary_tree_node*, ArrayBinaryTreeNode&>
-    { // replace with iterator_adaptor implementation -JGS
-
-      inline iterator() : i(0), n(0) { }
-      inline iterator(const iterator& x) : r(x.r), i(x.i), n(x.n), id(x.id) { }
-      inline iterator& operator=(const iterator& x) {
-        r = x.r; i = x.i; n = x.n;
-        /*egcs generate a warning*/
-        id = x.id;
-        return *this;
-      }
-      inline iterator(rep_iterator rr,
-                      size_type ii,
-                      size_type nn,
-                      const ID& _id) : r(rr), i(ii), n(nn), id(_id) { }
-      inline array_binary_tree_node operator*() {
-        return ArrayBinaryTreeNode(r, i, n, id); }
-      inline iterator& operator++() { ++i; return *this; }
-      inline iterator operator++(int)
-        { iterator t = *this; ++(*this); return t; }
-      inline bool operator==(const iterator& x) const { return i == x.i; }
-      inline bool operator!=(const iterator& x) const
-        { return !(*this == x); }
-      rep_iterator r;
-      size_type i;
-      size_type n;
-      ID id;
-    };
-    inline children_type() : i(0), n(0) { }
-    inline children_type(const children_type& x)
-      : r(x.r), i(x.i), n(x.n), id(x.id) { }
-    inline children_type& operator=(const children_type& x) {
-      r = x.r; i = x.i; n = x.n;
-      /*egcs generate a warning*/
-      id = x.id;
-      return *this;
-    }
-    inline children_type(rep_iterator rr,
-                         size_type ii,
-                         size_type nn,
-                         const ID& _id) : r(rr), i(ii), n(nn), id(_id) { }
-    inline iterator begin() { return iterator(r, 2 * i + 1, n, id); }
-    inline iterator end() { return iterator(r, 2 * i + 1 + size(), n, id); }
-    inline size_type size() const {
-      size_type c = 2 * i + 1;
-      size_type s;
-      if      (c + 1 < n) s = 2;
-      else if (c < n)     s = 1;
-      else                s = 0;
-      return s;
-    }
-    rep_iterator r;
-    size_type i;
-    size_type n;
-    ID id;
-  };
-  inline array_binary_tree_node() : i(0), n(0) { }
-  inline array_binary_tree_node(const array_binary_tree_node& x)
-    : r(x.r), i(x.i), n(x.n), id(x.id) { }
-  inline ArrayBinaryTreeNode& operator=(const ArrayBinaryTreeNode& x) {
-    r = x.r;
-    i = x.i;
-    n = x.n;
-    /*egcs generate a warning*/
-    id = x.id;
-    return *this;
-  }
-  inline array_binary_tree_node(rep_iterator start,
-                                rep_iterator end,
-                                rep_iterator pos, const ID& _id)
-    : r(start), i(pos - start), n(end - start), id(_id) { }
-  inline array_binary_tree_node(rep_iterator rr,
-                                size_type ii,
-                                size_type nn, const ID& _id)
-    : r(rr), i(ii), n(nn), id(_id) { }
-  inline value_type& value() { return *(r + i); }
-  inline const value_type& value() const { return *(r + i); }
-  inline ArrayBinaryTreeNode parent() const {
-    return ArrayBinaryTreeNode(r, (i - 1) / 2, n, id);
-  }
-  inline bool has_parent() const { return i != 0; }
-  inline children_type children() { return children_type(r, i, n, id); }
-  /*
-  inline void swap(array_binary_tree_node x) {
-    value_type tmp = x.value();
-    x.value() = value();
-    value() = tmp;
-    i = x.i;
-  }
-  */
-  template <class ExternalData>
-  inline void swap(ArrayBinaryTreeNode x, ExternalData& edata ) {
-    using boost::get;
-
-    value_type tmp = x.value();
-
-    /*swap external data*/
-    edata[ get(id, tmp) ]     = i;
-    edata[ get(id, value()) ] = x.i;
-
-    x.value() = value();
-    value() = tmp;
-    i = x.i;
-  }
-   inline const children_type children() const {
-    return children_type(r, i, n);
-  }
-  inline size_type index() const { return i; }
-  rep_iterator r;
-  size_type i;
-  size_type n;
-  ID id;
-};
-
-template <class RandomAccessContainer,
-       class Compare = std::less<typename RandomAccessContainer::value_type> >
-struct compare_array_node {
-  typedef typename RandomAccessContainer::value_type value_type;
-  compare_array_node(const Compare& x) : comp(x) {}
-  compare_array_node(const compare_array_node& x) : comp(x.comp) {}
-
-  template< class node_type >
-  inline bool operator()(const node_type& x, const node_type& y) {
-    return comp(x.value(), y.value());
-  }
-
-  template< class node_type >
-  inline bool operator()(const node_type& x, const node_type& y) const {
-    return comp(x.value(), y.value());
-  }
-  Compare comp;
-};
-
-} // namespace boost
-
-#endif /* BOOST_ARRAY_BINARY_TREE_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/augment.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/augment.hpp
deleted file mode 100644
index 3b20dcc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/augment.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//=======================================================================
-// Copyright 2013 University of Warsaw.
-// Authors: Piotr Wygocki 
-//
-// Distributed under the 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_GRAPH_AUGMENT_HPP
-#define BOOST_GRAPH_AUGMENT_HPP
-
-#include <boost/graph/filtered_graph.hpp>
-
-namespace boost {
-namespace detail {
-
-template <class Graph, class ResCapMap>
-filtered_graph<const Graph, is_residual_edge<ResCapMap> >
-residual_graph(const Graph& g, ResCapMap residual_capacity) {
-    return filtered_graph<const Graph, is_residual_edge<ResCapMap> >
-        (g, is_residual_edge<ResCapMap>(residual_capacity));
-}
-
-template <class Graph, class PredEdgeMap, class ResCapMap,
-         class RevEdgeMap>
-inline void
-augment(const Graph& g, 
-        typename graph_traits<Graph>::vertex_descriptor src,
-        typename graph_traits<Graph>::vertex_descriptor sink,
-        PredEdgeMap p, 
-        ResCapMap residual_capacity,
-        RevEdgeMap reverse_edge)
-{
-    typename graph_traits<Graph>::edge_descriptor e;
-    typename graph_traits<Graph>::vertex_descriptor u;
-    typedef typename property_traits<ResCapMap>::value_type FlowValue;
-
-    // find minimum residual capacity along the augmenting path
-    FlowValue delta = (std::numeric_limits<FlowValue>::max)();
-    e = get(p, sink);
-    do {
-        BOOST_USING_STD_MIN();
-        delta = min BOOST_PREVENT_MACRO_SUBSTITUTION(delta, get(residual_capacity, e));
-        u = source(e, g);
-        e = get(p, u);
-    } while (u != src);
-
-    // push delta units of flow along the augmenting path
-    e = get(p, sink);
-    do {
-        put(residual_capacity, e, get(residual_capacity, e) - delta);
-        put(residual_capacity, get(reverse_edge, e), get(residual_capacity, get(reverse_edge, e)) + delta);
-        u = source(e, g);
-        e = get(p, u);
-    } while (u != src);
-}
-
-} // namespace detail
-} //namespace boost
-
-#endif /* BOOST_GRAPH_AUGMENT_HPP */
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/compressed_sparse_row_struct.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/compressed_sparse_row_struct.hpp
deleted file mode 100644
index 6e7b60d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/compressed_sparse_row_struct.hpp
+++ /dev/null
@@ -1,647 +0,0 @@
-// Copyright 2005-2009 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-
-// Compressed sparse row graph type internal structure
-
-#ifndef BOOST_GRAPH_COMPRESSED_SPARSE_ROW_STRUCT_HPP
-#define BOOST_GRAPH_COMPRESSED_SPARSE_ROW_STRUCT_HPP
-
-#ifndef BOOST_GRAPH_COMPRESSED_SPARSE_ROW_GRAPH_HPP
-#error This file should only be included from boost/graph/compressed_sparse_row_graph.hpp
-#endif
-
-#include <vector>
-#include <utility>
-#include <algorithm>
-#include <climits>
-#include <boost/assert.hpp>
-#include <iterator>
-#if 0
-#include <iostream> // For some debugging code below
-#endif
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/filtered_graph.hpp> // For keep_all
-#include <boost/graph/detail/indexed_properties.hpp>
-#include <boost/graph/detail/histogram_sort.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-#include <boost/iterator/zip_iterator.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/integer.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/graph/graph_selectors.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/functional/hash.hpp>
-
-namespace boost {
-
-namespace detail {
-  // Forward declaration of CSR edge descriptor type, needed to pass to
-  // indexed_edge_properties.
-  template<typename Vertex, typename EdgeIndex>
-  class csr_edge_descriptor;
-
-  // Add edge_index property map
-  template<typename Vertex, typename EdgeIndex>
-  struct csr_edge_index_map
-  {
-    typedef EdgeIndex                 value_type;
-    typedef EdgeIndex                 reference;
-    typedef csr_edge_descriptor<Vertex, EdgeIndex> key_type;
-    typedef readable_property_map_tag category;
-  };
-
-  template<typename Vertex, typename EdgeIndex>
-  inline EdgeIndex
-  get(const csr_edge_index_map<Vertex, EdgeIndex>&,
-      const csr_edge_descriptor<Vertex, EdgeIndex>& key)
-  {
-    return key.idx;
-  }
-
-  /** Compressed sparse row graph internal structure.
-   *
-   * Vertex and EdgeIndex should be unsigned integral types and should
-   * specialize numeric_limits.
-   */
-  template <typename EdgeProperty,
-            typename Vertex = std::size_t, typename EdgeIndex = Vertex>
-  class compressed_sparse_row_structure :
-    public detail::indexed_edge_properties<
-             compressed_sparse_row_structure<EdgeProperty, Vertex, EdgeIndex>,
-             EdgeProperty,
-             csr_edge_descriptor<Vertex, EdgeIndex>,
-             csr_edge_index_map<Vertex, EdgeIndex> > {
-    public:
-    typedef detail::indexed_edge_properties<
-              compressed_sparse_row_structure<EdgeProperty, Vertex, EdgeIndex>,
-              EdgeProperty,
-              csr_edge_descriptor<Vertex, EdgeIndex>,
-              csr_edge_index_map<Vertex, EdgeIndex> >
-      inherited_edge_properties;
-
-    typedef Vertex vertices_size_type;
-    typedef Vertex vertex_descriptor;
-    typedef EdgeIndex edges_size_type;
-
-    static vertex_descriptor null_vertex() { return vertex_descriptor(-1); }
-
-    std::vector<EdgeIndex> m_rowstart;
-    std::vector<Vertex> m_column;
-
-    compressed_sparse_row_structure(Vertex numverts = 0)
-      : m_rowstart(numverts + 1, EdgeIndex(0)), m_column()
-      {}
-    
-    //  Rebuild graph from number of vertices and multi-pass unsorted list of
-    //  edges (filtered using source_pred and mapped using global_to_local)
-    template <typename MultiPassInputIterator, typename GlobalToLocal, typename SourcePred>
-    void
-    assign_unsorted_multi_pass_edges(MultiPassInputIterator edge_begin,
-                                     MultiPassInputIterator edge_end,
-                                     vertices_size_type numlocalverts,
-                                     const GlobalToLocal& global_to_local,
-                                     const SourcePred& source_pred) {
-      m_rowstart.clear();
-      m_rowstart.resize(numlocalverts + 1, 0);
-      typedef std::pair<vertices_size_type, vertices_size_type> edge_type;
-      typedef boost::transform_iterator<boost::graph::detail::project1st<edge_type>, MultiPassInputIterator> source_iterator;
-      typedef boost::transform_iterator<boost::graph::detail::project2nd<edge_type>, MultiPassInputIterator> target_iterator;
-      source_iterator sources_begin(edge_begin, boost::graph::detail::project1st<edge_type>());
-      source_iterator sources_end(edge_end, boost::graph::detail::project1st<edge_type>());
-      target_iterator targets_begin(edge_begin, boost::graph::detail::project2nd<edge_type>());
-      target_iterator targets_end(edge_end, boost::graph::detail::project2nd<edge_type>());
-
-      boost::graph::detail::count_starts
-        (sources_begin, sources_end, m_rowstart.begin(), numlocalverts,
-         source_pred, boost::make_property_map_function(global_to_local));
-
-      m_column.resize(m_rowstart.back());
-      inherited_edge_properties::resize(m_rowstart.back());
-
-      boost::graph::detail::histogram_sort
-        (sources_begin, sources_end, m_rowstart.begin(), numlocalverts,
-         targets_begin, m_column.begin(),
-         source_pred, boost::make_property_map_function(global_to_local));
-    }
-
-    //  Rebuild graph from number of vertices and multi-pass unsorted list of
-    //  edges and their properties (filtered using source_pred and mapped using
-    //  global_to_local)
-    template <typename MultiPassInputIterator, typename EdgePropertyIterator, typename GlobalToLocal, typename SourcePred>
-    void
-    assign_unsorted_multi_pass_edges(MultiPassInputIterator edge_begin,
-                                     MultiPassInputIterator edge_end,
-                                     EdgePropertyIterator ep_iter,
-                                     vertices_size_type numlocalverts,
-                                     const GlobalToLocal& global_to_local,
-                                     const SourcePred& source_pred) {
-      m_rowstart.clear();
-      m_rowstart.resize(numlocalverts + 1, 0);
-      typedef std::pair<vertices_size_type, vertices_size_type> edge_type;
-      typedef boost::transform_iterator<boost::graph::detail::project1st<edge_type>, MultiPassInputIterator> source_iterator;
-      typedef boost::transform_iterator<boost::graph::detail::project2nd<edge_type>, MultiPassInputIterator> target_iterator;
-      source_iterator sources_begin(edge_begin, boost::graph::detail::project1st<edge_type>());
-      source_iterator sources_end(edge_end, boost::graph::detail::project1st<edge_type>());
-      target_iterator targets_begin(edge_begin, boost::graph::detail::project2nd<edge_type>());
-      target_iterator targets_end(edge_end, boost::graph::detail::project2nd<edge_type>());
-
-      boost::graph::detail::count_starts
-        (sources_begin, sources_end, m_rowstart.begin(), numlocalverts,
-         source_pred, boost::make_property_map_function(global_to_local));
-
-      m_column.resize(m_rowstart.back());
-      inherited_edge_properties::resize(m_rowstart.back());
-
-      boost::graph::detail::histogram_sort
-        (sources_begin, sources_end, m_rowstart.begin(), numlocalverts,
-         targets_begin, m_column.begin(),
-         ep_iter, inherited_edge_properties::begin(),
-         source_pred, boost::make_property_map_function(global_to_local));
-    }
-
-    //  Assign from number of vertices and sorted list of edges
-    template<typename InputIterator, typename GlobalToLocal, typename SourcePred>
-    void assign_from_sorted_edges(
-           InputIterator edge_begin, InputIterator edge_end,
-           const GlobalToLocal& global_to_local,
-           const SourcePred& source_pred,
-           vertices_size_type numlocalverts,
-           edges_size_type numedges_or_zero) {
-      m_column.clear();
-      m_column.reserve(numedges_or_zero);
-      m_rowstart.resize(numlocalverts + 1);
-      EdgeIndex current_edge = 0;
-      Vertex current_vertex_plus_one = 1;
-      m_rowstart[0] = 0;
-      for (InputIterator ei = edge_begin; ei != edge_end; ++ei) {
-        if (!source_pred(ei->first)) continue;
-        Vertex src = get(global_to_local, ei->first);
-        Vertex tgt = ei->second;
-        for (; current_vertex_plus_one != src + 1; ++current_vertex_plus_one)
-          m_rowstart[current_vertex_plus_one] = current_edge;
-        m_column.push_back(tgt);
-        ++current_edge;
-      }
-
-      // The remaining vertices have no edges
-      for (; current_vertex_plus_one != numlocalverts + 1; ++current_vertex_plus_one)
-        m_rowstart[current_vertex_plus_one] = current_edge;
-
-      // Default-construct properties for edges
-      inherited_edge_properties::resize(m_column.size());
-    }
-
-    //  Assign from number of vertices and sorted list of edges
-    template<typename InputIterator, typename EdgePropertyIterator, typename GlobalToLocal, typename SourcePred>
-    void assign_from_sorted_edges(
-           InputIterator edge_begin, InputIterator edge_end,
-           EdgePropertyIterator ep_iter,
-           const GlobalToLocal& global_to_local,
-           const SourcePred& source_pred,
-           vertices_size_type numlocalverts,
-           edges_size_type numedges_or_zero) {
-      // Reserving storage in advance can save us lots of time and
-      // memory, but it can only be done if we have forward iterators or
-      // the user has supplied the number of edges.
-      edges_size_type numedges = numedges_or_zero;
-      if (numedges == 0) {
-        numedges = boost::graph::detail::reserve_count_for_single_pass(edge_begin, edge_end);
-      }
-      m_column.clear();
-      m_column.reserve(numedges_or_zero);
-      inherited_edge_properties::clear();
-      inherited_edge_properties::reserve(numedges_or_zero);
-      m_rowstart.resize(numlocalverts + 1);
-      EdgeIndex current_edge = 0;
-      Vertex current_vertex_plus_one = 1;
-      m_rowstart[0] = 0;
-      for (InputIterator ei = edge_begin; ei != edge_end; ++ei, ++ep_iter) {
-        if (!source_pred(ei->first)) continue;
-        Vertex src = get(global_to_local, ei->first);
-        Vertex tgt = ei->second;
-        for (; current_vertex_plus_one != src + 1; ++current_vertex_plus_one)
-          m_rowstart[current_vertex_plus_one] = current_edge;
-        m_column.push_back(tgt);
-        inherited_edge_properties::push_back(*ep_iter);
-        ++current_edge;
-      }
-
-      // The remaining vertices have no edges
-      for (; current_vertex_plus_one != numlocalverts + 1; ++current_vertex_plus_one)
-        m_rowstart[current_vertex_plus_one] = current_edge;
-    }
-
-    // Replace graph with sources and targets given, sorting them in-place, and
-    // using the given global-to-local property map to get local indices from
-    // global ones in the two arrays.
-    template <typename GlobalToLocal>
-    void assign_sources_and_targets_global(std::vector<vertex_descriptor>& sources,
-                                           std::vector<vertex_descriptor>& targets,
-                                           vertices_size_type numverts,
-                                           GlobalToLocal global_to_local) {
-      BOOST_ASSERT (sources.size() == targets.size());
-      // Do an in-place histogram sort (at least that's what I think it is) to
-      // sort sources and targets
-      m_rowstart.clear();
-      m_rowstart.resize(numverts + 1);
-      boost::graph::detail::count_starts
-        (sources.begin(), sources.end(), m_rowstart.begin(), numverts,
-         keep_all(), boost::make_property_map_function(global_to_local));
-      boost::graph::detail::histogram_sort_inplace
-        (sources.begin(), m_rowstart.begin(), numverts,
-         targets.begin(), boost::make_property_map_function(global_to_local));
-      // Now targets is the correct vector (properly sorted by source) for
-      // m_column
-      m_column.swap(targets);
-      inherited_edge_properties::resize(m_rowstart.back());
-    }
-
-    // Replace graph with sources and targets and edge properties given, sorting
-    // them in-place, and using the given global-to-local property map to get
-    // local indices from global ones in the two arrays.
-    template <typename GlobalToLocal>
-    void assign_sources_and_targets_global(std::vector<vertex_descriptor>& sources,
-                                           std::vector<vertex_descriptor>& targets,
-                                           std::vector<typename inherited_edge_properties::edge_bundled>& edge_props,
-                                           vertices_size_type numverts,
-                                           GlobalToLocal global_to_local) {
-      BOOST_ASSERT (sources.size() == targets.size());
-      BOOST_ASSERT (sources.size() == edge_props.size());
-      // Do an in-place histogram sort (at least that's what I think it is) to
-      // sort sources and targets
-      m_rowstart.clear();
-      m_rowstart.resize(numverts + 1);
-      boost::graph::detail::count_starts
-        (sources.begin(), sources.end(), m_rowstart.begin(), numverts,
-         keep_all(), boost::make_property_map_function(global_to_local));
-      boost::graph::detail::histogram_sort_inplace
-        (sources.begin(), m_rowstart.begin(), numverts,
-         targets.begin(), edge_props.begin(),
-         boost::make_property_map_function(global_to_local));
-      // Now targets is the correct vector (properly sorted by source) for
-      // m_column, and edge_props for m_edge_properties
-      m_column.swap(targets);
-      this->m_edge_properties.swap(edge_props);
-    }
-
-    // From any graph (slow and uses a lot of memory)
-    //   Requires IncidenceGraph and a vertex index map
-    //   Internal helper function
-    //   Note that numedges must be doubled for undirected source graphs
-    template<typename Graph, typename VertexIndexMap>
-    void
-    assign(const Graph& g, const VertexIndexMap& vi,
-           vertices_size_type numverts, edges_size_type numedges)
-    {
-      m_rowstart.resize(numverts + 1);
-      m_column.resize(numedges);
-      inherited_edge_properties::resize(numedges);
-      EdgeIndex current_edge = 0;
-      typedef typename boost::graph_traits<Graph>::vertex_descriptor g_vertex;
-      typedef typename boost::graph_traits<Graph>::out_edge_iterator
-        g_out_edge_iter;
-
-      std::vector<g_vertex> ordered_verts_of_g(numverts);
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        ordered_verts_of_g[get(vertex_index, g, v)] = v;
-      }
-      for (Vertex i = 0; i != numverts; ++i) {
-        m_rowstart[i] = current_edge;
-        g_vertex v = ordered_verts_of_g[i];
-        g_out_edge_iter ei, ei_end;
-        for (boost::tie(ei, ei_end) = out_edges(v, g); ei != ei_end; ++ei) {
-          m_column[current_edge++] = get(vi, target(*ei, g));
-        }
-      }
-      m_rowstart[numverts] = current_edge;
-    }
-
-    // Add edges from a sorted (smallest sources first) range of pairs and edge
-    // properties
-    template <typename BidirectionalIteratorOrig, typename EPIterOrig,
-              typename GlobalToLocal>
-    void
-    add_edges_sorted_internal(
-        BidirectionalIteratorOrig first_sorted,
-        BidirectionalIteratorOrig last_sorted,
-        EPIterOrig ep_iter_sorted,
-        const GlobalToLocal& global_to_local) {
-      typedef boost::reverse_iterator<BidirectionalIteratorOrig> BidirectionalIterator;
-      typedef boost::reverse_iterator<EPIterOrig> EPIter;
-      // Flip sequence
-      BidirectionalIterator first(last_sorted);
-      BidirectionalIterator last(first_sorted);
-      typedef Vertex vertex_num;
-      typedef EdgeIndex edge_num;
-      edge_num new_edge_count = std::distance(first, last);
-
-      EPIter ep_iter(ep_iter_sorted);
-      std::advance(ep_iter, -(std::ptrdiff_t)new_edge_count);
-      edge_num edges_added_before_i = new_edge_count; // Count increment to add to rowstarts
-      m_column.resize(m_column.size() + new_edge_count);
-      inherited_edge_properties::resize(inherited_edge_properties::size() + new_edge_count);
-      BidirectionalIterator current_new_edge = first, prev_new_edge = first;
-      EPIter current_new_edge_prop = ep_iter;
-      for (vertex_num i_plus_1 = m_rowstart.size() - 1; i_plus_1 > 0; --i_plus_1) {
-        vertex_num i = i_plus_1 - 1;
-        prev_new_edge = current_new_edge;
-        // edges_added_to_this_vertex = #mbrs of new_edges with first == i
-        edge_num edges_added_to_this_vertex = 0;
-        while (current_new_edge != last) {
-          if (get(global_to_local, current_new_edge->first) != i) break;
-          ++current_new_edge;
-          ++current_new_edge_prop;
-          ++edges_added_to_this_vertex;
-        }
-        edges_added_before_i -= edges_added_to_this_vertex;
-        // Invariant: edges_added_before_i = #mbrs of new_edges with first < i
-        edge_num old_rowstart = m_rowstart[i];
-        edge_num new_rowstart = m_rowstart[i] + edges_added_before_i;
-        edge_num old_degree = m_rowstart[i + 1] - m_rowstart[i];
-        edge_num new_degree = old_degree + edges_added_to_this_vertex;
-        // Move old edges forward (by #new_edges before this i) to make room
-        // new_rowstart > old_rowstart, so use copy_backwards
-        if (old_rowstart != new_rowstart) {
-          std::copy_backward(m_column.begin() + old_rowstart,
-                             m_column.begin() + old_rowstart + old_degree,
-                             m_column.begin() + new_rowstart + old_degree);
-          inherited_edge_properties::move_range(old_rowstart, old_rowstart + old_degree, new_rowstart);
-        }
-        // Add new edges (reversed because current_new_edge is a
-        // const_reverse_iterator)
-        BidirectionalIterator temp = current_new_edge;
-        EPIter temp_prop = current_new_edge_prop;
-        for (; temp != prev_new_edge; ++old_degree) {
-          --temp;
-          --temp_prop;
-          m_column[new_rowstart + old_degree] = temp->second;
-          inherited_edge_properties::write_by_index(new_rowstart + old_degree, *temp_prop);
-        }
-        m_rowstart[i + 1] = new_rowstart + new_degree;
-        if (edges_added_before_i == 0) break; // No more edges inserted before this point
-        // m_rowstart[i] will be fixed up on the next iteration (to avoid
-        // changing the degree of vertex i - 1); the last iteration never changes
-        // it (either because of the condition of the break or because
-        // m_rowstart[0] is always 0)
-      }
-    }
-
-  };
-
-  template<typename Vertex, typename EdgeIndex>
-  class csr_edge_descriptor
-  {
-   public:
-    Vertex src;
-    EdgeIndex idx;
-
-    csr_edge_descriptor(Vertex src, EdgeIndex idx): src(src), idx(idx) {}
-    csr_edge_descriptor(): src(0), idx(0) {}
-
-    bool operator==(const csr_edge_descriptor& e) const {return idx == e.idx;}
-    bool operator!=(const csr_edge_descriptor& e) const {return idx != e.idx;}
-    bool operator<(const csr_edge_descriptor& e) const {return idx < e.idx;}
-    bool operator>(const csr_edge_descriptor& e) const {return idx > e.idx;}
-    bool operator<=(const csr_edge_descriptor& e) const {return idx <= e.idx;}
-    bool operator>=(const csr_edge_descriptor& e) const {return idx >= e.idx;}
-
-    template<typename Archiver>
-    void serialize(Archiver& ar, const unsigned int /*version*/)
-    {
-      ar & src & idx;
-    }
-  };
-
-  // Common out edge and edge iterators
-  template<typename CSRGraph>
-  class csr_out_edge_iterator
-    : public iterator_facade<csr_out_edge_iterator<CSRGraph>,
-                             typename CSRGraph::edge_descriptor,
-                             std::random_access_iterator_tag,
-                             const typename CSRGraph::edge_descriptor&,
-                             typename int_t<CHAR_BIT * sizeof(typename CSRGraph::edges_size_type)>::fast>
-  {
-   public:
-    typedef typename CSRGraph::edges_size_type EdgeIndex;
-    typedef typename CSRGraph::edge_descriptor edge_descriptor;
-    typedef typename int_t<CHAR_BIT * sizeof(EdgeIndex)>::fast difference_type;
-
-    csr_out_edge_iterator() {}
-    // Implicit copy constructor OK
-    explicit csr_out_edge_iterator(edge_descriptor edge) : m_edge(edge) { }
-
-   public: // GCC 4.2.1 doesn't like the private-and-friend thing
-    // iterator_facade requirements
-    const edge_descriptor& dereference() const { return m_edge; }
-
-    bool equal(const csr_out_edge_iterator& other) const
-    { return m_edge == other.m_edge; }
-
-    void increment() { ++m_edge.idx; }
-    void decrement() { --m_edge.idx; }
-    void advance(difference_type n) { m_edge.idx += n; }
-
-    difference_type distance_to(const csr_out_edge_iterator& other) const
-    { return other.m_edge.idx - m_edge.idx; }
-
-    edge_descriptor m_edge;
-
-    friend class iterator_core_access;
-  };
-
-  template<typename CSRGraph>
-  class csr_edge_iterator
-    : public iterator_facade<csr_edge_iterator<CSRGraph>,
-                             typename CSRGraph::edge_descriptor,
-                             boost::forward_traversal_tag,
-                             typename CSRGraph::edge_descriptor>
-  {
-   private:
-    typedef typename CSRGraph::edge_descriptor edge_descriptor;
-    typedef typename CSRGraph::edges_size_type EdgeIndex;
-
-   public:
-    csr_edge_iterator() : rowstart_array(0), current_edge(), end_of_this_vertex(0), total_num_edges(0) {}
-
-    csr_edge_iterator(const CSRGraph& graph,
-                      edge_descriptor current_edge,
-                      EdgeIndex end_of_this_vertex)
-      : rowstart_array(&graph.m_forward.m_rowstart[0]),
-        current_edge(current_edge),
-        end_of_this_vertex(end_of_this_vertex),
-        total_num_edges(num_edges(graph)) {}
-
-   public: // See above
-    friend class boost::iterator_core_access;
-
-    edge_descriptor dereference() const {return current_edge;}
-
-    bool equal(const csr_edge_iterator& o) const {
-      return current_edge == o.current_edge;
-    }
-
-    void increment() {
-      ++current_edge.idx;
-      if (current_edge.idx == total_num_edges) return;
-      while (current_edge.idx == end_of_this_vertex) {
-        ++current_edge.src;
-        end_of_this_vertex = rowstart_array[current_edge.src + 1];
-      }
-    }
-
-    const EdgeIndex* rowstart_array;
-    edge_descriptor current_edge;
-    EdgeIndex end_of_this_vertex;
-    EdgeIndex total_num_edges;
-  };
-
-  // Only for bidirectional graphs
-  template<typename CSRGraph>
-  class csr_in_edge_iterator
-    : public iterator_facade<csr_in_edge_iterator<CSRGraph>,
-                             typename CSRGraph::edge_descriptor,
-                             boost::forward_traversal_tag,
-                             typename CSRGraph::edge_descriptor>
-  {
-   public:
-    typedef typename CSRGraph::edges_size_type EdgeIndex;
-    typedef typename CSRGraph::edge_descriptor edge_descriptor;
-
-    csr_in_edge_iterator(): m_graph(0) {}
-    // Implicit copy constructor OK
-    csr_in_edge_iterator(const CSRGraph& graph,
-                         EdgeIndex index_in_backward_graph)
-      : m_index_in_backward_graph(index_in_backward_graph), m_graph(&graph) {}
-
-   public: // See above
-    // iterator_facade requirements
-    edge_descriptor dereference() const {
-      return edge_descriptor(
-               m_graph->m_backward.m_column[m_index_in_backward_graph],
-               m_graph->m_backward.m_edge_properties[m_index_in_backward_graph]);
-    }
-
-    bool equal(const csr_in_edge_iterator& other) const
-    { return m_index_in_backward_graph == other.m_index_in_backward_graph; }
-
-    void increment() { ++m_index_in_backward_graph; }
-    void decrement() { --m_index_in_backward_graph; }
-    void advance(std::ptrdiff_t n) { m_index_in_backward_graph += n; }
-
-    std::ptrdiff_t distance_to(const csr_in_edge_iterator& other) const
-    { return other.m_index_in_backward_graph - m_index_in_backward_graph; }
-
-    EdgeIndex m_index_in_backward_graph;
-    const CSRGraph* m_graph;
-
-    friend class iterator_core_access;
-  };
-
-  template <typename A, typename B>
-  struct transpose_pair {
-    typedef std::pair<B, A> result_type;
-    result_type operator()(const std::pair<A, B>& p) const {
-      return result_type(p.second, p.first);
-    }
-  };
-
-  template <typename Iter>
-  struct transpose_iterator_gen {
-    typedef typename std::iterator_traits<Iter>::value_type vt;
-    typedef typename vt::first_type first_type;
-    typedef typename vt::second_type second_type;
-    typedef transpose_pair<first_type, second_type> transpose;
-    typedef boost::transform_iterator<transpose, Iter> type;
-    static type make(Iter it) {
-      return type(it, transpose());
-    }
-  };
-
-  template <typename Iter>
-  typename transpose_iterator_gen<Iter>::type transpose_edges(Iter i) {
-    return transpose_iterator_gen<Iter>::make(i);
-  }
-
-  template<typename GraphT, typename VertexIndexMap>
-  class edge_to_index_pair
-  {
-    typedef typename boost::graph_traits<GraphT>::vertices_size_type
-      vertices_size_type;
-    typedef typename boost::graph_traits<GraphT>::edge_descriptor edge_descriptor;
-
-   public:
-    typedef std::pair<vertices_size_type, vertices_size_type> result_type;
-
-    edge_to_index_pair() : g(0), index() { }
-    edge_to_index_pair(const GraphT& g, const VertexIndexMap& index)
-      : g(&g), index(index)
-    { }
-
-    result_type operator()(edge_descriptor e) const
-    {
-      return result_type(get(index, source(e, *g)), get(index, target(e, *g)));
-    }
-
-   private:
-    const GraphT* g;
-    VertexIndexMap index;
-  };
-
-  template<typename GraphT, typename VertexIndexMap>
-  edge_to_index_pair<GraphT, VertexIndexMap>
-  make_edge_to_index_pair(const GraphT& g, const VertexIndexMap& index)
-  {
-    return edge_to_index_pair<GraphT, VertexIndexMap>(g, index);
-  }
-
-  template<typename GraphT>
-  edge_to_index_pair
-    <GraphT,
-     typename boost::property_map<GraphT,boost::vertex_index_t>::const_type>
-  make_edge_to_index_pair(const GraphT& g)
-  {
-    typedef typename boost::property_map<GraphT,
-                                         boost::vertex_index_t>::const_type
-      VertexIndexMap;
-    return edge_to_index_pair<GraphT, VertexIndexMap>(g,
-                                                     get(boost::vertex_index,
-                                                         g));
-  }
-
-  template<typename GraphT, typename VertexIndexMap, typename Iter>
-  boost::transform_iterator<edge_to_index_pair<GraphT, VertexIndexMap>, Iter>
-  make_edge_to_index_pair_iter(const GraphT& g, const VertexIndexMap& index,
-                               Iter it) {
-    return boost::transform_iterator<edge_to_index_pair<GraphT, VertexIndexMap>, Iter>(it, edge_to_index_pair<GraphT, VertexIndexMap>(g, index));
-  }
-
-} // namespace detail
-
-  template<typename Vertex, typename EdgeIndex>
-  struct hash<detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-  {
-    std::size_t operator()
-                  (detail::csr_edge_descriptor<Vertex, EdgeIndex> const& x) const
-    {
-      std::size_t hash = hash_value(x.src);
-      hash_combine(hash, x.idx);
-      return hash;
-    }
-  };
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_COMPRESSED_SPARSE_ROW_STRUCT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/connected_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/connected_components.hpp
deleted file mode 100644
index 0af7746..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/connected_components.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_DETAIL_CONNECTED_COMPONENTS_HPP
-#define BOOST_GRAPH_DETAIL_CONNECTED_COMPONENTS_HPP
-
-#if defined(__sgi) && !defined(__GNUC__)
-#pragma set woff 1234
-#endif
-
-#include <boost/operators.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    //=========================================================================
-    // Implementation details of connected_components
-
-    // This is used both in the connected_components algorithm and in
-    // the kosaraju strong components algorithm during the second DFS
-    // traversal.
-    template <class ComponentsPA, class DFSVisitor>
-    class components_recorder : public DFSVisitor
-    {
-      typedef typename property_traits<ComponentsPA>::value_type comp_type;
-    public:
-      components_recorder(ComponentsPA c, 
-                          comp_type& c_count, 
-                          DFSVisitor v)
-        : DFSVisitor(v), m_component(c), m_count(c_count) {}
-
-      template <class Vertex, class Graph>
-      void start_vertex(Vertex u, Graph& g) {
-        ++m_count;
-        DFSVisitor::start_vertex(u, g);
-      }
-      template <class Vertex, class Graph>
-      void discover_vertex(Vertex u, Graph& g) {
-        put(m_component, u, m_count);
-        DFSVisitor::discover_vertex(u, g);
-      }
-    protected:
-      ComponentsPA m_component;
-      comp_type& m_count;
-    };
-
-    template <class DiscoverTimeMap, class FinishTimeMap, class TimeT, 
-      class DFSVisitor>
-    class time_recorder : public DFSVisitor
-    {
-    public:
-      time_recorder(DiscoverTimeMap d, FinishTimeMap f, TimeT& t, DFSVisitor v)
-        : DFSVisitor(v), m_discover_time(d), m_finish_time(f), m_t(t) {}
-
-      template <class Vertex, class Graph>
-      void discover_vertex(Vertex u, Graph& g) {
-        put(m_discover_time, u, ++m_t);
-        DFSVisitor::discover_vertex(u, g);
-      }
-      template <class Vertex, class Graph>
-      void finish_vertex(Vertex u, Graph& g) {
-        put(m_finish_time, u, ++m_t);
-        DFSVisitor::discover_vertex(u, g);
-      }
-    protected:
-      DiscoverTimeMap m_discover_time;
-      FinishTimeMap m_finish_time;
-      TimeT m_t;
-    };
-    template <class DiscoverTimeMap, class FinishTimeMap, class TimeT, 
-      class DFSVisitor>
-    time_recorder<DiscoverTimeMap, FinishTimeMap, TimeT, DFSVisitor>
-    record_times(DiscoverTimeMap d, FinishTimeMap f, TimeT& t, DFSVisitor vis)
-    {
-      return time_recorder<DiscoverTimeMap, FinishTimeMap, TimeT, DFSVisitor>
-        (d, f, t, vis);
-    }
-
-    //=========================================================================
-    // Implementation detail of dynamic_components
-
-
-    //-------------------------------------------------------------------------
-    // Helper functions for the component_index class
-    
-    // Record the representative vertices in the header array.
-    // Representative vertices now point to the component number.
-    
-    template <class Parent, class OutputIterator, class Integer>
-    inline void
-    build_components_header(Parent p, 
-                            OutputIterator header,
-                            Integer num_nodes)
-    {
-      Parent component = p;
-      Integer component_num = 0;
-      for (Integer v = 0; v != num_nodes; ++v) 
-        if (p[v] == v) {
-          *header++ = v;
-          component[v] = component_num++;
-        }
-    }
-    
-    
-    // Pushes x onto the front of the list. The list is represented in
-    // an array.
-    template <class Next, class T, class V>
-    inline void push_front(Next next, T& head, V x)
-    {
-      T tmp = head;
-      head = x;
-      next[x] = tmp;
-    }
-    
-    
-    // Create a linked list of the vertices in each component
-    // by reusing the representative array.
-    template <class Parent1, class Parent2, 
-              class Integer>
-    void
-    link_components(Parent1 component, Parent2 header, 
-                    Integer num_nodes, Integer num_components)
-    {
-      // Make the non-representative vertices point to their component
-      Parent1 representative = component;
-      for (Integer v = 0; v != num_nodes; ++v)
-        if (component[v] >= num_components || header[component[v]] != v)
-          component[v] = component[representative[v]];
-      
-      // initialize the "head" of the lists to "NULL"
-      std::fill_n(header, num_components, num_nodes);
-      
-      // Add each vertex to the linked list for its component
-      Parent1 next = component;
-      for (Integer k = 0; k != num_nodes; ++k)
-        push_front(next, header[component[k]], k);
-    }
-    
-
-    
-    template <class IndexContainer, class HeaderContainer>
-    void
-    construct_component_index(IndexContainer& index, HeaderContainer& header)
-    {
-      build_components_header(index.begin(), 
-                              std::back_inserter(header),
-                              index.end() - index.begin());
-      
-      link_components(index.begin(), header.begin(),
-                      index.end() - index.begin(), 
-                      header.end() - header.begin());
-    }
-    
-    
-    
-    template <class IndexIterator, class Integer, class Distance>
-    class component_iterator 
-      : boost::forward_iterator_helper< 
-    component_iterator<IndexIterator,Integer,Distance>,
-              Integer, Distance,Integer*, Integer&>
-    {
-    public:
-      typedef component_iterator self;
-      
-      IndexIterator next;
-      Integer node;
-      
-      typedef std::forward_iterator_tag iterator_category;
-      typedef Integer value_type;
-      typedef Integer& reference;
-      typedef Integer* pointer;
-      typedef Distance difference_type;
-      
-      component_iterator() {}
-      component_iterator(IndexIterator x, Integer i) 
-        : next(x), node(i) {}
-      Integer operator*() const {
-        return node;
-      }
-      self& operator++() {
-        node = next[node];
-        return *this;
-      }
-    };
-    
-    template <class IndexIterator, class Integer, class Distance>
-    inline bool 
-    operator==(const component_iterator<IndexIterator, Integer, Distance>& x,
-               const component_iterator<IndexIterator, Integer, Distance>& y)
-    {
-      return x.node == y.node;
-    }
-  
-  } // namespace detail
-  
-} // namespace detail
-
-#if defined(__sgi) && !defined(__GNUC__)
-#pragma reset woff 1234
-#endif
-
-#endif 
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/d_ary_heap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/d_ary_heap.hpp
deleted file mode 100644
index cf930fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/d_ary_heap.hpp
+++ /dev/null
@@ -1,319 +0,0 @@
-//
-//=======================================================================
-// Copyright 2009 Trustees of Indiana University
-// Authors: Jeremiah J. Willcock, Andrew Lumsdaine
-//
-// Distributed under the 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_D_ARY_HEAP_HPP
-#define BOOST_D_ARY_HEAP_HPP
-
-#include <vector>
-#include <cstddef>
-#include <algorithm>
-#include <utility>
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/shared_array.hpp>
-#include <boost/property_map/property_map.hpp>
-
-// WARNING: it is not safe to copy a d_ary_heap_indirect and then modify one of
-// the copies.  The class is required to be copyable so it can be passed around
-// (without move support from C++11), but it deep-copies the heap contents yet
-// shallow-copies the index_in_heap_map.
-
-namespace boost {
-
-  // Swap two elements in a property map without assuming they model
-  // LvaluePropertyMap -- currently not used
-  template <typename PropMap>
-  inline void property_map_swap(
-         PropMap prop_map,
-         const typename boost::property_traits<PropMap>::key_type& ka, 
-         const typename boost::property_traits<PropMap>::key_type& kb) {
-    typename boost::property_traits<PropMap>::value_type va = get(prop_map, ka);
-    put(prop_map, ka, get(prop_map, kb));
-    put(prop_map, kb, va);
-  }
-
-  namespace detail {
-    template <typename Value>
-    class fixed_max_size_vector {
-      boost::shared_array<Value> m_data;
-      std::size_t m_size;
-
-      public:
-      typedef std::size_t size_type;
-      fixed_max_size_vector(std::size_t max_size)
-        : m_data(new Value[max_size]), m_size(0) {}
-      std::size_t size() const {return m_size;}
-      bool empty() const {return m_size == 0;}
-      Value& operator[](std::size_t i) {return m_data[i];}
-      const Value& operator[](std::size_t i) const {return m_data[i];}
-      void push_back(Value v) {m_data[m_size++] = v;}
-      void pop_back() {--m_size;}
-      Value& back() {return m_data[m_size - 1];}
-      const Value& back() const {return m_data[m_size - 1];}
-    };
-  }
-
-  // D-ary heap using an indirect compare operator (use identity_property_map
-  // as DistanceMap to get a direct compare operator).  This heap appears to be
-  // commonly used for Dijkstra's algorithm for its good practical performance
-  // on some platforms; asymptotically, it has an O(lg N) decrease-key
-  // operation while that can be done in constant time on a relaxed heap.  The
-  // implementation is mostly based on the binary heap page on Wikipedia and
-  // online sources that state that the operations are the same for d-ary
-  // heaps.  This code is not based on the old Boost d-ary heap code.
-  //
-  // - d_ary_heap_indirect is a model of UpdatableQueue as is needed for
-  //   dijkstra_shortest_paths.
-  //
-  // - Value must model Assignable.
-  // - Arity must be at least 2 (optimal value appears to be 4, both in my and
-  //   third-party experiments).
-  // - IndexInHeapMap must be a ReadWritePropertyMap from Value to
-  //   Container::size_type (to store the index of each stored value within the
-  //   heap for decrease-key aka update).
-  // - DistanceMap must be a ReadablePropertyMap from Value to something
-  //   (typedef'ed as distance_type).
-  // - Compare must be a BinaryPredicate used as a less-than operator on
-  //   distance_type.
-  // - Container must be a random-access, contiguous container (in practice,
-  //   the operations used probably require that it is std::vector<Value>).
-  //
-  template <typename Value,
-            std::size_t Arity,
-            typename IndexInHeapPropertyMap,
-            typename DistanceMap,
-            typename Compare = std::less<Value>,
-            typename Container = std::vector<Value> >
-  class d_ary_heap_indirect {
-    BOOST_STATIC_ASSERT (Arity >= 2);
-
-    public:
-    typedef typename Container::size_type size_type;
-    typedef Value value_type;
-    typedef typename boost::property_traits<DistanceMap>::value_type key_type;
-    typedef DistanceMap key_map;
-
-    d_ary_heap_indirect(DistanceMap distance,
-                        IndexInHeapPropertyMap index_in_heap,
-                        const Compare& compare = Compare(),
-                        const Container& data = Container())
-      : compare(compare), data(data), distance(distance),
-        index_in_heap(index_in_heap) {}
-    /* Implicit copy constructor */
-    /* Implicit assignment operator */
-
-    size_type size() const {
-      return data.size();
-    }
-
-    bool empty() const {
-      return data.empty();
-    }
-
-    void push(const Value& v) {
-      size_type index = data.size();
-      data.push_back(v);
-      put(index_in_heap, v, index);
-      preserve_heap_property_up(index);
-      verify_heap();
-    }
-
-    Value& top() {
-      BOOST_ASSERT (!this->empty());
-      return data[0];
-    }
-
-    const Value& top() const {
-      BOOST_ASSERT (!this->empty());
-      return data[0];
-    }
-
-    void pop() {
-      BOOST_ASSERT (!this->empty());
-      put(index_in_heap, data[0], (size_type)(-1));
-      if (data.size() != 1) {
-        data[0] = data.back();
-        put(index_in_heap, data[0], (size_type)(0));
-        data.pop_back();
-        preserve_heap_property_down();
-        verify_heap();
-      } else {
-        data.pop_back();
-      }
-    }
-
-    // This function assumes the key has been updated (using an external write
-    // to the distance map or such)
-    // See http://coding.derkeiler.com/Archive/General/comp.theory/2007-05/msg00043.html
-    void update(const Value& v) { /* decrease-key */
-      size_type index = get(index_in_heap, v);
-      preserve_heap_property_up(index);
-      verify_heap();
-    }
-
-    bool contains(const Value& v) const {
-      size_type index = get(index_in_heap, v);
-      return (index != (size_type)(-1));
-    }
-
-    void push_or_update(const Value& v) { /* insert if not present, else update */
-      size_type index = get(index_in_heap, v);
-      if (index == (size_type)(-1)) {
-        index = data.size();
-        data.push_back(v);
-        put(index_in_heap, v, index);
-      }
-      preserve_heap_property_up(index);
-      verify_heap();
-    }
-
-    DistanceMap keys() const {
-      return distance;
-    }
-
-    private:
-    Compare compare;
-    Container data;
-    DistanceMap distance;
-    IndexInHeapPropertyMap index_in_heap;
-
-    // The distances being compared using compare and that are stored in the
-    // distance map
-    typedef typename boost::property_traits<DistanceMap>::value_type distance_type;
-
-    // Get the parent of a given node in the heap
-    static size_type parent(size_type index) {
-      return (index - 1) / Arity;
-    }
-
-    // Get the child_idx'th child of a given node; 0 <= child_idx < Arity
-    static size_type child(size_type index, std::size_t child_idx) {
-      return index * Arity + child_idx + 1;
-    }
-
-    // Swap two elements in the heap by index, updating index_in_heap
-    void swap_heap_elements(size_type index_a, size_type index_b) {
-      using std::swap;
-      Value value_a = data[index_a];
-      Value value_b = data[index_b];
-      data[index_a] = value_b;
-      data[index_b] = value_a;
-      put(index_in_heap, value_a, index_b);
-      put(index_in_heap, value_b, index_a);
-    }
-
-    // Emulate the indirect_cmp that is now folded into this heap class
-    bool compare_indirect(const Value& a, const Value& b) const {
-      return compare(get(distance, a), get(distance, b));
-    }
-
-    // Verify that the array forms a heap; commented out by default
-    void verify_heap() const {
-      // This is a very expensive test so it should be disabled even when
-      // NDEBUG is not defined
-#if 0
-      for (size_t i = 1; i < data.size(); ++i) {
-        if (compare_indirect(data[i], data[parent(i)])) {
-          BOOST_ASSERT (!"Element is smaller than its parent");
-        }
-      }
-#endif
-    }
-
-    // Starting at a node, move up the tree swapping elements to preserve the
-    // heap property
-    void preserve_heap_property_up(size_type index) {
-      size_type orig_index = index;
-      size_type num_levels_moved = 0;
-      // The first loop just saves swaps that need to be done in order to avoid
-      // aliasing issues in its search; there is a second loop that does the
-      // necessary swap operations
-      if (index == 0) return; // Do nothing on root
-      Value currently_being_moved = data[index];
-      distance_type currently_being_moved_dist =
-        get(distance, currently_being_moved);
-      for (;;) {
-        if (index == 0) break; // Stop at root
-        size_type parent_index = parent(index);
-        Value parent_value = data[parent_index];
-        if (compare(currently_being_moved_dist, get(distance, parent_value))) {
-          ++num_levels_moved;
-          index = parent_index;
-          continue;
-        } else {
-          break; // Heap property satisfied
-        }
-      }
-      // Actually do the moves -- move num_levels_moved elements down in the
-      // tree, then put currently_being_moved at the top
-      index = orig_index;
-      for (size_type i = 0; i < num_levels_moved; ++i) {
-        size_type parent_index = parent(index);
-        Value parent_value = data[parent_index];
-        put(index_in_heap, parent_value, index);
-        data[index] = parent_value;
-        index = parent_index;
-      }
-      data[index] = currently_being_moved;
-      put(index_in_heap, currently_being_moved, index);
-      verify_heap();
-    }
-
-    // From the root, swap elements (each one with its smallest child) if there
-    // are any parent-child pairs that violate the heap property
-    void preserve_heap_property_down() {
-      if (data.empty()) return;
-      size_type index = 0;
-      Value currently_being_moved = data[0];
-      distance_type currently_being_moved_dist =
-        get(distance, currently_being_moved);
-      size_type heap_size = data.size();
-      Value* data_ptr = &data[0];
-      for (;;) {
-        size_type first_child_index = child(index, 0);
-        if (first_child_index >= heap_size) break; /* No children */
-        Value* child_base_ptr = data_ptr + first_child_index;
-        size_type smallest_child_index = 0;
-        distance_type smallest_child_dist = get(distance, child_base_ptr[smallest_child_index]);
-        if (first_child_index + Arity <= heap_size) {
-          // Special case for a statically known loop count (common case)
-          for (size_t i = 1; i < Arity; ++i) {
-            Value i_value = child_base_ptr[i];
-            distance_type i_dist = get(distance, i_value);
-            if (compare(i_dist, smallest_child_dist)) {
-              smallest_child_index = i;
-              smallest_child_dist = i_dist;
-            }
-          }
-        } else {
-          for (size_t i = 1; i < heap_size - first_child_index; ++i) {
-            distance_type i_dist = get(distance, child_base_ptr[i]);
-            if (compare(i_dist, smallest_child_dist)) {
-              smallest_child_index = i;
-              smallest_child_dist = i_dist;
-            }
-          }
-        }
-        if (compare(smallest_child_dist, currently_being_moved_dist)) {
-          swap_heap_elements(smallest_child_index + first_child_index, index);
-          index = smallest_child_index + first_child_index;
-          continue;
-        } else {
-          break; // Heap property satisfied
-        }
-      }
-      verify_heap();
-    }
-
-  };
-
-} // namespace boost
-
-#endif // BOOST_D_ARY_HEAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/edge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/edge.hpp
deleted file mode 100644
index badf28d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/edge.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_DETAIL_EDGE_HPP
-#define BOOST_GRAPH_DETAIL_EDGE_HPP
-
-#include <iosfwd>
-
-namespace boost {
-
-  namespace  detail {
-
-    template <typename Directed, typename Vertex>
-    struct edge_base
-    {
-      inline edge_base() {} 
-      inline edge_base(Vertex s, Vertex d)
-        : m_source(s), m_target(d) { }
-      Vertex m_source;
-      Vertex m_target;
-    };
-
-    template <typename Directed, typename Vertex>
-    class edge_desc_impl  : public edge_base<Directed,Vertex> {
-      typedef edge_desc_impl                              self;
-      typedef edge_base<Directed,Vertex> Base;
-    public: 
-      typedef void                              property_type;
-      
-      inline edge_desc_impl() : m_eproperty(0) {} 
-      
-      inline edge_desc_impl(Vertex s, Vertex d, const property_type* eplug)
-        : Base(s,d), m_eproperty(const_cast<property_type*>(eplug)) { }
-      
-      property_type* get_property() { return m_eproperty; }
-      const property_type* get_property() const { return m_eproperty; }
-      
-      //  protected:
-      property_type* m_eproperty;
-    };
-
-    template <class D, class V>
-    inline bool
-    operator==(const detail::edge_desc_impl<D,V>& a, 
-               const detail::edge_desc_impl<D,V>& b)
-    {
-      return a.get_property() == b.get_property();
-    }
-    template <class D, class V>
-    inline bool
-    operator!=(const detail::edge_desc_impl<D,V>& a, 
-               const detail::edge_desc_impl<D,V>& b)
-    {
-      return ! (a.get_property() == b.get_property());
-    }
-
-    // Order edges according to the address of their property object
-    template <class D, class V>
-    inline bool
-    operator<(const detail::edge_desc_impl<D,V>& a, 
-               const detail::edge_desc_impl<D,V>& b)
-    {
-      return a.get_property() < b.get_property();
-    }
-    template <class D, class V>
-    inline bool
-    operator<=(const detail::edge_desc_impl<D,V>& a, 
-               const detail::edge_desc_impl<D,V>& b)
-    {
-      return a.get_property() <= b.get_property();
-    }
-    template <class D, class V>
-    inline bool
-    operator>(const detail::edge_desc_impl<D,V>& a, 
-               const detail::edge_desc_impl<D,V>& b)
-    {
-      return a.get_property() > b.get_property();
-    }
-    template <class D, class V>
-    inline bool
-    operator>=(const detail::edge_desc_impl<D,V>& a, 
-               const detail::edge_desc_impl<D,V>& b)
-    {
-      return a.get_property() >= b.get_property();
-    }
-
-  } //namespace detail
-  
-} // namespace boost
-
-namespace std {
-  template <class Char, class Traits, class D, class V>
-  std::basic_ostream<Char, Traits>& 
-  operator<<(std::basic_ostream<Char, Traits>& os,
-             const boost::detail::edge_desc_impl<D,V>& e)
-  {
-    return os << "(" << e.m_source << "," << e.m_target << ")";
-  }
-}
-
-// Boost's functional/hash
-namespace boost {
-  template<typename D, typename V>
-  struct hash<boost::detail::edge_desc_impl<D, V> >
-  {
-    std::size_t operator()(const boost::detail::edge_desc_impl<D, V> & x) const
-    { return hash_value(x.get_property()); }
-  };
-}
-
-
-#endif // BOOST_GRAPH_DETAIL_DETAIL_EDGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/geodesic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/geodesic.hpp
deleted file mode 100644
index adcb17f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/geodesic.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// (C) Copyright 2007 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_DETAIL_GEODESIC_HPP
-#define BOOST_GRAPH_DETAIL_GEODESIC_HPP
-
-#include <functional>
-#include <boost/config.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/numeric_values.hpp>
-#include <boost/concept/assert.hpp>
-
-// TODO: Should this really be in detail?
-
-namespace boost
-{
-// This is a very good discussion on centrality measures. While I can't
-// say that this has been the motivating factor for the design and
-// implementation of ths centrality framework, it does provide a single
-// point of reference for defining things like degree and closeness
-// centrality. Plus, the bibliography seems fairly complete.
-//
-//     @article{citeulike:1144245,
-//         author = {Borgatti, Stephen  P. and Everett, Martin  G.},
-//         citeulike-article-id = {1144245},
-//         doi = {10.1016/j.socnet.2005.11.005},
-//         journal = {Social Networks},
-//         month = {October},
-//         number = {4},
-//         pages = {466--484},
-//         priority = {0},
-//         title = {A Graph-theoretic perspective on centrality},
-//         url = {http://dx.doi.org/10.1016/j.socnet.2005.11.005},
-//             volume = {28},
-//             year = {2006}
-//         }
-//     }
-
-namespace detail {
-    // Note that this assumes T == property_traits<DistanceMap>::value_type
-    // and that the args and return of combine are also T.
-    template <typename Graph,
-                typename DistanceMap,
-                typename Combinator,
-                typename Distance>
-    inline Distance
-    combine_distances(const Graph& g,
-                        DistanceMap dist,
-                        Combinator combine,
-                        Distance init)
-    {
-        BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-        BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-        BOOST_CONCEPT_ASSERT(( NumericValueConcept<Distance> ));
-        typedef numeric_values<Distance> DistanceNumbers;
-        BOOST_CONCEPT_ASSERT(( AdaptableBinaryFunction<Combinator,Distance,Distance,Distance> ));
-
-        // If there's ever an infinite distance, then we simply return
-        // infinity. Note that this /will/ include the a non-zero
-        // distance-to-self in the combined values. However, this is usually
-        // zero, so it shouldn't be too problematic.
-        Distance ret = init;
-        VertexIterator i, end;
-        for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-            Vertex v = *i;
-            if(get(dist, v) != DistanceNumbers::infinity()) {
-                ret = combine(ret, get(dist, v));
-            }
-            else {
-                ret = DistanceNumbers::infinity();
-                break;
-            }
-        }
-        return ret;
-    }
-
-    // Similar to std::plus<T>, but maximizes parameters
-    // rather than adding them.
-    template <typename T>
-    struct maximize : public std::binary_function<T, T, T>
-    {
-        T operator ()(T x, T y) const
-        { BOOST_USING_STD_MAX(); return max BOOST_PREVENT_MACRO_SUBSTITUTION (x, y); }
-    };
-
-    // Another helper, like maximize() to help abstract functional
-    // concepts. This is trivially instantiated for builtin numeric
-    // types, but should be specialized for those types that have
-    // discrete notions of reciprocals.
-    template <typename T>
-    struct reciprocal : public std::unary_function<T, T>
-    {
-        typedef std::unary_function<T, T> function_type;
-        typedef typename function_type::result_type result_type;
-        typedef typename function_type::argument_type argument_type;
-        T operator ()(T t)
-        { return T(1) / t; }
-    };
-} /* namespace detail */
-
-// This type defines the basic facilities used for computing values
-// based on the geodesic distances between vertices. Examples include
-// closeness centrality and mean geodesic distance.
-template <typename Graph, typename DistanceType, typename ResultType>
-struct geodesic_measure
-{
-    typedef DistanceType distance_type;
-    typedef ResultType result_type;
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-
-    typedef numeric_values<distance_type> distance_values;
-    typedef numeric_values<result_type> result_values;
-
-    static inline distance_type infinite_distance()
-    { return distance_values::infinity(); }
-
-    static inline result_type infinite_result()
-    { return result_values::infinity(); }
-
-    static inline result_type zero_result()
-    { return result_values::zero(); }
-};
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/histogram_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/histogram_sort.hpp
deleted file mode 100644
index ef03635..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/histogram_sort.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-// Copyright 2009 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)
-
-//  Authors: Jeremiah Willcock
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_DETAIL_HISTOGRAM_SORT_HPP
-#define BOOST_GRAPH_DETAIL_HISTOGRAM_SORT_HPP
-
-#include <boost/assert.hpp>
-
-namespace boost {
-  namespace graph {
-    namespace detail {
-
-template<typename InputIterator>
-size_t
-reserve_count_for_single_pass_helper(InputIterator, InputIterator,
-                                     std::input_iterator_tag)
-{
-  // Do nothing: we have no idea how much storage to reserve.
-  return 0;
-}
-
-template<typename InputIterator>
-size_t
-reserve_count_for_single_pass_helper(InputIterator first, InputIterator last,
-                                     std::random_access_iterator_tag)
-{
-  using std::distance;
-  typename std::iterator_traits<InputIterator>::difference_type n =
-    distance(first, last);
-  return (size_t)n;
-}
-
-template<typename InputIterator>
-size_t
-reserve_count_for_single_pass(InputIterator first, InputIterator last) {
-  typedef typename std::iterator_traits<InputIterator>::iterator_category
-    category;
-  return reserve_count_for_single_pass_helper(first, last, category());
-}
-
-template <typename KeyIterator, typename RowstartIterator,
-          typename VerticesSize, typename KeyFilter, typename KeyTransform>
-void
-count_starts
-  (KeyIterator begin, KeyIterator end,
-   RowstartIterator starts, // Must support numverts + 1 elements
-   VerticesSize numkeys,
-   KeyFilter key_filter,
-   KeyTransform key_transform) {
-
-  typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
-
-  // Put the degree of each vertex v into m_rowstart[v + 1]
-  for (KeyIterator i = begin; i != end; ++i) {
-    if (key_filter(*i)) {
-      BOOST_ASSERT (key_transform(*i) < numkeys);
-      ++starts[key_transform(*i) + 1];
-    }
-  }
-
-  // Compute the partial sum of the degrees to get the actual values of
-  // m_rowstart
-  EdgeIndex start_of_this_row = 0;
-  starts[0] = start_of_this_row;
-  for (VerticesSize i = 1; i < numkeys + 1; ++i) {
-    start_of_this_row += starts[i];
-    starts[i] = start_of_this_row;
-  }
-}
-
-template <typename KeyIterator, typename RowstartIterator,
-          typename NumKeys,
-          typename Value1InputIter,
-          typename Value1OutputIter, typename KeyFilter, typename KeyTransform>
-void
-histogram_sort(KeyIterator key_begin, KeyIterator key_end,
-               RowstartIterator rowstart, // Must support numkeys + 1 elements and be precomputed
-               NumKeys numkeys,
-               Value1InputIter values1_begin,
-               Value1OutputIter values1_out,
-               KeyFilter key_filter,
-               KeyTransform key_transform) {
-
-  typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
-
-  // Histogram sort the edges by their source vertices, putting the targets
-  // into m_column.  The index current_insert_positions[v] contains the next
-  // location to insert out edges for vertex v.
-  std::vector<EdgeIndex>
-    current_insert_positions(rowstart, rowstart + numkeys);
-  Value1InputIter v1i = values1_begin;
-  for (KeyIterator i = key_begin; i != key_end; ++i, ++v1i) {
-    if (key_filter(*i)) {
-      NumKeys source = key_transform(*i);
-      BOOST_ASSERT (source < numkeys);
-      EdgeIndex insert_pos = current_insert_positions[source];
-      ++current_insert_positions[source];
-      values1_out[insert_pos] = *v1i;
-    }
-  }
-}
-
-template <typename KeyIterator, typename RowstartIterator,
-          typename NumKeys,
-          typename Value1InputIter,
-          typename Value1OutputIter,
-          typename Value2InputIter,
-          typename Value2OutputIter,
-          typename KeyFilter, typename KeyTransform>
-void
-histogram_sort(KeyIterator key_begin, KeyIterator key_end,
-               RowstartIterator rowstart, // Must support numkeys + 1 elements and be precomputed
-               NumKeys numkeys,
-               Value1InputIter values1_begin,
-               Value1OutputIter values1_out,
-               Value2InputIter values2_begin,
-               Value2OutputIter values2_out,
-               KeyFilter key_filter,
-               KeyTransform key_transform) {
-
-  typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
-
-  // Histogram sort the edges by their source vertices, putting the targets
-  // into m_column.  The index current_insert_positions[v] contains the next
-  // location to insert out edges for vertex v.
-  std::vector<EdgeIndex>
-    current_insert_positions(rowstart, rowstart + numkeys);
-  Value1InputIter v1i = values1_begin;
-  Value2InputIter v2i = values2_begin;
-  for (KeyIterator i = key_begin; i != key_end; ++i, ++v1i, ++v2i) {
-    if (key_filter(*i)) {
-      NumKeys source = key_transform(*i);
-      BOOST_ASSERT (source < numkeys);
-      EdgeIndex insert_pos = current_insert_positions[source];
-      ++current_insert_positions[source];
-      values1_out[insert_pos] = *v1i;
-      values2_out[insert_pos] = *v2i;
-    }
-  }
-}
-
-template <typename KeyIterator, typename RowstartIterator,
-          typename NumKeys,
-          typename Value1Iter,
-          typename KeyTransform>
-void
-histogram_sort_inplace(KeyIterator key_begin,
-                       RowstartIterator rowstart, // Must support numkeys + 1 elements and be precomputed
-                       NumKeys numkeys,
-                       Value1Iter values1,
-                       KeyTransform key_transform) {
-
-  typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
-
-  // 1. Copy m_rowstart (except last element) to get insert positions
-  std::vector<EdgeIndex> insert_positions(rowstart, rowstart + numkeys);
-  // 2. Swap the sources and targets into place
-  for (size_t i = 0; i < rowstart[numkeys]; ++i) {
-    BOOST_ASSERT (key_transform(key_begin[i]) < numkeys);
-    // While edge i is not in the right bucket:
-    while (!(i >= rowstart[key_transform(key_begin[i])] && i < insert_positions[key_transform(key_begin[i])])) {
-      // Add a slot in the right bucket
-      size_t target_pos = insert_positions[key_transform(key_begin[i])]++;
-      BOOST_ASSERT (target_pos < rowstart[key_transform(key_begin[i]) + 1]);
-      if (target_pos == i) continue;
-      // Swap this edge into place
-      using std::swap;
-      swap(key_begin[i], key_begin[target_pos]);
-      swap(values1[i], values1[target_pos]);
-    }
-  }
-}
-
-template <typename KeyIterator, typename RowstartIterator,
-          typename NumKeys,
-          typename Value1Iter,
-          typename Value2Iter,
-          typename KeyTransform>
-void
-histogram_sort_inplace(KeyIterator key_begin,
-                       RowstartIterator rowstart, // Must support numkeys + 1 elements and be precomputed
-                       NumKeys numkeys,
-                       Value1Iter values1,
-                       Value2Iter values2,
-                       KeyTransform key_transform) {
-
-  typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
-
-  // 1. Copy m_rowstart (except last element) to get insert positions
-  std::vector<EdgeIndex> insert_positions(rowstart, rowstart + numkeys);
-  // 2. Swap the sources and targets into place
-  for (size_t i = 0; i < rowstart[numkeys]; ++i) {
-    BOOST_ASSERT (key_transform(key_begin[i]) < numkeys);
-    // While edge i is not in the right bucket:
-    while (!(i >= rowstart[key_transform(key_begin[i])] && i < insert_positions[key_transform(key_begin[i])])) {
-      // Add a slot in the right bucket
-      size_t target_pos = insert_positions[key_transform(key_begin[i])]++;
-      BOOST_ASSERT (target_pos < rowstart[key_transform(key_begin[i]) + 1]);
-      if (target_pos == i) continue;
-      // Swap this edge into place
-      using std::swap;
-      swap(key_begin[i], key_begin[target_pos]);
-      swap(values1[i], values1[target_pos]);
-      swap(values2[i], values2[target_pos]);
-    }
-  }
-}
-
-template <typename InputIterator, typename VerticesSize>
-void split_into_separate_coords(InputIterator begin, InputIterator end,
-                                std::vector<VerticesSize>& firsts,
-                                std::vector<VerticesSize>& seconds) {
-  firsts.clear();
-  seconds.clear();
-  size_t reserve_size
-    = detail::reserve_count_for_single_pass(begin, end);
-  firsts.reserve(reserve_size);
-  seconds.reserve(reserve_size);
-  for (; begin != end; ++begin) {
-    std::pair<VerticesSize, VerticesSize> edge = *begin;
-    firsts.push_back(edge.first);
-    seconds.push_back(edge.second);
-  }
-}
-
-template <typename InputIterator, typename VerticesSize, typename SourceFilter>
-void split_into_separate_coords_filtered
-  (InputIterator begin, InputIterator end,
-   std::vector<VerticesSize>& firsts,
-   std::vector<VerticesSize>& seconds,
-   const SourceFilter& filter) {
-  firsts.clear();
-  seconds.clear();
-  for (; begin != end; ++begin) {
-    std::pair<VerticesSize, VerticesSize> edge = *begin;
-    if (filter(edge.first)) {
-      firsts.push_back(edge.first);
-      seconds.push_back(edge.second);
-    }
-  }
-}
-
-template <typename InputIterator, typename PropInputIterator,
-          typename VerticesSize, typename PropType, typename SourceFilter>
-void split_into_separate_coords_filtered
-  (InputIterator begin, InputIterator end,
-   PropInputIterator props,
-   std::vector<VerticesSize>& firsts,
-   std::vector<VerticesSize>& seconds,
-   std::vector<PropType>& props_out,
-   const SourceFilter& filter) {
-  firsts.clear();
-  seconds.clear();
-  props_out.clear();
-  for (; begin != end; ++begin) {
-    std::pair<VerticesSize, VerticesSize> edge = *begin;
-    if (filter(edge.first)) {
-      firsts.push_back(edge.first);
-      seconds.push_back(edge.second);
-      props_out.push_back(*props);
-    }
-    ++props;
-  }
-}
-
-// The versions of operator()() here can't return by reference because the
-// actual type passed in may not match Pair, in which case the reference
-// parameter is bound to a temporary that could end up dangling after the
-// operator returns.
-
-template <typename Pair>
-struct project1st {
-  typedef typename Pair::first_type result_type;
-  result_type operator()(const Pair& p) const {return p.first;}
-};
-
-template <typename Pair>
-struct project2nd {
-  typedef typename Pair::second_type result_type;
-  result_type operator()(const Pair& p) const {return p.second;}
-};
-
-    }
-  }
-}
-
-#endif // BOOST_GRAPH_DETAIL_HISTOGRAM_SORT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/incidence_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/incidence_iterator.hpp
deleted file mode 100644
index 836ad15..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/incidence_iterator.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_DETAIL_INCIDENCE_ITERATOR_HPP
-#define BOOST_GRAPH_DETAIL_INCIDENCE_ITERATOR_HPP
-
-#include <utility>
-#include <iterator>
-
-// OBSOLETE
-
-namespace boost {
-
-  namespace detail {
-    // EdgeDir tags
-    struct in_edge_tag { };
-    struct out_edge_tag { };
-    
-    template <class Vertex, class Edge, class Iterator1D, class EdgeDir>
-    struct bidir_incidence_iterator {
-      typedef bidir_incidence_iterator self;
-      typedef Edge edge_type;
-      typedef typename Edge::property_type EdgeProperty;
-    public:
-      typedef int difference_type;
-      typedef std::forward_iterator_tag iterator_category;
-      typedef edge_type reference;
-      typedef edge_type value_type;
-      typedef value_type* pointer;
-      inline bidir_incidence_iterator() {}
-      inline bidir_incidence_iterator(Iterator1D ii, Vertex src) 
-        : i(ii), _src(src) { }
-      
-      inline self& operator++() { ++i; return *this; }
-      inline self operator++(int) { self tmp = *this; ++(*this); return tmp; }
-      
-      inline reference operator*() const {
-        return deref_helper(EdgeDir());
-      }
-      inline self* operator->() { return this; }
-      
-      Iterator1D& iter() { return i; }
-      const Iterator1D& iter() const { return i; }
-
-      Iterator1D i;
-      Vertex _src;
-    protected:
-      inline reference deref_helper(out_edge_tag) const {
-        return edge_type( _src, (*i).get_target(), &(*i).get_property() );
-      }
-      inline reference deref_helper(in_edge_tag) const {
-        return edge_type((*i).get_target(), _src, &(*i).get_property() );
-      }
-    };
-
-    template <class V, class E, class Iter, class Dir>
-    inline bool operator==(const bidir_incidence_iterator<V,E,Iter,Dir>& x,
-                           const bidir_incidence_iterator<V,E,Iter,Dir>& y)
-    {
-      return x.i == y.i;
-    }
-    template <class V, class E, class Iter, class Dir>
-    inline bool operator!=(const bidir_incidence_iterator<V,E,Iter,Dir>& x,
-                           const bidir_incidence_iterator<V,E,Iter,Dir>& y)
-    {
-      return x.i != y.i;
-    }
-
-
-  }
-} 
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/incremental_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/incremental_components.hpp
deleted file mode 100644
index f66a366..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/incremental_components.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Copyright 2009 Trustees of Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Michael Hansen
-//
-// Distributed under the 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_GRAPH_DETAIL_INCREMENTAL_COMPONENTS_HPP
-#define BOOST_GRAPH_DETAIL_INCREMENTAL_COMPONENTS_HPP
-
-#include <boost/operators.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    // Iterator for a component index linked list.  The contents of
-    // each array element represent the next index in the list.  A
-    // special value (the maximum index + 1) is used to terminate a
-    // list.
-    template <typename IndexRandomAccessIterator> 
-    class component_index_iterator :
-      boost::forward_iterator_helper<component_index_iterator<IndexRandomAccessIterator>,
-                                     typename std::iterator_traits<IndexRandomAccessIterator>::value_type,
-                                     typename std::iterator_traits<IndexRandomAccessIterator>::difference_type,
-                                     typename std::iterator_traits<IndexRandomAccessIterator>::pointer,
-                                     typename std::iterator_traits<IndexRandomAccessIterator>::reference> {
-
-    private:
-      typedef component_index_iterator<IndexRandomAccessIterator> self;
-
-    public:
-      typedef std::forward_iterator_tag iterator_category;
-      typedef typename std::iterator_traits<IndexRandomAccessIterator>::value_type value_type;
-      typedef typename std::iterator_traits<IndexRandomAccessIterator>::difference_type reference;
-      typedef typename std::iterator_traits<IndexRandomAccessIterator>::pointer pointer;
-      typedef typename std::iterator_traits<IndexRandomAccessIterator>::reference difference_type;
-
-      // Constructor for "begin" iterator
-      component_index_iterator(IndexRandomAccessIterator index_iterator,
-                               value_type begin_index) :
-        m_index_iterator(index_iterator),
-        m_current_index(begin_index) { }
-
-      // Constructor for "end" iterator (end_index should be the linked
-      // list terminator).
-      component_index_iterator(value_type end_index) :
-        m_current_index(end_index) { }
-
-      inline value_type operator*() const {
-        return (m_current_index);
-      }
-    
-      self& operator++() {
-        // Move to the next element in the linked list
-        m_current_index = m_index_iterator[m_current_index];
-        return (*this);
-      }
-
-      bool operator==(const self& other_iterator) const {
-        return (m_current_index == *other_iterator);
-      }
-
-    protected:
-      IndexRandomAccessIterator m_index_iterator;
-      value_type m_current_index;
-
-    }; // class component_index_iterator
-
-  } // namespace detail
-  
-} // namespace detail
-
-#endif // BOOST_GRAPH_DETAIL_INCREMENTAL_COMPONENTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/index.hpp
deleted file mode 100644
index db1152f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/index.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_DETAIL_INDEX_HPP
-#define BOOST_GRAPH_DETAIL_INDEX_HPP
-
-#include <boost/graph/graph_traits.hpp>
-
-// The structures in this module are responsible for selecting and defining
-// types for accessing a builting index map. Note that the selection of these
-// types requires the Graph parameter to model either VertexIndexGraph or
-// EdgeIndexGraph.
-
-namespace boost
-{
-    namespace detail
-    {
-        template <typename Graph>
-        struct vertex_indexer
-        {
-            typedef vertex_index_t index_type;
-            typedef typename property_map<Graph, vertex_index_t>::type map_type;
-            typedef typename property_map<Graph, vertex_index_t>::const_type const_map_type;
-            typedef typename property_traits<map_type>::value_type value_type;
-            typedef typename graph_traits<Graph>::vertex_descriptor key_type;
-
-            static const_map_type index_map(const Graph& g)
-            { return get(vertex_index, g); }
-
-            static map_type index_map(Graph& g)
-            { return get(vertex_index, g); }
-
-            static value_type index(key_type k, const Graph& g)
-            { return get(vertex_index, g, k); }
-        };
-
-        template <typename Graph>
-        struct edge_indexer
-        {
-            typedef edge_index_t index_type;
-            typedef typename property_map<Graph, edge_index_t>::type map_type;
-            typedef typename property_map<Graph, edge_index_t>::const_type const_map_type;
-            typedef typename property_traits<map_type>::value_type value_type;
-            typedef typename graph_traits<Graph>::edge_descriptor key_type;
-
-            static const_map_type index_map(const Graph& g)
-            { return get(edge_index, g); }
-
-            static map_type index_map(Graph& g)
-            { return get(edge_index, g); }
-
-            static value_type index(key_type k, const Graph& g)
-            { return get(edge_index, g, k); }
-        };
-
-        // NOTE: The Graph parameter MUST be a model of VertexIndexGraph or
-        // VertexEdgeGraph - whichever type Key is selecting.
-        template <typename Graph, typename Key>
-        struct choose_indexer
-        {
-            typedef typename mpl::if_<
-                    is_same<Key, typename graph_traits<Graph>::vertex_descriptor>,
-                    vertex_indexer<Graph>,
-                    edge_indexer<Graph>
-                >::type indexer_type;
-            typedef typename indexer_type::index_type index_type;
-        };
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/indexed_properties.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/indexed_properties.hpp
deleted file mode 100644
index 4494625..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/indexed_properties.hpp
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright 2005 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-
-// Indexed properties -- used for CSR and CSR-like graphs
-
-#ifndef BOOST_GRAPH_INDEXED_PROPERTIES_HPP
-#define BOOST_GRAPH_INDEXED_PROPERTIES_HPP
-
-#include <vector>
-#include <utility>
-#include <algorithm>
-#include <climits>
-#include <iterator>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/integer.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-namespace detail {
-
-template<typename Derived, typename Property, typename Descriptor, typename IndexMap>
-class indexed_vertex_properties
-{
-public:
-  typedef no_property vertex_property_type;
-  typedef Property vertex_bundled;
-  typedef iterator_property_map<
-            typename std::vector<Property>::iterator,
-            IndexMap> vertex_map_type;
-  typedef iterator_property_map<
-            typename std::vector<Property>::const_iterator,
-            IndexMap> const_vertex_map_type;
-
-  // Directly access a vertex or edge bundle
-  Property& operator[](Descriptor v)
-  { return m_vertex_properties[get(vertex_index, derived(), v)]; }
-
-  const Property& operator[](Descriptor v) const
-  { return m_vertex_properties[get(vertex_index, derived(), v)]; }
-
-  vertex_map_type get_vertex_bundle(const IndexMap& index_map = IndexMap()) {
-    return vertex_map_type(m_vertex_properties.begin(), index_map);
-  }
-
-  const_vertex_map_type get_vertex_bundle(const IndexMap& index_map = IndexMap()) const {
-    return const_vertex_map_type(m_vertex_properties.begin(), index_map);
-  }
-
-protected:
-  // Default-construct with no property values
-  indexed_vertex_properties() {}
-
-  // Initialize with n default-constructed property values
-  indexed_vertex_properties(std::size_t n) : m_vertex_properties(n) { }
-
-public:
-  // Clear the properties vector
-  void clear()
-  {
-    m_vertex_properties.clear();
-  }
-
-  // Resize the properties vector
-  void resize(std::size_t n)
-  {
-    m_vertex_properties.resize(n);
-  }
-
-  // Reserve space in the vector of properties
-  void reserve(std::size_t n)
-  {
-    m_vertex_properties.reserve(n);
-  }
-
-  // Add a new property value to the back
-  void push_back(const Property& prop)
-  {
-    m_vertex_properties.push_back(prop);
-  }
-
-  // Write an element by raw index
-  void write_by_index(std::size_t idx, const Property& prop)
-  {
-    m_vertex_properties[idx] = prop;
-  }
-
-  // Access to the derived object
-  Derived& derived() { return *static_cast<Derived*>(this); }
-
-  const Derived& derived() const
-  { return *static_cast<const Derived*>(this); }
-
-public: // should be private, but friend templates not portable
-  std::vector<Property> m_vertex_properties;
-};
-
-template<typename Derived, typename Descriptor, typename IndexMap>
-class indexed_vertex_properties<Derived, void, Descriptor, IndexMap>
-{
-  struct secret {};
-
- public:
-  typedef no_property vertex_property_type;
-  typedef void vertex_bundled;
-  typedef secret vertex_map_type;
-  typedef secret const_vertex_map_type;
-
-  secret operator[](secret) { return secret(); }
-
-  vertex_map_type get_vertex_bundle() const {
-    return vertex_map_type();
-  }
-
- protected:
-  // All operations do nothing.
-  indexed_vertex_properties() { }
-  indexed_vertex_properties(std::size_t) { }
-
-public:
-  void clear() { }
-  void resize(std::size_t) { }
-  void reserve(std::size_t) { }
-};
-
-template<typename Derived, typename Property, typename Descriptor, typename IndexMap>
-class indexed_edge_properties
-{
-public:
-  typedef no_property edge_property_type;
-  typedef Property edge_bundled;
-  typedef Property edge_push_back_type;
-  typedef iterator_property_map<
-            typename std::vector<Property>::iterator,
-            IndexMap> edge_map_type;
-  typedef iterator_property_map<
-            typename std::vector<Property>::const_iterator,
-            IndexMap> const_edge_map_type;
-
-  // Directly access a edge or edge bundle
-  Property& operator[](Descriptor v)
-  { return m_edge_properties[get(edge_index, derived(), v)]; }
-
-  const Property& operator[](Descriptor v) const
-  { return m_edge_properties[get(edge_index, derived(), v)]; }
-
-  edge_map_type get_edge_bundle(const IndexMap& index_map = IndexMap()) {
-    return edge_map_type(m_edge_properties.begin(), index_map);
-  }
-
-  const_edge_map_type get_edge_bundle(const IndexMap& index_map = IndexMap()) const {
-    return const_edge_map_type(m_edge_properties.begin(), index_map);
-  }
-
-protected:
-  // Default-construct with no property values
-  indexed_edge_properties() {}
-
-  // Initialize with n default-constructed property values
-  indexed_edge_properties(std::size_t n) : m_edge_properties(n) { }
-
-  // Get the size of the properties vector
-  std::size_t size() const
-  {
-    return m_edge_properties.size();
-  }
-
-  // Clear the properties vector
-  void clear()
-  {
-    m_edge_properties.clear();
-  }
-
-  // Resize the properties vector
-  void resize(std::size_t n)
-  {
-    m_edge_properties.resize(n);
-  }
-
-  // Reserve space in the vector of properties
-  void reserve(std::size_t n)
-  {
-    m_edge_properties.reserve(n);
-  }
-
-  // Write an element by raw index
-  void write_by_index(std::size_t idx, const Property& prop)
-  {
-    m_edge_properties[idx] = prop;
-  }
-
- public:
-  // Add a new property value to the back
-  void push_back(const Property& prop)
-  {
-    m_edge_properties.push_back(prop);
-  }
-
-  // Move range of properties backwards
-  void move_range(std::size_t src_begin, std::size_t src_end, std::size_t dest_begin) {
-    std::copy_backward(
-        m_edge_properties.begin() + src_begin,
-        m_edge_properties.begin() + src_end,
-        m_edge_properties.begin() + dest_begin + (src_end - src_begin));
-  }
-
-  typedef typename std::vector<Property>::iterator iterator;
-  iterator begin() {return m_edge_properties.begin();}
-  iterator end() {return m_edge_properties.end();}
-
- private:
-  // Access to the derived object
-  Derived& derived() { return *static_cast<Derived*>(this); }
-
-  const Derived& derived() const
-  { return *static_cast<const Derived*>(this); }
-
-public: // should be private, but friend templates not portable
-  std::vector<Property> m_edge_properties;
-};
-
-struct dummy_no_property_iterator
-: public boost::iterator_facade<dummy_no_property_iterator, no_property, std::random_access_iterator_tag> {
-  mutable no_property prop;
-  no_property& dereference() const {return prop;}
-  bool equal(const dummy_no_property_iterator&) const {return true;}
-  void increment() {}
-  void decrement() {}
-  void advance(std::ptrdiff_t) {}
-  std::ptrdiff_t distance_to(const dummy_no_property_iterator) const {return 0;}
-};
-
-template<typename Derived, typename Descriptor, typename IndexMap>
-class indexed_edge_properties<Derived, void, Descriptor, IndexMap>
-{
-  struct secret {};
-
- public:
-  typedef no_property edge_property_type;
-  typedef void edge_bundled;
-  typedef void* edge_push_back_type;
-  typedef secret edge_map_type;
-  typedef secret const_edge_map_type;
-
-  secret operator[](secret) { return secret(); }
-  void write_by_index(std::size_t /*idx*/, const no_property& /*prop*/) {}
-
-  edge_map_type get_edge_bundle(const IndexMap& = IndexMap()) const {
-    return edge_map_type();
-  }
-
- protected:
-  // All operations do nothing.
-  indexed_edge_properties() { }
-  indexed_edge_properties(std::size_t) { }
-  std::size_t size() const {return 0;}
-  void clear() { }
-  void resize(std::size_t) { }
-  void reserve(std::size_t) { }
-
- public:
-  void push_back(const edge_push_back_type&) { }
-  void move_range(std::size_t /*src_begin*/, std::size_t /*src_end*/, std::size_t /*dest_begin*/) {}
-
-  typedef dummy_no_property_iterator iterator;
-  iterator begin() {return dummy_no_property_iterator();}
-  iterator end() {return dummy_no_property_iterator();}
-
-};
-
-}
-}
-
-#endif // BOOST_GRAPH_INDEXED_PROPERTIES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/is_distributed_selector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/is_distributed_selector.hpp
deleted file mode 100644
index 4319d9d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/is_distributed_selector.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2012 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)
-
-//  Authors: Jeremiah Willcock
-//           Andrew Lumsdaine
-
-// Selector to determine whether a selector is distributedS (can only be true
-// if <boost/graph/distributed/selector.hpp> has been included) so that we can
-// disable various sequential-graph-only traits specializations for distributed
-// graphs.
-
-#ifndef BOOST_GRAPH_DETAIL_IS_DISTRIBUTED_SELECTOR_HPP
-#define BOOST_GRAPH_DETAIL_IS_DISTRIBUTED_SELECTOR_HPP
-
-#include <boost/mpl/bool.hpp>
-
-namespace boost {
-  namespace detail {
-    template <typename> struct is_distributed_selector: boost::mpl::false_ {};
-  }
-}
-
-#endif // BOOST_GRAPH_DETAIL_IS_DISTRIBUTED_SELECTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/labeled_graph_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/labeled_graph_traits.hpp
deleted file mode 100644
index a0c0973..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/labeled_graph_traits.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-// Copyright (C) 2009 Andrew Sutton
-
-// Use, modification and distribution is subject to the 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_GRAPH_LABELED_GRAPH_TRAITS_HPP
-#define BOOST_GRAPH_LABELED_GRAPH_TRAITS_HPP
-
-#include <boost/graph/graph_mutability_traits.hpp>
-
-namespace boost {
-
-// Extend the graph mutability traits (and metafunctions) to include options
-// for labeled graphs.
-
-// NOTE: the label_vertex tag denotes the fact that you can basically assign
-// arbitrary labels to vertices without modifying the actual graph.
-
-// TODO: We might also overlay the uniqueness/multiplicity of labels in this
-// hierarchy also. For now, we just assumed that labels are unique.
-
-struct label_vertex_tag { };
-struct labeled_add_vertex_tag : virtual label_vertex_tag { };
-struct labeled_add_vertex_property_tag : virtual labeled_add_vertex_tag { };
-struct labeled_remove_vertex_tag { };
-struct labeled_add_edge_tag : virtual label_vertex_tag { };
-struct labeled_add_edge_property_tag : virtual labeled_add_edge_tag{ };
-struct labeled_remove_edge_tag { };
-
-struct labeled_mutable_vertex_graph_tag
-    : virtual labeled_add_vertex_tag, virtual labeled_remove_vertex_tag
-{ };
-struct labeled_mutable_vertex_property_graph_tag
-    : virtual labeled_add_vertex_property_tag, virtual labeled_remove_vertex_tag
-{ };
-struct labeled_mutable_edge_graph_tag
-    : virtual labeled_add_edge_tag, virtual labeled_remove_edge_tag
-{ };
-struct labeled_mutable_edge_property_graph_tag
-    : virtual labeled_add_edge_property_tag, virtual labeled_remove_edge_tag
-{ };
-
-struct labeled_graph_tag
-    : virtual label_vertex_tag
-{ };
-struct labeled_mutable_graph_tag
-    : virtual labeled_mutable_vertex_graph_tag
-    , virtual labeled_mutable_edge_graph_tag
-{ };
-struct labeled_mutable_property_graph_tag
-    : virtual labeled_mutable_vertex_property_graph_tag
-    , virtual labeled_mutable_edge_property_graph_tag
-{ };
-struct labeled_add_only_property_graph_tag
-    : virtual labeled_add_vertex_property_tag
-    , virtual labeled_mutable_edge_property_graph_tag
-{ };
-
-// Metafunctions
-
-template <typename Graph>
-struct graph_has_add_vertex_by_label
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_add_vertex_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_add_vertex_by_label_with_property
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_add_vertex_property_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_remove_vertex_by_label
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_remove_vertex_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_add_edge_by_label
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_add_edge_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_add_edge_by_label_with_property
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_add_edge_property_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_remove_edge_by_label
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_remove_edge_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_mutable_vertex_graph
-    : mpl::and_<
-        graph_has_add_vertex_by_label<Graph>,
-        graph_has_remove_vertex_by_label<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_mutable_vertex_property_graph
-    : mpl::and_<
-        graph_has_add_vertex_by_label<Graph>,
-        graph_has_remove_vertex_by_label<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_mutable_edge_graph
-    : mpl::and_<
-        graph_has_add_edge_by_label<Graph>,
-        graph_has_remove_edge_by_label<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_mutable_edge_property_graph
-    : mpl::and_<
-        graph_has_add_edge_by_label<Graph>,
-        graph_has_remove_edge_by_label<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_mutable_graph
-    : mpl::and_<
-        is_labeled_mutable_vertex_graph<Graph>,
-        is_labeled_mutable_edge_graph<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_mutable_property_graph
-    : mpl::and_<
-        is_labeled_mutable_vertex_property_graph<Graph>,
-        is_labeled_mutable_edge_property_graph<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_add_only_property_graph
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            labeled_add_only_property_graph_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct is_labeled_graph
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            label_vertex_tag
-        >::value
-    >
-{ };
-
-template <typename> struct graph_mutability_traits;
-
-namespace graph_detail {
-    // The determine mutability metafunction computes a labeled mutability tag
-    // based on the mutability of the given graph type. This is used by the
-    // graph_mutability_traits specialization below.
-    template <typename Graph>
-    struct determine_mutability {
-        typedef typename mpl::if_<
-            is_add_only_property_graph<Graph>,
-            labeled_add_only_property_graph_tag,
-            typename mpl::if_<
-                is_mutable_property_graph<Graph>,
-                labeled_mutable_property_graph_tag,
-                typename mpl::if_<
-                    is_mutable_graph<Graph>,
-                    labeled_mutable_graph_tag,
-                    typename mpl::if_<
-                        is_mutable_edge_graph<Graph>,
-                        labeled_graph_tag,
-                        typename graph_mutability_traits<Graph>::category
-                    >::type
-                >::type
-            >::type
-        >::type type;
-    };
-} // namespace graph_detail
-
-#define LABELED_GRAPH_PARAMS typename G, typename L, typename S
-#define LABELED_GRAPH labeled_graph<G,L,S>
-
-// Specialize mutability traits for the labeled graph.
-// This specialization depends on the mutability of the underlying graph type.
-// If the underlying graph is fully mutable, this is also fully mutable.
-// Otherwise, it's different.
-template <LABELED_GRAPH_PARAMS>
-struct graph_mutability_traits< LABELED_GRAPH > {
-    typedef typename graph_detail::determine_mutability<
-        typename LABELED_GRAPH::graph_type
-    >::type category;
-};
-
-#undef LABELED_GRAPH_PARAMS
-#undef LABELED_GRAPH
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/list_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/list_base.hpp
deleted file mode 100644
index 88d8316..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/list_base.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_LIST_BASE_HPP
-#define BOOST_LIST_BASE_HPP
-
-#include <boost/iterator_adaptors.hpp>
-
-// Perhaps this should go through formal review, and move to <boost/>.
-
-/*
-  An alternate interface idea:
-    Extend the std::list functionality by creating remove/insert
-    functions that do not require the container object!
- */
-
-namespace boost {
-  namespace detail {
-
-    //=========================================================================
-    // Linked-List Generic Implementation Functions
-
-    template <class Node, class Next>
-    inline Node
-    slist_insert_after(Node pos, Node x, 
-                       Next next)
-    {
-      next(x) = next(pos);
-      next(pos) = x;
-      return x;
-    }
-
-    // return next(pos) or next(next(pos)) ?
-    template <class Node, class Next>
-    inline Node
-    slist_remove_after(Node pos, 
-                       Next next)
-    {
-      Node n = next(pos);
-      next(pos) = next(n);
-      return n;
-    }
-
-    template <class Node, class Next>
-    inline Node
-    slist_remove_range(Node before_first, Node last, 
-                       Next next)
-    {
-      next(before_first) = last;
-      return last;
-    }
-
-    template <class Node, class Next>
-    inline Node
-    slist_previous(Node head, Node x, Node nil, 
-                   Next next)
-    {
-      while (head != nil && next(head) != x)
-        head = next(head);
-      return head;
-    }
-
-    template<class Node, class Next>
-    inline void
-    slist_splice_after(Node pos, Node before_first, Node before_last, 
-                       Next next)
-    {
-      if (pos != before_first && pos != before_last) {
-        Node first = next(before_first);
-        Node after = next(pos);
-        next(before_first) = next(before_last);
-        next(pos) = first;
-        next(before_last) = after;
-      }
-    }
-
-    template <class Node, class Next>
-    inline Node
-    slist_reverse(Node node, Node nil, 
-                  Next next)
-    {
-      Node result = node;
-      node = next(node);
-      next(result) = nil;
-      while(node) {
-        Node next = next(node);
-        next(node) = result;
-        result = node;
-        node = next;
-      }
-      return result;
-    }
-
-    template <class Node, class Next>
-    inline std::size_t
-    slist_size(Node head, Node nil, 
-               Next next)
-    {
-      std::size_t s = 0;
-      for ( ; head != nil; head = next(head))
-        ++s;
-      return s;
-    }
-
-    template <class Next, class Data>
-    class slist_iterator_policies
-    {
-    public:
-      explicit slist_iterator_policies(const Next& n, const Data& d)
-        : m_next(n), m_data(d) { }
-
-      template <class Reference, class Node>
-      Reference dereference(type<Reference>, const Node& x) const
-        { return m_data(x); }
-
-      template <class Node>
-      void increment(Node& x) const
-        { x = m_next(x); }
-
-      template <class Node>
-      bool equal(Node& x, Node& y) const
-        { return x == y; }
-
-    protected:
-      Next m_next;
-      Data m_data;
-    };
-
-  //===========================================================================
-  // Doubly-Linked List Generic Implementation Functions
-
-    template <class Node, class Next, class Prev>
-    inline void
-    dlist_insert_before(Node pos, Node x, 
-                        Next next, Prev prev)
-    {
-      next(x) = pos;
-      prev(x) = prev(pos);
-      next(prev(pos)) = x;
-      prev(pos) = x;
-    }
-
-    template <class Node, class Next, class Prev>
-    void
-    dlist_remove(Node pos, 
-                 Next next, Prev prev)
-    {
-      Node next_node = next(pos);
-      Node prev_node = prev(pos);
-      next(prev_node) = next_node;
-      prev(next_node) = prev_node;
-    }
-
-    // This deletes every node in the list except the
-    // sentinel node.
-    template <class Node, class Delete>
-    inline void
-    dlist_clear(Node sentinel, Delete del)
-    {
-      Node i, tmp;
-      i = next(sentinel);
-      while (i != sentinel) {
-        tmp = i;
-        i = next(i);
-        del(tmp);
-      }
-    }
-    
-    template <class Node>
-    inline bool
-    dlist_empty(Node dummy)
-    {
-      return next(dummy) == dummy;
-    }
-
-    template <class Node, class Next, class Prev>  
-    void
-    dlist_transfer(Node pos, Node first, Node last, 
-                   Next next, Prev prev)
-    {
-      if (pos != last) {
-        // Remove [first,last) from its old position
-        next(prev(last)) = pos;
-        next(prev(first)) = last;
-        next(prev(pos)) = first;
-
-        // Splice [first,last) into its new position
-        Node tmp = prev(pos);
-        prev(pos) = prev(last);
-        prev(last) = prev(first);
-        prev(first) = tmp;
-      }
-    }  
-
-    template <class Next, class Prev, class Data>
-    class dlist_iterator_policies
-      : public slist_iterator_policies<Next, Data>
-    {
-      typedef slist_iterator_policies<Next, Data> Base;
-    public:
-      template <class Node>
-      void decrement(Node& x) const
-        { x = m_prev(x); }
-
-      dlist_iterator_policies(Next n, Prev p, Data d) 
-        : Base(n,d), m_prev(p) { }
-    protected:
-      Prev m_prev;
-    };
-
-  } // namespace detail
-} // namespace boost
-
-#endif // BOOST_LIST_BASE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/permutation.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/permutation.hpp
deleted file mode 100644
index f1db906..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/permutation.hpp
+++ /dev/null
@@ -1,205 +0,0 @@
-// (C) Copyright Jeremy Siek 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_PERMUTATION_HPP
-#define BOOST_PERMUTATION_HPP
-
-#include <vector>
-#include <memory>
-#include <functional>
-#include <algorithm>
-#include <boost/graph/detail/shadow_iterator.hpp>
-
-namespace boost {
-
-template <class Iter1, class Iter2>
-void permute_serial(Iter1 permuter, Iter1 last, Iter2 result)
-{
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-  typedef std::ptrdiff_t D:
-#else
-  typedef typename std::iterator_traits<Iter1>::difference_type D;
-#endif
-
-  D n = 0;
-  while (permuter != last) {
-    std::swap(result[n], result[*permuter]);
-    ++n;
-    ++permuter;
-  }
-}
-
-template <class InIter, class RandIterP, class RandIterR>
-void permute_copy(InIter first, InIter last, RandIterP p, RandIterR result)
-{
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-  typedef std::ptrdiff_t i = 0;
-#else
-  typename std::iterator_traits<RandIterP>::difference_type i = 0;
-#endif
-  for (; first != last; ++first, ++i)
-    result[p[i]] = *first;
-}
-
-namespace detail {
-
-template <class RandIter, class RandIterPerm, class D, class T>
-void permute_helper(RandIter first, RandIter last, RandIterPerm p, D, T)
-{
-  D i = 0, pi, n = last - first, cycle_start;
-  T tmp;
-  std::vector<int> visited(n, false);
-
-  while (i != n) { // continue until all elements have been processed
-    cycle_start = i;
-    tmp = first[i];
-    do { // walk around a cycle
-      pi = p[i];
-      visited[pi] = true;
-      std::swap(tmp, first[pi]);
-      i = pi;
-    } while (i != cycle_start);
-    
-    // find the next cycle
-    for (i = 0; i < n; ++i)
-      if (visited[i] == false)
-        break;
-  }
-}
-
-} // namespace detail
-
-template <class RandIter, class RandIterPerm>
-void permute(RandIter first, RandIter last, RandIterPerm p)
-{
-  detail::permute_helper(first, last, p, last - first, *first);
-}
-
-
-// Knuth 1.3.3, Vol. 1 p 176
-// modified for zero-based arrays
-// time complexity?
-//
-// WARNING: T must be a signed integer!
-template <class PermIter>
-void invert_permutation(PermIter X, PermIter Xend)
-{
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-  typedef std::ptrdiff_t T:
-#else
-  typedef typename std::iterator_traits<PermIter>::value_type T;
-#endif
-  T n = Xend - X;
-  T m = n;
-  T j = -1;
-
-  while (m > 0) {
-    T i = X[m-1] + 1;
-    if (i > 0) {
-      do {
-        X[m-1] = j - 1;
-        j = -m;
-        m = i;
-        i = X[m-1] + 1;
-      } while (i > 0);
-      i = j;
-    }
-    X[m-1] = -i - 1;
-    --m;
-  }
-}
-
-// Takes a "normal" permutation array (and its inverse), and turns it
-// into a BLAS-style permutation array (which can be thought of as a
-// serialized permutation).
-template <class Iter1, class Iter2, class Iter3>
-inline void serialize_permutation(Iter1 q, Iter1 q_end, Iter2 q_inv, Iter3 p)
-{
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-  typedef std::ptrdiff_t P1;
-  typedef std::ptrdiff_t P2;
-  typedef std::ptrdiff_t D;
-#else
-  typedef typename std::iterator_traits<Iter1>::value_type P1;
-  typedef typename std::iterator_traits<Iter2>::value_type P2;
-  typedef typename std::iterator_traits<Iter1>::difference_type D;
-#endif
-  D n = q_end - q;
-  for (D i = 0; i < n; ++i) {
-    P1 qi = q[i];
-    P2 qii = q_inv[i];
-    *p++ = qii;
-    std::swap(q[i], q[qii]);
-    std::swap(q_inv[i], q_inv[qi]);
-  }
-}
-
-// Not used anymore, leaving it here for future reference.
-template <typename Iter, typename Compare>
-void merge_sort(Iter first, Iter last, Compare cmp)
-{
-  if (first + 1 < last) {
-    Iter mid = first + (last - first)/2;
-    merge_sort(first, mid, cmp);
-    merge_sort(mid, last, cmp);
-    std::inplace_merge(first, mid, last, cmp);
-  }
-}
-
-
-// time: N log N + 3N + ?
-// space: 2N
-template <class Iter, class IterP, class Cmp, class Alloc>
-inline void sortp(Iter first, Iter last, IterP p, Cmp cmp, Alloc alloc)
-{
-  typedef typename std::iterator_traits<IterP>::value_type P;
-  typedef typename std::iterator_traits<IterP>::difference_type D;
-  D n = last - first;
-  std::vector<P, Alloc> q(n);
-  for (D i = 0; i < n; ++i) 
-    q[i] = i;
-  std::sort(make_shadow_iter(first, q.begin()),
-            make_shadow_iter(last, q.end()),
-            shadow_cmp<Cmp>(cmp));
-  invert_permutation(q.begin(), q.end());
-  std::copy(q.begin(), q.end(), p);
-}
-
-template <class Iter, class IterP, class Cmp>
-inline void sortp(Iter first, Iter last, IterP p, Cmp cmp)
-{
-  typedef typename std::iterator_traits<IterP>::value_type P;  
-  sortp(first, last, p, cmp, std::allocator<P>());
-}
-
-template <class Iter, class IterP>
-inline void sortp(Iter first, Iter last, IterP p)
-{
-  typedef typename std::iterator_traits<Iter>::value_type T;  
-  typedef typename std::iterator_traits<IterP>::value_type P;  
-  sortp(first, last, p, std::less<T>(), std::allocator<P>());
-}
-
-template <class Iter, class IterP, class Cmp, class Alloc>
-inline void sortv(Iter first, Iter last, IterP p, Cmp cmp, Alloc alloc)
-{
-  typedef typename std::iterator_traits<IterP>::value_type P;
-  typedef typename std::iterator_traits<IterP>::difference_type D;
-  D n = last - first;
-  std::vector<P, Alloc> q(n), q_inv(n);
-  for (D i = 0; i < n; ++i) 
-    q_inv[i] = i;
-  std::sort(make_shadow_iter(first, q_inv.begin()), 
-            make_shadow_iter(last, q_inv.end()), 
-            shadow_cmp<Cmp>(cmp));
-  std::copy(q_inv, q_inv.end(), q.begin());
-  invert_permutation(q.begin(), q.end());
-  serialize_permutation(q.begin(), q.end(), q_inv.end(), p);
-}
-
-
-} // namespace boost
-
-#endif // BOOST_PERMUTATION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/read_graphviz_new.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/read_graphviz_new.hpp
deleted file mode 100644
index 7c7986d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/read_graphviz_new.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2004-9 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)
-
-//
-// read_graphviz_new.hpp - 
-//   Initialize a model of the BGL's MutableGraph concept and an associated
-//  collection of property maps using a graph expressed in the GraphViz
-// DOT Language.  
-//
-//   Based on the grammar found at:
-//   http://www.graphviz.org/cvs/doc/info/lang.html
-//
-//   Jeremiah rewrite used grammar found at:
-//   http://www.graphviz.org/doc/info/lang.html
-//   and page 34 or http://www.graphviz.org/pdf/dotguide.pdf
-//
-//   See documentation for this code at: 
-//     http://www.boost.org/libs/graph/doc/read-graphviz.html
-//
-
-// Author: Jeremiah Willcock
-//         Ronald Garcia
-//
-
-#ifndef BOOST_READ_GRAPHVIZ_NEW_HPP
-#define BOOST_READ_GRAPHVIZ_NEW_HPP
-
-#include <boost/ref.hpp>
-#include <boost/property_map/dynamic_property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/detail/workaround.hpp>
-#include <algorithm>
-#include <string>
-#include <vector>
-#include <set>
-#include <utility>
-#include <map>
-#include <iostream>
-#include <cstdlib>
-
-namespace boost {
-
-namespace read_graphviz_detail {
-  typedef std::string node_name;
-  typedef std::string subgraph_name;
-
-  typedef std::map<std::string, std::string> properties;
-
-  struct node_and_port {
-    node_name name;
-    std::string angle; // Or empty if no angle
-    std::vector<std::string> location; // Up to two identifiers
-
-    friend inline bool operator==(const node_and_port& a, const node_and_port& b) {
-      return a.name == b.name &&
-             a.angle == b.angle &&
-             a.location == b.location;
-    }
-
-    friend inline bool operator<(const node_and_port& a, const node_and_port& b) {
-      if (a.name != b.name) return a.name < b.name;
-      if (a.angle != b.angle) return a.angle < b.angle;
-      return a.location < b.location;
-    }
-  };
-
-  struct edge_info {
-    node_and_port source;
-    node_and_port target;
-    properties props;
-  };
-
-  struct parser_result {
-    bool graph_is_directed;
-    bool graph_is_strict;
-    std::map<node_name, properties> nodes; // Global set
-    std::vector<edge_info> edges;
-    std::map<subgraph_name, properties> graph_props; // Root and subgraphs
-  };
-
-  // The actual parser, from libs/graph/src/read_graphviz_new.cpp
-  void parse_graphviz_from_string(const std::string& str, parser_result& result, bool want_directed);
-
-  // Translate from those results to a graph
-  void translate_results_to_graph(const parser_result& r, ::boost::detail::graph::mutate_graph* mg);
-
-} // namespace read_graphviz_detail
-
-namespace detail {
-  namespace graph {
-    BOOST_GRAPH_DECL bool read_graphviz_new(const std::string& str, boost::detail::graph::mutate_graph* mg);
-  } // end namespace graph
-} // end namespace detail
-
-template <typename MutableGraph>
-bool read_graphviz_new(const std::string& str,
-                       MutableGraph& graph, boost::dynamic_properties& dp,
-                       std::string const& node_id = "node_id") {
-  boost::detail::graph::mutate_graph_impl<MutableGraph> mg(graph, dp, node_id);
-  return detail::graph::read_graphviz_new(str, &mg);
-}
-
-} // namespace boost
-
-#endif // BOOST_READ_GRAPHVIZ_NEW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/read_graphviz_spirit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/read_graphviz_spirit.hpp
deleted file mode 100644
index 9946469..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/read_graphviz_spirit.hpp
+++ /dev/null
@@ -1,614 +0,0 @@
-// Copyright 2004-9 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)
-
-//
-// read_graphviz_spirit.hpp - 
-//   Initialize a model of the BGL's MutableGraph concept and an associated
-//  collection of property maps using a graph expressed in the GraphViz
-// DOT Language.  
-//
-//   Based on the grammar found at:
-//   http://www.graphviz.org/cvs/doc/info/lang.html
-//
-//   See documentation for this code at: 
-//     http://www.boost.org/libs/graph/doc/read-graphviz.html
-//
-
-// Author: Ronald Garcia
-//
-
-#ifndef BOOST_READ_GRAPHVIZ_SPIRIT_HPP
-#define BOOST_READ_GRAPHVIZ_SPIRIT_HPP
-
-// Phoenix/Spirit set these limits to 3, but I need more.
-#define PHOENIX_LIMIT 6
-#define BOOST_SPIRIT_CLOSURE_LIMIT 6
-
-
-#include <boost/spirit/include/classic_multi_pass.hpp>
-#include <boost/spirit/include/classic_core.hpp>
-#include <boost/spirit/include/classic_confix.hpp>
-#include <boost/spirit/include/classic_distinct.hpp>
-#include <boost/spirit/include/classic_lists.hpp>
-#include <boost/spirit/include/classic_escape_char.hpp>
-#include <boost/spirit/include/classic_attribute.hpp>
-#include <boost/spirit/include/classic_dynamic.hpp>
-#include <boost/spirit/include/classic_actor.hpp>
-#include <boost/spirit/include/classic_closure.hpp>
-#include <boost/spirit/include/phoenix1.hpp>
-#include <boost/spirit/include/phoenix1_binders.hpp>
-#include <boost/ref.hpp>
-#include <boost/function/function2.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/property_map/dynamic_property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/detail/workaround.hpp>
-#include <algorithm>
-#include <exception> // for std::exception
-#include <string>
-#include <vector>
-#include <set>
-#include <utility>
-#include <map>
-#include <boost/graph/graphviz.hpp>
-#include <boost/throw_exception.hpp>
-
-namespace phoenix {
-// Workaround:  std::map::operator[] uses a different return type than all
-// other standard containers.  Phoenix doesn't account for that.
-template <typename TK, typename T0, typename T1>
-struct binary_operator<index_op, std::map<TK,T0>, T1>
-{
-    typedef typename std::map<TK,T0>::mapped_type& result_type;
-    static result_type eval(std::map<TK,T0>& container, T1 const& index)
-    { return container[index]; }
-};
-} // namespace phoenix
-
-namespace boost {
-namespace detail {
-namespace graph {
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Application-specific type definitions
-/////////////////////////////////////////////////////////////////////////////
-
-typedef std::set<edge_t> edges_t;
-typedef std::set<node_t> nodes_t;
-typedef std::set<id_t> ids_t;
-typedef std::map<edge_t,ids_t> edge_map_t;
-typedef std::map<node_t,ids_t> node_map_t;
-typedef std::map<id_t,id_t> props_t;
-typedef std::map<id_t,props_t> subgraph_props_t;
-typedef boost::function2<void, id_t const&, id_t const&> actor_t;
-typedef std::vector<edge_t> edge_stack_t;
-typedef std::map<id_t,nodes_t> subgraph_nodes_t;
-typedef std::map<id_t,edges_t> subgraph_edges_t;
-
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Stack frames used by semantic actions
-/////////////////////////////////////////////////////////////////////////////
-struct id_closure : boost::spirit::classic::closure<id_closure, node_t> {
-  member1 name;
-};
-
-
-struct node_id_closure : boost::spirit::classic::closure<node_id_closure, node_t> {
-  member1 name;
-};
-
-struct attr_list_closure : boost::spirit::classic::closure<attr_list_closure, actor_t> {
-  member1 prop_actor;
-};
-
-struct property_closure : boost::spirit::classic::closure<property_closure, id_t, id_t> {
-  member1 key;
-  member2 value;
-};
-
-struct data_stmt_closure : boost::spirit::classic::closure<data_stmt_closure,
-                           nodes_t,nodes_t,edge_stack_t,bool,node_t> {
-  member1 sources;
-  member2 dests;
-  member3 edge_stack;
-  member4 saw_node;
-  member5 active_node;
-};
-
-struct subgraph_closure : boost::spirit::classic::closure<subgraph_closure,
-                          nodes_t, edges_t, node_t> {
-  member1 nodes;
-  member2 edges;
-  member3 name;
-};
-
-/////////////////////////////////////////////////////////////////////////////
-// Grammar and Actions for the DOT Language
-/////////////////////////////////////////////////////////////////////////////
-
-// Grammar for a dot file.
-struct dot_grammar : public boost::spirit::classic::grammar<dot_grammar> { 
-  mutate_graph& graph_;
-  explicit dot_grammar(mutate_graph& graph) : graph_(graph) { }
-
-  template <class ScannerT>
-  struct definition {
-   
-    definition(dot_grammar const& self) : self(self), subgraph_depth(0),
-    keyword_p("0-9a-zA-Z_") {
-      using namespace boost::spirit::classic;
-      using namespace phoenix;
-      
-      // RG - Future Work
-      // - Handle multi-line strings using \ line continuation
-      // - Make keywords case insensitive
-      ID 
-          = ( lexeme_d[((alpha_p | ch_p('_')) >> *(alnum_p | ch_p('_')))]
-            | real_p
-            | lexeme_d[confix_p('"', *c_escape_ch_p, '"')]
-            | comment_nest_p('<', '>')
-            )[ID.name = construct_<std::string>(arg1,arg2)]
-          ; 
-
-      a_list
-          = list_p( ID[(a_list.key = arg1),
-                       (a_list.value = "true")
-                      ]
-                    >> !( ch_p('=')
-                          >> ID[a_list.value = arg1])
-                          [phoenix::bind(&definition::call_prop_actor)
-                          (var(*this),a_list.key,a_list.value)],!ch_p(','));
-      
-      attr_list = +(ch_p('[') >> !a_list >> ch_p(']'));
-
-      // RG - disregard port id's for now.
-      port_location 
-          = (ch_p(':') >> ID)
-          | (ch_p(':') >> ch_p('(') >> ID >> ch_p(',') >> ID >> ch_p(')'))
-          ;
-
-      port_angle = ch_p('@') >> ID;
-
-      port
-          = port_location >> (!port_angle)
-          | port_angle >> (!port_location);
-
-
-      node_id
-          = ( ID[node_id.name = arg1] >> (!port) )
-             [phoenix::bind(&definition::memoize_node)(var(*this))];
-
-      graph_stmt
-          = (ID[graph_stmt.key = arg1] >>
-             ch_p('=') >>
-             ID[graph_stmt.value = arg1])
-        [phoenix::bind(&definition::call_graph_prop)
-         (var(*this),graph_stmt.key,graph_stmt.value)]
-        ; // Graph property.
-
-      attr_stmt
-          = (as_lower_d[keyword_p("graph")]
-             >> attr_list(actor_t(phoenix::bind(&definition::default_graph_prop)
-                                     (var(*this),arg1,arg2))))
-          | (as_lower_d[keyword_p("node")]
-             >> attr_list(actor_t(phoenix::bind(&definition::default_node_prop)
-                                     (var(*this),arg1,arg2))))
-          | (as_lower_d[keyword_p("edge")]
-             >> attr_list(actor_t(phoenix::bind(&definition::default_edge_prop)
-                                     (var(*this),arg1,arg2))))
-          ;
-
-      // edge_head is set depending on the graph type (directed/undirected)
-      edgeop = ch_p('-') >> ch_p(boost::ref(edge_head));
-
-      edgeRHS
-          =  +(    edgeop[(data_stmt.sources = data_stmt.dests),
-                          (data_stmt.dests = construct_<nodes_t>())]
-                   >> ( subgraph[data_stmt.dests = arg1]
-                      | node_id[phoenix::bind(&definition::insert_node)
-                                (var(*this),data_stmt.dests,arg1)]
-                      )
-                   [phoenix::bind(&definition::activate_edge)
-                    (var(*this),data_stmt.sources,data_stmt.dests,
-                     var(edges), var(default_edge_props))]
-              );
-      
-
-      // To avoid backtracking, edge, node, and subgraph statements are
-      // processed as one nonterminal.
-      data_stmt
-          = ( subgraph[(data_stmt.dests = arg1),// will get moved in rhs
-                       (data_stmt.saw_node = false)] 
-            | node_id[(phoenix::bind(&definition::insert_node)
-                       (var(*this),data_stmt.dests,arg1)),
-                      (data_stmt.saw_node = true),
-#ifdef BOOST_GRAPH_DEBUG
-                      (std::cout << val("AcTive Node: ") << arg1 << "\n"),
-#endif // BOOST_GRAPH_DEBUG
-                      (data_stmt.active_node = arg1)]
-            ) >> if_p(edgeRHS)[
-                     !attr_list(
-                       actor_t(phoenix::bind(&definition::edge_prop)
-                               (var(*this),arg1,arg2)))
-                  ].else_p[
-                     if_p(data_stmt.saw_node)[
-                         !attr_list(
-                           actor_t(phoenix::bind(&definition::node_prop)
-                                   (var(*this),arg1,arg2)))
-                     ] // otherwise it's a subgraph, nothing more to do.
-                  ];
-
-
-      stmt
-          = graph_stmt 
-          | attr_stmt
-          | data_stmt
-          ;
-
-      stmt_list = *( stmt >> !ch_p(';') );
-
-      subgraph
-          = !(  as_lower_d[keyword_p("subgraph")]
-                >> (!ID[(subgraph.name = arg1), 
-                        (subgraph.nodes = (var(subgraph_nodes))[arg1]),
-                        (subgraph.edges = (var(subgraph_edges))[arg1])])
-                )
-          >> ch_p('{')[++var(subgraph_depth)]
-          >> stmt_list 
-          >> ch_p('}')[--var(subgraph_depth)]
-                      [(var(subgraph_nodes))[subgraph.name] = subgraph.nodes]
-                      [(var(subgraph_edges))[subgraph.name] = subgraph.edges]
-                     
-          | as_lower_d[keyword_p("subgraph")]
-                >> ID[(subgraph.nodes = (var(subgraph_nodes))[arg1]),
-                      (subgraph.edges = (var(subgraph_edges))[arg1])]
-          ;
-
-      the_grammar
-          = (!as_lower_d[keyword_p("strict")])
-            >>  ( as_lower_d[keyword_p("graph")][
-                   (var(edge_head) = '-'),
-                   (phoenix::bind(&definition::check_undirected)(var(*this)))]
-                | as_lower_d[keyword_p("digraph")][
-                   (var(edge_head) = '>'),
-                   (phoenix::bind(&definition::check_directed)(var(*this)))]
-                )
-            >> (!ID) >> ch_p('{') >> stmt_list >> ch_p('}');
-
-    } // definition()
-
-    typedef boost::spirit::classic::rule<ScannerT> rule_t;
-
-    rule_t const& start() const { return the_grammar; }
-
-
-    //  
-    // Semantic actions
-    //
-
-    void check_undirected() {
-      if(self.graph_.is_directed())
-          boost::throw_exception(boost::undirected_graph_error());
-    }
-
-    void check_directed() {
-      if(!self.graph_.is_directed())
-          boost::throw_exception(boost::directed_graph_error());
-    }
-    
-    void memoize_node() {
-      id_t const& node = node_id.name();
-      props_t& node_props = default_node_props; 
-
-      if(nodes.find(node) == nodes.end()) {
-        nodes.insert(node);
-        self.graph_.do_add_vertex(node);
-
-        node_map.insert(std::make_pair(node,ids_t()));
-
-#ifdef BOOST_GRAPH_DEBUG
-        std::cout << "Add new node " << node << std::endl;
-#endif // BOOST_GRAPH_DEBUG
-        // Set the default properties for this edge
-        // RG: Here I  would actually set the properties
-        for(props_t::iterator i = node_props.begin();
-            i != node_props.end(); ++i) {
-          set_node_property(node,i->first,i->second);
-        }
-        if(subgraph_depth > 0) {
-          subgraph.nodes().insert(node);
-          // Set the subgraph's default properties as well
-          props_t& props = subgraph_node_props[subgraph.name()];
-          for(props_t::iterator i = props.begin(); i != props.end(); ++i) {
-            set_node_property(node,i->first,i->second);
-          }
-        }
-      } else {
-#ifdef BOOST_GRAPH_DEBUG
-        std::cout << "See node " << node << std::endl;
-#endif // BOOST_GRAPH_DEBUG
-      }
-    }
-
-    void activate_edge(nodes_t& sources, nodes_t& dests, edges_t& edges,
-                       props_t& edge_props) {
-      edge_stack_t& edge_stack = data_stmt.edge_stack();
-      for(nodes_t::iterator i = sources.begin(); i != sources.end(); ++i) {
-        for(nodes_t::iterator j = dests.begin(); j != dests.end(); ++j) {
-          // Create the edge and push onto the edge stack.
-#ifdef BOOST_GRAPH_DEBUG
-          std::cout << "Edge " << *i << " to " << *j << std::endl;
-#endif // BOOST_GRAPH_DEBUG
-
-          edge_t edge = edge_t::new_edge();
-          edge_stack.push_back(edge);
-          edges.insert(edge);
-          edge_map.insert(std::make_pair(edge,ids_t()));
-
-          // Add the real edge.
-          self.graph_.do_add_edge(edge, *i, *j);
-
-          // Set the default properties for this edge
-          for(props_t::iterator k = edge_props.begin();
-              k != edge_props.end(); ++k) {
-            set_edge_property(edge,k->first,k->second);
-          }
-          if(subgraph_depth > 0) {
-            subgraph.edges().insert(edge);
-            // Set the subgraph's default properties as well
-            props_t& props = subgraph_edge_props[subgraph.name()];
-            for(props_t::iterator k = props.begin(); k != props.end(); ++k) {
-              set_edge_property(edge,k->first,k->second);
-            }
-          }
-        }
-      }
-    }
-
-    // node_prop - Assign the property for the current active node.
-    void node_prop(id_t const& key, id_t const& value) {
-      node_t& active_object = data_stmt.active_node();
-      set_node_property(active_object, key, value);
-    }
-
-    // edge_prop - Assign the property for the current active edges.
-    void edge_prop(id_t const& key, id_t const& value) {
-      edge_stack_t const& active_edges_ = data_stmt.edge_stack();
-      for (edge_stack_t::const_iterator i = active_edges_.begin();
-           i != active_edges_.end(); ++i) {
-        set_edge_property(*i,key,value);
-      }
-    }
-
-    // default_graph_prop - Store as a graph property.
-    void default_graph_prop(id_t const& key, id_t const& value) {
-#ifdef BOOST_GRAPH_DEBUG
-      std::cout << key << " = " << value << std::endl;
-#endif // BOOST_GRAPH_DEBUG
-        self.graph_.set_graph_property(key, value);
-    }
-
-    // default_node_prop - declare default properties for any future new nodes
-    void default_node_prop(id_t const& key, id_t const& value) {
-      nodes_t& nodes_ =
-        subgraph_depth == 0 ? nodes : subgraph.nodes();
-      props_t& node_props_ =
-        subgraph_depth == 0 ?
-        default_node_props :
-        subgraph_node_props[subgraph.name()];
-
-      // add this to the selected list of default node properties.
-      node_props_[key] = value;
-      // for each node, set its property to default-constructed value 
-      //   if it hasn't been set already.
-      // set the dynamic property map value
-      for(nodes_t::iterator i = nodes_.begin(); i != nodes_.end(); ++i)
-        if(node_map[*i].find(key) == node_map[*i].end()) {
-          set_node_property(*i,key,id_t());
-        }
-    }
-
-    // default_edge_prop - declare default properties for any future new edges
-   void default_edge_prop(id_t const& key, id_t const& value) {
-      edges_t& edges_ =
-        subgraph_depth == 0 ? edges : subgraph.edges();
-      props_t& edge_props_ =
-        subgraph_depth == 0 ?
-        default_edge_props :
-        subgraph_edge_props[subgraph.name()];
-  
-      // add this to the list of default edge properties.
-      edge_props_[key] = value;
-      // for each edge, set its property to be empty string
-      // set the dynamic property map value
-      for(edges_t::iterator i = edges_.begin(); i != edges_.end(); ++i)
-        if(edge_map[*i].find(key) == edge_map[*i].end())
-          set_edge_property(*i,key,id_t());
-    }
-
-    // helper function
-    void insert_node(nodes_t& nodes, id_t const& name) {
-      nodes.insert(name);
-    }
-
-    void call_prop_actor(std::string const& lhs, std::string const& rhs) {
-      actor_t& actor = attr_list.prop_actor();
-      // If first and last characters of the rhs are double-quotes,
-      // remove them.
-      if (!rhs.empty() && rhs[0] == '"' && rhs[rhs.size() - 1] == '"')
-        actor(lhs, rhs.substr(1, rhs.size()-2));
-      else
-        actor(lhs,rhs);
-    }
-
-    void call_graph_prop(std::string const& lhs, std::string const& rhs) {
-      // If first and last characters of the rhs are double-quotes,
-      // remove them.
-      if (!rhs.empty() && rhs[0] == '"' && rhs[rhs.size() - 1] == '"')
-        this->default_graph_prop(lhs, rhs.substr(1, rhs.size()-2));
-      else
-        this->default_graph_prop(lhs,rhs);
-    }
-
-    void set_node_property(node_t const& node, id_t const& key,
-                           id_t const& value) {
-
-      // Add the property key to the "set" table to avoid default overwrite
-      node_map[node].insert(key);
-      // Set the user's property map
-      self.graph_.set_node_property(key, node, value);
-#ifdef BOOST_GRAPH_DEBUG
-      // Tell the world
-      std::cout << node << ": " << key << " = " << value << std::endl;
-#endif // BOOST_GRAPH_DEBUG
-    }
-
-    void set_edge_property(edge_t const& edge, id_t const& key,
-                           id_t const& value) {
-
-      // Add the property key to the "set" table to avoid default overwrite
-      edge_map[edge].insert(key);
-      // Set the user's property map
-      self.graph_.set_edge_property(key, edge, value);
-#ifdef BOOST_GRAPH_DEBUG
-      // Tell the world
-#if 0 // RG - edge representation changed, 
-            std::cout << "(" << edge.first << "," << edge.second << "): "
-#else
-            std::cout << "an edge: " 
-#endif // 0
-                << key << " = " << value << std::endl;
-#endif // BOOST_GRAPH_DEBUG
-    }
-
-    // Variables explicitly initialized
-    dot_grammar const& self;
-    // if subgraph_depth > 0, then we're processing a subgraph.
-    int subgraph_depth; 
-
-    // Keywords;
-    const boost::spirit::classic::distinct_parser<> keyword_p;
-    //
-    // rules that make up the grammar
-    //
-    boost::spirit::classic::rule<ScannerT,id_closure::context_t> ID;
-    boost::spirit::classic::rule<ScannerT,property_closure::context_t> a_list;
-    boost::spirit::classic::rule<ScannerT,attr_list_closure::context_t> attr_list;
-    rule_t port_location;
-    rule_t port_angle;
-    rule_t port;
-    boost::spirit::classic::rule<ScannerT,node_id_closure::context_t> node_id;
-    boost::spirit::classic::rule<ScannerT,property_closure::context_t> graph_stmt;
-    rule_t attr_stmt;
-    boost::spirit::classic::rule<ScannerT,data_stmt_closure::context_t> data_stmt;
-    boost::spirit::classic::rule<ScannerT,subgraph_closure::context_t> subgraph;
-    rule_t edgeop;
-    rule_t edgeRHS;
-    rule_t stmt;
-    rule_t stmt_list;
-    rule_t the_grammar;
-
-    
-    // The grammar uses edge_head to dynamically set the syntax for edges
-    // directed graphs: edge_head = '>', and so edgeop = "->"
-    // undirected graphs: edge_head = '-', and so edgeop = "--"
-    char edge_head;
-
-
-    // 
-    // Support data structures
-    //
-
-    nodes_t nodes;  // list of node names seen
-    edges_t edges;  // list of edges seen
-    node_map_t node_map; // remember the properties set for each node
-    edge_map_t edge_map; // remember the properties set for each edge
-
-    subgraph_nodes_t subgraph_nodes;   // per-subgraph lists of nodes
-    subgraph_edges_t subgraph_edges;   // per-subgraph lists of edges
-    
-    props_t default_node_props;  // global default node properties
-    props_t default_edge_props;  // global default edge properties
-    subgraph_props_t subgraph_node_props;  // per-subgraph default node properties
-    subgraph_props_t subgraph_edge_props;  // per-subgraph default edge properties
-  }; // struct definition
-}; // struct dot_grammar
-
-
-
-//
-// dot_skipper - GraphViz whitespace and comment skipper
-//
-struct dot_skipper : public boost::spirit::classic::grammar<dot_skipper>
-{
-    dot_skipper() {}
-
-    template <typename ScannerT>
-    struct definition
-    {
-        definition(dot_skipper const& /*self*/)  {
-          using namespace boost::spirit::classic;
-          using namespace phoenix;
-          // comment forms
-          skip = eol_p >> comment_p("#")  
-               | space_p
-               | comment_p("//")                 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-               | confix_p(str_p("/*") ,*anychar_p, str_p("*/"))
-#else
-               | confix_p("/*" ,*anychar_p, "*/")
-#endif
-               ;
-
-#ifdef BOOST_SPIRIT_DEBUG
-               BOOST_SPIRIT_DEBUG_RULE(skip);
-#endif
-        }
-
-      boost::spirit::classic::rule<ScannerT>  skip;
-      boost::spirit::classic::rule<ScannerT> const&
-      start() const { return skip; }
-    }; // definition
-}; // dot_skipper
-
-} // namespace graph
-} // namespace detail
-
-template <typename MultiPassIterator, typename MutableGraph>
-bool read_graphviz_spirit(MultiPassIterator begin, MultiPassIterator end,
-                          MutableGraph& graph, dynamic_properties& dp,
-                          std::string const& node_id = "node_id") {
-  using namespace boost;
-  using namespace boost::spirit::classic;
-
-  typedef MultiPassIterator iterator_t;
-  typedef skip_parser_iteration_policy< boost::detail::graph::dot_skipper>
-    iter_policy_t;
-  typedef scanner_policies<iter_policy_t> scanner_policies_t;
-  typedef scanner<iterator_t, scanner_policies_t> scanner_t;
-
-  ::boost::detail::graph::mutate_graph_impl<MutableGraph> 
-      m_graph(graph, dp, node_id);
-
-  ::boost::detail::graph::dot_grammar p(m_graph);
-  ::boost::detail::graph::dot_skipper skip_p;
-
-  iter_policy_t iter_policy(skip_p);
-  scanner_policies_t policies(iter_policy);
-
-  scanner_t scan(begin, end, policies);
-
-  bool ok = p.parse(scan);
-  m_graph.finish_building_graph();
-  return ok;
-}
-
-} // namespace boost
-
-#endif // BOOST_READ_GRAPHVIZ_SPIRIT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/self_avoiding_walk.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/self_avoiding_walk.hpp
deleted file mode 100644
index c171897..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/self_avoiding_walk.hpp
+++ /dev/null
@@ -1,418 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_SELF_AVOIDING_WALK_HPP
-#define BOOST_SELF_AVOIDING_WALK_HPP
-
-/*
-  This file defines necessary components for SAW. 
-
-  mesh language: (defined by myself to clearify what is what)
-  A triangle in mesh is called an triangle.
-  An edge in mesh is called an line. 
-  A vertex in mesh is called a point.
-
-  A triangular mesh corresponds to a graph in which a vertex is a
-  triangle and an edge(u, v) stands for triangle u and triangle v 
-  share an line.
-
-  After this point, a vertex always refers to vertex in graph,
-  therefore it is a traingle in mesh. 
-
- */
-
-#include <utility>
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-
-#define SAW_SENTINAL -1
-
-namespace boost {
-
-  template <class T1, class T2, class T3>
-  struct triple {
-    T1 first;
-    T2 second;
-    T3 third;
-    triple(const T1& a, const T2& b, const T3& c) : first(a), second(b), third(c) {}
-    triple() : first(SAW_SENTINAL), second(SAW_SENTINAL), third(SAW_SENTINAL) {}
-  };
- 
-  typedef triple<int, int, int> Triple;
-
-  /* Define a vertex property which has a triangle inside. Triangle is
-    represented by a triple.  */
-  struct triangle_tag { enum { num = 100 }; };
-  typedef property<triangle_tag,Triple> triangle_property;
-
-  /* Define an edge property with a line. A line is represented by a
-    pair.  This is not required for SAW though.
-  */
-  struct line_tag { enum { num = 101 }; };
-  template <class T> struct line_property
-    : public property<line_tag, std::pair<T,T> > { };
-
-  /*Precondition: Points in a Triangle are in order */
-  template <class Triangle, class Line>
-  inline void get_sharing(const Triangle& a, const Triangle& b, Line& l)
-  {
-    l.first = SAW_SENTINAL;
-    l.second = SAW_SENTINAL;
-
-    if ( a.first == b.first ) {
-      l.first = a.first;
-      if ( a.second == b.second || a.second == b.third )
-        l.second = a.second;
-      else if ( a.third == b.second || a.third == b.third )
-        l.second = a.third; 
-
-    }  else if ( a.first == b.second ) {
-      l.first = a.first;
-      if ( a.second == b.third )
-        l.second = a.second;
-      else if ( a.third == b.third )
-        l.second = a.third; 
-
-    } else if ( a.first == b.third ) {
-      l.first = a.first;
-
-
-    } else if ( a.second == b.first ) {
-      l.first = a.second;
-      if ( a.third == b.second || a.third == b.third )
-        l.second = a.third;
-
-    } else if ( a.second == b.second ) {
-      l.first = a.second;
-      if ( a.third == b.third ) 
-        l.second = a.third;
-
-    } else if ( a.second == b.third ) {
-      l.first = a.second;
-
-
-    } else if ( a.third == b.first 
-                || a.third == b.second  
-                || a.third == b.third )
-      l.first = a.third; 
-
-    /*Make it in order*/
-    if ( l.first > l.second ) {
-      typename Line::first_type i = l.first;
-      l.first = l.second;
-      l.second = i;
-    }
-
-  }
-
-  template <class TriangleDecorator, class Vertex, class Line>
-  struct get_vertex_sharing {
-    typedef std::pair<Vertex, Line> Pair;
-    get_vertex_sharing(const TriangleDecorator& _td) : td(_td) {}
-    inline Line operator()(const Vertex& u, const Vertex& v) const {
-      Line l;
-      get_sharing(td[u], td[v], l);
-      return l;
-    }
-    inline Line operator()(const Pair& u, const Vertex& v) const {
-      Line l;
-      get_sharing(td[u.first], td[v], l);
-      return l;
-    }
-    inline Line operator()(const Pair& u, const Pair& v) const {
-      Line l;
-      get_sharing(td[u.first], td[v.first], l);
-      return l;
-    }
-    TriangleDecorator td;
-  };
-  
-  /* HList has to be a handle of data holder so that pass-by-value is
-   * in right logic.
-   *
-   * The element of HList is a pair of vertex and line. (remember a
-   * line is a pair of two ints.). That indicates the walk w from
-   * current vertex is across line. (If the first of line is -1, it is
-   * a point though.
-   */
-  template < class TriangleDecorator, class HList, class IteratorD>
-  class SAW_visitor
-    : public bfs_visitor<>, public dfs_visitor<>
-  {
-    typedef typename boost::property_traits<IteratorD>::value_type iter;
-    /*use boost shared_ptr*/
-    typedef typename HList::element_type::value_type::second_type     Line;
-  public:
-
-    typedef tree_edge_tag category;
-
-    inline SAW_visitor(TriangleDecorator _td, HList _hlist, IteratorD ia)
-      : td(_td), hlist(_hlist), iter_d(ia) {}
-
-    template <class Vertex, class Graph>
-    inline void start_vertex(Vertex v, Graph&) {
-      Line l1;
-      l1.first = SAW_SENTINAL;
-      l1.second = SAW_SENTINAL;
-      hlist->push_front(std::make_pair(v, l1));
-      iter_d[v] = hlist->begin();
-    }
-
-    /*Several symbols:
-      w(i): i-th triangle in walk w
-      w(i) |- w(i+1): w enter w(i+1) from w(i) over a line
-      w(i) ~> w(i+1): w enter w(i+1) from w(i) over a point
-      w(i) -> w(i+1): w enter w(i+1) from w(i)
-      w(i) ^ w(i+1): the line or point w go over from w(i) to w(i+1)
-    */
-    template <class Edge, class Graph>
-    bool tree_edge(Edge e, Graph& G) {
-          using std::make_pair;
-      typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
-      Vertex tau = target(e, G);
-      Vertex i   = source(e, G); 
-
-      get_vertex_sharing<TriangleDecorator, Vertex, Line> get_sharing_line(td);
-      
-      Line tau_i = get_sharing_line(tau, i);
-      
-      iter w_end = hlist->end();
-
-      iter w_i = iter_d[i];
-
-      iter w_i_m_1 = w_i;
-      iter w_i_p_1 = w_i;
-
-      /*----------------------------------------------------------
-       *             true             false
-       *==========================================================
-       *a       w(i-1) |- w(i)    w(i-1) ~> w(i) or w(i-1) is null
-       *----------------------------------------------------------
-       *b       w(i) |- w(i+1)    w(i) ~> w(i+1) or no w(i+1) yet
-       *----------------------------------------------------------
-       */
-      
-      bool a = false, b = false;
-
-      --w_i_m_1;
-      ++w_i_p_1;
-      b = ( w_i->second.first != SAW_SENTINAL );
-
-      if ( w_i_m_1 != w_end ) {
-        a = ( w_i_m_1->second.first != SAW_SENTINAL );
-      }      
-      
-      if ( a ) {
-        
-        if ( b ) {
-          /*Case 1: 
-            
-            w(i-1) |- w(i) |- w(i+1)
-          */
-          Line l1 = get_sharing_line(*w_i_m_1, tau);
-
-          iter w_i_m_2 = w_i_m_1;
-          --w_i_m_2;
-
-          bool c = true;
-          
-          if ( w_i_m_2 != w_end ) {
-            c = w_i_m_2->second != l1;
-          }
-
-          if ( c ) {  /* w(i-1) ^ tau != w(i-2) ^ w(i-1)  */
-            /*extension: w(i-1) -> tau |- w(i) */
-            w_i_m_1->second = l1;
-            /*insert(pos, const T&) is to insert before pos*/
-            iter_d[tau] = hlist->insert(w_i, make_pair(tau, tau_i));  
-            
-          } else {  /* w(i-1) ^ tau == w(i-2) ^ w(i-1)  */
-            /*must be w(i-2) ~> w(i-1) */
-            
-            bool d = true;
-            //need to handle the case when w_i_p_1 is null
-            Line l3 = get_sharing_line(*w_i_p_1, tau);
-            if ( w_i_p_1 != w_end )
-              d = w_i_p_1->second != l3;
-            if ( d ) { /* w(i+1) ^ tau != w(i+1) ^ w(i+2) */
-              /*extension: w(i) |- tau -> w(i+1) */
-              w_i->second = tau_i;
-              iter_d[tau] = hlist->insert(w_i_p_1, make_pair(tau, l3));
-            } else { /* w(i+1) ^ tau == w(i+1) ^ w(i+2) */
-              /*must be w(1+1) ~> w(i+2) */
-              Line l5 = get_sharing_line(*w_i_m_1, *w_i_p_1);
-              if ( l5 != w_i_p_1->second ) { /* w(i-1) ^ w(i+1) != w(i+1) ^ w(i+2) */
-                /*extension: w(i-2) -> tau |- w(i) |- w(i-1) -> w(i+1) */
-                w_i_m_2->second = get_sharing_line(*w_i_m_2, tau);
-                iter_d[tau] = hlist->insert(w_i, make_pair(tau, tau_i));
-                w_i->second = w_i_m_1->second;
-                w_i_m_1->second = l5;
-                iter_d[w_i_m_1->first] = hlist->insert(w_i_p_1, *w_i_m_1);
-                hlist->erase(w_i_m_1);
-              } else {
-                /*mesh is tetrahedral*/
-                // dont know what that means.
-                ;
-              }
-            }
-            
-          }
-        } else { 
-          /*Case 2:
-            
-            w(i-1) |- w(i) ~> w(1+1)
-          */
-          
-          if ( w_i->second.second == tau_i.first 
-               || w_i->second.second == tau_i.second ) {  /*w(i) ^ w(i+1) < w(i) ^ tau*/
-            /*extension: w(i) |- tau -> w(i+1) */
-            w_i->second = tau_i;
-            Line l1 = get_sharing_line(*w_i_p_1, tau);
-            iter_d[tau] = hlist->insert(w_i_p_1, make_pair(tau, l1));
-          } else { /*w(i) ^ w(i+1) !< w(i) ^ tau*/
-            Line l1 = get_sharing_line(*w_i_m_1, tau);
-            bool c = true;
-            iter w_i_m_2 = w_i_m_1;
-            --w_i_m_2;
-            if ( w_i_m_2 != w_end )
-              c =  l1 != w_i_m_2->second;
-            if (c) { /*w(i-1) ^ tau != w(i-2) ^ w(i-1)*/
-              /*extension: w(i-1) -> tau |- w(i)*/
-              w_i_m_1->second = l1;
-              iter_d[tau] = hlist->insert(w_i, make_pair(tau, tau_i));
-            } else { /*w(i-1) ^ tau == w(i-2) ^ w(i-1)*/
-              /*must be w(i-2)~>w(i-1)*/
-              /*extension: w(i-2) -> tau |- w(i) |- w(i-1) -> w(i+1)*/
-              w_i_m_2->second = get_sharing_line(*w_i_m_2, tau);
-              iter_d[tau] = hlist->insert(w_i, make_pair(tau, tau_i));
-              w_i->second = w_i_m_1->second;
-              w_i_m_1->second = get_sharing_line(*w_i_m_1, *w_i_p_1);
-              iter_d[w_i_m_1->first] = hlist->insert(w_i_p_1, *w_i_m_1);
-              hlist->erase(w_i_m_1);
-            }
-            
-          }    
-          
-        }
-        
-      } else {
-        
-        if ( b ) {
-          /*Case 3:
-            
-            w(i-1) ~> w(i) |- w(i+1)
-          */
-          bool c = false;
-          if ( w_i_m_1 != w_end )
-            c = ( w_i_m_1->second.second == tau_i.first)
-              || ( w_i_m_1->second.second == tau_i.second);
-          
-          if ( c ) {  /*w(i-1) ^ w(i) < w(i) ^ tau*/
-            /* extension: w(i-1) -> tau |- w(i) */
-            if ( w_i_m_1 != w_end )
-              w_i_m_1->second = get_sharing_line(*w_i_m_1, tau);
-            iter_d[tau] = hlist->insert(w_i, make_pair(tau, tau_i));
-          } else {
-            bool d = true;
-            Line l1;
-            l1.first = SAW_SENTINAL;
-            l1.second = SAW_SENTINAL;
-            if ( w_i_p_1 != w_end ) {
-              l1 = get_sharing_line(*w_i_p_1, tau);
-              d = l1 != w_i_p_1->second;
-            }
-            if (d) { /*w(i+1) ^ tau != w(i+1) ^ w(i+2)*/
-              /*extension: w(i) |- tau -> w(i+1) */
-              w_i->second = tau_i;
-              iter_d[tau] = hlist->insert(w_i_p_1, make_pair(tau, l1));
-            } else {
-              /*must be w(i+1) ~> w(i+2)*/
-              /*extension: w(i-1) -> w(i+1) |- w(i) |- tau -> w(i+2) */
-              iter w_i_p_2 = w_i_p_1;
-              ++w_i_p_2;
-              
-              w_i_p_1->second = w_i->second;
-              iter_d[i] = hlist->insert(w_i_p_2, make_pair(i, tau_i));
-              hlist->erase(w_i);
-              Line l2 = get_sharing_line(*w_i_p_2, tau);
-              iter_d[tau] = hlist->insert(w_i_p_2, make_pair(tau, l2));
-            }
-          }
-          
-        } else {
-          /*Case 4:
-            
-            w(i-1) ~> w(i) ~> w(i+1)
-            
-          */
-          bool c = false;
-          if ( w_i_m_1 != w_end ) {
-            c = (w_i_m_1->second.second == tau_i.first) 
-              || (w_i_m_1->second.second == tau_i.second);
-          }
-          if ( c ) {   /*w(i-1) ^ w(i) < w(i) ^ tau */
-            /*extension: w(i-1) -> tau |- w(i) */
-            if ( w_i_m_1 != w_end )
-              w_i_m_1->second = get_sharing_line(*w_i_m_1, tau);
-            iter_d[tau] = hlist->insert(w_i, make_pair(tau, tau_i));
-          } else { 
-            /*extension: w(i) |- tau -> w(i+1) */
-            w_i->second = tau_i;
-            Line l1;
-            l1.first = SAW_SENTINAL;
-            l1.second = SAW_SENTINAL;
-            if ( w_i_p_1 != w_end ) 
-              l1 = get_sharing_line(*w_i_p_1, tau);
-            iter_d[tau] = hlist->insert(w_i_p_1, make_pair(tau, l1));
-          }
-        }
-        
-      }
-
-      return true;
-    }
-    
-  protected:
-    TriangleDecorator td; /*a decorator for vertex*/
-    HList             hlist;
-    /*This must be a handle of list to record the SAW
-      The element type of the list is pair<Vertex, Line>
-     */
-   
-    IteratorD         iter_d; 
-    /*Problem statement: Need a fast access to w for triangle i.
-     *Possible solution: mantain an array to record. 
-     iter_d[i] will return an iterator 
-     which points to w(i), where i is a vertex
-     representing triangle i.
-    */
-  };
-
-  template <class Triangle, class HList, class Iterator>
-  inline 
-  SAW_visitor<Triangle, HList, Iterator>
-  visit_SAW(Triangle t, HList hl, Iterator i) {
-    return SAW_visitor<Triangle, HList, Iterator>(t, hl, i);
-  }
-
-  template <class Tri, class HList, class Iter>
-  inline 
-  SAW_visitor< random_access_iterator_property_map<Tri*,Tri,Tri&>,
-    HList, random_access_iterator_property_map<Iter*,Iter,Iter&> >
-  visit_SAW_ptr(Tri* t, HList hl, Iter* i) {
-    typedef random_access_iterator_property_map<Tri*,Tri,Tri&> TriD;
-    typedef random_access_iterator_property_map<Iter*,Iter,Iter&> IterD;
-    return SAW_visitor<TriD, HList, IterD>(t, hl, i);
-  }
-
-  // should also have combo's of pointers, and also const :(
-  
-}
-
-#endif /*BOOST_SAW_H*/
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/set_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/set_adaptor.hpp
deleted file mode 100644
index 33acc07..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/set_adaptor.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-// (C) Copyright Jeremy Siek 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_SET_ADAPTOR_HPP
-#define BOOST_SET_ADAPTOR_HPP
-
-#include <set>
-#include <boost/unordered_set.hpp>
-
-namespace boost {
-
-    template <class K, class C, class A, class T>
-    bool set_contains(const std::set<K,C,A>& s, const T& x) {
-      return s.find(x) != s.end();
-    }
-    
-    template <class K, class H, class C, class A, class T>
-    bool set_contains(const boost::unordered_set<K,H,C,A>& s, const T& x) {
-      return s.find(x) != s.end();
-    }
-    
-    template <class K, class C, class A>
-    bool set_equal(const std::set<K,C,A>& x,
-                   const std::set<K,C,A>& y)
-    {
-      return x == y;
-    }
-
-    // Not the same as lexicographical_compare_3way applied to std::set.
-    // this is equivalent semantically to bitset::operator<()
-    template <class K, class C, class A>
-    int set_lex_order(const std::set<K,C,A>& x,
-                      const std::set<K,C,A>& y)
-    {
-      typename std::set<K,C,A>::iterator
-        xi = x.begin(), yi = y.begin(), xend = x.end(), yend = y.end();
-      for (; xi != xend && yi != yend; ++xi, ++yi) {
-        if (*xi < *yi)
-          return 1;
-        else if (*yi < *xi)
-          return -1;
-      }
-      if (xi == xend)
-        return (yi == yend) ? 0 : -1;
-      else
-        return 1;
-    }
-
-    template <class K, class C, class A>
-    void set_clear(std::set<K,C,A>& x) {
-      x.clear();
-    }
-
-    template <class K, class C, class A>
-    bool set_empty(const std::set<K,C,A>& x) {
-      return x.empty();
-    }
-
-    template <class K, class C, class A, class T>
-    void set_insert(std::set<K,C,A>& x, const T& a) {
-      x.insert(a);
-    }
-
-    template <class K, class C, class A, class T>
-    void set_remove(std::set<K,C,A>& x, const T& a) {
-      x.erase(a);
-    }
-    
-    template <class K, class C, class A>
-    void set_intersect(const std::set<K,C,A>& x,
-                       const std::set<K,C,A>& y,
-                       std::set<K,C,A>& z)
-    {
-      z.clear();
-      std::set_intersection(x.begin(), x.end(),
-                            y.begin(), y.end(),
-                            std::inserter(z));
-    }
-
-    template <class K, class C, class A>
-    void set_union(const std::set<K,C,A>& x,
-                   const std::set<K,C,A>& y,
-                   std::set<K,C,A>& z)
-    {
-      z.clear();
-      std::set_union(x.begin(), x.end(),
-                     y.begin(), y.end(),
-                     std::inserter(z));
-    }
-
-    template <class K, class C, class A>
-    void set_difference(const std::set<K,C,A>& x,
-                        const std::set<K,C,A>& y,
-                        std::set<K,C,A>& z)
-    {
-      z.clear();
-      std::set_difference(x.begin(), x.end(),
-                          y.begin(), y.end(),
-                          std::inserter(z, z.begin()));
-    }
-
-    template <class K, class C, class A>
-    bool set_subset(const std::set<K,C,A>& x,
-                    const std::set<K,C,A>& y)
-    {
-      return std::includes(x.begin(), x.end(), y.begin(), y.end());
-    }
-
-    // Shit, can't implement this without knowing the size of the
-    // universe.
-    template <class K, class C, class A>
-    void set_compliment(const std::set<K,C,A>& /*x*/,
-                        std::set<K,C,A>& z)
-    {
-      z.clear();
-      
-    }
-    
-} // namespace boost    
-
-#endif // BOOST_SET_ADAPTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/shadow_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/shadow_iterator.hpp
deleted file mode 100644
index 6cd1538..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/shadow_iterator.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// (C) Copyright Jeremy Siek 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_SHADOW_ITERATOR_HPP
-#define BOOST_SHADOW_ITERATOR_HPP
-
-#include <boost/iterator_adaptors.hpp>
-#include <boost/operators.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    template <class A, class B, class D>
-    class shadow_proxy
-      : boost::operators< shadow_proxy<A,B,D> >
-    {
-      typedef shadow_proxy self;
-    public:
-      inline shadow_proxy(A aa, B bb) : a(aa), b(bb) { }
-      inline shadow_proxy(const self& x) : a(x.a), b(x.b) { }
-      template <class Self>
-      inline shadow_proxy(Self x) : a(x.a), b(x.b) { }
-      inline self& operator=(const self& x) { a = x.a; b = x.b; return *this; }
-      inline self& operator++() { ++a; return *this; }
-      inline self& operator--() { --a; return *this; }
-      inline self& operator+=(const self& x) { a += x.a; return *this; }
-      inline self& operator-=(const self& x) { a -= x.a; return *this; }
-      inline self& operator*=(const self& x) { a *= x.a; return *this; }
-      inline self& operator/=(const self& x) { a /= x.a; return *this; }
-      inline self& operator%=(const self& x) { return *this; } // JGS
-      inline self& operator&=(const self& x) { return *this; } // JGS
-      inline self& operator|=(const self& x) { return *this; } // JGS
-      inline self& operator^=(const self& x) { return *this; } // JGS
-      inline friend D operator-(const self& x, const self& y) {
-        return x.a - y.a;
-      } 
-      inline bool operator==(const self& x) const { return a == x.a;  }
-      inline bool operator<(const self& x) const { return a < x.a;  }
-      //  protected:
-      A a;
-      B b;
-    };
-
-    struct shadow_iterator_policies
-    {
-      template <typename iter_pair>
-      void initialize(const iter_pair&) { }
-
-      template <typename Iter>
-      typename Iter::reference dereference(const Iter& i) const { 
-        typedef typename Iter::reference R;
-        return R(*i.base().first, *i.base().second); 
-      }
-      template <typename Iter>
-      bool equal(const Iter& p1, const Iter& p2) const { 
-        return p1.base().first == p2.base().first;  
-      }
-      template <typename Iter>
-      void increment(Iter& i) { ++i.base().first; ++i.base().second; }
-
-      template <typename Iter>
-      void decrement(Iter& i) { --i.base().first; --i.base().second; }
-
-      template <typename Iter>
-      bool less(const Iter& x, const Iter& y) const { 
-        return x.base().first < y.base().first;  
-      }
-      template <typename Iter>
-      typename Iter::difference_type
-      distance(const Iter& x, const Iter& y) const { 
-        return y.base().first - x.base().first; 
-      }
-      template <typename D, typename Iter>
-      void advance(Iter& p, D n) { p.base().first += n; p.base().second += n; }
-    };
-
-  } // namespace detail
-
-  template <typename IterA, typename IterB>
-  struct shadow_iterator_generator {
-    
-    // To use the iterator_adaptor we can't derive from
-    // random_access_iterator because we don't have a real reference.
-    // However, we want the STL algorithms to treat the shadow
-    // iterator like a random access iterator.
-    struct shadow_iterator_tag : public std::input_iterator_tag {
-      operator std::random_access_iterator_tag() {
-        return std::random_access_iterator_tag();
-      };
-    };
-    typedef typename std::iterator_traits<IterA>::value_type Aval;
-    typedef typename std::iterator_traits<IterB>::value_type Bval;
-    typedef typename std::iterator_traits<IterA>::reference Aref;
-    typedef typename std::iterator_traits<IterB>::reference Bref;
-    typedef typename std::iterator_traits<IterA>::difference_type D;
-    typedef detail::shadow_proxy<Aval,Bval,Aval> V;
-    typedef detail::shadow_proxy<Aref,Bref,Aval> R;
-    typedef iterator_adaptor< std::pair<IterA, IterB>,
-                              detail::shadow_iterator_policies,
-                              V, R, V*, shadow_iterator_tag,
-                              D> type;
-  };
-
-  // short cut for creating a shadow iterator
-  template <class IterA, class IterB>
-  inline typename shadow_iterator_generator<IterA,IterB>::type
-  make_shadow_iter(IterA a, IterB b) {
-    typedef typename shadow_iterator_generator<IterA,IterB>::type Iter;
-    return Iter(std::make_pair(a,b)); 
-  }
-
-  template <class Cmp>
-  struct shadow_cmp {
-    inline shadow_cmp(const Cmp& c) : cmp(c) { }
-    template <class ShadowProxy1, class ShadowProxy2>
-    inline bool operator()(const ShadowProxy1& x, const ShadowProxy2& y) const
-    {
-      return cmp(x.a, y.a);
-    }
-    Cmp cmp;
-  };
-
-} // namespace boost
-
-namespace std {
-  template <class A1, class B1, class D1,
-            class A2, class B2, class D2>
-  void swap(boost::detail::shadow_proxy<A1&,B1&,D1> x,
-            boost::detail::shadow_proxy<A2&,B2&,D2> y)
-  {
-    std::swap(x.a, y.a);
-    std::swap(x.b, y.b);
-  }
-}
-
-#endif // BOOST_SHADOW_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/sparse_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/sparse_ordering.hpp
deleted file mode 100644
index 7a7350e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/detail/sparse_ordering.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2004, 2005 Trustees of Indiana University
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek,
-//          Doug Gregor, D. Kevin McGrath
-//
-// Distributed under the 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_GRAPH_DETAIL_SPARSE_ORDERING_HPP
-#define BOOST_GRAPH_DETAIL_SPARSE_ORDERING_HPP
-
-#include <boost/config.hpp>
-#include <vector>
-#include <queue>
-#include <boost/pending/queue.hpp>
-#include <boost/pending/mutable_queue.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/bind.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/depth_first_search.hpp>
-
-namespace boost {
-
-  namespace sparse {
-
-    // rcm_queue
-    //
-    // This is a custom queue type used in the
-    // *_ordering algorithms.
-    // In addition to the normal queue operations, the
-    // rcm_queue provides:
-    // 
-    //   int eccentricity() const;
-    //   value_type spouse() const;
-    // 
-
-    // yes, it's a bad name...but it works, so use it
-    template < class Vertex, class DegreeMap,
-               class Container = std::deque<Vertex> >
-    class rcm_queue : public std::queue<Vertex, Container> {
-      typedef std::queue<Vertex> base;
-    public:
-      typedef typename base::value_type value_type;
-      typedef typename base::size_type size_type;
-
-      /* SGI queue has not had a contructor queue(const Container&) */
-      inline rcm_queue(DegreeMap deg)
-        : _size(0), Qsize(1), eccen(-1), degree(deg) { }
-
-      inline void pop() {
-        if ( !_size ) 
-          Qsize = base::size();
-
-        base::pop();
-        if ( _size == Qsize-1 ) {
-          _size = 0;
-          ++eccen;
-        } else 
-          ++_size;
-
-      }
-
-      inline value_type& front() {
-        value_type& u =  base::front();
-        if ( _size == 0 ) 
-          w = u;
-        else if (get(degree,u) < get(degree,w) )
-          w = u;
-        return u;
-      }
-
-      inline const value_type& front() const {
-        const value_type& u =  base::front();
-        if ( _size == 0 ) 
-          w = u;
-        else if (get(degree,u) < get(degree,w) )
-          w = u;
-        return u;
-      }
-
-      inline value_type& top() { return front(); }
-      inline const value_type& top() const { return front(); }
-
-      inline size_type size() const { return base::size(); }
-
-      inline size_type eccentricity() const { return eccen; }
-      inline value_type spouse() const { return w; }
-
-    protected:
-      size_type _size;
-      size_type Qsize;
-      int eccen;
-      mutable value_type w;
-      DegreeMap degree;
-    };
-
-
-    template <typename Tp, typename Sequence = std::deque<Tp> >
-    class sparse_ordering_queue : public boost::queue<Tp, Sequence>{
-    public:      
-      typedef typename Sequence::iterator iterator;
-      typedef typename Sequence::reverse_iterator reverse_iterator;
-      typedef queue<Tp,Sequence> base;
-      typedef typename Sequence::size_type size_type;
-
-      inline iterator begin() { return this->c.begin(); }
-      inline reverse_iterator rbegin() { return this->c.rbegin(); }
-      inline iterator end() { return this->c.end(); }
-      inline reverse_iterator rend() { return this->c.rend(); }
-      inline Tp &operator[](int n) { return this->c[n]; }
-      inline size_type size() {return this->c.size(); }
-    protected:
-      //nothing
-    };
-    
-  } // namespace sparse 
-
-  // Compute Pseudo peripheral
-  //
-  // To compute an approximated peripheral for a given vertex. 
-  // Used in <tt>king_ordering</tt> algorithm.
-  //
-  template <class Graph, class Vertex, class ColorMap, class DegreeMap>
-  Vertex 
-  pseudo_peripheral_pair(Graph const& G, const Vertex& u, int& ecc,
-                         ColorMap color, DegreeMap degree)
-  {
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    
-    sparse::rcm_queue<Vertex, DegreeMap> Q(degree);
-
-    typename boost::graph_traits<Graph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(G); ui != ui_end; ++ui)
-      if (get(color, *ui) != Color::red()) put(color, *ui, Color::white());
-    breadth_first_visit(G, u, buffer(Q).color_map(color));
-
-    ecc = Q.eccentricity(); 
-    return Q.spouse();
-  }
-
-  // Find a good starting node
-  //
-  // This is to find a good starting node for the
-  // king_ordering algorithm. "good" is in the sense
-  // of the ordering generated by RCM.
-  //
-  template <class Graph, class Vertex, class Color, class Degree> 
-  Vertex find_starting_node(Graph const& G, Vertex r, Color color, Degree degree)
-  {
-    Vertex x, y;
-    int eccen_r, eccen_x;
-
-    x = pseudo_peripheral_pair(G, r, eccen_r, color, degree);
-    y = pseudo_peripheral_pair(G, x, eccen_x, color, degree);
-
-    while (eccen_x > eccen_r) {
-      r = x;
-      eccen_r = eccen_x;
-      x = y;
-      y = pseudo_peripheral_pair(G, x, eccen_x, color, degree);
-    }
-    return x;
-  }
-
-template <typename Graph>
-class out_degree_property_map 
-  : public put_get_helper<typename graph_traits<Graph>::degree_size_type,
-                          out_degree_property_map<Graph> >                  
-{
-public:
-  typedef typename graph_traits<Graph>::vertex_descriptor key_type;
-  typedef typename graph_traits<Graph>::degree_size_type value_type;
-  typedef value_type reference;
-  typedef readable_property_map_tag category;
-  out_degree_property_map(const Graph& g) : m_g(g) { }
-  value_type operator[](const key_type& v) const {
-    return out_degree(v, m_g);
-  }
-private:
-  const Graph& m_g;
-};
-template <typename Graph>
-inline out_degree_property_map<Graph>
-make_out_degree_map(const Graph& g) {
-  return out_degree_property_map<Graph>(g);
-}
-
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_KING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dijkstra_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/dijkstra_shortest_paths.hpp
deleted file mode 100644
index 10e40f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dijkstra_shortest_paths.hpp
+++ /dev/null
@@ -1,623 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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:
-//   04 April 2001: Added named parameter variant. (Jeremy Siek)
-//   01 April 2001: Modified to use new <boost/limits.hpp> header. (JMaddock)
-//
-#ifndef BOOST_GRAPH_DIJKSTRA_HPP
-#define BOOST_GRAPH_DIJKSTRA_HPP
-
-#include <functional>
-#include <boost/limits.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/relax.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/exception.hpp>
-#include <boost/pending/relaxed_heap.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/smart_ptr.hpp>
-#include <boost/graph/detail/d_ary_heap.hpp>
-#include <boost/graph/two_bit_color_map.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/vector_property_map.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/concept/assert.hpp>
-
-#ifdef BOOST_GRAPH_DIJKSTRA_TESTING
-#  include <boost/pending/mutable_queue.hpp>
-#endif // BOOST_GRAPH_DIJKSTRA_TESTING
-
-namespace boost {
-
-  /**
-   * @brief Updates a particular value in a queue used by Dijkstra's
-   * algorithm.
-   *
-   * This routine is called by Dijkstra's algorithm after it has
-   * decreased the distance from the source vertex to the given @p
-   * vertex. By default, this routine will just call @c
-   * Q.update(vertex). However, other queues may provide more
-   * specialized versions of this routine.
-   *
-   * @param Q             the queue that will be updated.
-   * @param vertex        the vertex whose distance has been updated
-   * @param old_distance  the previous distance to @p vertex
-   */
-  template<typename Buffer, typename Vertex, typename DistanceType>
-  inline void 
-  dijkstra_queue_update(Buffer& Q, Vertex vertex, DistanceType old_distance)
-  {
-    (void)old_distance;
-    Q.update(vertex);
-  }
-
-#ifdef BOOST_GRAPH_DIJKSTRA_TESTING
-  // This is a misnomer now: it now just refers to the "default heap", which is
-  // currently d-ary (d=4) but can be changed by a #define.
-  static bool dijkstra_relaxed_heap = true;
-#endif
-
-  template <class Visitor, class Graph>
-  struct DijkstraVisitorConcept {
-    void constraints() {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-      vis.initialize_vertex(u, g);
-      vis.discover_vertex(u, g);
-      vis.examine_vertex(u, g);
-      vis.examine_edge(e, g);
-      vis.edge_relaxed(e, g);
-      vis.edge_not_relaxed(e, g);
-      vis.finish_vertex(u, g);
-    }
-    Visitor vis;
-    Graph g;
-    typename graph_traits<Graph>::vertex_descriptor u;
-    typename graph_traits<Graph>::edge_descriptor e;
-  };
-
-  template <class Visitors = null_visitor>
-  class dijkstra_visitor : public bfs_visitor<Visitors> {
-  public:
-    dijkstra_visitor() { }
-    dijkstra_visitor(Visitors vis)
-      : bfs_visitor<Visitors>(vis) { }
-
-    template <class Edge, class Graph>
-    void edge_relaxed(Edge e, Graph& g) {
-      invoke_visitors(this->m_vis, e, g, on_edge_relaxed());
-    }
-    template <class Edge, class Graph>
-    void edge_not_relaxed(Edge e, Graph& g) {
-      invoke_visitors(this->m_vis, e, g, on_edge_not_relaxed());
-    }
-  private:
-    template <class Edge, class Graph>
-    void tree_edge(Edge u, Graph& g) { }
-  };
-  template <class Visitors>
-  dijkstra_visitor<Visitors>
-  make_dijkstra_visitor(Visitors vis) {
-    return dijkstra_visitor<Visitors>(vis);
-  }
-  typedef dijkstra_visitor<> default_dijkstra_visitor;
-
-  namespace detail {
-
-    template <class UniformCostVisitor, class UpdatableQueue,
-      class WeightMap, class PredecessorMap, class DistanceMap,
-      class BinaryFunction, class BinaryPredicate>
-    struct dijkstra_bfs_visitor
-    {
-      typedef typename property_traits<DistanceMap>::value_type D;
-      typedef typename property_traits<WeightMap>::value_type W;
-
-      dijkstra_bfs_visitor(UniformCostVisitor vis, UpdatableQueue& Q,
-                           WeightMap w, PredecessorMap p, DistanceMap d,
-                           BinaryFunction combine, BinaryPredicate compare,
-                           D zero)
-        : m_vis(vis), m_Q(Q), m_weight(w), m_predecessor(p), m_distance(d),
-          m_combine(combine), m_compare(compare), m_zero(zero)  { }
-
-      template <class Edge, class Graph>
-      void tree_edge(Edge e, Graph& g) {
-        bool decreased = relax(e, g, m_weight, m_predecessor, m_distance,
-                               m_combine, m_compare);
-        if (decreased)
-          m_vis.edge_relaxed(e, g);
-        else
-          m_vis.edge_not_relaxed(e, g);
-      }
-      template <class Edge, class Graph>
-      void gray_target(Edge e, Graph& g) {
-        D old_distance = get(m_distance, target(e, g));
-
-        bool decreased = relax(e, g, m_weight, m_predecessor, m_distance,
-                               m_combine, m_compare);
-        if (decreased) {
-          dijkstra_queue_update(m_Q, target(e, g), old_distance);
-          m_vis.edge_relaxed(e, g);
-        } else
-          m_vis.edge_not_relaxed(e, g);
-      }
-
-      template <class Vertex, class Graph>
-      void initialize_vertex(Vertex u, Graph& g)
-        { m_vis.initialize_vertex(u, g); }
-      template <class Edge, class Graph>
-      void non_tree_edge(Edge, Graph&) { }
-      template <class Vertex, class Graph>
-      void discover_vertex(Vertex u, Graph& g) { m_vis.discover_vertex(u, g); }
-      template <class Vertex, class Graph>
-      void examine_vertex(Vertex u, Graph& g) { m_vis.examine_vertex(u, g); }
-      template <class Edge, class Graph>
-      void examine_edge(Edge e, Graph& g) {
-        // Test for negative-weight edges:
-        //
-        // Reasons that other comparisons do not work:
-        //
-        // m_compare(e_weight, D(0)):
-        //    m_compare only needs to work on distances, not weights, and those
-        //    types do not need to be the same (bug 8398,
-        //    https://svn.boost.org/trac/boost/ticket/8398).
-        // m_compare(m_combine(source_dist, e_weight), source_dist):
-        //    if m_combine is project2nd (as in prim_minimum_spanning_tree),
-        //    this test will claim that the edge weight is negative whenever
-        //    the edge weight is less than source_dist, even if both of those
-        //    are positive (bug 9012,
-        //    https://svn.boost.org/trac/boost/ticket/9012).
-        // m_compare(m_combine(e_weight, source_dist), source_dist):
-        //    would fix project2nd issue, but documentation only requires that
-        //    m_combine be able to take a distance and a weight (in that order)
-        //    and return a distance.
-
-        // W e_weight = get(m_weight, e);
-        // sd_plus_ew = source_dist + e_weight.
-        // D sd_plus_ew = m_combine(source_dist, e_weight);
-        // sd_plus_2ew = source_dist + 2 * e_weight.
-        // D sd_plus_2ew = m_combine(sd_plus_ew, e_weight);
-        // The test here is equivalent to e_weight < 0 if m_combine has a
-        // cancellation law, but always returns false when m_combine is a
-        // projection operator.
-        if (m_compare(m_combine(m_zero, get(m_weight, e)), m_zero)) 
-            boost::throw_exception(negative_edge());
-        // End of test for negative-weight edges.
-
-        m_vis.examine_edge(e, g);
-
-      }
-      template <class Edge, class Graph>
-      void black_target(Edge, Graph&) { }
-      template <class Vertex, class Graph>
-      void finish_vertex(Vertex u, Graph& g) { m_vis.finish_vertex(u, g); }
-
-      UniformCostVisitor m_vis;
-      UpdatableQueue& m_Q;
-      WeightMap m_weight;
-      PredecessorMap m_predecessor;
-      DistanceMap m_distance;
-      BinaryFunction m_combine;
-      BinaryPredicate m_compare;
-      D m_zero;
-    };
-
-  } // namespace detail
-
-  namespace detail {
-    template <class Graph, class IndexMap, class Value, bool KnownNumVertices>
-    struct vertex_property_map_generator_helper {};
-
-    template <class Graph, class IndexMap, class Value>
-    struct vertex_property_map_generator_helper<Graph, IndexMap, Value, true> {
-      typedef boost::iterator_property_map<Value*, IndexMap> type;
-      static type build(const Graph& g, const IndexMap& index, boost::scoped_array<Value>& array_holder) {
-        array_holder.reset(new Value[num_vertices(g)]);
-        std::fill(array_holder.get(), array_holder.get() + num_vertices(g), Value());
-        return make_iterator_property_map(array_holder.get(), index);
-      }
-    };
-
-    template <class Graph, class IndexMap, class Value>
-    struct vertex_property_map_generator_helper<Graph, IndexMap, Value, false> {
-      typedef boost::vector_property_map<Value, IndexMap> type;
-      static type build(const Graph& g, const IndexMap& index, boost::scoped_array<Value>& array_holder) {
-        return boost::make_vector_property_map<Value>(index);
-      }
-    };
-
-    template <class Graph, class IndexMap, class Value>
-    struct vertex_property_map_generator {
-      typedef boost::is_base_and_derived<
-                boost::vertex_list_graph_tag,
-                typename boost::graph_traits<Graph>::traversal_category>
-              known_num_vertices;
-      typedef vertex_property_map_generator_helper<Graph, IndexMap, Value, known_num_vertices::value> helper;
-      typedef typename helper::type type;
-      static type build(const Graph& g, const IndexMap& index, boost::scoped_array<Value>& array_holder) {
-        return helper::build(g, index, array_holder);
-      }
-    };
-  }
-
-  namespace detail {
-    template <class Graph, class IndexMap, bool KnownNumVertices>
-    struct default_color_map_generator_helper {};
-
-    template <class Graph, class IndexMap>
-    struct default_color_map_generator_helper<Graph, IndexMap, true> {
-      typedef boost::two_bit_color_map<IndexMap> type;
-      static type build(const Graph& g, const IndexMap& index) {
-        size_t nv = num_vertices(g);
-        return boost::two_bit_color_map<IndexMap>(nv, index);
-      }
-    };
-
-    template <class Graph, class IndexMap>
-    struct default_color_map_generator_helper<Graph, IndexMap, false> {
-      typedef boost::vector_property_map<boost::two_bit_color_type, IndexMap> type;
-      static type build(const Graph& g, const IndexMap& index) {
-        return boost::make_vector_property_map<boost::two_bit_color_type>(index);
-      }
-    };
-
-    template <class Graph, class IndexMap>
-    struct default_color_map_generator {
-      typedef boost::is_base_and_derived<
-                boost::vertex_list_graph_tag,
-                typename boost::graph_traits<Graph>::traversal_category>
-              known_num_vertices;
-      typedef default_color_map_generator_helper<Graph, IndexMap, known_num_vertices::value> helper;
-      typedef typename helper::type type;
-      static type build(const Graph& g, const IndexMap& index) {
-        return helper::build(g, index);
-      }
-    };
-  }
-
-  // Call breadth first search with default color map.
-  template <class Graph, class SourceInputIter, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistZero>
-  inline void
-  dijkstra_shortest_paths_no_init
-    (const Graph& g,
-     SourceInputIter s_begin, SourceInputIter s_end,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistZero zero,
-     DijkstraVisitor vis)
-  {
-    typedef
-      detail::default_color_map_generator<Graph, IndexMap>
-      ColorMapHelper;
-    typedef typename ColorMapHelper::type ColorMap;
-    ColorMap color =
-      ColorMapHelper::build(g, index_map);
-    dijkstra_shortest_paths_no_init( g, s_begin, s_end, predecessor, distance, weight,
-      index_map, compare, combine, zero, vis,
-        color);
-  }
-
-  // Call breadth first search with default color map.
-  template <class Graph, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistZero>
-  inline void
-  dijkstra_shortest_paths_no_init
-    (const Graph& g,
-     typename graph_traits<Graph>::vertex_descriptor s,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistZero zero,
-     DijkstraVisitor vis)
-  {
-    dijkstra_shortest_paths_no_init(g, &s, &s + 1, predecessor, distance,
-                                    weight, index_map, compare, combine, zero,
-                                    vis);
-  }
-
-  // Call breadth first search
-  template <class Graph, class SourceInputIter, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistZero, class ColorMap>
-  inline void
-  dijkstra_shortest_paths_no_init
-    (const Graph& g,
-     SourceInputIter s_begin, SourceInputIter s_end,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistZero zero,
-     DijkstraVisitor vis, ColorMap color)
-  {
-    typedef indirect_cmp<DistanceMap, Compare> IndirectCmp;
-    IndirectCmp icmp(distance, compare);
-
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-#ifdef BOOST_GRAPH_DIJKSTRA_TESTING
-    if (!dijkstra_relaxed_heap) {
-      typedef mutable_queue<Vertex, std::vector<Vertex>, IndirectCmp, IndexMap>
-        MutableQueue;
-
-      MutableQueue Q(num_vertices(g), icmp, index_map);
-      detail::dijkstra_bfs_visitor<DijkstraVisitor, MutableQueue, WeightMap,
-        PredecessorMap, DistanceMap, Combine, Compare>
-      bfs_vis(vis, Q, weight, predecessor, distance, combine, compare, zero);
-
-      breadth_first_visit(g, s_begin, s_end, Q, bfs_vis, color);
-      return;
-    }
-#endif // BOOST_GRAPH_DIJKSTRA_TESTING
-
-#ifdef BOOST_GRAPH_DIJKSTRA_USE_RELAXED_HEAP
-    typedef relaxed_heap<Vertex, IndirectCmp, IndexMap> MutableQueue;
-    MutableQueue Q(num_vertices(g), icmp, index_map);
-#else // Now the default: use a d-ary heap
-      boost::scoped_array<std::size_t> index_in_heap_map_holder;
-      typedef
-        detail::vertex_property_map_generator<Graph, IndexMap, std::size_t>
-        IndexInHeapMapHelper;
-      typedef typename IndexInHeapMapHelper::type IndexInHeapMap;
-      IndexInHeapMap index_in_heap =
-        IndexInHeapMapHelper::build(g, index_map, index_in_heap_map_holder);
-      typedef d_ary_heap_indirect<Vertex, 4, IndexInHeapMap, DistanceMap, Compare>
-        MutableQueue;
-      MutableQueue Q(distance, index_in_heap, compare);
-#endif // Relaxed heap
-
-    detail::dijkstra_bfs_visitor<DijkstraVisitor, MutableQueue, WeightMap,
-      PredecessorMap, DistanceMap, Combine, Compare>
-        bfs_vis(vis, Q, weight, predecessor, distance, combine, compare, zero);
-
-    breadth_first_visit(g, s_begin, s_end, Q, bfs_vis, color);
-  }
-
-  // Call breadth first search
-  template <class Graph, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistZero, class ColorMap>
-  inline void
-  dijkstra_shortest_paths_no_init
-    (const Graph& g,
-     typename graph_traits<Graph>::vertex_descriptor s,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistZero zero,
-     DijkstraVisitor vis, ColorMap color)
-  {
-    dijkstra_shortest_paths_no_init(g, &s, &s + 1, predecessor, distance,
-                                    weight, index_map, compare, combine,
-                                    zero, vis, color);
-  }
-
-  // Initialize distances and call breadth first search with default color map
-  template <class VertexListGraph, class SourceInputIter, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistInf, class DistZero, typename T, typename Tag, 
-            typename Base>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     SourceInputIter s_begin, SourceInputIter s_end,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis,
-     const bgl_named_params<T, Tag, Base>&
-     BOOST_GRAPH_ENABLE_IF_MODELS_PARM(VertexListGraph,vertex_list_graph_tag))
-  {
-    boost::two_bit_color_map<IndexMap> color(num_vertices(g), index_map);
-    dijkstra_shortest_paths(g, s_begin, s_end, predecessor, distance, weight,
-                            index_map, compare, combine, inf, zero, vis,
-                            color);
-  }
-
-  // Initialize distances and call breadth first search with default color map
-  template <class VertexListGraph, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistInf, class DistZero, typename T, typename Tag, 
-            typename Base>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis,
-     const bgl_named_params<T, Tag, Base>&
-     BOOST_GRAPH_ENABLE_IF_MODELS_PARM(VertexListGraph,vertex_list_graph_tag))
-  {
-    dijkstra_shortest_paths(g, &s, &s + 1, predecessor, distance, weight,
-                            index_map, compare, combine, inf, zero, vis);
-  }
-
-  // Initialize distances and call breadth first search
-  template <class VertexListGraph, class SourceInputIter, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistInf, class DistZero, class ColorMap>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     SourceInputIter s_begin, SourceInputIter s_end,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis, ColorMap color)
-  {
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typename graph_traits<VertexListGraph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      vis.initialize_vertex(*ui, g);
-      put(distance, *ui, inf);
-      put(predecessor, *ui, *ui);
-      put(color, *ui, Color::white());
-    }
-    for (SourceInputIter it = s_begin; it != s_end; ++it) {
-      put(distance, *it, zero);
-    }
-
-    dijkstra_shortest_paths_no_init(g, s_begin, s_end, predecessor, distance,
-                            weight, index_map, compare, combine, zero, vis,
-                            color);
-  }
-
-  // Initialize distances and call breadth first search
-  template <class VertexListGraph, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistInf, class DistZero, class ColorMap>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis, ColorMap color)
-  {
-    dijkstra_shortest_paths(g, &s, &s + 1, predecessor, distance, weight,
-                            index_map, compare, combine, inf, zero,
-                            vis, color);
-  }
-
-  // Initialize distances and call breadth first search
-  template <class VertexListGraph, class SourceInputIter,
-            class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistInf, class DistZero>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     SourceInputIter s_begin, SourceInputIter s_end,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis)
-  {
-    dijkstra_shortest_paths(g, s_begin, s_end, predecessor, distance,
-                            weight, index_map,
-                            compare, combine, inf, zero, vis,
-                            no_named_parameters());
-  }
-
-  // Initialize distances and call breadth first search
-  template <class VertexListGraph, class DijkstraVisitor,
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap, class Compare, class Combine,
-            class DistInf, class DistZero>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis)
-  {
-    dijkstra_shortest_paths(g, &s, &s + 1, predecessor, distance,
-                            weight, index_map,
-                            compare, combine, inf, zero, vis);
-  }
-
-  namespace detail {
-
-    // Handle defaults for PredecessorMap and
-    // Distance Compare, Combine, Inf and Zero
-    template <class VertexListGraph, class DistanceMap, class WeightMap,
-              class IndexMap, class Params>
-    inline void
-    dijkstra_dispatch2
-      (const VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       DistanceMap distance, WeightMap weight, IndexMap index_map,
-       const Params& params)
-    {
-      // Default for predecessor map
-      dummy_property_map p_map;
-
-      typedef typename property_traits<DistanceMap>::value_type D;
-      D inf = choose_param(get_param(params, distance_inf_t()),
-                           (std::numeric_limits<D>::max)());
-
-      dijkstra_shortest_paths
-        (g, s,
-         choose_param(get_param(params, vertex_predecessor), p_map),
-         distance, weight, index_map,
-         choose_param(get_param(params, distance_compare_t()),
-                      std::less<D>()),
-         choose_param(get_param(params, distance_combine_t()),
-                      closed_plus<D>(inf)),
-         inf,
-         choose_param(get_param(params, distance_zero_t()),
-                      D()),
-         choose_param(get_param(params, graph_visitor),
-                      make_dijkstra_visitor(null_visitor())),
-         params);
-    }
-
-    template <class VertexListGraph, class DistanceMap, class WeightMap,
-              class IndexMap, class Params>
-    inline void
-    dijkstra_dispatch1
-      (const VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       DistanceMap distance, WeightMap weight, IndexMap index_map,
-       const Params& params)
-    {
-      // Default for distance map
-      typedef typename property_traits<WeightMap>::value_type D;
-      typename std::vector<D>::size_type
-        n = is_default_param(distance) ? num_vertices(g) : 1;
-      std::vector<D> distance_map(n);
-
-      detail::dijkstra_dispatch2
-        (g, s, choose_param(distance, make_iterator_property_map
-                            (distance_map.begin(), index_map,
-                             distance_map[0])),
-         weight, index_map, params);
-    }
-  } // namespace detail
-
-  // Named Parameter Variant
-  template <class VertexListGraph, class Param, class Tag, class Rest>
-  inline void
-  dijkstra_shortest_paths
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     const bgl_named_params<Param,Tag,Rest>& params)
-  {
-    // Default for edge weight and vertex index map is to ask for them
-    // from the graph.  Default for the visitor is null_visitor.
-    detail::dijkstra_dispatch1
-      (g, s,
-       get_param(params, vertex_distance),
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-       choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-       params);
-  }
-
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/dijkstra_shortest_paths.hpp>
-#endif
-
-#endif // BOOST_GRAPH_DIJKSTRA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dijkstra_shortest_paths_no_color_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/dijkstra_shortest_paths_no_color_map.hpp
deleted file mode 100644
index b1a9ef5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dijkstra_shortest_paths_no_color_map.hpp
+++ /dev/null
@@ -1,250 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2009 Trustees of Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Michael Hansen
-//
-// Distributed under the 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_GRAPH_DIJKSTRA_NO_COLOR_MAP_HPP
-#define BOOST_GRAPH_DIJKSTRA_NO_COLOR_MAP_HPP
-
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/relax.hpp>
-#include <boost/pending/relaxed_heap.hpp>
-#include <boost/graph/detail/d_ary_heap.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/iteration_macros.hpp>
-
-namespace boost {
-
-  // No init version
-  template <typename Graph, typename DijkstraVisitor,
-            typename PredecessorMap, typename DistanceMap,
-            typename WeightMap, typename VertexIndexMap,
-            typename DistanceCompare, typename DistanceWeightCombine,
-            typename DistanceInfinity, typename DistanceZero>
-  void dijkstra_shortest_paths_no_color_map_no_init
-    (const Graph& graph,
-     typename graph_traits<Graph>::vertex_descriptor start_vertex,
-     PredecessorMap predecessor_map,
-     DistanceMap distance_map,
-     WeightMap weight_map,
-     VertexIndexMap index_map,
-     DistanceCompare distance_compare,
-     DistanceWeightCombine distance_weight_combine,
-     DistanceInfinity distance_infinity,
-     DistanceZero distance_zero,
-     DijkstraVisitor visitor)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-    
-    typedef indirect_cmp<DistanceMap, DistanceCompare> DistanceIndirectCompare;
-    DistanceIndirectCompare
-      distance_indirect_compare(distance_map, distance_compare);
-  
-    // Choose vertex queue type
-#if BOOST_GRAPH_DIJKSTRA_USE_RELAXED_HEAP
-    typedef relaxed_heap<Vertex, DistanceIndirectCompare, VertexIndexMap>
-      VertexQueue;
-    VertexQueue vertex_queue(num_vertices(graph),
-                             distance_indirect_compare,
-                             index_map);
-#else
-    // Default - use d-ary heap (d = 4)
-    typedef
-      detail::vertex_property_map_generator<Graph, VertexIndexMap, std::size_t>
-      IndexInHeapMapHelper;
-    typedef typename IndexInHeapMapHelper::type IndexInHeapMap;
-    typedef
-      d_ary_heap_indirect<Vertex, 4, IndexInHeapMap, DistanceMap, DistanceCompare>
-      VertexQueue;
-  
-    boost::scoped_array<std::size_t> index_in_heap_map_holder;
-    IndexInHeapMap index_in_heap =
-      IndexInHeapMapHelper::build(graph, index_map,
-                                  index_in_heap_map_holder);  
-    VertexQueue vertex_queue(distance_map, index_in_heap, distance_compare);
-#endif
-  
-    // Add vertex to the queue
-    vertex_queue.push(start_vertex);
-  
-    // Starting vertex will always be the first discovered vertex
-    visitor.discover_vertex(start_vertex, graph);
-  
-    while (!vertex_queue.empty()) {
-      Vertex min_vertex = vertex_queue.top();
-      vertex_queue.pop();
-      
-      visitor.examine_vertex(min_vertex, graph);
-  
-      // Check if any other vertices can be reached
-      Distance min_vertex_distance = get(distance_map, min_vertex);
-      
-      if (!distance_compare(min_vertex_distance, distance_infinity)) {
-        // This is the minimum vertex, so all other vertices are unreachable
-        return;
-      }
-  
-      // Examine neighbors of min_vertex
-      BGL_FORALL_OUTEDGES_T(min_vertex, current_edge, graph, Graph) {
-        visitor.examine_edge(current_edge, graph);
-        
-        // Check if the edge has a negative weight
-        if (distance_compare(get(weight_map, current_edge), distance_zero)) {
-          boost::throw_exception(negative_edge());
-        }
-  
-        // Extract the neighboring vertex and get its distance
-        Vertex neighbor_vertex = target(current_edge, graph);
-        Distance neighbor_vertex_distance = get(distance_map, neighbor_vertex);
-        bool is_neighbor_undiscovered = 
-          !distance_compare(neighbor_vertex_distance, distance_infinity);
-
-        // Attempt to relax the edge
-        bool was_edge_relaxed = relax(current_edge, graph, weight_map,
-          predecessor_map, distance_map,
-          distance_weight_combine, distance_compare);
-  
-        if (was_edge_relaxed) {
-          visitor.edge_relaxed(current_edge, graph);
-          if (is_neighbor_undiscovered) {
-            visitor.discover_vertex(neighbor_vertex, graph);
-            vertex_queue.push(neighbor_vertex);
-          } else {
-            vertex_queue.update(neighbor_vertex);
-          }
-        } else {
-          visitor.edge_not_relaxed(current_edge, graph);
-        }
-  
-      } // end out edge iteration
-  
-      visitor.finish_vertex(min_vertex, graph);
-    } // end while queue not empty
-  }
-
-  // Full init version
-  template <typename Graph, typename DijkstraVisitor,
-            typename PredecessorMap, typename DistanceMap,
-            typename WeightMap, typename VertexIndexMap,
-            typename DistanceCompare, typename DistanceWeightCombine,
-            typename DistanceInfinity, typename DistanceZero>
-  void dijkstra_shortest_paths_no_color_map
-    (const Graph& graph,
-     typename graph_traits<Graph>::vertex_descriptor start_vertex,
-     PredecessorMap predecessor_map,
-     DistanceMap distance_map,
-     WeightMap weight_map,
-     VertexIndexMap index_map,
-     DistanceCompare distance_compare,
-     DistanceWeightCombine distance_weight_combine,
-     DistanceInfinity distance_infinity,
-     DistanceZero distance_zero,
-     DijkstraVisitor visitor)
-  {
-    // Initialize vertices
-    BGL_FORALL_VERTICES_T(current_vertex, graph, Graph) {
-      visitor.initialize_vertex(current_vertex, graph);
-      
-      // Default all distances to infinity
-      put(distance_map, current_vertex, distance_infinity);
-  
-      // Default all vertex predecessors to the vertex itself
-      put(predecessor_map, current_vertex, current_vertex);
-    }
-  
-    // Set distance for start_vertex to zero
-    put(distance_map, start_vertex, distance_zero);
-  
-    // Pass everything on to the no_init version
-    dijkstra_shortest_paths_no_color_map_no_init(graph,
-      start_vertex, predecessor_map, distance_map, weight_map,
-      index_map, distance_compare, distance_weight_combine,
-      distance_infinity, distance_zero, visitor);
-  }
-
-  namespace detail {
-
-    // Handle defaults for PredecessorMap, DistanceCompare,
-    // DistanceWeightCombine, DistanceInfinity and DistanceZero
-    template <typename Graph, typename DistanceMap, typename WeightMap,
-              typename VertexIndexMap, typename Params>
-    inline void
-    dijkstra_no_color_map_dispatch2
-      (const Graph& graph,
-       typename graph_traits<Graph>::vertex_descriptor start_vertex,
-       DistanceMap distance_map, WeightMap weight_map,
-       VertexIndexMap index_map, const Params& params)
-    {
-      // Default for predecessor map
-      dummy_property_map predecessor_map;
-
-      typedef typename property_traits<DistanceMap>::value_type DistanceType;
-      DistanceType inf =
-        choose_param(get_param(params, distance_inf_t()),
-                     (std::numeric_limits<DistanceType>::max)());
-      dijkstra_shortest_paths_no_color_map
-        (graph, start_vertex,
-         choose_param(get_param(params, vertex_predecessor), predecessor_map),
-         distance_map, weight_map, index_map,
-         choose_param(get_param(params, distance_compare_t()),
-                      std::less<DistanceType>()),
-         choose_param(get_param(params, distance_combine_t()),
-                      closed_plus<DistanceType>(inf)),
-         inf,
-         choose_param(get_param(params, distance_zero_t()),
-                      DistanceType()),
-         choose_param(get_param(params, graph_visitor),
-                      make_dijkstra_visitor(null_visitor())));
-    }
-
-    template <typename Graph, typename DistanceMap, typename WeightMap,
-              typename IndexMap, typename Params>
-    inline void
-    dijkstra_no_color_map_dispatch1
-      (const Graph& graph,
-       typename graph_traits<Graph>::vertex_descriptor start_vertex,
-       DistanceMap distance_map, WeightMap weight_map,
-       IndexMap index_map, const Params& params)
-    {
-      // Default for distance map
-      typedef typename property_traits<WeightMap>::value_type DistanceType;
-      typename std::vector<DistanceType>::size_type
-        vertex_count = is_default_param(distance_map) ? num_vertices(graph) : 1;
-        
-      std::vector<DistanceType> default_distance_map(vertex_count);
-
-      detail::dijkstra_no_color_map_dispatch2
-        (graph, start_vertex, choose_param(distance_map,
-         make_iterator_property_map(default_distance_map.begin(), index_map,
-                                    default_distance_map[0])),
-         weight_map, index_map, params);
-    }
-  } // namespace detail
-
-  // Named parameter version
-  template <typename Graph, typename Param, typename Tag, typename Rest>
-  inline void
-  dijkstra_shortest_paths_no_color_map
-    (const Graph& graph,
-     typename graph_traits<Graph>::vertex_descriptor start_vertex,
-     const bgl_named_params<Param, Tag, Rest>& params)
-  {
-    // Default for edge weight and vertex index map is to ask for them
-    // from the graph. Default for the visitor is null_visitor.
-    detail::dijkstra_no_color_map_dispatch1
-      (graph, start_vertex,
-       get_param(params, vertex_distance),
-       choose_const_pmap(get_param(params, edge_weight), graph, edge_weight),
-       choose_const_pmap(get_param(params, vertex_index), graph, vertex_index),
-       params);
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_DIJKSTRA_NO_COLOR_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dimacs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/dimacs.hpp
deleted file mode 100644
index 3e8407d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dimacs.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-// Copyright 2005 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: Alex Breuer
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DIMACS_HPP
-#define BOOST_GRAPH_DIMACS_HPP
-
-#include <string>
-#include <sstream>
-#include <iostream>
-#include <fstream>
-#include <iterator>
-#include <exception>
-#include <vector>
-#include <queue>
-#include <boost/assert.hpp>
-
-namespace boost { namespace graph {
-
-class dimacs_exception : public std::exception {};
-
-class dimacs_basic_reader {
-public:
-  typedef std::size_t vertices_size_type;
-  typedef std::size_t edges_size_type;
-  typedef double vertex_weight_type;
-  typedef double edge_weight_type;
-  typedef std::pair<vertices_size_type,
-                    vertices_size_type> edge_type;
-  enum incr_mode {edge, edge_weight};
-
-  dimacs_basic_reader( std::istream& in, bool want_weights = true ) : 
-      inpt( in ), seen_edges( 0 ), want_weights(want_weights)
-    {
-    while( getline( inpt, buf ) && !buf.empty() && buf[0] == 'c' );
-    
-    if( buf[0] != 'p' ) {
-        boost::throw_exception(dimacs_exception());
-    }
-    
-    std::stringstream instr( buf );
-    std::string junk;
-
-    instr >> junk >> junk >> num_vertices >> num_edges;
-    read_edge_weights.push( -1 );
-    incr( edge_weight );
-  }
-
-  //for a past the end iterator
-  dimacs_basic_reader() : inpt( std::cin ), num_vertices( 0 ), 
-                          num_edges( 0 ), seen_edges( 0 ), want_weights(false) {}
-
-  edge_type edge_deref() {
-    BOOST_ASSERT( !read_edges.empty() );
-    return read_edges.front();
-   }
-
-  inline edge_type* edge_ref() {
-    BOOST_ASSERT( !read_edges.empty() );
-    return &read_edges.front();
-  }
-
-  inline edge_weight_type edge_weight_deref() {
-    BOOST_ASSERT( !read_edge_weights.empty() );
-    return read_edge_weights.front();
-  }
-
-  inline dimacs_basic_reader incr( incr_mode mode ) {
-    if( mode == edge ) {
-      BOOST_ASSERT( !read_edges.empty() );
-      read_edges.pop();
-    }
-    else if( mode == edge_weight ) {
-      BOOST_ASSERT( !read_edge_weights.empty() );
-      read_edge_weights.pop();
-    }
-
-    if( (mode == edge && read_edges.empty()) ||
-        (mode == edge_weight && read_edge_weights.empty() )) {
-
-      if( seen_edges > num_edges ) {
-          boost::throw_exception(dimacs_exception());
-      }
-
-      while( getline( inpt, buf ) && !buf.empty() && buf[0] == 'c' );
-      
-      if( !inpt.eof() ) {
-          int source, dest, weight;
-          read_edge_line((char*) buf.c_str(), source, dest, weight);
-
-          seen_edges++;
-          source--;
-          dest--;
-        
-          read_edges.push( edge_type( source, dest ) );
-          if (want_weights) {
-              read_edge_weights.push( weight );
-          }
-      }
-      BOOST_ASSERT( read_edges.size() < 100 );
-      BOOST_ASSERT( read_edge_weights.size() < 100 );
-    }
-
-    // the 1000000 just happens to be about how many edges can be read in 
-    // 10s
-//     if( !(seen_edges % 1000000) && !process_id( pg ) && mode == edge ) {
-//       std::cout << "read " << seen_edges << " edges" << std::endl;
-//     }
-    return *this;
-  }
-
-  inline bool done_edges() {
-    return inpt.eof() && read_edges.size() == 0;
-  }
-
-  inline bool done_edge_weights() {
-    return inpt.eof() && read_edge_weights.size() == 0;
-  }
-
-  inline vertices_size_type n_vertices() {
-    return num_vertices;
-  }
-  
-  inline vertices_size_type processed_edges() {
-    return seen_edges - read_edges.size();
-  }
-
-  inline vertices_size_type processed_edge_weights() {
-    return seen_edges - read_edge_weights.size();
-  }
-
-  inline vertices_size_type n_edges() {
-    return num_edges;
-  }
-
-protected:
-    bool read_edge_line(char *linebuf, int &from, int &to, int &weight)
-    {
-        char *fs = NULL, *ts = NULL, *ws = NULL;
-        char *tmp = linebuf + 2;
-
-        fs = tmp;
-        if ('e' == linebuf[0]) {
-            while (*tmp != '\n' && *tmp != '\0') {
-                if (*tmp == ' ') { 
-                    *tmp = '\0';
-                    ts = ++tmp;
-                    break;
-                }
-                tmp++;
-            }
-            *tmp = '\0';
-            if (NULL == fs || NULL == ts) return false;
-            from = atoi(fs); to = atoi(ts); weight = 0;
-
-        } else if ('a' == linebuf[0]) {
-            while (*tmp != '\n' && *tmp != '\0') {
-                if (*tmp == ' ') { 
-                    *tmp = '\0';
-                    ts = ++tmp;
-                    break;
-                }
-                tmp++;
-            } 
-            while (*tmp != '\n' && *tmp != '\0') {
-                if (*tmp == ' ') { 
-                    *tmp = '\0';
-                    ws = ++tmp;
-                    break;
-                }
-                tmp++;
-            }
-            while (*tmp != '\n' && *tmp != '\0') tmp++;
-            *tmp = '\0';
-            if (fs == NULL || ts == NULL || ws == NULL) return false;
-            from = atoi(fs); to = atoi(ts) ; 
-            if (want_weights) weight = atoi(ws); else weight = 0;
-
-        } else {
-            return false;
-        }
-
-        return true;
-    }
-
-  std::queue<edge_type> read_edges;
-  std::queue<edge_weight_type> read_edge_weights;
-
-  std::istream& inpt;
-  std::string buf;
-  vertices_size_type num_vertices, num_edges, seen_edges;
-  bool want_weights;
-};
-
-template<typename T>
-class dimacs_edge_iterator {
-public:
-  typedef dimacs_basic_reader::edge_type edge_type;
-  typedef dimacs_basic_reader::incr_mode incr_mode;
-
-  typedef std::input_iterator_tag iterator_category;
-  typedef edge_type               value_type;
-  typedef value_type              reference;
-  typedef edge_type*              pointer;
-  typedef std::ptrdiff_t          difference_type;
-
-  dimacs_edge_iterator( T& reader ) :
-    reader( reader ) {}
-
-  inline dimacs_edge_iterator& operator++() {
-    reader.incr( dimacs_basic_reader::edge );
-    return *this;
-  }
-
-  inline edge_type operator*() {
-    return reader.edge_deref();
-  }
-
-  inline edge_type* operator->() {
-    return reader.edge_ref();
-  }
-
-  // don't expect this to do the right thing if you're not comparing against a
-  // general past-the-end-iterator made with the default constructor for 
-  // dimacs_basic_reader
-  inline bool operator==( dimacs_edge_iterator arg ) {
-    if( reader.n_vertices() == 0 ) {
-      return arg.reader.done_edges();
-    }
-    else if( arg.reader.n_vertices() == 0 ) {
-      return reader.done_edges();
-    }
-    else {
-      return false;
-    }
-    return false;
-  }
-
-  inline bool operator!=( dimacs_edge_iterator arg ) {
-    if( reader.n_vertices() == 0 ) {
-      return !arg.reader.done_edges();
-    }
-    else if( arg.reader.n_vertices() == 0 ) {
-      return !reader.done_edges();
-    }
-    else {
-      return true;
-    }
-    return true;
-  }
-
-private:
-  T& reader;
-};
-
-template<typename T>
-class dimacs_edge_weight_iterator {
-public:
-  typedef dimacs_basic_reader::edge_weight_type edge_weight_type;
-  typedef dimacs_basic_reader::incr_mode incr_mode;
-
-  dimacs_edge_weight_iterator( T& reader ) : reader( reader ) {}
-
-  inline dimacs_edge_weight_iterator& operator++() {
-    reader.incr( dimacs_basic_reader::edge_weight );
-    return *this;
-  }
-
-  inline edge_weight_type operator*() {
-    return reader.edge_weight_deref();
-  }
-
-  // don't expect this to do the right thing if you're not comparing against a
-  // general past-the-end-iterator made with the default constructor for 
-  // dimacs_basic_reader
-  inline bool operator==( dimacs_edge_weight_iterator arg ) {
-    if( reader.n_vertices() == 0 ) {
-      return arg.reader.done_edge_weights();
-    }
-    else if( arg.reader.n_vertices() == 0 ) {
-      return reader.done_edge_weights();
-    }
-    else {
-      return false;
-    }
-    return false;
-  }
-
-  inline bool operator!=( dimacs_edge_weight_iterator arg ) {
-    if( reader.n_vertices() == 0 ) {
-      return !arg.reader.done_edge_weights();
-    }
-    else if( arg.reader.n_vertices() == 0 ) {
-      return !reader.done_edge_weights();
-    }
-    else {
-      return true;
-    }
-    return true;
-  }
-private:
-  T& reader;
-};
-
-} } // end namespace boost::graph
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/directed_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/directed_graph.hpp
deleted file mode 100644
index 2c56a4e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/directed_graph.hpp
+++ /dev/null
@@ -1,701 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_DIRECTED_GRAPH_HPP
-#define BOOST_GRAPH_DIRECTED_GRAPH_HPP
-
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/property.hpp>
-#include <boost/property_map/transform_value_property_map.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost
-{
-struct directed_graph_tag { };
-
-/**
- * The directed_graph class template is a simplified version of the BGL
- * adjacency list. This class is provided for ease of use, but may not
- * perform as well as custom-defined adjacency list classes. Instances of
- * this template model the BidirectionalGraph, VertexIndexGraph, and
- * EdgeIndexGraph concepts. The graph is also fully mutable, supporting
- * both insertions and removals of vertices and edges.
- *
- * @note Special care must be taken when removing vertices or edges since
- * those operations can invalidate the numbering of vertices.
- */
-template <
-    typename VertexProp = no_property,
-    typename EdgeProp = no_property,
-    typename GraphProp = no_property>
-class directed_graph
-{
-public:
-    typedef GraphProp graph_property_type;
-    typedef VertexProp vertex_property_type;
-    typedef EdgeProp edge_property_type;
-    typedef typename lookup_one_property<GraphProp, graph_bundle_t>::type graph_bundled;
-    typedef typename lookup_one_property<VertexProp, vertex_bundle_t>::type vertex_bundled;
-    typedef typename lookup_one_property<EdgeProp, edge_bundle_t>::type edge_bundled;
-
-public:
-    // Embed indices into the vertex type.
-    typedef property<vertex_index_t, unsigned, vertex_property_type> internal_vertex_property;
-    typedef property<edge_index_t, unsigned, edge_property_type> internal_edge_property;
-public:
-    typedef adjacency_list<
-        listS, listS, bidirectionalS,
-        internal_vertex_property, internal_edge_property, GraphProp,
-        listS
-    > graph_type;
-
-private:
-    // storage selectors
-    typedef typename graph_type::vertex_list_selector vertex_list_selector;
-    typedef typename graph_type::edge_list_selector edge_list_selector;
-    typedef typename graph_type::out_edge_list_selector out_edge_list_selector;
-    typedef typename graph_type::directed_selector directed_selector;
-
-public:
-    // more commonly used graph types
-    typedef typename graph_type::stored_vertex stored_vertex;
-    typedef typename graph_type::vertices_size_type vertices_size_type;
-    typedef typename graph_type::edges_size_type edges_size_type;
-    typedef typename graph_type::degree_size_type degree_size_type;
-    typedef typename graph_type::vertex_descriptor vertex_descriptor;
-    typedef typename graph_type::edge_descriptor edge_descriptor;
-
-    // iterator types
-    typedef typename graph_type::vertex_iterator vertex_iterator;
-    typedef typename graph_type::edge_iterator edge_iterator;
-    typedef typename graph_type::out_edge_iterator out_edge_iterator;
-    typedef typename graph_type::in_edge_iterator in_edge_iterator;
-    typedef typename graph_type::adjacency_iterator adjacency_iterator;
-
-    // miscellaneous types
-    typedef directed_graph_tag graph_tag;
-    typedef typename graph_type::directed_category directed_category;
-    typedef typename graph_type::edge_parallel_category edge_parallel_category;
-    typedef typename graph_type::traversal_category traversal_category;
-
-    typedef std::size_t vertex_index_type;
-    typedef std::size_t edge_index_type;
-
-    directed_graph(GraphProp const& p = GraphProp())
-        : m_graph(p), m_num_vertices(0), m_num_edges(0), m_max_vertex_index(0)
-        , m_max_edge_index(0)
-    { }
-
-    directed_graph(directed_graph const& x)
-        : m_graph(x), m_num_vertices(x.m_num_vertices), m_num_edges(x.m_num_edges)
-        , m_max_vertex_index(x.m_max_vertex_index), m_max_edge_index(x.m_max_edge_index)
-    { }
-
-    directed_graph(vertices_size_type n, GraphProp const& p = GraphProp())
-        : m_graph(n, p), m_num_vertices(n), m_num_edges(0), m_max_vertex_index(n)
-        , m_max_edge_index(0)
-    { renumber_vertex_indices(); }
-
-    template <typename EdgeIterator>
-    directed_graph(EdgeIterator f,
-                   EdgeIterator l,
-                   vertices_size_type n,
-                   edges_size_type m = 0,
-                   GraphProp const& p = GraphProp())
-        : m_graph(f, l, n, m, p), m_num_vertices(n), m_num_edges(0)
-        , m_max_vertex_index(n), m_max_edge_index(0)
-    {
-        // Unfortunately, we have to renumber the entire graph.
-        renumber_indices();
-
-        // Can't always guarantee that the number of edges is actually
-        // m if distance(f, l) != m (or is undefined).
-        m_num_edges = m_max_edge_index = boost::num_edges(m_graph);
-    }
-
-    directed_graph& operator=(directed_graph const& g) {
-        if(&g != this) {
-            m_graph = g.m_graph;
-            m_num_vertices = g.m_num_vertices;
-            m_num_edges = g.m_num_edges;
-            m_max_vertex_index = g.m_max_vertex_index;
-            m_max_edge_index = g.m_max_edge_index;
-        }
-        return *this;
-    }
-
-    // The impl_() methods are not part of the public interface.
-    graph_type& impl()
-    { return m_graph; }
-
-    graph_type const& impl() const
-    { return m_graph; }
-
-    // The following methods are not part of the public interface
-    vertices_size_type num_vertices() const
-    { return m_num_vertices; }
-
-
-private:
-    // This helper function manages the attribution of vertex indices.
-    vertex_descriptor make_index(vertex_descriptor v) {
-        boost::put(vertex_index, m_graph, v, m_max_vertex_index);
-        m_num_vertices++;
-        m_max_vertex_index++;
-        return v;
-    }
-public:
-    vertex_descriptor add_vertex()
-    { return make_index(boost::add_vertex(m_graph)); }
-
-    vertex_descriptor add_vertex(vertex_property_type const& p)
-    { return make_index(boost::add_vertex(internal_vertex_property(0u, p), m_graph)); }
-
-    void clear_vertex(vertex_descriptor v)
-    {
-        m_num_edges -= boost::degree(v, m_graph);
-        boost::clear_vertex(v, m_graph);
-    }
-
-    void remove_vertex(vertex_descriptor v)
-    {
-        boost::remove_vertex(v, m_graph);
-        --m_num_vertices;
-    }
-
-    edges_size_type num_edges() const
-    { return m_num_edges; }
-
-private:
-    // A helper fucntion for managing edge index attributes.
-    std::pair<edge_descriptor, bool> const&
-    make_index(std::pair<edge_descriptor, bool> const& x)
-    {
-        if(x.second) {
-            boost::put(edge_index, m_graph, x.first, m_max_edge_index);
-            ++m_num_edges;
-            ++m_max_edge_index;
-        }
-        return x;
-    }
-public:
-    std::pair<edge_descriptor, bool>
-    add_edge(vertex_descriptor u, vertex_descriptor v)
-    { return make_index(boost::add_edge(u, v, m_graph)); }
-
-    std::pair<edge_descriptor, bool>
-    add_edge(vertex_descriptor u, vertex_descriptor v, edge_property_type const& p)
-    { return make_index(boost::add_edge(u, v, internal_edge_property(0u, p), m_graph)); }
-
-    void remove_edge(vertex_descriptor u, vertex_descriptor v)
-    {
-        // find all edges, (u, v)
-        std::vector<edge_descriptor> edges;
-        out_edge_iterator i, i_end;
-        for(boost::tie(i, i_end) = boost::out_edges(u, m_graph); i != i_end; ++i) {
-            if(boost::target(*i, m_graph) == v) {
-                edges.push_back(*i);
-            }
-        }
-        // remove all edges, (u, v)
-        typename std::vector<edge_descriptor>::iterator
-        j = edges.begin(), j_end = edges.end();
-        for( ; j != j_end; ++j) {
-            remove_edge(*j);
-        }
-    }
-
-    void remove_edge(edge_iterator i)
-    {
-        remove_edge(*i);
-    }
-
-    void remove_edge(edge_descriptor e)
-    {
-        boost::remove_edge(e, m_graph);
-        --m_num_edges;
-    }
-
-    vertex_index_type max_vertex_index() const
-    { return m_max_vertex_index; }
-
-    void
-    renumber_vertex_indices()
-    {
-        vertex_iterator i, end;
-        boost::tie(i, end) = vertices(m_graph);
-        m_max_vertex_index = renumber_vertex_indices(i, end, 0);
-    }
-
-    void
-    remove_vertex_and_renumber_indices(vertex_iterator i)
-    {
-        vertex_iterator j = next(i), end = vertices(m_graph).second;
-        vertex_index_type n = get(vertex_index, m_graph, *i);
-
-        // remove the offending vertex and renumber everything after
-        remove_vertex(*i);
-        m_max_vertex_index = renumber_vertex_indices(j, end, n);
-    }
-
-    edge_index_type
-    max_edge_index() const
-    { return m_max_edge_index; }
-
-    void
-    renumber_edge_indices()
-    {
-        edge_iterator i, end;
-        boost::tie(i, end) = edges(m_graph);
-        m_max_edge_index = renumber_edge_indices(i, end, 0);
-    }
-
-    void
-    remove_edge_and_renumber_indices(edge_iterator i)
-    {
-        edge_iterator j = next(i), end = edges(m_graph).second;
-        edge_index_type n = get(edge_index, m_graph, *i);
-
-        // remove the offending edge and renumber everything after
-        remove_edge(*i);
-        m_max_edge_index = renumber_edge_indices(j, end, n);
-    }
-
-    void
-    renumber_indices()
-    {
-        renumber_vertex_indices();
-        renumber_edge_indices();
-    }
-
-    // bundled property support
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    vertex_bundled& operator[](vertex_descriptor v)
-    { return m_graph[v]; }
-
-    vertex_bundled const& operator[](vertex_descriptor v) const
-    { return m_graph[v]; }
-
-    edge_bundled& operator[](edge_descriptor e)
-    { return m_graph[e]; }
-
-    edge_bundled const& operator[](edge_descriptor e) const
-    { return m_graph[e]; }
-
-    graph_bundled& operator[](graph_bundle_t)
-    { return get_property(*this); }
-
-    graph_bundled const& operator[](graph_bundle_t) const
-    { return get_property(*this); }
-#endif
-
-    // Graph concepts
-    static vertex_descriptor null_vertex()
-    { return graph_type::null_vertex(); }
-
-    void clear()
-    {
-        m_graph.clear();
-        m_num_vertices = m_max_vertex_index = 0;
-        m_num_edges = m_max_edge_index = 0;
-    }
-
-    void swap(directed_graph& g)
-    {
-        m_graph.swap(g.m_graph);
-        std::swap(m_num_vertices, g.m_num_vertices);
-        std::swap(m_max_vertex_index, g.m_max_vertex_index);
-        std::swap(m_num_edges, g.m_num_edges);
-        std::swap(m_max_edge_index, g.m_max_edge_index);
-    }
-
-private:
-    vertices_size_type
-    renumber_vertex_indices(vertex_iterator i,
-                            vertex_iterator end,
-                            vertices_size_type n)
-    {
-        typedef typename property_map<graph_type, vertex_index_t>::type IndexMap;
-        IndexMap indices = get(vertex_index, m_graph);
-        for( ; i != end; ++i) {
-            indices[*i] = n++;
-        }
-        return n;
-    }
-
-    vertices_size_type
-    renumber_edge_indices(edge_iterator i,
-                        edge_iterator end,
-                        vertices_size_type n)
-    {
-        typedef typename property_map<graph_type, edge_index_t>::type IndexMap;
-        IndexMap indices = get(edge_index, m_graph);
-        for( ; i != end; ++i) {
-            indices[*i] = n++;
-        }
-        return n;
-    }
-
-    graph_type m_graph;
-    vertices_size_type m_num_vertices;
-    edges_size_type m_num_edges;
-    vertex_index_type m_max_vertex_index;
-    edge_index_type m_max_edge_index;
-};
-
-#define DIRECTED_GRAPH_PARAMS typename VP, typename EP, typename GP
-#define DIRECTED_GRAPH directed_graph<VP,EP,GP>
-
-// IncidenceGraph concepts
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::vertex_descriptor
-source(typename DIRECTED_GRAPH::edge_descriptor e, DIRECTED_GRAPH const& g)
-{ return source(e, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::vertex_descriptor
-target(typename DIRECTED_GRAPH::edge_descriptor e, DIRECTED_GRAPH const& g)
-{ return target(e, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::degree_size_type
-out_degree(typename DIRECTED_GRAPH::vertex_descriptor v, DIRECTED_GRAPH const& g)
-{ return out_degree(v, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename DIRECTED_GRAPH::out_edge_iterator,
-    typename DIRECTED_GRAPH::out_edge_iterator
->
-out_edges(typename DIRECTED_GRAPH::vertex_descriptor v,
-        DIRECTED_GRAPH const& g)
-{ return out_edges(v, g.impl()); }
-
-// BidirectionalGraph concepts
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::degree_size_type
-in_degree(typename DIRECTED_GRAPH::vertex_descriptor v, DIRECTED_GRAPH const& g)
-{ return in_degree(v, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename DIRECTED_GRAPH::in_edge_iterator,
-    typename DIRECTED_GRAPH::in_edge_iterator
->
-in_edges(typename DIRECTED_GRAPH::vertex_descriptor v,
-        DIRECTED_GRAPH const& g)
-{ return in_edges(v, g.impl()); }
-
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::degree_size_type
-degree(typename DIRECTED_GRAPH::vertex_descriptor v, DIRECTED_GRAPH const& g)
-{ return degree(v, g.impl()); }
-
-// AdjacencyGraph concepts
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename DIRECTED_GRAPH::adjacency_iterator,
-    typename DIRECTED_GRAPH::adjacency_iterator
-    >
-adjacent_vertices(typename DIRECTED_GRAPH::vertex_descriptor v,
-                  DIRECTED_GRAPH const& g)
-{ return adjacent_vertices(v, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-typename DIRECTED_GRAPH::vertex_descriptor
-vertex(typename DIRECTED_GRAPH::vertices_size_type n,
-       DIRECTED_GRAPH const& g)
-{ return vertex(n, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-std::pair<typename DIRECTED_GRAPH::edge_descriptor, bool>
-edge(typename DIRECTED_GRAPH::vertex_descriptor u,
-     typename DIRECTED_GRAPH::vertex_descriptor v,
-     DIRECTED_GRAPH const& g)
-{ return edge(u, v, g.impl()); }
-
-// VertexListGraph concepts
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::vertices_size_type
-num_vertices(DIRECTED_GRAPH const& g)
-{ return g.num_vertices(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename DIRECTED_GRAPH::vertex_iterator,
-    typename DIRECTED_GRAPH::vertex_iterator
->
-vertices(DIRECTED_GRAPH const& g)
-{ return vertices(g.impl()); }
-
-// EdgeListGraph concepts
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::edges_size_type
-num_edges(DIRECTED_GRAPH const& g)
-{ return g.num_edges(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename DIRECTED_GRAPH::edge_iterator,
-    typename DIRECTED_GRAPH::edge_iterator
->
-edges(DIRECTED_GRAPH const& g)
-{ return edges(g.impl()); }
-
-// MutableGraph concepts
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::vertex_descriptor
-add_vertex(DIRECTED_GRAPH& g)
-{ return g.add_vertex(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::vertex_descriptor
-add_vertex(typename DIRECTED_GRAPH::vertex_property_type const& p,
-           DIRECTED_GRAPH& g)
-{ return g.add_vertex(p); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void
-clear_vertex(typename DIRECTED_GRAPH::vertex_descriptor v,
-DIRECTED_GRAPH& g)
-{ return g.clear_vertex(v); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void
-remove_vertex(typename DIRECTED_GRAPH::vertex_descriptor v,
-              DIRECTED_GRAPH& g)
-{ return g.remove_vertex(v); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<typename DIRECTED_GRAPH::edge_descriptor, bool>
-add_edge(typename DIRECTED_GRAPH::vertex_descriptor u,
-         typename DIRECTED_GRAPH::vertex_descriptor v,
-         DIRECTED_GRAPH& g)
-{ return g.add_edge(u, v); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline std::pair<typename DIRECTED_GRAPH::edge_descriptor, bool>
-add_edge(typename DIRECTED_GRAPH::vertex_descriptor u,
-         typename DIRECTED_GRAPH::vertex_descriptor v,
-         typename DIRECTED_GRAPH::edge_property_type const& p,
-         DIRECTED_GRAPH& g)
-{ return g.add_edge(u, v, p); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void remove_edge(typename DIRECTED_GRAPH::vertex_descriptor u,
-                        typename DIRECTED_GRAPH::vertex_descriptor v,
-                        DIRECTED_GRAPH& g)
-{ return g.remove_edge(u, v); }
-
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void remove_edge(typename DIRECTED_GRAPH::edge_descriptor e, DIRECTED_GRAPH& g)
-{ return g.remove_edge(e); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void remove_edge(typename DIRECTED_GRAPH::edge_iterator i, DIRECTED_GRAPH& g)
-{ return g.remove_edge(i); }
-
-template <DIRECTED_GRAPH_PARAMS, class Predicate>
-inline void remove_edge_if(Predicate pred, DIRECTED_GRAPH& g)
-{ return remove_edge_if(pred, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS, class Predicate>
-inline void
-remove_out_edge_if(typename DIRECTED_GRAPH::vertex_descriptor v,
-                   Predicate pred,
-                   DIRECTED_GRAPH& g)
-{ return remove_out_edge_if(v, pred, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS, class Predicate>
-inline void
-remove_in_edge_if(typename DIRECTED_GRAPH::vertex_descriptor v,
-                Predicate pred,
-                DIRECTED_GRAPH& g)
-{ return remove_in_edge_if(v, pred, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS, typename Property>
-struct property_map<DIRECTED_GRAPH, Property>: property_map<typename DIRECTED_GRAPH::graph_type, Property> {};
-
-template <DIRECTED_GRAPH_PARAMS>
-struct property_map<DIRECTED_GRAPH, vertex_all_t> {
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename DIRECTED_GRAPH::graph_type, vertex_all_t>::const_type>
-    const_type;
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename DIRECTED_GRAPH::graph_type, vertex_all_t>::type>
-    type;
-};
-
-template <DIRECTED_GRAPH_PARAMS>
-struct property_map<DIRECTED_GRAPH, edge_all_t> {
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename DIRECTED_GRAPH::graph_type, edge_all_t>::const_type>
-    const_type;
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename DIRECTED_GRAPH::graph_type, edge_all_t>::type>
-    type;
-};
-
-// PropertyGraph concepts
-template <DIRECTED_GRAPH_PARAMS, typename Property>
-inline typename property_map<DIRECTED_GRAPH, Property>::type
-get(Property p, DIRECTED_GRAPH& g)
-{ return get(p, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS, typename Property>
-inline typename property_map<DIRECTED_GRAPH, Property>::const_type
-get(Property p, DIRECTED_GRAPH const& g)
-{ return get(p, g.impl()); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename property_map<DIRECTED_GRAPH, vertex_all_t>::type
-get(vertex_all_t, DIRECTED_GRAPH& g)
-{ return typename property_map<DIRECTED_GRAPH, vertex_all_t>::type(detail::remove_first_property(), get(vertex_all, g.impl())); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename property_map<DIRECTED_GRAPH, vertex_all_t>::const_type
-get(vertex_all_t, DIRECTED_GRAPH const& g)
-{ return typename property_map<DIRECTED_GRAPH, vertex_all_t>::const_type(detail::remove_first_property(), get(vertex_all, g.impl())); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename property_map<DIRECTED_GRAPH, edge_all_t>::type
-get(edge_all_t, DIRECTED_GRAPH& g)
-{ return typename property_map<DIRECTED_GRAPH, edge_all_t>::type(detail::remove_first_property(), get(edge_all, g.impl())); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename property_map<DIRECTED_GRAPH, edge_all_t>::const_type
-get(edge_all_t, DIRECTED_GRAPH const& g)
-{ return typename property_map<DIRECTED_GRAPH, edge_all_t>::const_type(detail::remove_first_property(), get(edge_all, g.impl())); }
-
-template <DIRECTED_GRAPH_PARAMS, typename Property, typename Key>
-inline typename property_traits<
-    typename property_map<
-        typename DIRECTED_GRAPH::graph_type, Property
-    >::const_type
->::value_type
-get(Property p, DIRECTED_GRAPH const& g, Key const& k)
-{ return get(p, g.impl(), k); }
-
-template <DIRECTED_GRAPH_PARAMS, typename Key>
-inline typename property_traits<
-    typename property_map<
-        typename DIRECTED_GRAPH::graph_type, vertex_all_t
-    >::const_type
->::value_type
-get(vertex_all_t, DIRECTED_GRAPH const& g, Key const& k)
-{ return get(vertex_all, g.impl(), k).m_base; }
-
-template <DIRECTED_GRAPH_PARAMS, typename Key>
-inline typename property_traits<
-    typename property_map<
-        typename DIRECTED_GRAPH::graph_type, edge_all_t
-    >::const_type
->::value_type
-get(edge_all_t, DIRECTED_GRAPH const& g, Key const& k)
-{ return get(edge_all, g.impl(), k).m_base; }
-
-template <DIRECTED_GRAPH_PARAMS, typename Property, typename Key, typename Value>
-inline void put(Property p, DIRECTED_GRAPH& g, Key const& k, Value const& v)
-{ put(p, g.impl(), k, v); }
-
-template <DIRECTED_GRAPH_PARAMS, typename Key, typename Value>
-inline void put(vertex_all_t, DIRECTED_GRAPH& g, Key const& k, Value const& v)
-{ put(vertex_all, g.impl(), k,
-      typename DIRECTED_GRAPH::internal_vertex_property(get(vertex_index, g.impl(), k), v));
-}
-
-template <DIRECTED_GRAPH_PARAMS, typename Key, typename Value>
-inline void put(edge_all_t, DIRECTED_GRAPH& g, Key const& k, Value const& v)
-{ put(edge_all, g.impl(), k,
-      typename DIRECTED_GRAPH::internal_vertex_property(get(edge_index, g.impl(), k), v));
-}
-
-template <DIRECTED_GRAPH_PARAMS, class Property>
-typename graph_property<DIRECTED_GRAPH, Property>::type&
-get_property(DIRECTED_GRAPH& g, Property p)
-{ return get_property(g.impl(), p); }
-
-template <DIRECTED_GRAPH_PARAMS, class Property>
-typename graph_property<DIRECTED_GRAPH, Property>::type const&
-get_property(DIRECTED_GRAPH const& g, Property p)
-{ return get_property(g.impl(), p); }
-
-template <DIRECTED_GRAPH_PARAMS, class Property, class Value>
-void
-set_property(DIRECTED_GRAPH& g, Property p, Value v)
-{ return set_property(g.impl(), p, v); }
-
-// Vertex index management
-
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::vertex_index_type
-get_vertex_index(typename DIRECTED_GRAPH::vertex_descriptor v,
-                DIRECTED_GRAPH const& g)
-{ return get(vertex_index, g, v); }
-
-template <DIRECTED_GRAPH_PARAMS>
-typename DIRECTED_GRAPH::vertex_index_type
-max_vertex_index(DIRECTED_GRAPH const& g)
-{ return g.max_vertex_index(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void
-renumber_vertex_indices(DIRECTED_GRAPH& g)
-{ g.renumber_vertex_indices(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void
-remove_vertex_and_renumber_indices(typename DIRECTED_GRAPH::vertex_iterator i,
-                                DIRECTED_GRAPH& g)
-{ g.remove_vertex_and_renumber_indices(i); }
-
-// Edge index management
-template <DIRECTED_GRAPH_PARAMS>
-inline typename DIRECTED_GRAPH::edge_index_type
-get_edge_index(typename DIRECTED_GRAPH::edge_descriptor v, DIRECTED_GRAPH const& g)
-{ return get(edge_index, g, v); }
-
-template <DIRECTED_GRAPH_PARAMS>
-typename DIRECTED_GRAPH::edge_index_type
-max_edge_index(DIRECTED_GRAPH const& g)
-{ return g.max_edge_index(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void renumber_edge_indices(DIRECTED_GRAPH& g)
-{ g.renumber_edge_indices(); }
-
-template <DIRECTED_GRAPH_PARAMS>
-inline void
-remove_edge_and_renumber_indices(typename DIRECTED_GRAPH::edge_iterator i,
-                                 DIRECTED_GRAPH& g)
-{ g.remove_edge_and_renumber_indices(i); }
-
-// Index management
-template <DIRECTED_GRAPH_PARAMS>
-inline void
-renumber_indices(DIRECTED_GRAPH& g)
-{ g.renumber_indices(); }
-
-// Mutability Traits
-template <DIRECTED_GRAPH_PARAMS>
-struct graph_mutability_traits<DIRECTED_GRAPH> {
-    typedef mutable_property_graph_tag category;
-};
-
-#undef DIRECTED_GRAPH_PARAMS
-#undef DIRECTED_GRAPH
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjacency_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjacency_list.hpp
deleted file mode 100644
index 2175356..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjacency_list.hpp
+++ /dev/null
@@ -1,3989 +0,0 @@
-// Copyright (C) 2004-2006 The Trustees of Indiana University.
-// Copyright (C) 2007 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_ADJACENCY_LIST_HPP
-#define BOOST_GRAPH_DISTRIBUTED_ADJACENCY_LIST_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/adjacency_iterator.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-#include <boost/graph/parallel/detail/property_holders.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/assert.hpp>
-#include <list>
-#include <algorithm>
-#include <boost/limits.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/parallel/distribution.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/distributed/selector.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/pending/container_traits.hpp>
-
-// Callbacks
-#include <boost/function/function2.hpp>
-
-// Serialization
-#include <boost/serialization/base_object.hpp>
-#include <boost/mpi/datatype.hpp>
-#include <boost/pending/property_serialize.hpp>
-#include <boost/graph/distributed/unsafe_serialize.hpp>
-
-// Named vertices
-#include <boost/graph/distributed/named_graph.hpp>
-
-#include <boost/graph/distributed/shuffled_distribution.hpp>
-
-namespace boost {
-
-  /// The type used to store an identifier that uniquely names a processor.
-  // NGE: I doubt we'll be running on more than 32768 procs for the time being
-  typedef /*int*/ short processor_id_type;
-
-  // Tell which processor the target of an edge resides on (for
-  // directed graphs) or which processor the other end point of the
-  // edge resides on (for undirected graphs).
-  enum edge_target_processor_id_t { edge_target_processor_id };
-  BOOST_INSTALL_PROPERTY(edge, target_processor_id);
-
-  // For undirected graphs, tells whether the edge is locally owned.
-  enum edge_locally_owned_t { edge_locally_owned };
-  BOOST_INSTALL_PROPERTY(edge, locally_owned);
-
-  // For bidirectional graphs, stores the incoming edges.
-  enum vertex_in_edges_t { vertex_in_edges };
-  BOOST_INSTALL_PROPERTY(vertex, in_edges);
-
-  /// Tag class for directed, distributed adjacency list
-  struct directed_distributed_adj_list_tag
-    : public virtual distributed_graph_tag,
-      public virtual distributed_vertex_list_graph_tag,
-      public virtual distributed_edge_list_graph_tag,
-      public virtual incidence_graph_tag,
-      public virtual adjacency_graph_tag {};
-
-  /// Tag class for bidirectional, distributed adjacency list
-  struct bidirectional_distributed_adj_list_tag
-    : public virtual distributed_graph_tag,
-      public virtual distributed_vertex_list_graph_tag,
-      public virtual distributed_edge_list_graph_tag,
-      public virtual incidence_graph_tag,
-      public virtual adjacency_graph_tag,
-      public virtual bidirectional_graph_tag {};
-
-  /// Tag class for undirected, distributed adjacency list
-  struct undirected_distributed_adj_list_tag
-    : public virtual distributed_graph_tag,
-      public virtual distributed_vertex_list_graph_tag,
-      public virtual distributed_edge_list_graph_tag,
-      public virtual incidence_graph_tag,
-      public virtual adjacency_graph_tag,
-      public virtual bidirectional_graph_tag {};
-
-  namespace detail {
-    template<typename Archiver, typename Directed, typename Vertex>
-    void
-    serialize(Archiver& ar, edge_base<Directed, Vertex>& e,
-              const unsigned int /*version*/)
-    {
-      ar & unsafe_serialize(e.m_source)
-         & unsafe_serialize(e.m_target);
-    }
-
-    template<typename Archiver, typename Directed, typename Vertex>
-    void
-    serialize(Archiver& ar, edge_desc_impl<Directed, Vertex>& e,
-              const unsigned int /*version*/)
-    {
-      ar & boost::serialization::base_object<edge_base<Directed, Vertex> >(e)
-         & unsafe_serialize(e.m_eproperty);
-    }
-  }
-
-  namespace detail { namespace parallel {
-  
-    /**
-     * A distributed vertex descriptor. These descriptors contain both
-     * the ID of the processor that owns the vertex and a local vertex
-     * descriptor that identifies the particular vertex for that
-     * processor.
-     */
-    template<typename LocalDescriptor>
-    struct global_descriptor
-    {
-      typedef LocalDescriptor local_descriptor_type;
-
-      global_descriptor() : owner(), local() { }
-
-      global_descriptor(processor_id_type owner, LocalDescriptor local)
-        : owner(owner), local(local) { }
-
-      processor_id_type owner;
-      LocalDescriptor local;
-
-      /**
-       * A function object that, given a processor ID, generates
-       * distributed vertex descriptors from local vertex
-       * descriptors. This function object is used by the
-       * vertex_iterator of the distributed adjacency list.
-       */
-      struct generator
-      {
-        typedef global_descriptor<LocalDescriptor> result_type;
-        typedef LocalDescriptor argument_type;
-
-        generator() {}
-        generator(processor_id_type owner) : owner(owner) {}
-
-        result_type operator()(argument_type v) const
-        { return result_type(owner, v); }
-
-      private:
-        processor_id_type owner;
-      };
-
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar & owner & unsafe_serialize(local);
-      }
-    };
-
-    /// Determine the process that owns the given descriptor
-    template<typename LocalDescriptor>
-    inline processor_id_type owner(const global_descriptor<LocalDescriptor>& v)
-    { return v.owner; }
-
-    /// Determine the local portion of the given descriptor
-    template<typename LocalDescriptor>
-    inline LocalDescriptor local(const global_descriptor<LocalDescriptor>& v)
-    { return v.local; }
-
-    /// Compare distributed vertex descriptors for equality
-    template<typename LocalDescriptor>
-    inline bool
-    operator==(const global_descriptor<LocalDescriptor>& u,
-               const global_descriptor<LocalDescriptor>& v)
-    {
-      return u.owner == v.owner && u.local == v.local;
-    }
-
-    /// Compare distributed vertex descriptors for inequality
-    template<typename LocalDescriptor>
-    inline bool
-    operator!=(const global_descriptor<LocalDescriptor>& u,
-               const global_descriptor<LocalDescriptor>& v)
-    { return !(u == v); }
-
-    template<typename LocalDescriptor>
-    inline bool
-    operator<(const global_descriptor<LocalDescriptor>& u,
-              const global_descriptor<LocalDescriptor>& v)
-    {
-      return (u.owner) < v.owner || (u.owner == v.owner && (u.local) < v.local);
-    }
-
-    template<typename LocalDescriptor>
-    inline bool
-    operator<=(const global_descriptor<LocalDescriptor>& u,
-               const global_descriptor<LocalDescriptor>& v)
-    {
-      return u.owner <= v.owner || (u.owner == v.owner && u.local <= v.local);
-    }
-
-    template<typename LocalDescriptor>
-    inline bool
-    operator>(const global_descriptor<LocalDescriptor>& u,
-              const global_descriptor<LocalDescriptor>& v)
-    {
-      return v < u;
-    }
-
-    template<typename LocalDescriptor>
-    inline bool
-    operator>=(const global_descriptor<LocalDescriptor>& u,
-               const global_descriptor<LocalDescriptor>& v)
-    {
-      return v <= u;
-    }
-
-    // DPG TBD: Add <, <=, >=, > for global descriptors
-
-    /**
-     * A Readable Property Map that extracts a global descriptor pair
-     * from a global_descriptor.
-     */
-    template<typename LocalDescriptor>
-    struct global_descriptor_property_map
-    {
-      typedef std::pair<processor_id_type, LocalDescriptor> value_type;
-      typedef value_type reference;
-      typedef global_descriptor<LocalDescriptor> key_type;
-      typedef readable_property_map_tag category;
-    };
-
-    template<typename LocalDescriptor>
-    inline std::pair<processor_id_type, LocalDescriptor>
-    get(global_descriptor_property_map<LocalDescriptor>,
-        global_descriptor<LocalDescriptor> x)
-    {
-      return std::pair<processor_id_type, LocalDescriptor>(x.owner, x.local);
-    }
-
-    /**
-     * A Readable Property Map that extracts the owner of a global
-     * descriptor.
-     */
-    template<typename LocalDescriptor>
-    struct owner_property_map
-    {
-      typedef processor_id_type value_type;
-      typedef value_type reference;
-      typedef global_descriptor<LocalDescriptor> key_type;
-      typedef readable_property_map_tag category;
-    };
-
-    template<typename LocalDescriptor>
-    inline processor_id_type
-    get(owner_property_map<LocalDescriptor>,
-        global_descriptor<LocalDescriptor> x)
-    {
-      return x.owner;
-    }
-
-    /**
-     * A Readable Property Map that extracts the local descriptor from
-     * a global descriptor.
-     */
-    template<typename LocalDescriptor>
-    struct local_descriptor_property_map
-    {
-      typedef LocalDescriptor value_type;
-      typedef value_type reference;
-      typedef global_descriptor<LocalDescriptor> key_type;
-      typedef readable_property_map_tag category;
-    };
-
-    template<typename LocalDescriptor>
-    inline LocalDescriptor
-    get(local_descriptor_property_map<LocalDescriptor>,
-        global_descriptor<LocalDescriptor> x)
-    {
-      return x.local;
-    }
-
-    /**
-     * Stores an incoming edge for a bidirectional distributed
-     * adjacency list. The user does not see this type directly,
-     * because it is just an implementation detail.
-     */
-    template<typename Edge>
-    struct stored_in_edge
-    {
-      stored_in_edge(processor_id_type sp, Edge e)
-        : source_processor(sp), e(e) {}
-
-      processor_id_type source_processor;
-      Edge e;
-    };
-
-    /**
-     * A distributed edge descriptor. These descriptors contain the
-     * underlying edge descriptor, the processor IDs for both the
-     * source and the target of the edge, and a boolean flag that
-     * indicates which of the processors actually owns the edge.
-     */
-    template<typename Edge>
-    struct edge_descriptor
-    {
-      edge_descriptor(processor_id_type sp = processor_id_type(),
-                      processor_id_type tp = processor_id_type(),
-                      bool owns = false, Edge ld = Edge())
-        : source_processor(sp), target_processor(tp),
-          source_owns_edge(owns), local(ld) {}
-
-      processor_id_type owner() const
-      {
-        return source_owns_edge? source_processor : target_processor;
-      }
-
-      /// The processor that the source vertex resides on
-      processor_id_type source_processor;
-
-      /// The processor that the target vertex resides on
-      processor_id_type target_processor;
-
-      /// True when the source processor owns the edge, false when the
-      /// target processor owns the edge.
-      bool source_owns_edge;
-
-      /// The local edge descriptor.
-      Edge local;
-
-      /**
-       * Function object that generates edge descriptors for the
-       * out_edge_iterator of the given distributed adjacency list
-       * from the edge descriptors of the underlying adjacency list.
-       */
-      template<typename Graph>
-      class out_generator
-      {
-        typedef typename Graph::directed_selector directed_selector;
-
-      public:
-        typedef edge_descriptor<Edge> result_type;
-        typedef Edge argument_type;
-
-        out_generator() : g(0) {}
-        explicit out_generator(const Graph& g) : g(&g) {}
-
-        result_type operator()(argument_type e) const
-        { return map(e, directed_selector()); }
-
-      private:
-        result_type map(argument_type e, directedS) const
-        {
-          return result_type(g->processor(),
-                             get(edge_target_processor_id, g->base(), e),
-                             true, e);
-        }
-
-        result_type map(argument_type e, bidirectionalS) const
-        {
-          return result_type(g->processor(),
-                             get(edge_target_processor_id, g->base(), e),
-                             true, e);
-        }
-
-        result_type map(argument_type e, undirectedS) const
-        {
-          return result_type(g->processor(),
-                             get(edge_target_processor_id, g->base(), e),
-                             get(edge_locally_owned, g->base(), e),
-                             e);
-        }
-
-        const Graph* g;
-      };
-
-      /**
-       * Function object that generates edge descriptors for the
-       * in_edge_iterator of the given distributed adjacency list
-       * from the edge descriptors of the underlying adjacency list.
-       */
-      template<typename Graph>
-      class in_generator
-      {
-        typedef typename Graph::directed_selector DirectedS;
-
-      public:
-        typedef typename boost::mpl::if_<is_same<DirectedS, bidirectionalS>,
-                                         stored_in_edge<Edge>,
-                                         Edge>::type argument_type;
-        typedef edge_descriptor<Edge> result_type;
-
-        in_generator() : g(0) {}
-        explicit in_generator(const Graph& g) : g(&g) {}
-
-        result_type operator()(argument_type e) const
-        { return map(e, DirectedS()); }
-
-      private:
-        /**
-         * For a bidirectional graph, we just generate the appropriate
-         * edge. No tricks.
-         */
-        result_type map(argument_type e, bidirectionalS) const
-        {
-          return result_type(e.source_processor,
-                             g->processor(),
-                             true,
-                             e.e);
-        }
-
-        /**
-         * For an undirected graph, we generate descriptors for the
-         * incoming edges by swapping the source/target of the
-         * underlying edge descriptor (a hack). The target processor
-         * ID on the edge is actually the source processor for this
-         * edge, and our processor is the target processor. If the
-         * edge is locally owned, then it is owned by the target (us);
-         * otherwise it is owned by the source.
-         */
-        result_type map(argument_type e, undirectedS) const
-        {
-          typename Graph::local_edge_descriptor local_edge(e);
-          // TBD: This is a very, VERY lame hack that takes advantage
-          // of our knowledge of the internals of the BGL
-          // adjacency_list. There should be a cleaner way to handle
-          // this...
-          using std::swap;
-          swap(local_edge.m_source, local_edge.m_target);
-          return result_type(get(edge_target_processor_id, g->base(), e),
-                             g->processor(),
-                             !get(edge_locally_owned, g->base(), e),
-                             local_edge);
-        }
-
-        const Graph* g;
-      };
-
-    private:
-      friend class boost::serialization::access;
-
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar
-          & source_processor
-          & target_processor
-          & source_owns_edge
-          & local;
-      }
-    };
-
-    /// Determine the process that owns this edge
-    template<typename Edge>
-    inline processor_id_type
-    owner(const edge_descriptor<Edge>& e)
-    { return e.source_owns_edge? e.source_processor : e.target_processor; }
-
-    /// Determine the local descriptor for this edge.
-    template<typename Edge>
-    inline Edge
-    local(const edge_descriptor<Edge>& e)
-    { return e.local; }
-
-    /**
-     * A Readable Property Map that extracts the owner and local
-     * descriptor of an edge descriptor.
-     */
-    template<typename Edge>
-    struct edge_global_property_map
-    {
-      typedef std::pair<processor_id_type, Edge> value_type;
-      typedef value_type reference;
-      typedef edge_descriptor<Edge> key_type;
-      typedef readable_property_map_tag category;
-    };
-
-    template<typename Edge>
-    inline std::pair<processor_id_type, Edge>
-    get(edge_global_property_map<Edge>, const edge_descriptor<Edge>& e)
-    {
-      typedef std::pair<processor_id_type, Edge> result_type;
-      return result_type(e.source_owns_edge? e.source_processor
-                         /* target owns edge*/: e.target_processor,
-                         e.local);
-    }
-
-    /**
-     * A Readable Property Map that extracts the owner of an edge
-     * descriptor.
-     */
-    template<typename Edge>
-    struct edge_owner_property_map
-    {
-      typedef processor_id_type value_type;
-      typedef value_type reference;
-      typedef edge_descriptor<Edge> key_type;
-      typedef readable_property_map_tag category;
-    };
-
-    template<typename Edge>
-    inline processor_id_type
-    get(edge_owner_property_map<Edge>, const edge_descriptor<Edge>& e)
-    {
-      return e.source_owns_edge? e.source_processor : e.target_processor;
-    }
-
-    /**
-     * A Readable Property Map that extracts the local descriptor from
-     * an edge descriptor.
-     */
-    template<typename Edge>
-    struct edge_local_property_map
-    {
-      typedef Edge value_type;
-      typedef value_type reference;
-      typedef edge_descriptor<Edge> key_type;
-      typedef readable_property_map_tag category;
-    };
-
-    template<typename Edge>
-    inline Edge
-    get(edge_local_property_map<Edge>,
-        const edge_descriptor<Edge>& e)
-    {
-      return e.local;
-    }
-
-    /** Compare distributed edge descriptors for equality.
-     *
-     * \todo need edge_descriptor to know if it is undirected so we
-     * can compare both ways.
-     */
-    template<typename Edge>
-    inline bool
-    operator==(const edge_descriptor<Edge>& e1,
-               const edge_descriptor<Edge>& e2)
-    {
-      return (e1.source_processor == e2.source_processor
-              && e1.target_processor == e2.target_processor
-              && e1.local == e2.local);
-    }
-
-    /// Compare distributed edge descriptors for inequality.
-    template<typename Edge>
-    inline bool
-    operator!=(const edge_descriptor<Edge>& e1,
-               const edge_descriptor<Edge>& e2)
-    { return !(e1 == e2); }
-
-    /**
-     * Configuration for the distributed adjacency list. We use this
-     * parameter to store all of the configuration details for the
-     * implementation of the distributed adjacency list, which allows us to
-     * get at the distribution type in the maybe_named_graph.
-     */
-    template<typename OutEdgeListS, typename ProcessGroup,
-             typename InVertexListS, typename InDistribution,
-             typename DirectedS, typename VertexProperty, 
-             typename EdgeProperty, typename GraphProperty, 
-             typename EdgeListS>
-    struct adjacency_list_config
-    {
-      typedef typename mpl::if_<is_same<InVertexListS, defaultS>, 
-                                vecS, InVertexListS>::type 
-        VertexListS;
-
-      /// Introduce the target processor ID property for each edge
-      typedef property<edge_target_processor_id_t, processor_id_type,
-                       EdgeProperty> edge_property_with_id;
-
-      /// For undirected graphs, introduce the locally-owned property for edges
-      typedef typename boost::mpl::if_<is_same<DirectedS, undirectedS>,
-                                       property<edge_locally_owned_t, bool,
-                                                edge_property_with_id>,
-                                       edge_property_with_id>::type
-        base_edge_property_type;
-
-      /// The edge descriptor type for the local subgraph
-      typedef typename adjacency_list_traits<OutEdgeListS,
-                                             VertexListS,
-                                             directedS>::edge_descriptor
-        local_edge_descriptor;
-
-      /// For bidirectional graphs, the type of an incoming stored edge
-      typedef stored_in_edge<local_edge_descriptor> bidir_stored_edge;
-
-      /// The container type that will store incoming edges for a
-      /// bidirectional graph.
-      typedef typename container_gen<EdgeListS, bidir_stored_edge>::type
-        in_edge_list_type;
-
-      // Bidirectional graphs have an extra vertex property to store
-      // the incoming edges.
-      typedef typename boost::mpl::if_<is_same<DirectedS, bidirectionalS>,
-                                       property<vertex_in_edges_t, in_edge_list_type,
-                                                VertexProperty>,
-                                       VertexProperty>::type 
-        base_vertex_property_type;
-
-      // The type of the distributed adjacency list
-      typedef adjacency_list<OutEdgeListS,
-                             distributedS<ProcessGroup, 
-                                          VertexListS, 
-                                          InDistribution>,
-                             DirectedS, VertexProperty, EdgeProperty,
-                             GraphProperty, EdgeListS> 
-        graph_type;
-
-      // The type of the underlying adjacency list implementation
-      typedef adjacency_list<OutEdgeListS, VertexListS, directedS,
-                             base_vertex_property_type,
-                             base_edge_property_type,
-                             GraphProperty,
-                             EdgeListS> 
-        inherited;
-      
-      typedef InDistribution in_distribution_type;
-      typedef typename inherited::vertices_size_type vertices_size_type;
-
-          typedef typename ::boost::graph::distributed::select_distribution<
-              in_distribution_type, VertexProperty, vertices_size_type, 
-              ProcessGroup>::type 
-        base_distribution_type;
-
-          typedef ::boost::graph::distributed::shuffled_distribution<
-          base_distribution_type> distribution_type;
-
-      typedef VertexProperty vertex_property_type;
-      typedef EdgeProperty edge_property_type;
-      typedef ProcessGroup process_group_type;
-
-      typedef VertexListS vertex_list_selector;
-      typedef OutEdgeListS out_edge_list_selector;
-      typedef DirectedS directed_selector;
-      typedef GraphProperty graph_property_type;
-      typedef EdgeListS edge_list_selector;
-    };
-
-    // Maybe initialize the indices of each vertex
-    template<typename IteratorPair, typename VertexIndexMap>
-    void
-    maybe_initialize_vertex_indices(IteratorPair p, VertexIndexMap to_index,
-                                    read_write_property_map_tag)
-    {
-      typedef typename property_traits<VertexIndexMap>::value_type index_t;
-      index_t next_index = 0;
-      while (p.first != p.second)
-        put(to_index, *p.first++, next_index++);
-    }
-
-    template<typename IteratorPair, typename VertexIndexMap>
-    inline void
-    maybe_initialize_vertex_indices(IteratorPair p, VertexIndexMap to_index,
-                                    readable_property_map_tag)
-    {
-      // Do nothing
-    }
-
-    template<typename IteratorPair, typename VertexIndexMap>
-    inline void
-    maybe_initialize_vertex_indices(IteratorPair p, VertexIndexMap to_index)
-    {
-      typedef typename property_traits<VertexIndexMap>::category category;
-      maybe_initialize_vertex_indices(p, to_index, category());
-    }
-
-    template<typename IteratorPair>
-    inline void
-    maybe_initialize_vertex_indices(IteratorPair p,
-                                    ::boost::detail::error_property_not_found)
-    { }
-
-    /***********************************************************************
-     * Message Payloads                                                    *
-     ***********************************************************************/
-
-    /**
-     * Data stored with a msg_add_edge message, which requests the
-     * remote addition of an edge.
-     */
-    template<typename Vertex, typename LocalVertex>
-    struct msg_add_edge_data
-    {
-      msg_add_edge_data() { }
-
-      msg_add_edge_data(Vertex source, Vertex target)
-        : source(source.local), target(target) { }
-
-      /// The source of the edge; the processor will be the
-      /// receiving processor.
-      LocalVertex source;
-        
-      /// The target of the edge.
-      Vertex target;
-        
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar & unsafe_serialize(source) & target;
-      }
-    };
-
-    /**
-     * Like @c msg_add_edge_data, but also includes a user-specified
-     * property value to be attached to the edge.
-     */
-    template<typename Vertex, typename LocalVertex, typename EdgeProperty>
-    struct msg_add_edge_with_property_data
-      : msg_add_edge_data<Vertex, LocalVertex>, 
-        maybe_store_property<EdgeProperty>
-    {
-    private:
-      typedef msg_add_edge_data<Vertex, LocalVertex> inherited_data;
-      typedef maybe_store_property<EdgeProperty> inherited_property;
-
-    public:
-      msg_add_edge_with_property_data() { }
-
-      msg_add_edge_with_property_data(Vertex source, 
-                                      Vertex target,
-                                      const EdgeProperty& property)
-        : inherited_data(source, target),
-          inherited_property(property) { }
-      
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar & boost::serialization::base_object<inherited_data>(*this) 
-           & boost::serialization::base_object<inherited_property>(*this);
-      }
-    };
-
-    //------------------------------------------------------------------------
-    // Distributed adjacency list property map details
-    /**
-     * Metafunction that extracts the given property from the given
-     * distributed adjacency list type. This could be implemented much
-     * more cleanly, but even newer versions of GCC (e.g., 3.2.3)
-     * cannot properly handle partial specializations involving
-     * enumerator types.
-     */
-    template<typename Property>
-    struct get_adj_list_pmap
-    {
-      template<typename Graph>
-      struct apply
-      {
-        typedef Graph graph_type;
-        typedef typename graph_type::process_group_type process_group_type;
-        typedef typename graph_type::inherited base_graph_type;
-        typedef typename property_map<base_graph_type, Property>::type
-          local_pmap;
-        typedef typename property_map<base_graph_type, Property>::const_type
-          local_const_pmap;
-
-        typedef graph_traits<graph_type> traits;
-        typedef typename graph_type::local_vertex_descriptor local_vertex;
-        typedef typename property_traits<local_pmap>::key_type local_key_type;
-
-        typedef typename property_traits<local_pmap>::value_type value_type;
-
-        typedef typename property_map<Graph, vertex_global_t>::const_type
-          vertex_global_map;
-        typedef typename property_map<Graph, edge_global_t>::const_type
-          edge_global_map;
-
-        typedef typename mpl::if_c<(is_same<local_key_type,
-                                            local_vertex>::value),
-                                   vertex_global_map, edge_global_map>::type
-          global_map;
-
-      public:
-        typedef ::boost::parallel::distributed_property_map<
-                  process_group_type, global_map, local_pmap> type;
-
-        typedef ::boost::parallel::distributed_property_map<
-                  process_group_type, global_map, local_const_pmap> const_type;
-      };
-    };
-
-    /**
-     * The local vertex index property map is actually a mapping from
-     * the local vertex descriptors to vertex indices.
-     */
-    template<>
-    struct get_adj_list_pmap<vertex_local_index_t>
-    {
-      template<typename Graph>
-      struct apply
-        : ::boost::property_map<typename Graph::inherited, vertex_index_t>
-      { };
-    };
-
-    /**
-     * The vertex index property map maps from global descriptors
-     * (e.g., the vertex descriptor of a distributed adjacency list)
-     * to the underlying local index. It is not valid to use this
-     * property map with nonlocal descriptors.
-     */
-    template<>
-    struct get_adj_list_pmap<vertex_index_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename property_map<Graph, vertex_global_t>::const_type
-          global_map;
-
-        typedef property_map<typename Graph::inherited, vertex_index_t> local;
-
-      public:
-        typedef local_property_map<typename Graph::process_group_type,
-                                   global_map,
-                                   typename local::type> type;
-        typedef local_property_map<typename Graph::process_group_type,
-                                   global_map,
-                                   typename local::const_type> const_type;
-      };
-    };
-
-    /**
-     * The vertex owner property map maps from vertex descriptors to
-     * the processor that owns the vertex.
-     */
-    template<>
-    struct get_adj_list_pmap<vertex_global_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename Graph::local_vertex_descriptor
-          local_vertex_descriptor;
-      public:
-        typedef global_descriptor_property_map<local_vertex_descriptor> type;
-        typedef type const_type;
-      };
-    };
-
-    /**
-     * The vertex owner property map maps from vertex descriptors to
-     * the processor that owns the vertex.
-     */
-    template<>
-    struct get_adj_list_pmap<vertex_owner_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename Graph::local_vertex_descriptor
-          local_vertex_descriptor;
-      public:
-        typedef owner_property_map<local_vertex_descriptor> type;
-        typedef type const_type;
-      };
-    };
-
-    /**
-     * The vertex local property map maps from vertex descriptors to
-     * the local descriptor for that vertex.
-     */
-    template<>
-    struct get_adj_list_pmap<vertex_local_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename Graph::local_vertex_descriptor
-          local_vertex_descriptor;
-      public:
-        typedef local_descriptor_property_map<local_vertex_descriptor> type;
-        typedef type const_type;
-      };
-    };
-
-    /**
-     * The edge global property map maps from edge descriptors to
-     * a pair of the owning processor and local descriptor.
-     */
-    template<>
-    struct get_adj_list_pmap<edge_global_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename Graph::local_edge_descriptor
-          local_edge_descriptor;
-      public:
-        typedef edge_global_property_map<local_edge_descriptor> type;
-        typedef type const_type;
-      };
-    };
-
-    /**
-     * The edge owner property map maps from edge descriptors to
-     * the processor that owns the edge.
-     */
-    template<>
-    struct get_adj_list_pmap<edge_owner_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename Graph::local_edge_descriptor
-          local_edge_descriptor;
-      public:
-        typedef edge_owner_property_map<local_edge_descriptor> type;
-        typedef type const_type;
-      };
-    };
-
-    /**
-     * The edge local property map maps from edge descriptors to
-     * the local descriptor for that edge.
-     */
-    template<>
-    struct get_adj_list_pmap<edge_local_t>
-    {
-      template<typename Graph>
-      struct apply
-      {
-      private:
-        typedef typename Graph::local_edge_descriptor
-          local_edge_descriptor;
-      public:
-        typedef edge_local_property_map<local_edge_descriptor> type;
-        typedef type const_type;
-      };
-    };
-    //------------------------------------------------------------------------
-
-    // Directed graphs do not have in edges, so this is a no-op
-    template<typename Graph>
-    inline void
-    remove_in_edge(typename Graph::edge_descriptor, Graph&, directedS)
-    { }
-
-    // Bidirectional graphs have in edges stored in the
-    // vertex_in_edges property.
-    template<typename Graph>
-    inline void
-    remove_in_edge(typename Graph::edge_descriptor e, Graph& g, bidirectionalS)
-    {
-      typedef typename Graph::in_edge_list_type in_edge_list_type;
-      in_edge_list_type& in_edges =
-        get(vertex_in_edges, g.base())[target(e, g).local];
-      typename in_edge_list_type::iterator i = in_edges.begin();
-      while (i != in_edges.end()
-             && !(i->source_processor == source(e, g).owner)
-             && i->e == e.local)
-        ++i;
-
-      BOOST_ASSERT(i != in_edges.end());
-      in_edges.erase(i);
-    }
-
-    // Undirected graphs have in edges stored as normal edges.
-    template<typename Graph>
-    inline void
-    remove_in_edge(typename Graph::edge_descriptor e, Graph& g, undirectedS)
-    {
-      typedef typename Graph::inherited base_type;
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-      // TBD: can we make this more efficient?
-      // Removing edge (v, u). v is local
-      base_type& bg = g.base();
-      vertex_descriptor u = source(e, g);
-      vertex_descriptor v = target(e, g);
-      if (v.owner != process_id(g.process_group())) {
-        using std::swap;
-        swap(u, v);
-      }
-
-      typename graph_traits<base_type>::out_edge_iterator ei, ei_end;
-      for (boost::tie(ei, ei_end) = out_edges(v.local, bg); ei != ei_end; ++ei)
-      {
-        if (target(*ei, g.base()) == u.local
-            // TBD: deal with parallel edges properly && *ei == e
-            && get(edge_target_processor_id, bg, *ei) == u.owner) {
-          remove_edge(ei, bg);
-          return;
-        }
-      }
-
-      if (v.owner == process_id(g.process_group())) {
-
-      }
-    }
-
-    //------------------------------------------------------------------------
-    // Lazy addition of edges
-
-    // Work around the fact that an adjacency_list with vecS vertex
-    // storage automatically adds edges when the descriptor is
-    // out-of-range.
-    template <class Graph, class Config, class Base>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_local_edge(typename Config::vertex_descriptor u,
-                   typename Config::vertex_descriptor v,
-                   const typename Config::edge_property_type& p,
-                   vec_adj_list_impl<Graph, Config, Base>& g_)
-    {
-      adj_list_helper<Config, Base>& g = g_;
-      return add_edge(u, v, p, g);
-    }
-
-    template <class Graph, class Config, class Base>
-    inline std::pair<typename Config::edge_descriptor, bool>
-    add_local_edge(typename Config::vertex_descriptor u,
-                   typename Config::vertex_descriptor v,
-                   const typename Config::edge_property_type& p,
-                   boost::adj_list_impl<Graph, Config, Base>& g)
-    {
-      return add_edge(u, v, p, g);
-    }
-
-    template <class EdgeProperty,class EdgeDescriptor>
-    struct msg_nonlocal_edge_data
-      : public detail::parallel::maybe_store_property<EdgeProperty>
-    {
-      typedef EdgeProperty edge_property_type;
-      typedef EdgeDescriptor local_edge_descriptor;
-      typedef detail::parallel::maybe_store_property<edge_property_type> 
-        inherited;
-
-      msg_nonlocal_edge_data() {}
-      msg_nonlocal_edge_data(local_edge_descriptor e,
-                             const edge_property_type& p)
-        : inherited(p), e(e) { }
-
-      local_edge_descriptor e;
-
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar & boost::serialization::base_object<inherited>(*this) & e;
-      }
-    };
-
-    template <class EdgeDescriptor>
-    struct msg_remove_edge_data
-    {
-      typedef EdgeDescriptor edge_descriptor;
-      msg_remove_edge_data() {}
-      explicit msg_remove_edge_data(edge_descriptor e) : e(e) {}
-
-      edge_descriptor e;
-
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar & e;
-      }
-    };
-
-  } } // end namespace detail::parallel
-
-  /**
-   * Adjacency list traits for a distributed adjacency list. Contains
-   * the vertex and edge descriptors, the directed-ness, and the
-   * parallel edges typedefs.
-   */
-  template<typename OutEdgeListS, typename ProcessGroup,
-           typename InVertexListS, typename InDistribution, typename DirectedS>
-  struct adjacency_list_traits<OutEdgeListS,
-                               distributedS<ProcessGroup, 
-                                            InVertexListS,
-                                            InDistribution>,
-                               DirectedS>
-  {
-  private:
-    typedef typename mpl::if_<is_same<InVertexListS, defaultS>,
-                              vecS,
-                              InVertexListS>::type VertexListS;
-
-    typedef adjacency_list_traits<OutEdgeListS, VertexListS, directedS>
-      base_type;
-
-  public:
-    typedef typename base_type::vertex_descriptor local_vertex_descriptor;
-    typedef typename base_type::edge_descriptor   local_edge_descriptor;
-
-    typedef typename boost::mpl::if_<typename DirectedS::is_bidir_t,
-      bidirectional_tag,
-      typename boost::mpl::if_<typename DirectedS::is_directed_t,
-        directed_tag, undirected_tag
-      >::type
-    >::type directed_category;
-
-    typedef typename parallel_edge_traits<OutEdgeListS>::type
-      edge_parallel_category;
-
-    typedef detail::parallel::global_descriptor<local_vertex_descriptor>
-      vertex_descriptor;
-
-    typedef detail::parallel::edge_descriptor<local_edge_descriptor>
-      edge_descriptor;
-  };
-
-#define PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS                                    \
-  typename OutEdgeListS, typename ProcessGroup, typename InVertexListS,        \
-  typename InDistribution, typename DirectedS, typename VertexProperty,        \
-  typename EdgeProperty,  typename GraphProperty, typename EdgeListS
-
-#define PBGL_DISTRIB_ADJLIST_TYPE                                              \
-  adjacency_list<OutEdgeListS,                                                 \
-                 distributedS<ProcessGroup, InVertexListS, InDistribution>,    \
-                 DirectedS, VertexProperty, EdgeProperty, GraphProperty,       \
-                 EdgeListS>
-
-#define PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG                             \
-  typename OutEdgeListS, typename ProcessGroup, typename InVertexListS,        \
-  typename InDistribution, typename VertexProperty,                            \
-  typename EdgeProperty,  typename GraphProperty, typename EdgeListS
-  
-#define PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directed)                             \
-  adjacency_list<OutEdgeListS,                                                 \
-                 distributedS<ProcessGroup, InVertexListS, InDistribution>,    \
-                 directed, VertexProperty, EdgeProperty, GraphProperty,        \
-                 EdgeListS>
-                 
-  /** A distributed adjacency list.
-   *
-   * This class template partial specialization defines a distributed
-   * (or "partitioned") adjacency list graph. The distributed
-   * adjacency list is similar to the standard Boost Graph Library
-   * adjacency list, which stores a list of vertices and for each
-   * verted the list of edges outgoing from the vertex (and, in some
-   * cases, also the edges incoming to the vertex). The distributed
-   * adjacency list differs in that it partitions the graph into
-   * several subgraphs that are then divided among different
-   * processors (or nodes within a cluster). The distributed adjacency
-   * list attempts to maintain a high degree of compatibility with the
-   * standard, non-distributed adjacency list.
-   *
-   * The graph is partitioned by vertex, with each processor storing
-   * all of the required information for a particular subset of the
-   * vertices, including vertex properties, outgoing edges, and (for
-   * bidirectional graphs) incoming edges. This information is
-   * accessible only on the processor that owns the vertex: for
-   * instance, if processor 0 owns vertex @c v, no other processor can
-   * directly access the properties of @c v or enumerate its outgoing
-   * edges.
-   *
-   * Edges in a graph may be entirely local (connecting two local
-   * vertices), but more often it is the case that edges are
-   * non-local, meaning that the two vertices they connect reside in
-   * different processes. Edge properties are stored with the
-   * originating vertex for directed and bidirectional graphs, and are
-   * therefore only accessible from the processor that owns the
-   * originating vertex. Other processors may query the source and
-   * target of the edge, but cannot access its properties. This is
-   * particularly interesting when accessing the incoming edges of a
-   * bidirectional graph, which are not guaranteed to be stored on the
-   * processor that is able to perform the iteration. For undirected
-   * graphs the situation is more complicated, since no vertex clearly
-   * owns the edges: the list of edges incident to a vertex may
-   * contain a mix of local and non-local edges.
-   *
-   * The distributed adjacency list is able to model several of the
-   * existing Graph concepts. It models the Graph concept because it
-   * exposes vertex and edge descriptors in the normal way; these
-   * descriptors model the GlobalDescriptor concept (because they have
-   * an owner and a local descriptor), and as such the distributed
-   * adjacency list models the DistributedGraph concept. The adjacency
-   * list also models the IncidenceGraph and AdjacencyGraph concepts,
-   * although this is only true so long as the domain of the valid
-   * expression arguments are restricted to vertices and edges stored
-   * locally. Likewise, bidirectional and undirected distributed
-   * adjacency lists model the BidirectionalGraph concept (vertex and
-   * edge domains must be respectived) and the distributed adjacency
-   * list models the MutableGraph concept (vertices and edges can only
-   * be added or removed locally). T he distributed adjacency list
-   * does not, however, model the VertexListGraph or EdgeListGraph
-   * concepts, because we can not efficiently enumerate all vertices
-   * or edges in the graph. Instead, the local subsets of vertices and
-   * edges can be enumerated (with the same syntax): the distributed
-   * adjacency list therefore models the DistributedVertexListGraph
-   * and DistributedEdgeListGraph concepts, because concurrent
-   * iteration over all of the vertices or edges stored on each
-   * processor will visit each vertex or edge.
-   *
-   * The distributed adjacency list is distinguished from the
-   * non-distributed version by the vertex list descriptor, which will
-   * be @c distributedS<ProcessGroup,VertexListS>. Here,
-   * the VertexListS type plays the same role as the VertexListS type
-   * in the non-distributed adjacency list: it allows one to select
-   * the data structure that will be used to store the local
-   * vertices. The ProcessGroup type, on the other hand, is unique to
-   * distributed data structures: it is the type that abstracts a
-   * group of cooperating processes, and it used for process
-   * identification, communication, and synchronization, among other
-   * things. Different process group types represent different
-   * communication mediums (e.g., MPI, PVM, TCP) or different models
-   * of communication (LogP, CGM, BSP, synchronous, etc.). This
-   * distributed adjacency list assumes a model based on non-blocking
-   * sends.
-   *
-   * Distribution of vertices across different processors is
-   * accomplished in two different ways. When initially constructing
-   * the graph, the user may provide a distribution object (that
-   * models the Distribution concept), which will determine the
-   * distribution of vertices to each process. Additionally, the @c
-   * add_vertex and @c add_edge operations add vertices or edges
-   * stored on the local processor. For @c add_edge, this is
-   * accomplished by requiring that the source vertex of the new edge
-   * be local to the process executing @c add_edge.
-   *
-   * Internal properties of a distributed adjacency list are
-   * accessible in the same manner as internal properties for a
-   * non-distributed adjacency list for local vertices or
-   * edges. Access to properties for remote vertices or edges occurs
-   * with the same syntax, but involve communication with the owner of
-   * the information: for more information, refer to class template
-   * @ref distributed_property_map, which manages distributed
-   * property maps. Note that the distributed property maps created
-   * for internal properties determine their reduction operation via
-   * the metafunction @ref property_reduce, which for the vast
-   * majority of uses is correct behavior.
-   *
-   * Communication among the processes coordinating on a particular
-   * distributed graph relies on non-blocking message passing along
-   * with synchronization. Local portions of the distributed graph may
-   * be modified concurrently, including the introduction of non-local
-   * edges, but prior to accessing the graph it is recommended that
-   * the @c synchronize free function be invoked on the graph to clear
-   * up any pending interprocess communication and modifications. All
-   * processes will then be released from the synchronization barrier
-   * concurrently.
-   *
-   * \todo Determine precisely what we should do with nonlocal edges
-   * in undirected graphs. Our parallelization of certain algorithms
-   * relies on the ability to access edge property maps immediately
-   * (e.g., edge_weight_t), so it may be necessary to duplicate the
-   * edge properties in both processes (but then we need some form of
-   * coherence protocol).
-   *
-   * \todo What does the user do if @c property_reduce doesn't do the
-   * right thing?
-   */
-  template<typename OutEdgeListS, typename ProcessGroup,
-           typename InVertexListS, typename InDistribution, typename DirectedS,
-           typename VertexProperty, typename EdgeProperty, 
-           typename GraphProperty, typename EdgeListS>
-  class adjacency_list<OutEdgeListS,
-                       distributedS<ProcessGroup, 
-                                    InVertexListS, 
-                                    InDistribution>,
-                       DirectedS, VertexProperty,
-                       EdgeProperty, GraphProperty, EdgeListS>
-    : // Support for named vertices
-      public graph::distributed::maybe_named_graph<   
-        adjacency_list<OutEdgeListS,
-                       distributedS<ProcessGroup,
-                                    InVertexListS,
-                                    InDistribution>,
-                       DirectedS, VertexProperty,
-                       EdgeProperty, GraphProperty, EdgeListS>,
-        typename adjacency_list_traits<OutEdgeListS, 
-                                       distributedS<ProcessGroup,
-                                                    InVertexListS,
-                                                    InDistribution>,
-                                       DirectedS>::vertex_descriptor,
-        typename adjacency_list_traits<OutEdgeListS, 
-                                       distributedS<ProcessGroup,
-                                                    InVertexListS,
-                                                    InDistribution>,
-                                       DirectedS>::edge_descriptor,
-        detail::parallel::adjacency_list_config<OutEdgeListS, ProcessGroup, 
-                                                InVertexListS, InDistribution,
-                                                DirectedS, VertexProperty, 
-                                                EdgeProperty, GraphProperty, 
-                                                EdgeListS> >
-  {
-    typedef detail::parallel::adjacency_list_config<OutEdgeListS, ProcessGroup, 
-                                                InVertexListS, InDistribution,
-                                                DirectedS, VertexProperty, 
-                                                EdgeProperty, GraphProperty, 
-                                                EdgeListS>
-      config_type;
-      
-    typedef adjacency_list_traits<OutEdgeListS,
-                                  distributedS<ProcessGroup, 
-                                               InVertexListS, 
-                                               InDistribution>,
-                                  DirectedS> 
-      traits_type;
-
-    typedef typename DirectedS::is_directed_t is_directed;
-
-    typedef EdgeListS edge_list_selector;
-
-  public:
-    /// The container type that will store incoming edges for a
-    /// bidirectional graph.
-    typedef typename config_type::in_edge_list_type in_edge_list_type;
-//    typedef typename inherited::edge_descriptor   edge_descriptor;
-
-    /// The type of the underlying adjacency list implementation
-    typedef typename config_type::inherited inherited;
-
-    /// The type of properties stored in the local subgraph
-    /// Bidirectional graphs have an extra vertex property to store
-    /// the incoming edges.
-    typedef typename inherited::vertex_property_type
-      base_vertex_property_type;
-
-    /// The type of the distributed adjacency list (this type)
-    typedef typename config_type::graph_type graph_type;
-
-    /// Expose graph components and graph category
-    typedef typename traits_type::local_vertex_descriptor
-      local_vertex_descriptor;
-    typedef typename traits_type::local_edge_descriptor
-      local_edge_descriptor;
-    typedef typename traits_type::vertex_descriptor vertex_descriptor;
-    typedef typename traits_type::edge_descriptor edge_descriptor;
-
-    typedef typename traits_type::directed_category directed_category;
-    typedef typename inherited::edge_parallel_category
-      edge_parallel_category;
-    typedef typename inherited::graph_tag graph_tag;
-
-    // Current implementation requires the ability to have parallel
-    // edges in the underlying adjacency_list. Which processor each
-    // edge refers to is attached as an internal property. TBD:
-    // remove this restriction, which may require some rewriting.
-    BOOST_STATIC_ASSERT((is_same<edge_parallel_category,
-                                 allow_parallel_edge_tag>::value));
-
-    /** Determine the graph traversal category.
-     *
-     * A directed distributed adjacency list models the Distributed
-     * Graph, Incidence Graph, and Adjacency Graph
-     * concepts. Bidirectional and undirected graphs also model the
-     * Bidirectional Graph concept. Note that when modeling these
-     * concepts the domains of certain operations (e.g., in_edges)
-     * are restricted; see the distributed adjacency_list
-     * documentation.
-     */
-    typedef typename boost::mpl::if_<
-              is_same<DirectedS, directedS>,
-              directed_distributed_adj_list_tag,
-              typename boost::mpl::if_<is_same<DirectedS, bidirectionalS>,
-                                       bidirectional_distributed_adj_list_tag,
-                                       undirected_distributed_adj_list_tag>::type>
-      ::type traversal_category;
-
-    typedef typename inherited::degree_size_type degree_size_type;
-    typedef typename inherited::vertices_size_type vertices_size_type;
-    typedef typename inherited::edges_size_type edges_size_type;
-    typedef VertexProperty vertex_property_type;
-    typedef EdgeProperty edge_property_type;
-    typedef typename inherited::graph_property_type graph_property_type;
-    typedef typename inherited::vertex_bundled vertex_bundled;
-    typedef typename inherited::edge_bundled edge_bundled;
-    typedef typename inherited::graph_bundled graph_bundled;
-
-    typedef typename container_gen<edge_list_selector, edge_descriptor>::type
-      local_edge_list_type;
-
-  private:
-    typedef typename boost::mpl::if_<is_same<DirectedS, bidirectionalS>,
-                                     typename in_edge_list_type::const_iterator,
-                                     typename inherited::out_edge_iterator>::type
-      base_in_edge_iterator;
-
-    typedef typename inherited::out_edge_iterator base_out_edge_iterator;
-    typedef typename graph_traits<inherited>::edge_iterator
-      base_edge_iterator;
-    typedef typename inherited::edge_property_type base_edge_property_type;
-
-    typedef typename local_edge_list_type::const_iterator
-      undirected_edge_iterator;
-
-    typedef InDistribution in_distribution_type;
-
-    typedef parallel::trigger_receive_context trigger_receive_context;
-
-  public:
-    /// Iterator over the (local) vertices of the graph
-    typedef transform_iterator<typename vertex_descriptor::generator,
-                               typename inherited::vertex_iterator>
-      vertex_iterator;
-
-    /// Helper for out_edge_iterator
-    typedef typename edge_descriptor::template out_generator<adjacency_list>
-      out_edge_generator;
-
-    /// Iterator over the outgoing edges of a vertex
-    typedef transform_iterator<out_edge_generator,
-                               typename inherited::out_edge_iterator>
-      out_edge_iterator;
-
-    /// Helper for in_edge_iterator
-    typedef typename edge_descriptor::template in_generator<adjacency_list>
-      in_edge_generator;
-
-    /// Iterator over the incoming edges of a vertex
-    typedef transform_iterator<in_edge_generator, base_in_edge_iterator>
-      in_edge_iterator;
-
-    /// Iterator over the neighbors of a vertex
-    typedef boost::adjacency_iterator<
-              adjacency_list, vertex_descriptor, out_edge_iterator,
-              typename detail::iterator_traits<base_out_edge_iterator>
-                         ::difference_type>
-      adjacency_iterator;
-
-    /// Iterator over the (local) edges in a graph
-    typedef typename boost::mpl::if_<is_same<DirectedS, undirectedS>,
-                                     undirected_edge_iterator,
-                                     transform_iterator<out_edge_generator,
-                                                        base_edge_iterator>
-                                     >::type 
-      edge_iterator;
-
-  public:
-    /// The type of the mixin for named vertices
-    typedef graph::distributed::maybe_named_graph<graph_type, 
-                                                  vertex_descriptor, 
-                                                  edge_descriptor, 
-                                                  config_type> 
-      named_graph_mixin;
-        
-    /// Process group used for communication
-    typedef ProcessGroup process_group_type;
-
-    /// How to refer to a process
-    typedef typename process_group_type::process_id_type process_id_type;
-
-    /// Whether this graph is directed, undirected, or bidirectional
-    typedef DirectedS directed_selector;
-
-    // Structure used for the lazy addition of vertices
-    struct lazy_add_vertex_with_property;
-    friend struct lazy_add_vertex_with_property;
-
-    // Structure used for the lazy addition of edges
-    struct lazy_add_edge;
-    friend struct lazy_add_edge;
-
-    // Structure used for the lazy addition of edges with properties
-    struct lazy_add_edge_with_property;
-    friend struct lazy_add_edge_with_property;
-
-    /// default_distribution_type is the type of the distribution used if the
-    /// user didn't specify an explicit one
-    typedef typename graph::distributed::select_distribution<
-              InDistribution, VertexProperty, vertices_size_type, 
-              ProcessGroup>::default_type 
-      default_distribution_type;
-    
-    /// distribution_type is the type of the distribution instance stored in
-    /// the maybe_named_graph base class
-    typedef typename graph::distributed::select_distribution<
-              InDistribution, VertexProperty, vertices_size_type,
-              ProcessGroup>::type 
-      base_distribution_type;
-
-      typedef graph::distributed::shuffled_distribution<
-          base_distribution_type> distribution_type;
-
-  private:
-    // FIXME: the original adjacency_list contained this comment:
-    //    Default copy constructor and copy assignment operators OK??? TBD
-    // but the adj_list_impl contained these declarations:
-    adjacency_list(const adjacency_list& other);
-    adjacency_list& operator=(const adjacency_list& other);
-
-  public:
-    adjacency_list(const ProcessGroup& pg = ProcessGroup())
-      : named_graph_mixin(pg, default_distribution_type(pg, 0)),
-        m_local_graph(GraphProperty()), 
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-    }
-
-    adjacency_list(const ProcessGroup& pg, 
-                   const base_distribution_type& distribution)
-      : named_graph_mixin(pg, distribution),
-        m_local_graph(GraphProperty()), 
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-    }
-
-    adjacency_list(const GraphProperty& g,
-                   const ProcessGroup& pg = ProcessGroup())
-      : named_graph_mixin(pg, default_distribution_type(pg, 0)),
-        m_local_graph(g), 
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-    }
-
-    adjacency_list(vertices_size_type n,
-                   const GraphProperty& p,
-                   const ProcessGroup& pg,
-                   const base_distribution_type& distribution)
-      : named_graph_mixin(pg, distribution),
-        m_local_graph(distribution.block_size(process_id(pg), n), p),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-    }
-
-    adjacency_list(vertices_size_type n,
-                   const ProcessGroup& pg,
-                   const base_distribution_type& distribution)
-      : named_graph_mixin(pg, distribution),
-        m_local_graph(distribution.block_size(process_id(pg), n), GraphProperty()),
-        process_group_(pg, boost::parallel::attach_distributed_object()) 
-    {
-      setup_triggers();
-
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-    }
-
-    adjacency_list(vertices_size_type n,
-                   const GraphProperty& p,
-                   const ProcessGroup& pg = ProcessGroup())
-      : named_graph_mixin(pg, default_distribution_type(pg, n)),
-        m_local_graph(this->distribution().block_size(process_id(pg), n), p),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-    }
-
-    adjacency_list(vertices_size_type n,
-                   const ProcessGroup& pg = ProcessGroup())
-      : named_graph_mixin(pg, default_distribution_type(pg, n)),
-        m_local_graph(this->distribution().block_size(process_id(pg), n), 
-                      GraphProperty()),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-    }
-
-    /*
-     * We assume that every processor sees the same list of edges, so
-     * they skip over any that don't originate from themselves. This
-     * means that programs switching between a local and a distributed
-     * graph will keep the same semantics.
-     */
-    template <class EdgeIterator>
-    adjacency_list(EdgeIterator first, EdgeIterator last,
-                   vertices_size_type n,
-                   const ProcessGroup& pg = ProcessGroup(),
-                   const GraphProperty& p = GraphProperty())
-      : named_graph_mixin(pg, default_distribution_type(pg, n)),
-        m_local_graph(this->distribution().block_size(process_id(pg), n), p),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      typedef typename config_type::VertexListS vertex_list_selector;
-      initialize(first, last, n, this->distribution(), vertex_list_selector());
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-
-    }
-
-    template <class EdgeIterator, class EdgePropertyIterator>
-    adjacency_list(EdgeIterator first, EdgeIterator last,
-                   EdgePropertyIterator ep_iter,
-                   vertices_size_type n,
-                   const ProcessGroup& pg = ProcessGroup(),
-                   const GraphProperty& p = GraphProperty())
-      : named_graph_mixin(pg, default_distribution_type(pg, n)),
-        m_local_graph(this->distribution().block_size(process_id(pg), n), p),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      typedef typename config_type::VertexListS vertex_list_selector;
-      initialize(first, last, ep_iter, n, this->distribution(),
-                 vertex_list_selector());
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-
-    }
-
-    template <class EdgeIterator>
-    adjacency_list(EdgeIterator first, EdgeIterator last,
-                   vertices_size_type n,
-                   const ProcessGroup& pg,
-                   const base_distribution_type& distribution,
-                   const GraphProperty& p = GraphProperty())
-      : named_graph_mixin(pg, distribution),
-        m_local_graph(distribution.block_size(process_id(pg), n), p),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      typedef typename config_type::VertexListS vertex_list_selector;
-      initialize(first, last, n, this->distribution(), vertex_list_selector());
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-
-    }
-
-    template <class EdgeIterator, class EdgePropertyIterator>
-    adjacency_list(EdgeIterator first, EdgeIterator last,
-                   EdgePropertyIterator ep_iter,
-                   vertices_size_type n,
-                   const ProcessGroup& pg,
-                   const base_distribution_type& distribution,
-                   const GraphProperty& p = GraphProperty())
-      : named_graph_mixin(pg, distribution),
-        m_local_graph(this->distribution().block_size(process_id(pg), n), p),
-        process_group_(pg, boost::parallel::attach_distributed_object())
-    {
-      setup_triggers();
-
-      typedef typename config_type::VertexListS vertex_list_selector;
-      initialize(first, last, ep_iter, n, distribution,
-                 vertex_list_selector());
-      detail::parallel::maybe_initialize_vertex_indices(vertices(base()),
-                                      get(vertex_index, base()));
-
-    }
-
-    ~adjacency_list()
-    {
-      synchronize(process_group_);
-    }
-
-    void clear()
-    {
-      base().clear();
-      local_edges_.clear();
-      named_graph_mixin::clearing_graph();
-    }
-
-    void swap(adjacency_list& other)
-    {
-      using std::swap;
-
-      base().swap(other);
-      swap(process_group_, other.process_group_);
-    }
-
-    static vertex_descriptor null_vertex()
-    {
-      return vertex_descriptor(processor_id_type(0),
-                               inherited::null_vertex());
-    }
-
-    inherited&       base()       { return m_local_graph; }
-    const inherited& base() const { return m_local_graph; }
-
-    processor_id_type processor() const { return process_id(process_group_); }
-    process_group_type process_group() const { return process_group_.base(); }
-
-    local_edge_list_type&       local_edges()       { return local_edges_; }
-    const local_edge_list_type& local_edges() const { return local_edges_; }
-
-    // Redistribute the vertices of the graph by placing each vertex
-    // v on the processor get(vertex_to_processor, v).
-    template<typename VertexProcessorMap>
-    void redistribute(VertexProcessorMap vertex_to_processor);
-
-    // Directly access a vertex or edge bundle
-    vertex_bundled& operator[](vertex_descriptor v)
-    {
-      BOOST_ASSERT(v.owner == processor());
-      return base()[v.local];
-    }
-    
-    const vertex_bundled& operator[](vertex_descriptor v) const
-    {
-      BOOST_ASSERT(v.owner == processor());
-      return base()[v.local];
-    }
-    
-    edge_bundled& operator[](edge_descriptor e)
-    {
-      BOOST_ASSERT(e.owner() == processor());
-      return base()[e.local];
-    }
-    
-    const edge_bundled& operator[](edge_descriptor e) const
-    {
-      BOOST_ASSERT(e.owner() == processor());
-      return base()[e.local];
-    }
-
-    graph_bundled& operator[](graph_bundle_t)
-    { return get_property(*this); }
-
-    graph_bundled const& operator[](graph_bundle_t) const
-    { return get_property(*this); }
-
-    template<typename OStreamConstructibleArchive>
-    void save(std::string const& filename) const;
-
-    template<typename IStreamConstructibleArchive>
-    void load(std::string const& filename);
-
-    // Callback that will be invoked whenever a new vertex is added locally
-    boost::function<void(vertex_descriptor, adjacency_list&)> on_add_vertex;
-
-    // Callback that will be invoked whenever a new edge is added locally
-    boost::function<void(edge_descriptor, adjacency_list&)> on_add_edge;
-
-  private:
-    // Request vertex->processor mapping for neighbors <does nothing>
-    template<typename VertexProcessorMap>
-    void
-    request_in_neighbors(vertex_descriptor,
-                         VertexProcessorMap,
-                         directedS) { }
-
-    // Request vertex->processor mapping for neighbors <does nothing>
-    template<typename VertexProcessorMap>
-    void
-    request_in_neighbors(vertex_descriptor,
-                         VertexProcessorMap,
-                         undirectedS) { }
-
-    // Request vertex->processor mapping for neighbors
-    template<typename VertexProcessorMap>
-    void
-    request_in_neighbors(vertex_descriptor v,
-                         VertexProcessorMap vertex_to_processor,
-                         bidirectionalS);
-
-    // Clear the list of in-edges, but don't tell the remote processor
-    void clear_in_edges_local(vertex_descriptor v, directedS) {}
-    void clear_in_edges_local(vertex_descriptor v, undirectedS) {}
-
-    void clear_in_edges_local(vertex_descriptor v, bidirectionalS)
-    { get(vertex_in_edges, base())[v.local].clear(); }
-
-    // Remove in-edges that have migrated <does nothing>
-    template<typename VertexProcessorMap>
-    void
-    remove_migrated_in_edges(vertex_descriptor,
-                             VertexProcessorMap,
-                             directedS) { }
-
-    // Remove in-edges that have migrated <does nothing>
-    template<typename VertexProcessorMap>
-    void
-    remove_migrated_in_edges(vertex_descriptor,
-                             VertexProcessorMap,
-                             undirectedS) { }
-
-    // Remove in-edges that have migrated
-    template<typename VertexProcessorMap>
-    void
-    remove_migrated_in_edges(vertex_descriptor v,
-                             VertexProcessorMap vertex_to_processor,
-                             bidirectionalS);
-
-    // Initialize the graph with the given edge list and vertex
-    // distribution. This variation works only when
-    // VertexListS=vecS, and we know how to create remote vertex
-    // descriptors based solely on the distribution.
-    template<typename EdgeIterator>
-    void
-    initialize(EdgeIterator first, EdgeIterator last,
-               vertices_size_type, const base_distribution_type& distribution, 
-               vecS);
-
-    // Initialize the graph with the given edge list, edge
-    // properties, and vertex distribution. This variation works
-    // only when VertexListS=vecS, and we know how to create remote
-    // vertex descriptors based solely on the distribution.
-    template<typename EdgeIterator, typename EdgePropertyIterator>
-    void
-    initialize(EdgeIterator first, EdgeIterator last,
-               EdgePropertyIterator ep_iter,
-               vertices_size_type, const base_distribution_type& distribution, 
-               vecS);
-
-    // Initialize the graph with the given edge list, edge
-    // properties, and vertex distribution.
-    template<typename EdgeIterator, typename EdgePropertyIterator,
-             typename VertexListS>
-    void
-    initialize(EdgeIterator first, EdgeIterator last,
-               EdgePropertyIterator ep_iter,
-               vertices_size_type n, 
-               const base_distribution_type& distribution,
-               VertexListS);
-
-    // Initialize the graph with the given edge list and vertex
-    // distribution. This is nearly identical to the one below it,
-    // for which I should be flogged. However, this version does use
-    // slightly less memory than the version that accepts an edge
-    // property iterator.
-    template<typename EdgeIterator, typename VertexListS>
-    void
-    initialize(EdgeIterator first, EdgeIterator last,
-               vertices_size_type n, 
-               const base_distribution_type& distribution,
-               VertexListS);
-
-  public:
-    //---------------------------------------------------------------------
-    // Build a vertex property instance for the underlying adjacency
-    // list from the given property instance of the type exposed to
-    // the user.
-    base_vertex_property_type 
-    build_vertex_property(const vertex_property_type& p)
-    { return build_vertex_property(p, directed_selector()); }
-
-    base_vertex_property_type
-    build_vertex_property(const vertex_property_type& p, directedS)
-    {
-      return base_vertex_property_type(p);
-    }
-
-    base_vertex_property_type
-    build_vertex_property(const vertex_property_type& p, bidirectionalS)
-    {
-      return base_vertex_property_type(in_edge_list_type(), p);
-    }
-
-    base_vertex_property_type
-    build_vertex_property(const vertex_property_type& p, undirectedS)
-    {
-      return base_vertex_property_type(p);
-    }
-    //---------------------------------------------------------------------
-
-    //---------------------------------------------------------------------
-    // Build an edge property instance for the underlying adjacency
-    // list from the given property instance of the type exposed to
-    // the user.
-    base_edge_property_type build_edge_property(const edge_property_type& p)
-    { return build_edge_property(p, directed_selector()); }
-
-    base_edge_property_type
-    build_edge_property(const edge_property_type& p, directedS)
-    {
-      return base_edge_property_type(0, p);
-    }
-
-    base_edge_property_type
-    build_edge_property(const edge_property_type& p, bidirectionalS)
-    {
-      return base_edge_property_type(0, p);
-    }
-
-    base_edge_property_type
-    build_edge_property(const edge_property_type& p, undirectedS)
-    {
-      typedef typename base_edge_property_type::next_type
-        edge_property_with_id;
-      return base_edge_property_type(true, edge_property_with_id(0, p));
-    }
-    //---------------------------------------------------------------------
-
-    //---------------------------------------------------------------------
-    // Opposite of above.
-    edge_property_type split_edge_property(const base_edge_property_type& p)
-    { return split_edge_property(p, directed_selector()); }
-
-    edge_property_type
-    split_edge_property(const base_edge_property_type& p, directedS)
-    {
-      return p.m_base;
-    }
-
-    edge_property_type
-    split_edge_property(const base_edge_property_type& p, bidirectionalS)
-    {
-      return p.m_base;
-    }
-
-    edge_property_type
-    split_edge_property(const base_edge_property_type& p, undirectedS)
-    {
-      return p.m_base.m_base;
-    }
-    //---------------------------------------------------------------------
-
-    /** The set of messages that can be transmitted and received by
-     *  a distributed adjacency list. This list will eventually be
-     *  exhaustive, but is currently quite limited.
-     */
-    enum {
-      /**
-       * Request to add or find a vertex with the given vertex
-       * property. The data will be a vertex_property_type
-       * structure.
-       */
-      msg_add_vertex_with_property = 0,
-
-      /**
-       * Request to add or find a vertex with the given vertex
-       * property, and request that the remote processor return the
-       * descriptor for the added/found edge. The data will be a
-       * vertex_property_type structure.
-       */
-      msg_add_vertex_with_property_and_reply,
-
-      /**
-       * Reply to a msg_add_vertex_* message, containing the local
-       * vertex descriptor that was added or found.
-       */
-      msg_add_vertex_reply,
-
-      /**
-       * Request to add an edge remotely. The data will be a
-       * msg_add_edge_data structure. 
-       */
-      msg_add_edge,
-
-      /**
-       * Request to add an edge remotely. The data will be a
-       * msg_add_edge_with_property_data structure. 
-       */
-      msg_add_edge_with_property,
-
-      /**
-       * Request to add an edge remotely and reply back with the
-       * edge descriptor. The data will be a
-       * msg_add_edge_data structure. 
-       */
-      msg_add_edge_with_reply,
-
-      /**
-       * Request to add an edge remotely and reply back with the
-       * edge descriptor. The data will be a
-       * msg_add_edge_with_property_data structure.
-       */
-      msg_add_edge_with_property_and_reply,
-
-      /**
-       * Reply message responding to an @c msg_add_edge_with_reply
-       * or @c msg_add_edge_with_property_and_reply messages. The
-       * data will be a std::pair<edge_descriptor, bool>.
-       */
-      msg_add_edge_reply,
-
-      /**
-       * Indicates that a nonlocal edge has been created that should
-       * be added locally. Only valid for bidirectional and
-       * undirected graphs. The message carries a
-       * msg_nonlocal_edge_data structure.
-       */
-      msg_nonlocal_edge,
-
-      /**
-       * Indicates that a remote edge should be removed. This
-       * message does not exist for directedS graphs but may refer
-       * to either in-edges or out-edges for undirectedS graphs.
-       */
-      msg_remove_edge,
-
-      /**
-       * Indicates the number of vertices and edges that will be
-       * relocated from the source processor to the target
-       * processor. The data will be a pair<vertices_size_type,
-       * edges_size_type>.
-       */
-      msg_num_relocated
-    };
-
-    typedef detail::parallel::msg_add_edge_data<vertex_descriptor,
-                                                local_vertex_descriptor>
-      msg_add_edge_data;
-
-    typedef detail::parallel::msg_add_edge_with_property_data
-              <vertex_descriptor, local_vertex_descriptor, 
-               edge_property_type> msg_add_edge_with_property_data;
-
-    typedef  boost::detail::parallel::msg_nonlocal_edge_data<
-      edge_property_type,local_edge_descriptor> msg_nonlocal_edge_data;
-
-    typedef boost::detail::parallel::msg_remove_edge_data<edge_descriptor>
-      msg_remove_edge_data;
-
-    void send_remove_edge_request(edge_descriptor e)
-    {
-      process_id_type dest = e.target_processor;
-      if (e.target_processor == process_id(process_group_))
-        dest = e.source_processor;
-      send(process_group_, dest, msg_remove_edge, msg_remove_edge_data(e));
-    }
-
-    /// Process incoming messages.
-    void setup_triggers();
-
-    void 
-    handle_add_vertex_with_property(int source, int tag,
-                                    const vertex_property_type&,
-                                    trigger_receive_context);
-
-    local_vertex_descriptor
-    handle_add_vertex_with_property_and_reply(int source, int tag,
-                                        const vertex_property_type&,
-                                        trigger_receive_context);
-
-    void 
-    handle_add_edge(int source, int tag, const msg_add_edge_data& data,
-                    trigger_receive_context);
-
-    boost::parallel::detail::untracked_pair<edge_descriptor, bool>
-    handle_add_edge_with_reply(int source, int tag, 
-                         const msg_add_edge_data& data,
-                         trigger_receive_context);
-
-    void 
-    handle_add_edge_with_property(int source, int tag,
-                                  const msg_add_edge_with_property_data&,
-                                  trigger_receive_context);
-              
-    boost::parallel::detail::untracked_pair<edge_descriptor, bool>
-    handle_add_edge_with_property_and_reply
-      (int source, int tag, const msg_add_edge_with_property_data&,
-       trigger_receive_context);
-
-    void 
-    handle_nonlocal_edge(int source, int tag, 
-                         const msg_nonlocal_edge_data& data,
-                         trigger_receive_context);
-
-    void 
-    handle_remove_edge(int source, int tag, 
-                       const msg_remove_edge_data& data,
-                       trigger_receive_context);
-         
-  protected:
-    /** Add an edge (locally) that was received from another
-     * processor. This operation is a no-op for directed graphs,
-     * because all edges reside on the local processor. For
-     * bidirectional graphs, this routine places the edge onto the
-     * list of incoming edges for the target vertex. For undirected
-     * graphs, the edge is placed along with all of the other edges
-     * for the target vertex, but it is marked as a non-local edge
-     * descriptor.
-     *
-     * \todo There is a potential problem here, where we could
-     * unintentionally allow duplicate edges in undirected graphs
-     * because the same edge is added on two different processors
-     * simultaneously. It's not an issue now, because we require
-     * that the graph allow parallel edges. Once we do support
-     * containers such as setS or hash_setS that disallow parallel
-     * edges we will need to deal with this.
-     */
-    void
-    add_remote_edge(const msg_nonlocal_edge_data&,
-                    processor_id_type, directedS)
-    { }
-
-
-    /**
-     * \overload
-     */
-    void
-    add_remote_edge(const msg_nonlocal_edge_data& data,
-                    processor_id_type other_proc, bidirectionalS)
-    {
-      typedef detail::parallel::stored_in_edge<local_edge_descriptor> stored_edge;
-
-      stored_edge edge(other_proc, data.e);
-      local_vertex_descriptor v = target(data.e, base());
-      boost::graph_detail::push(get(vertex_in_edges, base())[v], edge);
-    }
-
-    /**
-     * \overload
-     */
-    void
-    add_remote_edge(const msg_nonlocal_edge_data& data,
-                    processor_id_type other_proc, undirectedS)
-    {
-      std::pair<local_edge_descriptor, bool> edge =
-        detail::parallel::add_local_edge(target(data.e, base()), 
-                       source(data.e, base()),
-                       build_edge_property(data.get_property()), base());
-      BOOST_ASSERT(edge.second);
-      put(edge_target_processor_id, base(), edge.first, other_proc);
-
-      if (edge.second && on_add_edge)
-        on_add_edge(edge_descriptor(processor(), other_proc, false, 
-                                    edge.first),
-                    *this);
-    }
-
-    void
-    remove_local_edge(const msg_remove_edge_data&, processor_id_type,
-                      directedS)
-    { }
-
-    void
-    remove_local_edge(const msg_remove_edge_data& data,
-                      processor_id_type other_proc, bidirectionalS)
-    {
-      /* When the source is local, we first check if the edge still
-       * exists (it may have been deleted locally) and, if so,
-       * remove it locally.
-       */
-      vertex_descriptor src = source(data.e, *this);
-      vertex_descriptor tgt = target(data.e, *this);
-
-      if (src.owner == process_id(process_group_)) {
-        base_out_edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = out_edges(src.local, base());
-             ei != ei_end; ++ei) {
-          // TBD: can't check the descriptor here, because it could
-          // have changed if we're allowing the removal of
-          // edges. Egads!
-          if (tgt.local == target(*ei, base())
-              && get(edge_target_processor_id, base(), *ei) == other_proc)
-            break;
-        }
-
-        if (ei != ei_end) boost::remove_edge(ei, base());
-
-        remove_local_edge_from_list(src, tgt, undirectedS());
-      } else {
-        BOOST_ASSERT(tgt.owner == process_id(process_group_));
-        in_edge_list_type& in_edges =
-          get(vertex_in_edges, base())[tgt.local];
-        typename in_edge_list_type::iterator ei;
-        for (ei = in_edges.begin(); ei != in_edges.end(); ++ei) {
-          if (src.local == source(ei->e, base())
-              && src.owner == ei->source_processor)
-            break;
-        }
-
-        if (ei != in_edges.end()) in_edges.erase(ei);
-      }
-    }
-
-    void
-    remove_local_edge(const msg_remove_edge_data& data,
-                      processor_id_type other_proc, undirectedS)
-    {
-      vertex_descriptor local_vertex = source(data.e, *this);
-      vertex_descriptor remote_vertex = target(data.e, *this);
-      if (remote_vertex.owner == process_id(process_group_)) {
-        using std::swap;
-        swap(local_vertex, remote_vertex);
-      }
-
-      // Remove the edge from the out-edge list, if it is there
-      {
-        base_out_edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = out_edges(local_vertex.local, base());
-             ei != ei_end; ++ei) {
-          // TBD: can't check the descriptor here, because it could
-          // have changed if we're allowing the removal of
-          // edges. Egads!
-          if (remote_vertex.local == target(*ei, base())
-              && get(edge_target_processor_id, base(), *ei) == other_proc)
-            break;
-        }
-
-        if (ei != ei_end) boost::remove_edge(ei, base());
-      }
-
-      remove_local_edge_from_list(local_vertex, remote_vertex, undirectedS());
-    }
-
-  public:
-    void
-    remove_local_edge_from_list(vertex_descriptor, vertex_descriptor,
-                                directedS)
-    {
-    }
-
-    void
-    remove_local_edge_from_list(vertex_descriptor, vertex_descriptor,
-                                bidirectionalS)
-    {
-    }
-
-    void
-    remove_local_edge_from_list(vertex_descriptor src, vertex_descriptor tgt,
-                                undirectedS)
-    {
-      // TBD: At some point we'll be able to improve the speed here
-      // because we'll know when the edge can't be in the local
-      // list.
-      {
-        typename local_edge_list_type::iterator ei;
-        for (ei = local_edges_.begin(); ei != local_edges_.end(); ++ei) {
-          if ((source(*ei, *this) == src
-               && target(*ei, *this) == tgt)
-              || (source(*ei, *this) == tgt
-                  && target(*ei, *this) == src))
-            break;
-        }
-
-        if (ei != local_edges_.end()) local_edges_.erase(ei);
-      }
-
-    }
-
-  private:
-    /// The local subgraph
-    inherited m_local_graph;
-
-    /// The process group through which this distributed graph
-    /// communicates.
-    process_group_type process_group_;
-
-    // TBD: should only be available for undirected graphs, but for
-    // now it'll just be empty for directed and bidirectional
-    // graphs.
-    local_edge_list_type local_edges_;
-  };
-
-  //------------------------------------------------------------------------
-  // Lazy addition of vertices
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  struct PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_vertex_with_property
-  {
-    /// Construct a lazy request to add a vertex
-    lazy_add_vertex_with_property(adjacency_list& self, 
-                                  const vertex_property_type& property)
-      : self(self), property(property), committed(false) { }
-
-    /// Copying a lazy_add_vertex_with_property transfers the
-    /// responsibility for adding the vertex to the newly-constructed
-    /// object.
-    lazy_add_vertex_with_property(const lazy_add_vertex_with_property& other)
-      : self(other.self), property(other.property),
-        committed(other.committed)
-    {
-      other.committed = true;
-    }
-
-    /// If the vertex has not yet been added, add the vertex but don't
-    /// wait for a reply.
-    ~lazy_add_vertex_with_property();
-
-    /// Returns commit().
-    operator vertex_descriptor() const { return commit(); }
-
-    // Add the vertex. This operation will block if the vertex is
-    // being added remotely.
-    vertex_descriptor commit() const;
-
-  protected:
-    adjacency_list& self;
-    vertex_property_type property;
-    mutable bool committed;
-
-  private:
-    // No copy-assignment semantics
-    void operator=(lazy_add_vertex_with_property&);
-  };
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_vertex_with_property::
-  ~lazy_add_vertex_with_property()
-  {
-    /// If this vertex has already been created or will be created by
-    /// someone else, or if someone threw an exception, we will not
-    /// create the vertex now.
-    if (committed || std::uncaught_exception())
-      return;
-
-    committed = true;
-
-    process_id_type owner 
-      = static_cast<graph_type&>(self).owner_by_property(property);
-    if (owner == self.processor()) {
-      /// Add the vertex locally.
-      vertex_descriptor v(owner, 
-                          add_vertex(self.build_vertex_property(property), 
-                                     self.base()));
-      if (self.on_add_vertex)
-        self.on_add_vertex(v, self);
-    }
-    else
-      /// Ask the owner of this new vertex to add the vertex. We
-      /// don't need a reply.
-      send(self.process_group_, owner, msg_add_vertex_with_property,
-           property);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor 
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_vertex_with_property::
-  commit() const
-  {
-    BOOST_ASSERT(!this->committed);
-    this->committed = true;
-
-    process_id_type owner 
-      = static_cast<graph_type&>(self).owner_by_property(property);
-    local_vertex_descriptor local_v;
-    if (owner == self.processor())
-      /// Add the vertex locally.
-      local_v = add_vertex(self.build_vertex_property(property), 
-                           self.base());
-    else {
-      // Request that the remote process add the vertex immediately
-      send_oob_with_reply(self.process_group_, owner,
-               msg_add_vertex_with_property_and_reply, property,
-               local_v);
-    }
-
-    vertex_descriptor v(owner, local_v);
-    if (self.on_add_vertex)
-      self.on_add_vertex(v, self);
-
-    // Build the full vertex descriptor to return
-    return v;
-  }
-  
-
-  /** 
-   * Data structure returned from add_edge that will "lazily" add
-   * the edge, either when it is converted to a
-   * @c pair<edge_descriptor, bool> or when the most recent copy has
-   * been destroyed.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  struct PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge
-  {
-    /// Construct a lazy request to add an edge
-    lazy_add_edge(adjacency_list& self, 
-                  vertex_descriptor source, vertex_descriptor target)
-      : self(self), source(source), target(target), committed(false) { }
-
-    /// Copying a lazy_add_edge transfers the responsibility for
-    /// adding the edge to the newly-constructed object.
-    lazy_add_edge(const lazy_add_edge& other)
-      : self(other.self), source(other.source), target(other.target), 
-        committed(other.committed)
-    {
-      other.committed = true;
-    }
-
-    /// If the edge has not yet been added, add the edge but don't
-    /// wait for a reply.
-    ~lazy_add_edge();
-
-    /// Returns commit().
-    operator std::pair<edge_descriptor, bool>() const { return commit(); }
-
-    // Add the edge. This operation will block if a remote edge is
-    // being added.
-    std::pair<edge_descriptor, bool> commit() const;
-
-  protected:
-    std::pair<edge_descriptor, bool> 
-    add_local_edge(const edge_property_type& property, directedS) const;
-
-    std::pair<edge_descriptor, bool> 
-    add_local_edge(const edge_property_type& property, bidirectionalS) const;
-
-    std::pair<edge_descriptor, bool> 
-    add_local_edge(const edge_property_type& property, undirectedS) const;
-
-    adjacency_list& self;
-    vertex_descriptor source;
-    vertex_descriptor target;
-    mutable bool committed;
-
-  private:
-    // No copy-assignment semantics
-    void operator=(lazy_add_edge&);
-  };
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge::~lazy_add_edge()
-  {
-    /// If this edge has already been created or will be created by
-    /// someone else, or if someone threw an exception, we will not
-    /// create the edge now.
-    if (committed || std::uncaught_exception())
-      return;
-
-    committed = true;
-
-    if (source.owner == self.processor())
-      this->add_local_edge(edge_property_type(), DirectedS());
-    else
-      // Request that the remote processor add an edge and, but
-      // don't wait for a reply.
-      send(self.process_group_, source.owner, msg_add_edge,
-           msg_add_edge_data(source, target));
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge::commit() const
-  {
-    BOOST_ASSERT(!committed);
-    committed = true;
-
-    if (source.owner == self.processor())
-      return this->add_local_edge(edge_property_type(), DirectedS());
-    else {
-      // Request that the remote processor add an edge
-      boost::parallel::detail::untracked_pair<edge_descriptor, bool> result;
-      send_oob_with_reply(self.process_group_, source.owner, 
-                          msg_add_edge_with_reply,
-                          msg_add_edge_data(source, target), result);
-      return result;
-    }
-  }
-
-  // Add a local edge into a directed graph
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge::
-  add_local_edge(const edge_property_type& property, directedS) const
-  {
-    // Add the edge to the local part of the graph
-    std::pair<local_edge_descriptor, bool> inserted =
-      detail::parallel::add_local_edge(source.local, target.local,
-                                       self.build_edge_property(property), 
-                                       self.base());
-
-    if (inserted.second)
-      // Keep track of the owner of the target
-      put(edge_target_processor_id, self.base(), inserted.first, 
-          target.owner);
-
-    // Compose the edge descriptor and return the result
-    edge_descriptor e(source.owner, target.owner, true, inserted.first);
-
-    // Trigger the on_add_edge event
-    if (inserted.second && self.on_add_edge)
-      self.on_add_edge(e, self);
-
-    return std::pair<edge_descriptor, bool>(e, inserted.second);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge::
-  add_local_edge(const edge_property_type& property, bidirectionalS) const
-  {
-    // Add the directed edge.
-    std::pair<edge_descriptor, bool> result 
-      = this->add_local_edge(property, directedS());
-
-    if (result.second) {
-      if (target.owner == self.processor()) {
-        // Edge is local, so add the stored edge to the in_edges list
-        typedef detail::parallel::stored_in_edge<local_edge_descriptor>
-          stored_edge;
-
-        stored_edge e(self.processor(), result.first.local);
-        boost::graph_detail::push(get(vertex_in_edges, 
-                                      self.base())[target.local], e);
-      } 
-      else {
-        // Edge is remote, so notify the target's owner that an edge
-        // has been added.
-        if (self.process_group_.trigger_context() == boost::parallel::trc_out_of_band)
-          send_oob(self.process_group_, target.owner, msg_nonlocal_edge,
-                   msg_nonlocal_edge_data(result.first.local, property));
-        else
-          send(self.process_group_, target.owner, msg_nonlocal_edge,
-               msg_nonlocal_edge_data(result.first.local, property));
-      }
-    }
-
-    return result;
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge::
-  add_local_edge(const edge_property_type& property, undirectedS) const
-  {
-    // Add the directed edge
-    std::pair<edge_descriptor, bool> result
-      = this->add_local_edge(property, directedS());
-
-    if (result.second) {
-      if (target.owner == self.processor()) {
-        // Edge is local, so add the new edge to the list
-
-        // TODO: This is not what we want to do for an undirected
-        // edge, because we haven't linked the source and target's
-        // representations of those edges.
-        local_edge_descriptor return_edge =
-          detail::parallel::add_local_edge(target.local, source.local,
-                                           self.build_edge_property(property),
-                                           self.base()).first;
-
-        put(edge_target_processor_id, self.base(), return_edge, 
-            source.owner);
-      }
-      else {
-        // Edge is remote, so notify the target's owner that an edge
-        // has been added.
-        if (self.process_group_.trigger_context() == boost::parallel::trc_out_of_band)
-          send_oob(self.process_group_, target.owner, msg_nonlocal_edge,
-                   msg_nonlocal_edge_data(result.first.local, property));
-        else
-          send(self.process_group_, target.owner, msg_nonlocal_edge,
-               msg_nonlocal_edge_data(result.first.local, property));
-          
-      }
-
-      // Add this edge to the list of local edges
-      graph_detail::push(self.local_edges(), result.first);
-    }
-
-    return result;
-  }
-
-
-  /** 
-   * Data structure returned from add_edge that will "lazily" add
-   * the edge with its property, either when it is converted to a
-   * pair<edge_descriptor, bool> or when the most recent copy has
-   * been destroyed.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  struct PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge_with_property
-    : lazy_add_edge
-  {
-    /// Construct a lazy request to add an edge
-    lazy_add_edge_with_property(adjacency_list& self, 
-                                vertex_descriptor source, 
-                                vertex_descriptor target,
-                                const edge_property_type& property)
-      : lazy_add_edge(self, source, target), property(property) { }
-
-    /// Copying a lazy_add_edge transfers the responsibility for
-    /// adding the edge to the newly-constructed object.
-    lazy_add_edge_with_property(const lazy_add_edge& other)
-      : lazy_add_edge(other), property(other.property) { }
-
-    /// If the edge has not yet been added, add the edge but don't
-    /// wait for a reply.
-    ~lazy_add_edge_with_property();
-
-    /// Returns commit().
-    operator std::pair<edge_descriptor, bool>() const { return commit(); }
-
-    // Add the edge. This operation will block if a remote edge is
-    // being added.
-    std::pair<edge_descriptor, bool> commit() const;
-
-  private:
-    // No copy-assignment semantics
-    void operator=(lazy_add_edge_with_property&);
-
-    edge_property_type property;
-  };
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge_with_property::
-  ~lazy_add_edge_with_property()
-  {
-    /// If this edge has already been created or will be created by
-    /// someone else, or if someone threw an exception, we will not
-    /// create the edge now.
-    if (this->committed || std::uncaught_exception())
-      return;
-
-    this->committed = true;
-
-    if (this->source.owner == this->self.processor())
-      // Add a local edge
-      this->add_local_edge(property, DirectedS());
-    else
-      // Request that the remote processor add an edge and, but
-      // don't wait for a reply.
-      send(this->self.process_group_, this->source.owner, 
-           msg_add_edge_with_property,
-           msg_add_edge_with_property_data(this->source, this->target, 
-                                           property));
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-  PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge_with_property::
-  commit() const
-  {
-    BOOST_ASSERT(!this->committed);
-    this->committed = true;
-
-    if (this->source.owner == this->self.processor())
-      // Add a local edge
-      return this->add_local_edge(property, DirectedS());
-    else {
-      // Request that the remote processor add an edge
-      boost::parallel::detail::untracked_pair<edge_descriptor, bool> result;
-      send_oob_with_reply(this->self.process_group_, this->source.owner, 
-                          msg_add_edge_with_property_and_reply,
-                          msg_add_edge_with_property_data(this->source, 
-                                                          this->target, 
-                                                          property),
-                          result);
-      return result;
-    }
-  }
-
-
-  /**
-   * Returns the set of vertices local to this processor. Note that
-   * although this routine matches a valid expression of a
-   * VertexListGraph, it does not meet the semantic requirements of
-   * VertexListGraph because it returns only local vertices (not all
-   * vertices).
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE
-                       ::vertex_iterator,
-            typename PBGL_DISTRIB_ADJLIST_TYPE
-                       ::vertex_iterator>
-  vertices(const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-      ::vertex_descriptor Vertex;
-
-    typedef typename Vertex::generator generator;
-
-    return std::make_pair(make_transform_iterator(vertices(g.base()).first,
-                                                  generator(g.processor())),
-                          make_transform_iterator(vertices(g.base()).second,
-                                                  generator(g.processor())));
-  }
-
-  /**
-   * Returns the number of vertices local to this processor. Note that
-   * although this routine matches a valid expression of a
-   * VertexListGraph, it does not meet the semantic requirements of
-   * VertexListGraph because it returns only a count of local vertices
-   * (not all vertices).
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE
-             ::vertices_size_type
-  num_vertices(const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    return num_vertices(g.base());
-  }
-
-  /***************************************************************************
-   * Implementation of Incidence Graph concept
-   ***************************************************************************/
-  /**
-   * Returns the source of edge @param e in @param g.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename Edge>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor
-  source(const detail::parallel::edge_descriptor<Edge>& e,
-         const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-      ::vertex_descriptor Vertex;
-    return Vertex(e.source_processor, source(e.local, g.base()));
-  }
-
-  /**
-   * Returns the target of edge @param e in @param g.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename Edge>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor
-  target(const detail::parallel::edge_descriptor<Edge>& e,
-         const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-      ::vertex_descriptor Vertex;
-    return Vertex(e.target_processor, target(e.local, g.base()));
-  }
-
-  /**
-   * Return the set of edges outgoing from a particular vertex. The
-   * vertex @param v must be local to the processor executing this
-   * routine.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::out_edge_iterator,
-            typename PBGL_DISTRIB_ADJLIST_TYPE::out_edge_iterator>
-  out_edges(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-            const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-
-    typedef PBGL_DISTRIB_ADJLIST_TYPE impl;
-    typedef typename impl::out_edge_generator generator;
-
-    return std::make_pair(
-             make_transform_iterator(out_edges(v.local, g.base()).first,
-                                     generator(g)),
-             make_transform_iterator(out_edges(v.local, g.base()).second,
-                                     generator(g)));
-  }
-
-  /**
-   * Return the number of edges outgoing from a particular vertex. The
-   * vertex @param v must be local to the processor executing this
-   * routine.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::degree_size_type
-  out_degree(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-             const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-
-    return out_degree(v.local, g.base());
-  }
-
-  /***************************************************************************
-   * Implementation of Bidirectional Graph concept
-   ***************************************************************************/
-  /**
-   * Returns the set of edges incoming to a particular vertex. The
-   * vertex @param v must be local to the processor executing this
-   * routine.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                       ::in_edge_iterator,
-            typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                       ::in_edge_iterator>
-  in_edges(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                         ::vertex_descriptor v,
-           const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-
-    typedef PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS) impl;
-    typedef typename impl::inherited base_graph_type;
-    typedef typename impl::in_edge_generator generator;
-
-
-    typename property_map<base_graph_type, vertex_in_edges_t>::const_type
-      in_edges = get(vertex_in_edges, g.base());
-
-    return std::make_pair(make_transform_iterator(in_edges[v.local].begin(),
-                                                  generator(g)),
-                          make_transform_iterator(in_edges[v.local].end(),
-                                                  generator(g)));
-  }
-
-  /**
-   * \overload
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                       ::in_edge_iterator,
-            typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                       ::in_edge_iterator>
-  in_edges(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                         ::vertex_descriptor v,
-           const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-
-    typedef PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS) impl;
-    typedef typename impl::in_edge_generator generator;
-
-    return std::make_pair(
-              make_transform_iterator(out_edges(v.local, g.base()).first,
-                                     generator(g)),
-             make_transform_iterator(out_edges(v.local, g.base()).second,
-                                     generator(g)));
-  }
-
-  /**
-   * Returns the number of edges incoming to a particular vertex. The
-   * vertex @param v must be local to the processor executing this
-   * routine.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)::degree_size_type
-  in_degree(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                           ::vertex_descriptor v,
-            const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-
-    return get(vertex_in_edges, g.base())[v.local].size();
-  }
-
-  /**
-   * \overload
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)::degree_size_type
-  in_degree(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                           ::vertex_descriptor v,
-            const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-
-    return out_degree(v.local, g.base());
-  }
-
-  /**
-   * Returns the number of edges incident on the given vertex. The
-   * vertex @param v must be local to the processor executing this
-   * routine.
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                       ::degree_size_type
-  degree(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                         ::vertex_descriptor v,
-         const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-    return out_degree(v.local, g.base());
-  }
-
-  /**
-   * \overload
-   */
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                       ::degree_size_type
-  degree(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                         ::vertex_descriptor v,
-         const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    BOOST_ASSERT(v.owner == g.processor());
-    return out_degree(v, g) + in_degree(v, g);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::edges_size_type
-  num_edges(const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    return num_edges(g.base());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)::edges_size_type
-  num_edges(const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    return g.local_edges().size();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<
-    typename PBGL_DISTRIB_ADJLIST_TYPE::edge_iterator,
-    typename PBGL_DISTRIB_ADJLIST_TYPE::edge_iterator>
-  edges(const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE impl;
-    typedef typename impl::out_edge_generator generator;
-
-    return std::make_pair(make_transform_iterator(edges(g.base()).first,
-                                                  generator(g)),
-                          make_transform_iterator(edges(g.base()).second,
-                                                  generator(g)));
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  std::pair<
-    typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)::edge_iterator,
-    typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)::edge_iterator>
-  edges(const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    return std::make_pair(g.local_edges().begin(), g.local_edges().end());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  inline
-  typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor
-  vertex(typename PBGL_DISTRIB_ADJLIST_TYPE::vertices_size_type n,
-         const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor 
-      vertex_descriptor;
-
-    return vertex_descriptor(g.distribution()(n), g.distribution().local(n));
-  }
-
-  /***************************************************************************
-   * Access to particular edges
-   ***************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  std::pair<
-    typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)::edge_descriptor,
-    bool
-  >
-  edge(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)::vertex_descriptor u,
-       typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)::vertex_descriptor v,
-       const PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)
-                       ::edge_descriptor edge_descriptor;
-
-    // For directed graphs, u must be local
-    BOOST_ASSERT(u.owner == process_id(g.process_group()));
-
-    typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)
-        ::out_edge_iterator ei, ei_end;
-    for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-      if (target(*ei, g) == v) return std::make_pair(*ei, true);
-    }
-    return std::make_pair(edge_descriptor(), false);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<
-    typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor,
-    bool
-  >
-  edge(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor u,
-       typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-       const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-                       ::edge_descriptor edge_descriptor;
-
-    // For bidirectional and undirected graphs, u must be local or v
-    // must be local
-    if (u.owner == process_id(g.process_group())) {
-      typename PBGL_DISTRIB_ADJLIST_TYPE::out_edge_iterator ei, ei_end;
-      for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-        if (target(*ei, g) == v) return std::make_pair(*ei, true);
-      }
-      return std::make_pair(edge_descriptor(), false);
-    } else if (v.owner == process_id(g.process_group())) {
-      typename PBGL_DISTRIB_ADJLIST_TYPE::in_edge_iterator ei, ei_end;
-      for (boost::tie(ei, ei_end) = in_edges(v, g); ei != ei_end; ++ei) {
-        if (source(*ei, g) == u) return std::make_pair(*ei, true);
-      }
-      return std::make_pair(edge_descriptor(), false);
-    } else {
-      BOOST_ASSERT(false);
-      abort();
-    }
-  }
-
-#if 0
-  // TBD: not yet supported
-  std::pair<out_edge_iterator, out_edge_iterator>
-  edge_range(vertex_descriptor u, vertex_descriptor v,
-             const adjacency_list& g);
-#endif
-
-  /***************************************************************************
-   * Implementation of Adjacency Graph concept
-   ***************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::adjacency_iterator,
-            typename PBGL_DISTRIB_ADJLIST_TYPE::adjacency_iterator>
-  adjacent_vertices(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-                    const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE::adjacency_iterator iter;
-    return std::make_pair(iter(out_edges(v, g).first, &g),
-                          iter(out_edges(v, g).second, &g));
-  }
-
-  /***************************************************************************
-   * Implementation of Mutable Graph concept
-   ***************************************************************************/
-
-  /************************************************************************
-   * add_edge
-   ************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge
-  add_edge(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor u,
-           typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-           PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_edge lazy_add_edge;
-
-    return lazy_add_edge(g, u, v);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE
-    ::lazy_add_edge_with_property
-  add_edge(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor u,
-           typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-           typename PBGL_DISTRIB_ADJLIST_TYPE::edge_property_type const& p,
-           PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-      ::lazy_add_edge_with_property lazy_add_edge_with_property;
-    return lazy_add_edge_with_property(g, u, v, p);
-  }
-
-  /************************************************************************
-   *
-   * remove_edge
-   *
-   ************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  void
-  remove_edge(typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor e,
-              PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    BOOST_ASSERT(source(e, g).owner == g.processor()
-                 || target(e, g).owner == g.processor());
-
-    if (target(e, g).owner == g.processor())
-      detail::parallel::remove_in_edge(e, g, DirectedS());
-    if (source(e, g).owner == g.processor())
-      remove_edge(e.local, g.base());
-
-    g.remove_local_edge_from_list(source(e, g), target(e, g), DirectedS());
-
-    if (source(e, g).owner != g.processor()
-        || (target(e, g).owner != g.processor()
-            && !(is_same<DirectedS, directedS>::value))) {
-      g.send_remove_edge_request(e);
-    }
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  void
-  remove_edge(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor u,
-              typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v,
-              PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-                       ::edge_descriptor edge_descriptor;
-    std::pair<edge_descriptor, bool> the_edge = edge(u, v, g);
-    if (the_edge.second) remove_edge(the_edge.first, g);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  inline void
-  remove_edge(typename PBGL_DISTRIB_ADJLIST_TYPE::out_edge_iterator ei,
-              PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    remove_edge(*ei, g);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  inline void
-  remove_edge(typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)
-                ::out_edge_iterator ei,
-              PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)& g)
-  {
-    BOOST_ASSERT(source(*ei, g).owner == g.processor());
-    remove_edge(ei->local, g.base());
-  }
-
-  /************************************************************************
-   *
-   * remove_out_edge_if
-   *
-   ************************************************************************/
-  namespace parallel { namespace detail {
-    /**
-     * Function object that applies the underlying predicate to
-     * determine if an out-edge should be removed. If so, either
-     * removes the incoming edge (if it is stored locally) or sends a
-     * message to the owner of the target requesting that it remove
-     * the edge.
-     */
-    template<typename Graph, typename Predicate>
-    struct remove_out_edge_predicate
-    {
-      typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-      typedef typename Graph::local_edge_descriptor         argument_type;
-      typedef typename Graph::directed_selector             directed_selector;
-      typedef bool result_type;
-
-      remove_out_edge_predicate(Graph& g, Predicate& predicate)
-        : g(g), predicate(predicate) { }
-
-      bool operator()(const argument_type& le)
-      {
-        typedef typename edge_descriptor::template out_generator<Graph>
-          generator;
-
-        edge_descriptor e = generator(g)(le);
-
-        if (predicate(e)) {
-          if (source(e, g).owner != target(e, g).owner
-              && !(is_same<directed_selector, directedS>::value))
-            g.send_remove_edge_request(e);
-          else
-            ::boost::detail::parallel::remove_in_edge(e, g,
-                                                      directed_selector());
-
-           g.remove_local_edge_from_list(source(e, g), target(e, g),
-                                         directed_selector());
-          return true;
-        } else return false;
-      }
-
-    private:
-      Graph& g;
-      Predicate predicate;
-    };
-  } } // end namespace parallel::detail
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename Predicate>
-  inline void
-  remove_out_edge_if
-     (typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor u,
-      Predicate predicate,
-      PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE Graph;
-    typedef parallel::detail::remove_out_edge_predicate<Graph, Predicate>
-      Pred;
-
-    BOOST_ASSERT(u.owner == g.processor());
-    remove_out_edge_if(u.local, Pred(g, predicate), g.base());
-  }
-
-  /************************************************************************
-   *
-   * remove_in_edge_if
-   *
-   ************************************************************************/
-  namespace parallel { namespace detail {
-    /**
-     * Function object that applies the underlying predicate to
-     * determine if an in-edge should be removed. If so, either
-     * removes the outgoing edge (if it is stored locally) or sends a
-     * message to the owner of the target requesting that it remove
-     * the edge. Only required for bidirectional graphs.
-     */
-    template<typename Graph, typename Predicate>
-    struct remove_in_edge_predicate
-    {
-      typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-      typedef bool result_type;
-
-      remove_in_edge_predicate(Graph& g, const Predicate& predicate)
-        : g(g), predicate(predicate) { }
-
-      template<typename StoredEdge>
-      bool operator()(const StoredEdge& le)
-      {
-        typedef typename edge_descriptor::template in_generator<Graph>
-          generator;
-
-        edge_descriptor e = generator(g)(le);
-
-        if (predicate(e)) {
-          if (source(e, g).owner != target(e, g).owner)
-            g.send_remove_edge_request(e);
-          else
-            remove_edge(source(e, g).local, target(e, g).local, g.base());
-          return true;
-        } else return false;
-      }
-
-    private:
-      Graph& g;
-      Predicate predicate;
-    };
-  } } // end namespace parallel::detail
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG, typename Predicate>
-  inline void
-  remove_in_edge_if
-     (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                 ::vertex_descriptor u,
-      Predicate predicate,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS) Graph;
-    typedef parallel::detail::remove_in_edge_predicate<Graph, Predicate>
-      Pred;
-
-    BOOST_ASSERT(u.owner == g.processor());
-    graph_detail::erase_if(get(vertex_in_edges, g.base())[u.local],
-                           Pred(g, predicate));
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG, typename Predicate>
-  inline void
-  remove_in_edge_if
-     (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                 ::vertex_descriptor u,
-      Predicate predicate,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    remove_out_edge_if(u, predicate, g);
-  }
-
-  /************************************************************************
-   *
-   * remove_edge_if
-   *
-   ************************************************************************/
-  namespace parallel { namespace detail {
-    /**
-     * Function object that applies the underlying predicate to
-     * determine if a directed edge can be removed. This only applies
-     * to directed graphs.
-     */
-    template<typename Graph, typename Predicate>
-    struct remove_directed_edge_predicate
-    {
-      typedef typename Graph::local_edge_descriptor argument_type;
-      typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-      typedef bool result_type;
-
-      remove_directed_edge_predicate(Graph& g, const Predicate& predicate)
-        : g(g), predicate(predicate) { }
-
-      bool operator()(const argument_type& le)
-      {
-        typedef typename edge_descriptor::template out_generator<Graph>
-          generator;
-
-        edge_descriptor e = generator(g)(le);
-        return predicate(e);
-      }
-
-    private:
-      Graph& g;
-      Predicate predicate;
-    };
-  } } // end namespace parallel::detail
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG, typename Predicate>
-  inline void
-  remove_edge_if(Predicate predicate, 
-                 PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS) Graph;
-    typedef parallel::detail::remove_directed_edge_predicate<Graph,
-                                                             Predicate> Pred;
-    remove_edge_if(Pred(g, predicate), g.base());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG, typename Predicate>
-  inline void
-  remove_edge_if(Predicate predicate,
-                 PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS) Graph;
-    typedef parallel::detail::remove_out_edge_predicate<Graph,
-                                                        Predicate> Pred;
-    remove_edge_if(Pred(g, predicate), g.base());
-  }
-
-  namespace parallel { namespace detail {
-    /**
-     * Function object that applies the underlying predicate to
-     * determine if an undirected edge should be removed. If so,
-     * removes the local edges associated with the edge and
-     * (potentially) sends a message to the remote processor that also
-     * is removing this edge.
-     */
-    template<typename Graph, typename Predicate>
-    struct remove_undirected_edge_predicate
-    {
-      typedef typename graph_traits<Graph>::edge_descriptor argument_type;
-      typedef bool result_type;
-
-      remove_undirected_edge_predicate(Graph& g, Predicate& predicate)
-        : g(g), predicate(predicate) { }
-
-      bool operator()(const argument_type& e)
-      {
-        if (predicate(e)) {
-          if (source(e, g).owner != target(e, g).owner)
-            g.send_remove_edge_request(e);
-          if (target(e, g).owner == g.processor())
-            ::boost::detail::parallel::remove_in_edge(e, g, undirectedS());
-          if (source(e, g).owner == g.processor())
-            remove_edge(e.local, g.base());
-          return true;
-        } else return false;
-      }
-
-    private:
-      Graph& g;
-      Predicate predicate;
-    };
-  } } // end namespace parallel::detail
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG, typename Predicate>
-  inline void
-  remove_edge_if(Predicate predicate,
-                 PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS) Graph;
-    typedef parallel::detail::remove_undirected_edge_predicate<Graph,
-                                                               Predicate> Pred;
-    graph_detail::erase_if(g.local_edges(), Pred(g, predicate));
-  }
-
-  /************************************************************************
-   *
-   * clear_vertex
-   *
-   ************************************************************************/
-  namespace parallel { namespace detail {
-    struct always_true
-    {
-      typedef bool result_type;
-
-      template<typename T> bool operator()(const T&) const { return true; }
-    };
-  } } // end namespace parallel::detail
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  void
-  clear_vertex
-    (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-          ::vertex_descriptor u,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    clear_out_edges(u, g);
-    clear_in_edges(u, g);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  void
-  clear_vertex
-    (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)
-                ::vertex_descriptor u,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(undirectedS)& g)
-  {
-    remove_out_edge_if(u, parallel::detail::always_true(), g);
-  }
-
-  /************************************************************************
-   *
-   * clear_out_edges
-   *
-   ************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  void
-  clear_out_edges
-    (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)::vertex_descriptor u,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(directedS)& g)
-  {
-    BOOST_ASSERT(u.owner == g.processor());
-    clear_out_edges(u.local, g.base());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  void
-  clear_out_edges
-    (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                ::vertex_descriptor u,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    remove_out_edge_if(u, parallel::detail::always_true(), g);
-  }
-
-  /************************************************************************
-   *
-   * clear_in_edges
-   *
-   ************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS_CONFIG>
-  void
-  clear_in_edges
-    (typename PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)
-                ::vertex_descriptor u,
-      PBGL_DISTRIB_ADJLIST_TYPE_CONFIG(bidirectionalS)& g)
-  {
-    remove_in_edge_if(u, parallel::detail::always_true(), g);
-  }
-
-  /************************************************************************
-   *
-   * add_vertex
-   *
-   ************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor
-  add_vertex(PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE graph_type;
-    typename graph_type::vertex_property_type p;
-    return add_vertex(p, g);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename PBGL_DISTRIB_ADJLIST_TYPE::lazy_add_vertex_with_property
-  add_vertex(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_property_type const& p,
-             PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE
-                       ::lazy_add_vertex_with_property lazy_add_vertex;
-    return lazy_add_vertex(g, p);
-  }
-
-  /************************************************************************
-   *
-   * remove_vertex
-   *
-   ************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  void
-  remove_vertex(typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor u,
-                PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename PBGL_DISTRIB_ADJLIST_TYPE::graph_type graph_type;
-    typedef typename graph_type::named_graph_mixin named_graph_mixin;
-    BOOST_ASSERT(u.owner == g.processor());
-    static_cast<named_graph_mixin&>(static_cast<graph_type&>(g))
-      .removing_vertex(u, boost::graph_detail::iterator_stability(g.base().m_vertices));
-    g.distribution().clear();
-    remove_vertex(u.local, g.base());
-  }
-
-  /***************************************************************************
-   * Implementation of Property Graph concept
-   ***************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename Property>
-  struct property_map<PBGL_DISTRIB_ADJLIST_TYPE, Property>
-  : detail::parallel::get_adj_list_pmap<Property>
-      ::template apply<PBGL_DISTRIB_ADJLIST_TYPE>
-  { };
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename Property>
-  struct property_map<PBGL_DISTRIB_ADJLIST_TYPE const, Property>
-          : boost::detail::parallel::get_adj_list_pmap<Property>
-// FIXME: in the original code the following was not const
-      ::template apply<PBGL_DISTRIB_ADJLIST_TYPE const>
-  { };
-
-  template<typename Property, PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, Property>::type
-  get(Property p, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE Graph;
-    typedef typename property_map<Graph, Property>::type result_type;
-    typedef typename property_traits<result_type>::value_type value_type;
-    typedef typename property_reduce<Property>::template apply<value_type>
-      reduce;
-
-    typedef typename property_traits<result_type>::key_type descriptor;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename mpl::if_<is_same<descriptor, vertex_descriptor>,
-                              vertex_global_t, edge_global_t>::type
-      global_map_t;
-
-    return result_type(g.process_group(), get(global_map_t(), g),
-                       get(p, g.base()), reduce());
-  }
-
-  template<typename Property, PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, Property>::const_type
-  get(Property p, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE Graph;
-    typedef typename property_map<Graph, Property>::const_type result_type;
-    typedef typename property_traits<result_type>::value_type value_type;
-    typedef typename property_reduce<Property>::template apply<value_type>
-      reduce;
-
-    typedef typename property_traits<result_type>::key_type descriptor;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename mpl::if_<is_same<descriptor, vertex_descriptor>,
-                              vertex_global_t, edge_global_t>::type
-      global_map_t;
-
-    return result_type(g.process_group(), get(global_map_t(), g),
-                       get(p, g.base()), reduce());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_local_index_t>::type
-  get(vertex_local_index_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    return get(vertex_local_index, g.base());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE,
-                        vertex_local_index_t>::const_type
-  get(vertex_local_index_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    return get(vertex_local_index, g.base());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_global_t>::const_type
-  get(vertex_global_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       vertex_global_t>::const_type result_type;
-    return result_type();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_global_t>::const_type
-  get(vertex_global_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       vertex_global_t>::const_type result_type;
-    return result_type();
-  }
-
-  /// Retrieve a property map mapping from a vertex descriptor to its
-  /// owner.
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_owner_t>::type
-  get(vertex_owner_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       vertex_owner_t>::type result_type;
-    return result_type();
-  }
-
-  /// Retrieve a property map mapping from a vertex descriptor to its
-  /// owner.
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_owner_t>::const_type
-  get(vertex_owner_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       vertex_owner_t>::const_type result_type;
-    return result_type();
-  }
-
-  /// Retrieve the owner of a vertex
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  inline processor_id_type
-  get(vertex_owner_t, PBGL_DISTRIB_ADJLIST_TYPE&,
-      typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v)
-  {
-    return v.owner;
-  }
-
-  /// Retrieve the owner of a vertex
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  inline processor_id_type
-  get(vertex_owner_t, const PBGL_DISTRIB_ADJLIST_TYPE&,
-      typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v)
-  {
-    return v.owner;
-  }
-
-  /// Retrieve a property map that maps from a vertex descriptor to
-  /// its local descriptor.
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_local_t>::type
-  get(vertex_local_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       vertex_local_t>::type result_type;
-    return result_type();
-  }
-
-  /// Retrieve a property map that maps from a vertex descriptor to
-  /// its local descriptor.
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_local_t>::const_type
-  get(vertex_local_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       vertex_local_t>::const_type result_type;
-    return result_type();
-  }
-
-  /// Retrieve the local descriptor of a vertex
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  inline typename PBGL_DISTRIB_ADJLIST_TYPE::local_vertex_descriptor
-  get(vertex_local_t, PBGL_DISTRIB_ADJLIST_TYPE&,
-      typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v)
-  {
-    return v.local;
-  }
-
-  /// Retrieve the local descriptor of a vertex
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  inline typename PBGL_DISTRIB_ADJLIST_TYPE::local_vertex_descriptor
-  get(vertex_local_t, const PBGL_DISTRIB_ADJLIST_TYPE&,
-      typename PBGL_DISTRIB_ADJLIST_TYPE::vertex_descriptor v)
-  {
-    return v.local;
-  }
-
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, edge_global_t>::const_type
-  get(edge_global_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       edge_global_t>::const_type result_type;
-    return result_type();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, edge_global_t>::const_type
-  get(edge_global_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       edge_global_t>::const_type result_type;
-    return result_type();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, edge_owner_t>::type
-  get(edge_owner_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       edge_owner_t>::type result_type;
-    return result_type();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, edge_owner_t>::const_type
-  get(edge_owner_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       edge_owner_t>::const_type result_type;
-    return result_type();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, edge_local_t>::type
-  get(edge_local_t, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       edge_local_t>::type result_type;
-    return result_type();
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, edge_local_t>::const_type
-  get(edge_local_t, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef typename property_map<
-                       PBGL_DISTRIB_ADJLIST_TYPE,
-                       edge_local_t>::const_type result_type;
-    return result_type();
-  }
-
-  template<typename Property, PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS,
-           typename Key>
-  inline
-  typename property_traits<typename property_map<
-                PBGL_DISTRIB_ADJLIST_TYPE, Property>::const_type
-           >::value_type
-  get(Property p, const PBGL_DISTRIB_ADJLIST_TYPE& g, const Key& key)
-  {
-    if (owner(key) == process_id(g.process_group()))
-      return get(p, g.base(), local(key));
-    else
-      BOOST_ASSERT(false);
-  }
-
-  template<typename Property, PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS,
-           typename Key, typename Value>
-  void
-  put(Property p, PBGL_DISTRIB_ADJLIST_TYPE& g, const Key& key, const Value& v)
-  {
-    if (owner(key) == process_id(g.process_group()))
-      put(p, g.base(), local(key), v);
-    else
-      BOOST_ASSERT(false);
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_index_t>::type
-  get(vertex_index_t vi, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE graph_type;
-    typedef typename property_map<graph_type, vertex_index_t>::type
-      result_type;
-    return result_type(g.process_group(), get(vertex_global, g),
-                       get(vi, g.base()));
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, vertex_index_t>::const_type
-  get(vertex_index_t vi, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE graph_type;
-    typedef typename property_map<graph_type, vertex_index_t>::const_type
-      result_type;
-    return result_type(g.process_group(), get(vertex_global, g),
-                       get(vi, g.base()));
-  }
-
-  /***************************************************************************
-   * Implementation of bundled properties
-   ***************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename T, typename Bundle>
-  struct property_map<PBGL_DISTRIB_ADJLIST_TYPE, T Bundle::*>
-    : detail::parallel::get_adj_list_pmap<T Bundle::*>
-      ::template apply<PBGL_DISTRIB_ADJLIST_TYPE>
-  { };
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename T, typename Bundle>
-  struct property_map<PBGL_DISTRIB_ADJLIST_TYPE const, T Bundle::*>
-    : detail::parallel::get_adj_list_pmap<T Bundle::*>
-      ::template apply<PBGL_DISTRIB_ADJLIST_TYPE const>
-  { };
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename T, typename Bundle>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, T Bundle::*>::type
-  get(T Bundle::* p, PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE Graph;
-    typedef typename property_map<Graph, T Bundle::*>::type result_type;
-    typedef typename property_traits<result_type>::value_type value_type;
-    typedef typename property_reduce<T Bundle::*>::template apply<value_type>
-      reduce;
-
-    typedef typename property_traits<result_type>::key_type descriptor;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename mpl::if_<is_same<descriptor, vertex_descriptor>,
-                              vertex_global_t, edge_global_t>::type
-      global_map_t;
-
-    return result_type(g.process_group(), get(global_map_t(), g),
-                       get(p, g.base()), reduce());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS, typename T, typename Bundle>
-  typename property_map<PBGL_DISTRIB_ADJLIST_TYPE, T Bundle::*>::const_type
-  get(T Bundle::* p, const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    typedef PBGL_DISTRIB_ADJLIST_TYPE Graph;
-    typedef typename property_map<Graph, T Bundle::*>::const_type result_type;
-    typedef typename property_traits<result_type>::value_type value_type;
-    typedef typename property_reduce<T Bundle::*>::template apply<value_type>
-      reduce;
-
-    typedef typename property_traits<result_type>::key_type descriptor;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename mpl::if_<is_same<descriptor, vertex_descriptor>,
-                              vertex_global_t, edge_global_t>::type
-      global_map_t;
-
-    return result_type(g.process_group(), get(global_map_t(), g),
-                       get(p, g.base()), reduce());
-  }
-
-  /***************************************************************************
-   * Implementation of DistributedGraph concept
-   ***************************************************************************/
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  void synchronize(const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  {
-    synchronize(g.process_group());
-  }
-
-  template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-  ProcessGroup
-  process_group(const PBGL_DISTRIB_ADJLIST_TYPE& g)
-  { return g.process_group(); }
-
-  /***************************************************************************
-   * Specializations of is_mpi_datatype for Serializable entities
-   ***************************************************************************/
-  namespace mpi {
-    template<typename Directed, typename Vertex>
-    struct is_mpi_datatype<boost::detail::edge_base<Directed, Vertex> >
-      : is_mpi_datatype<Vertex> { };
-
-    template<typename Directed, typename Vertex>
-    struct is_mpi_datatype<boost::detail::edge_desc_impl<Directed, Vertex> >
-      : is_mpi_datatype<boost::detail::edge_base<Directed, Vertex> > { };
-
-    template<typename LocalDescriptor>
-    struct is_mpi_datatype<boost::detail::parallel::global_descriptor<LocalDescriptor> >
-      : is_mpi_datatype<LocalDescriptor> { };
-
-    template<typename Edge>
-    struct is_mpi_datatype<boost::detail::parallel::edge_descriptor<Edge> >
-      : is_mpi_datatype<Edge> { };
-
-    template<typename Vertex, typename LocalVertex>
-    struct is_mpi_datatype<boost::detail::parallel::
-                             msg_add_edge_data<Vertex, LocalVertex> >
-      : is_mpi_datatype<Vertex> { };
-
-    template<typename Vertex, typename LocalVertex, typename EdgeProperty>
-    struct is_mpi_datatype<boost::detail::parallel::
-                             msg_add_edge_with_property_data<Vertex, 
-                                                             LocalVertex,
-                                                             EdgeProperty> >
-      : mpl::and_<is_mpi_datatype<Vertex>, is_mpi_datatype<EdgeProperty> > { };
-
-
-   template<typename EdgeProperty, typename EdgeDescriptor>
-   struct is_mpi_datatype<boost::detail::parallel::msg_nonlocal_edge_data<
-                          EdgeProperty,EdgeDescriptor> >
-           : mpl::and_<
-               is_mpi_datatype<boost::detail::parallel::maybe_store_property<
-                           EdgeProperty> >,
-           is_mpi_datatype<EdgeDescriptor> >
-  {};
-   
-   template<typename EdgeDescriptor>
-   struct is_mpi_datatype<
-            boost::detail::parallel::msg_remove_edge_data<EdgeDescriptor> >
-           : is_mpi_datatype<EdgeDescriptor> {};
-  }
-
-  /***************************************************************************
-   * Specializations of is_bitwise_serializable for Serializable entities
-   ***************************************************************************/
-  namespace serialization {
-    template<typename Directed, typename Vertex>
-    struct is_bitwise_serializable<boost::detail::edge_base<Directed, Vertex> >
-      : is_bitwise_serializable<Vertex> { };
-
-    template<typename Directed, typename Vertex>
-    struct is_bitwise_serializable<boost::detail::edge_desc_impl<Directed, Vertex> >
-      : is_bitwise_serializable<boost::detail::edge_base<Directed, Vertex> > { };
-
-    template<typename LocalDescriptor>
-    struct is_bitwise_serializable<boost::detail::parallel::global_descriptor<LocalDescriptor> >
-      : is_bitwise_serializable<LocalDescriptor> { };
-
-    template<typename Edge>
-    struct is_bitwise_serializable<boost::detail::parallel::edge_descriptor<Edge> >
-      : is_bitwise_serializable<Edge> { };
-
-    template<typename Vertex, typename LocalVertex>
-    struct is_bitwise_serializable<boost::detail::parallel::
-                             msg_add_edge_data<Vertex, LocalVertex> >
-      : is_bitwise_serializable<Vertex> { };
-
-    template<typename Vertex, typename LocalVertex, typename EdgeProperty>
-    struct is_bitwise_serializable<boost::detail::parallel::
-                             msg_add_edge_with_property_data<Vertex, 
-                                                             LocalVertex,
-                                                             EdgeProperty> >
-      : mpl::and_<is_bitwise_serializable<Vertex>, 
-                  is_bitwise_serializable<EdgeProperty> > { };
-
-   template<typename EdgeProperty, typename EdgeDescriptor>
-   struct is_bitwise_serializable<boost::detail::parallel::msg_nonlocal_edge_data<
-                                  EdgeProperty,EdgeDescriptor> >
-           : mpl::and_<
-               is_bitwise_serializable<
-                boost::detail::parallel::maybe_store_property<EdgeProperty> >,
-           is_bitwise_serializable<EdgeDescriptor> >
-  {};
-   
-   template<typename EdgeDescriptor>
-   struct is_bitwise_serializable<
-            boost::detail::parallel::msg_remove_edge_data<EdgeDescriptor> >
-           : is_bitwise_serializable<EdgeDescriptor> {};
-   
-    template<typename Directed, typename Vertex>
-    struct implementation_level<boost::detail::edge_base<Directed, Vertex> >
-      : mpl::int_<object_serializable> {};
-
-    template<typename Directed, typename Vertex>
-    struct implementation_level<boost::detail::edge_desc_impl<Directed, Vertex> >
-      : mpl::int_<object_serializable> {};
-
-    template<typename LocalDescriptor>
-    struct implementation_level<boost::detail::parallel::global_descriptor<LocalDescriptor> >
-      : mpl::int_<object_serializable> {};
-
-    template<typename Edge>
-    struct implementation_level<boost::detail::parallel::edge_descriptor<Edge> >
-      : mpl::int_<object_serializable> {};
-
-    template<typename Vertex, typename LocalVertex>
-    struct implementation_level<boost::detail::parallel::
-                             msg_add_edge_data<Vertex, LocalVertex> >
-      : mpl::int_<object_serializable> {};
-
-    template<typename Vertex, typename LocalVertex, typename EdgeProperty>
-    struct implementation_level<boost::detail::parallel::
-                             msg_add_edge_with_property_data<Vertex, 
-                                                             LocalVertex,
-                                                             EdgeProperty> >
-      : mpl::int_<object_serializable> {};
-
-   template<typename EdgeProperty, typename EdgeDescriptor>
-   struct implementation_level<boost::detail::parallel::msg_nonlocal_edge_data<
-                               EdgeProperty,EdgeDescriptor> >
-           : mpl::int_<object_serializable> {};
-   
-   template<typename EdgeDescriptor>
-   struct implementation_level<
-            boost::detail::parallel::msg_remove_edge_data<EdgeDescriptor> >
-          : mpl::int_<object_serializable> {};
-   
-    template<typename Directed, typename Vertex>
-    struct tracking_level<boost::detail::edge_base<Directed, Vertex> >
-      : mpl::int_<track_never> {};
-
-    template<typename Directed, typename Vertex>
-    struct tracking_level<boost::detail::edge_desc_impl<Directed, Vertex> >
-      : mpl::int_<track_never> {};
-
-    template<typename LocalDescriptor>
-    struct tracking_level<boost::detail::parallel::global_descriptor<LocalDescriptor> >
-      : mpl::int_<track_never> {};
-
-    template<typename Edge>
-    struct tracking_level<boost::detail::parallel::edge_descriptor<Edge> >
-      : mpl::int_<track_never> {};
-
-    template<typename Vertex, typename LocalVertex>
-    struct tracking_level<boost::detail::parallel::
-                             msg_add_edge_data<Vertex, LocalVertex> >
-      : mpl::int_<track_never> {};
-
-    template<typename Vertex, typename LocalVertex, typename EdgeProperty>
-    struct tracking_level<boost::detail::parallel::
-                             msg_add_edge_with_property_data<Vertex, 
-                                                             LocalVertex,
-                                                             EdgeProperty> >
-      : mpl::int_<track_never> {};
-
-   template<typename EdgeProperty, typename EdgeDescriptor>
-   struct tracking_level<boost::detail::parallel::msg_nonlocal_edge_data<
-                         EdgeProperty,EdgeDescriptor> >
-           : mpl::int_<track_never> {};
-   
-   template<typename EdgeDescriptor>
-   struct tracking_level<
-            boost::detail::parallel::msg_remove_edge_data<EdgeDescriptor> >
-          : mpl::int_<track_never> {};
-  }
-
-  // Hash function for global descriptors
-  template<typename LocalDescriptor>
-  struct hash<detail::parallel::global_descriptor<LocalDescriptor> >
-  {
-    typedef detail::parallel::global_descriptor<LocalDescriptor> argument_type;
-    std::size_t operator()(argument_type const& x) const
-    {
-      std::size_t hash = hash_value(x.owner);
-      hash_combine(hash, x.local);
-      return hash;
-    }
-  };
-
-  // Hash function for parallel edge descriptors
-  template<typename Edge>
-  struct hash<detail::parallel::edge_descriptor<Edge> >
-  {
-    typedef detail::parallel::edge_descriptor<Edge> argument_type;
-
-    std::size_t operator()(argument_type const& x) const
-    {
-      std::size_t hash = hash_value(x.owner());
-      hash_combine(hash, x.local);
-      return hash;
-    }
-  };
-
-} // end namespace boost
-
-#include <boost/graph/distributed/adjlist/handlers.hpp>
-#include <boost/graph/distributed/adjlist/initialize.hpp>
-#include <boost/graph/distributed/adjlist/redistribute.hpp>
-#include <boost/graph/distributed/adjlist/serialization.hpp>
-
-#endif // BOOST_GRAPH_DISTRIBUTED_ADJACENCY_LIST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/handlers.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/handlers.hpp
deleted file mode 100644
index 7c1e431..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/handlers.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright (C) 2007 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)
-
-// This file contains code for the distributed adjacency list's
-// message handlers. It should not be included directly by users.
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_ADJLIST_HANDLERS_HPP
-#define BOOST_GRAPH_DISTRIBUTED_ADJLIST_HANDLERS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/parallel/simple_trigger.hpp>
-#include <boost/graph/parallel/detail/untracked_pair.hpp>
-
-namespace boost { 
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-void
-PBGL_DISTRIB_ADJLIST_TYPE::
-setup_triggers()
-{
-  using boost::graph::parallel::simple_trigger;
-
-  simple_trigger(process_group_, msg_add_vertex_with_property, this,
-                 &adjacency_list::handle_add_vertex_with_property);
-  simple_trigger(process_group_, msg_add_vertex_with_property_and_reply, this,
-                 &adjacency_list::handle_add_vertex_with_property_and_reply);
-  simple_trigger(process_group_, msg_add_edge, this, 
-                 &adjacency_list::handle_add_edge);
-  simple_trigger(process_group_, msg_add_edge_with_reply, this, 
-                 &adjacency_list::handle_add_edge_with_reply);
-  simple_trigger(process_group_, msg_add_edge_with_property, this,
-                 &adjacency_list::handle_add_edge_with_property);
-  simple_trigger(process_group_,  msg_add_edge_with_property_and_reply, this,
-                 &adjacency_list::handle_add_edge_with_property_and_reply);
-  simple_trigger(process_group_, msg_nonlocal_edge, this,
-                 &adjacency_list::handle_nonlocal_edge);
-  simple_trigger(process_group_, msg_remove_edge, this,
-                 &adjacency_list::handle_remove_edge);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-void 
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_add_vertex_with_property(int source, int tag, 
-                                const vertex_property_type& data, 
-                                trigger_receive_context)
-{
-  vertex_descriptor v(this->processor(), 
-                      add_vertex(this->build_vertex_property(data), 
-                                 this->base()));
-  if (on_add_vertex)
-    on_add_vertex(v, *this);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-typename PBGL_DISTRIB_ADJLIST_TYPE::local_vertex_descriptor
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_add_vertex_with_property_and_reply(int source, int tag, 
-                                          const vertex_property_type& data, 
-                                          trigger_receive_context)
-{
-  // Try to find a vertex with this name
-  local_vertex_descriptor local_v
-    = add_vertex(this->build_vertex_property(data), this->base());
-
-  vertex_descriptor v(processor(), local_v);
-  if (on_add_vertex)
-    on_add_vertex(v, *this);
-
-  return local_v;
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-void 
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_add_edge(int source, int tag, const msg_add_edge_data& data,
-                trigger_receive_context)
-{
-  add_edge(vertex_descriptor(processor(), data.source), 
-           data.target, *this);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-boost::parallel::detail::untracked_pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_add_edge_with_reply(int source, int tag, const msg_add_edge_data& data,
-                           trigger_receive_context)
-{
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool> p = 
-    add_edge(vertex_descriptor(processor(), data.source),data.target, *this);
-  return p;
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-void 
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_add_edge_with_property(int source, int tag, 
-                              const msg_add_edge_with_property_data& data,
-                              trigger_receive_context)
-{
-  add_edge(vertex_descriptor(processor(), data.source), 
-           data.target, data.get_property(), *this);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-boost::parallel::detail::untracked_pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool>
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_add_edge_with_property_and_reply
-  (int source, int tag, 
-   const msg_add_edge_with_property_data& data,
-   trigger_receive_context)
-{
-  std::pair<typename PBGL_DISTRIB_ADJLIST_TYPE::edge_descriptor, bool> p = 
-    add_edge(vertex_descriptor(processor(), data.source), 
-                  data.target, data.get_property(), *this);
-  return p;
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-void 
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_nonlocal_edge(int source, int tag, 
-                     const msg_nonlocal_edge_data& data,
-                     trigger_receive_context)
-{
-  add_remote_edge(data, source, directed_selector());
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-void 
-PBGL_DISTRIB_ADJLIST_TYPE::
-handle_remove_edge(int source, int tag, 
-                   const msg_remove_edge_data& data,
-                   trigger_receive_context)
-{
-  remove_local_edge(data, source, directed_selector());
-}
-
-} 
-
-#endif // BOOST_GRAPH_DISTRIBUTED_ADJLIST_HANDLERS_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/initialize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/initialize.hpp
deleted file mode 100644
index 4bb85d4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/initialize.hpp
+++ /dev/null
@@ -1,319 +0,0 @@
-// Copyright (C) 2007 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)
-
-// This file contains code for the distributed adjacency list's
-// initializations. It should not be included directly by users.
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_ADJLIST_INITIALIZE_HPP
-#define BOOST_GRAPH_DISTRIBUTED_ADJLIST_INITIALIZE_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-namespace boost { 
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename EdgeIterator>
-void
-PBGL_DISTRIB_ADJLIST_TYPE::
-initialize(EdgeIterator first, EdgeIterator last,
-           vertices_size_type, const base_distribution_type& distribution, 
-           vecS)
-{
-  process_id_type id = process_id(process_group_);
-  while (first != last) {
-    if ((process_id_type)distribution(first->first) == id) {
-      vertex_descriptor source(id, distribution.local(first->first));
-      vertex_descriptor target(distribution(first->second),
-                               distribution.local(first->second));
-      add_edge(source, target, *this);
-    }
-    ++first;
-  }
-
-  synchronize(process_group_);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename EdgeIterator, typename EdgePropertyIterator>
-void
-PBGL_DISTRIB_ADJLIST_TYPE::
-initialize(EdgeIterator first, EdgeIterator last,
-           EdgePropertyIterator ep_iter,
-           vertices_size_type, const base_distribution_type& distribution, 
-           vecS)
-{
-  process_id_type id = process_id(process_group_);
-  while (first != last) {
-    if (static_cast<process_id_type>(distribution(first->first)) == id) {
-      vertex_descriptor source(id, distribution.local(first->first));
-      vertex_descriptor target(distribution(first->second),
-                               distribution.local(first->second));
-      add_edge(source, target, *ep_iter, *this);
-    }
-    ++first;
-    ++ep_iter;
-  }
-
-  synchronize(process_group_);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename EdgeIterator, typename EdgePropertyIterator,
-         typename VertexListS>
-void
-PBGL_DISTRIB_ADJLIST_TYPE::
-initialize(EdgeIterator first, EdgeIterator last,
-           EdgePropertyIterator ep_iter,
-           vertices_size_type n, const base_distribution_type& distribution,
-           VertexListS)
-{
-  using boost::parallel::inplace_all_to_all;
-
-  typedef vertices_size_type vertex_number_t;
-  typedef typename std::iterator_traits<EdgePropertyIterator>::value_type
-    edge_property_init_t;
-
-  typedef std::pair<vertex_descriptor, vertex_number_t>
-    st_pair;
-  typedef std::pair<st_pair, edge_property_init_t> delayed_edge_t;
-
-  process_group_type pg = process_group();
-  process_id_type id = process_id(pg);
-
-  // Vertex indices
-  std::vector<local_vertex_descriptor> index_to_vertex;
-  index_to_vertex.reserve(num_vertices(*this));
-  BGL_FORALL_VERTICES_T(v, base(), inherited)
-    index_to_vertex.push_back(v);
-
-  // The list of edges we can't add immediately.
-  std::vector<delayed_edge_t> delayed_edges;
-
-  std::vector<std::vector<vertex_number_t> > descriptor_requests;
-  descriptor_requests.resize(num_processes(pg));
-
-  // Add all of the edges we can, up to the point where we run
-  // into a descriptor we don't know.
-  while (first != last) {
-    if (distribution(first->first) == id) {
-      if (distribution(first->second) != id) break;
-      vertex_descriptor source
-        (id, index_to_vertex[distribution.local(first->first)]);
-      vertex_descriptor target
-        (distribution(first->second),
-         index_to_vertex[distribution.local(first->second)]);
-      add_edge(source, target, *ep_iter, *this);
-    }
-    ++first;
-    ++ep_iter;
-  }
-
-  // Queue all of the remaining edges and determine the set of
-  // descriptors we need to know about.
-  while (first != last) {
-    if (distribution(first->first) == id) {
-      vertex_descriptor source
-        (id, index_to_vertex[distribution.local(first->first)]);
-      process_id_type dest = distribution(first->second);
-      if (dest != id) {
-        descriptor_requests[dest]
-          .push_back(distribution.local(first->second));
-        // Compact request list if we need to
-        if (descriptor_requests[dest].size() >
-              distribution.block_size(dest, n)) {
-          std::sort(descriptor_requests[dest].begin(),
-                    descriptor_requests[dest].end());
-          descriptor_requests[dest].erase(
-            std::unique(descriptor_requests[dest].begin(),
-                        descriptor_requests[dest].end()),
-            descriptor_requests[dest].end());
-        }
-      }
-
-      // Save the edge for later
-      delayed_edges.push_back
-        (delayed_edge_t(st_pair(source, first->second), *ep_iter));
-    }
-    ++first;
-    ++ep_iter;
-  }
-
-  // Compact descriptor requests
-  for (process_id_type dest = 0; dest < num_processes(pg); ++dest) {
-    std::sort(descriptor_requests[dest].begin(),
-              descriptor_requests[dest].end());
-    descriptor_requests[dest].erase(
-      std::unique(descriptor_requests[dest].begin(),
-                  descriptor_requests[dest].end()),
-      descriptor_requests[dest].end());
-  }
-
-  // Send out all of the descriptor requests
-  std::vector<std::vector<vertex_number_t> > in_descriptor_requests;
-  in_descriptor_requests.resize(num_processes(pg));
-  inplace_all_to_all(pg, descriptor_requests, in_descriptor_requests);
-
-  // Reply to all of the descriptor requests
-  std::vector<std::vector<local_vertex_descriptor> >
-    descriptor_responses;
-  descriptor_responses.resize(num_processes(pg));
-  for (process_id_type dest = 0; dest < num_processes(pg); ++dest) {
-    for (std::size_t i = 0; i < in_descriptor_requests[dest].size(); ++i) {
-      local_vertex_descriptor v =
-        index_to_vertex[in_descriptor_requests[dest][i]];
-      descriptor_responses[dest].push_back(v);
-    }
-    in_descriptor_requests[dest].clear();
-  }
-  in_descriptor_requests.clear();
-  inplace_all_to_all(pg, descriptor_responses);
-
-  // Add the queued edges
-  for(typename std::vector<delayed_edge_t>::iterator i
-        = delayed_edges.begin(); i != delayed_edges.end(); ++i) {
-    process_id_type dest = distribution(i->first.second);
-    local_vertex_descriptor tgt_local;
-    if (dest == id) {
-      tgt_local = index_to_vertex[distribution.local(i->first.second)];
-    } else {
-      std::vector<vertex_number_t>& requests = descriptor_requests[dest];
-      typename std::vector<vertex_number_t>::iterator pos =
-        std::lower_bound(requests.begin(), requests.end(),
-                         distribution.local(i->first.second));
-      tgt_local = descriptor_responses[dest][pos - requests.begin()];
-    }
-    add_edge(i->first.first, vertex_descriptor(dest, tgt_local),
-             i->second, *this);
-  }
-  synchronize(process_group_);
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename EdgeIterator, typename VertexListS>
-void
-PBGL_DISTRIB_ADJLIST_TYPE::
-initialize(EdgeIterator first, EdgeIterator last,
-           vertices_size_type n, const base_distribution_type& distribution,
-           VertexListS)
-{
-  using boost::parallel::inplace_all_to_all;
-
-  typedef vertices_size_type vertex_number_t;
-
-  typedef std::pair<vertex_descriptor, vertex_number_t> delayed_edge_t;
-
-  process_group_type pg = process_group();
-  process_id_type id = process_id(pg);
-
-  // Vertex indices
-  std::vector<local_vertex_descriptor> index_to_vertex;
-  index_to_vertex.reserve(num_vertices(*this));
-  BGL_FORALL_VERTICES_T(v, base(), inherited)
-    index_to_vertex.push_back(v);
-
-  // The list of edges we can't add immediately.
-  std::vector<delayed_edge_t> delayed_edges;
-
-  std::vector<std::vector<vertex_number_t> > descriptor_requests;
-  descriptor_requests.resize(num_processes(pg));
-
-  // Add all of the edges we can, up to the point where we run
-  // into a descriptor we don't know.
-  while (first != last) {
-    if (distribution(first->first) == id) {
-      if (distribution(first->second) != id) break;
-      vertex_descriptor source
-        (id, index_to_vertex[distribution.local(first->first)]);
-      vertex_descriptor target
-        (distribution(first->second),
-         index_to_vertex[distribution.local(first->second)]);
-      add_edge(source, target, *this);
-    }
-    ++first;
-  }
-
-  // Queue all of the remaining edges and determine the set of
-  // descriptors we need to know about.
-  while (first != last) {
-    if (distribution(first->first) == id) {
-      vertex_descriptor source
-        (id, index_to_vertex[distribution.local(first->first)]);
-      process_id_type dest = distribution(first->second);
-      if (dest != id) {
-        descriptor_requests[dest]
-          .push_back(distribution.local(first->second));
-        // Compact request list if we need to
-        if (descriptor_requests[dest].size() >
-              distribution.block_size(dest, n)) {
-          std::sort(descriptor_requests[dest].begin(),
-                    descriptor_requests[dest].end());
-          descriptor_requests[dest].erase(
-            std::unique(descriptor_requests[dest].begin(),
-                        descriptor_requests[dest].end()),
-            descriptor_requests[dest].end());
-        }
-      }
-
-      // Save the edge for later
-      delayed_edges.push_back(delayed_edge_t(source, first->second));
-    }
-    ++first;
-  }
-
-  // Compact descriptor requests
-  for (process_id_type dest = 0; dest < num_processes(pg); ++dest) {
-    std::sort(descriptor_requests[dest].begin(),
-              descriptor_requests[dest].end());
-    descriptor_requests[dest].erase(
-      std::unique(descriptor_requests[dest].begin(),
-                  descriptor_requests[dest].end()),
-      descriptor_requests[dest].end());
-  }
-
-  // Send out all of the descriptor requests
-  std::vector<std::vector<vertex_number_t> > in_descriptor_requests;
-  in_descriptor_requests.resize(num_processes(pg));
-  inplace_all_to_all(pg, descriptor_requests, in_descriptor_requests);
-
-  // Reply to all of the descriptor requests
-  std::vector<std::vector<local_vertex_descriptor> >
-    descriptor_responses;
-  descriptor_responses.resize(num_processes(pg));
-  for (process_id_type dest = 0; dest < num_processes(pg); ++dest) {
-    for (std::size_t i = 0; i < in_descriptor_requests[dest].size(); ++i) {
-      local_vertex_descriptor v =
-        index_to_vertex[in_descriptor_requests[dest][i]];
-      descriptor_responses[dest].push_back(v);
-    }
-    in_descriptor_requests[dest].clear();
-  }
-  in_descriptor_requests.clear();
-  inplace_all_to_all(pg, descriptor_responses);
-
-  // Add the queued edges
-  for(typename std::vector<delayed_edge_t>::iterator i
-        = delayed_edges.begin(); i != delayed_edges.end(); ++i) {
-    process_id_type dest = distribution(i->second);
-    local_vertex_descriptor tgt_local;
-    if (dest == id) {
-      tgt_local = index_to_vertex[distribution.local(i->second)];
-    } else {
-      std::vector<vertex_number_t>& requests = descriptor_requests[dest];
-      typename std::vector<vertex_number_t>::iterator pos =
-        std::lower_bound(requests.begin(), requests.end(),
-                         distribution.local(i->second));
-      tgt_local = descriptor_responses[dest][pos - requests.begin()];
-    }
-    add_edge(i->first, vertex_descriptor(dest, tgt_local), *this);
-  }
-  synchronize(process_group_);
-}
-
-}   // end namespace boost
-
-#endif // BOOST_GRAPH_DISTRIBUTED_ADJLIST_INITIALIZE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/redistribute.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/redistribute.hpp
deleted file mode 100644
index c2ab02e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/redistribute.hpp
+++ /dev/null
@@ -1,392 +0,0 @@
-// Copyright (C) 2005-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-//
-// Implements redistribution of vertices for a distributed adjacency
-// list. This file should not be included by users. It will be
-// included by the distributed adjacency list header.
-//
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/pending/container_traits.hpp>
-
-namespace boost { namespace detail { namespace parallel {
-
-/* This structure contains a (vertex or edge) descriptor that is being
-   moved from one processor to another. It contains the properties for
-   that descriptor (if any).
- */
-template<typename Descriptor, typename DescriptorProperty>
-struct redistributed_descriptor : maybe_store_property<DescriptorProperty>
-{
-  typedef maybe_store_property<DescriptorProperty> inherited;
-
-  redistributed_descriptor() { }
-
-  redistributed_descriptor(const Descriptor& v, const DescriptorProperty& p)
-    : inherited(p), descriptor(v) { }
-
-  Descriptor descriptor;
-
-private:
-  friend class boost::serialization::access;
-
-  template<typename Archiver>
-  void serialize(Archiver& ar, unsigned int /*version*/)
-  {
-    ar & boost::serialization::base_object<inherited>(*this) 
-       & unsafe_serialize(descriptor);
-  }
-};
-
-/* Predicate that returns true if the target has migrated. */
-template<typename VertexProcessorMap, typename Graph>
-struct target_migrated_t
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-  target_migrated_t(VertexProcessorMap vertex_to_processor, const Graph& g)
-    : vertex_to_processor(vertex_to_processor), g(g) { }
-
-  bool operator()(Edge e) const
-  {
-    typedef global_descriptor<Vertex> DVertex;
-    processor_id_type owner = get(edge_target_processor_id, g, e);
-    return get(vertex_to_processor, DVertex(owner, target(e, g))) != owner;
-  }
-
-private:
-  VertexProcessorMap vertex_to_processor;
-  const Graph& g;
-};
-
-template<typename VertexProcessorMap, typename Graph>
-inline target_migrated_t<VertexProcessorMap, Graph>
-target_migrated(VertexProcessorMap vertex_to_processor, const Graph& g)
-{ return target_migrated_t<VertexProcessorMap, Graph>(vertex_to_processor, g); }
-
-/* Predicate that returns true if the source of an in-edge has migrated. */
-template<typename VertexProcessorMap, typename Graph>
-struct source_migrated_t
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-  source_migrated_t(VertexProcessorMap vertex_to_processor, const Graph& g)
-    : vertex_to_processor(vertex_to_processor), g(g) { }
-
-  bool operator()(stored_in_edge<Edge> e) const
-  {
-    return get(vertex_to_processor, DVertex(e.source_processor, source(e.e, g)))
-      != e.source_processor;
-  }
-
-private:
-  VertexProcessorMap vertex_to_processor;
-  const Graph& g;
-};
-
-template<typename VertexProcessorMap, typename Graph>
-inline source_migrated_t<VertexProcessorMap, Graph>
-source_migrated(VertexProcessorMap vertex_to_processor, const Graph& g)
-{ return source_migrated_t<VertexProcessorMap, Graph>(vertex_to_processor, g); }
-
-/* Predicate that returns true if the target has migrated. */
-template<typename VertexProcessorMap, typename Graph>
-struct source_or_target_migrated_t
-{
-  typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-  source_or_target_migrated_t(VertexProcessorMap vertex_to_processor,
-                              const Graph& g)
-    : vertex_to_processor(vertex_to_processor), g(g) { }
-
-  bool operator()(Edge e) const
-  {
-    return get(vertex_to_processor, source(e, g)) != source(e, g).owner
-      || get(vertex_to_processor, target(e, g)) != target(e, g).owner;
-  }
-
-private:
-  VertexProcessorMap vertex_to_processor;
-  const Graph& g;
-};
-
-template<typename VertexProcessorMap, typename Graph>
-inline source_or_target_migrated_t<VertexProcessorMap, Graph>
-source_or_target_migrated(VertexProcessorMap vertex_to_processor,
-const Graph& g)
-{
-  typedef source_or_target_migrated_t<VertexProcessorMap, Graph> result_type;
-  return result_type(vertex_to_processor, g);
-}
-
-} } // end of namespace detail::parallel
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename VertexProcessorMap>
-void
-PBGL_DISTRIB_ADJLIST_TYPE
-::request_in_neighbors(vertex_descriptor v,
-                       VertexProcessorMap vertex_to_processor,
-                       bidirectionalS)
-{
-  BGL_FORALL_INEDGES_T(v, e, *this, graph_type)
-    request(vertex_to_processor, source(e, *this));
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename VertexProcessorMap>
-void
-PBGL_DISTRIB_ADJLIST_TYPE
-::remove_migrated_in_edges(vertex_descriptor v,
-                           VertexProcessorMap vertex_to_processor,
-                           bidirectionalS)
-{
-  graph_detail::erase_if(get(vertex_in_edges, base())[v.local],
-                         source_migrated(vertex_to_processor, base()));
-}
-
-template<PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template<typename VertexProcessorMap>
-void
-PBGL_DISTRIB_ADJLIST_TYPE
-::redistribute(VertexProcessorMap vertex_to_processor)
-{
-  using boost::parallel::inplace_all_to_all;
-
-  // When we have stable descriptors, we only move those descriptors
-  // that actually need to be moved. Otherwise, we essentially have to
-  // regenerate the entire graph.
-  const bool has_stable_descriptors =
-    is_same<typename config_type::vertex_list_selector, listS>::value
-    || is_same<typename config_type::vertex_list_selector, setS>::value
-    || is_same<typename config_type::vertex_list_selector, multisetS>::value;
-
-  typedef detail::parallel::redistributed_descriptor<vertex_descriptor, 
-                                                     vertex_property_type>
-    redistributed_vertex;
-  typedef detail::parallel::redistributed_descriptor<edge_descriptor, 
-                                                     edge_property_type>
-    redistributed_edge;
-
-  vertex_iterator vi, vi_end;
-  edge_iterator ei, ei_end;
-
-  process_group_type pg = process_group();
-
-  // Initial synchronization makes sure that we have all of our ducks
-  // in a row. We don't want any outstanding add/remove messages
-  // coming in mid-redistribution!
-  synchronize(process_group_);
-
-  // We cannot cope with eviction of ghost cells
-  vertex_to_processor.set_max_ghost_cells(0);
-
-  process_id_type p = num_processes(pg);
-
-  // Send vertices and edges to the processor where they will
-  // actually reside.  This requires O(|V| + |E|) communication
-  std::vector<std::vector<redistributed_vertex> > redistributed_vertices(p);
-  std::vector<std::vector<redistributed_edge> > redistributed_edges(p);
-
-  // Build the sets of relocated vertices for each process and then do
-  // an all-to-all transfer.
-  for (boost::tie(vi, vi_end) = vertices(*this); vi != vi_end; ++vi) {
-    if (!has_stable_descriptors
-        || get(vertex_to_processor, *vi) != vi->owner) {
-      redistributed_vertices[get(vertex_to_processor, *vi)]
-        .push_back(redistributed_vertex(*vi, get(vertex_all_t(), base(),
-                                                 vi->local)));
-    }
-
-    // When our descriptors are stable, we need to determine which
-    // adjacent descriptors are stable to determine which edges will
-    // be removed.
-    if (has_stable_descriptors) {
-      BGL_FORALL_OUTEDGES_T(*vi, e, *this, graph_type)
-        request(vertex_to_processor, target(e, *this));
-      request_in_neighbors(*vi, vertex_to_processor, directed_selector());
-    }
-  }
-
-  inplace_all_to_all(pg, redistributed_vertices);
-
-  // If we have stable descriptors, we need to know where our neighbor
-  // vertices are moving.
-  if (has_stable_descriptors)
-    synchronize(vertex_to_processor);
-
-  // Build the sets of relocated edges for each process and then do
-  // an all-to-all transfer.
-  for (boost::tie(ei, ei_end) = edges(*this); ei != ei_end; ++ei) {
-    vertex_descriptor src = source(*ei, *this);
-    vertex_descriptor tgt = target(*ei, *this);
-    if (!has_stable_descriptors
-        || get(vertex_to_processor, src) != src.owner
-        || get(vertex_to_processor, tgt) != tgt.owner)
-      redistributed_edges[get(vertex_to_processor, source(*ei, *this))]
-        .push_back(redistributed_edge(*ei, split_edge_property(get(edge_all_t(), base(),
-                                                                   ei->local))));
-  }
-  inplace_all_to_all(pg, redistributed_edges);
-
-  // A mapping from old vertex descriptors to new vertex
-  // descriptors. This is an STL map partly because I'm too lazy to
-  // build a real property map (which is hard in the general case) but
-  // also because it won't try to look in the graph itself, because
-  // the keys are all vertex descriptors that have been invalidated.
-  std::map<vertex_descriptor, vertex_descriptor> old_to_new_vertex_map;
-
-  if (has_stable_descriptors) {
-    // Clear out all vertices and edges that will have moved. There
-    // are several stages to this.
-
-    // First, eliminate all outgoing edges from the (local) vertices
-    // that have been moved or whose targets have been moved.
-    BGL_FORALL_VERTICES_T(v, *this, graph_type) {
-      if (get(vertex_to_processor, v) != v.owner) {
-        clear_out_edges(v.local, base());
-        clear_in_edges_local(v, directed_selector());
-      } else {
-        remove_out_edge_if(v.local,
-                           target_migrated(vertex_to_processor, base()),
-                           base());
-        remove_migrated_in_edges(v, vertex_to_processor, directed_selector());
-      }
-    }
-
-    // Next, eliminate locally-stored edges that have migrated (for
-    // undirected graphs).
-    graph_detail::erase_if(local_edges_,
-                           source_or_target_migrated(vertex_to_processor, *this));
-
-    // Eliminate vertices that have migrated
-    for (boost::tie(vi, vi_end) = vertices(*this); vi != vi_end; /* in loop */) {
-      if (get(vertex_to_processor, *vi) != vi->owner)
-        remove_vertex((*vi++).local, base());
-      else {
-        // Add the identity relation for vertices that have not migrated
-        old_to_new_vertex_map[*vi] = *vi;
-        ++vi;
-      }
-    }
-  } else {
-    // Clear out the local graph: the entire graph is in transit
-    clear();
-  }
-
-  // Add the new vertices to the graph. When we do so, update the old
-  // -> new vertex mapping both locally and for the owner of the "old"
-  // vertex.
-  {
-    typedef std::pair<vertex_descriptor, vertex_descriptor> mapping_pair;
-    std::vector<std::vector<mapping_pair> > mappings(p);
-
-    for (process_id_type src = 0; src < p; ++src) {
-      for (typename std::vector<redistributed_vertex>::iterator vi =
-             redistributed_vertices[src].begin();
-           vi != redistributed_vertices[src].end(); ++vi) {
-        vertex_descriptor new_vertex =
-            add_vertex(vi->get_property(), *this);
-        old_to_new_vertex_map[vi->descriptor] = new_vertex;
-        mappings[vi->descriptor.owner].push_back(mapping_pair(vi->descriptor,
-                                                              new_vertex));
-      }
-
-      redistributed_vertices[src].clear();
-    }
-
-    inplace_all_to_all(pg, mappings);
-
-    // Add the mappings we were sent into the old->new map.
-    for (process_id_type src = 0; src < p; ++src)
-      old_to_new_vertex_map.insert(mappings[src].begin(), mappings[src].end());
-  }
-
-  // Get old->new vertex mappings for all of the vertices we need to
-  // know about.
-
-  // TBD: An optimization here might involve sending the
-  // request-response pairs without an explicit request step (for
-  // bidirectional and undirected graphs). However, it may not matter
-  // all that much given the cost of redistribution.
-  {
-    std::vector<std::vector<vertex_descriptor> > vertex_map_requests(p);
-    std::vector<std::vector<vertex_descriptor> > vertex_map_responses(p);
-
-    // We need to know about all of the vertices incident on edges
-    // that have been relocated to this processor. Tell each processor
-    // what each other processor needs to know.
-    for (process_id_type src = 0; src < p; ++src)
-      for (typename std::vector<redistributed_edge>::iterator ei =
-             redistributed_edges[src].begin();
-           ei != redistributed_edges[src].end(); ++ei) {
-        vertex_descriptor need_vertex = target(ei->descriptor, *this);
-        if (old_to_new_vertex_map.find(need_vertex)
-            == old_to_new_vertex_map.end())
-          {
-            old_to_new_vertex_map[need_vertex] = need_vertex;
-            vertex_map_requests[need_vertex.owner].push_back(need_vertex);
-          }
-      }
-    inplace_all_to_all(pg,
-                       vertex_map_requests,
-                       vertex_map_responses);
-
-    // Process the requests made for vertices we own. Then perform yet
-    // another all-to-all swap. This one matches the requests we've
-    // made to the responses we were given.
-    for (process_id_type src = 0; src < p; ++src)
-      for (typename std::vector<vertex_descriptor>::iterator vi =
-             vertex_map_responses[src].begin();
-           vi != vertex_map_responses[src].end(); ++vi)
-        *vi = old_to_new_vertex_map[*vi];
-    inplace_all_to_all(pg, vertex_map_responses);
-
-    // Matching the requests to the responses, update the old->new
-    // vertex map for all of the vertices we will need to know.
-    for (process_id_type src = 0; src < p; ++src) {
-      typedef typename std::vector<vertex_descriptor>::size_type size_type;
-      for (size_type i = 0; i < vertex_map_requests[src].size(); ++i) {
-        old_to_new_vertex_map[vertex_map_requests[src][i]] =
-          vertex_map_responses[src][i];
-      }
-    }
-  }
-
-  // Add edges to the graph by mapping the source and target.
-  for (process_id_type src = 0; src < p; ++src) {
-    for (typename std::vector<redistributed_edge>::iterator ei =
-           redistributed_edges[src].begin();
-         ei != redistributed_edges[src].end(); ++ei) {
-      add_edge(old_to_new_vertex_map[source(ei->descriptor, *this)],
-               old_to_new_vertex_map[target(ei->descriptor, *this)],
-               ei->get_property(),
-               *this);
-    }
-
-    redistributed_edges[src].clear();
-  }
-
-  // Be sure that edge-addition messages are received now, completing
-  // the graph.
-  synchronize(process_group_);
-
-  this->distribution().clear();
-
-  detail::parallel::maybe_initialize_vertex_indices(vertices(base()), 
-                                                    get(vertex_index, base()));
-}
-
-} // end namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/serialization.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/serialization.hpp
deleted file mode 100644
index ab75ef9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/adjlist/serialization.hpp
+++ /dev/null
@@ -1,988 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_ADJLIST_SERIALIZATION_070925_HPP
-#define BOOST_GRAPH_DISTRIBUTED_ADJLIST_SERIALIZATION_070925_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-# include <boost/assert.hpp>
-# include <boost/lexical_cast.hpp>
-# include <boost/foreach.hpp>
-# include <boost/filesystem/path.hpp>
-# include <boost/filesystem/operations.hpp>
-# include <cctype>
-# include <fstream>
-
-namespace boost {
-
-namespace detail { namespace parallel
-{
-
-  // Wraps a local descriptor, making it serializable.
-  template <class Local>
-  struct serializable_local_descriptor
-  {
-      serializable_local_descriptor()
-      {}
-
-      serializable_local_descriptor(Local local)
-        : local(local)
-      {}
-
-      operator Local const&() const
-      {
-          return local;
-      }
-
-      bool operator==(serializable_local_descriptor const& other) const
-      {
-          return local == other.local;
-      }
-
-      bool operator<(serializable_local_descriptor const& other) const
-      {
-          return local < other.local;
-      }
-
-      template <class Archive>
-      void serialize(Archive& ar, const unsigned int /*version*/)
-      {
-          ar & unsafe_serialize(local);
-      }
-
-      Local local;
-  };
-
-  template <class Vertex, class Properties>
-  struct pending_edge
-  {
-      pending_edge(
-          Vertex source, Vertex target
-        , Properties properties, void* property_ptr
-      )
-        : source(source)
-        , target(target)
-        , properties(properties)
-        , property_ptr(property_ptr)
-      {}
-
-      Vertex source;
-      Vertex target;
-      Properties properties;
-      void* property_ptr;
-  };
-
-  inline bool is_digit(char c)
-  {
-      return (bool)std::isdigit(c);
-  }
-
-  inline std::vector<int> 
-      available_process_files(std::string const& filename)
-      {
-          if (!filesystem::exists(filename))
-              return std::vector<int>();
-
-          std::vector<int> result;
-
-          for (filesystem::directory_iterator i(filename), end; i != end; ++i)
-          {
-              if (!filesystem::is_regular(*i))
-                  boost::throw_exception(std::runtime_error("directory contains non-regular entries"));
-
-              std::string process_name = i->path().filename().string();
-              for (std::string::size_type i = 0; i < process_name.size(); ++i)
-                if (!is_digit(process_name[i]))
-                  boost::throw_exception(std::runtime_error("directory contains files with invalid names"));
-
-              result.push_back(boost::lexical_cast<int>(process_name));
-          }
-
-          return result;
-      }
-
-  template <class Archive, class Tag, class T, class Base>
-  void maybe_load_properties(
-      Archive& ar, char const* name, property<Tag, T, Base>& properties)
-  {
-      ar >> serialization::make_nvp(name, get_property_value(properties, Tag()));
-      maybe_load_properties(ar, name, static_cast<Base&>(properties));
-  }
-
-  template <class Archive>
-  void maybe_load_properties(
-      Archive&, char const*, no_property&)
-  {}
-
-  template <class Archive, typename Bundle>
-  void maybe_load_properties(
-      Archive& ar, char const* name, Bundle& bundle)
-  {
-    ar >> serialization::make_nvp(name, bundle);
-    no_property prop;
-    maybe_load_properties(ar, name, prop);
-  }
-
-
-
-
-
-
-  template <class Graph, class Archive, class VertexListS>
-  struct graph_loader
-  {
-      typedef typename Graph::vertex_descriptor vertex_descriptor;
-      typedef typename Graph::local_vertex_descriptor local_vertex_descriptor;
-      typedef typename Graph::vertex_property_type vertex_property_type;
-      typedef typename Graph::edge_descriptor edge_descriptor;
-      typedef typename Graph::local_edge_descriptor local_edge_descriptor;
-      typedef typename Graph::edge_property_type edge_property_type;
-      typedef typename Graph::process_group_type process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-      typedef typename Graph::directed_selector directed_selector;
-      typedef typename mpl::if_<
-          is_same<VertexListS, defaultS>, vecS, VertexListS
-      >::type vertex_list_selector;
-      typedef pending_edge<vertex_descriptor, edge_property_type> 
-          pending_edge_type; 
-      typedef serializable_local_descriptor<local_vertex_descriptor>
-          serializable_vertex_descriptor;
-
-      graph_loader(Graph& g, Archive& ar)
-        : m_g(g)
-        , m_ar(ar)
-        , m_pg(g.process_group())
-        , m_requested_vertices(num_processes(m_pg))
-        , m_remote_vertices(num_processes(m_pg))
-        , m_property_ptrs(num_processes(m_pg))
-      {
-          g.clear();
-          load_prefix();
-          load_vertices();
-          load_edges();
-          ar >> make_nvp("distribution", m_g.distribution());
-      }
-
-  private:
-      struct pending_in_edge
-      {
-          pending_in_edge(
-              vertex_descriptor u, vertex_descriptor v, void* property_ptr
-          )
-            : u(u)
-            , v(v)
-            , property_ptr(property_ptr)
-          {}
-
-          vertex_descriptor u;
-          vertex_descriptor v;
-          void* property_ptr;
-      };
-
-      bool is_root() const
-      {
-          return process_id(m_pg) == 0;
-      }
-
-      template <class T>
-      serialization::nvp<T> const make_nvp(char const* name, T& value) const
-      {
-          return serialization::nvp<T>(name, value);
-      }
-
-      void load_prefix();
-      void load_vertices();
-
-      template <class Anything>
-      void maybe_load_and_store_local_vertex(Anything);
-      void maybe_load_and_store_local_vertex(vecS);
-
-      void load_edges();
-      void load_in_edges(bidirectionalS);
-      void load_in_edges(directedS);
-      void add_pending_in_edge(
-          vertex_descriptor u, vertex_descriptor v, void* property_ptr, vecS);
-      template <class Anything>
-      void add_pending_in_edge(
-          vertex_descriptor u, vertex_descriptor v, void* property_ptr, Anything);
-      template <class Anything>
-      void add_edge(
-          vertex_descriptor u, vertex_descriptor v
-        , edge_property_type const& property, void* property_ptr, Anything);
-      void add_edge(
-          vertex_descriptor u, vertex_descriptor v
-        , edge_property_type const& property, void* property_ptr, vecS);
-      void add_remote_vertex_request(
-          vertex_descriptor u, vertex_descriptor v, directedS);
-      void add_remote_vertex_request(
-          vertex_descriptor u, vertex_descriptor v, bidirectionalS);
-      void add_in_edge(
-          edge_descriptor const&, void*, directedS);
-      void add_in_edge(
-          edge_descriptor const& edge, void* old_property_ptr, bidirectionalS);
-
-      void resolve_remote_vertices(directedS);
-      void resolve_remote_vertices(bidirectionalS);
-      vertex_descriptor resolve_remote_vertex(vertex_descriptor u) const;
-      vertex_descriptor resolve_remote_vertex(vertex_descriptor u, vecS) const;
-      template <class Anything>
-      vertex_descriptor resolve_remote_vertex(vertex_descriptor u, Anything) const;
-
-      void resolve_property_ptrs();
-
-      void commit_pending_edges(vecS);
-      template <class Anything>
-      void commit_pending_edges(Anything);
-      void commit_pending_in_edges(directedS);
-      void commit_pending_in_edges(bidirectionalS);
-
-      void* maybe_load_property_ptr(directedS) { return 0; }
-      void* maybe_load_property_ptr(bidirectionalS);
-
-      Graph& m_g;
-      Archive& m_ar;
-      process_group_type m_pg;
-
-      std::vector<process_id_type> m_id_mapping;
-
-      // Maps local vertices as loaded from the archive to
-      // the ones actually added to the graph. Only used 
-      // when !vecS.
-      std::map<local_vertex_descriptor, local_vertex_descriptor> m_local_vertices;
-
-      // This is the list of remote vertex descriptors that we
-      // are going to receive from other processes. This is
-      // kept sorted so that we can determine the position of
-      // the matching vertex descriptor in m_remote_vertices.
-      std::vector<std::vector<serializable_vertex_descriptor> > m_requested_vertices;
-
-      // This is the list of remote vertex descriptors that
-      // we send and receive from other processes.
-      std::vector<std::vector<serializable_vertex_descriptor> > m_remote_vertices;
-
-      // ...
-      std::vector<pending_edge_type> m_pending_edges;
-
-      // The pending in-edges that will be added in the commit step, after
-      // the remote vertex descriptors has been resolved. Only used
-      // when bidirectionalS and !vecS.
-      std::vector<pending_in_edge> m_pending_in_edges;
-
-      std::vector<std::vector<unsafe_pair<void*,void*> > > m_property_ptrs;
-  };
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::load_prefix()
-  {
-      typename process_group_type::process_size_type num_processes_;
-      m_ar >> make_nvp("num_processes", num_processes_);
-
-      if (num_processes_ != num_processes(m_pg))
-          boost::throw_exception(std::runtime_error("number of processes mismatch"));
-
-      process_id_type old_id;
-      m_ar >> make_nvp("id", old_id);
-
-      std::vector<typename Graph::distribution_type::size_type> mapping;
-      m_ar >> make_nvp("mapping", mapping);
-
-      // Fetch all the old id's from the other processes.
-      std::vector<process_id_type> old_ids;
-      all_gather(m_pg, &old_id, &old_id+1, old_ids);
-
-      m_id_mapping.resize(num_processes(m_pg), -1);
-
-      for (process_id_type i = 0; i < num_processes(m_pg); ++i)
-      {
-# ifdef PBGL_SERIALIZE_DEBUG
-          if (is_root())
-              std::cout << i << " used to be " << old_ids[i] << "\n"; 
-# endif
-          BOOST_ASSERT(m_id_mapping[old_ids[i]] == -1);
-          m_id_mapping[old_ids[i]] = i;
-      }
-
-      std::vector<typename Graph::distribution_type::size_type> new_mapping(
-          mapping.size());
-
-      for (int i = 0; i < num_processes(m_pg); ++i)
-      {
-          new_mapping[mapping[old_ids[i]]] = i;
-      }
-
-      m_g.distribution().assign_mapping(
-          new_mapping.begin(), new_mapping.end());
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::load_vertices()
-  {
-      int V;
-      m_ar >> BOOST_SERIALIZATION_NVP(V); 
-
-# ifdef PBGL_SERIALIZE_DEBUG
-      if (is_root())
-          std::cout << "Loading vertices\n";
-# endif
-
-      for (int i = 0; i < V; ++i)
-      {
-          maybe_load_and_store_local_vertex(vertex_list_selector());
-      }
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  template <class Anything>
-  void graph_loader<Graph, Archive, VertexListS>::maybe_load_and_store_local_vertex(Anything)
-  {
-      // Load the original vertex descriptor
-      local_vertex_descriptor local;
-      m_ar >> make_nvp("local", unsafe_serialize(local)); 
-
-      // Load the properties
-      vertex_property_type property;
-      detail::parallel::maybe_load_properties(m_ar, "vertex_property",
-                          property);
-
-      // Add the vertex
-      vertex_descriptor v(process_id(m_pg), add_vertex(property, m_g.base()));
-
-      if (m_g.on_add_vertex)
-        m_g.on_add_vertex(v, m_g);
-
-      // Create the mapping from the "old" local descriptor to the new
-      // local descriptor.
-      m_local_vertices[local] = v.local;
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::maybe_load_and_store_local_vertex(vecS)
-  {
-      // Load the properties
-      vertex_property_type property;
-      detail::parallel::maybe_load_properties(m_ar, "vertex_property",
-                          property);
-
-      // Add the vertex
-      vertex_descriptor v(process_id(m_pg), 
-                          add_vertex(m_g.build_vertex_property(property), 
-                                     m_g.base()));
-
-      if (m_g.on_add_vertex)
-        m_g.on_add_vertex(v, m_g);
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::load_edges()
-  {
-      int E;
-      m_ar >> BOOST_SERIALIZATION_NVP(E);
-
-# ifdef PBGL_SERIALIZE_DEBUG
-      if (is_root())
-          std::cout << "Loading edges\n";
-# endif
-
-      for (int i = 0; i < E; ++i)
-      {
-          local_vertex_descriptor local_src;
-          process_id_type target_owner;
-          local_vertex_descriptor local_tgt;
-
-          m_ar >> make_nvp("source", unsafe_serialize(local_src)); 
-          m_ar >> make_nvp("target_owner", target_owner); 
-          m_ar >> make_nvp("target", unsafe_serialize(local_tgt)); 
-
-          process_id_type new_src_owner = process_id(m_pg);
-          process_id_type new_tgt_owner = m_id_mapping[target_owner];
-
-          vertex_descriptor source(new_src_owner, local_src);
-          vertex_descriptor target(new_tgt_owner, local_tgt);
-
-          edge_property_type properties;
-          detail::parallel::maybe_load_properties(m_ar, "edge_property", properties);
-
-          void* property_ptr = maybe_load_property_ptr(directed_selector());
-          add_edge(source, target, properties, property_ptr, vertex_list_selector());
-      }
-
-      load_in_edges(directed_selector());
-      commit_pending_edges(vertex_list_selector());
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::load_in_edges(bidirectionalS)
-  {
-      std::size_t I;
-      m_ar >> BOOST_SERIALIZATION_NVP(I);
-
-# ifdef PBGL_SERIALIZE_DEBUG
-      if (is_root())
-          std::cout << "Loading in-edges\n";
-# endif
-
-      for (int i = 0; i < I; ++i)
-      {
-          process_id_type src_owner;
-          local_vertex_descriptor local_src;
-          local_vertex_descriptor local_target;
-          void* property_ptr;
-
-          m_ar >> make_nvp("src_owner", src_owner);
-          m_ar >> make_nvp("source", unsafe_serialize(local_src));
-          m_ar >> make_nvp("target", unsafe_serialize(local_target));
-          m_ar >> make_nvp("property_ptr", unsafe_serialize(property_ptr));
-
-          src_owner = m_id_mapping[src_owner];
-
-          vertex_descriptor u(src_owner, local_src);
-          vertex_descriptor v(process_id(m_pg), local_target);
-
-          add_pending_in_edge(u, v, property_ptr, vertex_list_selector());
-      }
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::load_in_edges(directedS)
-  {}
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::add_pending_in_edge(
-      vertex_descriptor u, vertex_descriptor v, void* property_ptr, vecS)
-  {
-      m_pending_in_edges.push_back(pending_in_edge(u,v,property_ptr));
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  template <class Anything>
-  void graph_loader<Graph, Archive, VertexListS>::add_pending_in_edge(
-      vertex_descriptor u, vertex_descriptor v, void* property_ptr, Anything)
-  {
-      // u and v represent the out-edge here, meaning v is local
-      // to us, and u is always remote.
-      m_pending_in_edges.push_back(pending_in_edge(u,v,property_ptr));
-      add_remote_vertex_request(v, u, bidirectionalS());
-  }
-
-  template <class Graph, class Archive, class VertexListS> 
-  template <class Anything>
-  void graph_loader<Graph, Archive, VertexListS>::add_edge(
-      vertex_descriptor u, vertex_descriptor v
-    , edge_property_type const& property, void* property_ptr, Anything)
-  {
-      m_pending_edges.push_back(pending_edge_type(u, v, property, property_ptr));
-      add_remote_vertex_request(u, v, directed_selector());
-  }
-
-  template <class Graph, class Archive, class VertexListS> 
-  void graph_loader<Graph, Archive, VertexListS>::add_remote_vertex_request(
-      vertex_descriptor u, vertex_descriptor v, directedS)
-  {
-      // We have to request the remote vertex.
-      m_requested_vertices[owner(v)].push_back(local(v));
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::add_remote_vertex_request(
-      vertex_descriptor u, vertex_descriptor v, bidirectionalS)
-  {
-      // If the edge spans to another process, we know
-      // that that process has a matching in-edge, so
-      // we can just send our vertex. No requests
-      // necessary.
-      if (owner(v) != m_g.processor())
-      {
-          m_remote_vertices[owner(v)].push_back(local(u));
-          m_requested_vertices[owner(v)].push_back(local(v));
-      }
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::add_edge(
-      vertex_descriptor u, vertex_descriptor v
-    , edge_property_type const& property, void* property_ptr, vecS)
-  {
-      std::pair<local_edge_descriptor, bool> inserted = 
-          detail::parallel::add_local_edge(
-              local(u), local(v)
-            , m_g.build_edge_property(property), m_g.base());
-      BOOST_ASSERT(inserted.second);
-      put(edge_target_processor_id, m_g.base(), inserted.first, owner(v));
-
-      edge_descriptor e(owner(u), owner(v), true, inserted.first);
-
-      if (inserted.second && m_g.on_add_edge)
-        m_g.on_add_edge(e, m_g);
-
-      add_in_edge(e, property_ptr, directed_selector());
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::add_in_edge(
-      edge_descriptor const&, void*, directedS)
-  {}
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::add_in_edge(
-      edge_descriptor const& edge, void* old_property_ptr, bidirectionalS)
-  {
-      if (owner(target(edge, m_g)) == m_g.processor())
-      {
-          detail::parallel::stored_in_edge<local_edge_descriptor>
-              e(m_g.processor(), local(edge));
-          boost::graph_detail::push(get(
-              vertex_in_edges, m_g.base())[local(target(edge, m_g))], e);
-      }
-      else
-      {
-          // We send the (old,new) property pointer pair to
-          // the remote process. This could be optimized to
-          // only send the new one -- the ordering can be
-          // made implicit because the old pointer value is
-          // stored on the remote process.
-          //
-          // Doing that is a little bit more complicated, but
-          // in case it turns out it's important we can do it.
-          void* property_ptr = local(edge).get_property();
-          m_property_ptrs[owner(target(edge, m_g))].push_back(
-              unsafe_pair<void*,void*>(old_property_ptr, property_ptr));
-      }
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::resolve_property_ptrs()
-  {
-# ifdef PBGL_SERIALIZE_DEBUG
-      if (is_root())
-          std::cout << "Resolving property pointers\n";
-# endif
-
-      for (int i = 0; i < num_processes(m_pg); ++i)
-      {
-          std::sort(
-              m_property_ptrs[i].begin(), m_property_ptrs[i].end());
-      }
-
-      boost::parallel::inplace_all_to_all(m_pg, m_property_ptrs);
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::resolve_remote_vertices(directedS)
-  {
-      for (int i = 0; i < num_processes(m_pg); ++i)
-      {
-          std::sort(m_requested_vertices[i].begin(), m_requested_vertices[i].end());
-      }
-
-      boost::parallel::inplace_all_to_all(
-          m_pg, m_requested_vertices, m_remote_vertices);
-
-      for (int i = 0; i < num_processes(m_pg); ++i)
-      {
-          BOOST_FOREACH(serializable_vertex_descriptor& u, m_remote_vertices[i])
-          {
-              u = m_local_vertices[u];
-          }
-      }
-
-      boost::parallel::inplace_all_to_all(m_pg, m_remote_vertices);
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::resolve_remote_vertices(bidirectionalS)
-  {
-# ifdef PBGL_SERIALIZE_DEBUG
-      if (is_root())
-          std::cout << "Resolving remote vertices\n";
-# endif
-
-      for (int i = 0; i < num_processes(m_pg); ++i)
-      {
-          std::sort(m_requested_vertices[i].begin(), m_requested_vertices[i].end());
-          std::sort(m_remote_vertices[i].begin(), m_remote_vertices[i].end());
-
-          BOOST_FOREACH(serializable_vertex_descriptor& u, m_remote_vertices[i])
-          {
-              u = m_local_vertices[u];
-          }
-      }
-
-      boost::parallel::inplace_all_to_all(m_pg, m_remote_vertices);
-
-      for (int i = 0; i < num_processes(m_pg); ++i)
-          BOOST_ASSERT(m_remote_vertices[i].size() == m_requested_vertices[i].size());
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::commit_pending_edges(vecS)
-  {
-      commit_pending_in_edges(directed_selector());
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  template <class Anything>
-  void graph_loader<Graph, Archive, VertexListS>::commit_pending_edges(Anything)
-  {
-      resolve_remote_vertices(directed_selector());
-
-      BOOST_FOREACH(pending_edge_type const& e, m_pending_edges)
-      {
-          vertex_descriptor u = resolve_remote_vertex(e.source);
-          vertex_descriptor v = resolve_remote_vertex(e.target);
-          add_edge(u, v, e.properties, e.property_ptr, vecS());
-      }
-
-      commit_pending_in_edges(directed_selector());
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::commit_pending_in_edges(directedS)
-  {}
-
-  template <class Graph, class Archive, class VertexListS>
-  void graph_loader<Graph, Archive, VertexListS>::commit_pending_in_edges(bidirectionalS)
-  {
-      resolve_property_ptrs();
-
-      BOOST_FOREACH(pending_in_edge const& e, m_pending_in_edges)
-      {
-          vertex_descriptor u = resolve_remote_vertex(e.u, vertex_list_selector());
-          vertex_descriptor v = resolve_remote_vertex(e.v, vertex_list_selector());
-
-          typedef detail::parallel::stored_in_edge<local_edge_descriptor> stored_edge;
-
-          std::vector<unsafe_pair<void*,void*> >::iterator i = std::lower_bound(
-              m_property_ptrs[owner(u)].begin()
-            , m_property_ptrs[owner(u)].end()
-            , unsafe_pair<void*,void*>(e.property_ptr, 0)
-          );
-
-          if (i == m_property_ptrs[owner(u)].end()
-              || i->first != e.property_ptr)
-          {
-              BOOST_ASSERT(false);
-          }
-
-          local_edge_descriptor local_edge(local(u), local(v), i->second);
-          stored_edge edge(owner(u), local_edge);
-          boost::graph_detail::push(
-              get(vertex_in_edges, m_g.base())[local(v)], edge);
-      }
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  typename graph_loader<Graph, Archive, VertexListS>::vertex_descriptor 
-  graph_loader<Graph, Archive, VertexListS>::resolve_remote_vertex(
-      vertex_descriptor u) const
-  {
-      if (owner(u) == process_id(m_pg))
-      { 
-          return vertex_descriptor(
-              process_id(m_pg), m_local_vertices.find(local(u))->second);
-      }
-
-      typename std::vector<serializable_vertex_descriptor>::const_iterator 
-          i = std::lower_bound(
-              m_requested_vertices[owner(u)].begin()
-            , m_requested_vertices[owner(u)].end()
-            , serializable_vertex_descriptor(local(u))
-          );
-
-      if (i == m_requested_vertices[owner(u)].end()
-          || *i != local(u))
-      {
-          BOOST_ASSERT(false);
-      }
-
-      local_vertex_descriptor local =
-          m_remote_vertices[owner(u)][m_requested_vertices[owner(u)].end() - i];
-      return vertex_descriptor(owner(u), local);
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  typename graph_loader<Graph, Archive, VertexListS>::vertex_descriptor 
-  graph_loader<Graph, Archive, VertexListS>::resolve_remote_vertex(
-      vertex_descriptor u, vecS) const
-  {
-      return u;
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  template <class Anything>
-  typename graph_loader<Graph, Archive, VertexListS>::vertex_descriptor 
-  graph_loader<Graph, Archive, VertexListS>::resolve_remote_vertex(
-      vertex_descriptor u, Anything) const
-  {
-      return resolve_remote_vertex(u);
-  }
-
-  template <class Graph, class Archive, class VertexListS>
-  void* 
-  graph_loader<Graph, Archive, VertexListS>::maybe_load_property_ptr(bidirectionalS)
-  {
-      void* ptr;
-      m_ar >> make_nvp("property_ptr", unsafe_serialize(ptr));
-      return ptr;
-  }
-
-template <class Archive, class D>
-void maybe_save_local_descriptor(Archive& ar, D const&, vecS)
-{}
-
-template <class Archive, class D, class NotVecS>
-void maybe_save_local_descriptor(Archive& ar, D const& d, NotVecS)
-{
-    ar << serialization::make_nvp(
-        "local", unsafe_serialize(const_cast<D&>(d)));
-}
-
-template <class Archive>
-void maybe_save_properties(
-    Archive&, char const*, no_property const&)
-{}
-
-template <class Archive, class Tag, class T, class Base>
-void maybe_save_properties(
-    Archive& ar, char const* name, property<Tag, T, Base> const& properties)
-{
-    ar & serialization::make_nvp(name, get_property_value(properties, Tag()));
-    maybe_save_properties(ar, name, static_cast<Base const&>(properties));
-}
-
-template <class Archive, class Graph>
-void save_in_edges(Archive& ar, Graph const& g, directedS)
-{}
-
-// We need to save the edges in the base edge
-// list, and the in_edges that are stored in the
-// vertex_in_edges vertex property.
-template <class Archive, class Graph>
-void save_in_edges(Archive& ar, Graph const& g, bidirectionalS)
-{
-    typedef typename Graph::process_group_type
-        process_group_type;
-    typedef typename process_group_type::process_id_type
-        process_id_type;
-    typedef typename graph_traits<
-        Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename vertex_descriptor::local_descriptor_type 
-        local_vertex_descriptor;
-    typedef typename graph_traits<
-        Graph>::edge_descriptor edge_descriptor;
-
-    process_id_type id = g.processor();
-
-    std::vector<edge_descriptor> saved_in_edges;
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) 
-    {
-        BOOST_FOREACH(edge_descriptor const& e, in_edges(v, g))
-        {
-            // Only save the in_edges that isn't owned by this process.
-            if (owner(e) == id)
-                continue;
-
-            saved_in_edges.push_back(e);
-        }
-    }
-
-    std::size_t I = saved_in_edges.size();
-    ar << BOOST_SERIALIZATION_NVP(I);
-
-    BOOST_FOREACH(edge_descriptor const& e, saved_in_edges)
-    {
-        process_id_type src_owner = owner(source(e,g));
-        local_vertex_descriptor local_src = local(source(e,g));
-        local_vertex_descriptor local_target = local(target(e,g));
-        void* property_ptr = local(e).get_property();
-
-        using serialization::make_nvp;
-
-        ar << make_nvp("src_owner", src_owner);
-        ar << make_nvp("source", unsafe_serialize(local_src));
-        ar << make_nvp("target", unsafe_serialize(local_target));
-        ar << make_nvp("property_ptr", unsafe_serialize(property_ptr));
-    }
-}
-
-template <class Archive, class Edge>
-void maybe_save_property_ptr(Archive&, Edge const&, directedS)
-{}
-
-template <class Archive, class Edge>
-void maybe_save_property_ptr(Archive& ar, Edge const& e, bidirectionalS)
-{
-    void* ptr = local(e).get_property();
-    ar << serialization::make_nvp("property_ptr", unsafe_serialize(ptr));
-}
-
-template <class Archive, class Graph, class DirectedS>
-void save_edges(Archive& ar, Graph const& g, DirectedS)
-{
-    typedef typename Graph::process_group_type
-        process_group_type;
-    typedef typename process_group_type::process_id_type
-        process_id_type;
-    typedef typename graph_traits<
-        Graph>::vertex_descriptor vertex_descriptor;
-
-    typedef typename Graph::edge_property_type edge_property_type;
-
-    int E = num_edges(g);
-    ar << BOOST_SERIALIZATION_NVP(E);
-
-    // For *directed* graphs, we can just save
-    // the edge list and be done.
-    //
-    // For *bidirectional* graphs, we need to also
-    // save the "vertex_in_edges" property map,
-    // because it might contain in-edges that
-    // are not locally owned.
-    BGL_FORALL_EDGES_T(e, g, Graph) 
-    {
-        vertex_descriptor src(source(e, g));
-        vertex_descriptor tgt(target(e, g));
-
-        typename vertex_descriptor::local_descriptor_type
-            local_u(local(src));
-        typename vertex_descriptor::local_descriptor_type
-            local_v(local(tgt));
-
-        process_id_type target_owner = owner(tgt);
-
-        using serialization::make_nvp;
-
-        ar << make_nvp("source", unsafe_serialize(local_u)); 
-        ar << make_nvp("target_owner", target_owner); 
-        ar << make_nvp("target", unsafe_serialize(local_v)); 
-
-        maybe_save_properties(
-            ar, "edge_property"
-          , static_cast<edge_property_type const&>(get(edge_all_t(), g, e))
-        );
-
-        maybe_save_property_ptr(ar, e, DirectedS());
-    }
-
-    save_in_edges(ar, g, DirectedS());
-}
-
-}} // namespace detail::parallel
-
-template <PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template <class IStreamConstructibleArchive>
-void PBGL_DISTRIB_ADJLIST_TYPE::load(std::string const& filename)
-{
-    process_group_type pg = process_group();
-    process_id_type id = process_id(pg);
-
-    synchronize(pg);
-
-    std::vector<int> disk_files = detail::parallel::available_process_files(filename);
-    std::sort(disk_files.begin(), disk_files.end());
-
-    // Negotiate which process gets which file. Serialized.
-    std::vector<int> consumed_files;
-    int picked_file = -1;
-
-    if (id > 0)
-        receive_oob(pg, id-1, 0, consumed_files);
-
-    std::sort(consumed_files.begin(), consumed_files.end());
-    std::vector<int> available_files;
-    std::set_difference(
-        disk_files.begin(), disk_files.end()
-      , consumed_files.begin(), consumed_files.end()
-      , std::back_inserter(available_files)
-    );
-
-    if (available_files.empty())
-        boost::throw_exception(std::runtime_error("no file available"));
-
-    // back() used for debug purposes. Making sure the
-    // ranks are shuffled.
-    picked_file = available_files.back();
-
-# ifdef PBGL_SERIALIZE_DEBUG
-    std::cout << id << " picked " << picked_file << "\n";
-# endif
-
-    consumed_files.push_back(picked_file);
-
-    if (id < num_processes(pg) - 1)
-        send_oob(pg, id+1, 0, consumed_files);
-
-    std::string local_filename = filename + "/" + 
-        lexical_cast<std::string>(picked_file);
-
-    std::ifstream in(local_filename.c_str(), std::ios_base::binary);
-    IStreamConstructibleArchive ar(in);
-
-    detail::parallel::graph_loader<
-        graph_type, IStreamConstructibleArchive, InVertexListS
-    > loader(*this, ar);
-
-# ifdef PBGL_SERIALIZE_DEBUG
-    std::cout << "Process " << id << " done loading.\n";
-# endif
-
-    synchronize(pg);
-}
-
-template <PBGL_DISTRIB_ADJLIST_TEMPLATE_PARMS>
-template <class OStreamConstructibleArchive>
-void PBGL_DISTRIB_ADJLIST_TYPE::save(std::string const& filename) const
-{
-    typedef typename config_type::VertexListS vertex_list_selector;
-
-    process_group_type pg = process_group();
-    process_id_type id = process_id(pg);
-
-    if (filesystem::exists(filename) && !filesystem::is_directory(filename))
-        boost::throw_exception(std::runtime_error("entry exists, but is not a directory"));
-
-    filesystem::remove_all(filename);
-    filesystem::create_directory(filename);
-
-    synchronize(pg);
-
-    std::string local_filename = filename + "/" + 
-        lexical_cast<std::string>(id);
-
-    std::ofstream out(local_filename.c_str(), std::ios_base::binary);
-    OStreamConstructibleArchive ar(out);
-
-    using serialization::make_nvp;
-
-    typename process_group_type::process_size_type num_processes_ = num_processes(pg);
-    ar << make_nvp("num_processes", num_processes_);
-    ar << BOOST_SERIALIZATION_NVP(id);
-    ar << make_nvp("mapping", this->distribution().mapping());
-
-    int V = num_vertices(*this);
-    ar << BOOST_SERIALIZATION_NVP(V);
-
-    BGL_FORALL_VERTICES_T(v, *this, graph_type)
-    {
-        local_vertex_descriptor local_descriptor(local(v));
-        detail::parallel::maybe_save_local_descriptor(
-            ar, local_descriptor, vertex_list_selector());
-        detail::parallel::maybe_save_properties(
-            ar, "vertex_property"
-          , static_cast<vertex_property_type const&>(get(vertex_all_t(), *this, v))
-        );
-    }
-
-    detail::parallel::save_edges(ar, *this, directed_selector());
-
-    ar << make_nvp("distribution", this->distribution());
-}
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_DISTRIBUTED_ADJLIST_SERIALIZATION_070925_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/betweenness_centrality.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/betweenness_centrality.hpp
deleted file mode 100644
index b56367c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/betweenness_centrality.hpp
+++ /dev/null
@@ -1,1700 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_BRANDES_BETWEENNESS_CENTRALITY_HPP
-#define BOOST_GRAPH_PARALLEL_BRANDES_BETWEENNESS_CENTRALITY_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-// #define COMPUTE_PATH_COUNTS_INLINE
-
-#include <boost/graph/betweenness_centrality.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-
-// For additive_reducer
-#include <boost/graph/distributed/distributed_graph_utility.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/named_function_params.hpp>
-
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/graph/distributed/detail/dijkstra_shortest_paths.hpp>
-#include <boost/tuple/tuple.hpp>
-
-// NGE - Needed for minstd_rand at L807, should pass vertex list
-//       or generator instead 
-#include <boost/random/linear_congruential.hpp>
-
-#include <algorithm>
-#include <stack>
-#include <vector>
-
-// Appending reducer
-template <typename T>
-struct append_reducer {
-  BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-      
-  template<typename K>
-  T operator()(const K&) const { return T(); }
-      
-  template<typename K>
-  T operator()(const K&, const T& x, const T& y) const 
-  { 
-    T z(x.begin(), x.end());
-    for (typename T::const_iterator iter = y.begin(); iter != y.end(); ++iter)
-      if (std::find(z.begin(), z.end(), *iter) == z.end())
-        z.push_back(*iter);
-    
-    return z;
-  }
-};
-
-namespace boost {
-
-  namespace serialization {
-
-    // TODO(nge): Write generalized serialization for tuples
-    template<typename Archive, typename T1, typename T2, typename T3, 
-             typename T4>
-    void serialize(Archive & ar,
-                   boost::tuple<T1,T2,T3, T4>& t,
-                   const unsigned int)
-    {
-      ar & boost::tuples::get<0>(t);
-      ar & boost::tuples::get<1>(t);
-      ar & boost::tuples::get<2>(t);
-      ar & boost::tuples::get<3>(t);
-    }
-
-  } // serialization
-
-  template <typename OwnerMap, typename Tuple>
-  class get_owner_of_first_tuple_element {
-
-  public:
-    typedef typename property_traits<OwnerMap>::value_type owner_type;
-    
-    get_owner_of_first_tuple_element(OwnerMap owner) : owner(owner) { }
-
-    owner_type get_owner(Tuple t) { return get(owner, boost::tuples::get<0>(t)); }
-
-  private:
-    OwnerMap owner;
-  };
-
-  template <typename OwnerMap, typename Tuple>
-  typename get_owner_of_first_tuple_element<OwnerMap, Tuple>::owner_type
-  get(get_owner_of_first_tuple_element<OwnerMap, Tuple> o, Tuple t)
-  { return o.get_owner(t); } 
-
-  template <typename OwnerMap>
-  class get_owner_of_first_pair_element {
-
-  public:
-    typedef typename property_traits<OwnerMap>::value_type owner_type;
-    
-    get_owner_of_first_pair_element(OwnerMap owner) : owner(owner) { }
-
-    template <typename Vertex, typename T>
-    owner_type get_owner(std::pair<Vertex, T> p) { return get(owner, p.first); }
-
-  private:
-    OwnerMap owner;
-  };
-
-  template <typename OwnerMap, typename Vertex, typename T>
-  typename get_owner_of_first_pair_element<OwnerMap>::owner_type
-  get(get_owner_of_first_pair_element<OwnerMap> o, std::pair<Vertex, T> p)
-  { return o.get_owner(p); } 
-
-  namespace graph { namespace parallel { namespace detail {
-
-  template<typename DistanceMap, typename IncomingMap>
-  class betweenness_centrality_msg_value
-  {
-    typedef typename property_traits<DistanceMap>::value_type distance_type;
-    typedef typename property_traits<IncomingMap>::value_type incoming_type;
-    typedef typename incoming_type::value_type incoming_value_type;
-
-  public:
-    typedef std::pair<distance_type, incoming_value_type> type;
-    
-    static type create(distance_type dist, incoming_value_type source)
-    { return std::make_pair(dist, source); }
-  };
-
-
-  /************************************************************************/
-  /* Delta-stepping Betweenness Centrality                                */
-  /************************************************************************/
-
-  template<typename Graph, typename DistanceMap, typename IncomingMap, 
-           typename EdgeWeightMap, typename PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , typename IsSettledMap, typename VertexIndexMap
-#endif
-           >
-  class betweenness_centrality_delta_stepping_impl { 
-    // Could inherit from delta_stepping_impl to get run() method
-    // but for the time being it's just reproduced here
-
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::degree_size_type Degree;
-    typedef typename property_traits<EdgeWeightMap>::value_type Dist;
-    typedef typename property_traits<IncomingMap>::value_type IncomingType;
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-      ProcessGroup;
-    
-    typedef std::list<Vertex> Bucket;
-    typedef typename Bucket::iterator BucketIterator;
-    typedef typename std::vector<Bucket*>::size_type BucketIndex;
-
-    typedef betweenness_centrality_msg_value<DistanceMap, IncomingMap> 
-      MessageValue;
-    
-    enum { 
-      // Relax a remote vertex. The message contains a pair<Vertex,
-      // MessageValue>, the first part of which is the vertex whose
-      // tentative distance is being relaxed and the second part
-      // contains either the new distance (if there is no predecessor
-      // map) or a pair with the distance and predecessor.
-      msg_relax 
-    };
-
-  public:
-
-    // Must supply delta, ctor that guesses delta removed 
-    betweenness_centrality_delta_stepping_impl(const Graph& g,
-                                               DistanceMap distance, 
-                                               IncomingMap incoming,
-                                               EdgeWeightMap weight,
-                                               PathCountMap path_count,
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-                                               IsSettledMap is_settled,
-                                               VertexIndexMap vertex_index,
-#endif
-                                               Dist delta);
-    
-    void run(Vertex s);
-
-  private:
-    // Relax the edge (u, v), creating a new best path of distance x.
-    void relax(Vertex u, Vertex v, Dist x);
-
-    // Synchronize all of the processes, by receiving all messages that
-    // have not yet been received.
-    void synchronize()
-    {
-      using boost::parallel::synchronize;
-      synchronize(pg);
-    }
-    
-    // Setup triggers for msg_relax messages
-    void setup_triggers()
-    {
-      using boost::parallel::simple_trigger;
-      simple_trigger(pg, msg_relax, this, 
-                     &betweenness_centrality_delta_stepping_impl::handle_msg_relax);
-    }
-
-    void handle_msg_relax(int /*source*/, int /*tag*/,
-                          const std::pair<Vertex, typename MessageValue::type>& data,
-                          boost::parallel::trigger_receive_context)
-    { relax(data.second.second, data.first, data.second.first); }
-
-    const Graph& g;
-    IncomingMap incoming;
-    DistanceMap distance;
-    EdgeWeightMap weight;
-    PathCountMap path_count;
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-    IsSettledMap is_settled;
-    VertexIndexMap vertex_index;
-#endif
-    Dist delta;
-    ProcessGroup pg;
-    typename property_map<Graph, vertex_owner_t>::const_type owner;
-    typename property_map<Graph, vertex_local_t>::const_type local;
-    
-    // A "property map" that contains the position of each vertex in
-    // whatever bucket it resides in.
-    std::vector<BucketIterator> position_in_bucket;
-    
-    // Bucket data structure. The ith bucket contains all local vertices
-    // with (tentative) distance in the range [i*delta,
-    // (i+1)*delta). 
-    std::vector<Bucket*> buckets;
-    
-    // This "dummy" list is used only so that we can initialize the
-    // position_in_bucket property map with non-singular iterators. This
-    // won't matter for most implementations of the C++ Standard
-    // Library, but it avoids undefined behavior and allows us to run
-    // with library "debug modes".
-    std::list<Vertex> dummy_list;
-    
-    // A "property map" that states which vertices have been deleted
-    // from the bucket in this iteration.
-    std::vector<bool> vertex_was_deleted;
-  };
-
-  template<typename Graph, typename DistanceMap, typename IncomingMap, 
-           typename EdgeWeightMap, typename PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , typename IsSettledMap, typename VertexIndexMap
-#endif
-           >
-  betweenness_centrality_delta_stepping_impl<
-    Graph, DistanceMap, IncomingMap, EdgeWeightMap, PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , IsSettledMap, VertexIndexMap
-#endif
-    >::
-  betweenness_centrality_delta_stepping_impl(const Graph& g,
-                                             DistanceMap distance,
-                                             IncomingMap incoming,
-                                             EdgeWeightMap weight,
-                                             PathCountMap path_count,
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-                                             IsSettledMap is_settled,
-                                             VertexIndexMap vertex_index,
-#endif
-                                             Dist delta)
-    : g(g),
-      incoming(incoming),
-      distance(distance),
-      weight(weight),
-      path_count(path_count),
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-      is_settled(is_settled),
-      vertex_index(vertex_index),
-#endif
-      delta(delta),
-      pg(boost::graph::parallel::process_group_adl(g), boost::parallel::attach_distributed_object()),
-      owner(get(vertex_owner, g)),
-      local(get(vertex_local, g))
-
-  { setup_triggers(); }
-
-  template<typename Graph, typename DistanceMap, typename IncomingMap, 
-           typename EdgeWeightMap, typename PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , typename IsSettledMap, typename VertexIndexMap
-#endif
-           >
-  void
-  betweenness_centrality_delta_stepping_impl<
-    Graph, DistanceMap, IncomingMap, EdgeWeightMap, PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , IsSettledMap, VertexIndexMap
-#endif
-    >::
-  run(Vertex s)
-  {
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-      process_group_type;
-    typename process_group_type::process_id_type id = process_id(pg);
-
-    Dist inf = (std::numeric_limits<Dist>::max)();
-    
-    // None of the vertices are stored in the bucket.
-    position_in_bucket.clear();
-    position_in_bucket.resize(num_vertices(g), dummy_list.end());
-    
-    // None of the vertices have been deleted
-    vertex_was_deleted.clear();
-    vertex_was_deleted.resize(num_vertices(g), false);
-    
-    // No path from s to any other vertex, yet
-    BGL_FORALL_VERTICES_T(v, g, Graph)
-      put(distance, v, inf);
-    
-    // The distance to the starting node is zero
-    if (get(owner, s) == id) 
-      // Put "s" into its bucket (bucket 0)
-      relax(s, s, 0);
-    else
-      // Note that we know the distance to s is zero
-      cache(distance, s, 0);
-    
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-    // Synchronize here to deliver initial relaxation since we don't
-    // synchronize at the beginning of the inner loop any more
-    synchronize(); 
-
-    // Incoming edge count map is an implementation detail and should
-    // be freed as soon as possible so build it here
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-    std::vector<edges_size_type> incoming_edge_countS(num_vertices(g));
-    iterator_property_map<typename std::vector<edges_size_type>::iterator, VertexIndexMap> 
-      incoming_edge_count(incoming_edge_countS.begin(), vertex_index);
-#endif
-
-    BucketIndex max_bucket = (std::numeric_limits<BucketIndex>::max)();
-    BucketIndex current_bucket = 0;
-    do {
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-      // We need to clear the outgoing map after every bucket so just build it here
-      std::vector<IncomingType> outgoingS(num_vertices(g));
-      IncomingMap outgoing(outgoingS.begin(), vertex_index);
-      
-      outgoing.set_reduce(append_reducer<IncomingType>());
-#else
-      // Synchronize with all of the other processes.
-      synchronize();
-#endif    
-  
-      // Find the next bucket that has something in it.
-      while (current_bucket < buckets.size() 
-             && (!buckets[current_bucket] || buckets[current_bucket]->empty()))
-        ++current_bucket;
-      if (current_bucket >= buckets.size())
-        current_bucket = max_bucket;
-      
-      // Find the smallest bucket (over all processes) that has vertices
-      // that need to be processed.
-      using boost::parallel::all_reduce;
-      using boost::parallel::minimum;
-      current_bucket = all_reduce(pg, current_bucket, minimum<BucketIndex>());
-      
-      if (current_bucket == max_bucket)
-        // There are no non-empty buckets in any process; exit. 
-        break;
-      
-      // Contains the set of vertices that have been deleted in the
-      // relaxation of "light" edges. Note that we keep track of which
-      // vertices were deleted with the property map
-      // "vertex_was_deleted".
-      std::vector<Vertex> deleted_vertices;
-      
-      // Repeatedly relax light edges
-      bool nonempty_bucket;
-      do {
-        // Someone has work to do in this bucket.
-        
-        if (current_bucket < buckets.size() && buckets[current_bucket]) {
-          Bucket& bucket = *buckets[current_bucket];
-          // For each element in the bucket
-          while (!bucket.empty()) {
-            Vertex u = bucket.front();
-            
-            // Remove u from the front of the bucket
-            bucket.pop_front();
-            
-            // Insert u into the set of deleted vertices, if it hasn't
-            // been done already.
-            if (!vertex_was_deleted[get(local, u)]) {
-              vertex_was_deleted[get(local, u)] = true;
-              deleted_vertices.push_back(u);
-            }
-            
-            // Relax each light edge. 
-            Dist u_dist = get(distance, u);
-            BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-              if (get(weight, e) <= delta) // light edge 
-                relax(u, target(e, g), u_dist + get(weight, e));
-          }
-        }
-
-        // Synchronize with all of the other processes.
-        synchronize();
-        
-        // Is the bucket empty now?
-        nonempty_bucket = (current_bucket < buckets.size() 
-                           && buckets[current_bucket]
-                           && !buckets[current_bucket]->empty());
-      } while (all_reduce(pg, nonempty_bucket, std::logical_or<bool>()));
-      
-      // Relax heavy edges for each of the vertices that we previously
-      // deleted.
-      for (typename std::vector<Vertex>::iterator iter = deleted_vertices.begin();
-           iter != deleted_vertices.end(); ++iter) {
-        // Relax each heavy edge. 
-        Vertex u = *iter;
-        Dist u_dist = get(distance, u);
-        BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-          if (get(weight, e) > delta) // heavy edge
-            relax(u, target(e, g), u_dist + get(weight, e)); 
-
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-        // Set outgoing paths
-        IncomingType in = get(incoming, u);
-        for (typename IncomingType::iterator pred = in.begin(); pred != in.end(); ++pred) 
-          if (get(owner, *pred) == id) {
-            IncomingType x = get(outgoing, *pred);
-            if (std::find(x.begin(), x.end(), u) == x.end())
-              x.push_back(u);
-            put(outgoing, *pred, x);
-          } else {
-            IncomingType in;
-            in.push_back(u);
-            put(outgoing, *pred, in);
-          }
-
-        // Set incoming edge counts
-        put(incoming_edge_count, u, in.size());
-#endif
-      }
-
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-      synchronize();  // Deliver heavy edge relaxations and outgoing paths
-
-      // Build Queue
-      typedef typename property_traits<PathCountMap>::value_type PathCountType;
-      typedef std::pair<Vertex, PathCountType> queue_value_type;
-      typedef typename property_map<Graph, vertex_owner_t>::const_type OwnerMap;
-      typedef typename get_owner_of_first_pair_element<OwnerMap> IndirectOwnerMap;
-
-      typedef boost::queue<queue_value_type> local_queue_type;
-      typedef boost::graph::distributed::distributed_queue<process_group_type,
-                                                           IndirectOwnerMap,
-                                                           local_queue_type> dist_queue_type;
-
-      IndirectOwnerMap indirect_owner(owner);
-      dist_queue_type Q(pg, indirect_owner);
-
-      // Find sources to initialize queue
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        if (get(is_settled, v) && !(get(outgoing, v).empty())) {
-          put(incoming_edge_count, v, 1); 
-          Q.push(std::make_pair(v, 0)); // Push this vertex with no additional path count
-        }
-      }
-
-      // Set path counts for vertices in this bucket
-      while (!Q.empty()) {
-        queue_value_type t = Q.top(); Q.pop();
-        Vertex v = t.first;
-        PathCountType p = t.second;
-
-        put(path_count, v, get(path_count, v) + p);
-        put(incoming_edge_count, v, get(incoming_edge_count, v) - 1);
-
-        if (get(incoming_edge_count, v) == 0) {
-          IncomingType out = get(outgoing, v);
-          for (typename IncomingType::iterator iter = out.begin(); iter != out.end(); ++iter)
-            Q.push(std::make_pair(*iter, get(path_count, v)));
-        }
-      }
-
-      // Mark the vertices in this bucket settled 
-      for (typename std::vector<Vertex>::iterator iter = deleted_vertices.begin();
-           iter != deleted_vertices.end(); ++iter) 
-        put(is_settled, *iter, true);
-
-      // No need to clear path count map as it is never read/written remotely
-      // No need to clear outgoing map as it is re-alloced every bucket 
-#endif
-      
-      // Go to the next bucket: the current bucket must already be empty.
-      ++current_bucket;
-    } while (true);
-    
-    // Delete all of the buckets.
-    for (typename std::vector<Bucket*>::iterator iter = buckets.begin();
-         iter != buckets.end(); ++iter) {
-      if (*iter) {
-        delete *iter;
-        *iter = 0;
-      }
-    }
-  }
-        
-  template<typename Graph, typename DistanceMap, typename IncomingMap, 
-           typename EdgeWeightMap, typename PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , typename IsSettledMap, typename VertexIndexMap
-#endif
-           >
-  void
-  betweenness_centrality_delta_stepping_impl<
-    Graph, DistanceMap, IncomingMap, EdgeWeightMap, PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           , IsSettledMap, VertexIndexMap
-#endif
-    >::
-  relax(Vertex u, Vertex v, Dist x)
-  {
-
-    if (x <= get(distance, v)) {
-      
-      // We're relaxing the edge to vertex v.
-      if (get(owner, v) == process_id(pg)) {
-        if (x < get(distance, v)) {
-          // Compute the new bucket index for v
-          BucketIndex new_index = static_cast<BucketIndex>(x / delta);
-        
-          // Make sure there is enough room in the buckets data structure.
-          if (new_index >= buckets.size()) buckets.resize(new_index + 1, 0);
-        
-          // Make sure that we have allocated the bucket itself.
-          if (!buckets[new_index]) buckets[new_index] = new Bucket;
-          
-          if (get(distance, v) != (std::numeric_limits<Dist>::max)()
-              && !vertex_was_deleted[get(local, v)]) {
-            // We're moving v from an old bucket into a new one. Compute
-            // the old index, then splice it in.
-            BucketIndex old_index 
-              = static_cast<BucketIndex>(get(distance, v) / delta);
-            buckets[new_index]->splice(buckets[new_index]->end(),
-                                       *buckets[old_index],
-                                       position_in_bucket[get(local, v)]);
-          } else {
-            // We're inserting v into a bucket for the first time. Put it
-            // at the end.
-            buckets[new_index]->push_back(v);
-          }
-          
-          // v is now at the last position in the new bucket
-          position_in_bucket[get(local, v)] = buckets[new_index]->end();
-          --position_in_bucket[get(local, v)];
-          
-          // Update tentative distance information and incoming, path_count
-          if (u != v) put(incoming, v, IncomingType(1, u));
-          put(distance, v, x);
-        }        // u != v covers initial source relaxation and self-loops
-        else if (x == get(distance, v) && u != v) {
-
-          // Add incoming edge if it's not already in the list
-          IncomingType in = get(incoming, v);
-          if (std::find(in.begin(), in.end(), u) == in.end()) {
-            in.push_back(u);
-            put(incoming, v, in);
-          }
-        }
-      } else {
-        // The vertex is remote: send a request to the vertex's owner
-        send(pg, get(owner, v), msg_relax, 
-             std::make_pair(v, MessageValue::create(x, u)));
-
-        // Cache tentative distance information
-        cache(distance, v, x);
-      }
-    }
-  }
-
-  /************************************************************************/
-  /* Shortest Paths function object for betweenness centrality            */
-  /************************************************************************/
-
-  template<typename WeightMap>
-  struct brandes_shortest_paths {
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-
-    brandes_shortest_paths() 
-      : weight(1), delta(0)  { }
-    brandes_shortest_paths(weight_type delta) 
-      : weight(1), delta(delta)  { }
-    brandes_shortest_paths(WeightMap w) 
-      : weight(w), delta(0)  { }
-    brandes_shortest_paths(WeightMap w, weight_type delta) 
-      : weight(w), delta(delta)  { }
-
-    template<typename Graph, typename IncomingMap, typename DistanceMap,
-             typename PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-             , typename IsSettledMap, typename VertexIndexMap
-#endif
-
-             > 
-    void 
-    operator()(Graph& g, 
-               typename graph_traits<Graph>::vertex_descriptor s,
-               IncomingMap incoming,
-               DistanceMap distance,
-               PathCountMap path_count
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-               , IsSettledMap is_settled,
-               VertexIndexMap vertex_index 
-#endif
-               )
-    {  
-      // The "distance" map needs to act like one, retrieving the default
-      // value of infinity.
-      set_property_map_role(vertex_distance, distance);
-      
-      // Only calculate delta the first time operator() is called
-      // This presumes g is the same every time, but so does the fact
-      // that we're reusing the weight map
-      if (delta == 0)
-        set_delta(g);
-      
-      // TODO (NGE): Restructure the code so we don't have to construct
-      //             impl every time?
-      betweenness_centrality_delta_stepping_impl<
-          Graph, DistanceMap, IncomingMap, WeightMap, PathCountMap
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-          , IsSettledMap, VertexIndexMap
-#endif
-            >
-        impl(g, distance, incoming, weight, path_count, 
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-             is_settled, vertex_index, 
-#endif
-             delta);
-
-      impl.run(s);
-    }
-
-  private:
-
-    template <typename Graph>
-    void
-    set_delta(const Graph& g)
-    {
-      using boost::parallel::all_reduce;
-      using boost::parallel::maximum;
-      using std::max;
-
-      typedef typename graph_traits<Graph>::degree_size_type Degree;
-      typedef weight_type Dist;
-
-      // Compute the maximum edge weight and degree
-      Dist max_edge_weight = 0;
-      Degree max_degree = 0;
-      BGL_FORALL_VERTICES_T(u, g, Graph) {
-        max_degree = max BOOST_PREVENT_MACRO_SUBSTITUTION (max_degree, out_degree(u, g));
-        BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-          max_edge_weight = max BOOST_PREVENT_MACRO_SUBSTITUTION (max_edge_weight, get(weight, e));
-      }
-      
-      max_edge_weight = all_reduce(process_group(g), max_edge_weight, maximum<Dist>());
-      max_degree = all_reduce(process_group(g), max_degree, maximum<Degree>());
-      
-      // Take a guess at delta, based on what works well for random
-      // graphs.
-      delta = max_edge_weight / max_degree;
-      if (delta == 0)
-        delta = 1;
-    }
-
-    WeightMap     weight;
-    weight_type   delta;
-  };
-
-  // Perform a single SSSP from the specified vertex and update the centrality map(s)
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename IncomingMap, typename DistanceMap, typename DependencyMap, 
-           typename PathCountMap, 
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-           typename IsSettledMap,
-#endif 
-           typename VertexIndexMap, typename ShortestPaths> 
-  void
-  do_brandes_sssp(const Graph& g, 
-                  CentralityMap centrality,     
-                  EdgeCentralityMap edge_centrality_map,
-                  IncomingMap incoming,
-                  DistanceMap distance,
-                  DependencyMap dependency,
-                  PathCountMap path_count, 
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-                  IsSettledMap is_settled,
-#endif 
-                  VertexIndexMap vertex_index,
-                  ShortestPaths shortest_paths,
-                  typename graph_traits<Graph>::vertex_descriptor s)
-  {
-    using boost::detail::graph::update_centrality;      
-    using boost::graph::parallel::process_group;
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-    typedef typename property_traits<IncomingMap>::value_type incoming_type;
-    typedef typename property_traits<DistanceMap>::value_type distance_type;
-    typedef typename property_traits<DependencyMap>::value_type dependency_type;
-    typedef typename property_traits<PathCountMap>::value_type path_count_type;
-
-    typedef typename incoming_type::iterator incoming_iterator;
-
-    typedef typename property_map<Graph, vertex_owner_t>::const_type OwnerMap;
-    OwnerMap owner = get(vertex_owner, g);
-
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-      process_group_type;
-    process_group_type pg = process_group(g);
-    typename process_group_type::process_id_type id = process_id(pg);
-
-    // TODO: Is it faster not to clear some of these maps?
-    // Initialize for this iteration
-    distance.clear();
-    incoming.clear();
-    path_count.clear();
-    dependency.clear();
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      put(path_count, v, 0);
-      put(dependency, v, 0);
-    }
-
-    if (get(owner, s) == id) {
-      put(incoming, s, incoming_type());
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-      put(path_count, s, 1);
-      put(is_settled, s, true);
-#endif
-    }
-
-    // Execute the shortest paths algorithm. This will be either
-    // a weighted or unweighted customized breadth-first search,
-    shortest_paths(g, s, incoming, distance, path_count
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-                   , is_settled, vertex_index
-#endif 
-                   );
-
-#ifndef COMPUTE_PATH_COUNTS_INLINE
-
-    //
-    // TODO: Optimize case where source has no out-edges
-    //
- 
-    // Count of incoming edges to tell when all incoming edges have been relaxed in 
-    // the induced shortest paths DAG 
-    std::vector<edges_size_type> incoming_edge_countS(num_vertices(g));
-    iterator_property_map<typename std::vector<edges_size_type>::iterator, VertexIndexMap> 
-      incoming_edge_count(incoming_edge_countS.begin(), vertex_index);
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      put(incoming_edge_count, v, get(incoming, v).size());
-    }
-
-    if (get(owner, s) == id) {
-      put(incoming_edge_count, s, 1);
-      put(incoming, s, incoming_type());
-    }
-
-    std::vector<incoming_type> outgoingS(num_vertices(g));
-    iterator_property_map<typename std::vector<incoming_type>::iterator, VertexIndexMap> 
-      outgoing(outgoingS.begin(), vertex_index);
-
-    outgoing.set_reduce(append_reducer<incoming_type>());
-
-    // Mark forward adjacencies in DAG of shortest paths
-
-    // TODO: It's possible to do this using edge flags but it's not currently done this way
-    //       because during traversal of the DAG we would have to examine all out edges
-    //       which would lead to more memory accesses and a larger cache footprint.
-    //
-    //       In the bidirectional graph case edge flags would be an excellent way of marking
-    //       edges in the DAG of shortest paths  
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      incoming_type i = get(incoming, v);
-      for (typename incoming_type::iterator iter = i.begin(); iter != i.end(); ++iter) {
-        if (get(owner, *iter) == id) {
-          incoming_type x = get(outgoing, *iter);
-          if (std::find(x.begin(), x.end(), v) == x.end())
-            x.push_back(v);
-          put(outgoing, *iter, x);
-        } else {
-          incoming_type in;
-          in.push_back(v);
-          put(outgoing, *iter, in);
-        }
-      }
-    }
-
-    synchronize(pg);
-
-    // Traverse DAG induced by forward edges in dependency order and compute path counts
-    {
-      typedef std::pair<vertex_descriptor, path_count_type> queue_value_type;
-      typedef get_owner_of_first_pair_element<OwnerMap> IndirectOwnerMap;
-
-      typedef boost::queue<queue_value_type> local_queue_type;
-      typedef boost::graph::distributed::distributed_queue<process_group_type,
-                                                           IndirectOwnerMap,
-                                                           local_queue_type> dist_queue_type;
-
-      IndirectOwnerMap indirect_owner(owner);
-      dist_queue_type Q(pg, indirect_owner);
-
-      if (get(owner, s) == id)
-        Q.push(std::make_pair(s, 1));
-
-      while (!Q.empty()) {
-        queue_value_type t = Q.top(); Q.pop();
-        vertex_descriptor v = t.first;
-        path_count_type p = t.second;
-
-        put(path_count, v, get(path_count, v) + p);
-        put(incoming_edge_count, v, get(incoming_edge_count, v) - 1);
-
-        if (get(incoming_edge_count, v) == 0) {
-          incoming_type out = get(outgoing, v);
-          for (typename incoming_type::iterator iter = out.begin(); iter != out.end(); ++iter)
-            Q.push(std::make_pair(*iter, get(path_count, v)));
-        }
-      }
-    }
-
-#endif // COMPUTE_PATH_COUNTS_INLINE
-
-    //
-    // Compute dependencies 
-    //    
-
-
-    // Build the distributed_queue
-    // Value type consists of 1) target of update 2) source of update
-    // 3) dependency of source 4) path count of source
-    typedef boost::tuple<vertex_descriptor, vertex_descriptor, dependency_type, path_count_type>
-      queue_value_type;
-    typedef get_owner_of_first_tuple_element<OwnerMap, queue_value_type> IndirectOwnerMap;
-
-    typedef boost::queue<queue_value_type> local_queue_type;
-    typedef boost::graph::distributed::distributed_queue<process_group_type,
-                                                         IndirectOwnerMap,
-                                                         local_queue_type> dist_queue_type;
-
-    IndirectOwnerMap indirect_owner(owner);
-    dist_queue_type Q(pg, indirect_owner);
-
-    // Calculate number of vertices each vertex depends on, when a vertex has been pushed
-    // that number of times then we will update it
-    // AND Request path counts of sources of incoming edges
-    std::vector<dependency_type> dependency_countS(num_vertices(g), 0);
-    iterator_property_map<typename std::vector<dependency_type>::iterator, VertexIndexMap> 
-      dependency_count(dependency_countS.begin(), vertex_index);
-
-    dependency_count.set_reduce(boost::graph::distributed::additive_reducer<dependency_type>());
-
-    path_count.set_max_ghost_cells(0);
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if (get(distance, v) < (std::numeric_limits<distance_type>::max)()) {
-        incoming_type el = get(incoming, v);
-        for (incoming_iterator vw = el.begin(); vw != el.end(); ++vw) {
-          if (get(owner, *vw) == id)
-            put(dependency_count, *vw, get(dependency_count, *vw) + 1);
-          else {
-            put(dependency_count, *vw, 1);
-
-            // Request path counts
-            get(path_count, *vw); 
-          }
-
-          // request() doesn't work here, perhaps because we don't have a copy of this 
-          // ghost cell already?
-        }
-      }
-    }
-
-    synchronize(pg);
-
-    // Push vertices with non-zero distance/path count and zero dependency count
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if (get(distance, v) < (std::numeric_limits<distance_type>::max)()
-          && get(dependency_count, v) == 0) 
-        Q.push(boost::make_tuple(v, v, get(dependency, v), get(path_count, v)));
-    }
-
-    dependency.set_max_ghost_cells(0);
-    while(!Q.empty()) {
-
-      queue_value_type x = Q.top(); Q.pop();
-      vertex_descriptor w = boost::tuples::get<0>(x);
-      vertex_descriptor source = boost::tuples::get<1>(x);
-      dependency_type dep = boost::tuples::get<2>(x);
-      path_count_type pc = boost::tuples::get<3>(x);
-
-      cache(dependency, source, dep);
-      cache(path_count, source, pc);
-
-      if (get(dependency_count, w) != 0)
-        put(dependency_count, w, get(dependency_count, w) - 1);
-
-      if (get(dependency_count, w) == 0) { 
-
-        // Update dependency and centrality of sources of incoming edges
-        incoming_type el = get(incoming, w);
-        for (incoming_iterator vw = el.begin(); vw != el.end(); ++vw) {
-          vertex_descriptor v = *vw;
-
-          BOOST_ASSERT(get(path_count, w) != 0);
-
-          dependency_type factor = dependency_type(get(path_count, v))
-            / dependency_type(get(path_count, w));
-          factor *= (dependency_type(1) + get(dependency, w));
-          
-          if (get(owner, v) == id)
-            put(dependency, v, get(dependency, v) + factor);
-          else
-            put(dependency, v, factor);
-          
-          update_centrality(edge_centrality_map, v, factor);
-        }
-        
-        if (w != s)
-          update_centrality(centrality, w, get(dependency, w));
-
-        // Push sources of edges in incoming edge list
-        for (incoming_iterator vw = el.begin(); vw != el.end(); ++vw)
-          Q.push(boost::make_tuple(*vw, w, get(dependency, w), get(path_count, w)));
-      }
-    }
-  }
-
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename IncomingMap, typename DistanceMap, typename DependencyMap, 
-           typename PathCountMap, typename VertexIndexMap, typename ShortestPaths, 
-           typename Buffer>
-  void 
-  brandes_betweenness_centrality_impl(const Graph& g, 
-                                      CentralityMap centrality,     
-                                      EdgeCentralityMap edge_centrality_map,
-                                      IncomingMap incoming,
-                                      DistanceMap distance,
-                                      DependencyMap dependency,
-                                      PathCountMap path_count, 
-                                      VertexIndexMap vertex_index,
-                                      ShortestPaths shortest_paths,
-                                      Buffer sources)
-  {
-    using boost::detail::graph::init_centrality_map;
-    using boost::detail::graph::divide_centrality_by_two;       
-    using boost::graph::parallel::process_group;
-    
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    typedef typename property_traits<DistanceMap>::value_type distance_type;
-    typedef typename property_traits<DependencyMap>::value_type dependency_type;
-
-    // Initialize centrality
-    init_centrality_map(vertices(g), centrality);
-    init_centrality_map(edges(g), edge_centrality_map);
-
-    // Set the reduction operation on the dependency map to be addition
-    dependency.set_reduce(boost::graph::distributed::additive_reducer<dependency_type>()); 
-    distance.set_reduce(boost::graph::distributed::choose_min_reducer<distance_type>());
-
-    // Don't allow remote procs to write incoming or path_count maps
-    // updating them is handled inside the betweenness_centrality_queue
-    incoming.set_consistency_model(0);
-    path_count.set_consistency_model(0);
-
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-      process_group_type;
-    process_group_type pg = process_group(g);
-
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-    // Build is_settled maps
-    std::vector<bool> is_settledS(num_vertices(g));
-    typedef iterator_property_map<std::vector<bool>::iterator, VertexIndexMap> 
-      IsSettledMap;
-
-    IsSettledMap is_settled(is_settledS.begin(), vertex_index);
-#endif
-
-    if (!sources.empty()) {
-      // DO SSSPs
-      while (!sources.empty()) {
-        do_brandes_sssp(g, centrality, edge_centrality_map, incoming, distance,
-                        dependency, path_count, 
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-                        is_settled,
-#endif 
-                        vertex_index, shortest_paths, sources.top());
-        sources.pop();
-      }
-    } else { // Exact Betweenness Centrality
-      typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-      vertices_size_type n = num_vertices(g);
-      n = boost::parallel::all_reduce(pg, n, std::plus<vertices_size_type>());
-      
-      for (vertices_size_type i = 0; i < n; ++i) {
-        vertex_descriptor v = vertex(i, g);
-
-        do_brandes_sssp(g, centrality, edge_centrality_map, incoming, distance,
-                        dependency, path_count, 
-#ifdef COMPUTE_PATH_COUNTS_INLINE
-                        is_settled,
-#endif 
-                        vertex_index, shortest_paths, v);
-      }
-    }
-
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    const bool is_undirected = 
-      is_convertible<directed_category*, undirected_tag*>::value;
-    if (is_undirected) {
-      divide_centrality_by_two(vertices(g), centrality);
-      divide_centrality_by_two(edges(g), edge_centrality_map);
-    }
-  }
-
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename IncomingMap, typename DistanceMap, typename DependencyMap, 
-           typename PathCountMap, typename VertexIndexMap, typename ShortestPaths,
-           typename Stack>
-  void
-  do_sequential_brandes_sssp(const Graph& g, 
-                             CentralityMap centrality,     
-                             EdgeCentralityMap edge_centrality_map,
-                             IncomingMap incoming,
-                             DistanceMap distance,
-                             DependencyMap dependency,
-                             PathCountMap path_count, 
-                             VertexIndexMap vertex_index,
-                             ShortestPaths shortest_paths,
-                             Stack& ordered_vertices,
-                             typename graph_traits<Graph>::vertex_descriptor v)
-  {
-    using boost::detail::graph::update_centrality;
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    // Initialize for this iteration
-    BGL_FORALL_VERTICES_T(w, g, Graph) {
-      // put(path_count, w, 0);
-      incoming[w].clear();
-      put(dependency, w, 0);
-    }
-
-    put(path_count, v, 1);
-    incoming[v].clear();
-
-    // Execute the shortest paths algorithm. This will be either
-    // Dijkstra's algorithm or a customized breadth-first search,
-    // depending on whether the graph is weighted or unweighted.
-    shortest_paths(g, v, ordered_vertices, incoming, distance,
-                   path_count, vertex_index);
-    
-    while (!ordered_vertices.empty()) {
-      vertex_descriptor w = ordered_vertices.top();
-      ordered_vertices.pop();
-      
-      typedef typename property_traits<IncomingMap>::value_type
-            incoming_type;
-      typedef typename incoming_type::iterator incoming_iterator;
-      typedef typename property_traits<DependencyMap>::value_type 
-        dependency_type;
-      
-      for (incoming_iterator vw = incoming[w].begin();
-           vw != incoming[w].end(); ++vw) {
-        vertex_descriptor v = source(*vw, g);
-        dependency_type factor = dependency_type(get(path_count, v))
-          / dependency_type(get(path_count, w));
-        factor *= (dependency_type(1) + get(dependency, w));
-        put(dependency, v, get(dependency, v) + factor);
-        update_centrality(edge_centrality_map, *vw, factor);
-      }
-      
-      if (w != v) {
-        update_centrality(centrality, w, get(dependency, w));
-      }
-    }
-  }
-
-  // Betweenness Centrality variant that duplicates graph across processors
-  // and parallizes SSSPs
-  // This function expects a non-distributed graph and property-maps
-  template<typename ProcessGroup, typename Graph, 
-           typename CentralityMap, typename EdgeCentralityMap,
-           typename IncomingMap, typename DistanceMap, 
-           typename DependencyMap, typename PathCountMap,
-           typename VertexIndexMap, typename ShortestPaths,
-           typename Buffer>
-  void
-  non_distributed_brandes_betweenness_centrality_impl(const ProcessGroup& pg,
-                                                      const Graph& g,
-                                                      CentralityMap centrality,
-                                                      EdgeCentralityMap edge_centrality_map,
-                                                      IncomingMap incoming, // P
-                                                      DistanceMap distance,         // d
-                                                      DependencyMap dependency,     // delta
-                                                      PathCountMap path_count,      // sigma
-                                                      VertexIndexMap vertex_index,
-                                                      ShortestPaths shortest_paths,
-                                                      Buffer sources)
-  {
-    using boost::detail::graph::init_centrality_map;
-    using boost::detail::graph::divide_centrality_by_two;       
-    using boost::graph::parallel::process_group;
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    typedef ProcessGroup process_group_type;
-
-    typename process_group_type::process_id_type id = process_id(pg);
-    typename process_group_type::process_size_type p = num_processes(pg);
-
-    // Initialize centrality
-    init_centrality_map(vertices(g), centrality);
-    init_centrality_map(edges(g), edge_centrality_map);
-
-    std::stack<vertex_descriptor> ordered_vertices;
-
-    if (!sources.empty()) {
-      std::vector<vertex_descriptor> local_sources;
-
-      for (int i = 0; i < id; ++i) if (!sources.empty()) sources.pop();
-      while (!sources.empty()) {
-        local_sources.push_back(sources.top());
-
-        for (int i = 0; i < p; ++i) if (!sources.empty()) sources.pop();
-      }
-
-      // DO SSSPs
-      for(size_t i = 0; i < local_sources.size(); ++i)
-        do_sequential_brandes_sssp(g, centrality, edge_centrality_map, incoming,
-                                   distance, dependency, path_count, vertex_index,
-                                   shortest_paths, ordered_vertices, local_sources[i]);
-
-    } else { // Exact Betweenness Centrality
-      typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-      vertices_size_type n = num_vertices(g);
-      
-      for (vertices_size_type i = id; i < n; i += p) {
-        vertex_descriptor v = vertex(i, g);
-
-        do_sequential_brandes_sssp(g, centrality, edge_centrality_map, incoming,
-                                   distance, dependency, path_count, vertex_index,
-                                   shortest_paths, ordered_vertices, v);
-      }
-    }
-
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    const bool is_undirected = 
-      is_convertible<directed_category*, undirected_tag*>::value;
-    if (is_undirected) {
-      divide_centrality_by_two(vertices(g), centrality);
-      divide_centrality_by_two(edges(g), edge_centrality_map);
-    }
-
-    // Merge the centrality maps by summing the values at each vertex)
-    // TODO(nge): this copy-out, reduce, copy-in is lame
-    typedef typename property_traits<CentralityMap>::value_type centrality_type;
-    typedef typename property_traits<EdgeCentralityMap>::value_type edge_centrality_type;
-
-    std::vector<centrality_type> centrality_v(num_vertices(g));
-    std::vector<edge_centrality_type> edge_centrality_v;
-    edge_centrality_v.reserve(num_edges(g));
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      centrality_v[get(vertex_index, v)] = get(centrality, v);
-    }
-    
-    // Skip when EdgeCentralityMap is a dummy_property_map
-    if (!is_same<EdgeCentralityMap, dummy_property_map>::value) {
-      BGL_FORALL_EDGES_T(e, g, Graph) {
-        edge_centrality_v.push_back(get(edge_centrality_map, e));
-      }
-      // NGE: If we trust that the order of elements in the vector isn't changed in the
-      //      all_reduce below then this method avoids the need for an edge index map
-    }
-
-    using boost::parallel::all_reduce;
-
-    all_reduce(pg, &centrality_v[0], &centrality_v[centrality_v.size()],
-               &centrality_v[0], std::plus<centrality_type>());
-
-    if (edge_centrality_v.size()) 
-      all_reduce(pg, &edge_centrality_v[0], &edge_centrality_v[edge_centrality_v.size()],
-                 &edge_centrality_v[0], std::plus<edge_centrality_type>());
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      put(centrality, v, centrality_v[get(vertex_index, v)]);
-    }
-
-    // Skip when EdgeCentralityMap is a dummy_property_map
-    if (!is_same<EdgeCentralityMap, dummy_property_map>::value) {
-      int i = 0;
-      BGL_FORALL_EDGES_T(e, g, Graph) {
-        put(edge_centrality_map, e, edge_centrality_v[i]);
-        ++i;
-      }
-    }
-  }
-
-} } } // end namespace graph::parallel::detail
-
-template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-         typename IncomingMap, typename DistanceMap, typename DependencyMap, 
-         typename PathCountMap, typename VertexIndexMap, typename Buffer>
-void 
-brandes_betweenness_centrality(const Graph& g, 
-                               CentralityMap centrality,
-                               EdgeCentralityMap edge_centrality_map,
-                               IncomingMap incoming, 
-                               DistanceMap distance, 
-                               DependencyMap dependency,     
-                               PathCountMap path_count,   
-                               VertexIndexMap vertex_index,
-                               Buffer sources,
-                               typename property_traits<DistanceMap>::value_type delta
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  typedef typename property_traits<DistanceMap>::value_type distance_type;
-  typedef static_property_map<distance_type> WeightMap;
-
-  graph::parallel::detail::brandes_shortest_paths<WeightMap> 
-    shortest_paths(delta);
-
-  graph::parallel::detail::brandes_betweenness_centrality_impl(g, centrality, 
-                                                               edge_centrality_map,
-                                                               incoming, distance,
-                                                               dependency, path_count,
-                                                               vertex_index, 
-                                                               shortest_paths,
-                                                               sources);
-}
-
-template<typename Graph, typename CentralityMap, typename EdgeCentralityMap, 
-         typename IncomingMap, typename DistanceMap, typename DependencyMap, 
-         typename PathCountMap, typename VertexIndexMap, typename WeightMap, 
-         typename Buffer>    
-void 
-brandes_betweenness_centrality(const Graph& g, 
-                               CentralityMap centrality,
-                               EdgeCentralityMap edge_centrality_map,
-                               IncomingMap incoming, 
-                               DistanceMap distance, 
-                               DependencyMap dependency,
-                               PathCountMap path_count, 
-                               VertexIndexMap vertex_index,
-                               Buffer sources,
-                               typename property_traits<WeightMap>::value_type delta,
-                               WeightMap weight_map
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  graph::parallel::detail::brandes_shortest_paths<WeightMap> shortest_paths(weight_map, delta);
-
-  graph::parallel::detail::brandes_betweenness_centrality_impl(g, centrality, 
-                                                               edge_centrality_map,
-                                                               incoming, distance,
-                                                               dependency, path_count,
-                                                               vertex_index, 
-                                                               shortest_paths,
-                                                               sources);
-}
-
-namespace graph { namespace parallel { namespace detail {
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename WeightMap, typename VertexIndexMap, typename Buffer>
-  void 
-  brandes_betweenness_centrality_dispatch2(const Graph& g,
-                                           CentralityMap centrality,
-                                           EdgeCentralityMap edge_centrality_map,
-                                           WeightMap weight_map,
-                                           VertexIndexMap vertex_index,
-                                           Buffer sources,
-                                           typename property_traits<WeightMap>::value_type delta)
-  {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename mpl::if_c<(is_same<CentralityMap, 
-                                        dummy_property_map>::value),
-                                         EdgeCentralityMap, 
-                               CentralityMap>::type a_centrality_map;
-    typedef typename property_traits<a_centrality_map>::value_type 
-      centrality_type;
-
-    typename graph_traits<Graph>::vertices_size_type V = num_vertices(g);
-
-    std::vector<std::vector<vertex_descriptor> > incoming(V);
-    std::vector<centrality_type> distance(V);
-    std::vector<centrality_type> dependency(V);
-    std::vector<degree_size_type> path_count(V);
-
-    brandes_betweenness_centrality(
-      g, centrality, edge_centrality_map,
-      make_iterator_property_map(incoming.begin(), vertex_index),
-      make_iterator_property_map(distance.begin(), vertex_index),
-      make_iterator_property_map(dependency.begin(), vertex_index),
-      make_iterator_property_map(path_count.begin(), vertex_index),
-      vertex_index, unwrap_ref(sources), delta,
-      weight_map);
-  }
-  
-  // TODO: Should the type of the distance and dependency map depend on the 
-  //       value type of the centrality map?
-  template<typename Graph, typename CentralityMap, typename EdgeCentralityMap,
-           typename VertexIndexMap, typename Buffer>
-  void 
-  brandes_betweenness_centrality_dispatch2(const Graph& g,
-                                           CentralityMap centrality,
-                                           EdgeCentralityMap edge_centrality_map,
-                                           VertexIndexMap vertex_index,
-                                           Buffer sources,
-                                           typename graph_traits<Graph>::edges_size_type delta)
-  {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    typename graph_traits<Graph>::vertices_size_type V = num_vertices(g);
-    
-    std::vector<std::vector<vertex_descriptor> > incoming(V);
-    std::vector<edges_size_type> distance(V);
-    std::vector<edges_size_type> dependency(V);
-    std::vector<degree_size_type> path_count(V);
-
-    brandes_betweenness_centrality(
-      g, centrality, edge_centrality_map,
-      make_iterator_property_map(incoming.begin(), vertex_index),
-      make_iterator_property_map(distance.begin(), vertex_index),
-      make_iterator_property_map(dependency.begin(), vertex_index),
-      make_iterator_property_map(path_count.begin(), vertex_index),
-      vertex_index, unwrap_ref(sources), delta); 
-  }
-
-  template<typename WeightMap>
-  struct brandes_betweenness_centrality_dispatch1
-  {
-    template<typename Graph, typename CentralityMap, typename EdgeCentralityMap, 
-             typename VertexIndexMap, typename Buffer>
-    static void 
-    run(const Graph& g, CentralityMap centrality, EdgeCentralityMap edge_centrality_map, 
-        VertexIndexMap vertex_index, Buffer sources,
-        typename property_traits<WeightMap>::value_type delta, WeightMap weight_map) 
-    {
-      boost::graph::parallel::detail::brandes_betweenness_centrality_dispatch2(
-       g, centrality, edge_centrality_map, weight_map, vertex_index, sources, delta);
-    }
-  };
-
-  template<>
-  struct brandes_betweenness_centrality_dispatch1<boost::param_not_found> 
-  {
-    template<typename Graph, typename CentralityMap, typename EdgeCentralityMap, 
-             typename VertexIndexMap, typename Buffer>
-    static void 
-    run(const Graph& g, CentralityMap centrality, EdgeCentralityMap edge_centrality_map, 
-        VertexIndexMap vertex_index, Buffer sources,
-        typename graph_traits<Graph>::edges_size_type delta,
-        boost::param_not_found)
-    {
-      boost::graph::parallel::detail::brandes_betweenness_centrality_dispatch2(
-       g, centrality, edge_centrality_map, vertex_index, sources, delta);
-    }
-  };
-
-} } } // end namespace graph::parallel::detail
-
-template<typename Graph, typename Param, typename Tag, typename Rest>
-void 
-brandes_betweenness_centrality(const Graph& g, 
-                               const bgl_named_params<Param,Tag,Rest>& params
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  typedef bgl_named_params<Param,Tag,Rest> named_params;
-
-  typedef queue<typename graph_traits<Graph>::vertex_descriptor> queue_t;
-  queue_t q;
-
-  typedef typename get_param_type<edge_weight_t, named_params>::type ew_param;
-  typedef typename detail::choose_impl_result<mpl::true_, Graph, ew_param, edge_weight_t>::type ew;
-  graph::parallel::detail::brandes_betweenness_centrality_dispatch1<ew>::run(
-    g, 
-    choose_param(get_param(params, vertex_centrality), 
-                 dummy_property_map()),
-    choose_param(get_param(params, edge_centrality), 
-                 dummy_property_map()),
-    choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-    choose_param(get_param(params, buffer_param_t()), boost::ref(q)),
-    choose_param(get_param(params, lookahead_t()), 0),
-    choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
-}
-
-template<typename Graph, typename CentralityMap>
-void 
-brandes_betweenness_centrality(const Graph& g, CentralityMap centrality
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  typedef queue<typename graph_traits<Graph>::vertex_descriptor> queue_t;
-  queue_t q;
-
-  boost::graph::parallel::detail::brandes_betweenness_centrality_dispatch2(
-    g, centrality, dummy_property_map(), get(vertex_index, g), boost::ref(q), 0);
-}
-
-template<typename Graph, typename CentralityMap, typename EdgeCentralityMap>
-void 
-brandes_betweenness_centrality(const Graph& g, CentralityMap centrality,
-                               EdgeCentralityMap edge_centrality_map
-                               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  typedef queue<int> queue_t;
-  queue_t q;
-
-  boost::graph::parallel::detail::brandes_betweenness_centrality_dispatch2(
-    g, centrality, edge_centrality_map, get(vertex_index, g), boost::ref(q), 0);
-}
-  
-template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-         typename EdgeCentralityMap, typename IncomingMap, typename DistanceMap, 
-         typename DependencyMap, typename PathCountMap, typename VertexIndexMap, 
-         typename Buffer>
-void 
-non_distributed_brandes_betweenness_centrality(const ProcessGroup& pg,
-                                               const Graph& g, 
-                                               CentralityMap centrality,
-                                               EdgeCentralityMap edge_centrality_map,
-                                               IncomingMap incoming, 
-                                               DistanceMap distance, 
-                                               DependencyMap dependency,     
-                                               PathCountMap path_count,      
-                                               VertexIndexMap vertex_index,
-                                               Buffer sources)
-{
-  detail::graph::brandes_unweighted_shortest_paths shortest_paths;
-  
-  graph::parallel::detail::non_distributed_brandes_betweenness_centrality_impl(pg, g, centrality, 
-                                                                               edge_centrality_map,
-                                                                               incoming, distance,
-                                                                               dependency, path_count,
-                                                                               vertex_index, 
-                                                                               shortest_paths,
-                                                                               sources);
-}
-  
-template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-         typename EdgeCentralityMap, typename IncomingMap, typename DistanceMap, 
-         typename DependencyMap, typename PathCountMap, typename VertexIndexMap, 
-         typename WeightMap, typename Buffer>
-void 
-non_distributed_brandes_betweenness_centrality(const ProcessGroup& pg,
-                                               const Graph& g, 
-                                               CentralityMap centrality,
-                                               EdgeCentralityMap edge_centrality_map,
-                                               IncomingMap incoming, 
-                                               DistanceMap distance, 
-                                               DependencyMap dependency,
-                                               PathCountMap path_count, 
-                                               VertexIndexMap vertex_index,
-                                               WeightMap weight_map,
-                                               Buffer sources)
-{
-  detail::graph::brandes_dijkstra_shortest_paths<WeightMap> shortest_paths(weight_map);
-
-  graph::parallel::detail::non_distributed_brandes_betweenness_centrality_impl(pg, g, centrality, 
-                                                                               edge_centrality_map,
-                                                                               incoming, distance,
-                                                                               dependency, path_count,
-                                                                               vertex_index, 
-                                                                               shortest_paths,
-                                                                               sources);
-}
-
-namespace detail { namespace graph {
-  template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-           typename EdgeCentralityMap, typename WeightMap, typename VertexIndexMap,
-           typename Buffer>
-  void 
-  non_distributed_brandes_betweenness_centrality_dispatch2(const ProcessGroup& pg,
-                                                           const Graph& g,
-                                                           CentralityMap centrality,
-                                                           EdgeCentralityMap edge_centrality_map,
-                                                           WeightMap weight_map,
-                                                           VertexIndexMap vertex_index,
-                                                           Buffer sources)
-  {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    typedef typename mpl::if_c<(is_same<CentralityMap, 
-                                        dummy_property_map>::value),
-                                         EdgeCentralityMap, 
-                               CentralityMap>::type a_centrality_map;
-    typedef typename property_traits<a_centrality_map>::value_type 
-      centrality_type;
-
-    typename graph_traits<Graph>::vertices_size_type V = num_vertices(g);
-    
-    std::vector<std::vector<edge_descriptor> > incoming(V);
-    std::vector<centrality_type> distance(V);
-    std::vector<centrality_type> dependency(V);
-    std::vector<degree_size_type> path_count(V);
-
-    non_distributed_brandes_betweenness_centrality(
-      pg, g, centrality, edge_centrality_map,
-      make_iterator_property_map(incoming.begin(), vertex_index),
-      make_iterator_property_map(distance.begin(), vertex_index),
-      make_iterator_property_map(dependency.begin(), vertex_index),
-      make_iterator_property_map(path_count.begin(), vertex_index),
-      vertex_index, weight_map, unwrap_ref(sources));
-  }
-  
-
-  template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-           typename EdgeCentralityMap, typename VertexIndexMap, typename Buffer>
-  void 
-  non_distributed_brandes_betweenness_centrality_dispatch2(const ProcessGroup& pg,
-                                                           const Graph& g,
-                                                           CentralityMap centrality,
-                                                           EdgeCentralityMap edge_centrality_map,
-                                                           VertexIndexMap vertex_index,
-                                                           Buffer sources)
-  {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    typedef typename mpl::if_c<(is_same<CentralityMap, 
-                                        dummy_property_map>::value),
-                                         EdgeCentralityMap, 
-                               CentralityMap>::type a_centrality_map;
-    typedef typename property_traits<a_centrality_map>::value_type 
-      centrality_type;
-
-    typename graph_traits<Graph>::vertices_size_type V = num_vertices(g);
-    
-    std::vector<std::vector<edge_descriptor> > incoming(V);
-    std::vector<centrality_type> distance(V);
-    std::vector<centrality_type> dependency(V);
-    std::vector<degree_size_type> path_count(V);
-
-    non_distributed_brandes_betweenness_centrality(
-      pg, g, centrality, edge_centrality_map,
-      make_iterator_property_map(incoming.begin(), vertex_index),
-      make_iterator_property_map(distance.begin(), vertex_index),
-      make_iterator_property_map(dependency.begin(), vertex_index),
-      make_iterator_property_map(path_count.begin(), vertex_index),
-      vertex_index, unwrap_ref(sources));
-  }
-
-  template<typename WeightMap>
-  struct non_distributed_brandes_betweenness_centrality_dispatch1
-  {
-    template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-             typename EdgeCentralityMap, typename VertexIndexMap, typename Buffer>
-    static void 
-    run(const ProcessGroup& pg, const Graph& g, CentralityMap centrality, 
-        EdgeCentralityMap edge_centrality_map, VertexIndexMap vertex_index,
-        Buffer sources, WeightMap weight_map)
-    {
-      non_distributed_brandes_betweenness_centrality_dispatch2(pg, g, centrality, edge_centrality_map,
-                                                               weight_map, vertex_index, sources);
-    }
-  };
-
-  template<>
-  struct non_distributed_brandes_betweenness_centrality_dispatch1<param_not_found>
-  {
-    template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-             typename EdgeCentralityMap, typename VertexIndexMap, typename Buffer>
-    static void 
-    run(const ProcessGroup& pg, const Graph& g, CentralityMap centrality, 
-        EdgeCentralityMap edge_centrality_map, VertexIndexMap vertex_index,
-        Buffer sources, param_not_found)
-    {
-      non_distributed_brandes_betweenness_centrality_dispatch2(pg, g, centrality, edge_centrality_map,
-                                                               vertex_index, sources);
-    }
-  };
-
-} } // end namespace detail::graph
-
-template<typename ProcessGroup, typename Graph, typename Param, typename Tag, typename Rest>
-void 
-non_distributed_brandes_betweenness_centrality(const ProcessGroup& pg, const Graph& g, 
-                                               const bgl_named_params<Param,Tag,Rest>& params)
-{
-  typedef bgl_named_params<Param,Tag,Rest> named_params;
-
-  typedef queue<int> queue_t;
-  queue_t q;
-
-  typedef typename get_param_type<edge_weight_t, named_params>::type ew_param;
-  typedef typename detail::choose_impl_result<mpl::true_, Graph, ew_param, edge_weight_t>::type ew;
-  detail::graph::non_distributed_brandes_betweenness_centrality_dispatch1<ew>::run(
-    pg, g, 
-    choose_param(get_param(params, vertex_centrality), 
-                 dummy_property_map()),
-    choose_param(get_param(params, edge_centrality), 
-                 dummy_property_map()),
-    choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-    choose_param(get_param(params, buffer_param_t()),  boost::ref(q)),
-    choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
-}
-
-template<typename ProcessGroup, typename Graph, typename CentralityMap>
-void 
-non_distributed_brandes_betweenness_centrality(const ProcessGroup& pg, const Graph& g, 
-                                               CentralityMap centrality)
-{
-  typedef queue<int> queue_t;
-  queue_t q;
-
-  detail::graph::non_distributed_brandes_betweenness_centrality_dispatch2(
-    pg, g, centrality, dummy_property_map(), get(vertex_index, g), boost::ref(q));
-}
-
-template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-         typename Buffer>
-void 
-non_distributed_brandes_betweenness_centrality(const ProcessGroup& pg, const Graph& g, 
-                                               CentralityMap centrality, Buffer sources)
-{
-  detail::graph::non_distributed_brandes_betweenness_centrality_dispatch2(
-    pg, g, centrality, dummy_property_map(), get(vertex_index, g), sources);
-}
-
-template<typename ProcessGroup, typename Graph, typename CentralityMap, 
-         typename EdgeCentralityMap, typename Buffer>
-void 
-non_distributed_brandes_betweenness_centrality(const ProcessGroup& pg, const Graph& g, 
-                                               CentralityMap centrality,
-                                               EdgeCentralityMap edge_centrality_map, 
-                                               Buffer sources)
-{
-  detail::graph::non_distributed_brandes_betweenness_centrality_dispatch2(
-    pg, g, centrality, edge_centrality_map, get(vertex_index, g), sources);
-}
-
-// Compute the central point dominance of a graph.
-// TODO: Make sure central point dominance works in parallel case
-template<typename Graph, typename CentralityMap>
-typename property_traits<CentralityMap>::value_type
-central_point_dominance(const Graph& g, CentralityMap centrality
-                        BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  using std::max;
-
-  typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-  typedef typename property_traits<CentralityMap>::value_type centrality_type;
-  typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-
-  typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-    process_group_type;
-  process_group_type pg = boost::graph::parallel::process_group(g);
-
-  vertices_size_type n = num_vertices(g);
-
-  using boost::parallel::all_reduce;  
-  n = all_reduce(pg, n, std::plus<vertices_size_type>());
-
-  // Find max centrality
-  centrality_type max_centrality(0);
-  vertex_iterator v, v_end;
-  for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-    max_centrality = (max)(max_centrality, get(centrality, *v));
-  }
-
-  // All reduce to get global max centrality
-  max_centrality = all_reduce(pg, max_centrality, boost::parallel::maximum<centrality_type>());
-
-  // Compute central point dominance
-  centrality_type sum(0);
-  for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-    sum += (max_centrality - get(centrality, *v));
-  }
-
-  sum = all_reduce(pg, sum, std::plus<centrality_type>());
-
-  return sum/(n-1);
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_PARALLEL_BRANDES_BETWEENNESS_CENTRALITY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/boman_et_al_graph_coloring.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/boman_et_al_graph_coloring.hpp
deleted file mode 100644
index 4bdd9c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/boman_et_al_graph_coloring.hpp
+++ /dev/null
@@ -1,371 +0,0 @@
-// Copyright (C) 2005-2008 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_BOMAN_ET_AL_GRAPH_COLORING_HPP
-#define BOOST_GRAPH_DISTRIBUTED_BOMAN_ET_AL_GRAPH_COLORING_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <functional>
-#include <vector>
-#include <utility>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/optional.hpp>
-#include <boost/assert.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/properties.hpp>
-
-#ifdef PBGL_ACCOUNTING
-#  include <boost/graph/accounting.hpp>
-#endif // PBGL_ACCOUNTING
-
-namespace boost { namespace graph { namespace distributed {
-
-/**************************************************************************
- * This source file implements the distributed graph coloring algorithm   *
- * by Boman et al in:                                                     *
- *                                                                        *
- *   Erik G. Boman, Doruk Bozdag, Umit Catalyurek, Assefaw H. Gebremedhin,*
- *   and Fredrik Manne. A Scalable Parallel Graph Coloring Algorithm for  *
- *   Distributed Memory Computers. [unpublished preprint?]                *
- *                                                                        *
- **************************************************************************/
-
-#ifdef PBGL_ACCOUNTING
-struct boman_et_al_graph_coloring_stats_t
-{
-  /* The size of the blocks to step through (i.e., the parameter s). */
-  std::size_t block_size;
-  
-  /* Total wall-clock time used by the algorithm.*/
-  accounting::time_type execution_time;
-
-  /* The number of conflicts that occurred during execution. */
-  std::size_t conflicts;
-
-  /* The number of supersteps. */
-  std::size_t supersteps;
-
-  /* The number of colors used. */
-  std::size_t num_colors;
-
-  template<typename OutputStream>
-  void print(OutputStream& out)
-  {
-    out << "Problem = \"Coloring\"\n"
-        << "Algorithm = \"Boman et al\"\n"
-        << "Function = boman_et_al_graph_coloring\n"
-        << "(P) Block size = " << block_size << "\n"
-        << "Wall clock time = " << accounting::print_time(execution_time) 
-        << "\nConflicts = " << conflicts << "\n"
-        << "Supersteps = " << supersteps << "\n"
-        << "(R) Colors = " << num_colors << "\n";
-  }
-};
-
-static boman_et_al_graph_coloring_stats_t boman_et_al_graph_coloring_stats;
-#endif
-
-namespace detail {
-  template<typename T>
-  struct graph_coloring_reduce
-  {
-    BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-
-    template<typename Key>
-    T operator()(const Key&) const { return (std::numeric_limits<T>::max)(); }
-
-    template<typename Key> T operator()(const Key&, T, T y) const { return y; }
-  };
-}
-
-template<typename Color>
-struct first_fit_color
-{
-  template<typename T>
-  Color operator()(const std::vector<T>& marked, T marked_true)
-  {
-    Color k = 0;
-    while (k < (Color)marked.size() && marked[k] == marked_true)
-      ++k;
-    return k;
-  }
-};
-
-template<typename DistributedGraph, typename ColorMap, typename ChooseColor,
-         typename VertexOrdering, typename VertexIndexMap>
-typename property_traits<ColorMap>::value_type
-boman_et_al_graph_coloring
-  (const DistributedGraph& g,
-   ColorMap color,
-   typename graph_traits<DistributedGraph>::vertices_size_type s,
-   ChooseColor choose_color,
-   VertexOrdering ordering, VertexIndexMap vertex_index)
-{
-  using namespace boost::graph::parallel;
-  using boost::parallel::all_reduce;
-
-  typename property_map<DistributedGraph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-  typedef typename process_group_type<DistributedGraph>::type 
-    process_group_type;
-  typedef typename process_group_type::process_id_type process_id_type;
-  typedef typename graph_traits<DistributedGraph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<DistributedGraph>::vertices_size_type 
-    vertices_size_type;
-  typedef typename property_traits<ColorMap>::value_type color_type;
-  typedef unsigned long long iterations_type;
-  typedef typename std::vector<Vertex>::iterator vertex_set_iterator;
-  typedef std::pair<Vertex, color_type> message_type;
-
-#ifdef PBGL_ACCOUNTING
-  boman_et_al_graph_coloring_stats.block_size = s;
-  boman_et_al_graph_coloring_stats.execution_time = accounting::get_time();
-  boman_et_al_graph_coloring_stats.conflicts = 0;
-  boman_et_al_graph_coloring_stats.supersteps = 0;
-#endif
-
-  // Initialize color map
-  color_type no_color = (std::numeric_limits<color_type>::max)();
-  BGL_FORALL_VERTICES_T(v, g, DistributedGraph)
-    put(color, v, no_color);
-  color.set_reduce(detail::graph_coloring_reduce<color_type>());
-  
-  // Determine if we'll be using synchronous or asynchronous communication.
-  typedef typename process_group_type::communication_category
-    communication_category;
-  static const bool asynchronous = 
-    is_convertible<communication_category, boost::parallel::immediate_process_group_tag>::value;
-  process_group_type pg = process_group(g);
-
-  // U_i <- V_i
-  std::vector<Vertex> vertices_to_color(vertices(g).first, vertices(g).second);
-
-  iterations_type iter_num = 1, outer_iter_num = 1;
-  std::vector<iterations_type> marked;
-  std::vector<iterations_type> marked_conflicting(num_vertices(g), 0);
-  std::vector<bool> sent_to_processors;
-
-  std::size_t rounds = vertices_to_color.size() / s 
-    + (vertices_to_color.size() % s == 0? 0 : 1);
-  rounds = all_reduce(pg, rounds, boost::parallel::maximum<std::size_t>());
-
-#ifdef PBGL_GRAPH_COLORING_DEBUG
-  std::cerr << "Number of rounds = " << rounds << std::endl;
-#endif
-
-  while (rounds > 0) {
-    if (!vertices_to_color.empty()) {
-      // Set of conflicting vertices
-      std::vector<Vertex> conflicting_vertices;
-
-      vertex_set_iterator first = vertices_to_color.begin();
-      while (first != vertices_to_color.end()) {
-        // For each subset of size s (or smaller for the last subset)
-        vertex_set_iterator start = first;
-        for (vertices_size_type counter = s; 
-             first != vertices_to_color.end() && counter > 0;
-             ++first, --counter) {
-          // This vertex hasn't been sent to anyone yet
-          sent_to_processors.assign(num_processes(pg), false);
-          sent_to_processors[process_id(pg)] = true;
-
-          // Mark all of the colors that we see
-          BGL_FORALL_OUTEDGES_T(*first, e, g, DistributedGraph) {
-            color_type k = get(color, target(e, g));
-            if (k != no_color) {
-              if (k >= (color_type)marked.size()) marked.resize(k + 1, 0);
-              marked[k] = iter_num;
-            }
-          }
-
-          // Find a color for this vertex
-          put(color, *first, choose_color(marked, iter_num));
-
-#ifdef PBGL_GRAPH_COLORING_DEBUG
-          std::cerr << "Chose color " << get(color, *first) << " for vertex "
-                    << *first << std::endl;
-#endif
-
-          // Send this vertex's color to the owner of the edge target.
-          BGL_FORALL_OUTEDGES_T(*first, e, g, DistributedGraph) {
-            if (!sent_to_processors[get(owner, target(e, g))]) {
-              send(pg, get(owner, target(e, g)), 17, 
-                   message_type(source(e, g), get(color, source(e, g))));
-              sent_to_processors[get(owner, target(e, g))] = true;
-            }
-          }
-
-          ++iter_num;
-        }
-
-        // Synchronize for non-immediate process groups.
-        if (!asynchronous) { 
-          --rounds;
-          synchronize(pg);
-        }
-
-        // Receive boundary colors from other processors
-        while (optional<std::pair<process_id_type, int> > stp = probe(pg)) {
-          BOOST_ASSERT(stp->second == 17);
-          message_type msg;
-          receive(pg, stp->first, stp->second, msg);
-          cache(color, msg.first, msg.second);
-#ifdef PBGL_GRAPH_COLORING_DEBUG
-          std::cerr << "Cached color " << msg.second << " for vertex " 
-                    << msg.first << std::endl;
-#endif
-        }
-
-        // Compute the set of conflicting vertices
-        // [start, first) contains all vertices in this subset
-        for (vertex_set_iterator vi = start; vi != first; ++vi) {
-          Vertex v = *vi;
-          BGL_FORALL_OUTEDGES_T(v, e, g, DistributedGraph) {
-            Vertex w = target(e, g);
-            if (get(owner, w) != process_id(pg) // boundary vertex
-                && marked_conflicting[get(vertex_index, v)] != outer_iter_num
-                && get(color, v) == get(color, w)
-                && ordering(v, w)) {
-              conflicting_vertices.push_back(v);
-              marked_conflicting[get(vertex_index, v)] = outer_iter_num;
-              put(color, v, no_color);
-#ifdef PBGL_GRAPH_COLORING_DEBUG
-              std::cerr << "Vertex " << v << " has a conflict with vertex "
-                        << w << std::endl;
-#endif
-              break;
-            }
-          }
-        }
-
-#ifdef PBGL_ACCOUNTING
-        boman_et_al_graph_coloring_stats.conflicts += 
-          conflicting_vertices.size();
-#endif
-      }
-
-      if (asynchronous) synchronize(pg);
-      else {
-        while (rounds > 0) {
-          synchronize(pg);
-          --rounds;
-        }
-      }
-      conflicting_vertices.swap(vertices_to_color);
-      ++outer_iter_num;
-    } else {
-      if (asynchronous) synchronize(pg);
-      else {
-        while (rounds > 0) {
-          synchronize(pg);
-          --rounds;
-        }
-      }
-    }
-
-    // Receive boundary colors from other processors
-    while (optional<std::pair<process_id_type, int> > stp = probe(pg)) {
-      BOOST_ASSERT(stp->second == 17);
-      message_type msg;
-      receive(pg, stp->first, stp->second, msg);
-      cache(color, msg.first, msg.second);
-    }
-
-    rounds = vertices_to_color.size() / s 
-      + (vertices_to_color.size() % s == 0? 0 : 1);
-    rounds = all_reduce(pg, rounds, boost::parallel::maximum<std::size_t>());
-
-#ifdef PBGL_ACCOUNTING
-    ++boman_et_al_graph_coloring_stats.supersteps;
-#endif
-  }
-
-  // Determine the number of colors used.
-  color_type num_colors = 0;
-  BGL_FORALL_VERTICES_T(v, g, DistributedGraph) {
-    color_type k = get(color, v);
-    BOOST_ASSERT(k != no_color);
-    if (k != no_color) {
-      if (k >= (color_type)marked.size()) marked.resize(k + 1, 0); // TBD: perf?
-      if (marked[k] != iter_num) {
-        marked[k] = iter_num;
-        ++num_colors;
-      }
-    }
-  }
-
-  num_colors = 
-    all_reduce(pg, num_colors, boost::parallel::maximum<color_type>());
-
-
-#ifdef PBGL_ACCOUNTING
-  boman_et_al_graph_coloring_stats.execution_time = 
-    accounting::get_time() - boman_et_al_graph_coloring_stats.execution_time;
-  
-  boman_et_al_graph_coloring_stats.conflicts = 
-    all_reduce(pg, boman_et_al_graph_coloring_stats.conflicts,
-               std::plus<color_type>());
-  boman_et_al_graph_coloring_stats.num_colors = num_colors;
-#endif
-
-  return num_colors;
-}
-
-
-template<typename DistributedGraph, typename ColorMap, typename ChooseColor, 
-         typename VertexOrdering>
-inline typename property_traits<ColorMap>::value_type
-boman_et_al_graph_coloring
-  (const DistributedGraph& g, ColorMap color,
-   typename graph_traits<DistributedGraph>::vertices_size_type s,
-   ChooseColor choose_color, VertexOrdering ordering)
-{
-  return boman_et_al_graph_coloring(g, color, s, choose_color, ordering, 
-                                    get(vertex_index, g));
-}
-
-template<typename DistributedGraph, typename ColorMap, typename ChooseColor>
-inline typename property_traits<ColorMap>::value_type
-boman_et_al_graph_coloring
-  (const DistributedGraph& g,
-   ColorMap color,
-   typename graph_traits<DistributedGraph>::vertices_size_type s,
-   ChooseColor choose_color)
-{
-  typedef typename graph_traits<DistributedGraph>::vertex_descriptor
-    vertex_descriptor;
-  return boman_et_al_graph_coloring(g, color, s, choose_color,
-                                    std::less<vertex_descriptor>());
-}
-
-template<typename DistributedGraph, typename ColorMap>
-inline typename property_traits<ColorMap>::value_type
-boman_et_al_graph_coloring
-  (const DistributedGraph& g,
-   ColorMap color,
-   typename graph_traits<DistributedGraph>::vertices_size_type s = 100)
-{
-  typedef typename property_traits<ColorMap>::value_type Color;
-  return boman_et_al_graph_coloring(g, color, s, first_fit_color<Color>());
-}
-
-} } } // end namespace boost::graph::distributed
-
-namespace boost { namespace graph {
-using distributed::boman_et_al_graph_coloring;
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_DISTRIBUTED_BOMAN_ET_AL_GRAPH_COLORING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/breadth_first_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/breadth_first_search.hpp
deleted file mode 100644
index 5bb99c6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/breadth_first_search.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_BFS_HPP
-#define BOOST_GRAPH_PARALLEL_BFS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/distributed/detail/filtered_queue.hpp>
-#include <boost/graph/distributed/queue.hpp>
-#include <boost/dynamic_bitset.hpp>
-#include <boost/pending/queue.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-namespace boost {
-  namespace detail {
-    /** @brief A unary predicate that decides when to push into a
-     *         breadth-first search queue.
-     *
-     *  This predicate stores a color map that is used to determine
-     *  when to push. If it is provided with a key for which the color
-     *  is white, it darkens the color to gray and returns true (so
-     *  that the value will be pushed appropriately); if the color is
-     *  not white, it returns false so that the vertex will be
-     *  ignored.
-     */
-    template<typename ColorMap>
-    struct darken_and_push
-    {
-      typedef typename property_traits<ColorMap>::key_type argument_type;
-      typedef bool result_type;
-
-      explicit darken_and_push(const ColorMap& color) : color(color) { }
-
-      bool operator()(const argument_type& value) const
-      {
-        typedef color_traits<typename property_traits<ColorMap>::value_type>
-          Color;
-        if (get(color, value) == Color::white()) {
-          put(color, value, Color::gray());
-          return true;
-        } else {
-          return false;
-        }
-      }
-
-      ColorMap color;
-    };
-
-    template<typename IndexMap>
-    struct has_not_been_seen
-    {
-      typedef bool result_type;
-
-      has_not_been_seen() { }
-
-      has_not_been_seen(std::size_t n, IndexMap index_map)
-        : seen(n), index_map(index_map) {}
-
-      template<typename Key>
-      result_type operator()(Key key)
-      {
-        bool result = seen[get(index_map, key)];
-        seen[get(index_map, key)] = true;
-        return !result;
-      }
-
-      void swap(has_not_been_seen& other)
-      {
-        using std::swap;
-        swap(seen, other.seen);
-        swap(index_map, other.index_map);
-      }
-
-    private:
-      dynamic_bitset<> seen;
-      IndexMap index_map;
-    };
-
-    template<typename IndexMap>
-    inline void
-    swap(has_not_been_seen<IndexMap>& x, has_not_been_seen<IndexMap>& y)
-    {
-      x.swap(y);
-    }
-
-    template <class DistributedGraph, class ColorMap, class BFSVisitor,
-              class BufferRef, class VertexIndexMap>
-    inline void
-    parallel_bfs_helper
-      (DistributedGraph& g,
-       typename graph_traits<DistributedGraph>::vertex_descriptor s,
-       ColorMap color,
-       BFSVisitor vis,
-       BufferRef Q,
-       VertexIndexMap)
-    {
-      set_property_map_role(vertex_color, color);
-      color.set_consistency_model(0);
-      breadth_first_search(g, s, Q.ref, vis, color);
-    }
-
-    template <class DistributedGraph, class ColorMap, class BFSVisitor,
-              class VertexIndexMap>
-    void parallel_bfs_helper
-      (DistributedGraph& g,
-       typename graph_traits<DistributedGraph>::vertex_descriptor s,
-       ColorMap color,
-       BFSVisitor vis,
-       boost::param_not_found,
-       VertexIndexMap vertex_index)
-    {
-      using boost::graph::parallel::process_group;
-
-      typedef graph_traits<DistributedGraph> Traits;
-      typedef typename Traits::vertex_descriptor Vertex;
-      typedef typename boost::graph::parallel::process_group_type<DistributedGraph>::type 
-        process_group_type;
-
-      set_property_map_role(vertex_color, color);
-      color.set_consistency_model(0);
-
-      // Buffer default
-      typedef typename property_map<DistributedGraph, vertex_owner_t>
-        ::const_type vertex_owner_map;
-      typedef boost::graph::distributed::distributed_queue<
-                process_group_type, vertex_owner_map, queue<Vertex>, 
-                detail::darken_and_push<ColorMap> > queue_t;
-      queue_t Q(process_group(g),
-                get(vertex_owner, g),
-                detail::darken_and_push<ColorMap>(color));
-      breadth_first_search(g, s, Q, vis, color);
-    }
-
-    template <class DistributedGraph, class ColorMap, class BFSVisitor,
-              class P, class T, class R>
-    void bfs_helper
-      (DistributedGraph& g,
-       typename graph_traits<DistributedGraph>::vertex_descriptor s,
-       ColorMap color,
-       BFSVisitor vis,
-       const bgl_named_params<P, T, R>& params,
-       boost::mpl::true_)
-        {
-            parallel_bfs_helper
-        (g, s, color, vis, get_param(params, buffer_param_t()),
-         choose_const_pmap(get_param(params, vertex_index),  g, vertex_index));
-        }
-  }
-}
-
-#endif // BOOST_GRAPH_PARALLEL_BFS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/compressed_sparse_row_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/compressed_sparse_row_graph.hpp
deleted file mode 100644
index 6d7d839..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/compressed_sparse_row_graph.hpp
+++ /dev/null
@@ -1,1987 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Jeremiah Willcock
-//           Andrew Lumsdaine
-
-// Distributed compressed sparse row graph type
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_CSR_HPP
-#define BOOST_GRAPH_DISTRIBUTED_CSR_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/graph/compressed_sparse_row_graph.hpp>
-#include <boost/graph/distributed/selector.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/parallel/distribution.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-
-namespace boost {
-
-// Distributed and sequential inplace ctors have the same signature so
-// we need a separate tag for distributed inplace ctors
-enum distributed_construct_inplace_from_sources_and_targets_t 
-  {distributed_construct_inplace_from_sources_and_targets};
-
-// The number of bits we reserve for the processor ID. 
-// DPG TBD: This is a hack. It will eventually be a run-time quantity.
-static const int processor_bits = 8;
-
-// Tag class for a distributed CSR graph
-struct distributed_csr_tag
-  : public virtual distributed_graph_tag,
-    public virtual distributed_vertex_list_graph_tag,
-    public virtual distributed_edge_list_graph_tag,
-    public virtual incidence_graph_tag,
-    public virtual adjacency_graph_tag {};
-
-template<typename VertexProperty, typename EdgeProperty,
-         typename GraphProperty, typename ProcessGroup, typename InVertex,
-         typename InDistribution, typename InEdgeIndex>
-class compressed_sparse_row_graph<
-         directedS, VertexProperty, EdgeProperty, GraphProperty,
-         distributedS<ProcessGroup, InVertex, InDistribution>,
-         InEdgeIndex>
-{
-  typedef compressed_sparse_row_graph self_type;
-
- private:
-  /**
-   *  Determine the type used to represent vertices in the graph. If
-   *  the user has overridden the default, use the user's
-   *  parameter. Otherwise, fall back to std::size_t.
-   */
-  typedef typename mpl::if_<is_same<InVertex, defaultS>,
-                            std::size_t,
-                            InVertex>::type Vertex;
-
-  /**
-   *  Determine the type used to represent edges in the graph. If
-   *  the user has overridden the default (which is to be the same as
-   *  the distributed vertex selector type), use the user's
-   *  parameter. Otherwise, fall back to the value of @c Vertex.
-   */
-  typedef typename mpl::if_<is_same<InEdgeIndex,
-                                    distributedS<ProcessGroup, InVertex,
-                                                 InDistribution> >,
-                            Vertex,
-                            InEdgeIndex>::type EdgeIndex;
-
- public:
-  /**
-   * The type of the CSR graph that will be stored locally.
-   */
-  typedef compressed_sparse_row_graph<directedS, VertexProperty, EdgeProperty,
-                                      GraphProperty, Vertex, EdgeIndex>
-    base_type;
-
-  // -----------------------------------------------------------------
-  // Graph concept requirements
-  typedef Vertex vertex_descriptor;
-  typedef typename graph_traits<base_type>::edge_descriptor edge_descriptor;
-  typedef directed_tag directed_category;
-  typedef allow_parallel_edge_tag edge_parallel_category;
-  typedef distributed_csr_tag traversal_category;
-  static vertex_descriptor null_vertex();
-
-  // -----------------------------------------------------------------
-  // Distributed Vertex List Graph concept requirements
-  typedef Vertex vertices_size_type;
-  class vertex_iterator;
-
-  // -----------------------------------------------------------------
-  // Distributed Edge List Graph concept requirements
-  typedef EdgeIndex edges_size_type;
-  class edge_iterator;
-
-  // -----------------------------------------------------------------
-  // Incidence Graph concept requirements
-  typedef typename graph_traits<base_type>::out_edge_iterator
-    out_edge_iterator;
-  typedef typename graph_traits<base_type>::degree_size_type
-    degree_size_type;
-
-  // -----------------------------------------------------------------
-  // Adjacency Graph concept requirements
-  typedef typename graph_traits<base_type>::adjacency_iterator
-    adjacency_iterator;
-
-  // Note: This graph type does not model Bidirectional Graph.
-  // However, this typedef is required to satisfy graph_traits.
-  typedef void in_edge_iterator;
-
-  // -----------------------------------------------------------------
-  // Distributed Container concept requirements
-  typedef ProcessGroup process_group_type;
-  typedef boost::parallel::variant_distribution<process_group_type, Vertex>
-    distribution_type;
-
-  // -----------------------------------------------------------------
-  // Workarounds
-  // NOTE: This graph type does not have old-style graph properties. It only
-  // accepts bundles.
-  typedef no_property vertex_property_type;
-  typedef no_property edge_property_type;
-  typedef no_property graph_property_type;
-  typedef typename mpl::if_<is_void<VertexProperty>,
-                            void****,
-                            VertexProperty>::type vertex_bundled;
-  typedef typename mpl::if_<is_void<EdgeProperty>,
-                            void****,
-                            EdgeProperty>::type edge_bundled;
-  typedef typename mpl::if_<is_void<GraphProperty>,
-                            void****,
-                            GraphProperty>::type graph_bundled;
-
-  // -----------------------------------------------------------------
-  // Useful types
-  typedef typename ProcessGroup::process_id_type process_id_type;
-
-  // -----------------------------------------------------------------
-  // Graph constructors
-  compressed_sparse_row_graph(const ProcessGroup& pg = ProcessGroup())
-    : m_process_group(pg), m_distribution(parallel::block(pg, 0)) {}
-
-  compressed_sparse_row_graph(const GraphProperty& prop,
-                              const ProcessGroup& pg = ProcessGroup())
-    : m_process_group(pg), m_distribution(parallel::block(pg, 0)) {}
-
-  compressed_sparse_row_graph(vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup())
-    : m_process_group(pg), m_distribution(parallel::block(pg, 0)),
-      m_base(numverts) 
-  {}
-
-  compressed_sparse_row_graph(vertices_size_type numverts,
-                              const GraphProperty& prop,
-                              const ProcessGroup& pg = ProcessGroup())
-    : m_process_group(pg), m_distribution(parallel::block(pg, 0)),
-      m_base(numverts) 
-  {}
-
-  template <typename Distribution>
-  compressed_sparse_row_graph(vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist)
-    : m_process_group(pg), m_distribution(dist), m_base(numverts) {}
-
-  template <typename Distribution>
-  compressed_sparse_row_graph(vertices_size_type numverts,
-                              const GraphProperty& prop,
-                              const ProcessGroup& pg,
-                              const Distribution& dist)
-    : m_process_group(pg), m_distribution(dist), m_base(numverts) {}
-
-  template <typename InputIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator, typename Distribution>
-  compressed_sparse_row_graph(edges_are_unsorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator, typename EdgePropertyIterator,
-            typename Distribution>
-  compressed_sparse_row_graph(edges_are_unsorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator>
-  compressed_sparse_row_graph(edges_are_sorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              edges_size_type numedges = 0,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator, typename Distribution>
-  compressed_sparse_row_graph(edges_are_sorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_sorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              edges_size_type numedges = 0,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename InputIterator, typename EdgePropertyIterator,
-            typename Distribution>
-  compressed_sparse_row_graph(edges_are_sorted_t,
-                              InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename MultiPassInputIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin, 
-                              MultiPassInputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename MultiPassInputIterator, typename Distribution>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin, 
-                              MultiPassInputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename MultiPassInputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin, 
-                              MultiPassInputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename MultiPassInputIterator, typename EdgePropertyIterator,
-            typename Distribution>
-  compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                              MultiPassInputIterator edge_begin, 
-                              MultiPassInputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename Source>
-  compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                              std::vector<Source>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename Distribution, typename Source> 
-  compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                              std::vector<Source>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename Source>
-  compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                              std::vector<Source>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              std::vector<edge_bundled>& edge_props,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template <typename Distribution, typename Source>
-  compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                              std::vector<Source>& sources,
-                              std::vector<vertex_descriptor>& targets,
-                              std::vector<edge_bundled>& edge_props,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template<typename InputIterator>
-  compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template<typename InputIterator, typename EdgePropertyIterator>
-  compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg = ProcessGroup(),
-                              const GraphProperty& prop = GraphProperty());
-
-  template<typename InputIterator, typename Distribution>
-  compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  template<typename InputIterator, typename EdgePropertyIterator, 
-           typename Distribution>
-  compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                              EdgePropertyIterator ep_iter,
-                              vertices_size_type numverts,
-                              const ProcessGroup& pg,
-                              const Distribution& dist,
-                              const GraphProperty& prop = GraphProperty());
-
-  base_type&       base()       { return m_base; }
-  const base_type& base() const { return m_base; }
-
-  process_group_type process_group() const { return m_process_group.base(); }
-
-  distribution_type&       distribution()       { return m_distribution; }
-  const distribution_type& distribution() const { return m_distribution; }
-
-  // Directly access a vertex or edge bundle
-  vertex_bundled& operator[](vertex_descriptor v)
-  {
-    return get(vertex_bundle, *this, v);
-  }
-
-  const vertex_bundled& operator[](vertex_descriptor v) const
-  {
-    return get(vertex_bundle, *this, v);
-  }
-
-  edge_bundled& operator[](edge_descriptor e)
-  {
-    return get(edge_bundle, *this, e);
-  }
-
-  const edge_bundled& operator[](edge_descriptor e) const
-  {
-    return get(edge_bundle, *this, e);
-  }
-
-  // Create a vertex descriptor from a process ID and a local index.
-  vertex_descriptor 
-  make_vertex_descriptor(process_id_type p, vertex_descriptor v) const
-  {
-    vertex_descriptor vertex_local_index_bits = 
-      sizeof(vertex_descriptor) * CHAR_BIT - processor_bits;
-    return v | ((vertex_descriptor)p << vertex_local_index_bits);
-  }
-
-  // Convert a local vertex descriptor into a global vertex descriptor
-  vertex_descriptor local_to_global_vertex(vertex_descriptor v) const
-  {
-    return make_vertex_descriptor(process_id(m_process_group), v);
-  }
-
-  // Structural modification
-  vertex_descriptor add_vertex()
-  {
-    typename graph_traits<base_type>::vertex_descriptor v 
-      = boost::add_vertex(m_base);
-
-    return make_vertex_descriptor(process_id(m_process_group), v);
-  }
-
-  vertex_descriptor add_vertex(const vertex_bundled& p)
-  {
-    typename graph_traits<base_type>::vertex_descriptor v 
-      = boost::add_vertex(m_base, p);
-
-    return make_vertex_descriptor(process_id(m_process_group), v);
-  }
-
-  vertex_descriptor add_vertices(vertices_size_type count)
-  {
-    typename graph_traits<base_type>::vertex_descriptor v 
-      = boost::add_vertices(count, m_base);
-
-    return make_vertex_descriptor(process_id(m_process_group), v);
-  }
-
-  template <typename InputIterator>
-  void 
-  add_edges(InputIterator first, InputIterator last)
-  { boost::add_edges_global(first, last, get(vertex_local, *this), m_base); }
-
-  template <typename InputIterator, typename EdgePropertyIterator>
-  void 
-  add_edges(InputIterator first, InputIterator last,
-            EdgePropertyIterator ep_iter,
-            EdgePropertyIterator ep_iter_end)
-  { boost::add_edges_global(first, last, ep_iter, ep_iter_end, 
-                            get(vertex_local, *this), m_base); }
-
-  template <typename InputIterator>
-  void 
-  add_edges_sorted(InputIterator first, InputIterator last)
-  { boost::add_edges_sorted_global(first, last, 
-                                   get(vertex_local, *this), m_base); }
-
-  template <typename InputIterator, typename EdgePropertyIterator>
-  void 
-  add_edges_sorted(InputIterator first_sorted, InputIterator last_sorted,
-                   EdgePropertyIterator ep_iter_sorted)
-  { boost::add_edges_sorted_global(first_sorted, last_sorted, ep_iter_sorted, 
-                                   get(vertex_local, *this), m_base); }
-
- protected:
-  ProcessGroup m_process_group;
-  distribution_type m_distribution;
-  base_type m_base;
-};
-
-/** @brief Helper macro containing the template parameters for the
- *   distributed CSR graph.
- *
- *  This macro contains all of the template parameters needed for the
- *  distributed compressed_sparse_row graph type. It is used to reduce
- *  the amount of typing required to declare free functions for this
- *  graph type.
- */
-#define BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS                          \
-  typename VertexProperty, typename EdgeProperty,    \
-  typename GraphProperty, typename ProcessGroup, typename InVertex,     \
-  typename InDistribution, typename InEdgeIndex
-
-/** @brief Helper macro containing the typical instantiation of the
- *   distributed CSR graph.
- *
- *  This macro contains an instantiation of the distributed CSR graph
- *  type using the typical template parameters names (e.g., those
- *  provided by the macro @c
- *  BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS). It is used to reduce
- *  the amount of typing required to declare free functions for this
- *  graph type.
- */
-#define BOOST_DISTRIB_CSR_GRAPH_TYPE                            \
-  compressed_sparse_row_graph<                                  \
-    directedS, VertexProperty, EdgeProperty, GraphProperty,      \
-    distributedS<ProcessGroup, InVertex, InDistribution>,       \
-    InEdgeIndex>
-
-// -----------------------------------------------------------------
-// Graph concept operations
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-BOOST_DISTRIB_CSR_GRAPH_TYPE::null_vertex()
-{
-  return graph_traits<base_type>::null_vertex();
-}
-
-// -----------------------------------------------------------------
-// Incidence Graph concept operations
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-source(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor e,
-       const BOOST_DISTRIB_CSR_GRAPH_TYPE&)
-{ return e.src; }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-target(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor e,
-       const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return target(e, g.base()); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator,
-                 typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator>
-out_edges(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor u,
-          const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type
-    edges_size_type;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor ed;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator it;
-  edges_size_type u_local = get(vertex_local, g, u);
-  edges_size_type u_row_start = g.base().m_forward.m_rowstart[u_local];
-  edges_size_type next_row_start = g.base().m_forward.m_rowstart[u_local + 1];
-  return std::make_pair(it(ed(u, u_row_start)),
-                        it(ed(u, (std::max)(u_row_start, next_row_start))));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::degree_size_type
-out_degree(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor u,
-           const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return out_degree(get(vertex_local, g, u), g.base());
-}
-
-// -----------------------------------------------------------------
-// DistributedGraph concept requirements
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-void synchronize(const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  synchronize(g.process_group());
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS> 
-ProcessGroup
-process_group(const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return g.process_group(); }
-
-
-// -----------------------------------------------------------------
-// Adjacency Graph concept requirements
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::adjacency_iterator,
-                 typename BOOST_DISTRIB_CSR_GRAPH_TYPE::adjacency_iterator>
-adjacent_vertices(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor u,
-                  const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return adjacent_vertices(get(vertex_local, g, u), g.base());
-}
-
-// -----------------------------------------------------------------
-// Distributed Vertex List Graph concept operations
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_iterator
-  : public iterator_adaptor<vertex_iterator,
-                            counting_iterator<Vertex>,
-                            Vertex,
-                            random_access_traversal_tag,
-                            Vertex>
-{
-  typedef iterator_adaptor<vertex_iterator,
-                           counting_iterator<Vertex>,
-                           Vertex,
-                           random_access_traversal_tag,
-                           Vertex> inherited;
- public:
-  vertex_iterator() {}
-
-  explicit vertex_iterator(Vertex v, const self_type* graph)
-    : inherited(counting_iterator<Vertex>(v)), graph(graph) { }
-
-  Vertex dereference() const
-  {
-    return graph->local_to_global_vertex(*(this->base_reference()));
-  }
-
-  friend class iterator_core_access;
-
- private:
-  const self_type* graph;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::degree_size_type
-num_vertices(const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return num_vertices(g.base());
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_iterator,
-                 typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_iterator>
-vertices(const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_iterator
-    vertex_iterator;
-  return std::make_pair(vertex_iterator(0, &g),
-                        vertex_iterator(num_vertices(g), &g));
-}
-
-// -----------------------------------------------------------------
-// Distributed Edge List Graph concept operations
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_iterator
-{
- public:
-  typedef std::forward_iterator_tag iterator_category;
-  typedef edge_descriptor value_type;
-
-  typedef const edge_descriptor* pointer;
-
-  typedef edge_descriptor reference;
-  typedef typename int_t<CHAR_BIT * sizeof(EdgeIndex)>::fast difference_type;
-
-  edge_iterator() : graph(0), current_edge(), end_of_this_vertex(0) {}
-
-  edge_iterator(const compressed_sparse_row_graph& graph,
-                edge_descriptor current_edge,
-                EdgeIndex end_of_this_vertex)
-    : graph(&graph), local_src(current_edge.src), current_edge(current_edge),
-      end_of_this_vertex(end_of_this_vertex)
-  {
-    // The edge that comes in has a local source vertex. Make it global.
-    current_edge.src = graph.local_to_global_vertex(current_edge.src);
-  }
-
-  // From InputIterator
-  reference operator*() const { return current_edge; }
-  pointer operator->() const { return &current_edge; }
-
-  bool operator==(const edge_iterator& o) const {
-    return current_edge == o.current_edge;
-  }
-  bool operator!=(const edge_iterator& o) const {
-    return current_edge != o.current_edge;
-  }
-
-  edge_iterator& operator++()
-  {
-    ++current_edge.idx;
-    while (current_edge.idx == end_of_this_vertex && local_src < num_vertices(*graph)-1) {
-      ++local_src;
-      current_edge.src = graph->local_to_global_vertex(local_src);
-      end_of_this_vertex = graph->base().m_forward.m_rowstart[local_src + 1];
-    }
-    return *this;
-  }
-
-  edge_iterator operator++(int) {
-    edge_iterator temp = *this;
-    ++*this;
-    return temp;
-  }
-
- private:
-  const compressed_sparse_row_graph* graph;
-  EdgeIndex local_src;
-  edge_descriptor current_edge;
-  EdgeIndex end_of_this_vertex;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type
-num_edges(const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return g.base().m_forward.m_column.size();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-std::pair<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_iterator,
-          typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_iterator>
-edges(const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor Vertex;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_iterator ei;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor edgedesc;
-  if (g.base().m_forward.m_rowstart.size() == 1 ||
-      g.base().m_forward.m_column.empty()) {
-    return std::make_pair(ei(), ei());
-  } else {
-    // Find the first vertex that has outgoing edges
-    Vertex src = 0;
-    while (g.base().m_forward.m_rowstart[src + 1] == 0) ++src;
-    return std::make_pair(ei(g, edgedesc(src, 0), g.base().m_forward.m_rowstart[src + 1]),
-                          ei(g, edgedesc(num_vertices(g), g.base().m_forward.m_column.size()), 0));
-  }
-}
-
-// -----------------------------------------------------------------
-// Graph constructors
-
-// Returns true if a vertex belongs to a process according to a distribution
-template <typename OwnerMap, typename ProcessId>
-struct local_vertex {
-
-  local_vertex(OwnerMap owner, ProcessId id) 
-    : owner(owner), id(id) {}
-
-  template <typename Vertex>
-  bool operator()(Vertex x) 
-  { return get(owner, x) == id; }
-
-  template <typename Vertex>
-  bool operator()(Vertex x) const
-  { return get(owner, x) == id; }
-
-private:
-  OwnerMap owner;
-  ProcessId id;
-};
-
-// Returns true if a vertex belongs to a process according to a distribution
-template <typename OwnerMap, typename ProcessId>
-struct local_edge {
-
-  local_edge(OwnerMap owner, ProcessId id) 
-    : owner(owner), id(id) {}
-
-  template <typename Vertex>
-  bool operator()(std::pair<Vertex, Vertex>& x) 
-  { return get(owner, x.first) == id; }
-
-  template <typename Vertex>
-  bool operator()(const std::pair<Vertex, Vertex>& x) const
-  { return get(owner, x.first) == id; }
-
-private:
-  OwnerMap owner;
-  ProcessId id;
-};
-
-// Turns an index iterator into a vertex iterator
-template<typename IndexIterator, typename Graph>
-class index_to_vertex_iterator {
-  
-public:
-  typedef std::input_iterator_tag iterator_category;
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef std::pair<Vertex, Vertex> value_type;
-  typedef const value_type& reference;
-  typedef const value_type* pointer;
-  typedef void difference_type;
-
-  index_to_vertex_iterator(IndexIterator index,
-                           const Graph& g) 
-    : index(index), g(g), current(to_edge(*index)) {}
-
-  reference operator*() { current = to_edge(*index); return current; }
-  pointer operator->() { current = to_edge(*index); return ¤t; }
-
-  index_to_vertex_iterator& operator++()
-  {
-    ++index;
-    return *this;
-  }
-
-  index_to_vertex_iterator operator++(int)
-  {
-    index_to_vertex_iterator temp(*this);
-    ++(*this);
-    return temp;
-  }
-
-  bool operator==(const index_to_vertex_iterator& other) const
-  { return index == other.index; }
-  
-  bool operator!=(const index_to_vertex_iterator& other) const
-  { return !(*this == other); }
-
-private:
-  value_type to_edge(const typename std::iterator_traits<IndexIterator>::value_type& x)
-  { return std::make_pair(vertex(x.first, g), vertex(x.second, g)); }
-
-  IndexIterator index;
-  const Graph& g;  
-  value_type current;
-};
-
-template <typename Distribution, typename Graph>
-struct index_to_vertex_func {
-
-  typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename boost::graph_traits<Graph>::vertices_size_type vertices_size_type;
-  typedef std::pair<vertex_descriptor, vertex_descriptor> result_type;
-  typedef std::pair<vertices_size_type, vertices_size_type> base_iterator_type;
-
-  index_to_vertex_func(const Distribution& dist, const Graph& g)
-    : dist(dist), g(g) {}
-
-
-  result_type operator()(const base_iterator_type& p) const 
-  {
-    return std::make_pair(vertex(p.first, g), vertex(p.second, g));
-  }
-
-private:
-  const Distribution& dist;
-  const Graph& g;
-};
-
-// NGE: This method only works with iterators that have a difference_type,
-// the index_to_vertex_iterator class above is retained for compatibility
-// with BGL generators which have no difference_type
-template <typename IndexIterator, typename Distribution, typename Graph>
-boost::transform_iterator<index_to_vertex_func<Distribution, Graph>, IndexIterator>
-make_index_to_vertex_iterator(IndexIterator it, const Distribution& dist, 
-                              const Graph& g) {
-  return boost::make_transform_iterator(
-    it, index_to_vertex_func<Distribution, Graph>(dist, g));
-}
-
-// Forward declaration of csr_vertex_owner_map
-template<typename ProcessID, typename Key> class csr_vertex_owner_map;
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename InputIterator, typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator, typename EdgePropertyIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           ep_iter,
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename InputIterator, typename EdgePropertyIterator,
-          typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           ep_iter,
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_sorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            vertices_size_type numverts,
-                            edges_size_type numedges, // This is not used as there is no appropriate BGL ctor
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_sorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename InputIterator, typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_sorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_sorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator, typename EdgePropertyIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_sorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            edges_size_type numedges, // This is not used as there is no appropriate BGL ctor
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_sorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           ep_iter,
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator, typename EdgePropertyIterator,
-         typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_sorted_t,
-                            InputIterator edge_begin, InputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_sorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           ep_iter,
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename MultiPassInputIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                            MultiPassInputIterator edge_begin, 
-                            MultiPassInputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_unsorted_multi_pass_global,
-           make_index_to_vertex_iterator(edge_begin, parallel::block(m_process_group, numverts), *this),
-           make_index_to_vertex_iterator(edge_end, parallel::block(m_process_group, numverts), *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename MultiPassInputIterator, typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                            MultiPassInputIterator edge_begin, 
-                            MultiPassInputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_unsorted_multi_pass_global,
-           make_index_to_vertex_iterator(edge_begin, parallel::block(m_process_group, numverts), *this),
-           make_index_to_vertex_iterator(edge_end, parallel::block(m_process_group, numverts), *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename MultiPassInputIterator, typename EdgePropertyIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                            MultiPassInputIterator edge_begin, 
-                            MultiPassInputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_unsorted_multi_pass_global,
-           make_index_to_vertex_iterator(edge_begin, parallel::block(m_process_group, numverts), *this),
-           make_index_to_vertex_iterator(edge_end, parallel::block(m_process_group, numverts), *this),
-           ep_iter,
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename MultiPassInputIterator, typename EdgePropertyIterator,
-          typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(edges_are_unsorted_multi_pass_t,
-                            MultiPassInputIterator edge_begin, 
-                            MultiPassInputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_unsorted_multi_pass_global,
-           make_index_to_vertex_iterator(edge_begin, parallel::block(m_process_group, numverts), *this),
-           make_index_to_vertex_iterator(edge_end, parallel::block(m_process_group, numverts), *this),
-           ep_iter,
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{ }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename Source>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                            std::vector<Source>& sources,
-                            std::vector<vertex_descriptor>& targets,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(m_distribution.block_size(process_id(m_process_group), numverts))
-{ 
-  // Convert linear indices to global indices
-  for (edges_size_type i = 0; i < sources.size(); ++i) {
-    sources[i] = m_distribution.local(sources[i]);
-    targets[i] = make_vertex_descriptor(m_distribution(targets[i]), 
-                                        m_distribution.local(targets[i]));
-  }
-
-  m_base.assign_sources_and_targets_global(
-    sources, targets, m_distribution.block_size(process_id(m_process_group), numverts),
-    identity_property_map());
-
-  // TODO: set property on m_base?
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename Distribution, typename Source> 
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                            std::vector<Source>& sources,
-                            std::vector<vertex_descriptor>& targets,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(m_distribution.block_size(process_id(m_process_group), numverts))
-{ 
-  // Convert linear indices to global indices
-  for (edges_size_type i = 0; i < sources.size(); ++i) {
-    sources[i] = m_distribution.local(sources[i]);
-    targets[i] = make_vertex_descriptor(m_distribution(targets[i]), 
-                                        m_distribution.local(targets[i]));
-  }
-
-  m_base.assign_sources_and_targets_global(
-    sources, targets, m_distribution.block_size(process_id(m_process_group), numverts),
-    identity_property_map());
-
-  // TODO: set property on m_base?
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename Source>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                            std::vector<Source>& sources,
-                            std::vector<vertex_descriptor>& targets,
-                            std::vector<edge_bundled>& edge_props,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(m_distribution.block_size(process_id(m_process_group), numverts))
-{ 
-  // Convert linear indices to global indices
-  for (edges_size_type i = 0; i < sources.size(); ++i) {
-    sources[i] = m_distribution.local(sources[i]);
-    targets[i] = make_vertex_descriptor(m_distribution(targets[i]), 
-                                        m_distribution.local(targets[i]));
-  }
-
-  m_base.assign_sources_and_targets_global(
-    sources, targets, edge_props, 
-    m_distribution.block_size(process_id(m_process_group), numverts),
-    identity_property_map());
-
-  // TODO: set property on m_base?
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template <typename Distribution, typename Source> 
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(distributed_construct_inplace_from_sources_and_targets_t,
-                            std::vector<Source>& sources,
-                            std::vector<vertex_descriptor>& targets,
-                            std::vector<edge_bundled>& edge_props,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(m_distribution.block_size(process_id(m_process_group), numverts))
-{ 
-  // Convert linear indices to global indices
-  for (edges_size_type i = 0; i < sources.size(); ++i) {
-    sources[i] = m_distribution.local(sources[i]);
-    targets[i] = make_vertex_descriptor(m_distribution(targets[i]), 
-                                        m_distribution.local(targets[i]));
-  }
-
-  m_base.assign_sources_and_targets_global(
-    sources, targets, edge_props, 
-    m_distribution.block_size(process_id(m_process_group), numverts),
-    identity_property_map());
-
-  // TODO: set property on m_base?
-}
-
-//
-// Old (untagged) ctors, these default to the unsorted sequential ctors
-//
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-           
-{
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator, typename EdgePropertyIterator>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-
-    m_distribution(parallel::block(m_process_group, numverts)),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           ep_iter,
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator, typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-template<typename InputIterator, typename EdgePropertyIterator, 
-         typename Distribution>
-BOOST_DISTRIB_CSR_GRAPH_TYPE::
-compressed_sparse_row_graph(InputIterator edge_begin, InputIterator edge_end,
-                            EdgePropertyIterator ep_iter,
-                            vertices_size_type numverts,
-                            const ProcessGroup& pg,
-                            const Distribution& dist,
-                            const GraphProperty& prop)
-  : m_process_group(pg),
-    m_distribution(dist),
-    m_base(edges_are_unsorted_global,
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_begin, *this),
-           index_to_vertex_iterator<InputIterator, BOOST_DISTRIB_CSR_GRAPH_TYPE>(edge_end, *this),
-           m_distribution.block_size(process_id(m_process_group), numverts),
-           get(vertex_local, *this),
-           local_vertex<csr_vertex_owner_map<process_id_type, vertex_descriptor>, 
-                        process_id_type> (get(vertex_owner, *this), process_id(pg)),
-           prop)
-{
-}
-
-// -----------------------------------------------------------------
-// Vertex Global Property Map
-template<typename ProcessID, typename Key>
-class csr_vertex_global_map
-{
- public:
-  // -----------------------------------------------------------------
-  // Readable Property Map concept requirements
-  typedef std::pair<ProcessID, Key> value_type;
-  typedef value_type reference;
-  typedef Key key_type;
-  typedef readable_property_map_tag category;
-};
-
-template<typename ProcessID, typename Key>
-inline std::pair<ProcessID, Key>
-get(csr_vertex_global_map<ProcessID, Key>,
-    typename csr_vertex_global_map<ProcessID, Key>::key_type k)
-{
-  const int local_index_bits = sizeof(Key) * CHAR_BIT - processor_bits;
-  const Key local_index_mask = Key(-1) >> processor_bits;
-
-  return std::pair<ProcessID, Key>(k >> local_index_bits,
-                                   k & local_index_mask);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_global_t>
-{
- public:
-  typedef csr_vertex_global_map<
-            typename ProcessGroup::process_id_type,
-            typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor> type;
-  typedef type const_type;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_global_t>::type
-get(vertex_global_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_global_t>
-    ::type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-std::pair<typename ProcessGroup::process_id_type,
-          typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor>
-get(vertex_global_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_global, 
-             const_cast<const BOOST_DISTRIB_CSR_GRAPH_TYPE&>(g), 
-             k);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_global_t>::const_type
-get(vertex_global_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_global_t>
-    ::const_type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-std::pair<typename ProcessGroup::process_id_type,
-          typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor>
-get(vertex_global_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-    vertex_descriptor;
-  typedef std::pair<typename ProcessGroup::process_id_type, vertex_descriptor>
-    result_type;
-  const int local_index_bits = 
-    sizeof(vertex_descriptor) * CHAR_BIT - processor_bits;
-  const vertex_descriptor local_index_mask = 
-    vertex_descriptor(-1) >> processor_bits;
-
-  return result_type(k >> local_index_bits, k & local_index_mask);
-}
-
-// -----------------------------------------------------------------
-// Extra, common functions
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-vertex(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertices_size_type i,
-       const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return g.make_vertex_descriptor(g.distribution()(i), 
-                                  g.distribution().local(i));
-}
-
-// Unlike for an adjacency_matrix, edge_range and edge take lg(out_degree(i))
-// time
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator,
-                 typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator>
-edge_range(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor i,
-           typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor j,
-           const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor Vertex;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type EdgeIndex;
-  typedef typename std::vector<Vertex>::const_iterator adj_iter;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator out_edge_iter;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor edge_desc;
-  std::pair<adj_iter, adj_iter> raw_adjacencies = adjacent_vertices(i, g);
-  std::pair<adj_iter, adj_iter> adjacencies =
-    std::equal_range(raw_adjacencies.first, raw_adjacencies.second, j);
-  EdgeIndex idx_begin = adjacencies.first - g.base().m_forward.m_column.begin();
-  EdgeIndex idx_end = adjacencies.second - g.base().m_forward.m_column.begin();
-  return std::make_pair(out_edge_iter(edge_desc(i, idx_begin)),
-                        out_edge_iter(edge_desc(i, idx_end)));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline std::pair<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor, bool>
-edge(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor i,
-     typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor j,
-     const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::out_edge_iterator out_edge_iter;
-  std::pair<out_edge_iter, out_edge_iter> range = edge_range(i, j, g);
-  if (range.first == range.second)
-    return std::make_pair(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor(),
-                          false);
-  else
-    return std::make_pair(*range.first, true);
-}
-
-// A helper that turns requests for property maps for const graphs
-// into property maps for non-const graphs.
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename Property>
-class property_map<const BOOST_DISTRIB_CSR_GRAPH_TYPE, Property>
-{
- public:
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, Property>
-    ::const_type type;
-  typedef type const_type;
-};
-
-// -----------------------------------------------------------------
-// Structural modifiers
-
-#if 0
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-add_vertex(BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return g.add_vertex(); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-add_vertex(const typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_bundled& p, 
-           BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return g.add_vertex(p); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-add_vertices(typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertices_size_type count, 
-             BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return g.add_vertices(count); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename InputIterator>
-void 
-add_edges(InputIterator first, InputIterator last,
-          BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ g.add_edges(first, last); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename InputIterator, 
-         typename EdgePropertyIterator>
-void 
-add_edges(InputIterator first, InputIterator last,
-          EdgePropertyIterator ep_iter,
-          EdgePropertyIterator ep_iter_end,
-          BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return g.add_edges(first, last, ep_iter, ep_iter_end); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename InputIterator>
-void 
-add_edges_sorted(InputIterator first, InputIterator last,
-                 BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ return g.add_edges_sorted(first, last); }
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename InputIterator, 
-         typename EdgePropertyIterator>
-void 
-add_edges_sorted(InputIterator first_sorted, InputIterator last_sorted,
-                 EdgePropertyIterator ep_iter_sorted,
-                 BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{ g.add_edges_sorted(first_sorted, last_sorted, ep_iter_sorted); }
-#endif
-
-// -----------------------------------------------------------------
-// Vertex Owner Property Map
-template<typename ProcessID, typename Key>
-class csr_vertex_owner_map
-{
- public:
-  // -----------------------------------------------------------------
-  // Readable Property Map concept requirements
-  typedef ProcessID value_type;
-  typedef value_type reference;
-  typedef Key key_type;
-  typedef readable_property_map_tag category;
-};
-
-template<typename ProcessID, typename Key>
-inline ProcessID
-get(csr_vertex_owner_map<ProcessID, Key> pm,
-    typename csr_vertex_owner_map<ProcessID, Key>::key_type k)
-{
-  const int local_index_bits = sizeof(Key) * CHAR_BIT - processor_bits;
-  return k >> local_index_bits;
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_owner_t>
-{
- public:
-  typedef csr_vertex_owner_map<
-            typename ProcessGroup::process_id_type,
-            typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor> type;
-  typedef type const_type;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_owner_t>::type
-get(vertex_owner_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_owner_t>
-    ::type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename ProcessGroup::process_id_type
-get(vertex_owner_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_owner, 
-             const_cast<const BOOST_DISTRIB_CSR_GRAPH_TYPE&>(g),
-             k);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_owner_t>::const_type
-get(vertex_owner_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_owner_t>
-    ::const_type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename ProcessGroup::process_id_type
-get(vertex_owner_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-    vertex_descriptor;
-  const int local_index_bits = 
-    sizeof(vertex_descriptor) * CHAR_BIT - processor_bits;
-  return k >> local_index_bits;
-}
-
-// -----------------------------------------------------------------
-// Vertex Local Property Map
-template<typename Key>
-class csr_vertex_local_map
-{
- public:
-  // -----------------------------------------------------------------
-  // Readable Property Map concept requirements
-  typedef Key value_type;
-  typedef value_type reference;
-  typedef Key key_type;
-  typedef readable_property_map_tag category;
-};
-
-template<typename Key>
-inline Key
-get(csr_vertex_local_map<Key> pm,
-    typename csr_vertex_local_map<Key>::key_type k)
-{
-  const Key local_index_mask = Key(-1) >> processor_bits;
-  return k & local_index_mask;
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t>
-{
- public:
-  typedef csr_vertex_local_map<
-            typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor> type;
-  typedef type const_type;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t>::type
-get(vertex_local_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t>
-    ::type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-get(vertex_local_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_local, 
-             const_cast<const BOOST_DISTRIB_CSR_GRAPH_TYPE&>(g),
-             k);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t>::const_type
-get(vertex_local_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t>
-    ::const_type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-get(vertex_local_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor 
-    vertex_descriptor;
-  const vertex_descriptor local_index_mask = 
-    vertex_descriptor(-1) >> processor_bits;
-  return k & local_index_mask;
-}
-
-// -----------------------------------------------------------------
-// Vertex Index Property Map
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_index_t>
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, 
-                                vertex_global_t>::const_type
-    global_map;
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::process_group_type
-    process_group_type;
-
-  typedef property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t> local;
-
-public:
-  typedef local_property_map<process_group_type, 
-                             global_map, 
-                             typename local::type> type;
-  typedef local_property_map<process_group_type, 
-                             global_map, 
-                             typename local::const_type> const_type;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_index_t>::type
-get(vertex_index_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_index_t>
-    ::type result_type;
-
-  return result_type(g.process_group(), get(vertex_global, g),
-                     get(vertex_local, g));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertices_size_type
-get(vertex_index_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_local, g, k);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_index_t>::const_type
-get(vertex_index_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_index_t>
-    ::const_type result_type;
-  return result_type(g.process_group(), get(vertex_global, g),
-                     get(vertex_local, g));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertices_size_type
-get(vertex_index_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_local, g, k);
-}
-
-// -----------------------------------------------------------------
-// Vertex Local Index Property Map
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_index_t>
-  : public property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_t> { };
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_index_t>::type
-get(vertex_local_index_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return get(vertex_local, g);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertices_size_type
-get(vertex_local_index_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_local, g, k);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, vertex_local_index_t>::const_type
-get(vertex_local_index_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  return get(vertex_local, g);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertices_size_type
-get(vertex_local_index_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor k)
-{
-  return get(vertex_local, g, k);
-}
-
-// -----------------------------------------------------------------
-// Edge Global Property Map
-template<typename ProcessID, typename Vertex, typename EdgeIndex>
-class csr_edge_global_map
-{
- public:
-  // -----------------------------------------------------------------
-  // Readable Property Map concept requirements
-  typedef detail::csr_edge_descriptor<Vertex, EdgeIndex> key_type;
-  typedef std::pair<ProcessID, detail::csr_edge_descriptor<Vertex, EdgeIndex> > value_type;
-  typedef value_type reference;
-  typedef readable_property_map_tag category;
-};
-
-template<typename ProcessID, typename Vertex, typename EdgeIndex>
-inline std::pair<ProcessID, detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-get(csr_edge_global_map<ProcessID, Vertex, EdgeIndex> pm,
-    typename csr_edge_global_map<ProcessID, Vertex, EdgeIndex>::key_type k)
-{
-  const int local_index_bits = sizeof(Vertex) * CHAR_BIT - processor_bits;
-  const Vertex local_index_mask = Vertex(-1) >> processor_bits;
-  return std::pair<ProcessID, detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-           ((k.src >> local_index_bits),
-            detail::csr_edge_descriptor<Vertex, EdgeIndex>(k.src & local_index_mask, k.idx));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_global_t>
-{
- public:
-  typedef csr_edge_global_map<
-            typename ProcessGroup::process_id_type,
-            typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor,
-            typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type> type;
-  typedef type const_type;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_global_t>::type
-get(edge_global_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_global_t>
-    ::type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-std::pair<typename ProcessGroup::process_id_type,
-          typename BOOST_DISTRIB_CSR_GRAPH_TYPE::base_type::edge_descriptor>
-get(edge_global_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor k)
-{
-  return get(edge_global, 
-             const_cast<const BOOST_DISTRIB_CSR_GRAPH_TYPE&>(g),
-             k);
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_global_t>::const_type
-get(edge_global_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_global_t>
-    ::const_type result_type;
-  return result_type();
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-std::pair<typename ProcessGroup::process_id_type,
-          typename BOOST_DISTRIB_CSR_GRAPH_TYPE::base_type::edge_descriptor>
-get(edge_global_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor k)
-{
-  typedef typename BOOST_DISTRIB_CSR_GRAPH_TYPE::vertex_descriptor
-    vertex_descriptor;
-
-  const int local_index_bits = 
-    sizeof(vertex_descriptor) * CHAR_BIT - processor_bits;
-  const typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type local_index_mask =
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type(-1) >> processor_bits;
-  
-  typedef std::pair<typename ProcessGroup::process_id_type,
-                    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::base_type::edge_descriptor>
-    result_type;
-
-  return result_type(k.src >> local_index_bits,
-                     typename BOOST_DISTRIB_CSR_GRAPH_TYPE::base_type::edge_descriptor
-                       (k.src & local_index_mask, k.idx));
-}
-
-// -----------------------------------------------------------------
-// Edge Index Property Map
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_index_t>
-{
-   typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_global_t>
-    ::type global_map;
-
- public:
-  typedef local_property_map<
-            typename BOOST_DISTRIB_CSR_GRAPH_TYPE::process_group_type,
-            global_map,
-            typename property_map<typename BOOST_DISTRIB_CSR_GRAPH_TYPE::base_type, edge_index_t>::type
-          > type;
-  typedef type const_type;
-};
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_index_t>::type
-get(edge_index_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_index_t>
-    ::type result_type;
-  return result_type(g.process_group(), get(edge_global, g),
-                     get(edge_index, g.base()));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type
-get(edge_index_t, BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor k)
-{
-  return k.idx;
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_index_t>::const_type
-get(edge_index_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, edge_index_t>
-    ::const_type result_type;
-  return result_type(g.process_group(), get(edge_global, g),
-                     get(edge_index, g.base()));
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS>
-inline typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edges_size_type
-get(edge_index_t, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g,
-    typename BOOST_DISTRIB_CSR_GRAPH_TYPE::edge_descriptor k)
-{
-  return k.idx;
-}
-
-template <BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-class property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, Tag> {
-  typedef BOOST_DISTRIB_CSR_GRAPH_TYPE graph_type;
-  typedef typename graph_type::process_group_type process_group_type;
-  typedef typename graph_type::base_type base_graph_type;
-  typedef typename property_map<base_graph_type, Tag>::type
-    local_pmap;
-  typedef typename property_map<base_graph_type, Tag>::const_type
-    local_const_pmap;
-
-  typedef graph_traits<graph_type> traits;
-  typedef typename graph_traits<base_graph_type>::vertex_descriptor local_vertex;
-  typedef typename property_traits<local_pmap>::key_type local_key_type;
-
-  typedef typename property_traits<local_pmap>::value_type value_type;
-
-  typedef typename property_map<graph_type, vertex_global_t>::const_type
-    vertex_global_map;
-  typedef typename property_map<graph_type, edge_global_t>::const_type
-    edge_global_map;
-
-  typedef typename mpl::if_<is_same<typename detail::property_kind_from_graph<base_graph_type, Tag>::type,
-                                    vertex_property_tag>,
-                            vertex_global_map, edge_global_map>::type
-    global_map;
-
-public:
-  typedef ::boost::parallel::distributed_property_map<
-            process_group_type, global_map, local_pmap> type;
-
-  typedef ::boost::parallel::distributed_property_map<
-            process_group_type, global_map, local_const_pmap> const_type;
-};
-
-template <BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, Tag>::type
-get(Tag tag, BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef BOOST_DISTRIB_CSR_GRAPH_TYPE Graph;
-  typedef typename property_map<Graph, Tag>::type result_type;
-  typedef typename property_traits<result_type>::value_type value_type;
-  typedef typename property_reduce<Tag>::template apply<value_type>
-    reduce;
-
-  typedef typename mpl::if_<is_same<typename detail::property_kind_from_graph<Graph, Tag>::type,
-                                    vertex_property_tag>,
-                            vertex_global_t, edge_global_t>::type
-    global_map_t;
-
-  return result_type(g.process_group(), get(global_map_t(), g),
-                     get(tag, g.base()), reduce());
-}
-
-template<BOOST_DISTRIB_CSR_GRAPH_TEMPLATE_PARMS, typename Tag>
-typename property_map<BOOST_DISTRIB_CSR_GRAPH_TYPE, Tag>::const_type
-get(Tag tag, const BOOST_DISTRIB_CSR_GRAPH_TYPE& g)
-{
-  typedef BOOST_DISTRIB_CSR_GRAPH_TYPE Graph;
-  typedef typename property_map<Graph, Tag>::const_type result_type;
-  typedef typename property_traits<result_type>::value_type value_type;
-  typedef typename property_reduce<Tag>::template apply<value_type>
-    reduce;
-
-  typedef typename property_traits<result_type>::key_type descriptor;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename mpl::if_<is_same<descriptor, vertex_descriptor>,
-                            vertex_global_t, edge_global_t>::type
-    global_map_t;
-
-  return result_type(g.process_group(), get(global_map_t(), g),
-                     get(tag, g.base()), reduce());
-}
-
-namespace mpi {
-  template<typename Vertex, typename EdgeIndex>
-  struct is_mpi_datatype<boost::detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-    : mpl::true_ { };
-}
-
-namespace serialization {
-  template<typename Vertex, typename EdgeIndex>
-  struct is_bitwise_serializable<boost::detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-    : mpl::true_ { };
-
-  template<typename Vertex, typename EdgeIndex>
-  struct implementation_level<boost::detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-   : mpl::int_<object_serializable> {} ;
-
-  template<typename Vertex, typename EdgeIndex>
-  struct tracking_level<boost::detail::csr_edge_descriptor<Vertex, EdgeIndex> >
-   : mpl::int_<track_never> {} ;
-
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_DISTRIBUTED_CSR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/concepts.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/concepts.hpp
deleted file mode 100644
index 9d6e267..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/concepts.hpp
+++ /dev/null
@@ -1,213 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-//
-// Distributed graph concepts and helpers
-//
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_CONCEPTS_HPP
-#define BOOST_GRAPH_DISTRIBUTED_CONCEPTS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/version.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/concept/assert.hpp>
-
-#if BOOST_VERSION >= 103500
-#  include <boost/concept/detail/concept_def.hpp>
-#endif
-
-namespace boost { 
-
-#if BOOST_VERSION >= 103500
-  namespace concepts {
-#endif
-
-#if BOOST_VERSION < 103500
-
-template <class G>
-struct DistributedVertexListGraphConcept
-{
-  typedef typename graph_traits<G>::vertex_iterator vertex_iterator;
-  typedef typename graph_traits<G>::vertices_size_type vertices_size_type;
-  typedef typename graph_traits<G>::traversal_category
-    traversal_category;
-  void constraints() {
-    BOOST_CONCEPT_ASSERT(( GraphConcept<G> ));
-    BOOST_CONCEPT_ASSERT(( MultiPassInputIteratorConcept<vertex_iterator> ));
-    BOOST_CONCEPT_ASSERT(( ConvertibleConcept<traversal_category,
-      distributed_vertex_list_graph_tag> ));
-
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-    // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-    // you want to use vector_as_graph, it is!  I'm sure the graph
-    // library leaves these out all over the place.  Probably a
-    // redesign involving specializing a template with a static
-    // member function is in order :(
-    using boost::vertices;
-#endif      
-    p = vertices(g);
-    v = *p.first;
-    const_constraints(g);
-  }
-  void const_constraints(const G& cg) {
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-    // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-    // you want to use vector_as_graph, it is!  I'm sure the graph
-    // library leaves these out all over the place.  Probably a
-    // redesign involving specializing a template with a static
-    // member function is in order :(
-    using boost::vertices;
-#endif 
-    
-    p = vertices(cg);
-    v = *p.first;
-    V = num_vertices(cg);
-  }
-  std::pair<vertex_iterator,vertex_iterator> p;
-  typename graph_traits<G>::vertex_descriptor v;
-  G g;
-  vertices_size_type V;
-};
-
-template <class G>
-struct DistributedEdgeListGraphConcept
-{
-  typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-  typedef typename graph_traits<G>::edge_iterator edge_iterator;
-  typedef typename graph_traits<G>::edges_size_type edges_size_type;
-  typedef typename graph_traits<G>::traversal_category
-    traversal_category;
-  void constraints() {
-    BOOST_CONCEPT_ASSERT(( GraphConcept<G> ));
-    BOOST_CONCEPT_ASSERT(( MultiPassInputIteratorConcept<edge_iterator> ));
-    BOOST_CONCEPT_ASSERT(( DefaultConstructibleConcept<edge_descriptor> ));
-    BOOST_CONCEPT_ASSERT(( EqualityComparableConcept<edge_descriptor> ));
-    BOOST_CONCEPT_ASSERT(( AssignableConcept<edge_descriptor> ));
-    BOOST_CONCEPT_ASSERT(( ConvertibleConcept<traversal_category,
-      distributed_edge_list_graph_tag> ));
-
-    p = edges(g);
-    e = *p.first;
-    u = source(e, g);
-    v = target(e, g);
-    const_constraints(g);
-  }
-  void const_constraints(const G& cg) {
-    p = edges(cg);
-    E = num_edges(cg);
-    e = *p.first;
-    u = source(e, cg);
-    v = target(e, cg);
-  }
-  std::pair<edge_iterator,edge_iterator> p;
-  typename graph_traits<G>::vertex_descriptor u, v;
-  typename graph_traits<G>::edge_descriptor e;
-  edges_size_type E;
-  G g;
-};
-#else
-  BOOST_concept(DistributedVertexListGraph,(G))
-    : Graph<G>
-  {
-    typedef typename graph_traits<G>::vertex_iterator vertex_iterator;
-    typedef typename graph_traits<G>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<G>::traversal_category
-      traversal_category;
-    ~DistributedVertexListGraph() {
-      BOOST_CONCEPT_ASSERT((MultiPassInputIterator<vertex_iterator>));
-      BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-        distributed_vertex_list_graph_tag>));
-
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-      // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-      // you want to use vector_as_graph, it is!  I'm sure the graph
-      // library leaves these out all over the place.  Probably a
-      // redesign involving specializing a template with a static
-      // member function is in order :(
-      using boost::vertices;
-#endif      
-      p = vertices(g);
-      v = *p.first;
-      const_constraints(g);
-    }
-    void const_constraints(const G& cg) {
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-      // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-      // you want to use vector_as_graph, it is!  I'm sure the graph
-      // library leaves these out all over the place.  Probably a
-      // redesign involving specializing a template with a static
-      // member function is in order :(
-      using boost::vertices;
-#endif 
-      
-      p = vertices(cg);
-      v = *p.first;
-      V = num_vertices(cg);
-    }
-    std::pair<vertex_iterator,vertex_iterator> p;
-    typename graph_traits<G>::vertex_descriptor v;
-    G g;
-    vertices_size_type V;
-  };
-
-  BOOST_concept(DistributedEdgeListGraph,(G))
-    : Graph<G>
-  {
-    typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-    typedef typename graph_traits<G>::edge_iterator edge_iterator;
-    typedef typename graph_traits<G>::edges_size_type edges_size_type;
-    typedef typename graph_traits<G>::traversal_category
-      traversal_category;
-    ~DistributedEdgeListGraph() {
-      BOOST_CONCEPT_ASSERT((MultiPassInputIterator<edge_iterator>));
-      BOOST_CONCEPT_ASSERT((DefaultConstructible<edge_descriptor>));
-      BOOST_CONCEPT_ASSERT((EqualityComparable<edge_descriptor>));
-      BOOST_CONCEPT_ASSERT((Assignable<edge_descriptor>));
-      BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-        distributed_edge_list_graph_tag>));
-
-      p = edges(g);
-      e = *p.first;
-      u = source(e, g);
-      v = target(e, g);
-      const_constraints(g);
-    }
-    void const_constraints(const G& cg) {
-      p = edges(cg);
-      E = num_edges(cg);
-      e = *p.first;
-      u = source(e, cg);
-      v = target(e, cg);
-    }
-    std::pair<edge_iterator,edge_iterator> p;
-    typename graph_traits<G>::vertex_descriptor u, v;
-    typename graph_traits<G>::edge_descriptor e;
-    edges_size_type E;
-    G g;
-  };
-#endif
-
-#if BOOST_VERSION >= 103500
-  } // end namespace concepts
-
-  using concepts::DistributedVertexListGraphConcept;
-  using concepts::DistributedEdgeListGraphConcept;
-#endif
-} // end namespace boost
-
-#if BOOST_VERSION >= 103500
-#  include <boost/concept/detail/concept_undef.hpp>
-#endif
-
-#endif // BOOST_GRAPH_DISTRIBUTED_CONCEPTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/connected_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/connected_components.hpp
deleted file mode 100644
index 3650efb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/connected_components.hpp
+++ /dev/null
@@ -1,763 +0,0 @@
-// Copyright (C) 2004-2006 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: Nick Edmonds
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_CC_HPP
-#define BOOST_GRAPH_PARALLEL_CC_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/detail/is_sorted.hpp>
-#include <boost/assert.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/parallel/caching_property_map.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/distributed/local_subgraph.hpp>
-#include <boost/graph/connected_components.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/optional.hpp>
-#include <functional>
-#include <algorithm>
-#include <vector>
-#include <list>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/iteration_macros.hpp>
-
-#define PBGL_IN_PLACE_MERGE /* In place merge instead of sorting */
-//#define PBGL_SORT_ASSERT    /* Assert sorted for in place merge */
-
-/* Explicit sychronization in pointer doubling step? */
-#define PBGL_EXPLICIT_SYNCH
-//#define PBGL_CONSTRUCT_METAGRAPH
-#ifdef PBGL_CONSTRUCT_METAGRAPH
-#  define MAX_VERTICES_IN_METAGRAPH 10000
-#endif
-
-namespace boost { namespace graph { namespace distributed {
-  namespace cc_detail {
-    enum connected_components_message { 
-      edges_msg, req_parents_msg, parents_msg, root_adj_msg
-    };
-
-    template <typename Vertex>
-    struct metaVertex {
-      metaVertex() {}
-      metaVertex(const Vertex& v) : name(v) {}
-
-      template<typename Archiver>
-      void serialize(Archiver& ar, const unsigned int /*version*/)
-      {
-        ar & name;
-      }
-
-      Vertex name;
-    };
-
-#ifdef PBGL_CONSTRUCT_METAGRAPH
-    // Build meta-graph on result of local connected components
-    template <typename Graph, typename ParentMap, typename RootIterator,
-              typename AdjacencyMap>
-    void
-    build_local_metagraph(const Graph& g, ParentMap p, RootIterator r,
-                          RootIterator r_end, AdjacencyMap& adj)
-    {
-      // TODO: Static assert that AdjacencyMap::value_type is std::vector<vertex_descriptor>
-
-      typedef typename boost::graph::parallel::process_group_type<Graph>::type
-        process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-      BOOST_STATIC_ASSERT((is_same<typename AdjacencyMap::mapped_type,
-                                     std::vector<vertex_descriptor> >::value));
-
-      using boost::graph::parallel::process_group;
-
-      process_group_type pg = process_group(g);
-      process_id_type id = process_id(pg);
-      
-      if (id != 0) {
-
-        // Send component roots and their associated edges to P0
-        for ( ; r != r_end; ++r ) {
-          std::vector<vertex_descriptor> adjs(1, *r); // Root
-          adjs.reserve(adjs.size() + adj[*r].size());
-          for (typename std::vector<vertex_descriptor>::iterator iter = adj[*r].begin();
-               iter != adj[*r].end(); ++iter)
-            adjs.push_back(get(p, *iter)); // Adjacencies
-
-          send(pg, 0, root_adj_msg, adjs); 
-        }
-      }
-      
-      synchronize(pg);
-
-      if (id == 0) {
-        typedef metaVertex<vertex_descriptor> VertexProperties;
-
-        typedef boost::adjacency_list<vecS, vecS, undirectedS, 
-          VertexProperties> metaGraph;
-        typedef typename graph_traits<metaGraph>::vertex_descriptor 
-          meta_vertex_descriptor;
-
-        std::map<vertex_descriptor, meta_vertex_descriptor> vertex_map;
-        std::vector<std::pair<vertex_descriptor, vertex_descriptor> > edges;
-
-        // Receive remote roots and edges
-        while (optional<std::pair<process_id_type, int> > m = probe(pg)) {
-          BOOST_ASSERT(m->second == root_adj_msg);
-
-          std::vector<vertex_descriptor> adjs;
-          receive(pg, m->first, m->second, adjs);
-
-          vertex_map[adjs[0]] = graph_traits<metaGraph>::null_vertex();
-          for (typename std::vector<vertex_descriptor>::iterator iter 
-                 = ++adjs.begin(); iter != adjs.end(); ++iter)
-            edges.push_back(std::make_pair(adjs[0], *iter));
-        }
-
-        // Add local roots and edges
-        for ( ; r != r_end; ++r ) {
-          vertex_map[*r] = graph_traits<metaGraph>::null_vertex();
-          edges.reserve(edges.size() + adj[*r].size());
-          for (typename std::vector<vertex_descriptor>::iterator iter = adj[*r].begin();
-               iter != adj[*r].end(); ++iter)
-            edges.push_back(std::make_pair(*r, get(p, *iter)));
-        } 
-
-        // Build local meta-graph
-        metaGraph mg;
-
-        // Add vertices with property to map back to distributed graph vertex
-        for (typename std::map<vertex_descriptor, meta_vertex_descriptor>::iterator
-               iter = vertex_map.begin(); iter != vertex_map.end(); ++iter)
-          vertex_map[iter->first] 
-            = add_vertex(metaVertex<vertex_descriptor>(iter->first), mg);
-
-        // Build meta-vertex map
-        typename property_map<metaGraph, vertex_descriptor VertexProperties::*>::type 
-          metaVertexMap = get(&VertexProperties::name, mg);
-
-        typename std::vector<std::pair<vertex_descriptor, vertex_descriptor> >
-          ::iterator edge_iter = edges.begin();
-        for ( ; edge_iter != edges.end(); ++edge_iter)
-          add_edge(vertex_map[edge_iter->first], vertex_map[edge_iter->second], mg);
-        
-        edges.clear();
-  
-        // Call connected_components on it
-        typedef typename property_map<metaGraph, vertex_index_t>::type 
-          meta_index_map_type;
-        meta_index_map_type meta_index = get(vertex_index, mg);
-
-        std::vector<std::size_t> mg_component_vec(num_vertices(mg));
-        typedef iterator_property_map<std::vector<std::size_t>::iterator,
-                                      meta_index_map_type>
-        meta_components_map_type;
-        meta_components_map_type mg_component(mg_component_vec.begin(),
-                                              meta_index);
-        std::size_t num_comp = connected_components(mg, mg_component);
-
-        // Update Parent pointers
-        std::vector<meta_vertex_descriptor> roots(num_comp, graph_traits<metaGraph>::null_vertex());
-
-        BGL_FORALL_VERTICES_T(v, mg, metaGraph) {
-          size_t component = get(mg_component, v);
-          if (roots[component] == graph_traits<metaGraph>::null_vertex() ||
-              get(meta_index, v) < get(meta_index, roots[component])) 
-            roots[component] = v;
-        }
-
-        // Set all the local parent pointers
-        BGL_FORALL_VERTICES_T(v, mg, metaGraph) {
-          // Problem in value being put (3rd parameter)
-          put(p, get(metaVertexMap, v), get(metaVertexMap, roots[get(mg_component, v)]));
-        }
-      }
-
-      synchronize(p);
-    }
-#endif
-
-    /* Function object used to remove internal vertices and vertices >
-       the current vertex from the adjacent vertex lists at each
-       root */
-    template <typename Vertex, typename ParentMap>
-    class cull_adjacency_list
-    {
-    public:
-      cull_adjacency_list(const Vertex v, const ParentMap p) : v(v), p(p) {}
-      bool operator() (const Vertex x) { return (get(p, x) == v || x == v); }
-
-    private:
-      const Vertex    v;
-      const ParentMap p;
-    };
-
-    /* Comparison operator used to choose targets for hooking s.t. vertices 
-       that are hooked to are evenly distributed across processors */
-    template <typename OwnerMap, typename LocalMap>
-    class hashed_vertex_compare
-    {
-    public:
-      hashed_vertex_compare (const OwnerMap& o, const LocalMap& l)
-        : owner(o), local(l) { }
-
-      template <typename Vertex>
-      bool operator() (const Vertex x, const Vertex y) 
-      { 
-        if (get(local, x) < get(local, y))
-          return true;
-        else if (get(local, x) == get(local, y))
-          return (get(owner, x) < get(owner, y));
-        return false;
-      }
-
-    private:
-      OwnerMap   owner;
-      LocalMap   local;
-    };
-
-#ifdef PBGL_EXPLICIT_SYNCH
-    template <typename Graph, typename ParentMap, typename VertexList>
-    void
-    request_parent_map_entries(const Graph& g, ParentMap p,
-                               std::vector<VertexList>& parent_requests)
-    {
-      typedef typename boost::graph::parallel::process_group_type<Graph>
-        ::type process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-
-      typedef typename graph_traits<Graph>::vertex_descriptor
-        vertex_descriptor;
-
-      process_group_type pg = process_group(g);
-      
-      /*
-        This should probably be send_oob_with_reply, especially when Dave 
-        finishes prefetch-batching
-      */
-
-      // Send root requests
-      for (process_id_type i = 0; i < num_processes(pg); ++i) {
-        if (!parent_requests[i].empty()) {
-          std::vector<vertex_descriptor> reqs(parent_requests[i].begin(),
-                                              parent_requests[i].end());
-          send(pg, i, req_parents_msg, reqs);
-        }
-      }
-      
-      synchronize(pg);
-      
-      // Receive root requests and reply to them
-      while (optional<std::pair<process_id_type, int> > m = probe(pg)) {
-        std::vector<vertex_descriptor> requests;
-        receive(pg, m->first, m->second, requests);
-        for (std::size_t i = 0; i < requests.size(); ++i)
-          requests[i] = get(p, requests[i]);
-        send(pg, m->first, parents_msg, requests);
-      }
-      
-      synchronize(pg);
-      
-      // Receive requested parents
-      std::vector<vertex_descriptor> responses;
-      for (process_id_type i = 0; i < num_processes(pg); ++i) {
-        if (!parent_requests[i].empty()) {
-          receive(pg, i, parents_msg, responses);
-          std::size_t parent_idx = 0;
-          for (typename VertexList::iterator v = parent_requests[i].begin();
-               v != parent_requests[i].end(); ++v, ++parent_idx)
-            put(p, *v, responses[parent_idx]);
-        }
-      }
-    }
-#endif
-    
-    template<typename DistributedGraph, typename ParentMap>
-    void
-    parallel_connected_components(DistributedGraph& g, ParentMap p)
-    {
-      using boost::connected_components;
-
-      typedef typename graph_traits<DistributedGraph>::adjacency_iterator
-        adjacency_iterator;
-      typedef typename graph_traits<DistributedGraph>::vertex_descriptor
-        vertex_descriptor;
-
-      typedef typename boost::graph::parallel::process_group_type<DistributedGraph>
-        ::type process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-
-      using boost::graph::parallel::process_group;
-
-      process_group_type pg = process_group(g);
-      process_id_type id = process_id(pg);
-
-      // TODO (NGE): Should old_roots, roots, and completed_roots be std::list
-      adjacency_iterator av1, av2;
-      std::vector<vertex_descriptor> old_roots;
-      typename std::vector<vertex_descriptor>::iterator liter;
-      typename std::vector<vertex_descriptor>::iterator aliter;
-      typename std::map<vertex_descriptor,
-                        std::vector<vertex_descriptor> > adj;
-
-      typedef typename property_map<DistributedGraph, vertex_owner_t>::const_type
-        OwnerMap;
-      OwnerMap owner = get(vertex_owner, g);
-      typedef typename property_map<DistributedGraph, vertex_local_t>::const_type
-        LocalMap;
-      LocalMap local = get(vertex_local, g);
-
-      // We need to hold on to all of the parent pointers
-      p.set_max_ghost_cells(0);
-
-      //
-      // STAGE 1 : Compute local components
-      //
-      local_subgraph<const DistributedGraph> ls(g);
-      typedef typename property_map<local_subgraph<const DistributedGraph>,
-                                    vertex_index_t>::type local_index_map_type;
-      local_index_map_type local_index = get(vertex_index, ls);
-
-      // Compute local connected components
-      std::vector<std::size_t> ls_components_vec(num_vertices(ls));
-      typedef iterator_property_map<std::vector<std::size_t>::iterator,
-                                    local_index_map_type>
-        ls_components_map_type;
-      ls_components_map_type ls_component(ls_components_vec.begin(),
-                                          local_index);
-      std::size_t num_comp = connected_components(ls, ls_component);
-
-      std::vector<vertex_descriptor> 
-        roots(num_comp, graph_traits<DistributedGraph>::null_vertex());
-
-      BGL_FORALL_VERTICES_T(v, g, DistributedGraph) {
-        size_t component = get(ls_component, v);
-        if (roots[component] == graph_traits<DistributedGraph>::null_vertex() ||
-            get(local_index, v) < get(local_index, roots[component])) 
-          roots[component] = v;
-      }
-
-      // Set all the local parent pointers
-      BGL_FORALL_VERTICES_T(v, g, DistributedGraph) {
-        put(p, v, roots[get(ls_component, v)]);
-      }
-
-      if (num_processes(pg) == 1) return;
-
-      // Build adjacency list for all roots
-      BGL_FORALL_VERTICES_T(v, g, DistributedGraph) {
-        std::vector<vertex_descriptor>& my_adj = adj[get(p, v)];
-        for (boost::tie(av1, av2) = adjacent_vertices(v, g);
-             av1 != av2; ++av1) {
-          if (get(owner, *av1) != id) my_adj.push_back(*av1);
-        }
-      }
-
-      // For all vertices adjacent to a local vertex get p(v)
-      for ( liter = roots.begin(); liter != roots.end(); ++liter ) {
-        std::vector<vertex_descriptor>& my_adj = adj[*liter];
-        for ( aliter = my_adj.begin(); aliter != my_adj.end(); ++aliter )
-          request(p, *aliter);
-      }
-      synchronize(p);
-
-      // Update adjacency list at root to make sure all adjacent
-      // vertices are roots of remote components
-      for ( liter = roots.begin(); liter != roots.end(); ++liter )
-        {
-          std::vector<vertex_descriptor>& my_adj = adj[*liter];
-          for ( aliter = my_adj.begin(); aliter != my_adj.end(); ++aliter )
-            *aliter = get(p, *aliter);
-
-          my_adj.erase
-            (std::remove_if(my_adj.begin(), my_adj.end(),
-                       cull_adjacency_list<vertex_descriptor, 
-                                           ParentMap>(*liter, p) ),
-             my_adj.end());
-          // This sort needs to be here to make sure the initial
-          // adjacency list is sorted
-          std::sort(my_adj.begin(), my_adj.end(), std::less<vertex_descriptor>());
-          my_adj.erase(std::unique(my_adj.begin(), my_adj.end()), my_adj.end());
-        }
-
-      // Get p(v) for the new adjacent roots
-      p.clear();
-      for ( liter = roots.begin(); liter != roots.end(); ++liter ) {
-        std::vector<vertex_descriptor>& my_adj = adj[*liter];
-        for ( aliter = my_adj.begin(); aliter != my_adj.end(); ++aliter )
-          request(p, *aliter);
-      }
-#ifdef PBGL_EXPLICIT_SYNCH
-      synchronize(p);
-#endif
-
-      // Lastly, remove roots with no adjacent vertices, this is
-      // unnecessary but will speed up sparse graphs
-      for ( liter = roots.begin(); liter != roots.end(); /*in loop*/)
-        {
-          if ( adj[*liter].empty() )
-            liter = roots.erase(liter);
-          else
-            ++liter;
-        }
-
-#ifdef PBGL_CONSTRUCT_METAGRAPH
-      /* TODO: If the number of roots is sufficiently small, we can 
-               use a 'problem folding' approach like we do in MST
-               to gather all the roots and their adjacencies on one proc
-               and solve for the connected components of the meta-graph */
-      using boost::parallel::all_reduce;
-      std::size_t num_roots = all_reduce(pg, roots.size(), std::plus<std::size_t>());
-      if (num_roots < MAX_VERTICES_IN_METAGRAPH) {
-        build_local_metagraph(g, p, roots.begin(), roots.end(), adj);
-        
-        // For each vertex in g, p(v) = p(p(v)), assign parent of leaf
-        // vertices from first step to final parent
-        BGL_FORALL_VERTICES_T(v, g, DistributedGraph) {
-          put(p, v, get(p, get(p, v)));
-        }
-        
-        synchronize(p);
-        
-        return;
-      }
-#endif
-
-      //
-      // Parallel Phase
-      //
-
-      std::vector<vertex_descriptor> completed_roots;
-      hashed_vertex_compare<OwnerMap, LocalMap> v_compare(owner, local);
-      bool any_hooked;
-      vertex_descriptor new_root;
-
-      std::size_t steps = 0;
-
-      do {
-        ++steps;
-
-        // Pull in new parents for hooking phase
-        synchronize(p);
-
-        //
-        // Hooking
-        //
-        bool hooked = false;
-        completed_roots.clear();
-        for ( liter = roots.begin(); liter != roots.end(); )
-          {
-            new_root = graph_traits<DistributedGraph>::null_vertex();
-            std::vector<vertex_descriptor>& my_adj = adj[*liter];
-            for ( aliter = my_adj.begin(); aliter != my_adj.end(); ++aliter )
-              // try to hook to better adjacent vertex
-              if ( v_compare( get(p, *aliter), *liter ) )
-                new_root = get(p, *aliter);
-
-            if ( new_root != graph_traits<DistributedGraph>::null_vertex() )
-              {
-                hooked = true;
-                put(p, *liter, new_root);
-                old_roots.push_back(*liter);
-                completed_roots.push_back(*liter);
-                liter = roots.erase(liter);
-              }
-            else
-              ++liter;
-          }
-
-        //
-        // Pointer jumping, perform until new roots determined
-        //
-
-        // TODO: Implement cycle reduction rules to reduce this from
-        // O(n) to O(log n) [n = cycle length]
-        bool all_done;
-        std::size_t parent_root_count;
-
-        std::size_t double_steps = 0;
-
-        do {
-          ++double_steps;
-#ifndef PBGL_EXPLICIT_SYNCH
-          // Get p(p(v)) for all old roots, and p(v) for all current roots
-          for ( liter = old_roots.begin(); liter != old_roots.end(); ++liter )
-            request(p, get(p, *liter));
-
-          synchronize(p);
-#else
-          // Build root requests
-          typedef std::set<vertex_descriptor> VertexSet;
-          std::vector<VertexSet> parent_requests(num_processes(pg));
-          for ( liter = old_roots.begin(); liter != old_roots.end(); ++liter )
-            {
-              vertex_descriptor p1 = *liter;
-              if (get(owner, p1) != id) parent_requests[get(owner, p1)].insert(p1);
-              vertex_descriptor p2 = get(p, p1);
-              if (get(owner, p2) != id) parent_requests[get(owner, p2)].insert(p2);
-            }
-
-          request_parent_map_entries(g, p, parent_requests);
-#endif
-          // Perform a pointer jumping step on all old roots
-          for ( liter = old_roots.begin(); liter != old_roots.end(); ++liter )
-              put(p, *liter, get(p, get(p, *liter)));
-
-          // make sure the parent of all old roots is itself a root
-          parent_root_count = 0;
-          for ( liter = old_roots.begin(); liter != old_roots.end(); ++liter )
-            if ( get(p, *liter) == get(p, get(p, *liter)) )
-              parent_root_count++;
-
-          bool done = parent_root_count == old_roots.size();
-
-          all_reduce(pg, &done, &done+1, &all_done,
-                     std::logical_and<bool>());
-        } while ( !all_done );
-#ifdef PARALLEL_BGL_DEBUG
-        if (id == 0) std::cerr << double_steps << " doubling steps.\n";
-#endif
-        //
-        // Add adjacent vertices of just completed roots to adjacent
-        // vertex list at new parent
-        //
-        typename std::vector<vertex_descriptor> outgoing_edges;
-        for ( liter = completed_roots.begin(); liter != completed_roots.end();
-              ++liter )
-          {
-            vertex_descriptor new_parent = get(p, *liter);
-
-            if ( get(owner, new_parent) == id )
-              {
-                std::vector<vertex_descriptor>& my_adj = adj[new_parent];
-                my_adj.reserve(my_adj.size() + adj[*liter].size());
-                my_adj.insert( my_adj.end(),
-                               adj[*liter].begin(), adj[*liter].end() );
-#ifdef PBGL_IN_PLACE_MERGE
-#ifdef PBGL_SORT_ASSERT
-                BOOST_ASSERT(::boost::detail::is_sorted(my_adj.begin(),
-                                                  my_adj.end() - adj[*liter].size(),
-                                                  std::less<vertex_descriptor>()));
-                BOOST_ASSERT(::boost::detail::is_sorted(my_adj.end() - adj[*liter].size(),
-                                                  my_adj.end(),
-                                                  std::less<vertex_descriptor>()));
-#endif
-                std::inplace_merge(my_adj.begin(),
-                                   my_adj.end() - adj[*liter].size(),
-                                   my_adj.end(),
-                                   std::less<vertex_descriptor>());
-#endif
-
-
-              }
-            else if ( adj[*liter].begin() != adj[*liter].end() )
-              {
-                outgoing_edges.clear();
-                outgoing_edges.reserve(adj[*liter].size() + 1);
-                // First element is the destination of the adjacency list
-                outgoing_edges.push_back(new_parent);
-                outgoing_edges.insert(outgoing_edges.end(),
-                                      adj[*liter].begin(), adj[*liter].end() );
-                send(pg, get(owner, new_parent), edges_msg, outgoing_edges);
-                adj[*liter].clear();
-              }
-          }
-        synchronize(pg);
-
-        // Receive edges sent by remote nodes and add them to the
-        // indicated vertex's adjacency list
-        while (optional<std::pair<process_id_type, int> > m
-               = probe(pg))
-          {
-            std::vector<vertex_descriptor> incoming_edges;
-            receive(pg, m->first, edges_msg, incoming_edges);
-            typename std::vector<vertex_descriptor>::iterator aviter
-              = incoming_edges.begin();
-            ++aviter;
-
-            std::vector<vertex_descriptor>& my_adj = adj[incoming_edges[0]];
-
-            my_adj.reserve(my_adj.size() + incoming_edges.size() - 1);
-            my_adj.insert( my_adj.end(), aviter, incoming_edges.end() );
-
-#ifdef PBGL_IN_PLACE_MERGE
-            std::size_t num_incoming_edges = incoming_edges.size();
-#ifdef PBGL_SORT_ASSERT
-            BOOST_ASSERT(::boost::detail::is_sorted(my_adj.begin(),
-                                              my_adj.end() - (num_incoming_edges-1),
-                                              std::less<vertex_descriptor>()));
-            BOOST_ASSERT(::boost::detail::is_sorted(my_adj.end() - (num_incoming_edges-1),
-                                              my_adj.end(),
-                                              std::less<vertex_descriptor>()));
-#endif
-            std::inplace_merge(my_adj.begin(),
-                               my_adj.end() - (num_incoming_edges - 1),
-                               my_adj.end(),
-                               std::less<vertex_descriptor>());
-#endif
-
-          }
-
-
-        // Remove any adjacent vertices that are in the same component
-        // as a root from that root's list
-        for ( liter = roots.begin(); liter != roots.end(); ++liter )
-          {
-            // We can probably get away without sorting and removing
-            // duplicates Though sorting *may* cause root
-            // determination to occur faster by choosing the root with
-            // the most potential to hook to at each step
-            std::vector<vertex_descriptor>& my_adj = adj[*liter];
-            my_adj.erase
-              (std::remove_if(my_adj.begin(), my_adj.end(),
-                         cull_adjacency_list<vertex_descriptor,
-                                             ParentMap>(*liter, p) ),
-               my_adj.end());
-#ifndef PBGL_IN_PLACE_MERGE
-            std::sort(my_adj.begin(), my_adj.end(),
-                 std::less<vertex_descriptor>() );
-#endif
-            my_adj.erase(std::unique(my_adj.begin(), my_adj.end()), my_adj.end());
-          }
-
-        // Reduce result of empty root list test
-        all_reduce(pg, &hooked, &hooked+1, &any_hooked,
-                   std::logical_or<bool>());
-      } while ( any_hooked );
-#ifdef PARALLEL_BGL_DEBUG
-      if (id == 0) std::cerr << steps << " iterations.\n";
-#endif
-      //
-      // Finalize
-      //
-
-      // For each vertex in g, p(v) = p(p(v)), assign parent of leaf
-      // vertices from first step to final parent
-      BGL_FORALL_VERTICES_T(v, g, DistributedGraph) {
-        put(p, v, get(p, get(p, v)));
-      }
-      
-      synchronize(p);
-    }
-
-  } // end namespace cc_detail
-
-  template<typename Graph, typename ParentMap, typename ComponentMap>
-  typename property_traits<ComponentMap>::value_type
-  number_components_from_parents(const Graph& g, ParentMap p, ComponentMap c)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor
-      vertex_descriptor;
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type
-      process_group_type;
-    typedef typename property_traits<ComponentMap>::value_type
-      ComponentMapType;
-
-    process_group_type pg = process_group(g);
-
-    /* Build list of roots */
-    std::vector<vertex_descriptor> my_roots, all_roots;
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if( std::find( my_roots.begin(), my_roots.end(), get(p, v) )
-          == my_roots.end() )
-        my_roots.push_back( get(p, v) );
-    }
-
-    all_gather(pg, my_roots.begin(), my_roots.end(), all_roots);
-
-    /* Number components */
-    std::map<vertex_descriptor, ComponentMapType> comp_numbers;
-    ComponentMapType c_num = 0;
-
-    // Compute component numbers
-    for (std::size_t i = 0; i < all_roots.size(); i++ )
-      if ( comp_numbers.count(all_roots[i]) == 0 )
-        comp_numbers[all_roots[i]] = c_num++;
-
-    // Broadcast component numbers
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      put( c, v, comp_numbers[get(p, v)] );
-    }
-
-    // Broadcast number of components
-    if (process_id(pg) == 0) {
-      typedef typename process_group_type::process_size_type
-        process_size_type;
-      for (process_size_type dest = 1, n = num_processes(pg);
-           dest != n; ++dest)
-        send(pg, dest, 0, c_num);
-    }
-    synchronize(pg);
-
-    if (process_id(pg) != 0) receive(pg, 0, 0, c_num);
-
-    synchronize(c);
-
-    return c_num;
-  }
-
-  template<typename Graph, typename ParentMap>
-  int
-  number_components_from_parents(const Graph& g, ParentMap p, 
-                                 dummy_property_map)
-  {
-    using boost::parallel::all_reduce;
-
-    // Count local roots.
-    int num_roots = 0;
-    BGL_FORALL_VERTICES_T(v, g, Graph)
-      if (get(p, v) == v) ++num_roots;
-    return all_reduce(g.process_group(), num_roots, std::plus<int>());
-  }
-
-  template<typename Graph, typename ComponentMap, typename ParentMap>
-  typename property_traits<ComponentMap>::value_type
-  connected_components
-    (const Graph& g, ComponentMap c, ParentMap p
-     BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag))
-  {
-    cc_detail::parallel_connected_components(g, p);
-    return number_components_from_parents(g, p, c);
-  }
-
-  /* Construct ParentMap by default */
-  template<typename Graph, typename ComponentMap>
-  typename property_traits<ComponentMap>::value_type
-  connected_components
-    ( const Graph& g, ComponentMap c
-      BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag) )
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    std::vector<vertex_descriptor> x(num_vertices(g));
-
-    return connected_components
-             (g, c,
-              make_iterator_property_map(x.begin(), get(vertex_index, g)));
-  }
-} // end namespace distributed
-
-using distributed::connected_components;
-} // end namespace graph
-
-using graph::distributed::connected_components;
-} // end namespace boost
-
-#endif // BOOST_GRAPH_PARALLEL_CC_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/connected_components_parallel_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/connected_components_parallel_search.hpp
deleted file mode 100644
index f3ebf05..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/connected_components_parallel_search.hpp
+++ /dev/null
@@ -1,407 +0,0 @@
-// Copyright (C) 2004-2006 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: Brian Barrett
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_CC_PS_HPP
-#define BOOST_GRAPH_PARALLEL_CC_PS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/optional.hpp>
-#include <algorithm>
-#include <vector>
-#include <queue>
-#include <limits>
-#include <map>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/iteration_macros.hpp>
-
-
-// Connected components algorithm based on a parallel search.
-//
-// Every N nodes starts a parallel search from the first vertex in
-// their local vertex list during the first superstep (the other nodes
-// remain idle during the first superstep to reduce the number of
-// conflicts in numbering the components).  At each superstep, all new
-// component mappings from remote nodes are handled.  If there is no
-// work from remote updates, a new vertex is removed from the local
-// list and added to the work queue.
-//
-// Components are allocated from the component_value_allocator object,
-// which ensures that a given component number is unique in the
-// system, currently by using the rank and number of processes to
-// stride allocations.
-//
-// When two components are discovered to actually be the same
-// component, a mapping is created in the collisions object.  The
-// lower component number is prefered in the resolution, so component
-// numbering resolution is consistent.  After the search has exhausted
-// all vertices in the graph, the mapping is shared with all
-// processes, and they independently resolve the comonent mapping (so
-// O((N * NP) + (V * NP)) work, in O(N + V) time, where N is the
-// number of mappings and V is the number of local vertices).  This
-// phase can likely be significantly sped up if a clever algorithm for
-// the reduction can be found.
-namespace boost { namespace graph { namespace distributed {
-  namespace cc_ps_detail {
-    // Local object for allocating component numbers.  There are two
-    // places this happens in the code, and I was getting sick of them
-    // getting out of sync.  Components are not tightly packed in
-    // numbering, but are numbered to ensure each rank has its own
-    // independent sets of numberings.
-    template<typename component_value_type>
-    class component_value_allocator {
-    public:
-      component_value_allocator(int num, int size) :
-        last(0), num(num), size(size)
-      {
-      }
-
-      component_value_type allocate(void)
-      {
-        component_value_type ret = num + (last * size);
-        last++;
-        return ret;
-      }
-
-    private:
-      component_value_type last;
-      int num;
-      int size;
-    };
-
-
-    // Map of the "collisions" between component names in the global
-    // component mapping.  TO make cleanup easier, component numbers
-    // are added, pointing to themselves, when a new component is
-    // found.  In order to make the results deterministic, the lower
-    // component number is always taken.  The resolver will drill
-    // through the map until it finds a component entry that points to
-    // itself as the next value, allowing some cleanup to happen at
-    // update() time.  Attempts are also made to update the mapping
-    // when new entries are created.
-    //
-    // Note that there's an assumption that the entire mapping is
-    // shared during the end of the algorithm, but before component
-    // name resolution.
-    template<typename component_value_type>
-    class collision_map {
-    public:
-      collision_map() : num_unique(0)
-      {
-      }
-
-      // add new component mapping first time component is used.  Own
-      // function only so that we can sanity check there isn't already
-      // a mapping for that component number (which would be bad)
-      void add(const component_value_type &a) 
-      {
-        BOOST_ASSERT(collisions.count(a) == 0);
-        collisions[a] = a;
-      }
-
-      // add a mapping between component values saying they're the
-      // same component
-      void add(const component_value_type &a, const component_value_type &b)
-      {
-        component_value_type high, low, tmp;
-        if (a > b) {
-          high = a;
-          low = b;
-        } else {
-          high = b;
-          low = a;
-        }
-
-        if (collisions.count(high) != 0 && collisions[high] != low) {
-          tmp = collisions[high];
-          if (tmp > low) {
-            collisions[tmp] = low;
-            collisions[high] = low;
-          } else {
-            collisions[low] = tmp;
-            collisions[high] = tmp;
-          }
-        } else {
-          collisions[high] = low;
-        }
-
-      }
-
-      // get the "real" component number for the given component.
-      // Used to resolve mapping at end of run.
-      component_value_type update(component_value_type a)
-      {
-        BOOST_ASSERT(num_unique > 0);
-        BOOST_ASSERT(collisions.count(a) != 0);
-        return collisions[a];
-      }
-
-      // collapse the collisions tree, so that update is a one lookup
-      // operation.  Count unique components at the same time.
-      void uniqify(void)
-      {
-        typename std::map<component_value_type, component_value_type>::iterator i, end;
-
-        end = collisions.end();
-        for (i = collisions.begin() ; i != end ; ++i) {
-          if (i->first == i->second) {
-            num_unique++;
-          } else {
-            i->second = collisions[i->second];
-          }
-        }
-      }
-
-      // get the number of component entries that have an associated
-      // component number of themselves, which are the real components
-      // used in the final mapping.  This is the number of unique
-      // components in the graph.
-      int unique(void)
-      {
-        BOOST_ASSERT(num_unique > 0);
-        return num_unique;
-      }
-
-      // "serialize" into a vector for communication.
-      std::vector<component_value_type> serialize(void)
-      {
-        std::vector<component_value_type> ret;
-        typename std::map<component_value_type, component_value_type>::iterator i, end;
-
-        end = collisions.end();
-        for (i = collisions.begin() ; i != end ; ++i) {
-          ret.push_back(i->first);
-          ret.push_back(i->second);
-        }
-
-        return ret;
-      }
-
-    private:
-      std::map<component_value_type, component_value_type> collisions;
-      int num_unique;
-    };
-
-
-    // resolver to handle remote updates.  The resolver will add
-    // entries into the collisions map if required, and if it is the
-    // first time the vertex has been touched, it will add the vertex
-    // to the remote queue.  Note that local updates are handled
-    // differently, in the main loop (below).
-
-      // BWB - FIX ME - don't need graph anymore - can pull from key value of Component Map.
-    template<typename ComponentMap, typename work_queue>
-    struct update_reducer {
-      BOOST_STATIC_CONSTANT(bool, non_default_resolver = false);
-
-      typedef typename property_traits<ComponentMap>::value_type component_value_type;
-      typedef typename property_traits<ComponentMap>::key_type vertex_descriptor;
-
-      update_reducer(work_queue *q,
-                     cc_ps_detail::collision_map<component_value_type> *collisions, 
-                     processor_id_type pg_id) :
-        q(q), collisions(collisions), pg_id(pg_id)
-      {
-      }
-
-      // ghost cell initialization routine.  This should never be
-      // called in this imlementation.
-      template<typename K>
-      component_value_type operator()(const K&) const
-      { 
-        return component_value_type(0); 
-      }
-
-      // resolver for remote updates.  I'm not entirely sure why, but
-      // I decided to not change the value of the vertex if it's
-      // already non-infinite.  It doesn't matter in the end, as we'll
-      // touch every vertex in the cleanup phase anyway.  If the
-      // component is currently infinite, set to the new component
-      // number and add the vertex to the work queue.  If it's not
-      // infinite, we've touched it already so don't add it to the
-      // work queue.  Do add a collision entry so that we know the two
-      // components are the same.
-      component_value_type operator()(const vertex_descriptor &v,
-                                      const component_value_type& current,
-                                      const component_value_type& update) const
-      {
-        const component_value_type max = (std::numeric_limits<component_value_type>::max)();
-        component_value_type ret = current;
-
-        if (max == current) {
-          q->push(v);
-          ret = update;
-        } else if (current != update) {
-          collisions->add(current, update);
-        }
-
-        return ret;
-      }                                    
-
-      // So for whatever reason, the property map can in theory call
-      // the resolver with a local descriptor in addition to the
-      // standard global descriptor.  As far as I can tell, this code
-      // path is never taken in this implementation, but I need to
-      // have this code here to make it compile.  We just make a
-      // global descriptor and call the "real" operator().
-      template<typename K>
-      component_value_type operator()(const K& v, 
-                                      const component_value_type& current, 
-                                      const component_value_type& update) const
-      {
-          return (*this)(vertex_descriptor(pg_id, v), current, update);
-      }
-
-    private:
-      work_queue *q;
-      collision_map<component_value_type> *collisions;
-      boost::processor_id_type pg_id;
-    };
-
-  } // namespace cc_ps_detail
-
-
-  template<typename Graph, typename ComponentMap>
-  typename property_traits<ComponentMap>::value_type
-  connected_components_ps(const Graph& g, ComponentMap c)
-  {
-    using boost::graph::parallel::process_group;
-
-    typedef typename property_traits<ComponentMap>::value_type component_value_type;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename boost::graph::parallel::process_group_type<Graph>
-      ::type process_group_type;
-    typedef typename process_group_type::process_id_type process_id_type;
-    typedef std::queue<vertex_descriptor> work_queue;
-
-    static const component_value_type max_component = 
-      (std::numeric_limits<component_value_type>::max)();
-    typename property_map<Graph, vertex_owner_t>::const_type
-      owner = get(vertex_owner, g);
-
-    // standard who am i? stuff
-    process_group_type pg = process_group(g);
-    process_id_type id = process_id(pg);
-
-    // Initialize every vertex to have infinite component number
-    BGL_FORALL_VERTICES_T(v, g, Graph) put(c, v, max_component);
-
-    vertex_iterator current, end;
-    boost::tie(current, end) = vertices(g);
-
-    cc_ps_detail::component_value_allocator<component_value_type> cva(process_id(pg), num_processes(pg));
-    cc_ps_detail::collision_map<component_value_type> collisions;
-    work_queue q;  // this is intentionally a local data structure
-    c.set_reduce(cc_ps_detail::update_reducer<ComponentMap, work_queue>(&q, &collisions, id));
-
-    // add starting work
-    while (true) {
-        bool useful_found = false;
-        component_value_type val = cva.allocate();
-        put(c, *current, val);
-        collisions.add(val);
-        q.push(*current);
-        if (0 != out_degree(*current, g)) useful_found = true;
-        ++current;
-        if (useful_found) break;
-    }
-
-    // Run the loop until everyone in the system is done
-    bool global_done = false;
-    while (!global_done) {
-
-      // drain queue of work for this superstep
-      while (!q.empty()) {
-        vertex_descriptor v = q.front();
-        q.pop();
-        // iterate through outedges of the vertex currently being
-        // examined, setting their component to our component.  There
-        // is no way to end up in the queue without having a component
-        // number already.
-
-        BGL_FORALL_ADJ_T(v, peer, g, Graph) {
-          component_value_type my_component = get(c, v);
-
-          // update other vertex with our component information.
-          // Resolver will handle remote collisions as well as whether
-          // to put the vertex on the work queue or not.  We have to
-          // handle local collisions and work queue management
-          if (id == get(owner, peer)) {
-            if (max_component == get(c, peer)) {
-              put(c, peer, my_component);
-              q.push(peer);
-            } else if (my_component != get(c, peer)) {
-              collisions.add(my_component, get(c, peer));
-            }
-          } else {
-            put(c, peer, my_component);
-          }
-        }
-      }
-
-      // synchronize / start a new superstep.
-      synchronize(pg);
-      global_done = all_reduce(pg, (q.empty() && (current == end)), boost::parallel::minimum<bool>());
-
-      // If the queue is currently empty, add something to do to start
-      // the current superstep (supersteps start at the sync, not at
-      // the top of the while loop as one might expect).  Down at the
-      // bottom of the while loop so that not everyone starts the
-      // algorithm with something to do, to try to reduce component
-      // name conflicts
-      if (q.empty()) {
-        bool useful_found = false;
-        for ( ; current != end && !useful_found ; ++current) {
-          if (max_component == get(c, *current)) {
-            component_value_type val = cva.allocate();
-            put(c, *current, val);
-            collisions.add(val);
-            q.push(*current);
-            if (0 != out_degree(*current, g)) useful_found = true;
-          }
-        }
-      }
-    }
-
-    // share component mappings
-    std::vector<component_value_type> global;
-    std::vector<component_value_type> mine = collisions.serialize();
-    all_gather(pg, mine.begin(), mine.end(), global);
-    for (size_t i = 0 ; i < global.size() ; i += 2) {
-      collisions.add(global[i], global[i + 1]);
-    }
-    collisions.uniqify();
-
-    // update the component mappings
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      put(c, v, collisions.update(get(c, v)));
-    }
-
-    return collisions.unique();
-  }
-
-} // end namespace distributed
-
-} // end namespace graph
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_PARALLEL_CC_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/crauser_et_al_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/crauser_et_al_shortest_paths.hpp
deleted file mode 100644
index 060cbf9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/crauser_et_al_shortest_paths.hpp
+++ /dev/null
@@ -1,658 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-/**************************************************************************
- * This source file implements the variation on Dijkstra's algorithm      *
- * presented by Crauser et al. in:                                        *
- *                                                                        *
- *   Andreas Crauser, Kurt Mehlhorn, Ulrich Meyer, and Peter              *
- *   Sanders. A Parallelization of Dijkstra's Shortest Path               *
- *   Algorithm. In Lubos Brim, Jozef Gruska, and Jiri Zlatuska,          *
- *   editors, Mathematical Foundations of Computer Science (MFCS),        *
- *   volume 1450 of Lecture Notes in Computer Science, pages              *
- *   722--731, 1998. Springer.                                            *
- *                                                                        *
- * This implementation is, however, restricted to the distributed-memory  *
- * case, where the work is distributed by virtue of the vertices being    *
- * distributed. In a shared-memory (single address space) context, we     *
- * would want to add an explicit balancing step.                          *
- **************************************************************************/
-#ifndef BOOST_GRAPH_CRAUSER_ET_AL_SHORTEST_PATHS_HPP
-#define BOOST_GRAPH_CRAUSER_ET_AL_SHORTEST_PATHS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/graph/distributed/detail/dijkstra_shortest_paths.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <functional>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/property_map/property_map_iterator.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <algorithm>
-#include <boost/property_map/parallel/caching_property_map.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/distributed/detail/remote_update_set.hpp>
-#include <vector>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-#ifdef PBGL_ACCOUNTING
-#  include <boost/graph/accounting.hpp>
-#  include <numeric>
-#endif // PBGL_ACCOUNTING
-
-#ifdef MUTABLE_QUEUE
-#    include <boost/pending/mutable_queue.hpp>
-#endif
-
-namespace boost { namespace graph { namespace distributed {
-
-#ifdef PBGL_ACCOUNTING
-struct crauser_et_al_shortest_paths_stats_t
-{
-  /* Total wall-clock time used by the algorithm.*/
-  accounting::time_type execution_time;
-
-  /* The number of vertices deleted in each superstep. */
-  std::vector<std::size_t> deleted_vertices;
-
-  template<typename OutputStream>
-  void print(OutputStream& out)
-  {
-    double avg_deletions = std::accumulate(deleted_vertices.begin(),
-                                           deleted_vertices.end(),
-                                           0.0);
-    avg_deletions /= deleted_vertices.size();
-
-    out << "Problem = \"Single-Source Shortest Paths\"\n"
-        << "Algorithm = \"Crauser et al\"\n"
-        << "Function = crauser_et_al_shortest_paths\n"
-        << "Wall clock time = " << accounting::print_time(execution_time)
-        << "\nSupersteps = " << deleted_vertices.size() << "\n"
-        << "Avg. deletions per superstep = " << avg_deletions << "\n";
-  }
-};
-
-static crauser_et_al_shortest_paths_stats_t crauser_et_al_shortest_paths_stats;
-#endif
-
-namespace detail {
-
-  /************************************************************************
-   * Function objects that perform distance comparisons modified by the   *
-   * minimum or maximum edge weights.                                     *
-   ************************************************************************/
-  template<typename Vertex, typename DistanceMap, typename MinInWeightMap,
-           typename Combine, typename Compare>
-  struct min_in_distance_compare
-    : std::binary_function<Vertex, Vertex, bool>
-  {
-    min_in_distance_compare(DistanceMap d, MinInWeightMap m,
-                            Combine combine, Compare compare)
-      : distance_map(d), min_in_weight(m), combine(combine),
-        compare(compare)
-    {
-    }
-
-    bool operator()(const Vertex& x, const Vertex& y) const
-    {
-      return compare(combine(get(distance_map, x), -get(min_in_weight, x)),
-                     combine(get(distance_map, y), -get(min_in_weight, y)));
-    }
-
-  private:
-    DistanceMap distance_map;
-    MinInWeightMap min_in_weight;
-    Combine combine;
-    Compare compare;
-  };
-
-  template<typename Vertex, typename DistanceMap, typename MinOutWeightMap,
-           typename Combine, typename Compare>
-  struct min_out_distance_compare
-    : std::binary_function<Vertex, Vertex, bool>
-  {
-    min_out_distance_compare(DistanceMap d, MinOutWeightMap m,
-                             Combine combine, Compare compare)
-      : distance_map(d), min_out_weight(m), combine(combine),
-        compare(compare)
-    {
-    }
-
-    bool operator()(const Vertex& x, const Vertex& y) const
-    {
-      return compare(combine(get(distance_map, x), get(min_out_weight, x)),
-                     combine(get(distance_map, y), get(min_out_weight, y)));
-    }
-
-  private:
-    DistanceMap distance_map;
-    MinOutWeightMap min_out_weight;
-    Combine combine;
-    Compare compare;
-  };
-  /************************************************************************/
-
-  /************************************************************************
-   * Dijkstra queue that implements Crauser et al.'s criteria. This queue *
-   * actually stores three separate priority queues, to help expose all   *
-   * vertices that can be processed in a single phase.                    *
-   ************************************************************************/
-  template<typename Graph, typename Combine,
-           typename Compare, typename VertexIndexMap, typename DistanceMap,
-           typename PredecessorMap, typename MinOutWeightMap,
-           typename MinInWeightMap>
-  class crauser_et_al_dijkstra_queue
-    : public graph::detail::remote_update_set<
-               crauser_et_al_dijkstra_queue<
-                 Graph, Combine, Compare, VertexIndexMap, DistanceMap, 
-                 PredecessorMap, MinOutWeightMap, MinInWeightMap>,
-               typename boost::graph::parallel::process_group_type<Graph>::type,
-               typename dijkstra_msg_value<DistanceMap, PredecessorMap>::type,
-               typename property_map<Graph, vertex_owner_t>::const_type>
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor
-      vertex_descriptor;
-    typedef crauser_et_al_dijkstra_queue self_type;
-    typedef dijkstra_msg_value<DistanceMap, PredecessorMap> msg_value_creator;
-    typedef typename msg_value_creator::type msg_value_type;
-    typedef typename graph_traits<Graph>::vertices_size_type
-      vertices_size_type;
-    typedef typename property_map<Graph, vertex_owner_t>::const_type
-      OwnerPropertyMap;
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type
-      process_group_type;
-    typedef graph::detail::remote_update_set<self_type, process_group_type,
-                                             msg_value_type, OwnerPropertyMap>
-      inherited;
-
-    // Priority queue for tentative distances
-    typedef indirect_cmp<DistanceMap, Compare> dist_queue_compare_type;
-
-    typedef typename property_traits<DistanceMap>::value_type distance_type;
-
-#ifdef MUTABLE_QUEUE
-    typedef mutable_queue<vertex_descriptor, std::vector<vertex_descriptor>, 
-                          dist_queue_compare_type, VertexIndexMap> dist_queue_type;
-
-#else
-    typedef relaxed_heap<vertex_descriptor, dist_queue_compare_type,
-                         VertexIndexMap> dist_queue_type;
-#endif // MUTABLE_QUEUE
-
-    // Priority queue for OUT criteria
-    typedef min_out_distance_compare<vertex_descriptor, DistanceMap,
-                                     MinOutWeightMap, Combine, Compare>
-      out_queue_compare_type;
-
-#ifdef MUTABLE_QUEUE
-    typedef mutable_queue<vertex_descriptor, std::vector<vertex_descriptor>, 
-                          out_queue_compare_type, VertexIndexMap> out_queue_type;
-
-#else
-    typedef relaxed_heap<vertex_descriptor, out_queue_compare_type,
-                         VertexIndexMap> out_queue_type;
-#endif // MUTABLE_QUEUE
-
-    // Priority queue for IN criteria
-    typedef min_in_distance_compare<vertex_descriptor, DistanceMap,
-                                    MinInWeightMap, Combine, Compare>
-      in_queue_compare_type;
-
-#ifdef MUTABLE_QUEUE
-    typedef mutable_queue<vertex_descriptor, std::vector<vertex_descriptor>, 
-                          in_queue_compare_type, VertexIndexMap> in_queue_type;
-
-#else
-    typedef relaxed_heap<vertex_descriptor, in_queue_compare_type,
-                         VertexIndexMap> in_queue_type;
-#endif // MUTABLE_QUEUE
-
-    typedef typename process_group_type::process_id_type process_id_type;
-
-  public:
-    typedef typename dist_queue_type::size_type  size_type;
-    typedef typename dist_queue_type::value_type value_type;
-
-    crauser_et_al_dijkstra_queue(const Graph& g,
-                                 const Combine& combine,
-                                 const Compare& compare,
-                                 const VertexIndexMap& id,
-                                 const DistanceMap& distance_map,
-                                 const PredecessorMap& predecessor_map,
-                                 const MinOutWeightMap& min_out_weight,
-                                 const MinInWeightMap& min_in_weight)
-      : inherited(boost::graph::parallel::process_group(g), get(vertex_owner, g)),
-        dist_queue(num_vertices(g),
-                   dist_queue_compare_type(distance_map, compare),
-                   id),
-        out_queue(num_vertices(g),
-                  out_queue_compare_type(distance_map, min_out_weight,
-                                         combine, compare),
-                  id),
-        in_queue(num_vertices(g),
-                 in_queue_compare_type(distance_map, min_in_weight,
-                                       combine, compare),
-                 id),
-        g(g),
-        distance_map(distance_map),
-        predecessor_map(predecessor_map),
-        min_out_weight(min_out_weight),
-        min_in_weight(min_in_weight),
-        min_distance(0),
-        min_out_distance(0)
-#ifdef PBGL_ACCOUNTING
-        , local_deletions(0)
-#endif
-    { }
-
-    void push(const value_type& x)
-    {
-      msg_value_type msg_value =
-        msg_value_creator::create(get(distance_map, x),
-                                  predecessor_value(get(predecessor_map, x)));
-      inherited::update(x, msg_value);
-    }
-
-    void update(const value_type& x) { push(x); }
-
-    void pop()
-    {
-      // Remove from distance queue
-      dist_queue.remove(top_vertex);
-
-      // Remove from OUT queue
-      out_queue.remove(top_vertex);
-
-      // Remove from IN queue
-      in_queue.remove(top_vertex);
-
-#ifdef PBGL_ACCOUNTING
-      ++local_deletions;
-#endif
-    }
-
-    vertex_descriptor& top() { return top_vertex; }
-    const vertex_descriptor& top() const { return top_vertex; }
-
-    bool empty()
-    {
-      inherited::collect();
-
-      // If there are no suitable messages, wait until we get something
-      while (!has_suitable_vertex()) {
-        if (do_synchronize()) return true;
-      }
-      // Return true only if nobody has any messages; false if we
-      // have suitable messages
-      return false;
-    }
-
-    bool do_synchronize()
-    {
-      using boost::parallel::all_reduce;
-      using boost::parallel::minimum;
-
-      inherited::synchronize();
-
-      // TBD: could use combine here, but then we need to stop using
-      // minimum<distance_type>() as the function object.
-      distance_type local_distances[2];
-      local_distances[0] =
-        dist_queue.empty()? (std::numeric_limits<distance_type>::max)()
-        : get(distance_map, dist_queue.top());
-
-      local_distances[1] =
-        out_queue.empty()? (std::numeric_limits<distance_type>::max)()
-        : (get(distance_map, out_queue.top())
-           + get(min_out_weight, out_queue.top()));
-
-      distance_type distances[2];
-      all_reduce(this->process_group, local_distances, local_distances + 2,
-                 distances, minimum<distance_type>());
-      min_distance = distances[0];
-      min_out_distance = distances[1];
-
-#ifdef PBGL_ACCOUNTING
-      std::size_t deletions = 0;
-      all_reduce(this->process_group, &local_deletions, &local_deletions + 1,
-                 &deletions, std::plus<std::size_t>());
-      if (process_id(this->process_group) == 0) {
-        crauser_et_al_shortest_paths_stats.deleted_vertices.push_back(deletions);
-      }
-      local_deletions = 0;
-      BOOST_ASSERT(deletions > 0);
-#endif
-
-      return min_distance == (std::numeric_limits<distance_type>::max)();
-    }
-
-  private:
-    vertex_descriptor predecessor_value(vertex_descriptor v) const
-    { return v; }
-
-    vertex_descriptor
-    predecessor_value(property_traits<dummy_property_map>::reference) const
-    { return graph_traits<Graph>::null_vertex(); }
-
-    bool has_suitable_vertex() const
-    {
-      if (!dist_queue.empty()) {
-        top_vertex = dist_queue.top();
-        if (get(distance_map, dist_queue.top()) <= min_out_distance)
-          return true;
-      }
-
-      if (!in_queue.empty()) {
-        top_vertex = in_queue.top();
-        return (get(distance_map, top_vertex)
-                - get(min_in_weight, top_vertex)) <= min_distance;
-      }
-      return false;
-    }
-
-  public:
-    void
-    receive_update(process_id_type source, vertex_descriptor vertex,
-                   distance_type distance)
-    {
-      // Update the queue if the received distance is better than
-      // the distance we know locally
-      if (distance < get(distance_map, vertex)
-          || (distance == get(distance_map, vertex)
-              && source == process_id(this->process_group))) {
-        // Update the local distance map
-        put(distance_map, vertex, distance);
-
-        bool is_in_queue = dist_queue.contains(vertex);
-
-        if (!is_in_queue) {
-          dist_queue.push(vertex);
-          out_queue.push(vertex);
-          in_queue.push(vertex);
-        }
-        else {
-          dist_queue.update(vertex);
-          out_queue.update(vertex);
-          in_queue.update(vertex);
-        }
-      }
-    }
-
-    void
-    receive_update(process_id_type source, vertex_descriptor vertex,
-                   std::pair<distance_type, vertex_descriptor> p)
-    {
-      if (p.first <= get(distance_map, vertex)) {
-        put(predecessor_map, vertex, p.second);
-        receive_update(source, vertex, p.first);
-      }
-    }
-
-  private:
-    dist_queue_type           dist_queue;
-    out_queue_type            out_queue;
-    in_queue_type             in_queue;
-    mutable value_type        top_vertex;
-    const Graph&              g;
-    DistanceMap               distance_map;
-    PredecessorMap            predecessor_map;
-    MinOutWeightMap           min_out_weight;
-    MinInWeightMap            min_in_weight;
-    distance_type             min_distance;
-    distance_type             min_out_distance;
-#ifdef PBGL_ACCOUNTING
-    std::size_t               local_deletions;
-#endif
-  };
-  /************************************************************************/
-
-  /************************************************************************
-   * Initialize the property map that contains the minimum incoming edge  *
-   * weight for each vertex. There are separate implementations for       *
-   * directed, bidirectional, and undirected graph.                       *
-   ************************************************************************/
-  template<typename Graph, typename MinInWeightMap, typename WeightMap,
-           typename Inf, typename Compare>
-  void
-  initialize_min_in_weights(const Graph& g, MinInWeightMap min_in_weight,
-                            WeightMap weight, Inf inf, Compare compare,
-                            directed_tag, incidence_graph_tag)
-  {
-    // Send minimum weights off to the owners
-    set_property_map_role(vertex_distance, min_in_weight);
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      BGL_FORALL_OUTEDGES_T(v, e, g, Graph) {
-        if (get(weight, e) < get(min_in_weight, target(e, g)))
-          put(min_in_weight, target(e, g), get(weight, e));
-      }
-    }
-
-    using boost::graph::parallel::process_group;
-    synchronize(process_group(g));
-
-    // Replace any infinities with zeros
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if (get(min_in_weight, v) == inf) put(min_in_weight, v, 0);
-    }
-  }
-
-  template<typename Graph, typename MinInWeightMap, typename WeightMap,
-           typename Inf, typename Compare>
-  void
-  initialize_min_in_weights(const Graph& g, MinInWeightMap min_in_weight,
-                            WeightMap weight, Inf inf, Compare compare,
-                            directed_tag, bidirectional_graph_tag)
-  {
-#if 0
-    typename property_map<Graph, vertex_local_t>::const_type
-      local = get(vertex_local, g);
-
-    // This code assumes that the properties of the in-edges are
-    // available locally. This is not necessarily the case, so don't
-    // do this yet.
-    set_property_map_role(vertex_distance, min_in_weight);
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if (in_edges(v, g).first != in_edges(v, g).second) {
-        std::cerr << "weights(" << g.distribution().global(get(local, v))
-                  << ") = ";
-        BGL_FORALL_INEDGES_T(v, e, g, Graph) {
-          std::cerr << get(weight, e) << ' ';
-        }
-        std::cerr << std::endl;
-        put(min_in_weight, v,
-            *std::min_element
-            (make_property_map_iterator(weight, in_edges(v, g).first),
-             make_property_map_iterator(weight, in_edges(v, g).second),
-             compare));
-      } else {
-        put(min_in_weight, v, 0);
-      }
-      std::cerr << "miw(" << g.distribution().global(get(local, v)) << ") = "
-                << get(min_in_weight, v) << std::endl;
-    }
-#else
-    initialize_min_in_weights(g, min_in_weight, weight, inf, compare,
-                              directed_tag(), incidence_graph_tag());
-#endif
-  }
-
-  template<typename Graph, typename MinInWeightMap, typename WeightMap,
-           typename Inf, typename Compare>
-  inline void
-  initialize_min_in_weights(const Graph&, MinInWeightMap, WeightMap, Inf,
-                            Compare, undirected_tag, bidirectional_graph_tag)
-  {
-    // In weights are the same as out weights, so do nothing
-  }
-  /************************************************************************/
-
-
-  /************************************************************************
-   * Initialize the property map that contains the minimum outgoing edge  *
-   * weight for each vertex.                                              *
-   ************************************************************************/
-  template<typename Graph, typename MinOutWeightMap, typename WeightMap,
-           typename Compare>
-  void
-  initialize_min_out_weights(const Graph& g, MinOutWeightMap min_out_weight,
-                             WeightMap weight, Compare compare)
-  {
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if (out_edges(v, g).first != out_edges(v, g).second) {
-        put(min_out_weight, v,
-            *std::min_element
-            (make_property_map_iterator(weight, out_edges(v, g).first),
-             make_property_map_iterator(weight, out_edges(v, g).second),
-             compare));
-        if (get(min_out_weight, v) < weight_type(0))
-            boost::throw_exception(negative_edge());
-      }
-    }
-  }
-
-  /************************************************************************/
-
-} // end namespace detail
-
-template<typename DistributedGraph, typename DijkstraVisitor,
-         typename PredecessorMap, typename DistanceMap, typename WeightMap,
-         typename IndexMap, typename ColorMap, typename Compare,
-         typename Combine, typename DistInf, typename DistZero>
-void
-crauser_et_al_shortest_paths
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-   IndexMap index_map, ColorMap color_map,
-   Compare compare, Combine combine, DistInf inf, DistZero zero,
-   DijkstraVisitor vis)
-{
-
-#ifdef PBGL_ACCOUNTING
-  crauser_et_al_shortest_paths_stats.deleted_vertices.clear();
-  crauser_et_al_shortest_paths_stats.execution_time = accounting::get_time();
-#endif
-
-  // Property map that stores the lowest edge weight outgoing from
-  // each vertex. If a vertex has no out-edges, the stored weight
-  // is zero.
-  typedef typename property_traits<WeightMap>::value_type weight_type;
-  typedef iterator_property_map<weight_type*, IndexMap> MinOutWeightMap;
-  std::vector<weight_type> min_out_weights_vec(num_vertices(g), inf);
-  MinOutWeightMap min_out_weight(&min_out_weights_vec.front(), index_map);
-  detail::initialize_min_out_weights(g, min_out_weight, weight, compare);
-
-  // Property map that stores the lowest edge weight incoming to
-  // each vertex. For undirected graphs, this will just be a
-  // shallow copy of the version for outgoing edges.
-  typedef typename graph_traits<DistributedGraph>::directed_category
-    directed_category;
-  const bool is_undirected =
-    is_same<directed_category, undirected_tag>::value;
-  typedef MinOutWeightMap MinInWeightMap;
-  std::vector<weight_type>
-    min_in_weights_vec(is_undirected? 1 : num_vertices(g), inf);
-  MinInWeightMap min_in_weight(&min_in_weights_vec.front(), index_map);
-  typedef typename graph_traits<DistributedGraph>::traversal_category
-    category;
-  detail::initialize_min_in_weights(g, min_in_weight, weight, inf, compare,
-                                    directed_category(), category());
-
-  // Initialize local portion of property maps
-  typename graph_traits<DistributedGraph>::vertex_iterator ui, ui_end;
-  for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-    put(distance, *ui, inf);
-    put(predecessor, *ui, *ui);
-  }
-  put(distance, s, zero);
-
-  // Dijkstra Queue
-  typedef detail::crauser_et_al_dijkstra_queue
-            <DistributedGraph, Combine, Compare, IndexMap, DistanceMap, 
-             PredecessorMap, MinOutWeightMap, MinInWeightMap>
-    Queue;
-
-  Queue Q(g, combine, compare, index_map, distance, predecessor,
-          min_out_weight, is_undirected? min_out_weight : min_in_weight);
-
-  // Parallel Dijkstra visitor
-  ::boost::detail::dijkstra_bfs_visitor<
-      DijkstraVisitor, Queue, WeightMap,
-      boost::parallel::caching_property_map<PredecessorMap>,
-      boost::parallel::caching_property_map<DistanceMap>, Combine, Compare
-    > bfs_vis(vis, Q, weight,
-              boost::parallel::make_caching_property_map(predecessor),
-              boost::parallel::make_caching_property_map(distance),
-              combine, compare, zero);
-
-  set_property_map_role(vertex_color, color_map);
-  set_property_map_role(vertex_distance, distance);
-
-  breadth_first_search(g, s, Q, bfs_vis, color_map);
-
-#ifdef PBGL_ACCOUNTING
-  crauser_et_al_shortest_paths_stats.execution_time =
-    accounting::get_time() - crauser_et_al_shortest_paths_stats.execution_time;
-#endif
-}
-
-template<typename DistributedGraph, typename PredecessorMap,
-         typename DistanceMap, typename WeightMap>
-void
-crauser_et_al_shortest_paths
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance, WeightMap weight)
-{
-  typedef typename property_traits<DistanceMap>::value_type distance_type;
-
-  std::vector<default_color_type> colors(num_vertices(g), white_color);
-
-  crauser_et_al_shortest_paths(g, s, predecessor, distance, weight,
-                               get(vertex_index, g),
-                               make_iterator_property_map(&colors[0],
-                                                          get(vertex_index, g)),
-                               std::less<distance_type>(),
-                               closed_plus<distance_type>(),
-                               (std::numeric_limits<distance_type>::max)(),
-                               distance_type(),
-                               dijkstra_visitor<>());
-}
-
-template<typename DistributedGraph, typename PredecessorMap,
-         typename DistanceMap>
-void
-crauser_et_al_shortest_paths
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance)
-{
-  crauser_et_al_shortest_paths(g, s, predecessor, distance,
-                               get(edge_weight, g));
-}
-
-} // end namespace distributed
-
-#ifdef PBGL_ACCOUNTING
-using distributed::crauser_et_al_shortest_paths_stats;
-#endif
-
-using distributed::crauser_et_al_shortest_paths;
-
-
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_CRAUSER_ET_AL_SHORTEST_PATHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/dehne_gotz_min_spanning_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/dehne_gotz_min_spanning_tree.hpp
deleted file mode 100644
index 0e7c1cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/dehne_gotz_min_spanning_tree.hpp
+++ /dev/null
@@ -1,937 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-/**
- * This header implements four distributed algorithms to compute
- * the minimum spanning tree (actually, minimum spanning forest) of a
- * graph. All of the algorithms were implemented as specified in the
- * paper by Dehne and Gotz:
- *
- *   Frank Dehne and Silvia Gotz. Practical Parallel Algorithms for Minimum
- *   Spanning Trees. In Symposium on Reliable Distributed Systems,
- *   pages 366--371, 1998.
- *
- * There are four algorithm variants implemented.
- */
-
-#ifndef BOOST_DEHNE_GOTZ_MIN_SPANNING_TREE_HPP
-#define BOOST_DEHNE_GOTZ_MIN_SPANNING_TREE_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <vector>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/limits.hpp>
-#include <utility>
-#include <boost/pending/disjoint_sets.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/property_map/parallel/caching_property_map.hpp>
-#include <boost/graph/vertex_and_edge_range.hpp>
-#include <boost/graph/kruskal_min_spanning_tree.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/parallel/detail/untracked_pair.hpp>
-#include <cmath>
-
-namespace boost { namespace graph { namespace distributed {
-
-namespace detail {
-  /**
-   * Binary function object type that selects the (edge, weight) pair
-   * with the minimum weight. Used within a Boruvka merge step to select
-   * the candidate edges incident to each supervertex.
-   */
-  struct smaller_weighted_edge
-  {
-    template<typename Edge, typename Weight>
-    std::pair<Edge, Weight>
-    operator()(const std::pair<Edge, Weight>& x,
-               const std::pair<Edge, Weight>& y) const
-    { return x.second < y.second? x : y; }
-  };
-
-  /**
-   * Unary predicate that determines if the source and target vertices
-   * of the given edge have the same representative within a disjoint
-   * sets data structure. Used to indicate when an edge is now a
-   * self-loop because of supervertex merging in Boruvka's algorithm.
-   */
-  template<typename DisjointSets, typename Graph>
-  class do_has_same_supervertex
-  {
-  public:
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-    do_has_same_supervertex(DisjointSets& dset, const Graph& g)
-      : dset(dset), g(g) { }
-
-    bool operator()(edge_descriptor e)
-    { return dset.find_set(source(e, g)) == dset.find_set(target(e, g));    }
-
-  private:
-    DisjointSets&  dset;
-    const Graph&   g;
-  };
-
-  /**
-   * Build a @ref do_has_same_supervertex object.
-   */
-  template<typename DisjointSets, typename Graph>
-  inline do_has_same_supervertex<DisjointSets, Graph>
-  has_same_supervertex(DisjointSets& dset, const Graph& g)
-  { return do_has_same_supervertex<DisjointSets, Graph>(dset, g); }
-
-  /** \brief A single distributed Boruvka merge step.
-   *
-   * A distributed Boruvka merge step involves computing (globally)
-   * the minimum weight edges incident on each supervertex and then
-   * merging supervertices along these edges. Once supervertices are
-   * merged, self-loops are eliminated.
-   *
-   * The set of parameters passed to this algorithm is large, and
-   * considering this algorithm in isolation there are several
-   * redundancies. However, the more asymptotically efficient
-   * distributed MSF algorithms require mixing Boruvka steps with the
-   * merging of local MSFs (implemented in
-   * merge_local_minimum_spanning_trees_step): the interaction of the
-   * two algorithms mandates the addition of these parameters.
-   *
-   * \param pg The process group over which communication should be
-   * performed. Within the distributed Boruvka algorithm, this will be
-   * equivalent to \code process_group(g); however, in the context of
-   * the mixed MSF algorithms, the process group @p pg will be a
-   * (non-strict) process subgroup of \code process_group(g).
-   *
-   * \param g The underlying graph on which the MSF is being
-   * computed. The type of @p g must model DistributedGraph, but there
-   * are no other requirements because the edge and (super)vertex
-   * lists are passed separately.
-   *
-   * \param weight_map Property map containing the weights of each
-   * edge. The type of this property map must model
-   * ReadablePropertyMap and must support caching.
-   *
-   * \param out An output iterator that will be written with the set
-   * of edges selected to build the MSF. Every process within the
-   * process group @p pg will receive all edges in the MSF.
-   *
-   * \param dset Disjoint sets data structure mapping from vertices in
-   * the graph @p g to their representative supervertex.
-   *
-   * \param supervertex_map Mapping from supervertex descriptors to
-   * indices.
-   *
-   * \param supervertices A vector containing all of the
-   * supervertices. Will be modified to include only the remaining
-   * supervertices after merging occurs.
-   *
-   * \param edge_list The list of edges that remain in the graph. This
-   * list will be pruned to remove self-loops once MSF edges have been
-   * found.
-   */
-  template<typename ProcessGroup, typename Graph, typename WeightMap,
-           typename OutputIterator, typename RankMap, typename ParentMap,
-           typename SupervertexMap, typename Vertex, typename EdgeList>
-  OutputIterator
-  boruvka_merge_step(ProcessGroup pg, const Graph& g, WeightMap weight_map,
-                     OutputIterator out,
-                     disjoint_sets<RankMap, ParentMap>& dset,
-                     SupervertexMap supervertex_map,
-                     std::vector<Vertex>& supervertices,
-                     EdgeList& edge_list)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor
-                                                           vertex_descriptor;
-    typedef typename graph_traits<Graph>::vertices_size_type
-                                                           vertices_size_type;
-    typedef typename graph_traits<Graph>::edge_descriptor  edge_descriptor;
-    typedef typename EdgeList::iterator                    edge_iterator;
-    typedef typename property_traits<WeightMap>::value_type
-                                                           weight_type;
-    typedef boost::parallel::detail::untracked_pair<edge_descriptor, 
-                                       weight_type>        w_edge;
-    typedef typename property_traits<SupervertexMap>::value_type
-                                                           supervertex_index;
-
-    smaller_weighted_edge min_edge;
-    weight_type inf = (std::numeric_limits<weight_type>::max)();
-
-    // Renumber the supervertices
-    for (std::size_t i = 0; i < supervertices.size(); ++i)
-      put(supervertex_map, supervertices[i], i);
-
-    // BSP-B1: Find local minimum-weight edges for each supervertex
-    std::vector<w_edge> candidate_edges(supervertices.size(),
-                                        w_edge(edge_descriptor(), inf));
-    for (edge_iterator ei = edge_list.begin(); ei != edge_list.end(); ++ei) {
-      weight_type w = get(weight_map, *ei);
-      supervertex_index u =
-        get(supervertex_map, dset.find_set(source(*ei, g)));
-      supervertex_index v =
-        get(supervertex_map, dset.find_set(target(*ei, g)));
-
-      if (u != v) {
-        candidate_edges[u] = min_edge(candidate_edges[u], w_edge(*ei, w));
-        candidate_edges[v] = min_edge(candidate_edges[v], w_edge(*ei, w));
-      }
-    }
-
-    // BSP-B2 (a): Compute global minimum edges for each supervertex
-    all_reduce(pg,
-               &candidate_edges[0],
-               &candidate_edges[0] + candidate_edges.size(),
-               &candidate_edges[0], min_edge);
-
-    // BSP-B2 (b): Use the edges to compute sequentially the new
-    // connected components and emit the edges.
-    for (vertices_size_type i = 0; i < candidate_edges.size(); ++i) {
-      if (candidate_edges[i].second != inf) {
-        edge_descriptor e = candidate_edges[i].first;
-        vertex_descriptor u = dset.find_set(source(e, g));
-        vertex_descriptor v = dset.find_set(target(e, g));
-        if (u != v) {
-          // Emit the edge, but cache the weight so everyone knows it
-          cache(weight_map, e, candidate_edges[i].second);
-          *out++ = e;
-
-          // Link the two supervertices
-          dset.link(u, v);
-
-          // Whichever vertex was reparented will be removed from the
-          // list of supervertices.
-          vertex_descriptor victim = u;
-          if (dset.find_set(u) == u) victim = v;
-          supervertices[get(supervertex_map, victim)] =
-            graph_traits<Graph>::null_vertex();
-        }
-      }
-    }
-
-    // BSP-B3: Eliminate self-loops
-    edge_list.erase(std::remove_if(edge_list.begin(), edge_list.end(),
-                                   has_same_supervertex(dset, g)),
-                    edge_list.end());
-
-    // TBD: might also eliminate multiple edges between supervertices
-    // when the edges do not have the best weight, but this is not
-    // strictly necessary.
-
-    // Eliminate supervertices that have been absorbed
-    supervertices.erase(std::remove(supervertices.begin(),
-                                    supervertices.end(),
-                                    graph_traits<Graph>::null_vertex()),
-                        supervertices.end());
-
-    return out;
-  }
-
-  /**
-   * An edge descriptor adaptor that reroutes the source and target
-   * edges to different vertices, but retains the original edge
-   * descriptor for, e.g., property maps. This is used when we want to
-   * turn a set of edges in the overall graph into a set of edges
-   * between supervertices.
-   */
-  template<typename Graph>
-  struct supervertex_edge_descriptor
-  {
-    typedef supervertex_edge_descriptor self_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-    Vertex source;
-    Vertex target;
-    Edge e;
-
-    operator Edge() const { return e; }
-
-    friend inline bool operator==(const self_type& x, const self_type& y)
-    { return x.e == y.e; }
-
-    friend inline bool operator!=(const self_type& x, const self_type& y)
-    { return x.e != y.e; }
-  };
-
-  template<typename Graph>
-  inline typename supervertex_edge_descriptor<Graph>::Vertex
-  source(supervertex_edge_descriptor<Graph> se, const Graph&)
-  { return se.source; }
-
-  template<typename Graph>
-  inline typename supervertex_edge_descriptor<Graph>::Vertex
-  target(supervertex_edge_descriptor<Graph> se, const Graph&)
-  { return se.target; }
-
-  /**
-   * Build a supervertex edge descriptor from a normal edge descriptor
-   * using the given disjoint sets data structure to identify
-   * supervertex representatives.
-   */
-  template<typename Graph, typename DisjointSets>
-  struct build_supervertex_edge_descriptor
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::edge_descriptor   Edge;
-
-    typedef Edge argument_type;
-    typedef supervertex_edge_descriptor<Graph> result_type;
-
-    build_supervertex_edge_descriptor() : g(0), dsets(0) { }
-
-    build_supervertex_edge_descriptor(const Graph& g, DisjointSets& dsets)
-      : g(&g), dsets(&dsets) { }
-
-    result_type operator()(argument_type e) const
-    {
-      result_type result;
-      result.source = dsets->find_set(source(e, *g));
-      result.target = dsets->find_set(target(e, *g));
-      result.e = e;
-      return result;
-    }
-
-  private:
-    const Graph* g;
-    DisjointSets* dsets;
-  };
-
-  template<typename Graph, typename DisjointSets>
-  inline build_supervertex_edge_descriptor<Graph, DisjointSets>
-  make_supervertex_edge_descriptor(const Graph& g, DisjointSets& dsets)
-  { return build_supervertex_edge_descriptor<Graph, DisjointSets>(g, dsets); }
-
-  template<typename T>
-  struct identity_function
-  {
-    typedef T argument_type;
-    typedef T result_type;
-
-    result_type operator()(argument_type x) const { return x; }
-  };
-
-  template<typename Graph, typename DisjointSets, typename EdgeMapper>
-  class is_not_msf_edge
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-  public:
-    is_not_msf_edge(const Graph& g, DisjointSets dset, EdgeMapper edge_mapper)
-      : g(g), dset(dset), edge_mapper(edge_mapper) { }
-
-    bool operator()(Edge e)
-    {
-      Vertex u = dset.find_set(source(edge_mapper(e), g));
-      Vertex v = dset.find_set(target(edge_mapper(e), g));
-      if (u == v) return true;
-      else {
-        dset.link(u, v);
-        return false;
-      }
-    }
-
-  private:
-    const Graph& g;
-    DisjointSets dset;
-    EdgeMapper edge_mapper;
-  };
-
-  template<typename Graph, typename ForwardIterator, typename EdgeList,
-           typename EdgeMapper, typename RankMap, typename ParentMap>
-  void
-  sorted_mutating_kruskal(const Graph& g,
-                          ForwardIterator first_vertex,
-                          ForwardIterator last_vertex,
-                          EdgeList& edge_list, EdgeMapper edge_mapper,
-                          RankMap rank_map, ParentMap parent_map)
-  {
-    typedef disjoint_sets<RankMap, ParentMap> DisjointSets;
-
-    // Build and initialize disjoint-sets data structure
-    DisjointSets dset(rank_map, parent_map);
-    for (ForwardIterator v = first_vertex; v != last_vertex; ++v)
-      dset.make_set(*v);
-
-    is_not_msf_edge<Graph, DisjointSets, EdgeMapper>
-      remove_non_msf_edges(g, dset, edge_mapper);
-    edge_list.erase(std::remove_if(edge_list.begin(), edge_list.end(),
-                                   remove_non_msf_edges),
-                    edge_list.end());
-  }
-
-  /**
-   * Merge local minimum spanning forests from p processes into
-   * minimum spanning forests on p/D processes (where D is the tree
-   * factor, currently fixed at 3), eliminating unnecessary edges in
-   * the process.
-   *
-   * As with @ref boruvka_merge_step, this routine has many
-   * parameters, not all of which make sense within the limited
-   * context of this routine. The parameters are required for the
-   * Boruvka and local MSF merging steps to interoperate.
-   *
-   * \param pg The process group on which local minimum spanning
-   * forests should be merged. The top (D-1)p/D processes will be
-   * eliminated, and a new process subgroup containing p/D processors
-   * will be returned. The value D is a constant factor that is
-   * currently fixed to 3.
-   *
-   * \param g The underlying graph whose MSF is being computed. It must model
-   * the DistributedGraph concept.
-   *
-   * \param first_vertex Iterator to the first vertex in the graph
-   * that should be considered. While the local MSF merging algorithm
-   * typically operates on the entire vertex set, within the hybrid
-   * distributed MSF algorithms this will refer to the first
-   * supervertex.
-   *
-   * \param last_vertex The past-the-end iterator for the vertex list.
-   *
-   * \param edge_list The list of local edges that will be
-   * considered. For the p/D processes that remain, this list will
-   * contain edges in the MSF known to the vertex after other
-   * processes' edge lists have been merged. The edge list must be
-   * sorted in order of increasing weight.
-   *
-   * \param weight Property map containing the weights of each
-   * edge. The type of this property map must model
-   * ReadablePropertyMap and must support caching.
-   *
-   * \param global_index Mapping from vertex descriptors to a global
-   * index. The type must model ReadablePropertyMap.
-   *
-   * \param edge_mapper A function object that can remap edge descriptors
-   * in the edge list to any alternative edge descriptor. This
-   * function object will be the identity function when a pure merging
-   * of local MSFs is required, but may be a mapping to a supervertex
-   * edge when the local MSF merging occurs on a supervertex
-   * graph. This function object saves us the trouble of having to
-   * build a supervertex graph adaptor.
-   *
-   * \param already_local_msf True when the edge list already
-   * constitutes a local MSF. If false, Kruskal's algorithm will first
-   * be applied to the local edge list to select MSF edges.
-   *
-   * \returns The process subgroup containing the remaining p/D
-   * processes. If the size of this process group is greater than one,
-   * the MSF edges contained in the edge list do not constitute an MSF
-   * for the entire graph.
-   */
-  template<typename ProcessGroup, typename Graph, typename ForwardIterator,
-           typename EdgeList, typename WeightMap, typename GlobalIndexMap,
-           typename EdgeMapper>
-  ProcessGroup
-  merge_local_minimum_spanning_trees_step(ProcessGroup pg,
-                                          const Graph& g,
-                                          ForwardIterator first_vertex,
-                                          ForwardIterator last_vertex,
-                                          EdgeList& edge_list,
-                                          WeightMap weight,
-                                          GlobalIndexMap global_index,
-                                          EdgeMapper edge_mapper,
-                                          bool already_local_msf)
-  {
-    typedef typename ProcessGroup::process_id_type process_id_type;
-    typedef typename EdgeList::value_type edge_descriptor;
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    // The tree factor, often called "D"
-    process_id_type const tree_factor = 3;
-    process_id_type num_procs = num_processes(pg);
-    process_id_type id = process_id(pg);
-    process_id_type procs_left = (num_procs + tree_factor - 1) / tree_factor;
-    std::size_t n = std::size_t(last_vertex - first_vertex);
-
-    if (!already_local_msf) {
-      // Compute local minimum spanning forest. We only care about the
-      // edges in the MSF, because only edges in the local MSF can be in
-      // the global MSF.
-      std::vector<std::size_t> ranks(n);
-      std::vector<vertex_descriptor> parents(n);
-      detail::sorted_mutating_kruskal
-        (g, first_vertex, last_vertex,
-         edge_list, edge_mapper,
-         make_iterator_property_map(ranks.begin(), global_index),
-         make_iterator_property_map(parents.begin(), global_index));
-    }
-
-    typedef std::pair<edge_descriptor, weight_type> w_edge;
-
-    // Order edges based on their weights.
-    indirect_cmp<WeightMap, std::less<weight_type> > cmp_edge_weight(weight);
-
-    if (id < procs_left) {
-      // The p/D processes that remain will receive local MSF edges from
-      // D-1 other processes.
-      synchronize(pg);
-      for (process_id_type from_id = procs_left + id; from_id < num_procs;
-           from_id += procs_left) {
-        std::size_t num_incoming_edges;
-        receive(pg, from_id, 0, num_incoming_edges);
-        if (num_incoming_edges > 0) {
-          std::vector<w_edge> incoming_edges(num_incoming_edges);
-          receive(pg, from_id, 1, &incoming_edges[0], num_incoming_edges);
-
-          edge_list.reserve(edge_list.size() + num_incoming_edges);
-          for (std::size_t i = 0; i < num_incoming_edges; ++i) {
-            cache(weight, incoming_edges[i].first, incoming_edges[i].second);
-            edge_list.push_back(incoming_edges[i].first);
-          }
-          std::inplace_merge(edge_list.begin(),
-                             edge_list.end() - num_incoming_edges,
-                             edge_list.end(),
-                             cmp_edge_weight);
-        }
-      }
-
-      // Compute the local MSF from union of the edges in the MSFs of
-      // all children.
-      std::vector<std::size_t> ranks(n);
-      std::vector<vertex_descriptor> parents(n);
-      detail::sorted_mutating_kruskal
-        (g, first_vertex, last_vertex,
-         edge_list, edge_mapper,
-         make_iterator_property_map(ranks.begin(), global_index),
-         make_iterator_property_map(parents.begin(), global_index));
-    } else {
-      // The (D-1)p/D processes that are dropping out of further
-      // computations merely send their MSF edges to their parent
-      // process in the process tree.
-      send(pg, id % procs_left, 0, edge_list.size());
-      if (edge_list.size() > 0) {
-        std::vector<w_edge> outgoing_edges;
-        outgoing_edges.reserve(edge_list.size());
-        for (std::size_t i = 0; i < edge_list.size(); ++i) {
-          outgoing_edges.push_back(std::make_pair(edge_list[i],
-                                                  get(weight, edge_list[i])));
-        }
-        send(pg, id % procs_left, 1, &outgoing_edges[0],
-             outgoing_edges.size());
-      }
-      synchronize(pg);
-    }
-
-    // Return a process subgroup containing the p/D parent processes
-    return process_subgroup(pg,
-                            make_counting_iterator(process_id_type(0)),
-                            make_counting_iterator(procs_left));
-  }
-} // end namespace detail
-
-// ---------------------------------------------------------------------
-// Dense Boruvka MSF algorithm
-// ---------------------------------------------------------------------
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename VertexIndexMap, typename RankMap, typename ParentMap,
-         typename SupervertexMap>
-OutputIterator
-dense_boruvka_minimum_spanning_tree(const Graph& g, WeightMap weight_map,
-                                    OutputIterator out,
-                                    VertexIndexMap index_map,
-                                    RankMap rank_map, ParentMap parent_map,
-                                    SupervertexMap supervertex_map)
-{
-  using boost::graph::parallel::process_group;
-
-  typedef typename graph_traits<Graph>::traversal_category traversal_category;
-
-  BOOST_STATIC_ASSERT((is_convertible<traversal_category*,
-                                      vertex_list_graph_tag*>::value));
-
-  typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor  vertex_descriptor;
-  typedef typename graph_traits<Graph>::vertex_iterator    vertex_iterator;
-  typedef typename graph_traits<Graph>::edge_descriptor    edge_descriptor;
-
-  // Don't throw away cached edge weights
-  weight_map.set_max_ghost_cells(0);
-
-  // Initialize the disjoint sets structures
-  disjoint_sets<RankMap, ParentMap> dset(rank_map, parent_map);
-  vertex_iterator vi, vi_end;
-  for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-    dset.make_set(*vi);
-
-  std::vector<vertex_descriptor> supervertices;
-  supervertices.assign(vertices(g).first, vertices(g).second);
-
-  // Use Kruskal's algorithm to find the minimum spanning forest
-  // considering only the local edges. The resulting edges are not
-  // necessarily going to be in the final minimum spanning
-  // forest. However, any edge not part of the local MSF cannot be a
-  // part of the global MSF, so we should have eliminated some edges
-  // from consideration.
-  std::vector<edge_descriptor> edge_list;
-  kruskal_minimum_spanning_tree
-    (make_vertex_and_edge_range(g, vertices(g).first, vertices(g).second,
-                                edges(g).first, edges(g).second),
-     std::back_inserter(edge_list),
-     boost::weight_map(weight_map).
-     vertex_index_map(index_map));
-
-  // While the number of supervertices is decreasing, keep executing
-  // Boruvka steps to identify additional MSF edges. This loop will
-  // execute log |V| times.
-  vertices_size_type old_num_supervertices;
-  do {
-    old_num_supervertices = supervertices.size();
-    out = detail::boruvka_merge_step(process_group(g), g,
-                                     weight_map, out,
-                                     dset, supervertex_map, supervertices,
-                                     edge_list);
-  } while (supervertices.size() < old_num_supervertices);
-
-  return out;
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename VertexIndex>
-OutputIterator
-dense_boruvka_minimum_spanning_tree(const Graph& g, WeightMap weight_map,
-                                    OutputIterator out, VertexIndex i_map)
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-  std::vector<std::size_t> ranks(num_vertices(g));
-  std::vector<vertex_descriptor> parents(num_vertices(g));
-  std::vector<std::size_t> supervertices(num_vertices(g));
-
-  return dense_boruvka_minimum_spanning_tree
-           (g, weight_map, out, i_map,
-            make_iterator_property_map(ranks.begin(), i_map),
-            make_iterator_property_map(parents.begin(), i_map),
-            make_iterator_property_map(supervertices.begin(), i_map));
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator>
-OutputIterator
-dense_boruvka_minimum_spanning_tree(const Graph& g, WeightMap weight_map,
-                                    OutputIterator out)
-{
-  return dense_boruvka_minimum_spanning_tree(g, weight_map, out,
-                                             get(vertex_index, g));
-}
-
-// ---------------------------------------------------------------------
-// Merge local MSFs MSF algorithm
-// ---------------------------------------------------------------------
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename GlobalIndexMap>
-OutputIterator
-merge_local_minimum_spanning_trees(const Graph& g, WeightMap weight,
-                                   OutputIterator out,
-                                   GlobalIndexMap global_index)
-{
-  using boost::graph::parallel::process_group_type;
-  using boost::graph::parallel::process_group;
-
-  typedef typename graph_traits<Graph>::traversal_category traversal_category;
-
-  BOOST_STATIC_ASSERT((is_convertible<traversal_category*,
-                                      vertex_list_graph_tag*>::value));
-
-  typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-  // Don't throw away cached edge weights
-  weight.set_max_ghost_cells(0);
-
-  // Compute the initial local minimum spanning forests
-  std::vector<edge_descriptor> edge_list;
-  kruskal_minimum_spanning_tree
-    (make_vertex_and_edge_range(g, vertices(g).first, vertices(g).second,
-                                edges(g).first, edges(g).second),
-     std::back_inserter(edge_list),
-     boost::weight_map(weight).vertex_index_map(global_index));
-
-  // Merge the local MSFs from p processes into p/D processes,
-  // reducing the number of processes in each step. Continue looping
-  // until either (a) the current process drops out or (b) only one
-  // process remains in the group. This loop will execute log_D p
-  // times.
-  typename process_group_type<Graph>::type pg = process_group(g);
-  while (pg && num_processes(pg) > 1) {
-    pg = detail::merge_local_minimum_spanning_trees_step
-           (pg, g, vertices(g).first, vertices(g).second,
-            edge_list, weight, global_index,
-            detail::identity_function<edge_descriptor>(), true);
-  }
-
-  // Only process 0 has the entire edge list, so emit it to the output
-  // iterator.
-  if (pg && process_id(pg) == 0) {
-    out = std::copy(edge_list.begin(), edge_list.end(), out);
-  }
-
-  synchronize(process_group(g));
-  return out;
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator>
-inline OutputIterator
-merge_local_minimum_spanning_trees(const Graph& g, WeightMap weight,
-                                   OutputIterator out)
-{
-  return merge_local_minimum_spanning_trees(g, weight, out,
-                                            get(vertex_index, g));
-}
-
-// ---------------------------------------------------------------------
-// Boruvka-then-merge MSF algorithm
-// ---------------------------------------------------------------------
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename GlobalIndexMap, typename RankMap, typename ParentMap,
-         typename SupervertexMap>
-OutputIterator
-boruvka_then_merge(const Graph& g, WeightMap weight, OutputIterator out,
-                   GlobalIndexMap index, RankMap rank_map,
-                   ParentMap parent_map, SupervertexMap supervertex_map)
-{
-  using std::log;
-  using boost::graph::parallel::process_group_type;
-  using boost::graph::parallel::process_group;
-
-  typedef typename graph_traits<Graph>::traversal_category traversal_category;
-
-  BOOST_STATIC_ASSERT((is_convertible<traversal_category*,
-                                      vertex_list_graph_tag*>::value));
-
-  typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor  vertex_descriptor;
-  typedef typename graph_traits<Graph>::vertex_iterator    vertex_iterator;
-  typedef typename graph_traits<Graph>::edge_descriptor    edge_descriptor;
-
-  // Don't throw away cached edge weights
-  weight.set_max_ghost_cells(0);
-
-  // Compute the initial local minimum spanning forests
-  std::vector<edge_descriptor> edge_list;
-  kruskal_minimum_spanning_tree
-    (make_vertex_and_edge_range(g, vertices(g).first, vertices(g).second,
-                                edges(g).first, edges(g).second),
-     std::back_inserter(edge_list),
-     boost::weight_map(weight).
-     vertex_index_map(index));
-
-  // Initialize the disjoint sets structures for Boruvka steps
-  disjoint_sets<RankMap, ParentMap> dset(rank_map, parent_map);
-  vertex_iterator vi, vi_end;
-  for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-    dset.make_set(*vi);
-
-  // Construct the initial set of supervertices (all vertices)
-  std::vector<vertex_descriptor> supervertices;
-  supervertices.assign(vertices(g).first, vertices(g).second);
-
-  // Continue performing Boruvka merge steps until the number of
-  // supervertices reaches |V| / (log_D p)^2.
-  const std::size_t tree_factor = 3; // TBD: same as above! should be param
-  double log_d_p = log((double)num_processes(process_group(g)))
-                 / log((double)tree_factor);
-  vertices_size_type target_supervertices =
-    vertices_size_type(num_vertices(g) / (log_d_p * log_d_p));
-  vertices_size_type old_num_supervertices;
-  while (supervertices.size() > target_supervertices) {
-    old_num_supervertices = supervertices.size();
-    out = detail::boruvka_merge_step(process_group(g), g,
-                                     weight, out, dset,
-                                     supervertex_map, supervertices,
-                                     edge_list);
-    if (supervertices.size() == old_num_supervertices)
-      return out;
-  }
-
-  // Renumber the supervertices
-  for (std::size_t i = 0; i < supervertices.size(); ++i)
-    put(supervertex_map, supervertices[i], i);
-
-  // Merge local MSFs on the supervertices. (D-1)p/D processors drop
-  // out each iteration, so this loop executes log_D p times.
-  typename process_group_type<Graph>::type pg = process_group(g);
-  bool have_msf = false;
-  while (pg && num_processes(pg) > 1) {
-    pg = detail::merge_local_minimum_spanning_trees_step
-           (pg, g, supervertices.begin(), supervertices.end(),
-            edge_list, weight, supervertex_map,
-            detail::make_supervertex_edge_descriptor(g, dset),
-            have_msf);
-    have_msf = true;
-  }
-
-  // Only process 0 has the complete list of _supervertex_ MST edges,
-  // so emit those to the output iterator. This is not the complete
-  // list of edges in the MSF, however: the Boruvka steps in the
-  // beginning of the algorithm emitted any edges used to merge
-  // supervertices.
-  if (pg && process_id(pg) == 0)
-    out = std::copy(edge_list.begin(), edge_list.end(), out);
-
-  synchronize(process_group(g));
-  return out;
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename GlobalIndexMap>
-inline OutputIterator
-boruvka_then_merge(const Graph& g, WeightMap weight, OutputIterator out,
-                    GlobalIndexMap index)
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-  std::vector<vertices_size_type> ranks(num_vertices(g));
-  std::vector<vertex_descriptor> parents(num_vertices(g));
-  std::vector<vertices_size_type> supervertex_indices(num_vertices(g));
-
-  return boruvka_then_merge
-           (g, weight, out, index,
-            make_iterator_property_map(ranks.begin(), index),
-            make_iterator_property_map(parents.begin(), index),
-            make_iterator_property_map(supervertex_indices.begin(), index));
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator>
-inline OutputIterator
-boruvka_then_merge(const Graph& g, WeightMap weight, OutputIterator out)
-{ return boruvka_then_merge(g, weight, out, get(vertex_index, g)); }
-
-// ---------------------------------------------------------------------
-// Boruvka-mixed-merge MSF algorithm
-// ---------------------------------------------------------------------
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename GlobalIndexMap, typename RankMap, typename ParentMap,
-         typename SupervertexMap>
-OutputIterator
-boruvka_mixed_merge(const Graph& g, WeightMap weight, OutputIterator out,
-                    GlobalIndexMap index, RankMap rank_map,
-                    ParentMap parent_map, SupervertexMap supervertex_map)
-{
-  using boost::graph::parallel::process_group_type;
-  using boost::graph::parallel::process_group;
-
-  typedef typename graph_traits<Graph>::traversal_category traversal_category;
-
-  BOOST_STATIC_ASSERT((is_convertible<traversal_category*,
-                                      vertex_list_graph_tag*>::value));
-
-  typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor  vertex_descriptor;
-  typedef typename graph_traits<Graph>::vertex_iterator    vertex_iterator;
-  typedef typename graph_traits<Graph>::edge_descriptor    edge_descriptor;
-
-  // Don't throw away cached edge weights
-  weight.set_max_ghost_cells(0);
-
-  // Initialize the disjoint sets structures for Boruvka steps
-  disjoint_sets<RankMap, ParentMap> dset(rank_map, parent_map);
-  vertex_iterator vi, vi_end;
-  for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-    dset.make_set(*vi);
-
-  // Construct the initial set of supervertices (all vertices)
-  std::vector<vertex_descriptor> supervertices;
-  supervertices.assign(vertices(g).first, vertices(g).second);
-
-  // Compute the initial local minimum spanning forests
-  std::vector<edge_descriptor> edge_list;
-  kruskal_minimum_spanning_tree
-    (make_vertex_and_edge_range(g, vertices(g).first, vertices(g).second,
-                                edges(g).first, edges(g).second),
-     std::back_inserter(edge_list),
-     boost::weight_map(weight).
-     vertex_index_map(index));
-
-  if (num_processes(process_group(g)) == 1) {
-    return std::copy(edge_list.begin(), edge_list.end(), out);
-  }
-
-  // Like the merging local MSFs algorithm and the Boruvka-then-merge
-  // algorithm, each iteration of this loop reduces the number of
-  // processes by a constant factor D, and therefore we require log_D
-  // p iterations. Note also that the number of edges in the edge list
-  // decreases geometrically, giving us an efficient distributed MSF
-  // algorithm.
-  typename process_group_type<Graph>::type pg = process_group(g);
-  vertices_size_type old_num_supervertices;
-  while (pg && num_processes(pg) > 1) {
-    // A single Boruvka step. If this doesn't change anything, we're done
-    old_num_supervertices = supervertices.size();
-    out = detail::boruvka_merge_step(pg, g, weight, out, dset,
-                                     supervertex_map, supervertices,
-                                     edge_list);
-    if (old_num_supervertices == supervertices.size()) {
-      edge_list.clear();
-      break;
-    }
-
-    // Renumber the supervertices
-    for (std::size_t i = 0; i < supervertices.size(); ++i)
-      put(supervertex_map, supervertices[i], i);
-
-    // A single merging of local MSTs, which reduces the number of
-    // processes we're using by a constant factor D.
-    pg = detail::merge_local_minimum_spanning_trees_step
-           (pg, g, supervertices.begin(), supervertices.end(),
-            edge_list, weight, supervertex_map,
-            detail::make_supervertex_edge_descriptor(g, dset),
-            true);
-
-  }
-
-  // Only process 0 has the complete edge list, so emit it for the
-  // user. Note that list edge list only contains the MSF edges in the
-  // final supervertex graph: all of the other edges were used to
-  // merge supervertices and have been emitted by the Boruvka steps,
-  // although only process 0 has received the complete set.
-  if (pg && process_id(pg) == 0)
-    out = std::copy(edge_list.begin(), edge_list.end(), out);
-
-  synchronize(process_group(g));
-  return out;
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator,
-         typename GlobalIndexMap>
-inline OutputIterator
-boruvka_mixed_merge(const Graph& g, WeightMap weight, OutputIterator out,
-                    GlobalIndexMap index)
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-  std::vector<vertices_size_type> ranks(num_vertices(g));
-  std::vector<vertex_descriptor> parents(num_vertices(g));
-  std::vector<vertices_size_type> supervertex_indices(num_vertices(g));
-
-  return boruvka_mixed_merge
-           (g, weight, out, index,
-            make_iterator_property_map(ranks.begin(), index),
-            make_iterator_property_map(parents.begin(), index),
-            make_iterator_property_map(supervertex_indices.begin(), index));
-}
-
-template<typename Graph, typename WeightMap, typename OutputIterator>
-inline OutputIterator
-boruvka_mixed_merge(const Graph& g, WeightMap weight, OutputIterator out)
-{ return boruvka_mixed_merge(g, weight, out, get(vertex_index, g)); }
-
-} // end namespace distributed
-
-using distributed::dense_boruvka_minimum_spanning_tree;
-using distributed::merge_local_minimum_spanning_trees;
-using distributed::boruvka_then_merge;
-using distributed::boruvka_mixed_merge;
-
-} } // end namespace boost::graph
-
-
-#endif // BOOST_DEHNE_GOTZ_MIN_SPANNING_TREE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/delta_stepping_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/delta_stepping_shortest_paths.hpp
deleted file mode 100644
index 97a04e6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/delta_stepping_shortest_paths.hpp
+++ /dev/null
@@ -1,513 +0,0 @@
-// Copyright (C) 2007 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-/**************************************************************************
- * This source file implements the Delta-stepping algorithm:              *
- *                                                                        *
- *   Ulrich Meyer and Peter Sanders. Parallel Shortest Path for Arbitrary *
- *   Graphs. In Proceedings from the 6th International Euro-Par           *
- *   Conference on Parallel Processing, pages 461--470, 2000.             *
- *                                                                        * 
- *   Ulrich Meyer, Peter Sanders: [Delta]-stepping: A Parallelizable      *
- *   Shortest Path Algorithm. J. Algorithms 49(1): 114-152, 2003.         *
- *                                                                        *
- * There are several potential optimizations we could still perform for   *
- * this algorithm implementation:                                         *
- *                                                                        *
- *   - Implement "shortcuts", which bound the number of reinsertions      *
- *     in a single bucket (to one). The computation of shortcuts looks    *
- *     expensive in a distributed-memory setting, but it could be         *
- *     ammortized over many queries.                                      *
- *                                                                        *
- *   - The size of the "buckets" data structure can be bounded to         *
- *     max_edge_weight/delta buckets, if we treat the buckets as a        *
- *     circular array.                                                    *
- *                                                                        *
- *   - If we partition light/heavy edges ahead of time, we could improve  *
- *     relaxation performance by only iterating over the right portion    *
- *     of the out-edge list each time.                                    *
- *                                                                        *
- *   - Implement a more sophisticated algorithm for guessing "delta",     *
- *     based on the shortcut-finding algorithm.                           *
- **************************************************************************/
-#ifndef BOOST_GRAPH_DELTA_STEPPING_SHORTEST_PATHS_HPP
-#define BOOST_GRAPH_DELTA_STEPPING_SHORTEST_PATHS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <limits>
-#include <list>
-#include <vector>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/distributed/detail/dijkstra_shortest_paths.hpp>
-#include <utility> // for std::pair
-#include <functional> // for std::logical_or
-#include <boost/graph/parallel/algorithm.hpp> // for all_reduce
-#include <cassert>
-#include <algorithm> // for std::min, std::max
-#include <boost/graph/parallel/simple_trigger.hpp>
-
-#ifdef PBGL_DELTA_STEPPING_DEBUG
-#  include <iostream> // for std::cerr
-#endif
-
-namespace boost { namespace graph { namespace distributed {
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-class delta_stepping_impl {
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<Graph>::degree_size_type Degree;
-  typedef typename property_traits<EdgeWeightMap>::value_type Dist;
-  typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-    ProcessGroup;
-
-  typedef std::list<Vertex> Bucket;
-  typedef typename Bucket::iterator BucketIterator;
-  typedef typename std::vector<Bucket*>::size_type BucketIndex;
-
-  typedef detail::dijkstra_msg_value<DistanceMap, PredecessorMap> MessageValue;
-
-  enum { 
-    // Relax a remote vertex. The message contains a pair<Vertex,
-    // MessageValue>, the first part of which is the vertex whose
-    // tentative distance is being relaxed and the second part
-    // contains either the new distance (if there is no predecessor
-    // map) or a pair with the distance and predecessor.
-    msg_relax 
-  };
-
-public:
-  delta_stepping_impl(const Graph& g,
-                      PredecessorMap predecessor, 
-                      DistanceMap distance, 
-                      EdgeWeightMap weight,
-                      Dist delta);
-
-  delta_stepping_impl(const Graph& g,
-                      PredecessorMap predecessor, 
-                      DistanceMap distance, 
-                      EdgeWeightMap weight);
-
-  void run(Vertex s);
-
-private:
-  // Relax the edge (u, v), creating a new best path of distance x.
-  void relax(Vertex u, Vertex v, Dist x);
-
-  // Synchronize all of the processes, by receiving all messages that
-  // have not yet been received.
-  void synchronize();
-
-  // Handle a relax message that contains only the target and
-  // distance. This kind of message will be received when the
-  // predecessor map is a dummy_property_map.
-  void handle_relax_message(Vertex v, Dist x) { relax(v, v, x); }
-
-  // Handle a relax message that contains the source (predecessor),
-  // target, and distance. This kind of message will be received when
-  // the predecessor map is not a dummy_property_map.
-  void handle_relax_message(Vertex v, const std::pair<Dist, Vertex>& p)
-  { relax(p.second, v, p.first); }
-  
-  // Setup triggers for msg_relax messages
-  void setup_triggers();
-
-  void handle_msg_relax(int /*source*/, int /*tag*/,
-                        const std::pair<Vertex, typename MessageValue::type>& data,
-                        trigger_receive_context)
-  { handle_relax_message(data.first, data.second); }
-
-  const Graph& g;
-  PredecessorMap predecessor;
-  DistanceMap distance;
-  EdgeWeightMap weight;
-  Dist delta;
-  ProcessGroup pg;
-  typename property_map<Graph, vertex_owner_t>::const_type owner;
-  typename property_map<Graph, vertex_local_t>::const_type local;
-
-  // A "property map" that contains the position of each vertex in
-  // whatever bucket it resides in.
-  std::vector<BucketIterator> position_in_bucket;
-
-  // Bucket data structure. The ith bucket contains all local vertices
-  // with (tentative) distance in the range [i*delta,
-  // (i+1)*delta). 
-  std::vector<Bucket*> buckets;
-
-  // This "dummy" list is used only so that we can initialize the
-  // position_in_bucket property map with non-singular iterators. This
-  // won't matter for most implementations of the C++ Standard
-  // Library, but it avoids undefined behavior and allows us to run
-  // with library "debug modes".
-  std::list<Vertex> dummy_list;
-
-  // A "property map" that states which vertices have been deleted
-  // from the bucket in this iteration.
-  std::vector<bool> vertex_was_deleted;
-};
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>::
-delta_stepping_impl(const Graph& g,
-                    PredecessorMap predecessor, 
-                    DistanceMap distance, 
-                    EdgeWeightMap weight,
-                    Dist delta)
-    : g(g),
-      predecessor(predecessor),
-      distance(distance),
-      weight(weight),
-      delta(delta),
-      pg(boost::graph::parallel::process_group_adl(g), attach_distributed_object()),
-      owner(get(vertex_owner, g)),
-      local(get(vertex_local, g))
-{
-  setup_triggers();
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>::
-delta_stepping_impl(const Graph& g,
-                    PredecessorMap predecessor, 
-                    DistanceMap distance, 
-                    EdgeWeightMap weight)
-    : g(g),
-      predecessor(predecessor),
-      distance(distance),
-      weight(weight),
-      pg(boost::graph::parallel::process_group_adl(g), attach_distributed_object()),
-      owner(get(vertex_owner, g)),
-      local(get(vertex_local, g))
-{
-  using boost::parallel::all_reduce;
-  using boost::parallel::maximum;
-  using std::max;
-
-  // Compute the maximum edge weight and degree
-  Dist max_edge_weight = 0;
-  Degree max_degree = 0;
-  BGL_FORALL_VERTICES_T(u, g, Graph) {
-    max_degree = max BOOST_PREVENT_MACRO_SUBSTITUTION (max_degree, out_degree(u, g));
-    BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-      max_edge_weight = max BOOST_PREVENT_MACRO_SUBSTITUTION (max_edge_weight, get(weight, e));
-  }
-
-  max_edge_weight = all_reduce(pg, max_edge_weight, maximum<Dist>());
-  max_degree = all_reduce(pg, max_degree, maximum<Degree>());
-
-  // Take a guess at delta, based on what works well for random
-  // graphs.
-  delta = max_edge_weight / max_degree;
-  if (delta == 0)
-    delta = 1;
-
-  setup_triggers();
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-void
-delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>::
-run(Vertex s)
-{
-  Dist inf = (std::numeric_limits<Dist>::max)();
-
-  // None of the vertices are stored in the bucket.
-  position_in_bucket.clear();
-  position_in_bucket.resize(num_vertices(g), dummy_list.end());
-
-  // None of the vertices have been deleted
-  vertex_was_deleted.clear();
-  vertex_was_deleted.resize(num_vertices(g), false);
-
-  // No path from s to any other vertex, yet
-  BGL_FORALL_VERTICES_T(v, g, Graph)
-    put(distance, v, inf);
-
-  // The distance to the starting node is zero
-  if (get(owner, s) == process_id(pg))
-    // Put "s" into its bucket (bucket 0)
-    relax(s, s, 0);
-  else
-    // Note that we know the distance to s is zero
-    cache(distance, s, 0);
-
-  BucketIndex max_bucket = (std::numeric_limits<BucketIndex>::max)();
-  BucketIndex current_bucket = 0;
-  do {
-    // Synchronize with all of the other processes.
-    synchronize();
-
-    // Find the next bucket that has something in it.
-    while (current_bucket < buckets.size() 
-           && (!buckets[current_bucket] || buckets[current_bucket]->empty()))
-      ++current_bucket;
-    if (current_bucket >= buckets.size())
-      current_bucket = max_bucket;
-
-#ifdef PBGL_DELTA_STEPPING_DEBUG
-    std::cerr << "#" << process_id(pg) << ": lowest bucket is #" 
-              << current_bucket << std::endl;
-#endif
-    // Find the smallest bucket (over all processes) that has vertices
-    // that need to be processed.
-    using boost::parallel::all_reduce;
-    using boost::parallel::minimum;
-    current_bucket = all_reduce(pg, current_bucket, minimum<BucketIndex>());
-
-    if (current_bucket == max_bucket)
-      // There are no non-empty buckets in any process; exit. 
-      break;
-
-#ifdef PBGL_DELTA_STEPPING_DEBUG
-    if (process_id(pg) == 0)
-      std::cerr << "Processing bucket #" << current_bucket << std::endl;
-#endif
-
-    // Contains the set of vertices that have been deleted in the
-    // relaxation of "light" edges. Note that we keep track of which
-    // vertices were deleted with the property map
-    // "vertex_was_deleted".
-    std::vector<Vertex> deleted_vertices;
-
-    // Repeatedly relax light edges
-    bool nonempty_bucket;
-    do {
-      // Someone has work to do in this bucket.
-
-      if (current_bucket < buckets.size() && buckets[current_bucket]) {
-        Bucket& bucket = *buckets[current_bucket];
-        // For each element in the bucket
-        while (!bucket.empty()) {
-          Vertex u = bucket.front();
-
-#ifdef PBGL_DELTA_STEPPING_DEBUG
-          std::cerr << "#" << process_id(pg) << ": processing vertex " 
-                    << get(vertex_global, g, u).second << "@" 
-                    << get(vertex_global, g, u).first
-                    << std::endl;
-#endif
-
-          // Remove u from the front of the bucket
-          bucket.pop_front();
-          
-          // Insert u into the set of deleted vertices, if it hasn't
-          // been done already.
-          if (!vertex_was_deleted[get(local, u)]) {
-            vertex_was_deleted[get(local, u)] = true;
-            deleted_vertices.push_back(u);
-          }
-
-          // Relax each light edge. 
-          Dist u_dist = get(distance, u);
-          BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-            if (get(weight, e) <= delta) // light edge
-              relax(u, target(e, g), u_dist + get(weight, e));
-        }
-      }
-
-      // Synchronize with all of the other processes.
-      synchronize();
-
-      // Is the bucket empty now?
-      nonempty_bucket = (current_bucket < buckets.size() 
-                         && buckets[current_bucket]
-                         && !buckets[current_bucket]->empty());
-     } while (all_reduce(pg, nonempty_bucket, std::logical_or<bool>()));
-
-    // Relax heavy edges for each of the vertices that we previously
-    // deleted.
-    for (typename std::vector<Vertex>::iterator iter = deleted_vertices.begin();
-         iter != deleted_vertices.end(); ++iter) {
-      // Relax each heavy edge. 
-      Vertex u = *iter;
-      Dist u_dist = get(distance, u);
-      BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-        if (get(weight, e) > delta) // heavy edge
-          relax(u, target(e, g), u_dist + get(weight, e)); 
-    }
-
-    // Go to the next bucket: the current bucket must already be empty.
-    ++current_bucket;
-  } while (true);
-
-  // Delete all of the buckets.
-  for (typename std::vector<Bucket*>::iterator iter = buckets.begin();
-       iter != buckets.end(); ++iter) {
-    if (*iter) {
-      delete *iter;
-      *iter = 0;
-    }
-  }
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-void
-delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>::
-relax(Vertex u, Vertex v, Dist x) 
-{
-#ifdef PBGL_DELTA_STEPPING_DEBUG
-  std::cerr << "#" << process_id(pg) << ": relax(" 
-            << get(vertex_global, g, u).second << "@" 
-            << get(vertex_global, g, u).first << ", " 
-            << get(vertex_global, g, v).second << "@" 
-            << get(vertex_global, g, v).first << ", "
-            << x << ")" << std::endl;
-#endif
-
-  if (x < get(distance, v)) {
-    // We're relaxing the edge to vertex v.
-    if (get(owner, v) == process_id(pg)) {
-      // Compute the new bucket index for v
-      BucketIndex new_index = static_cast<BucketIndex>(x / delta);
-      
-      // Make sure there is enough room in the buckets data structure.
-      if (new_index >= buckets.size()) buckets.resize(new_index + 1, 0);
-
-      // Make sure that we have allocated the bucket itself.
-      if (!buckets[new_index]) buckets[new_index] = new Bucket;
-
-      if (get(distance, v) != (std::numeric_limits<Dist>::max)()
-          && !vertex_was_deleted[get(local, v)]) {
-        // We're moving v from an old bucket into a new one. Compute
-        // the old index, then splice it in.
-        BucketIndex old_index 
-          = static_cast<BucketIndex>(get(distance, v) / delta);
-        buckets[new_index]->splice(buckets[new_index]->end(),
-                                   *buckets[old_index],
-                                   position_in_bucket[get(local, v)]);
-      } else {
-        // We're inserting v into a bucket for the first time. Put it
-        // at the end.
-        buckets[new_index]->push_back(v);
-      }
-
-      // v is now at the last position in the new bucket
-      position_in_bucket[get(local, v)] = buckets[new_index]->end();
-      --position_in_bucket[get(local, v)];
-
-      // Update predecessor and tentative distance information
-      put(predecessor, v, u);
-      put(distance, v, x);
-    } else {
-#ifdef PBGL_DELTA_STEPPING_DEBUG
-      std::cerr << "#" << process_id(pg) << ": sending relax(" 
-                << get(vertex_global, g, u).second << "@" 
-                << get(vertex_global, g, u).first << ", " 
-                << get(vertex_global, g, v).second << "@" 
-                << get(vertex_global, g, v).first << ", "
-            << x << ") to " << get(owner, v) << std::endl;
-      
-#endif
-      // The vertex is remote: send a request to the vertex's owner
-      send(pg, get(owner, v), msg_relax, 
-           std::make_pair(v, MessageValue::create(x, u)));
-
-      // Cache tentative distance information
-      cache(distance, v, x);
-    }
-  }
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-void
-delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>::
-synchronize()
-{
-  using boost::parallel::synchronize;
-
-  // Synchronize at the process group level.
-  synchronize(pg);
-
-  // Receive any relaxation request messages.
-//   typedef typename ProcessGroup::process_id_type process_id_type;
-//   while (optional<std::pair<process_id_type, int> > stp = probe(pg)) {
-//     // Receive the relaxation message
-//     assert(stp->second == msg_relax);
-//     std::pair<Vertex, typename MessageValue::type> data;
-//     receive(pg, stp->first, stp->second, data);
-
-//     // Turn it into a "relax" call
-//     handle_relax_message(data.first, data.second);
-//   }
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-void 
-delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>::
-setup_triggers() 
-{
-  using boost::graph::parallel::simple_trigger;
-        
-  simple_trigger(pg, msg_relax, this, 
-                 &delta_stepping_impl::handle_msg_relax);
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-void 
-delta_stepping_shortest_paths
-  (const Graph& g,
-   typename graph_traits<Graph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance, EdgeWeightMap weight,
-   typename property_traits<EdgeWeightMap>::value_type delta)
-{
-  // The "distance" map needs to act like one, retrieving the default
-  // value of infinity.
-  set_property_map_role(vertex_distance, distance);
-
-  // Construct the implementation object, which will perform all of
-  // the actual work.
-  delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>
-    impl(g, predecessor, distance, weight, delta);
-
-  // Run the delta-stepping algorithm. The results will show up in
-  // "predecessor" and "weight".
-  impl.run(s);
-}
-
-template<typename Graph, typename PredecessorMap, typename DistanceMap, 
-         typename EdgeWeightMap>
-void 
-delta_stepping_shortest_paths
-  (const Graph& g,
-   typename graph_traits<Graph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance, EdgeWeightMap weight)
-{
-  // The "distance" map needs to act like one, retrieving the default
-  // value of infinity.
-  set_property_map_role(vertex_distance, distance);
-
-  // Construct the implementation object, which will perform all of
-  // the actual work.
-  delta_stepping_impl<Graph, PredecessorMap, DistanceMap, EdgeWeightMap>
-    impl(g, predecessor, distance, weight);
-
-  // Run the delta-stepping algorithm. The results will show up in
-  // "predecessor" and "weight".
-  impl.run(s);
-}
-   
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_GRAPH_DELTA_STEPPING_SHORTEST_PATHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/depth_first_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/depth_first_search.hpp
deleted file mode 100644
index 032902f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/depth_first_search.hpp
+++ /dev/null
@@ -1,307 +0,0 @@
-// Copyright (C) 2004-2008 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_DFS_HPP
-#define BOOST_GRAPH_DISTRIBUTED_DFS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-namespace boost {
-  namespace graph { namespace distributed { namespace detail {
-    template<typename DistributedGraph, typename ColorMap, typename ParentMap,
-             typename ExploreMap, typename VertexIndexMap, typename DFSVisitor>
-    class parallel_dfs
-    {
-      typedef typename graph_traits<DistributedGraph>::vertex_iterator
-        vertex_iterator;
-      typedef typename graph_traits<DistributedGraph>::vertex_descriptor
-        vertex_descriptor;
-      typedef typename graph_traits<DistributedGraph>::out_edge_iterator
-        out_edge_iterator;
-
-      typedef typename boost::graph::parallel::process_group_type<DistributedGraph>
-        ::type process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-
-      /**
-       * The first vertex in the pair is the local node (i) and the
-       * second vertex in the pair is the (possibly remote) node (j).
-       */
-      typedef boost::parallel::detail::untracked_pair<vertex_descriptor, vertex_descriptor> vertex_pair;
-
-      typedef typename property_traits<ColorMap>::value_type color_type;
-      typedef color_traits<color_type> Color;
-
-      // Message types
-      enum { discover_msg = 10, return_msg = 50, visited_msg = 100 , done_msg = 150};
-        
-
-    public:
-      parallel_dfs(const DistributedGraph& g, ColorMap color,
-                   ParentMap parent, ExploreMap explore,
-                   VertexIndexMap index_map, DFSVisitor vis)
-        : g(g), color(color), parent(parent), explore(explore),
-          index_map(index_map), vis(vis), pg(process_group(g)),
-          owner(get(vertex_owner, g)), next_out_edge(num_vertices(g))
-      { }
-
-      void run(vertex_descriptor s)
-      {
-        vertex_iterator vi, vi_end;
-        for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi) {
-          put(color, *vi, Color::white());
-          put(parent, *vi, *vi); 
-          put(explore, *vi, *vi);
-          next_out_edge[get(index_map, *vi)] = out_edges(*vi, g).first;
-          vis.initialize_vertex(*vi, g);
-        }
-
-        vis.start_vertex(s, g);
-        
-        if (get(owner, s) == process_id(pg)) {
-          send_oob(pg, get(owner, s), discover_msg, vertex_pair(s, s));
-        }
-        
-        bool done = false;
-        while (!done) {
-          std::pair<process_id_type, int> msg = *pg.poll(true);
-
-          switch (msg.second) {
-          case discover_msg:
-            {
-              vertex_pair p;
-              receive_oob(pg, msg.first, msg.second, p);
-
-              if (p.first != p.second) {
-                // delete j from nomessage(j)
-                if (get(color, p.second) != Color::black())
-                  local_put(color, p.second, Color::gray());
-
-                if (recover(p)) break;
-              }
-
-              if (get(color, p.first) == Color::white()) {
-                put(color, p.first, Color::gray());
-                put(parent, p.first, p.second);
-
-                vis.discover_vertex(p.first, g);
-
-                if (shift_center_of_activity(p.first)) break;
-                
-                out_edge_iterator ei, ei_end;
-                for (boost::tie(ei,ei_end) = out_edges(p.first, g); ei != ei_end; ++ei)
-                {
-                  // Notify everyone who may not know that the source
-                  // vertex has been visited. They can then mark the
-                  // corresponding color map entry gray.
-                  if (get(parent, p.first) != target(*ei, g)
-                      && get(explore, p.first) != target(*ei, g)) {
-                    vertex_pair visit(target(*ei, g), p.first);
-                    
-                    send_oob(pg, get(owner, target(*ei, g)), visited_msg, visit);
-                  }
-                }
-              }
-            }
-            break;
-            
-          case visited_msg:
-            {
-              vertex_pair p;
-              receive_oob(pg, msg.first, msg.second, p);
-              
-              // delete j from nomessage(j)
-              if (get(color, p.second) != Color::black())
-                local_put(color, p.second, Color::gray());
-
-              recover(p);
-            }
-            break;
-            
-          case return_msg:
-            {
-              vertex_pair p;
-              receive_oob(pg, msg.first, msg.second, p);
-              
-              // delete j from nomessage(i)
-              local_put(color, p.second, Color::black());
-
-              shift_center_of_activity(p.first);
-            }
-            break;
-            
-          case done_msg:
-            {
-              receive_oob(pg, msg.first, msg.second, done);
-
-              // Propagate done message downward in tree
-              done = true;
-              process_id_type id = process_id(pg);
-              process_id_type left = 2*id + 1;
-              process_id_type right = left + 1;
-              if (left < num_processes(pg))
-                send_oob(pg, left, done_msg, done);
-              if (right < num_processes(pg))
-                send_oob(pg, right, done_msg, done);
-            }
-            break;
-
-          default:
-            BOOST_ASSERT(false);
-          }
-        }
-      }
-      
-    private:
-      bool recover(const vertex_pair& p)
-      {
-        if (get(explore, p.first) == p.second) {
-          return shift_center_of_activity(p.first);
-        }
-        else
-          return false;
-      }
-      
-      bool shift_center_of_activity(vertex_descriptor i)
-      {
-        for (out_edge_iterator ei = next_out_edge[get(index_map, i)],
-                               ei_end = out_edges(i, g).second;
-             ei != ei_end; ++ei) {
-          vis.examine_edge(*ei, g);
-
-          vertex_descriptor k = target(*ei, g);
-          color_type target_color = get(color, k);
-          if (target_color == Color::black()) vis.forward_or_cross_edge(*ei, g);
-          else if (target_color == Color::gray()) vis.back_edge(*ei, g);
-          else {
-            put(explore, i, k);
-            vis.tree_edge(*ei, g);
-            vertex_pair p(k, i);
-            send_oob(pg, get(owner, k), discover_msg, p);
-            next_out_edge[get(index_map, i)] = ++ei;
-            return false;
-          } 
-        }
-
-        next_out_edge[get(index_map, i)] = out_edges(i, g).second;
-        put(explore, i, i);
-        put(color, i, Color::black());
-        vis.finish_vertex(i, g);
-          
-        if (get(parent, i) == i) {
-          send_oob(pg, 0, done_msg, true);
-          return true;
-        }
-        else {
-          vertex_pair ret(get(parent, i), i);
-          send_oob(pg, get(owner, ret.first), return_msg, ret);
-        }
-        return false;
-      }
-
-      const DistributedGraph& g; 
-      ColorMap color;
-      ParentMap parent; 
-      ExploreMap explore;
-      VertexIndexMap index_map;
-      DFSVisitor vis;
-      process_group_type pg;
-      typename property_map<DistributedGraph, vertex_owner_t>::const_type owner;
-      std::vector<out_edge_iterator> next_out_edge; 
-    };
-  } // end namespace detail
-
-  template<typename DistributedGraph, typename ColorMap, typename ParentMap,
-           typename ExploreMap, typename VertexIndexMap, typename DFSVisitor>
-  void
-  tsin_depth_first_visit
-    (const DistributedGraph& g,
-     typename graph_traits<DistributedGraph>::vertex_descriptor s,
-     DFSVisitor vis, ColorMap color, ParentMap parent, ExploreMap explore, 
-     VertexIndexMap index_map)
-  {
-    typedef typename graph_traits<DistributedGraph>::directed_category
-      directed_category;
-    BOOST_STATIC_ASSERT(
-      (is_convertible<directed_category, undirected_tag>::value));
-
-    set_property_map_role(vertex_color, color);
-    graph::distributed::detail::parallel_dfs
-      <DistributedGraph, ColorMap, ParentMap, ExploreMap, VertexIndexMap, 
-       DFSVisitor> do_dfs(g, color, parent, explore, index_map, vis);
-    do_dfs.run(s);
-
-    using boost::graph::parallel::process_group;
-    synchronize(process_group(g));
-  }
-    
-  template<typename DistributedGraph, typename DFSVisitor, 
-           typename VertexIndexMap>
-  void
-  tsin_depth_first_visit
-    (const DistributedGraph& g,
-     typename graph_traits<DistributedGraph>::vertex_descriptor s,
-     DFSVisitor vis,
-     VertexIndexMap index_map)
-  {
-    typedef typename graph_traits<DistributedGraph>::vertex_descriptor
-      vertex_descriptor;
-
-    std::vector<default_color_type> colors(num_vertices(g));
-    std::vector<vertex_descriptor> parent(num_vertices(g));
-    std::vector<vertex_descriptor> explore(num_vertices(g));
-    tsin_depth_first_visit
-      (g, s,
-       vis,
-       make_iterator_property_map(colors.begin(), index_map),
-       make_iterator_property_map(parent.begin(), index_map),
-       make_iterator_property_map(explore.begin(), index_map),
-       index_map);
-  }
-
-  template<typename DistributedGraph, typename DFSVisitor, 
-           typename VertexIndexMap>
-  void
-  tsin_depth_first_visit
-    (const DistributedGraph& g,
-     typename graph_traits<DistributedGraph>::vertex_descriptor s,
-     DFSVisitor vis)
-  {
-    tsin_depth_first_visit(g, s, vis, get(vertex_index, g));
-  }
-} // end namespace distributed
-
-using distributed::tsin_depth_first_visit;
-
-} // end namespace graph
-
-template<typename DistributedGraph, typename DFSVisitor>
-void
-depth_first_visit
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   DFSVisitor vis)
-{
-  graph::tsin_depth_first_visit(g, s, vis, get(vertex_index, g));
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_DISTRIBUTED_DFS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp
deleted file mode 100644
index 0597689..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_DIJKSTRA_DETAIL_HPP
-#define BOOST_GRAPH_PARALLEL_DIJKSTRA_DETAIL_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/property_map/property_map.hpp>
-
-namespace boost { namespace graph { namespace distributed { namespace detail {
-
-/**********************************************************************
- * Dijkstra queue message data                                        *
- **********************************************************************/
-template<typename DistanceMap, typename PredecessorMap>
-class dijkstra_msg_value
-{
-  typedef typename property_traits<DistanceMap>::value_type distance_type;
-  typedef typename property_traits<PredecessorMap>::value_type
-    predecessor_type;
-
-public:
-  typedef std::pair<distance_type, predecessor_type> type;
-
-  static type create(distance_type dist, predecessor_type pred)
-  { return std::make_pair(dist, pred); }
-};
-
-template<typename DistanceMap>
-class dijkstra_msg_value<DistanceMap, dummy_property_map>
-{
-  typedef typename property_traits<DistanceMap>::key_type vertex_descriptor;
-public:
-  typedef typename property_traits<DistanceMap>::value_type type;
-
-  static type create(type dist, vertex_descriptor) { return dist; }
-};
-/**********************************************************************/
-
-} } } } // end namespace boost::graph::distributed::detail
-
-#endif // BOOST_GRAPH_PARALLEL_DIJKSTRA_DETAIL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/filtered_queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/filtered_queue.hpp
deleted file mode 100644
index 9871b70..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/filtered_queue.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_FILTERED_QUEUE_HPP
-#define BOOST_FILTERED_QUEUE_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <algorithm>
-
-namespace boost {
-
-/** Queue adaptor that filters elements pushed into the queue
- * according to some predicate.
- */
-template<typename Buffer, typename Predicate>
-class filtered_queue
-{
- public:
-  typedef Buffer                      buffer_type;
-  typedef Predicate                   predicate_type;
-  typedef typename Buffer::value_type value_type;
-  typedef typename Buffer::size_type  size_type;
-
-  /**
-   * Constructs a new filtered queue with an initial buffer and a
-   * predicate.
-   *
-   * @param buffer the initial buffer
-   * @param pred the predicate
-   */
-  explicit
-  filtered_queue(const buffer_type& buffer = buffer_type(),
-                 const predicate_type& pred = predicate_type())
-    : buffer(buffer), pred(pred) {}
-
-  /** Push a value into the queue.
-   *
-   *  If the predicate returns @c true for @p x, pushes @p x into the
-   *  buffer.
-   */
-  void push(const value_type& x)  { if (pred(x)) buffer.push(x); }
-
-  /** Pop the front element off the buffer.
-   *
-   * @pre @c !empty()
-   */
-  void pop()                      { buffer.pop(); }
-
-  /** Retrieve the front (top) element in the buffer.
-   *
-   * @pre @c !empty()
-   */
-  value_type& top()               { return buffer.top(); }
-
-  /**
-   * \overload
-   */
-  const value_type& top() const   { return buffer.top(); }
-
-  /** Determine the number of elements in the buffer. */
-  size_type size() const          { return buffer.size(); }
-
-  /** Determine if the buffer is empty. */
-  bool empty() const              { return buffer.empty(); }
-
-  /** Get a reference to the underlying buffer. */
-  buffer_type& base()             { return buffer; }
-  const buffer_type& base() const { return buffer; }
-
-  /** Swap the contents of this with @p other. */
-  void swap(filtered_queue& other)
-  {
-    using std::swap;
-    swap(buffer, other.buffer);
-    swap(pred, other.pred);
-  }
-
- private:
-  buffer_type buffer;
-  predicate_type pred;
-};
-
-/** Create a filtered queue. */
-template<typename Buffer, typename Predicate>
-inline filtered_queue<Buffer, Predicate>
-make_filtered_queue(const Buffer& buffer, const Predicate& pred)
-{ return filtered_queue<Buffer, Predicate>(buffer, pred); }
-
-/** Swap a filtered_queue. */
-template<typename Buffer, typename Predicate>
-inline void
-swap(filtered_queue<Buffer, Predicate>& x,
-     filtered_queue<Buffer, Predicate>& y)
-{
-  x.swap(y);
-}
-
-} // end namespace boost
-
-#endif // BOOST_FILTERED_QUEUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/mpi_process_group.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/mpi_process_group.ipp
deleted file mode 100644
index a4d3546..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/mpi_process_group.ipp
+++ /dev/null
@@ -1,1007 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2004-2008 The Trustees of Indiana University.
-// Copyright (C) 2007  Douglas Gregor <doug.gregor at gmail.com>
-// Copyright (C) 2007  Matthias Troyer  <troyer at boost-consulting.com>
-
-// Use, modification and distribution is subject to the 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
-//           Matthias Troyer
-
-//#define PBGL_PROCESS_GROUP_DEBUG
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <algorithm>
-#include <boost/graph/parallel/detail/untracked_pair.hpp>
-#include <numeric>
-#include <iterator>
-#include <functional>
-#include <vector>
-#include <queue>
-#include <stack>
-#include <boost/graph/distributed/detail/tag_allocator.hpp>
-#include <stdio.h>
-
-// #define PBGL_PROCESS_GROUP_DEBUG
-
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-#  include <iostream>
-#endif
-
-namespace boost { namespace graph { namespace distributed {
-
-struct mpi_process_group::impl
-{
-  
-  typedef mpi_process_group::message_header message_header;
-  typedef mpi_process_group::outgoing_messages outgoing_messages;
-
-  /**
-   * Stores the incoming messages from a particular processor.
-   *
-   * @todo Evaluate whether we should use a deque instance, which
-   * would reduce could reduce the cost of "receiving" messages and
-     allow us to deallocate memory earlier, but increases the time
-     spent in the synchronization step.
-   */
-  struct incoming_messages {
-    incoming_messages();
-    ~incoming_messages() {}
-
-    std::vector<message_header> headers;
-    buffer_type                 buffer;
-    std::vector<std::vector<message_header>::iterator> next_header;
-  };
-
-  struct batch_request {
-    MPI_Request request;
-    buffer_type buffer;
-  };
-
-  // send once we have a certain number of messages or bytes in the buffer
-  // these numbers need to be tuned, we keep them small at first for testing
-  std::size_t batch_header_number;
-  std::size_t batch_buffer_size;
-  std::size_t batch_message_size;
-  
-  /**
-   * The actual MPI communicator used to transmit data.
-   */
-  boost::mpi::communicator             comm;
-
-  /**
-   * The MPI communicator used to transmit out-of-band replies.
-   */
-  boost::mpi::communicator             oob_reply_comm;
-
-  /// Outgoing message information, indexed by destination processor.
-  std::vector<outgoing_messages> outgoing;
-
-  /// Incoming message information, indexed by source processor.
-  std::vector<incoming_messages> incoming;
-
-  /// The numbers of processors that have entered a synchronization stage
-  std::vector<int> processors_synchronizing_stage;
-  
-  /// The synchronization stage of a processor
-  std::vector<int> synchronizing_stage;
-
-  /// Number of processors still sending messages
-  std::vector<int> synchronizing_unfinished;
-  
-  /// Number of batches sent since last synchronization stage
-  std::vector<int> number_sent_batches;
-  
-  /// Number of batches received minus number of expected batches
-  std::vector<int> number_received_batches;
-  
-
-  /// The context of the currently-executing trigger, or @c trc_none
-  /// if no trigger is executing.
-  trigger_receive_context trigger_context;
-
-  /// Non-zero indicates that we're processing batches
-  /// Increment this when processing patches,
-  /// decrement it when you're done.
-  int processing_batches;
-
-  /**
-   * Contains all of the active blocks corresponding to attached
-   * distributed data structures.
-   */
-  blocks_type blocks;
-
-  /// Whether we are currently synchronizing
-  bool synchronizing;
-
-  /// The MPI requests for posted sends of oob messages
-  std::vector<MPI_Request> requests;
-  
-  /// The MPI buffers for posted irecvs of oob messages
-  std::map<int,buffer_type> buffers;
-
-  /// Queue for message batches received while already processing messages
-  std::queue<std::pair<int,outgoing_messages> > new_batches;
-  /// Maximum encountered size of the new_batches queue
-  std::size_t max_received;
-
-  /// The MPI requests and buffers for batchess being sent
-  std::list<batch_request> sent_batches;
-  /// Maximum encountered size of the sent_batches list
-  std::size_t max_sent;
-
-  /// Pre-allocated requests in a pool
-  std::vector<batch_request> batch_pool;
-  /// A stack controlling which batches are available
-  std::stack<std::size_t> free_batches;
-
-  void free_sent_batches();
-  
-  // Tag allocator
-  detail::tag_allocator allocated_tags;
-
-  impl(std::size_t num_headers, std::size_t buffers_size,
-       communicator_type parent_comm);
-  ~impl();
-  
-private:
-  void set_batch_size(std::size_t header_num, std::size_t buffer_sz);
-};
-
-inline trigger_receive_context mpi_process_group::trigger_context() const
-{
-  return impl_->trigger_context;
-}
-
-template<typename T>
-void
-mpi_process_group::send_impl(int dest, int tag, const T& value,
-                             mpl::true_ /*is_mpi_datatype*/) const
-{
-  BOOST_ASSERT(tag <  msg_reserved_first || tag > msg_reserved_last);
-
-  impl::outgoing_messages& outgoing = impl_->outgoing[dest];
-
-  // Start constructing the message header
-  impl::message_header header;
-  header.source = process_id(*this);
-  header.tag = tag;
-  header.offset = outgoing.buffer.size();
-  
-  boost::mpi::packed_oarchive oa(impl_->comm, outgoing.buffer);
-  oa << value;
-
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << "SEND: " << process_id(*this) << " -> " << dest << ", tag = "
-            << tag << ", bytes = " << packed_size << std::endl;
-#endif
-
-  // Store the header
-  header.bytes = outgoing.buffer.size() - header.offset;
-  outgoing.headers.push_back(header);
-
-  maybe_send_batch(dest);
-}
-
-
-template<typename T>
-void
-mpi_process_group::send_impl(int dest, int tag, const T& value,
-                             mpl::false_ /*is_mpi_datatype*/) const
-{
-  BOOST_ASSERT(tag <  msg_reserved_first || tag > msg_reserved_last);
-
-  impl::outgoing_messages& outgoing = impl_->outgoing[dest];
-
-  // Start constructing the message header
-  impl::message_header header;
-  header.source = process_id(*this);
-  header.tag = tag;
-  header.offset = outgoing.buffer.size();
-
-  // Serialize into the buffer
-  boost::mpi::packed_oarchive out(impl_->comm, outgoing.buffer);
-  out << value;
-
-  // Store the header
-  header.bytes = outgoing.buffer.size() - header.offset;
-  outgoing.headers.push_back(header);
-  maybe_send_batch(dest);
-
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << "SEND: " << process_id(*this) << " -> " << dest << ", tag = "
-            << tag << ", bytes = " << header.bytes << std::endl;
-#endif
-}
-
-template<typename T>
-inline void
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, const T& value)
-{
-  pg.send_impl(dest, pg.encode_tag(pg.my_block_number(), tag), value,
-               boost::mpi::is_mpi_datatype<T>());
-}
-
-template<typename T>
-typename enable_if<boost::mpi::is_mpi_datatype<T>, void>::type
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, const T values[], std::size_t n)
-{
-  pg.send_impl(dest, pg.encode_tag(pg.my_block_number(), tag),
-                 boost::serialization::make_array(values,n), 
-                 boost::mpl::true_());
-}
-
-template<typename T>
-typename disable_if<boost::mpi::is_mpi_datatype<T>, void>::type
-mpi_process_group::
-array_send_impl(int dest, int tag, const T values[], std::size_t n) const
-{
-  BOOST_ASSERT(tag <  msg_reserved_first || tag > msg_reserved_last);
-
-  impl::outgoing_messages& outgoing = impl_->outgoing[dest];
-
-  // Start constructing the message header
-  impl::message_header header;
-  header.source = process_id(*this);
-  header.tag = tag;
-  header.offset = outgoing.buffer.size();
-
-  // Serialize into the buffer
-  boost::mpi::packed_oarchive out(impl_->comm, outgoing.buffer);
-  out << n;
-
-  for (std::size_t i = 0; i < n; ++i)
-    out << values[i];
-
-  // Store the header
-  header.bytes = outgoing.buffer.size() - header.offset;
-  outgoing.headers.push_back(header);
-  maybe_send_batch(dest);
-
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << "SEND: " << process_id(*this) << " -> " << dest << ", tag = "
-            << tag << ", bytes = " << header.bytes << std::endl;
-#endif
-}
-
-template<typename T>
-typename disable_if<boost::mpi::is_mpi_datatype<T>, void>::type
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, const T values[], std::size_t n)
-{
-  pg.array_send_impl(dest, pg.encode_tag(pg.my_block_number(), tag), 
-                     values, n);
-}
-
-template<typename InputIterator>
-void
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, InputIterator first, InputIterator last)
-{
-  typedef typename std::iterator_traits<InputIterator>::value_type value_type;
-  std::vector<value_type> values(first, last);
-  if (values.empty()) send(pg, dest, tag, static_cast<value_type*>(0), 0);
-  else send(pg, dest, tag, &values[0], values.size());
-}
-
-template<typename T>
-bool
-mpi_process_group::receive_impl(int source, int tag, T& value,
-                                mpl::true_ /*is_mpi_datatype*/) const
-{
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << "RECV: " << process_id(*this) << " <- " << source << ", tag = "
-            << tag << std::endl;
-#endif
-
-  impl::incoming_messages& incoming = impl_->incoming[source];
-
-  // Find the next header with the right tag
-  std::vector<impl::message_header>::iterator header =
-    incoming.next_header[my_block_number()];
-  while (header != incoming.headers.end() && header->tag != tag) ++header;
-
-  // If no header is found, notify the caller
-  if (header == incoming.headers.end()) return false;
-
-  // Unpack the data
-  if (header->bytes > 0) {
-    boost::mpi::packed_iarchive ia(impl_->comm, incoming.buffer, 
-                                   archive::no_header, header->offset);
-    ia >> value;
-  }
-
-  // Mark this message as received
-  header->tag = -1;
-
-  // Move the "next header" indicator to the next unreceived message
-  while (incoming.next_header[my_block_number()] != incoming.headers.end()
-         && incoming.next_header[my_block_number()]->tag == -1)
-    ++incoming.next_header[my_block_number()];
-
-  if (incoming.next_header[my_block_number()] == incoming.headers.end()) {
-    bool finished = true;
-    for (std::size_t i = 0; i < incoming.next_header.size() && finished; ++i) {
-      if (incoming.next_header[i] != incoming.headers.end()) finished = false;
-    }
-
-    if (finished) {
-      std::vector<impl::message_header> no_headers;
-      incoming.headers.swap(no_headers);
-      buffer_type empty_buffer;
-      incoming.buffer.swap(empty_buffer);
-      for (std::size_t i = 0; i < incoming.next_header.size(); ++i)
-        incoming.next_header[i] = incoming.headers.end();
-    }
-  }
-
-  return true;
-}
-
-template<typename T>
-bool
-mpi_process_group::receive_impl(int source, int tag, T& value,
-                                mpl::false_ /*is_mpi_datatype*/) const
-{
-  impl::incoming_messages& incoming = impl_->incoming[source];
-
-  // Find the next header with the right tag
-  std::vector<impl::message_header>::iterator header =
-    incoming.next_header[my_block_number()];
-  while (header != incoming.headers.end() && header->tag != tag) ++header;
-
-  // If no header is found, notify the caller
-  if (header == incoming.headers.end()) return false;
-
-  // Deserialize the data
-  boost::mpi::packed_iarchive in(impl_->comm, incoming.buffer, 
-                                 archive::no_header, header->offset);
-  in >> value;
-
-  // Mark this message as received
-  header->tag = -1;
-
-  // Move the "next header" indicator to the next unreceived message
-  while (incoming.next_header[my_block_number()] != incoming.headers.end()
-         && incoming.next_header[my_block_number()]->tag == -1)
-    ++incoming.next_header[my_block_number()];
-
-  if (incoming.next_header[my_block_number()] == incoming.headers.end()) {
-    bool finished = true;
-    for (std::size_t i = 0; i < incoming.next_header.size() && finished; ++i) {
-      if (incoming.next_header[i] != incoming.headers.end()) finished = false;
-    }
-
-    if (finished) {
-      std::vector<impl::message_header> no_headers;
-      incoming.headers.swap(no_headers);
-      buffer_type empty_buffer;
-      incoming.buffer.swap(empty_buffer);
-      for (std::size_t i = 0; i < incoming.next_header.size(); ++i)
-        incoming.next_header[i] = incoming.headers.end();
-    }
-  }
-
-  return true;
-}
-
-template<typename T>
-typename disable_if<boost::mpi::is_mpi_datatype<T>, bool>::type
-mpi_process_group::
-array_receive_impl(int source, int tag, T* values, std::size_t& n) const
-{
-  impl::incoming_messages& incoming = impl_->incoming[source];
-
-  // Find the next header with the right tag
-  std::vector<impl::message_header>::iterator header =
-    incoming.next_header[my_block_number()];
-  while (header != incoming.headers.end() && header->tag != tag) ++header;
-
-  // If no header is found, notify the caller
-  if (header == incoming.headers.end()) return false;
-
-  // Deserialize the data
-  boost::mpi::packed_iarchive in(impl_->comm, incoming.buffer, 
-                                 archive::no_header, header->offset);
-  std::size_t num_sent;
-  in >> num_sent;
-  if (num_sent > n)
-    std::cerr << "ERROR: Have " << num_sent << " items but only space for "
-              << n << " items\n";
-
-  for (std::size_t i = 0; i < num_sent; ++i)
-    in >> values[i];
-  n = num_sent;
-
-  // Mark this message as received
-  header->tag = -1;
-
-  // Move the "next header" indicator to the next unreceived message
-  while (incoming.next_header[my_block_number()] != incoming.headers.end()
-         && incoming.next_header[my_block_number()]->tag == -1)
-    ++incoming.next_header[my_block_number()];
-
-  if (incoming.next_header[my_block_number()] == incoming.headers.end()) {
-    bool finished = true;
-    for (std::size_t i = 0; i < incoming.next_header.size() && finished; ++i) {
-      if (incoming.next_header[i] != incoming.headers.end()) finished = false;
-    }
-
-    if (finished) {
-      std::vector<impl::message_header> no_headers;
-      incoming.headers.swap(no_headers);
-      buffer_type empty_buffer;
-      incoming.buffer.swap(empty_buffer);
-      for (std::size_t i = 0; i < incoming.next_header.size(); ++i)
-        incoming.next_header[i] = incoming.headers.end();
-    }
-  }
-
-  return true;
-}
-
-// Construct triggers
-template<typename Type, typename Handler>
-void mpi_process_group::trigger(int tag, const Handler& handler)
-{
-  BOOST_ASSERT(block_num);
-  install_trigger(tag,my_block_number(),shared_ptr<trigger_base>(
-    new trigger_launcher<Type, Handler>(*this, tag, handler)));
-}
-
-template<typename Type, typename Handler>
-void mpi_process_group::trigger_with_reply(int tag, const Handler& handler)
-{
-  BOOST_ASSERT(block_num);
-  install_trigger(tag,my_block_number(),shared_ptr<trigger_base>(
-    new reply_trigger_launcher<Type, Handler>(*this, tag, handler)));
-}
-
-template<typename Type, typename Handler>
-void mpi_process_group::global_trigger(int tag, const Handler& handler, 
-      std::size_t sz)
-{
-  if (sz==0) // normal trigger
-    install_trigger(tag,0,shared_ptr<trigger_base>(
-      new global_trigger_launcher<Type, Handler>(*this, tag, handler)));
-  else // trigger with irecv
-    install_trigger(tag,0,shared_ptr<trigger_base>(
-      new global_irecv_trigger_launcher<Type, Handler>(*this, tag, handler,sz)));
-  
-}
-
-namespace detail {
-
-template<typename Type>
-void  do_oob_receive(mpi_process_group const& self,
-    int source, int tag, Type& data, mpl::true_ /*is_mpi_datatype*/) 
-{
-  using boost::mpi::get_mpi_datatype;
-
-  //self.impl_->comm.recv(source,tag,data);
-  MPI_Recv(&data, 1, get_mpi_datatype<Type>(data), source, tag, self.impl_->comm,
-           MPI_STATUS_IGNORE);
-}
-
-template<typename Type>
-void do_oob_receive(mpi_process_group const& self,
-    int source, int tag, Type& data, mpl::false_ /*is_mpi_datatype*/) 
-{
-  //  self.impl_->comm.recv(source,tag,data);
-  // Receive the size of the data packet
-  boost::mpi::status status;
-  status = self.impl_->comm.probe(source, tag);
-
-#if BOOST_VERSION >= 103600
-  int size = status.count<boost::mpi::packed>().get();
-#else
-  int size;
-  MPI_Status& mpi_status = status;
-  MPI_Get_count(&mpi_status, MPI_PACKED, &size);
-#endif
-
-  // Receive the data packed itself
-  boost::mpi::packed_iarchive in(self.impl_->comm);
-  in.resize(size);
-  MPI_Recv(in.address(), size, MPI_PACKED, source, tag, self.impl_->comm,
-       MPI_STATUS_IGNORE);
-
-  // Deserialize the data
-  in >> data;
-}
-
-template<typename Type>
-void do_oob_receive(mpi_process_group const& self, int source, int tag, Type& data) 
-{
-  do_oob_receive(self, source, tag, data,
-                           boost::mpi::is_mpi_datatype<Type>());
-}
-
-
-} // namespace detail
-
-
-template<typename Type, typename Handler>
-void 
-mpi_process_group::trigger_launcher<Type, Handler>::
-receive(mpi_process_group const&, int source, int tag, 
-        trigger_receive_context context, int block) const
-{
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << (out_of_band? "OOB trigger" : "Trigger") 
-            << " receive from source " << source << " and tag " << tag
-        << " in block " << (block == -1 ? self.my_block_number() : block) << std::endl;
-#endif
-
-  Type data;
-
-  if (context == trc_out_of_band) {
-    // Receive the message directly off the wire
-    int realtag  = self.encode_tag(
-      block == -1 ? self.my_block_number() : block, tag);
-    detail::do_oob_receive(self,source,realtag,data);
-  }
-  else
-    // Receive the message out of the local buffer
-    boost::graph::distributed::receive(self, source, tag, data);
-
-  // Pass the message off to the handler
-  handler(source, tag, data, context);
-}
-
-template<typename Type, typename Handler>
-void 
-mpi_process_group::reply_trigger_launcher<Type, Handler>::
-receive(mpi_process_group const&, int source, int tag, 
-        trigger_receive_context context, int block) const
-{
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << (out_of_band? "OOB reply trigger" : "Reply trigger") 
-            << " receive from source " << source << " and tag " << tag
-        << " in block " << (block == -1 ? self.my_block_number() : block) << std::endl;
-#endif
-  BOOST_ASSERT(context == trc_out_of_band);
-
-  boost::parallel::detail::untracked_pair<int, Type> data;
-
-  // Receive the message directly off the wire
-  int realtag  = self.encode_tag(block == -1 ? self.my_block_number() : block,
-                                 tag);
-  detail::do_oob_receive(self, source, realtag, data);
-
-  // Pass the message off to the handler and send the result back to
-  // the source.
-  send_oob(self, source, data.first, 
-           handler(source, tag, data.second, context), -2);
-}
-
-template<typename Type, typename Handler>
-void 
-mpi_process_group::global_trigger_launcher<Type, Handler>::
-receive(mpi_process_group const& self, int source, int tag, 
-        trigger_receive_context context, int block) const
-{
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << (out_of_band? "OOB trigger" : "Trigger") 
-            << " receive from source " << source << " and tag " << tag
-        << " in block " << (block == -1 ? self.my_block_number() : block) << std::endl;
-#endif
-
-  Type data;
-
-  if (context == trc_out_of_band) {
-    // Receive the message directly off the wire
-    int realtag  = self.encode_tag(
-      block == -1 ? self.my_block_number() : block, tag);
-    detail::do_oob_receive(self,source,realtag,data);
-  }
-  else
-    // Receive the message out of the local buffer
-    boost::graph::distributed::receive(self, source, tag, data);
-
-  // Pass the message off to the handler
-  handler(self, source, tag, data, context);
-}
-
-
-template<typename Type, typename Handler>
-void 
-mpi_process_group::global_irecv_trigger_launcher<Type, Handler>::
-receive(mpi_process_group const& self, int source, int tag, 
-        trigger_receive_context context, int block) const
-{
-#ifdef PBGL_PROCESS_GROUP_DEBUG
-  std::cerr << (out_of_band? "OOB trigger" : "Trigger") 
-            << " receive from source " << source << " and tag " << tag
-        << " in block " << (block == -1 ? self.my_block_number() : block) << std::endl;
-#endif
-
-  Type data;
-
-  if (context == trc_out_of_band) {
-    return;
-  }
-  BOOST_ASSERT (context == trc_irecv_out_of_band);
-
-  // force posting of new MPI_Irecv, even though buffer is already allocated
-  boost::mpi::packed_iarchive ia(self.impl_->comm,self.impl_->buffers[tag]);
-  ia >> data;
-  // Start a new receive
-  prepare_receive(self,tag,true);
-  // Pass the message off to the handler
-  handler(self, source, tag, data, context);
-}
-
-
-template<typename Type, typename Handler>
-void 
-mpi_process_group::global_irecv_trigger_launcher<Type, Handler>::
-prepare_receive(mpi_process_group const& self, int tag, bool force) const
-{
-#ifdef PBGL_PROCESS_GROUP_DEBUG
- std::cerr << ("Posting Irecv for trigger") 
-      << " receive with tag " << tag << std::endl;
-#endif
-  if (self.impl_->buffers.find(tag) == self.impl_->buffers.end()) {
-    self.impl_->buffers[tag].resize(buffer_size);
-    force = true;
-  }
-  BOOST_ASSERT(static_cast<int>(self.impl_->buffers[tag].size()) >= buffer_size);
-  
-  //BOOST_MPL_ASSERT(mpl::not_<is_mpi_datatype<Type> >);
-  if (force) {
-    self.impl_->requests.push_back(MPI_Request());
-    MPI_Request* request = &self.impl_->requests.back();
-    MPI_Irecv(&self.impl_->buffers[tag].front(),buffer_size,
-               MPI_PACKED,MPI_ANY_SOURCE,tag,self.impl_->comm,request);
-  }
-}
-
-
-template<typename T>
-inline mpi_process_group::process_id_type
-receive(const mpi_process_group& pg, int tag, T& value)
-{
-  for (std::size_t source = 0; source < pg.impl_->incoming.size(); ++source) {
-    if (pg.receive_impl(source, pg.encode_tag(pg.my_block_number(), tag),
-                        value, boost::mpi::is_mpi_datatype<T>()))
-      return source;
-  }
-  BOOST_ASSERT (false);
-}
-
-template<typename T>
-typename 
-  enable_if<boost::mpi::is_mpi_datatype<T>, 
-            std::pair<mpi_process_group::process_id_type, std::size_t> >::type
-receive(const mpi_process_group& pg, int tag, T values[], std::size_t n)
-{
-  for (std::size_t source = 0; source < pg.impl_->incoming.size(); ++source) {
-    bool result =
-      pg.receive_impl(source, pg.encode_tag(pg.my_block_number(), tag),
-                 boost::serialization::make_array(values,n),
-                 boost::mpl::true_());
-    if (result) 
-      return std::make_pair(source, n);
-  }
-  BOOST_ASSERT(false);
-}
-
-template<typename T>
-typename 
-  disable_if<boost::mpi::is_mpi_datatype<T>, 
-             std::pair<mpi_process_group::process_id_type, std::size_t> >::type
-receive(const mpi_process_group& pg, int tag, T values[], std::size_t n)
-{
-  for (std::size_t source = 0; source < pg.impl_->incoming.size(); ++source) {
-    if (pg.array_receive_impl(source, pg.encode_tag(pg.my_block_number(), tag),
-                              values, n))
-      return std::make_pair(source, n);
-  }
-  BOOST_ASSERT(false);
-}
-
-template<typename T>
-mpi_process_group::process_id_type
-receive(const mpi_process_group& pg,
-        mpi_process_group::process_id_type source, int tag, T& value)
-{
-  if (pg.receive_impl(source, pg.encode_tag(pg.my_block_number(), tag),
-                      value, boost::mpi::is_mpi_datatype<T>()))
-    return source;
-  else {
-    fprintf(stderr,
-            "Process %d failed to receive a message from process %d with tag %d in block %d.\n",
-            process_id(pg), source, tag, pg.my_block_number());
-
-    BOOST_ASSERT(false);
-    abort();
-  }
-}
-
-template<typename T>
-typename 
-  enable_if<boost::mpi::is_mpi_datatype<T>, 
-            std::pair<mpi_process_group::process_id_type, std::size_t> >::type
-receive(const mpi_process_group& pg, int source, int tag, T values[], 
-        std::size_t n)
-{
-  if (pg.receive_impl(source, pg.encode_tag(pg.my_block_number(), tag),
-                      boost::serialization::make_array(values,n), 
-                      boost::mpl::true_()))
-    return std::make_pair(source,n);
-  else {
-    fprintf(stderr,
-            "Process %d failed to receive a message from process %d with tag %d in block %d.\n",
-            process_id(pg), source, tag, pg.my_block_number());
-
-    BOOST_ASSERT(false);
-    abort();
-  }
-}
-
-template<typename T>
-typename 
-  disable_if<boost::mpi::is_mpi_datatype<T>, 
-             std::pair<mpi_process_group::process_id_type, std::size_t> >::type
-receive(const mpi_process_group& pg, int source, int tag, T values[], 
-        std::size_t n)
-{
-  pg.array_receive_impl(source, pg.encode_tag(pg.my_block_number(), tag),
-                        values, n);
-
-  return std::make_pair(source, n);
-}
-
-template<typename T, typename BinaryOperation>
-T*
-all_reduce(const mpi_process_group& pg, T* first, T* last, T* out,
-           BinaryOperation bin_op)
-{
-  synchronize(pg);
-
-  bool inplace = first == out;
-
-  if (inplace) out = new T [last-first];
-
-  boost::mpi::all_reduce(boost::mpi::communicator(communicator(pg),
-                                                  boost::mpi::comm_attach), 
-                         first, last-first, out, bin_op);
-
-  if (inplace) {
-    std::copy(out, out + (last-first), first);
-    delete [] out;
-    return last;
-  }
-
-  return out;
-}
-
-template<typename T>
-void
-broadcast(const mpi_process_group& pg, T& val, 
-          mpi_process_group::process_id_type root)
-{
-  // broadcast the seed  
-  boost::mpi::communicator comm(communicator(pg),boost::mpi::comm_attach);
-  boost::mpi::broadcast(comm,val,root);
-}
-
-
-template<typename T, typename BinaryOperation>
-T*
-scan(const mpi_process_group& pg, T* first, T* last, T* out,
-           BinaryOperation bin_op)
-{
-  synchronize(pg);
-
-  bool inplace = first == out;
-
-  if (inplace) out = new T [last-first];
-
-  boost::mpi::scan(communicator(pg), first, last-first, out, bin_op);
-
-  if (inplace) {
-    std::copy(out, out + (last-first), first);
-    delete [] out;
-    return last;
-  }
-
-  return out;
-}
-
-
-template<typename InputIterator, typename T>
-void
-all_gather(const mpi_process_group& pg, InputIterator first,
-           InputIterator last, std::vector<T>& out)
-{
-  synchronize(pg);
-
-  // Stick a copy of the local values into a vector, so we can broadcast it
-  std::vector<T> local_values(first, last);
-
-  // Collect the number of vertices stored in each process
-  int size = local_values.size();
-  std::vector<int> sizes(num_processes(pg));
-  int result = MPI_Allgather(&size, 1, MPI_INT,
-                             &sizes[0], 1, MPI_INT,
-                             communicator(pg));
-  BOOST_ASSERT(result == MPI_SUCCESS);
-
-  // Adjust sizes based on the number of bytes
-  std::transform(sizes.begin(), sizes.end(), sizes.begin(),
-                 std::bind2nd(std::multiplies<int>(), sizeof(T)));
-
-  // Compute displacements
-  std::vector<int> displacements;
-  displacements.reserve(sizes.size() + 1);
-  displacements.push_back(0);
-  std::partial_sum(sizes.begin(), sizes.end(),
-                   std::back_inserter(displacements));
-
-  // Gather all of the values
-  out.resize(displacements.back() / sizeof(T));
-  if (!out.empty()) {
-    result = MPI_Allgatherv(local_values.empty()? (void*)&local_values
-                            /* local results */: (void*)&local_values[0],
-                            local_values.size() * sizeof(T),
-                            MPI_BYTE,
-                            &out[0], &sizes[0], &displacements[0], MPI_BYTE,
-                            communicator(pg));
-  }
-  BOOST_ASSERT(result == MPI_SUCCESS);
-}
-
-template<typename InputIterator>
-mpi_process_group
-process_subgroup(const mpi_process_group& pg,
-                 InputIterator first, InputIterator last)
-{
-/*
-  boost::mpi::group current_group = communicator(pg).group();
-  boost::mpi::group new_group = current_group.include(first,last);
-  boost::mpi::communicator new_comm(communicator(pg),new_group);
-  return mpi_process_group(new_comm);
-*/
-  std::vector<int> ranks(first, last);
-
-  MPI_Group current_group;
-  int result = MPI_Comm_group(communicator(pg), &current_group);
-  BOOST_ASSERT(result == MPI_SUCCESS);
-
-  MPI_Group new_group;
-  result = MPI_Group_incl(current_group, ranks.size(), &ranks[0], &new_group);
-  BOOST_ASSERT(result == MPI_SUCCESS);
-
-  MPI_Comm new_comm;
-  result = MPI_Comm_create(communicator(pg), new_group, &new_comm);
-  BOOST_ASSERT(result == MPI_SUCCESS);
-
-  result = MPI_Group_free(&new_group);
-  BOOST_ASSERT(result == MPI_SUCCESS);
-  result = MPI_Group_free(&current_group);
-  BOOST_ASSERT(result == MPI_SUCCESS);
-
-  if (new_comm != MPI_COMM_NULL) {
-    mpi_process_group result_pg(boost::mpi::communicator(new_comm,boost::mpi::comm_attach));
-    result = MPI_Comm_free(&new_comm);
-    BOOST_ASSERT(result == 0);
-    return result_pg;
-  } else {
-    return mpi_process_group(mpi_process_group::create_empty());
-  }
-
-}
-
-
-template<typename Receiver>
-Receiver* mpi_process_group::get_receiver()
-{
-  return impl_->blocks[my_block_number()]->on_receive
-           .template target<Receiver>();
-}
-
-template<typename T>
-typename enable_if<boost::mpi::is_mpi_datatype<T> >::type
-receive_oob(const mpi_process_group& pg, 
-            mpi_process_group::process_id_type source, int tag, T& value, int block)
-{
-  using boost::mpi::get_mpi_datatype;
-
-  // Determine the actual message we expect to receive, and which
-  // communicator it will come by.
-  std::pair<boost::mpi::communicator, int> actual
-    = pg.actual_communicator_and_tag(tag, block);
-
-  // Post a non-blocking receive that waits until we complete this request.
-  MPI_Request request;
-  MPI_Irecv(&value, 1, get_mpi_datatype<T>(value),  
-            source, actual.second, actual.first, &request); 
-
-  int done = 0;
-  do {
-    MPI_Test(&request, &done, MPI_STATUS_IGNORE);
-    if (!done)
-      pg.poll(/*wait=*/false, block);
-  } while (!done);
-}
-
-template<typename T>
-typename disable_if<boost::mpi::is_mpi_datatype<T> >::type
-receive_oob(const mpi_process_group& pg, 
-            mpi_process_group::process_id_type source, int tag, T& value, int block)
-{
-  // Determine the actual message we expect to receive, and which
-  // communicator it will come by.
-  std::pair<boost::mpi::communicator, int> actual
-    = pg.actual_communicator_and_tag(tag, block);
-
-  boost::optional<boost::mpi::status> status;
-  do {
-    status = actual.first.iprobe(source, actual.second);
-    if (!status)
-      pg.poll();
-  } while (!status);
-
-  //actual.first.recv(status->source(), status->tag(),value);
-
-  // Allocate the receive buffer
-  boost::mpi::packed_iarchive in(actual.first);
-
-#if BOOST_VERSION >= 103600
-  in.resize(status->count<boost::mpi::packed>().get());
-#else
-  int size;
-  MPI_Status mpi_status = *status;
-  MPI_Get_count(&mpi_status, MPI_PACKED, &size);
-  in.resize(size);
-#endif
-  
-  // Receive the message data
-  MPI_Recv(in.address(), in.size(), MPI_PACKED,
-           status->source(), status->tag(), actual.first, MPI_STATUS_IGNORE);
-  
-  // Unpack the message data
-  in >> value;
-}
-
-
-template<typename SendT, typename ReplyT>
-typename enable_if<boost::mpi::is_mpi_datatype<ReplyT> >::type
-send_oob_with_reply(const mpi_process_group& pg, 
-                    mpi_process_group::process_id_type dest,
-                    int tag, const SendT& send_value, ReplyT& reply_value,
-                    int block)
-{
-  detail::tag_allocator::token reply_tag = pg.impl_->allocated_tags.get_tag();
-  send_oob(pg, dest, tag, boost::parallel::detail::make_untracked_pair(
-        (int)reply_tag, send_value), block);
-  receive_oob(pg, dest, reply_tag, reply_value);
-}
-
-template<typename SendT, typename ReplyT>
-typename disable_if<boost::mpi::is_mpi_datatype<ReplyT> >::type
-send_oob_with_reply(const mpi_process_group& pg, 
-                    mpi_process_group::process_id_type dest,
-                    int tag, const SendT& send_value, ReplyT& reply_value,
-                    int block)
-{
-  detail::tag_allocator::token reply_tag = pg.impl_->allocated_tags.get_tag();
-  send_oob(pg, dest, tag, 
-           boost::parallel::detail::make_untracked_pair((int)reply_tag, 
-                                                        send_value), block);
-  receive_oob(pg, dest, reply_tag, reply_value);
-}
-
-} } } // end namespace boost::graph::distributed
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/queue.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/queue.ipp
deleted file mode 100644
index f37ff25..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/queue.ipp
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#include <boost/optional.hpp>
-#include <cassert>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <functional>
-#include <algorithm>
-#include <boost/graph/parallel/simple_trigger.hpp>
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-namespace boost { namespace graph { namespace distributed {
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-BOOST_DISTRIBUTED_QUEUE_TYPE::
-distributed_queue(const ProcessGroup& process_group, const OwnerMap& owner,
-                  const Buffer& buffer, bool polling)
-  : process_group(process_group, attach_distributed_object()),
-    owner(owner),
-    buffer(buffer),
-    polling(polling)
-{
-  if (!polling)
-    outgoing_buffers.reset(
-      new outgoing_buffers_t(num_processes(process_group)));
-
-  setup_triggers();
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-BOOST_DISTRIBUTED_QUEUE_TYPE::
-distributed_queue(const ProcessGroup& process_group, const OwnerMap& owner,
-                  const Buffer& buffer, const UnaryPredicate& pred,
-                  bool polling)
-  : process_group(process_group, attach_distributed_object()),
-    owner(owner),
-    buffer(buffer),
-    pred(pred),
-    polling(polling)
-{
-  if (!polling)
-    outgoing_buffers.reset(
-      new outgoing_buffers_t(num_processes(process_group)));
-
-  setup_triggers();
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-BOOST_DISTRIBUTED_QUEUE_TYPE::
-distributed_queue(const ProcessGroup& process_group, const OwnerMap& owner,
-                  const UnaryPredicate& pred, bool polling)
-  : process_group(process_group, attach_distributed_object()),
-    owner(owner),
-    pred(pred),
-    polling(polling)
-{
-  if (!polling)
-    outgoing_buffers.reset(
-      new outgoing_buffers_t(num_processes(process_group)));
-
-  setup_triggers();
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-void
-BOOST_DISTRIBUTED_QUEUE_TYPE::push(const value_type& x)
-{
-  typename ProcessGroup::process_id_type dest = get(owner, x);
-  if (outgoing_buffers)
-    outgoing_buffers->at(dest).push_back(x);
-  else if (dest == process_id(process_group))
-    buffer.push(x);
-  else
-    send(process_group, get(owner, x), msg_push, x);
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-bool
-BOOST_DISTRIBUTED_QUEUE_TYPE::empty() const
-{
-  /* Processes will stay here until the buffer is nonempty or
-     synchronization with the other processes indicates that all local
-     buffers are empty (and no messages are in transit).
-   */
-  while (buffer.empty() && !do_synchronize()) ;
-
-  return buffer.empty();
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-typename BOOST_DISTRIBUTED_QUEUE_TYPE::size_type
-BOOST_DISTRIBUTED_QUEUE_TYPE::size() const
-{
-  empty();
-  return buffer.size();
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-void BOOST_DISTRIBUTED_QUEUE_TYPE::setup_triggers()
-{
-  using boost::graph::parallel::simple_trigger;
-
-  simple_trigger(process_group, msg_push, this, 
-                 &distributed_queue::handle_push);
-  simple_trigger(process_group, msg_multipush, this, 
-                 &distributed_queue::handle_multipush);
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-void 
-BOOST_DISTRIBUTED_QUEUE_TYPE::
-handle_push(int /*source*/, int /*tag*/, const value_type& value, 
-            trigger_receive_context)
-{
-  if (pred(value)) buffer.push(value);
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-void 
-BOOST_DISTRIBUTED_QUEUE_TYPE::
-handle_multipush(int /*source*/, int /*tag*/, 
-                 const std::vector<value_type>& values, 
-                 trigger_receive_context)
-{
-  for (std::size_t i = 0; i < values.size(); ++i)
-    if (pred(values[i])) buffer.push(values[i]);
-}
-
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-bool
-BOOST_DISTRIBUTED_QUEUE_TYPE::do_synchronize() const
-{
-#ifdef PBGL_ACCOUNTING
-  ++num_synchronizations;
-#endif
-
-  using boost::parallel::all_reduce;
-  using std::swap;
-
-  typedef typename ProcessGroup::process_id_type process_id_type;
-
-  if (outgoing_buffers) {
-    // Transfer all of the push requests
-    process_id_type id = process_id(process_group);
-    process_id_type np = num_processes(process_group);
-    for (process_id_type dest = 0; dest < np; ++dest) {
-      outgoing_buffer_t& outgoing = outgoing_buffers->at(dest);
-      std::size_t size = outgoing.size();
-      if (size != 0) {
-        if (dest != id) {
-          send(process_group, dest, msg_multipush, outgoing);
-        } else {
-          for (std::size_t i = 0; i < size; ++i)
-            buffer.push(outgoing[i]);
-        }
-        outgoing.clear();
-      }
-    }
-  }
-  synchronize(process_group);
-
-  unsigned local_size = buffer.size();
-  unsigned global_size =
-    all_reduce(process_group, local_size, std::plus<unsigned>());
-  return global_size == 0;
-}
-
-} } } // end namespace boost::graph::distributed
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/remote_update_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/remote_update_set.hpp
deleted file mode 100644
index 471b2a2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/remote_update_set.hpp
+++ /dev/null
@@ -1,259 +0,0 @@
-// Copyright (C) 2005-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DETAIL_REMOTE_UPDATE_SET_HPP
-#define BOOST_GRAPH_DETAIL_REMOTE_UPDATE_SET_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <vector>
-#include <boost/assert.hpp>
-#include <boost/optional.hpp>
-#include <queue>
-
-namespace boost { namespace graph { namespace detail {
-
-template<typename ProcessGroup>
-void do_synchronize(ProcessGroup& pg)
-{ 
-  using boost::parallel::synchronize;
-  synchronize(pg);
-}
-
-struct remote_set_queued {};
-struct remote_set_immediate {};
-
-template<typename ProcessGroup>
-class remote_set_semantics
-{
-  BOOST_STATIC_CONSTANT
-    (bool, 
-     queued = (is_convertible<
-                 typename ProcessGroup::communication_category,
-                 boost::parallel::bsp_process_group_tag>::value));
-
- public:
-  typedef typename mpl::if_c<queued, 
-                             remote_set_queued, 
-                             remote_set_immediate>::type type;
-};
-
-
-template<typename Derived, typename ProcessGroup, typename Value,
-         typename OwnerMap,
-         typename Semantics = typename remote_set_semantics<ProcessGroup>::type>
-class remote_update_set;
-
-/**********************************************************************
- * Remote updating set that queues messages until synchronization     *
- **********************************************************************/
-template<typename Derived, typename ProcessGroup, typename Value,
-         typename OwnerMap>
-class remote_update_set<Derived, ProcessGroup, Value, OwnerMap,
-                        remote_set_queued>
-{
-  typedef typename property_traits<OwnerMap>::key_type Key;
-  typedef std::vector<std::pair<Key, Value> > Updates;
-  typedef typename Updates::size_type   updates_size_type;
-  typedef typename Updates::value_type  updates_pair_type;
-
-public:
-
-private:
-  typedef typename ProcessGroup::process_id_type process_id_type;
-
-  enum message_kind {
-    /** Message containing the number of updates that will be sent in
-     *  a msg_updates message that will immediately follow. This
-     *  message will contain a single value of type
-     *  updates_size_type. 
-     */
-    msg_num_updates,
-
-    /** Contains (key, value) pairs with all of the updates from a
-     *  particular source. The number of updates is variable, but will
-     *  be provided in a msg_num_updates message that immediately
-     *  preceeds this message.
-     *
-     */
-    msg_updates
-  };
-
-  struct handle_messages
-  {
-    explicit 
-    handle_messages(remote_update_set* self, const ProcessGroup& pg)
-      : self(self), update_sizes(num_processes(pg), 0) { }
-
-    void operator()(process_id_type source, int tag) 
-    { 
-      switch(tag) {
-      case msg_num_updates:
-        {
-          // Receive the # of updates
-          updates_size_type num_updates;
-          receive(self->process_group, source, tag, num_updates);
-
-          update_sizes[source] = num_updates;
-        }
-        break;
-
-      case msg_updates:
-        {
-          updates_size_type num_updates = update_sizes[source];
-          BOOST_ASSERT(num_updates);
-
-          // Receive the actual updates
-          std::vector<updates_pair_type> updates(num_updates);
-          receive(self->process_group, source, msg_updates, &updates[0],
-                  num_updates);
-          
-          // Send updates to derived "receive_update" member
-          Derived* derived = static_cast<Derived*>(self);
-          for (updates_size_type u = 0; u < num_updates; ++u)
-            derived->receive_update(source, updates[u].first, updates[u].second);
-
-          update_sizes[source] = 0;
-        }
-        break;
-      };
-    }
-
-  private:
-    remote_update_set* self;
-    std::vector<updates_size_type> update_sizes;
-  };
-  friend struct handle_messages;
-
- protected:
-  remote_update_set(const ProcessGroup& pg, const OwnerMap& owner)
-    : process_group(pg, handle_messages(this, pg)),
-      updates(num_processes(pg)), owner(owner) { 
-    }
-
-
-  void update(const Key& key, const Value& value)
-  { 
-    if (get(owner, key) == process_id(process_group)) {
-      Derived* derived = static_cast<Derived*>(this);
-      derived->receive_update(get(owner, key), key, value);
-    }
-    else {
-      updates[get(owner, key)].push_back(std::make_pair(key, value));
-    }
-  }
-
-  void collect() { }
-
-  void synchronize()
-  {
-    // Emit all updates and then remove them
-    process_id_type num_processes = updates.size();
-    for (process_id_type p = 0; p < num_processes; ++p) {
-      if (!updates[p].empty()) {
-        send(process_group, p, msg_num_updates, updates[p].size());
-        send(process_group, p, msg_updates, 
-             &updates[p].front(), updates[p].size());
-        updates[p].clear();
-      }
-    }
-    
-    do_synchronize(process_group);
-  }
-
-  ProcessGroup process_group;
-
- private:
-  std::vector<Updates> updates;
-  OwnerMap owner;
-};
-
-/**********************************************************************
- * Remote updating set that sends messages immediately                *
- **********************************************************************/
-template<typename Derived, typename ProcessGroup, typename Value,
-         typename OwnerMap>
-class remote_update_set<Derived, ProcessGroup, Value, OwnerMap,
-                        remote_set_immediate>
-{
-  typedef typename property_traits<OwnerMap>::key_type Key;
-  typedef std::pair<Key, Value> update_pair_type;
-  typedef typename std::vector<update_pair_type>::size_type updates_size_type;
-
-public:
-  typedef typename ProcessGroup::process_id_type process_id_type;
-
-private:
-  enum message_kind {
-    /** Contains a (key, value) pair that will be updated. */
-    msg_update
-  };
-
-  struct handle_messages
-  {
-    explicit handle_messages(remote_update_set* self, const ProcessGroup& pg) 
-      : self(self)
-    { update_sizes.resize(num_processes(pg), 0); }
-
-    void operator()(process_id_type source, int tag) 
-    { 
-      // Receive the # of updates
-      BOOST_ASSERT(tag == msg_update);
-      update_pair_type update;
-      receive(self->process_group, source, tag, update);
-      
-      // Send update to derived "receive_update" member
-      Derived* derived = static_cast<Derived*>(self);
-      derived->receive_update(source, update.first, update.second);
-    }
-
-  private:
-    std::vector<updates_size_type> update_sizes;
-    remote_update_set* self;
-  };
-  friend struct handle_messages;
-
- protected:
-  remote_update_set(const ProcessGroup& pg, const OwnerMap& owner)
-    : process_group(pg, handle_messages(this, pg)), owner(owner) { }
-
-  void update(const Key& key, const Value& value)
-  { 
-    if (get(owner, key) == process_id(process_group)) {
-      Derived* derived = static_cast<Derived*>(this);
-      derived->receive_update(get(owner, key), key, value);
-    }
-    else
-      send(process_group, get(owner, key), msg_update, 
-           update_pair_type(key, value));
-  }
-
-  void collect() 
-  { 
-    typedef std::pair<process_id_type, int> probe_type;
-    handle_messages handler(this, process_group);
-    while (optional<probe_type> stp = probe(process_group))
-      if (stp->second == msg_update) handler(stp->first, stp->second);
-  }
-
-  void synchronize()
-  {
-    do_synchronize(process_group);
-  }
-
-  ProcessGroup process_group;
-  OwnerMap owner;
-};
-
-} } } // end namespace boost::graph::detail
-
-#endif // BOOST_GRAPH_DETAIL_REMOTE_UPDATE_SET_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/tag_allocator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/tag_allocator.hpp
deleted file mode 100644
index 2734039..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/detail/tag_allocator.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2007  Douglas Gregor  <doug.gregor at gmail.com>
-
-// Use, modification and distribution is subject to the 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_GRAPH_DISTRIBUTED_TAG_ALLOCATOR_HPP
-#define BOOST_GRAPH_DISTRIBUTED_TAG_ALLOCATOR_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <vector>
-
-namespace boost { namespace graph { namespace distributed { namespace detail {
-
-/**
- * \brief The tag allocator allows clients to request unique tags that
- * can be used for one-time communications.
- *
- * The tag allocator hands out tag values from a predefined maximum
- * (given in the constructor) moving downward. Tags are provided one
- * at a time via a @c token. When the @c token goes out of scope, the
- * tag is returned and may be reallocated. These tags should be used,
- * for example, for one-time communication of values.
- */
-class tag_allocator {
-public:
-  class token;
-  friend class token;
-
-  /**
-   * Construct a new tag allocator that provides unique tags starting
-   * with the value @p top_tag and moving lower, as necessary.
-   */
-  explicit tag_allocator(int top_tag) : bottom(top_tag) { }
-
-  /**
-   * Retrieve a new tag. The token itself holds onto the tag, which
-   * will be released when the token is destroyed.
-   */
-  token get_tag();
-
-private:
-  int bottom;
-  std::vector<int> freed;
-};
-
-/**
- * A token used to represent an allocated tag. 
- */
-class tag_allocator::token {
-public:
-  /// Transfer ownership of the tag from @p other.
-  token(const token& other);
-
-  /// De-allocate the tag, if this token still owns it.
-  ~token();
-
-  /// Retrieve the tag allocated for this task.
-  operator int() const { return tag_; }
-
-private:
-  /// Create a token with a specific tag from the given tag_allocator
-  token(tag_allocator* allocator, int tag) 
-    : allocator(allocator), tag_(tag) { }
-
-  /// Undefined: tokens are not copy-assignable
-  token& operator=(const token&);
-
-  /// The allocator from which this tag was allocated.
-  tag_allocator* allocator;
-
-  /// The stored tag flag. If -1, this token does not own the tag.
-  mutable int tag_;
-
-  friend class tag_allocator;
-};
-
-} } } } // end namespace boost::graph::distributed::detail
-
-#endif // BOOST_GRAPH_DISTRIBUTED_TAG_ALLOCATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/dijkstra_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/dijkstra_shortest_paths.hpp
deleted file mode 100644
index acfd194..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/dijkstra_shortest_paths.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_DIJKSTRA_HPP
-#define BOOST_GRAPH_PARALLEL_DIJKSTRA_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/distributed/crauser_et_al_shortest_paths.hpp>
-#include <boost/graph/distributed/eager_dijkstra_shortest_paths.hpp>
-
-namespace boost {
-
-  namespace graph { namespace detail {
-
-    
-    template<typename Lookahead>
-    struct parallel_dijkstra_impl2
-    {
-      template<typename DistributedGraph, typename DijkstraVisitor,
-               typename PredecessorMap, typename DistanceMap, 
-               typename WeightMap, typename IndexMap, typename ColorMap, 
-               typename Compare, typename Combine, typename DistInf, 
-               typename DistZero>
-      static void 
-      run(const DistributedGraph& g,
-          typename graph_traits<DistributedGraph>::vertex_descriptor s,
-          PredecessorMap predecessor, DistanceMap distance, 
-          typename property_traits<DistanceMap>::value_type lookahead,
-          WeightMap weight, IndexMap index_map, ColorMap color_map,
-          Compare compare, Combine combine, DistInf inf, DistZero zero,
-          DijkstraVisitor vis)
-      {
-        eager_dijkstra_shortest_paths(g, s, predecessor, distance, lookahead,
-                                      weight, index_map, color_map, compare,
-                                      combine, inf, zero, vis);
-      }
-    };
-
-    template<>
-    struct parallel_dijkstra_impl2< ::boost::param_not_found >
-    {
-      template<typename DistributedGraph, typename DijkstraVisitor,
-               typename PredecessorMap, typename DistanceMap, 
-               typename WeightMap, typename IndexMap, typename ColorMap, 
-               typename Compare, typename Combine, typename DistInf, 
-               typename DistZero>
-      static void 
-      run(const DistributedGraph& g,
-          typename graph_traits<DistributedGraph>::vertex_descriptor s,
-          PredecessorMap predecessor, DistanceMap distance, 
-          ::boost::param_not_found,
-          WeightMap weight, IndexMap index_map, ColorMap color_map,
-          Compare compare, Combine combine, DistInf inf, DistZero zero,
-          DijkstraVisitor vis)
-      {
-        crauser_et_al_shortest_paths(g, s, predecessor, distance, weight,
-                                     index_map, color_map, compare, combine,
-                                     inf, zero, vis);
-      }
-    };
-
-    template<typename ColorMap>
-    struct parallel_dijkstra_impl
-    {
-      template<typename DistributedGraph, typename DijkstraVisitor,
-               typename PredecessorMap, typename DistanceMap, 
-               typename Lookahead, typename WeightMap, typename IndexMap,
-               typename Compare, typename Combine, 
-               typename DistInf, typename DistZero>
-      static void 
-      run(const DistributedGraph& g,
-          typename graph_traits<DistributedGraph>::vertex_descriptor s,
-          PredecessorMap predecessor, DistanceMap distance, 
-          Lookahead lookahead,
-          WeightMap weight, IndexMap index_map, ColorMap color_map,
-          Compare compare, Combine combine, DistInf inf, DistZero zero,
-          DijkstraVisitor vis)
-      {
-        graph::detail::parallel_dijkstra_impl2<Lookahead>
-          ::run(g, s, predecessor, distance, lookahead, weight, index_map,
-                color_map, compare, combine, inf, zero, vis);
-      }
-    };
-    
-    template<>
-    struct parallel_dijkstra_impl< ::boost::param_not_found >
-    {
-    private:
-      template<typename DistributedGraph, typename DijkstraVisitor,
-               typename PredecessorMap, typename DistanceMap, 
-               typename Lookahead, typename WeightMap, typename IndexMap,
-               typename ColorMap, typename Compare, typename Combine, 
-               typename DistInf, typename DistZero>
-      static void 
-      run_impl(const DistributedGraph& g,
-               typename graph_traits<DistributedGraph>::vertex_descriptor s,
-               PredecessorMap predecessor, DistanceMap distance, 
-               Lookahead lookahead, WeightMap weight, IndexMap index_map, 
-               ColorMap color_map, Compare compare, Combine combine, 
-               DistInf inf, DistZero zero, DijkstraVisitor vis)
-      {
-        BGL_FORALL_VERTICES_T(u, g, DistributedGraph)
-          BGL_FORALL_OUTEDGES_T(u, e, g, DistributedGraph)
-            local_put(color_map, target(e, g), white_color);
-
-        graph::detail::parallel_dijkstra_impl2<Lookahead>
-          ::run(g, s, predecessor, distance, lookahead, weight, index_map,
-                color_map, compare, combine, inf, zero, vis);
-      }
-
-    public:
-      template<typename DistributedGraph, typename DijkstraVisitor,
-               typename PredecessorMap, typename DistanceMap, 
-               typename Lookahead, typename WeightMap, typename IndexMap,
-               typename Compare, typename Combine, 
-               typename DistInf, typename DistZero>
-      static void 
-      run(const DistributedGraph& g,
-          typename graph_traits<DistributedGraph>::vertex_descriptor s,
-          PredecessorMap predecessor, DistanceMap distance, 
-          Lookahead lookahead, WeightMap weight, IndexMap index_map, 
-          ::boost::param_not_found,
-          Compare compare, Combine combine, DistInf inf, DistZero zero,
-          DijkstraVisitor vis)
-      {
-        typedef typename graph_traits<DistributedGraph>::vertices_size_type
-          vertices_size_type;
-
-        vertices_size_type n = num_vertices(g);
-        std::vector<default_color_type> colors(n, white_color);
-
-        run_impl(g, s, predecessor, distance, lookahead, weight, index_map,
-                 make_iterator_property_map(colors.begin(), index_map),
-                 compare, combine, inf, zero, vis);
-      }
-    };
-  } } // end namespace graph::detail
-
-
-  /** Dijkstra's single-source shortest paths algorithm for distributed
-   * graphs.
-   *
-   * Also implements the heuristics of:
-   *
-   *   Andreas Crauser, Kurt Mehlhorn, Ulrich Meyer, and Peter
-   *   Sanders. A Parallelization of Dijkstra's Shortest Path
-   *   Algorithm. In Lubos Brim, Jozef Gruska, and Jiri Zlatuska,
-   *   editors, Mathematical Foundations of Computer Science (MFCS),
-   *   volume 1450 of Lecture Notes in Computer Science, pages
-   *   722--731, 1998. Springer.
-   */
-  template<typename DistributedGraph, typename DijkstraVisitor,
-           typename PredecessorMap, typename DistanceMap,
-           typename WeightMap, typename IndexMap, typename Compare,
-           typename Combine, typename DistInf, typename DistZero,
-           typename T, typename Tag, typename Base>
-  inline
-  void
-  dijkstra_shortest_paths
-    (const DistributedGraph& g,
-     typename graph_traits<DistributedGraph>::vertex_descriptor s,
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight,
-     IndexMap index_map,
-     Compare compare, Combine combine, DistInf inf, DistZero zero,
-     DijkstraVisitor vis,
-     const bgl_named_params<T, Tag, Base>& params
-     BOOST_GRAPH_ENABLE_IF_MODELS_PARM(DistributedGraph,distributed_graph_tag))
-  {
-    typedef typename graph_traits<DistributedGraph>::vertices_size_type
-      vertices_size_type;
-
-    // Build a distributed property map for vertex colors, if we need it
-    bool use_default_color_map 
-      = is_default_param(get_param(params, vertex_color));
-    vertices_size_type n = use_default_color_map? num_vertices(g) : 1;
-    std::vector<default_color_type> color(n, white_color);
-    typedef iterator_property_map<std::vector<default_color_type>::iterator,
-                                  IndexMap> DefColorMap;
-    DefColorMap color_map(color.begin(), index_map);
-
-    typedef typename get_param_type< vertex_color_t, bgl_named_params<T, Tag, Base> >::type color_map_type;
-
-    graph::detail::parallel_dijkstra_impl<color_map_type>
-      ::run(g, s, predecessor, distance, 
-            get_param(params, lookahead_t()),
-            weight, index_map,
-            get_param(params, vertex_color),
-            compare, combine, inf, zero, vis);
-  }
-} // end namespace boost
-
-#endif // BOOST_GRAPH_PARALLEL_DIJKSTRA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/distributed_graph_utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/distributed_graph_utility.hpp
deleted file mode 100644
index 058b988..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/distributed_graph_utility.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright (C) 2005-2006 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: Peter Gottschling
-//           Douglas Gregor
-//           Andrew Lumsdaine
-
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/property_map/parallel/global_index_map.hpp>
-
-#ifndef BOOST_GRAPH_DISTRIBUTED_GRAPH_UTILITY_INCLUDE
-#define BOOST_GRAPH_DISTRIBUTED_GRAPH_UTILITY_INCLUDE
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-namespace boost { namespace graph {
-
-  template <class Property, class Graph>
-  void property_on_inedges(Property p, const Graph& g) 
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph)
-      BGL_FORALL_INEDGES_T(u, e, g, Graph)
-      request(p, e);
-    synchronize(p);
-  }
-  
-  // For reverse graphs
-  template <class Property, class Graph>
-  void property_on_outedges(Property p, const Graph& g) 
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph)
-      BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-        request(p, e);
-    synchronize(p);
-  }
-
-  template <class Property, class Graph>
-  void property_on_successors(Property p, const Graph& g) 
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph)
-      BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-        request(p, target(e, g));
-    synchronize(p);
-  }
-  
-  template <class Property, class Graph>
-  void property_on_predecessors(Property p, const Graph& g) 
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph)
-      BGL_FORALL_INEDGES_T(u, e, g, Graph)
-        request(p, source(e, g));
-    synchronize(p);
-  }
-  
-  // Like successors and predecessors but saves one synchronize (and a call)
-  template <class Property, class Graph>
-  void property_on_adjacents(Property p, const Graph& g) 
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph) {
-      BGL_FORALL_OUTEDGES_T(u, e, g, Graph)
-        request(p, target(e, g));
-      BGL_FORALL_INEDGES_T(u, e, g, Graph)
-        request(p, source(e, g));
-    }
-    synchronize(p);
-  }
-
-  template <class PropertyIn, class PropertyOut, class Graph>
-  void copy_vertex_property(PropertyIn p_in, PropertyOut p_out, Graph& g)
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph)
-      put(p_out, u, get(p_in, g));
-  }
-
-  template <class PropertyIn, class PropertyOut, class Graph>
-  void copy_edge_property(PropertyIn p_in, PropertyOut p_out, Graph& g)
-  {
-    BGL_FORALL_EDGES_T(e, g, Graph)
-      put(p_out, e, get(p_in, g));
-  }
-
-
-  namespace distributed {
-
-    // Define global_index<Graph>  global(graph);
-    // Then global(v) returns global index of v
-    template <typename Graph>
-    struct global_index
-    {
-      typedef typename property_map<Graph, vertex_index_t>::const_type
-      VertexIndexMap;
-      typedef typename property_map<Graph, vertex_global_t>::const_type
-      VertexGlobalMap;
-
-      explicit global_index(Graph const& g)
-        : global_index_map(process_group(g), num_vertices(g), get(vertex_index, g),
-                           get(vertex_global, g)) {}
-
-      int operator() (typename graph_traits<Graph>::vertex_descriptor v)
-      { return get(global_index_map, v); }
-    
-    protected:
-      boost::parallel::global_index_map<VertexIndexMap, VertexGlobalMap> 
-      global_index_map;
-    };
-
-    template<typename T>
-    struct additive_reducer {
-      BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-      
-      template<typename K>
-      T operator()(const K&) const { return T(0); }
-      
-      template<typename K>
-      T operator()(const K&, const T& local, const T& remote) const { return local + remote; }
-    };
-
-    template <typename T>
-    struct choose_min_reducer {
-      BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-      
-      template<typename K>
-      T operator()(const K&) const { return (std::numeric_limits<T>::max)(); }
-      
-      template<typename K>
-      T operator()(const K&, const T& x, const T& y) const 
-      { return x < y ? x : y; }
-    };
-
-    // To use a property map syntactically like a function
-    template <typename PropertyMap>
-    struct property_map_reader
-    {
-      explicit property_map_reader(PropertyMap pm) : pm(pm) {}
-
-      template <typename T>
-      typename PropertyMap::value_type
-      operator() (const T& v)
-      {
-        return get(pm, v);
-      }
-    private:
-      PropertyMap pm;
-    };
-
-  } // namespace distributed
-
-}} // namespace boost::graph
-
-#endif // BOOST_GRAPH_DISTRIBUTED_GRAPH_UTILITY_INCLUDE
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/eager_dijkstra_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/eager_dijkstra_shortest_paths.hpp
deleted file mode 100644
index 8b78d63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/eager_dijkstra_shortest_paths.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-/**************************************************************************
- * This source file implements a variation on distributed Dijkstra's      *
- * algorithm that can expose additional parallelism by permitting         *
- * vertices within a certain distance from the minimum to be processed,   *
- * even though they may not be at their final distance. This can          *
- * introduce looping, but the algorithm will still terminate so long as   *
- * there are no negative loops.                                           *
- **************************************************************************/
-#ifndef BOOST_GRAPH_EAGER_DIJKSTRA_SHORTEST_PATHS_HPP
-#define BOOST_GRAPH_EAGER_DIJKSTRA_SHORTEST_PATHS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/graph/distributed/detail/dijkstra_shortest_paths.hpp>
-#include <boost/property_map/parallel/caching_property_map.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/distributed/detail/remote_update_set.hpp>
-#include <vector>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-#ifdef PBGL_ACCOUNTING
-#  include <boost/graph/accounting.hpp>
-#  include <numeric>
-#endif // PBGL_ACCOUNTING
-
-#ifdef MUTABLE_QUEUE
-#  include <boost/pending/mutable_queue.hpp>
-#endif
-
-namespace boost { namespace graph { namespace distributed {
-
-#ifdef PBGL_ACCOUNTING
-struct eager_dijkstra_shortest_paths_stats_t
-{
-  /* The value of the lookahead parameter. */
-  double lookahead;
-
-  /* Total wall-clock time used by the algorithm.*/
-  accounting::time_type execution_time;
-
-  /* The number of vertices deleted in each superstep. */
-  std::vector<std::size_t> deleted_vertices;
-
-  template<typename OutputStream>
-  void print(OutputStream& out)
-  {
-    double avg_deletions = std::accumulate(deleted_vertices.begin(),
-                                           deleted_vertices.end(),
-                                           0.0);
-    avg_deletions /= deleted_vertices.size();
-
-    out << "Problem = \"Single-Source Shortest Paths\"\n"
-        << "Algorithm = \"Eager Dijkstra\"\n"
-        << "Function = eager_dijkstra_shortest_paths\n"
-        << "(P) Lookahead = " << lookahead << "\n"
-        << "Wall clock time = " << accounting::print_time(execution_time) 
-        << "\nSupersteps = " << deleted_vertices.size() << "\n"
-        << "Avg. deletions per superstep = " << avg_deletions << "\n";
-  }
-};
-
-static eager_dijkstra_shortest_paths_stats_t eager_dijkstra_shortest_paths_stats;
-#endif
-
-namespace detail {
-
-// Borrowed from BGL's dijkstra_shortest_paths
-template <class UniformCostVisitor, class Queue,
-          class WeightMap, class PredecessorMap, class DistanceMap,
-          class BinaryFunction, class BinaryPredicate>
- struct parallel_dijkstra_bfs_visitor : bfs_visitor<>
-{
-  typedef typename property_traits<DistanceMap>::value_type distance_type;
-
-  parallel_dijkstra_bfs_visitor(UniformCostVisitor vis, Queue& Q,
-                                WeightMap w, PredecessorMap p, DistanceMap d,
-                                BinaryFunction combine, BinaryPredicate compare,
-                                distance_type zero)
-    : m_vis(vis), m_Q(Q), m_weight(w), m_predecessor(p), m_distance(d),
-      m_combine(combine), m_compare(compare), m_zero(zero)  { }
-
-  template <class Vertex, class Graph>
-  void initialize_vertex(Vertex u, Graph& g)
-    { m_vis.initialize_vertex(u, g); }
-  template <class Vertex, class Graph>
-  void discover_vertex(Vertex u, Graph& g) { m_vis.discover_vertex(u, g); }
-  template <class Vertex, class Graph>
-  void examine_vertex(Vertex u, Graph& g) { m_vis.examine_vertex(u, g); }
-
-  /* Since the eager formulation of Parallel Dijkstra's algorithm can
-     loop, we may relax on *any* edge, not just those associated with
-     white and gray targets. */
-  template <class Edge, class Graph>
-  void examine_edge(Edge e, Graph& g) {
-    if (m_compare(get(m_weight, e), m_zero))
-        boost::throw_exception(negative_edge());
-
-    m_vis.examine_edge(e, g);
-
-    boost::parallel::caching_property_map<PredecessorMap> c_pred(m_predecessor);
-    boost::parallel::caching_property_map<DistanceMap> c_dist(m_distance);
-
-    distance_type old_distance = get(c_dist, target(e, g));
-
-    bool m_decreased = relax(e, g, m_weight, c_pred, c_dist,
-                             m_combine, m_compare);
-
-    /* On x86 Linux with optimization, we sometimes get into a
-       horrible case where m_decreased is true but the distance hasn't
-       actually changed. This occurs when the comparison inside
-       relax() occurs with the 80-bit precision of the x87 floating
-       point unit, but the difference is lost when the resulting
-       values are written back to lower-precision memory (e.g., a
-       double). With the eager Dijkstra's implementation, this results
-       in looping. */
-    if (m_decreased && old_distance != get(c_dist, target(e, g))) {
-      m_Q.update(target(e, g));
-      m_vis.edge_relaxed(e, g);
-    } else
-      m_vis.edge_not_relaxed(e, g);
-  }
-  template <class Vertex, class Graph>
-  void finish_vertex(Vertex u, Graph& g) { m_vis.finish_vertex(u, g); }
-
-  UniformCostVisitor m_vis;
-  Queue& m_Q;
-  WeightMap m_weight;
-  PredecessorMap m_predecessor;
-  DistanceMap m_distance;
-  BinaryFunction m_combine;
-  BinaryPredicate m_compare;
-  distance_type m_zero;
-};
-
-  /**********************************************************************
-   * Dijkstra queue that implements arbitrary "lookahead"               *
-   **********************************************************************/
-  template<typename Graph, typename Combine, typename Compare,
-           typename VertexIndexMap, typename DistanceMap,
-           typename PredecessorMap>
-  class lookahead_dijkstra_queue
-    : public graph::detail::remote_update_set<
-               lookahead_dijkstra_queue<
-                 Graph, Combine, Compare, VertexIndexMap, DistanceMap,
-                 PredecessorMap>,
-               typename boost::graph::parallel::process_group_type<Graph>::type,
-               typename dijkstra_msg_value<DistanceMap, PredecessorMap>::type,
-               typename property_map<Graph, vertex_owner_t>::const_type>
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor
-      vertex_descriptor;
-    typedef lookahead_dijkstra_queue self_type;
-    typedef typename boost::graph::parallel::process_group_type<Graph>::type
-      process_group_type;
-    typedef dijkstra_msg_value<DistanceMap, PredecessorMap> msg_value_creator;
-    typedef typename msg_value_creator::type msg_value_type;
-    typedef typename property_map<Graph, vertex_owner_t>::const_type
-      OwnerPropertyMap;
-
-    typedef graph::detail::remote_update_set<self_type, process_group_type,
-                                             msg_value_type, OwnerPropertyMap>
-      inherited;
-
-    // Priority queue for tentative distances
-    typedef indirect_cmp<DistanceMap, Compare> queue_compare_type;
-
-    typedef typename property_traits<DistanceMap>::value_type distance_type;
-
-#ifdef MUTABLE_QUEUE
-    typedef mutable_queue<vertex_descriptor, std::vector<vertex_descriptor>, 
-                          queue_compare_type, VertexIndexMap> queue_type;
-
-#else
-    typedef relaxed_heap<vertex_descriptor, queue_compare_type, 
-                         VertexIndexMap> queue_type;
-#endif // MUTABLE_QUEUE
-
-    typedef typename process_group_type::process_id_type process_id_type;
-
-  public:
-    typedef vertex_descriptor value_type;
-
-    lookahead_dijkstra_queue(const Graph& g,
-                             const Combine& combine,
-                             const Compare& compare,
-                             const VertexIndexMap& id,
-                             const DistanceMap& distance_map,
-                             const PredecessorMap& predecessor_map,
-                             distance_type lookahead)
-      : inherited(boost::graph::parallel::process_group(g), get(vertex_owner, g)),
-        queue(num_vertices(g), queue_compare_type(distance_map, compare), id),
-        distance_map(distance_map),
-        predecessor_map(predecessor_map),
-        min_distance(0),
-        lookahead(lookahead)
-#ifdef PBGL_ACCOUNTING
-        , local_deletions(0)
-#endif
-    { }
-
-    void push(const value_type& x)
-    {
-      msg_value_type msg_value = 
-        msg_value_creator::create(get(distance_map, x),
-                                  predecessor_value(get(predecessor_map, x)));
-      inherited::update(x, msg_value);
-    }
-    
-    void update(const value_type& x) { push(x); }
-
-    void pop() 
-    { 
-      queue.pop(); 
-#ifdef PBGL_ACCOUNTING
-      ++local_deletions;
-#endif
-    }
-
-    value_type&       top()       { return queue.top(); }
-    const value_type& top() const { return queue.top(); }
-
-    bool empty()
-    {
-      inherited::collect();
-
-      // If there are no suitable messages, wait until we get something
-      while (!has_suitable_vertex()) {
-        if (do_synchronize()) return true;
-      }
-
-      // Return true only if nobody has any messages; false if we
-      // have suitable messages
-      return false;
-    }
-
-  private:
-    vertex_descriptor predecessor_value(vertex_descriptor v) const
-    { return v; }
-
-    vertex_descriptor
-    predecessor_value(property_traits<dummy_property_map>::reference) const
-    { return graph_traits<Graph>::null_vertex(); }
-
-    bool has_suitable_vertex() const
-    {
-      return (!queue.empty() 
-              && get(distance_map, queue.top()) <= min_distance + lookahead);
-    }
-
-    bool do_synchronize()
-    {
-      using boost::parallel::all_reduce;
-      using boost::parallel::minimum;
-
-      inherited::synchronize();
-
-      // TBD: could use combine here, but then we need to stop using
-      // minimum<distance_type>() as the function object.
-      distance_type local_distance = 
-        queue.empty()? (std::numeric_limits<distance_type>::max)()
-        : get(distance_map, queue.top());
-
-      all_reduce(this->process_group, &local_distance, &local_distance + 1,
-                 &min_distance, minimum<distance_type>());
-
-#ifdef PBGL_ACCOUNTING
-      std::size_t deletions = 0;
-      all_reduce(this->process_group, &local_deletions, &local_deletions + 1,
-                 &deletions, std::plus<std::size_t>());
-      if (process_id(this->process_group) == 0)
-        eager_dijkstra_shortest_paths_stats.deleted_vertices
-          .push_back(deletions);
-      local_deletions = 0;
-      BOOST_ASSERT(deletions > 0);
-#endif
-
-      return min_distance == (std::numeric_limits<distance_type>::max)();
-    }
-    
-  public:
-    void 
-    receive_update(process_id_type source, vertex_descriptor vertex,
-                   distance_type distance)
-    {
-      // Update the queue if the received distance is better than
-      // the distance we know locally
-      if (distance <= get(distance_map, vertex)) {
-
-        // Update the local distance map
-        put(distance_map, vertex, distance);
-
-        bool is_in_queue = queue.contains(vertex);
-
-        if (!is_in_queue) 
-          queue.push(vertex);
-        else 
-          queue.update(vertex);
-      }
-    }
-
-    void 
-    receive_update(process_id_type source, vertex_descriptor vertex,
-                   std::pair<distance_type, vertex_descriptor> p)
-    {
-      if (p.first <= get(distance_map, vertex)) {
-        put(predecessor_map, vertex, p.second);
-        receive_update(source, vertex, p.first);
-      }
-    }
-
-  private:
-    queue_type     queue;
-    DistanceMap    distance_map;
-    PredecessorMap predecessor_map;
-    distance_type  min_distance;
-    distance_type  lookahead;
-#ifdef PBGL_ACCOUNTING
-    std::size_t    local_deletions;
-#endif
-  };
-  /**********************************************************************/
-} // end namespace detail
-
-template<typename DistributedGraph, typename DijkstraVisitor,
-         typename PredecessorMap, typename DistanceMap, typename WeightMap,
-         typename IndexMap, typename ColorMap, typename Compare,
-         typename Combine, typename DistInf, typename DistZero>
-void
-eager_dijkstra_shortest_paths
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance, 
-   typename property_traits<DistanceMap>::value_type lookahead,
-   WeightMap weight, IndexMap index_map, ColorMap color_map,
-   Compare compare, Combine combine, DistInf inf, DistZero zero,
-   DijkstraVisitor vis)
-{
-#ifdef PBGL_ACCOUNTING
-  eager_dijkstra_shortest_paths_stats.deleted_vertices.clear();
-  eager_dijkstra_shortest_paths_stats.lookahead = lookahead;
-  eager_dijkstra_shortest_paths_stats.execution_time = accounting::get_time();
-#endif
-
-  // Initialize local portion of property maps
-  typename graph_traits<DistributedGraph>::vertex_iterator ui, ui_end;
-  for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-    put(distance, *ui, inf);
-    put(predecessor, *ui, *ui);
-  }
-  put(distance, s, zero);
-
-  // Dijkstra Queue
-  typedef detail::lookahead_dijkstra_queue
-            <DistributedGraph, Combine, Compare, IndexMap, DistanceMap,
-             PredecessorMap> Queue;
-
-  Queue Q(g, combine, compare, index_map, distance, 
-          predecessor, lookahead);
-
-  // Parallel Dijkstra visitor
-  detail::parallel_dijkstra_bfs_visitor
-    <DijkstraVisitor, Queue, WeightMap, PredecessorMap, DistanceMap, Combine, 
-     Compare> bfs_vis(vis, Q, weight, predecessor, distance, combine, compare,
-                      zero);
-
-  set_property_map_role(vertex_color, color_map);
-  set_property_map_role(vertex_distance, distance);
-
-  breadth_first_search(g, s, Q, bfs_vis, color_map);
-
-#ifdef PBGL_ACCOUNTING
-  eager_dijkstra_shortest_paths_stats.execution_time = 
-    accounting::get_time() 
-    - eager_dijkstra_shortest_paths_stats.execution_time;
-#endif
-}
-
-template<typename DistributedGraph, typename DijkstraVisitor,
-         typename PredecessorMap, typename DistanceMap, typename WeightMap>
-void
-eager_dijkstra_shortest_paths
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance, 
-   typename property_traits<DistanceMap>::value_type lookahead,
-   WeightMap weight)
-{
-  typedef typename property_traits<DistanceMap>::value_type distance_type;
-
-  std::vector<default_color_type> colors(num_vertices(g), white_color);
-
-  eager_dijkstra_shortest_paths(g, s, predecessor, distance, lookahead, weight,
-                                get(vertex_index, g),
-                                make_iterator_property_map(&colors[0],
-                                                           get(vertex_index, 
-                                                               g)),
-                                std::less<distance_type>(),
-                                closed_plus<distance_type>(),
-                                distance_type(),
-                                (std::numeric_limits<distance_type>::max)(),
-                                dijkstra_visitor<>());
-}
-
-template<typename DistributedGraph, typename DijkstraVisitor,
-         typename PredecessorMap, typename DistanceMap>
-void
-eager_dijkstra_shortest_paths
-  (const DistributedGraph& g,
-   typename graph_traits<DistributedGraph>::vertex_descriptor s,
-   PredecessorMap predecessor, DistanceMap distance,
-   typename property_traits<DistanceMap>::value_type lookahead)
-{
-  eager_dijkstra_shortest_paths(g, s, predecessor, distance, lookahead,
-                               get(edge_weight, g));
-}
-} // end namespace distributed
-
-#ifdef PBGL_ACCOUNTING
-using distributed::eager_dijkstra_shortest_paths_stats;
-#endif
-
-using distributed::eager_dijkstra_shortest_paths;
-
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_EAGER_DIJKSTRA_SHORTEST_PATHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/filtered_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/filtered_graph.hpp
deleted file mode 100644
index 9677e4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/filtered_graph.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (C) 2004-2008 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: Nick Edmonds
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_DISTRIBUTED_FILTERED_GRAPH_HPP
-#define BOOST_DISTRIBUTED_FILTERED_GRAPH_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/graph/filtered_graph.hpp>
-
-namespace boost {
-  namespace graph {
-          namespace parallel {
-      /// Retrieve the process group from a filtered graph
-      template<typename Graph, typename EdgePredicate, typename VertexPredicate>
-      struct process_group_type<filtered_graph<Graph, EdgePredicate, VertexPredicate> >
-        : process_group_type<Graph> { };
-
-      template<typename Graph, typename EdgePredicate, typename VertexPredicate>
-      struct process_group_type<const filtered_graph<Graph, EdgePredicate, VertexPredicate> >
-        : process_group_type<Graph> { };
-    }
-
-  }
-
-  /// Retrieve the process group from a filtered graph
-  template<typename Graph, typename EdgePredicate, typename VertexPredicate>
-  inline typename graph::parallel::process_group_type<Graph>::type
-  process_group(filtered_graph<Graph, EdgePredicate, VertexPredicate> const& g) {
-    return process_group(g.m_g);
-  }
-
-  /// Forward vertex() to vertex() of the base graph 
-  template <typename Graph, typename EdgePredicate, typename VertexPredicate>
-  typename graph_traits<Graph>::vertex_descriptor
-  vertex(typename graph_traits<Graph>::vertices_size_type i, 
-         filtered_graph<Graph, EdgePredicate, VertexPredicate> const& g)
-  { return vertex(i, g.m_g); }
-
-}
-
-#endif // BOOST_DISTRIBUTED_FILTERED_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/fruchterman_reingold.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/fruchterman_reingold.hpp
deleted file mode 100644
index a89aea3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/fruchterman_reingold.hpp
+++ /dev/null
@@ -1,384 +0,0 @@
-// Copyright (C) 2005-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_FRUCHTERMAN_REINGOLD_HPP
-#define BOOST_GRAPH_DISTRIBUTED_FRUCHTERMAN_REINGOLD_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/fruchterman_reingold.hpp>
-
-namespace boost { namespace graph { namespace distributed {
-
-class simple_tiling
-{
- public:
-  simple_tiling(int columns, int rows, bool flip = true) 
-    : columns(columns), rows(rows), flip(flip)
-  {
-  }
-
-  // Convert from a position (x, y) in the tiled display into a
-  // processor ID number
-  int operator()(int x, int y) const
-  {
-    return flip? (rows - y - 1) * columns + x : y * columns + x;
-  }
-
-  // Convert from a process ID to a position (x, y) in the tiled
-  // display
-  std::pair<int, int> operator()(int id)
-  {
-    int my_col = id % columns;
-    int my_row = flip? rows - (id / columns) - 1 : id / columns;
-    return std::make_pair(my_col, my_row);
-  }
-
-  int columns, rows;
-
- private:
-  bool flip;
-};
-
-// Force pairs function object that does nothing
-struct no_force_pairs
-{
-  template<typename Graph, typename ApplyForce>
-  void operator()(const Graph&, const ApplyForce&)
-  {
-  }
-};
-
-// Computes force pairs in the distributed case.
-template<typename PositionMap, typename DisplacementMap, typename LocalForces,
-         typename NonLocalForces = no_force_pairs>
-class distributed_force_pairs_proxy
-{
- public:
-  distributed_force_pairs_proxy(const PositionMap& position, 
-                                const DisplacementMap& displacement,
-                                const LocalForces& local_forces,
-                                const NonLocalForces& nonlocal_forces = NonLocalForces())
-    : position(position), displacement(displacement), 
-      local_forces(local_forces), nonlocal_forces(nonlocal_forces)
-  {
-  }
-
-  template<typename Graph, typename ApplyForce>
-  void operator()(const Graph& g, ApplyForce apply_force)
-  {
-    // Flush remote displacements
-    displacement.flush();
-
-    // Receive updated positions for all of our neighbors
-    synchronize(position);
-
-    // Reset remote displacements 
-    displacement.reset();
-
-    // Compute local repulsive forces
-    local_forces(g, apply_force);
-
-    // Compute neighbor repulsive forces
-    nonlocal_forces(g, apply_force);
-  }
-
- protected:
-  PositionMap position;
-  DisplacementMap displacement;
-  LocalForces local_forces;
-  NonLocalForces nonlocal_forces;
-};
-
-template<typename PositionMap, typename DisplacementMap, typename LocalForces>
-inline 
-distributed_force_pairs_proxy<PositionMap, DisplacementMap, LocalForces>
-make_distributed_force_pairs(const PositionMap& position, 
-                             const DisplacementMap& displacement,
-                             const LocalForces& local_forces)
-{
-  typedef 
-    distributed_force_pairs_proxy<PositionMap, DisplacementMap, LocalForces>
-    result_type;
-  return result_type(position, displacement, local_forces);
-}
-
-template<typename PositionMap, typename DisplacementMap, typename LocalForces,
-         typename NonLocalForces>
-inline 
-distributed_force_pairs_proxy<PositionMap, DisplacementMap, LocalForces,
-                              NonLocalForces>
-make_distributed_force_pairs(const PositionMap& position, 
-                             const DisplacementMap& displacement,
-                             const LocalForces& local_forces,
-                             const NonLocalForces& nonlocal_forces)
-{
-  typedef 
-    distributed_force_pairs_proxy<PositionMap, DisplacementMap, LocalForces,
-                                  NonLocalForces>
-      result_type;
-  return result_type(position, displacement, local_forces, nonlocal_forces);
-}
-
-// Compute nonlocal force pairs based on the shared borders with
-// adjacent tiles.
-template<typename PositionMap>
-class neighboring_tiles_force_pairs
-{
- public:
-  typedef typename property_traits<PositionMap>::value_type Point;
-  typedef typename point_traits<Point>::component_type Dim;
-
-  enum bucket_position { left, top, right, bottom, end_position };
-  
-  neighboring_tiles_force_pairs(PositionMap position, Point origin,
-                                Point extent, simple_tiling tiling)
-    : position(position), origin(origin), extent(extent), tiling(tiling)
-  {
-  }
-
-  template<typename Graph, typename ApplyForce>
-  void operator()(const Graph& g, ApplyForce apply_force)
-  {
-    // TBD: Do this some smarter way
-    if (tiling.columns == 1 && tiling.rows == 1)
-      return;
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-#ifndef BOOST_NO_STDC_NAMESPACE
-    using std::sqrt;
-#endif // BOOST_NO_STDC_NAMESPACE
-
-    // TBD: num_vertices(g) should be the global number of vertices?
-    Dim two_k = Dim(2) * sqrt(extent[0] * extent[1] / num_vertices(g));
-
-    std::vector<vertex_descriptor> my_vertices[4];
-    std::vector<vertex_descriptor> neighbor_vertices[4];
-   
-    // Compute cutoff positions
-    Dim cutoffs[4];
-    cutoffs[left] = origin[0] + two_k;
-    cutoffs[top] = origin[1] + two_k;
-    cutoffs[right] = origin[0] + extent[0] - two_k;
-    cutoffs[bottom] = origin[1] + extent[1] - two_k;
-
-    // Compute neighbors
-    typename PositionMap::process_group_type pg = position.process_group();
-    std::pair<int, int> my_tile = tiling(process_id(pg));
-    int neighbors[4] = { -1, -1, -1, -1 } ;
-    if (my_tile.first > 0)
-      neighbors[left] = tiling(my_tile.first - 1, my_tile.second);
-    if (my_tile.second > 0)
-      neighbors[top] = tiling(my_tile.first, my_tile.second - 1);
-    if (my_tile.first < tiling.columns - 1)
-      neighbors[right] = tiling(my_tile.first + 1, my_tile.second);
-    if (my_tile.second < tiling.rows - 1)
-      neighbors[bottom] = tiling(my_tile.first, my_tile.second + 1);
-
-    // Sort vertices along the edges into buckets
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      if (position[v][0] <= cutoffs[left]) my_vertices[left].push_back(v); 
-      if (position[v][1] <= cutoffs[top]) my_vertices[top].push_back(v); 
-      if (position[v][0] >= cutoffs[right]) my_vertices[right].push_back(v); 
-      if (position[v][1] >= cutoffs[bottom]) my_vertices[bottom].push_back(v); 
-    }
-
-    // Send vertices to neighbors, and gather our neighbors' vertices
-    bucket_position pos;
-    for (pos = left; pos < end_position; pos = bucket_position(pos + 1)) {
-      if (neighbors[pos] != -1) {
-        send(pg, neighbors[pos], 0, my_vertices[pos].size());
-        if (!my_vertices[pos].empty())
-          send(pg, neighbors[pos], 1, 
-               &my_vertices[pos].front(), my_vertices[pos].size());
-      }
-    }
-
-    // Pass messages around
-    synchronize(pg);
-    
-    // Receive neighboring vertices
-    for (pos = left; pos < end_position; pos = bucket_position(pos + 1)) {
-      if (neighbors[pos] != -1) {
-        std::size_t incoming_vertices;
-        receive(pg, neighbors[pos], 0, incoming_vertices);
-
-        if (incoming_vertices) {
-          neighbor_vertices[pos].resize(incoming_vertices);
-          receive(pg, neighbors[pos], 1, &neighbor_vertices[pos].front(),
-                  incoming_vertices);
-        }
-      }
-    }
-
-    // For each neighboring vertex, we need to get its current position
-    for (pos = left; pos < end_position; pos = bucket_position(pos + 1))
-      for (typename std::vector<vertex_descriptor>::iterator i = 
-             neighbor_vertices[pos].begin(); 
-           i != neighbor_vertices[pos].end();
-           ++i)
-        request(position, *i);
-    synchronize(position);
-
-    // Apply forces in adjacent bins. This is O(n^2) in the worst
-    // case. Oh well.
-    for (pos = left; pos < end_position; pos = bucket_position(pos + 1)) {
-      for (typename std::vector<vertex_descriptor>::iterator i = 
-             my_vertices[pos].begin(); 
-           i != my_vertices[pos].end();
-           ++i)
-        for (typename std::vector<vertex_descriptor>::iterator j = 
-               neighbor_vertices[pos].begin(); 
-             j != neighbor_vertices[pos].end();
-             ++j)
-          apply_force(*i, *j);
-    }
-  }
-
- protected:
-  PositionMap position;
-  Point origin;
-  Point extent;
-  simple_tiling tiling;
-};
-
-template<typename PositionMap>
-inline neighboring_tiles_force_pairs<PositionMap>
-make_neighboring_tiles_force_pairs
- (PositionMap position, 
-  typename property_traits<PositionMap>::value_type origin,
-  typename property_traits<PositionMap>::value_type extent,
-  simple_tiling tiling)
-{
-  return neighboring_tiles_force_pairs<PositionMap>(position, origin, extent,
-                                                    tiling);
-}
-
-template<typename DisplacementMap, typename Cooling>
-class distributed_cooling_proxy
-{
- public:
-  typedef typename Cooling::result_type result_type;
-
-  distributed_cooling_proxy(const DisplacementMap& displacement,
-                            const Cooling& cooling)
-    : displacement(displacement), cooling(cooling)
-  {
-  }
-
-  result_type operator()()
-  {
-    // Accumulate displacements computed on each processor
-    synchronize(displacement.data->process_group);
-
-    // Allow the underlying cooling to occur
-    return cooling();
-  }
-
- protected:
-  DisplacementMap displacement;
-  Cooling cooling;
-};
-
-template<typename DisplacementMap, typename Cooling>
-inline distributed_cooling_proxy<DisplacementMap, Cooling>
-make_distributed_cooling(const DisplacementMap& displacement,
-                         const Cooling& cooling)
-{
-  typedef distributed_cooling_proxy<DisplacementMap, Cooling> result_type;
-  return result_type(displacement, cooling);
-}
-
-template<typename Point>
-struct point_accumulating_reducer {
-  BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-
-  template<typename K>
-  Point operator()(const K&) const { return Point(); }
-
-  template<typename K>
-  Point operator()(const K&, const Point& p1, const Point& p2) const 
-  { return Point(p1[0] + p2[0], p1[1] + p2[1]); }
-};
-
-template<typename Graph, typename PositionMap, 
-         typename AttractiveForce, typename RepulsiveForce,
-         typename ForcePairs, typename Cooling, typename DisplacementMap>
-void
-fruchterman_reingold_force_directed_layout
- (const Graph&    g,
-  PositionMap     position,
-  typename property_traits<PositionMap>::value_type const& origin,
-  typename property_traits<PositionMap>::value_type const& extent,
-  AttractiveForce attractive_force,
-  RepulsiveForce  repulsive_force,
-  ForcePairs      force_pairs,
-  Cooling         cool,
-  DisplacementMap displacement)
-{
-  typedef typename property_traits<PositionMap>::value_type Point;
-
-  // Reduction in the displacement map involves summing the forces
-  displacement.set_reduce(point_accumulating_reducer<Point>());
-
-  // We need to track the positions of all of our neighbors
-  BGL_FORALL_VERTICES_T(u, g, Graph)
-    BGL_FORALL_ADJ_T(u, v, g, Graph)
-      request(position, v);
-
-  // Invoke the "sequential" Fruchterman-Reingold implementation
-  boost::fruchterman_reingold_force_directed_layout
-    (g, position, origin, extent,
-     attractive_force, repulsive_force,
-     make_distributed_force_pairs(position, displacement, force_pairs),
-     make_distributed_cooling(displacement, cool),
-     displacement);
-}
-
-template<typename Graph, typename PositionMap, 
-         typename AttractiveForce, typename RepulsiveForce,
-         typename ForcePairs, typename Cooling, typename DisplacementMap>
-void
-fruchterman_reingold_force_directed_layout
- (const Graph&    g,
-  PositionMap     position,
-  typename property_traits<PositionMap>::value_type const& origin,
-  typename property_traits<PositionMap>::value_type const& extent,
-  AttractiveForce attractive_force,
-  RepulsiveForce  repulsive_force,
-  ForcePairs      force_pairs,
-  Cooling         cool,
-  DisplacementMap displacement,
-  simple_tiling   tiling)
-{
-  typedef typename property_traits<PositionMap>::value_type Point;
-
-  // Reduction in the displacement map involves summing the forces
-  displacement.set_reduce(point_accumulating_reducer<Point>());
-
-  // We need to track the positions of all of our neighbors
-  BGL_FORALL_VERTICES_T(u, g, Graph)
-    BGL_FORALL_ADJ_T(u, v, g, Graph)
-      request(position, v);
-
-  // Invoke the "sequential" Fruchterman-Reingold implementation
-  boost::fruchterman_reingold_force_directed_layout
-    (g, position, origin, extent,
-     attractive_force, repulsive_force,
-     make_distributed_force_pairs
-      (position, displacement, force_pairs,
-       make_neighboring_tiles_force_pairs(position, origin, extent, tiling)),
-     make_distributed_cooling(displacement, cool),
-     displacement);
-}
-
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_GRAPH_DISTRIBUTED_FRUCHTERMAN_REINGOLD_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/graphviz.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/graphviz.hpp
deleted file mode 100644
index fa843fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/graphviz.hpp
+++ /dev/null
@@ -1,292 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_GRAPHVIZ_HPP
-#define BOOST_GRAPH_PARALLEL_GRAPHVIZ_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graphviz.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <fstream>
-#include <sstream>
-#include <iostream>
-#include <string>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/property_map/parallel/global_index_map.hpp>
-
-namespace boost {
-
-template<typename Graph>
-struct graph_id_writer
-{
-  explicit graph_id_writer(const Graph& g) : g(g) { }
-
-  void operator()(std::ostream& out)
-  {
-    out << "    label=\"p" << process_id(g.process_group()) << "\";\n";
-  }
-
- private:
-  const Graph& g;
-};
-
-template<typename NumberMap>
-struct paint_by_number_writer
-{
-  explicit paint_by_number_writer(NumberMap number) : number(number) { }
-
-  template<typename Descriptor>
-  void operator()(std::ostream& out, Descriptor k)
-  {
-    static const char* color_names[] = {
-      "blue",
-      "brown",
-      "cyan",
-      "darkgreen",
-      "darkorchid",
-      "darksalmon",
-      "darkviolet",
-      "deeppink",
-      "gold3",
-      "green",
-      "magenta",
-      "navy",
-      "red",
-      "yellow",
-      "palegreen",
-      "gray65",
-      "gray21",
-      "bisque2",
-      "greenyellow",
-      "indianred4",
-      "lightblue2",
-      "mediumspringgreen",
-      "orangered",
-      "orange"
-    };
-    const int colors = sizeof(color_names) / sizeof(color_names[0]);
-    if (get(number, k) < colors) {
-      out << " [ style=\"filled\", fillcolor=\"" << color_names[get(number, k)]
-          << "\" ]";
-    } else {
-      out << " [ label=\"(" << get(number, k) << ")\" ]";
-    }
-  }
-
- private:
-  NumberMap number;
-};
-
-template<typename NumberMap>
-inline paint_by_number_writer<NumberMap>
-paint_by_number(NumberMap number)
-{ return paint_by_number_writer<NumberMap>(number); }
-
-template<typename Graph, typename VertexPropertiesWriter, 
-         typename EdgePropertiesWriter, typename GraphPropertiesWriter>
-void 
-write_graphviz(std::ostream& out,
-               const Graph& g, 
-               VertexPropertiesWriter vpw,
-               EdgePropertiesWriter epw,
-               GraphPropertiesWriter gpw
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  typedef typename graph_traits<Graph>::directed_category directed_category;
-  typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-    process_group_type;
-  typedef typename property_map<Graph, vertex_index_t>::const_type
-    VertexIndexMap;
-  typedef typename property_map<Graph, vertex_global_t>::const_type
-    VertexGlobalMap;
-
-  static const bool is_undirected
-    = (is_base_and_derived<undirected_tag, directed_category>::value
-       || is_same<undirected_tag, directed_category>::value);
-  static const char* graph_kind = is_undirected? "graph" : "digraph";
-  static const char* edge_kind = is_undirected? "--" : "->";
-
-  using boost::graph::parallel::process_group;
-  process_group_type pg = process_group(g);
-
-  parallel::global_index_map<VertexIndexMap, VertexGlobalMap> 
-    global_index(pg, num_vertices(g), get(vertex_index, g),
-                 get(vertex_global, g));
-
-  std::ostringstream local_graph_out;
-
-  local_graph_out << "  subgraph cluster_" << process_id(pg) << " {\n";
-  gpw(local_graph_out);
-
-  typename graph_traits<Graph>::vertex_iterator vi, vi_end;
-  for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi) {
-
-    int global_idx = get(global_index, *vi);
-    local_graph_out << "    n" << global_idx;
-    vpw(local_graph_out, *vi);
-    local_graph_out << ";\n";
-  }
-  local_graph_out << "  }\n\n";
-
-  
-  typename graph_traits<Graph>::edge_iterator ei, ei_end;
-  for (boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) {
-    int source_idx = get(global_index, source(*ei, g));
-    int target_idx = get(global_index, target(*ei, g));
-    local_graph_out << "  n" << source_idx << " " << edge_kind << " n" 
-                    << target_idx;
-    epw(local_graph_out, *ei);
-    local_graph_out << ";\n";
-  }
-
-  if (process_id(pg) == 0) {
-    out << graph_kind << " g {\n";
-    out << local_graph_out.str();
-
-    synchronize(pg);
-    for (int i = 1; i < num_processes(pg); ++i) {
-      int len;
-      receive(pg, i, 0, len);
-      char* data = new char [len+1];
-      data[len] = 0;
-      receive(pg, i, 1, data, len);
-      out << std::endl << data;
-      delete [] data;
-    }
-    out << "}\n";
-  } else {
-    std::string result_str = local_graph_out.str();
-    const char* data = result_str.c_str();
-
-    int len = result_str.length();
-    send(pg, 0, 0, len);
-    send(pg, 0, 1, data, len);
-    synchronize(pg);
-  }
-  synchronize(pg);
-  synchronize(pg);
-  synchronize(pg);
-}
-
-template<typename Graph, typename VertexPropertiesWriter, 
-         typename EdgePropertiesWriter>
-inline void 
-write_graphviz(std::ostream& out,
-               const Graph& g, 
-               VertexPropertiesWriter vpw,
-               EdgePropertiesWriter epw
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  write_graphviz(out, g, vpw, epw, graph_id_writer<Graph>(g));
-}
-
-template<typename Graph, typename VertexPropertiesWriter>
-inline void 
-write_graphviz(std::ostream& out,
-               const Graph& g, 
-               VertexPropertiesWriter vpw
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  write_graphviz(out, g, vpw, default_writer());
-}
-
-template<typename Graph>
-inline void 
-write_graphviz(std::ostream& out, const Graph& g
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  write_graphviz(out, g, default_writer());
-}
-
-template<typename Graph, typename VertexPropertiesWriter, 
-         typename EdgePropertiesWriter, typename GraphPropertiesWriter>
-void 
-write_graphviz(const std::string& filename,
-               const Graph& g, 
-               VertexPropertiesWriter vpw,
-               EdgePropertiesWriter epw,
-               GraphPropertiesWriter gpw
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  if (process_id(g.process_group()) == 0) {
-    std::ofstream out(filename.c_str());
-    write_graphviz(out, g, vpw, epw, gpw);
-  } else {
-    write_graphviz(std::cout, g, vpw, epw, gpw);
-  }
-}
-
-template<typename Graph, typename VertexPropertiesWriter, 
-         typename EdgePropertiesWriter>
-void 
-write_graphviz(const std::string& filename,
-               const Graph& g, 
-               VertexPropertiesWriter vpw,
-               EdgePropertiesWriter epw
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  if (process_id(g.process_group()) == 0) {
-    std::ofstream out(filename.c_str());
-    write_graphviz(out, g, vpw, epw);
-  } else {
-    write_graphviz(std::cout, g, vpw, epw);
-  }
-}
-
-template<typename Graph, typename VertexPropertiesWriter>
-void 
-write_graphviz(const std::string& filename,
-               const Graph& g, 
-               VertexPropertiesWriter vpw
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  if (process_id(g.process_group()) == 0) {
-    std::ofstream out(filename.c_str());
-    write_graphviz(out, g, vpw);
-  } else {
-    write_graphviz(std::cout, g, vpw);
-  }
-}
-
-template<typename Graph>
-void 
-write_graphviz(const std::string& filename, const Graph& g
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  if (process_id(g.process_group()) == 0) {
-    std::ofstream out(filename.c_str());
-    write_graphviz(out, g);
-  } else {
-    write_graphviz(std::cout, g);
-  }
-}
-
-template<typename Graph>
-void
-write_graphviz(std::ostream& out, const Graph& g,
-               const dynamic_properties& dp, 
-               const std::string& node_id = "node_id"
-               BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,distributed_graph_tag))
-{
-  write_graphviz
-    (out, g,
-     /*vertex_writer=*/dynamic_vertex_properties_writer(dp, node_id),
-     /*edge_writer=*/dynamic_properties_writer(dp));
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_PARALLEL_GRAPHVIZ_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/hohberg_biconnected_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/hohberg_biconnected_components.hpp
deleted file mode 100644
index 9422aa0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/hohberg_biconnected_components.hpp
+++ /dev/null
@@ -1,1128 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-// An implementation of Walter Hohberg's distributed biconnected
-// components algorithm, from:
-//
-//   Walter Hohberg. How to Find Biconnected Components in Distributed
-//   Networks. J. Parallel Distrib. Comput., 9(4):374-386, 1990.
-//
-#ifndef BOOST_GRAPH_DISTRIBUTED_HOHBERG_BICONNECTED_COMPONENTS_HPP
-#define BOOST_GRAPH_DISTRIBUTED_HOHBERG_BICONNECTED_COMPONENTS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-/* You can define PBGL_HOHBERG_DEBUG to an integer value (1, 2, or 3)
- * to enable debugging information. 1 includes only the phases of the
- * algorithm and messages as their are received. 2 and 3 add
- * additional levels of detail about internal data structures related
- * to the algorithm itself.
- *
- * #define PBGL_HOHBERG_DEBUG 1
-*/
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/mpi/operations.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/optional.hpp>
-#include <utility> // for std::pair
-#include <boost/assert.hpp>
-#include <algorithm> // for std::find, std::mismatch
-#include <vector>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/distributed/connected_components.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost { namespace graph { namespace distributed {
-
-namespace hohberg_detail {
-  enum message_kind {
-    /* A header for the PATH message, stating which edge the message
-       is coming on and how many vertices will be following. The data
-       structure communicated will be a path_header. */
-    msg_path_header,
-    /* A message containing the vertices that make up a path. It will
-       always follow a msg_path_header and will contain vertex
-       descriptors, only. */
-    msg_path_vertices,
-    /* A header for the TREE message, stating the value of gamma and
-       the number of vertices to come in the following
-       msg_tree_vertices. */
-    msg_tree_header,
-    /* A message containing the vertices that make up the set of
-       vertices in the same bicomponent as the sender. It will always
-       follow a msg_tree_header and will contain vertex descriptors,
-       only. */
-    msg_tree_vertices,
-    /* Provides a name for the biconnected component of the edge. */
-    msg_name
-  };
-
-  // Payload for a msg_path_header message.
-  template<typename EdgeDescriptor>
-  struct path_header
-  {
-    // The edge over which the path is being communicated
-    EdgeDescriptor edge;
-
-    // The length of the path, i.e., the number of vertex descriptors
-    // that will be coming in the next msg_path_vertices message.
-    std::size_t    path_length;
-
-    template<typename Archiver>
-    void serialize(Archiver& ar, const unsigned int /*version*/)
-    {
-      ar & edge & path_length;
-    }
-  };
-
-  // Payload for a msg_tree_header message.
-  template<typename Vertex, typename Edge>
-  struct tree_header
-  {
-    // The edge over which the tree is being communicated
-    Edge edge;
-
-    // Gamma, which is the eta of the sender.
-    Vertex gamma;
-
-    // The length of the list of vertices in the bicomponent, i.e.,
-    // the number of vertex descriptors that will be coming in the
-    // next msg_tree_vertices message.
-    std::size_t    bicomp_length;
-
-    template<typename Archiver>
-    void serialize(Archiver& ar, const unsigned int /*version*/)
-    {
-      ar & edge & gamma & bicomp_length;
-    }
-  };
-
-  // Payload for the msg_name message.
-  template<typename EdgeDescriptor>
-  struct name_header
-  {
-    // The edge being communicated and named.
-    EdgeDescriptor edge;
-
-    // The 0-based name of the component
-    std::size_t name;
-
-    template<typename Archiver>
-    void serialize(Archiver& ar, const unsigned int /*version*/)
-    {
-      ar & edge & name;
-    }
-  };
-
-  /* Computes the branch point between two paths. The branch point is
-     the last position at which both paths are equivalent, beyond
-     which the paths diverge. Both paths must have length > 0 and the
-     initial elements of the paths must be equal. This is guaranteed
-     in Hohberg's algorithm because all paths start at the
-     leader. Returns the value at the branch point. */
-  template<typename T>
-  T branch_point(const std::vector<T>& p1, const std::vector<T>& p2)
-  {
-    BOOST_ASSERT(!p1.empty());
-    BOOST_ASSERT(!p2.empty());
-    BOOST_ASSERT(p1.front() == p2.front());
-
-    typedef typename std::vector<T>::const_iterator iterator;
-
-    iterator mismatch_pos;
-    if (p1.size() <= p2.size())
-      mismatch_pos = std::mismatch(p1.begin(), p1.end(), p2.begin()).first;
-    else
-      mismatch_pos = std::mismatch(p2.begin(), p2.end(), p1.begin()).first;
-    --mismatch_pos;
-    return *mismatch_pos;
-  }
-
-  /* Computes the infimum of vertices a and b in the given path. The
-     infimum is the largest element that is on the paths from a to the
-     root and from b to the root. */
-  template<typename T>
-  T infimum(const std::vector<T>& parent_path, T a, T b)
-  {
-    using std::swap;
-
-    typedef typename std::vector<T>::const_iterator iterator;
-    iterator first = parent_path.begin(), last = parent_path.end();
-
-#if defined(PBGL_HOHBERG_DEBUG) and PBGL_HOHBERG_DEBUG > 2
-    std::cerr << "infimum(";
-    for (iterator i = first; i != last; ++i) {
-      if (i != first) std::cerr << ' ';
-      std::cerr << local(*i) << '@' << owner(*i);
-    }
-    std::cerr << ", " << local(a) << '@' << owner(a) << ", "
-              << local(b) << '@' << owner(b) << ") = ";
-#endif
-
-    if (a == b) {
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 2
-      std::cerr << local(a) << '@' << owner(a) << std::endl;
-#endif
-      return a;
-    }
-
-    // Try to find a or b, whichever is closest to the end
-    --last;
-    while (*last != a) {
-      // If we match b, swap the two so we'll be looking for b later.
-      if (*last == b) { swap(a,b); break; }
-
-      if (last == first) {
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 2
-        std::cerr << local(*first) << '@' << owner(*first) << std::endl;
-#endif
-        return *first;
-      }
-      else --last;
-    }
-
-    // Try to find b (which may originally have been a)
-    while (*last != b) {
-      if (last == first) {
-#if defined(PBGL_HOHBERG_DEBUG) and PBGL_HOHBERG_DEBUG > 2
-        std::cerr << local(*first) << '@' << owner(*first) << std::endl;
-#endif
-        return *first;
-      }
-      else --last;
-    }
-
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 2
-    std::cerr << local(*last) << '@' << owner(*last) << std::endl;
-#endif
-    // We've found b; it's the infimum.
-    return *last;
-  }
-} // end namespace hohberg_detail
-
-/* A message that will be stored for each edge by Hohberg's algorithm. */
-template<typename Graph>
-struct hohberg_message
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<Graph>::edge_descriptor   Edge;
-
-  // Assign from a path message
-  void assign(const std::vector<Vertex>& path)
-  {
-    gamma = graph_traits<Graph>::null_vertex();
-    path_or_bicomp = path;
-  }
-
-  // Assign from a tree message
-  void assign(Vertex gamma, const std::vector<Vertex>& in_same_bicomponent)
-  {
-    this->gamma = gamma;
-    path_or_bicomp = in_same_bicomponent;
-  }
-
-  bool is_path() const { return gamma == graph_traits<Graph>::null_vertex(); }
-  bool is_tree() const { return gamma != graph_traits<Graph>::null_vertex(); }
-
-  /// The "gamma" of a tree message, or null_vertex() for a path message
-  Vertex gamma;
-
-  // Either the path for a path message or the in_same_bicomponent
-  std::vector<Vertex> path_or_bicomp;
-};
-
-
-/* An abstraction of a vertex processor in Hohberg's algorithm. The
-   hohberg_vertex_processor class is responsible for processing
-   messages transmitted to it via its edges. */
-template<typename Graph>
-class hohberg_vertex_processor
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-  typedef typename graph_traits<Graph>::edge_descriptor   Edge;
-  typedef typename graph_traits<Graph>::degree_size_type  degree_size_type;
-  typedef typename graph_traits<Graph>::edges_size_type   edges_size_type;
-  typedef typename boost::graph::parallel::process_group_type<Graph>::type
-    ProcessGroup;
-  typedef std::vector<Vertex> path_t;
-  typedef typename path_t::iterator path_iterator;
-
- public:
-  hohberg_vertex_processor()
-    : phase(1),
-      parent(graph_traits<Graph>::null_vertex()),
-      eta(graph_traits<Graph>::null_vertex())
-  {
-  }
-
-  // Called to initialize a leader in the algorithm, which involves
-  // sending out the initial path messages and being ready to receive
-  // them.
-  void initialize_leader(Vertex alpha, const Graph& g);
-
-  /// Handle a path message on edge e. The path will be destroyed by
-  /// this operation.
-  void
-  operator()(Edge e, path_t& path, const Graph& g);
-
-  /// Handle a tree message on edge e. in_same_bicomponent will be
-  /// destroyed by this operation.
-  void
-  operator()(Edge e, Vertex gamma, path_t& in_same_bicomponent,
-             const Graph& g);
-
-  // Handle a name message.
-  void operator()(Edge e, edges_size_type name, const Graph& g);
-
-  // Retrieve the phase
-  unsigned char get_phase() const { return phase; }
-
-  // Start the naming phase. The current phase must be 3 (echo), and
-  // the offset contains the offset at which this processor should
-  // begin when labelling its bicomponents. The offset is just a
-  // parallel prefix sum of the number of bicomponents in each
-  // processor that precedes it (globally).
-  void
-  start_naming_phase(Vertex alpha, const Graph& g, edges_size_type offset);
-
-  /* Determine the number of bicomponents that we will be naming
-   * ourselves.
-   */
-  edges_size_type num_starting_bicomponents(Vertex alpha, const Graph& g);
-
-  // Fill in the edge component map with biconnected component
-  // numbers.
-  template<typename ComponentMap>
-  void fill_edge_map(Vertex alpha, const Graph& g, ComponentMap& component);
-
- protected:
-  /* Start the echo phase (phase 3) where we propagate information up
-     the tree. */
-  void echo_phase(Vertex alpha, const Graph& g);
-
-  /* Retrieve the index of edge in the out-edges list of target(e, g). */
-  std::size_t get_edge_index(Edge e, const Graph& g);
-
-  /* Retrieve the index of the edge incidence on v in the out-edges
-     list of vertex u. */
-  std::size_t get_incident_edge_index(Vertex u, Vertex v, const Graph& g);
-
-  /* Keeps track of which phase of the algorithm we are in. There are
-   * four phases plus the "finished" phase:
-   *
-   *   1) Building the spanning tree
-   *   2) Discovering cycles
-   *   3) Echoing back up the spanning tree
-   *   4) Labelling biconnected components
-   *   5) Finished
-   */
-  unsigned char phase;
-
-  /* The parent of this vertex in the spanning tree. This value will
-     be graph_traits<Graph>::null_vertex() for the leader. */
-  Vertex parent;
-
-  /* The farthest ancestor up the tree that resides in the same
-     biconnected component as we do. This information is approximate:
-     we might not know about the actual farthest ancestor, but this is
-     the farthest one we've seen so far. */
-  Vertex eta;
-
-  /* The number of edges that have not yet transmitted any messages to
-     us. This starts at the degree of the vertex and decreases as we
-     receive messages. When this counter hits zero, we're done with
-     the second phase of the algorithm. In Hohberg's paper, the actual
-     remaining edge set E is stored with termination when all edges
-     have been removed from E, but we only need to detect termination
-     so the set E need not be explicitly represented. */
-  degree_size_type num_edges_not_transmitted;
-
-  /* The path from the root of the spanning tree to this vertex. This
-     vector will always store only the parts of the path leading up to
-     this vertex, and not the vertex itself. Thus, it will be empty
-     for the leader. */
-  std::vector<Vertex> path_from_root;
-
-  /* Structure containing all of the extra data we need to keep around
-     PER EDGE. This information can not be contained within a property
-     map, because it can't be shared among vertices without breaking
-     the algorithm. Decreasing the size of this structure will drastically */
-  struct per_edge_data
-  {
-    hohberg_message<Graph> msg;
-    std::vector<Vertex> M;
-    bool is_tree_edge;
-    degree_size_type partition;
-  };
-
-  /* Data for each edge in the graph. This structure will be indexed
-     by the position of the edge in the out_edges() list. */
-  std::vector<per_edge_data> edge_data;
-
-  /* The mapping from local partition numbers (0..n-1) to global
-     partition numbers. */
-  std::vector<edges_size_type> local_to_global_partitions;
-
-  friend class boost::serialization::access;
-
-  // We cannot actually serialize a vertex processor, nor would we
-  // want to. However, the fact that we're putting instances into a
-  // distributed_property_map means that we need to have a serialize()
-  // function available.
-  template<typename Archiver>
-  void serialize(Archiver&, const unsigned int /*version*/)
-  {
-    BOOST_ASSERT(false);
-  }
-};
-
-template<typename Graph>
-void
-hohberg_vertex_processor<Graph>::initialize_leader(Vertex alpha,
-                                                   const Graph& g)
-{
-  using namespace hohberg_detail;
-
-  ProcessGroup pg = process_group(g);
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-  path_header<Edge> header;
-  header.path_length = 1;
-  BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-    header.edge = e;
-    send(pg, get(owner, target(e, g)), msg_path_header, header);
-    send(pg, get(owner, target(e, g)), msg_path_vertices, alpha);
-  }
-
-  num_edges_not_transmitted = degree(alpha, g);
-  edge_data.resize(num_edges_not_transmitted);
-  phase = 2;
-}
-
-template<typename Graph>
-void
-hohberg_vertex_processor<Graph>::operator()(Edge e, path_t& path,
-                                            const Graph& g)
-{
-  using namespace hohberg_detail;
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-#ifdef PBGL_HOHBERG_DEBUG
-//  std::cerr << local(source(e, g)) << '@' << owner(source(e, g)) << " -> "
-//            << local(target(e, g)) << '@' << owner(target(e, g)) << ": path(";
-//  for (std::size_t i = 0; i < path.size(); ++i) {
-//    if (i > 0) std::cerr << ' ';
-//    std::cerr << local(path[i]) << '@' << owner(path[i]);
-//  }
-  std::cerr << "), phase = " << (int)phase << std::endl;
-#endif
-
-  // Get access to edge-specific data
-  if (edge_data.empty())
-    edge_data.resize(degree(target(e, g), g));
-  per_edge_data& edata = edge_data[get_edge_index(e, g)];
-
-  // Record the message. We'll need it in phase 3.
-  edata.msg.assign(path);
-
-  // Note: "alpha" refers to the vertex "processor" receiving the
-  // message.
-  Vertex alpha = target(e, g);
-
-  switch (phase) {
-  case 1:
-    {
-      num_edges_not_transmitted = degree(alpha, g) - 1;
-      edata.is_tree_edge = true;
-      parent = path.back();
-      eta = parent;
-      edata.M.clear(); edata.M.push_back(parent);
-
-      // Broadcast the path from the root to our potential children in
-      // the spanning tree.
-      path.push_back(alpha);
-      path_header<Edge> header;
-      header.path_length = path.size();
-      ProcessGroup pg = process_group(g);
-      BGL_FORALL_OUTEDGES_T(alpha, oe, g, Graph) {
-        // Skip the tree edge we just received
-        if (target(oe, g) != source(e, g)) {
-          header.edge = oe;
-          send(pg, get(owner, target(oe, g)), msg_path_header, header);
-          send(pg, get(owner, target(oe, g)), msg_path_vertices, &path[0],
-               header.path_length);
-        }
-      }
-      path.pop_back();
-
-      // Swap the old path in, to save some extra copying. Nobody
-      path_from_root.swap(path);
-
-      // Once we have received our place in the spanning tree, move on
-      // to phase 2.
-      phase = 2;
-
-      // If we only had only edge, skip to phase 3.
-      if (num_edges_not_transmitted == 0)
-        echo_phase(alpha, g);
-      return;
-    }
-
-  case 2:
-    {
-      --num_edges_not_transmitted;
-      edata.is_tree_edge = false;
-
-      // Determine if alpha (our vertex) is in the path
-      path_iterator pos = std::find(path.begin(), path.end(), alpha);
-      if (pos != path.end()) {
-        // Case A: There is a cycle alpha beta ... gamma alpha
-        // M(e) <- {beta, gammar}
-        edata.M.clear();
-        ++pos;
-        // If pos == path.end(), we have a self-loop
-        if (pos != path.end()) {
-          // Add beta
-          edata.M.push_back(*pos);
-          ++pos;
-        }
-        // If pos == path.end(), we have a self-loop or beta == gamma
-        // (parallel edge). Otherwise, add gamma.
-        if (pos != path.end()) edata.M.push_back(path.back());
-      } else {
-        // Case B: There is a cycle but we haven't seen alpha yet.
-        // M(e) = {parent, path.back()}
-        edata.M.clear();
-        edata.M.push_back(path.back());
-        if (parent != path.back()) edata.M.push_back(parent);
-
-        // eta = inf(eta, bra(pi_t, pi))
-        eta = infimum(path_from_root, eta, branch_point(path_from_root, path));
-      }
-      if (num_edges_not_transmitted == 0)
-        echo_phase(alpha, g);
-      break;
-    }
-
-  default:
-//    std::cerr << "Phase is " << int(phase) << "\n";
-    BOOST_ASSERT(false);
-  }
-}
-
-template<typename Graph>
-void
-hohberg_vertex_processor<Graph>::operator()(Edge e, Vertex gamma,
-                                            path_t& in_same_bicomponent,
-                                            const Graph& g)
-{
-  using namespace hohberg_detail;
-
-#ifdef PBGL_HOHBERG_DEBUG
-  std::cerr << local(source(e, g)) << '@' << owner(source(e, g)) << " -> "
-            << local(target(e, g)) << '@' << owner(target(e, g)) << ": tree("
-            << local(gamma) << '@' << owner(gamma) << ", ";
-  for (std::size_t i = 0; i < in_same_bicomponent.size(); ++i) {
-    if (i > 0) std::cerr << ' ';
-    std::cerr << local(in_same_bicomponent[i]) << '@'
-              << owner(in_same_bicomponent[i]);
-  }
-  std::cerr << ", " << local(source(e, g)) << '@' << owner(source(e, g))
-            << "), phase = " << (int)phase << std::endl;
-#endif
-
-  // Get access to edge-specific data
-  per_edge_data& edata = edge_data[get_edge_index(e, g)];
-
-  // Record the message. We'll need it in phase 3.
-  edata.msg.assign(gamma, in_same_bicomponent);
-
-  // Note: "alpha" refers to the vertex "processor" receiving the
-  // message.
-  Vertex alpha = target(e, g);
-  Vertex beta = source(e, g);
-
-  switch (phase) {
-  case 2:
-    --num_edges_not_transmitted;
-    edata.is_tree_edge = true;
-
-    if (gamma == alpha) {
-      // Case C
-      edata.M.swap(in_same_bicomponent);
-    } else {
-      // Case D
-      edata.M.clear();
-      edata.M.push_back(parent);
-      if (beta != parent) edata.M.push_back(beta);
-      eta = infimum(path_from_root, eta, gamma);
-    }
-    if (num_edges_not_transmitted == 0)
-      echo_phase(alpha, g);
-    break;
-
-  default:
-    BOOST_ASSERT(false);
-  }
-}
-
-template<typename Graph>
-void
-hohberg_vertex_processor<Graph>::operator()(Edge e, edges_size_type name,
-                                            const Graph& g)
-{
-  using namespace hohberg_detail;
-
-#ifdef PBGL_HOHBERG_DEBUG
-  std::cerr << local(source(e, g)) << '@' << owner(source(e, g)) << " -> "
-            << local(target(e, g)) << '@' << owner(target(e, g)) << ": name("
-            << name << "), phase = " << (int)phase << std::endl;
-#endif
-
-  BOOST_ASSERT(phase == 4);
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-  // Send name messages along the spanning tree edges that are in the
-  // same bicomponent as the edge to our parent.
-  ProcessGroup pg = process_group(g);
-
-  Vertex alpha = target(e, g);
-
-  std::size_t idx = 0;
-  BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-    per_edge_data& edata = edge_data[idx++];
-    if (edata.is_tree_edge
-        && find(edata.M.begin(), edata.M.end(), parent) != edata.M.end()
-        && target(e, g) != parent) {
-      // Notify our children in the spanning tree of this name
-      name_header<Edge> header;
-      header.edge = e;
-      header.name = name;
-      send(pg, get(owner, target(e, g)), msg_name, header);
-    } else if (target(e, g) == parent) {
-      // Map from local partition numbers to global bicomponent numbers
-      local_to_global_partitions[edata.partition] = name;
-    }
-  }
-
-  // Final stage
-  phase = 5;
-}
-
-template<typename Graph>
-typename hohberg_vertex_processor<Graph>::edges_size_type
-hohberg_vertex_processor<Graph>::
-num_starting_bicomponents(Vertex alpha, const Graph& g)
-{
-  edges_size_type not_mapped = (std::numeric_limits<edges_size_type>::max)();
-
-  edges_size_type result = 0;
-  std::size_t idx = 0;
-  BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-    per_edge_data& edata = edge_data[idx++];
-    if (edata.is_tree_edge
-        && find(edata.M.begin(), edata.M.end(), parent) == edata.M.end()) {
-      // Map from local partition numbers to global bicomponent numbers
-      if (local_to_global_partitions[edata.partition] == not_mapped)
-        local_to_global_partitions[edata.partition] = result++;
-    }
-  }
-
-#ifdef PBGL_HOHBERG_DEBUG
-  std::cerr << local(alpha) << '@' << owner(alpha) << " has " << result
-            << " bicomponents originating at it." << std::endl;
-#endif
-
-  return result;
-}
-
-template<typename Graph>
-template<typename ComponentMap>
-void
-hohberg_vertex_processor<Graph>::
-fill_edge_map(Vertex alpha, const Graph& g, ComponentMap& component)
-{
-  std::size_t idx = 0;
-  BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-    per_edge_data& edata = edge_data[idx++];
-    local_put(component, e, local_to_global_partitions[edata.partition]);
-
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 2
-    std::cerr << "component("
-              << local(source(e, g)) << '@' << owner(source(e, g)) << " -> "
-              << local(target(e, g)) << '@' << owner(target(e, g)) << ") = "
-              << local_to_global_partitions[edata.partition]
-              << " (partition = " << edata.partition << " of "
-              << local_to_global_partitions.size() << ")" << std::endl;
-#endif
-  }
-}
-
-template<typename Graph>
-void
-hohberg_vertex_processor<Graph>::
-start_naming_phase(Vertex alpha, const Graph& g, edges_size_type offset)
-{
-  using namespace hohberg_detail;
-
-  BOOST_ASSERT(phase == 4);
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-  // Send name messages along the spanning tree edges of the
-  // components that we get to number.
-  ProcessGroup pg = process_group(g);
-
-  bool has_more_children_to_name = false;
-
-  // Map from local partition numbers to global bicomponent numbers
-  edges_size_type not_mapped = (std::numeric_limits<edges_size_type>::max)();
-  for (std::size_t i = 0; i < local_to_global_partitions.size(); ++i) {
-    if (local_to_global_partitions[i] != not_mapped)
-      local_to_global_partitions[i] += offset;
-  }
-
-  std::size_t idx = 0;
-  BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-    per_edge_data& edata = edge_data[idx++];
-    if (edata.is_tree_edge
-        && find(edata.M.begin(), edata.M.end(), parent) == edata.M.end()) {
-      // Notify our children in the spanning tree of this new name
-      name_header<Edge> header;
-      header.edge = e;
-      header.name = local_to_global_partitions[edata.partition];
-      send(pg, get(owner, target(e, g)), msg_name, header);
-    } else if (edata.is_tree_edge) {
-      has_more_children_to_name = true;
-    }
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 2
-    std::cerr << "M[" << local(source(e, g)) << '@' << owner(source(e, g))
-              << " -> " << local(target(e, g)) << '@' << owner(target(e, g))
-              << "] = ";
-    for (std::size_t i = 0; i < edata.M.size(); ++i) {
-      std::cerr << local(edata.M[i]) << '@' << owner(edata.M[i]) << ' ';
-    }
-    std::cerr << std::endl;
-#endif
-  }
-
-  // See if we're done.
-  if (!has_more_children_to_name)
-    // Final stage
-    phase = 5;
-}
-
-template<typename Graph>
-void
-hohberg_vertex_processor<Graph>::echo_phase(Vertex alpha, const Graph& g)
-{
-  using namespace hohberg_detail;
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-  /* We're entering the echo phase. */
-  phase = 3;
-
-  if (parent != graph_traits<Graph>::null_vertex()) {
-    Edge edge_to_parent;
-
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 1
-     std::cerr << local(alpha) << '@' << owner(alpha) << " echo: parent = "
-               << local(parent) << '@' << owner(parent) << ", eta = "
-               << local(eta) << '@' << owner(eta) << ", Gamma = ";
-#endif
-
-    std::vector<Vertex> bicomp;
-    std::size_t e_index = 0;
-    BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-      if (target(e, g) == parent && parent == eta) {
-        edge_to_parent = e;
-        if (find(bicomp.begin(), bicomp.end(), alpha) == bicomp.end()) {
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 1
-          std::cerr << local(alpha) << '@' << owner(alpha) << ' ';
-#endif
-          bicomp.push_back(alpha);
-        }
-      } else {
-        if (target(e, g) == parent) edge_to_parent = e;
-
-        per_edge_data& edata = edge_data[e_index];
-
-        if (edata.msg.is_path()) {
-          path_iterator pos = std::find(edata.msg.path_or_bicomp.begin(),
-                                        edata.msg.path_or_bicomp.end(),
-                                        eta);
-          if (pos != edata.msg.path_or_bicomp.end()) {
-            ++pos;
-            if (pos != edata.msg.path_or_bicomp.end()
-                && find(bicomp.begin(), bicomp.end(), *pos) == bicomp.end()) {
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 1
-              std::cerr << local(*pos) << '@' << owner(*pos) << ' ';
-#endif
-              bicomp.push_back(*pos);
-            }
-          }
-        } else if (edata.msg.is_tree() && edata.msg.gamma == eta) {
-          for (path_iterator i = edata.msg.path_or_bicomp.begin();
-               i != edata.msg.path_or_bicomp.end(); ++i) {
-            if (find(bicomp.begin(), bicomp.end(), *i) == bicomp.end()) {
-#if defined(PBGL_HOHBERG_DEBUG) && PBGL_HOHBERG_DEBUG > 1
-              std::cerr << local(*i) << '@' << owner(*i) << ' ';
-#endif
-              bicomp.push_back(*i);
-            }
-          }
-        }
-      }
-      ++e_index;
-    }
-#ifdef PBGL_HOHBERG_DEBUG
-    std::cerr << std::endl;
-#endif
-
-    // Send tree(eta, bicomp) to parent
-    tree_header<Vertex, Edge> header;
-    header.edge = edge_to_parent;
-    header.gamma = eta;
-    header.bicomp_length = bicomp.size();
-    ProcessGroup pg = process_group(g);
-    send(pg, get(owner, parent), msg_tree_header, header);
-    send(pg, get(owner, parent), msg_tree_vertices, &bicomp[0],
-         header.bicomp_length);
-  }
-
-  // Compute the partition of edges such that iff two edges e1 and e2
-  // are in different subsets then M(e1) is disjoint from M(e2).
-
-  // Start by putting each edge in a different partition
-  std::vector<degree_size_type> parent_vec(edge_data.size());
-  degree_size_type idx = 0;
-  for (idx = 0; idx < edge_data.size(); ++idx)
-    parent_vec[idx] = idx;
-
-  // Go through each edge e, performing a union() on the edges
-  // incident on all vertices in M[e].
-  idx = 0;
-  BGL_FORALL_OUTEDGES_T(alpha, e, g, Graph) {
-    per_edge_data& edata = edge_data[idx++];
-
-    // Compute union of vertices in M
-    if (!edata.M.empty()) {
-      degree_size_type e1 = get_incident_edge_index(alpha, edata.M.front(), g);
-      while (parent_vec[e1] != e1) e1 = parent_vec[e1];
-
-      for (std::size_t i = 1; i < edata.M.size(); ++i) {
-        degree_size_type e2 = get_incident_edge_index(alpha, edata.M[i], g);
-        while (parent_vec[e2] != e2) e2 = parent_vec[e2];
-        parent_vec[e2] = e1;
-      }
-    }
-  }
-
-  edges_size_type not_mapped = (std::numeric_limits<edges_size_type>::max)();
-
-  // Determine the number of partitions
-  for (idx = 0; idx < parent_vec.size(); ++idx) {
-    if (parent_vec[idx] == idx) {
-      edge_data[idx].partition = local_to_global_partitions.size();
-      local_to_global_partitions.push_back(not_mapped);
-    }
-  }
-
-  // Assign partition numbers to each edge
-  for (idx = 0; idx < parent_vec.size(); ++idx) {
-    degree_size_type rep = parent_vec[idx];
-    while (rep != parent_vec[rep]) rep = parent_vec[rep];
-    edge_data[idx].partition = edge_data[rep].partition;
-  }
-
-  // Enter the naming phase (but don't send anything yet).
-  phase = 4;
-}
-
-template<typename Graph>
-std::size_t
-hohberg_vertex_processor<Graph>::get_edge_index(Edge e, const Graph& g)
-{
-  std::size_t result = 0;
-  BGL_FORALL_OUTEDGES_T(target(e, g), oe, g, Graph) {
-    if (source(e, g) == target(oe, g)) return result;
-    ++result;
-  }
-  BOOST_ASSERT(false);
-}
-
-template<typename Graph>
-std::size_t
-hohberg_vertex_processor<Graph>::get_incident_edge_index(Vertex u, Vertex v,
-                                                         const Graph& g)
-{
-  std::size_t result = 0;
-  BGL_FORALL_OUTEDGES_T(u, e, g, Graph) {
-    if (target(e, g) == v) return result;
-    ++result;
-  }
-  BOOST_ASSERT(false);
-}
-
-template<typename Graph, typename InputIterator, typename ComponentMap,
-         typename VertexProcessorMap>
-typename graph_traits<Graph>::edges_size_type
-hohberg_biconnected_components
-  (const Graph& g,
-   ComponentMap component,
-   InputIterator first, InputIterator last,
-   VertexProcessorMap vertex_processor)
-{
-  using namespace boost::graph::parallel;
-  using namespace hohberg_detail;
-  using boost::parallel::all_reduce;
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-
-  // The graph must be undirected
-  BOOST_STATIC_ASSERT(
-    (is_convertible<typename graph_traits<Graph>::directed_category,
-                    undirected_tag>::value));
-
-  // The graph must model Incidence Graph
-  BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-
-  typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-  // Retrieve the process group we will use for communication
-  typedef typename process_group_type<Graph>::type process_group_type;
-  process_group_type pg = process_group(g);
-
-  // Keeps track of the edges that we know to be tree edges.
-  std::vector<edge_descriptor> tree_edges;
-
-  // The leaders send out a path message to initiate the algorithm
-  while (first != last) {
-    vertex_descriptor leader = *first;
-    if (process_id(pg) == get(owner, leader))
-      vertex_processor[leader].initialize_leader(leader, g);
-    ++first;
-  }
-  synchronize(pg);
-
-  // Will hold the number of bicomponents in the graph.
-  edges_size_type num_bicomponents = 0;
-
-  // Keep track of the path length that we should expect, based on the
-  // level in the breadth-first search tree. At present, this is only
-  // used as a sanity check. TBD: This could be used to decrease the
-  // amount of communication required per-edge (by about 4 bytes).
-  std::size_t path_length = 1;
-
-  typedef std::vector<vertex_descriptor> path_t;
-
-  unsigned char minimum_phase = 5;
-  do {
-    while (optional<std::pair<int, int> > msg = probe(pg)) {
-      switch (msg->second) {
-      case msg_path_header:
-        {
-          // Receive the path header
-          path_header<edge_descriptor> header;
-          receive(pg, msg->first, msg->second, header);
-          BOOST_ASSERT(path_length == header.path_length);
-
-          // Receive the path itself
-          path_t path(path_length);
-          receive(pg, msg->first, msg_path_vertices, &path[0], path_length);
-
-          edge_descriptor e = header.edge;
-          vertex_processor[target(e, g)](e, path, g);
-        }
-        break;
-
-      case msg_path_vertices:
-        // Should be handled in msg_path_header case, unless we're going
-        // stateless.
-        BOOST_ASSERT(false);
-        break;
-
-      case msg_tree_header:
-        {
-          // Receive the tree header
-          tree_header<vertex_descriptor, edge_descriptor> header;
-          receive(pg, msg->first, msg->second, header);
-
-          // Receive the tree itself
-          path_t in_same_bicomponent(header.bicomp_length);
-          receive(pg, msg->first, msg_tree_vertices, &in_same_bicomponent[0],
-                  header.bicomp_length);
-
-          edge_descriptor e = header.edge;
-          vertex_processor[target(e, g)](e, header.gamma, in_same_bicomponent,
-                                         g);
-        }
-        break;
-
-      case msg_tree_vertices:
-        // Should be handled in msg_tree_header case, unless we're
-        // going stateless.
-        BOOST_ASSERT(false);
-        break;
-
-      case msg_name:
-        {
-          name_header<edge_descriptor> header;
-          receive(pg, msg->first, msg->second, header);
-          edge_descriptor e = header.edge;
-          vertex_processor[target(e, g)](e, header.name, g);
-        }
-        break;
-
-      default:
-        BOOST_ASSERT(false);
-      }
-    }
-    ++path_length;
-
-    // Compute minimum phase locally
-    minimum_phase = 5;
-    unsigned char maximum_phase = 1;
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      minimum_phase = (std::min)(minimum_phase, vertex_processor[v].get_phase());
-      maximum_phase = (std::max)(maximum_phase, vertex_processor[v].get_phase());
-    }
-
-#ifdef PBGL_HOHBERG_DEBUG
-    if (process_id(pg) == 0)
-      std::cerr << "<---------End of stage------------->" << std::endl;
-#endif
-    // Compute minimum phase globally
-    minimum_phase = all_reduce(pg, minimum_phase, boost::mpi::minimum<char>());
-
-#ifdef PBGL_HOHBERG_DEBUG
-    if (process_id(pg) == 0)
-      std::cerr << "Minimum phase = " << (int)minimum_phase << std::endl;
-#endif
-
-    if (minimum_phase == 4
-        && all_reduce(pg, maximum_phase, boost::mpi::maximum<char>()) == 4) {
-
-#ifdef PBGL_HOHBERG_DEBUG
-      if (process_id(pg) == 0)
-        std::cerr << "<---------Naming phase------------->" << std::endl;
-#endif
-      // Compute the biconnected component number offsets for each
-      // vertex.
-      std::vector<edges_size_type> local_offsets;
-      local_offsets.reserve(num_vertices(g));
-      edges_size_type num_local_bicomponents = 0;
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        local_offsets.push_back(num_local_bicomponents);
-        num_local_bicomponents +=
-          vertex_processor[v].num_starting_bicomponents(v, g);
-      }
-
-      synchronize(pg);
-
-      // Find our the number of bicomponent names that will originate
-      // from each process. This tells us how many bicomponents are in
-      // the entire graph and what our global offset is for computing
-      // our own biconnected component names.
-      std::vector<edges_size_type> all_bicomponents(num_processes(pg));
-      all_gather(pg, &num_local_bicomponents, &num_local_bicomponents + 1,
-                 all_bicomponents);
-      num_bicomponents = 0;
-      edges_size_type my_global_offset = 0;
-      for (std::size_t i = 0; i < all_bicomponents.size(); ++i) {
-        if (i == (std::size_t)process_id(pg)) 
-          my_global_offset = num_bicomponents;
-        num_bicomponents += all_bicomponents[i];
-      }
-
-      std::size_t index = 0;
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        edges_size_type offset = my_global_offset + local_offsets[index++];
-        vertex_processor[v].start_naming_phase(v, g, offset);
-      }
-    }
-
-    synchronize(pg);
-  } while (minimum_phase < 5);
-
-  // Number the edges appropriately.
-  BGL_FORALL_VERTICES_T(v, g, Graph)
-    vertex_processor[v].fill_edge_map(v, g, component);
-
-  return num_bicomponents;
-}
-
-template<typename Graph, typename ComponentMap, typename InputIterator>
-typename graph_traits<Graph>::edges_size_type
-hohberg_biconnected_components
-  (const Graph& g, ComponentMap component,
-   InputIterator first, InputIterator last)
-
-{
-  std::vector<hohberg_vertex_processor<Graph> >
-    vertex_processors(num_vertices(g));
-  return hohberg_biconnected_components
-           (g, component, first, last,
-            make_iterator_property_map(vertex_processors.begin(),
-                                       get(vertex_index, g)));
-}
-
-template<typename Graph, typename ComponentMap, typename ParentMap>
-typename graph_traits<Graph>::edges_size_type
-hohberg_biconnected_components(const Graph& g, ComponentMap component,
-                               ParentMap parent)
-{
-  // We need the connected components of the graph, but we don't care
-  // about component numbers.
-  connected_components(g, dummy_property_map(), parent);
-
-  // Each root in the parent map is a leader
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  std::vector<vertex_descriptor> leaders;
-  BGL_FORALL_VERTICES_T(v, g, Graph)
-    if (get(parent, v) == v) leaders.push_back(v);
-
-  return hohberg_biconnected_components(g, component,
-                                        leaders.begin(), leaders.end());
-}
-
-template<typename Graph, typename ComponentMap>
-typename graph_traits<Graph>::edges_size_type
-hohberg_biconnected_components(const Graph& g, ComponentMap component)
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  std::vector<vertex_descriptor> parents(num_vertices(g));
-  return hohberg_biconnected_components
-           (g, component, make_iterator_property_map(parents.begin(),
-                                                     get(vertex_index, g)));
-}
-
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_GRAPH_DISTRIBUTED_HOHBERG_BICONNECTED_COMPONENTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/local_subgraph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/local_subgraph.hpp
deleted file mode 100644
index 0029623..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/local_subgraph.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_LOCAL_SUBGRAPH_HPP
-#define BOOST_GRAPH_LOCAL_SUBGRAPH_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/filtered_graph.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-namespace boost {
-
-namespace graph { namespace detail {
-  // Optionally, virtually derive from a base class
-  template<bool Derive, typename Base> struct derive_from_if;
-  template<typename Base> struct derive_from_if<true, Base> : virtual Base {};
-  template<typename Base> struct derive_from_if<false, Base> {};
-
-  template<typename NewBase, typename Tag, typename OldBase = NewBase>
-  struct derive_from_if_tag_is : 
-    derive_from_if<(is_base_and_derived<OldBase, Tag>::value
-                    || is_same<OldBase, Tag>::value), 
-                   NewBase>
-  {
-  };
-} } // end namespace graph::detail
-
-template<typename DistributedGraph>
-class is_local_edge
-{
-public:
-  typedef bool result_type;
-  typedef typename graph_traits<DistributedGraph>::edge_descriptor
-    argument_type;
-
-  is_local_edge() : g(0) {}
-  is_local_edge(DistributedGraph& g) : g(&g), owner(get(vertex_owner, g)) {}
-
-  // Since either the source or target vertex must be local, the
-  // equivalence of their owners indicates a local edge.
-  result_type operator()(const argument_type& e) const
-  { return get(owner, source(e, *g)) == get(owner, target(e, *g)); }
-
-private:
-  DistributedGraph* g;
-  typename property_map<DistributedGraph, vertex_owner_t>::const_type owner;
-};
-
-template<typename DistributedGraph>
-class is_local_vertex
-{
-public:
-  typedef bool result_type;
-  typedef typename graph_traits<DistributedGraph>::vertex_descriptor
-    argument_type;
-
-  is_local_vertex() : g(0) {}
-  is_local_vertex(DistributedGraph& g) : g(&g), owner(get(vertex_owner, g)) { }
-
-  // Since either the source or target vertex must be local, the
-  // equivalence of their owners indicates a local edge.
-  result_type operator()(const argument_type& v) const
-  { 
-    return get(owner, v) == process_id(process_group(*g)); 
-  }
-
-private:
-  DistributedGraph* g;
-  typename property_map<DistributedGraph, vertex_owner_t>::const_type owner;
-};
-
-template<typename DistributedGraph>
-class local_subgraph 
-  : public filtered_graph<DistributedGraph, 
-                          is_local_edge<DistributedGraph>,
-                          is_local_vertex<DistributedGraph> >
-{
-  typedef filtered_graph<DistributedGraph, 
-                         is_local_edge<DistributedGraph>,
-                         is_local_vertex<DistributedGraph> >
-    inherited;
-  typedef typename graph_traits<DistributedGraph>::traversal_category
-    inherited_category;
-  
-public:
-  struct traversal_category :
-    graph::detail::derive_from_if_tag_is<incidence_graph_tag, 
-                                         inherited_category>,
-    graph::detail::derive_from_if_tag_is<adjacency_graph_tag, 
-                                         inherited_category>,
-    graph::detail::derive_from_if_tag_is<vertex_list_graph_tag, 
-                                         inherited_category>,
-    graph::detail::derive_from_if_tag_is<edge_list_graph_tag, 
-                                         inherited_category>,
-    graph::detail::derive_from_if_tag_is<vertex_list_graph_tag, 
-                                         inherited_category,
-                                         distributed_vertex_list_graph_tag>,
-    graph::detail::derive_from_if_tag_is<edge_list_graph_tag, 
-                                         inherited_category,
-                                         distributed_edge_list_graph_tag>
-  { };
-
-  local_subgraph(DistributedGraph& g) 
-    : inherited(g, 
-                is_local_edge<DistributedGraph>(g),
-                is_local_vertex<DistributedGraph>(g)), 
-      g(g) 
-  {
-  }
-
-  // Distributed Container
-  typedef typename boost::graph::parallel::process_group_type<DistributedGraph>::type
-    process_group_type;
-
-  process_group_type&       process_group()       
-  { 
-    using boost::graph::parallel::process_group;
-    return process_group(g); 
-  }
-  const process_group_type& process_group() const 
-  { 
-    using boost::graph::parallel::process_group;
-    return boost::graph::parallel::process_group(g); 
-  }
-  
-  DistributedGraph&         base()               { return g; }
-  const DistributedGraph&   base() const         { return g; }
-
-private:
-  DistributedGraph& g;
-};
-
-template<typename DistributedGraph, typename PropertyTag>
-class property_map<local_subgraph<DistributedGraph>, PropertyTag>
-  : public property_map<DistributedGraph, PropertyTag> { };
-
-template<typename DistributedGraph, typename PropertyTag>
-class property_map<local_subgraph<const DistributedGraph>, PropertyTag>
-{
- public:
-  typedef typename property_map<DistributedGraph, PropertyTag>::const_type
-    type;
-  typedef type const_type;
-};
-
-template<typename PropertyTag, typename DistributedGraph>
-inline typename property_map<local_subgraph<DistributedGraph>, PropertyTag>::type
-get(PropertyTag p, local_subgraph<DistributedGraph>& g)
-{ return get(p, g.base()); }
-
-template<typename PropertyTag, typename DistributedGraph>
-inline typename property_map<local_subgraph<DistributedGraph>, PropertyTag>
-  ::const_type
-get(PropertyTag p, const local_subgraph<DistributedGraph>& g)
-{ return get(p, g.base()); } 
-
-template<typename DistributedGraph>
-inline local_subgraph<DistributedGraph> 
-make_local_subgraph(DistributedGraph& g)
-{ return local_subgraph<DistributedGraph>(g); }
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_LOCAL_SUBGRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/mpi_process_group.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/mpi_process_group.hpp
deleted file mode 100644
index c770aa0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/mpi_process_group.hpp
+++ /dev/null
@@ -1,809 +0,0 @@
-// Copyright (C) 2004-2008 The Trustees of Indiana University.
-// Copyright (C) 2007   Douglas Gregor
-// Copyright (C) 2007  Matthias Troyer  <troyer at boost-consulting.com>
-
-// Use, modification and distribution is subject to the 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
-//           Matthias Troyer
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_MPI_PROCESS_GROUP
-#define BOOST_GRAPH_DISTRIBUTED_MPI_PROCESS_GROUP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-//#define NO_SPLIT_BATCHES
-#define SEND_OOB_BSEND
-
-#include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
-#include <utility>
-#include <memory>
-#include <boost/function/function1.hpp>
-#include <boost/function/function2.hpp>
-#include <boost/function/function0.hpp>
-#include <boost/mpi.hpp>
-#include <boost/property_map/parallel/process_group.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace graph { namespace distributed {
-
-// Process group tags
-struct mpi_process_group_tag : virtual boost::parallel::linear_process_group_tag { };
-
-class mpi_process_group
-{
-  struct impl;
-
- public:
-  /// Number of tags available to each data structure.
-  static const int max_tags = 256;
-
-  /**
-   * The type of a "receive" handler, that will be provided with
-   * (source, tag) pairs when a message is received. Users can provide a
-   * receive handler for a distributed data structure, for example, to
-   * automatically pick up and respond to messages as needed.  
-   */
-  typedef function<void(int source, int tag)> receiver_type;
-
-  /**
-   * The type of a handler for the on-synchronize event, which will be
-   * executed at the beginning of synchronize().
-   */
-  typedef function0<void>      on_synchronize_event_type;
-
-  /// Used as a tag to help create an "empty" process group.
-  struct create_empty {};
-
-  /// The type used to buffer message data
-  typedef boost::mpi::packed_oprimitive::buffer_type buffer_type;
-
-  /// The type used to identify a process
-  typedef int process_id_type;
-
-  /// The type used to count the number of processes
-  typedef int process_size_type;
-
-  /// The type of communicator used to transmit data via MPI
-  typedef boost::mpi::communicator communicator_type;
-
-  /// Classification of the capabilities of this process group
-  struct communication_category
-    : virtual boost::parallel::bsp_process_group_tag, 
-      virtual mpi_process_group_tag { };
-
-  // TBD: We can eliminate the "source" field and possibly the
-  // "offset" field.
-  struct message_header {
-    /// The process that sent the message
-    process_id_type source;
-
-    /// The message tag
-    int tag;
-
-    /// The offset of the message into the buffer
-    std::size_t offset;
-
-    /// The length of the message in the buffer, in bytes
-    std::size_t bytes;
-    
-    template <class Archive>
-    void serialize(Archive& ar, int)
-    {
-      ar & source & tag & offset & bytes;
-    }
-  };
-
-  /**
-   * Stores the outgoing messages for a particular processor.
-   *
-   * @todo Evaluate whether we should use a deque instance, which
-   * would reduce could reduce the cost of "sending" messages but
-   * increases the time spent in the synchronization step.
-   */
-  struct outgoing_messages {
-        outgoing_messages() {}
-        ~outgoing_messages() {}
-
-    std::vector<message_header> headers;
-    buffer_type                 buffer;
-    
-    template <class Archive>
-    void serialize(Archive& ar, int)
-    {
-      ar & headers & buffer;
-    }
-    
-    void swap(outgoing_messages& x) 
-    {
-      headers.swap(x.headers);
-      buffer.swap(x.buffer);
-    }
-  };
-
-private:
-  /**
-   * Virtual base from which every trigger will be launched. See @c
-   * trigger_launcher for more information.
-   */
-  class trigger_base : boost::noncopyable
-  {
-  public:
-    explicit trigger_base(int tag) : tag_(tag) { }
-
-    /// Retrieve the tag associated with this trigger  
-    int tag() const { return tag_; }
-
-    virtual ~trigger_base() { }
-
-    /**
-     * Invoked to receive a message that matches a particular trigger. 
-     *
-     * @param source      the source of the message
-     * @param tag         the (local) tag of the message
-     * @param context     the context under which the trigger is being
-     *                    invoked
-     */
-    virtual void 
-    receive(mpi_process_group const& pg, int source, int tag, 
-            trigger_receive_context context, int block=-1) const = 0;
-
-  protected:
-    // The message tag associated with this trigger
-    int tag_;
-  };
-
-  /**
-   * Launches a specific handler in response to a trigger. This
-   * function object wraps up the handler function object and a buffer
-   * for incoming data. 
-   */
-  template<typename Type, typename Handler>
-  class trigger_launcher : public trigger_base
-  {
-  public:
-    explicit trigger_launcher(mpi_process_group& self, int tag, 
-                              const Handler& handler) 
-      : trigger_base(tag), self(self), handler(handler) 
-      {}
-
-    void 
-    receive(mpi_process_group const& pg, int source, int tag,  
-            trigger_receive_context context, int block=-1) const;
-
-  private:
-    mpi_process_group& self;
-    mutable Handler handler;
-  };
-
-  /**
-   * Launches a specific handler with a message reply in response to a
-   * trigger. This function object wraps up the handler function
-   * object and a buffer for incoming data.
-   */
-  template<typename Type, typename Handler>
-  class reply_trigger_launcher : public trigger_base
-  {
-  public:
-    explicit reply_trigger_launcher(mpi_process_group& self, int tag, 
-                                    const Handler& handler) 
-      : trigger_base(tag), self(self), handler(handler) 
-      {}
-
-    void 
-    receive(mpi_process_group const& pg, int source, int tag, 
-            trigger_receive_context context, int block=-1) const;
-
-  private:
-    mpi_process_group& self;
-    mutable Handler handler;
-  };
-
-  template<typename Type, typename Handler>
-  class global_trigger_launcher : public trigger_base
-  {
-  public:
-    explicit global_trigger_launcher(mpi_process_group& self, int tag, 
-                              const Handler& handler) 
-      : trigger_base(tag), handler(handler) 
-      { 
-      }
-
-    void 
-    receive(mpi_process_group const& pg, int source, int tag, 
-            trigger_receive_context context, int block=-1) const;
-
-  private:
-    mutable Handler handler;
-    // TBD: do not forget to cancel any outstanding Irecv when deleted,
-    // if we decide to use Irecv
-  };
-
-  template<typename Type, typename Handler>
-  class global_irecv_trigger_launcher : public trigger_base
-  {
-  public:
-    explicit global_irecv_trigger_launcher(mpi_process_group& self, int tag, 
-                              const Handler& handler, int sz) 
-      : trigger_base(tag), handler(handler), buffer_size(sz)
-      { 
-        prepare_receive(self,tag);
-      }
-
-    void 
-    receive(mpi_process_group const& pg, int source, int tag, 
-            trigger_receive_context context, int block=-1) const;
-
-  private:
-    void prepare_receive(mpi_process_group const& pg, int tag, bool force=false) const;
-    Handler handler;
-    int buffer_size;
-    // TBD: do not forget to cancel any outstanding Irecv when deleted,
-    // if we decide to use Irecv
-  };
-
-public:
-  /** 
-   * Construct a new BSP process group from an MPI communicator. The
-   * MPI communicator will be duplicated to create a new communicator
-   * for this process group to use.
-   */
-  mpi_process_group(communicator_type parent_comm = communicator_type());
-
-  /** 
-   * Construct a new BSP process group from an MPI communicator. The
-   * MPI communicator will be duplicated to create a new communicator
-   * for this process group to use. This constructor allows to tune the
-   * size of message batches.
-   *    
-   *   @param num_headers The maximum number of headers in a message batch
-   *
-   *   @param buffer_size The maximum size of the message buffer in a batch.
-   *
-   */
-  mpi_process_group( std::size_t num_headers, std::size_t buffer_size, 
-                     communicator_type parent_comm = communicator_type());
-
-  /**
-   * Construct a copy of the BSP process group for a new distributed
-   * data structure. This data structure will synchronize with all
-   * other members of the process group's equivalence class (including
-   * @p other), but will have its own set of tags. 
-   *
-   *   @param other The process group that this new process group will
-   *   be based on, using a different set of tags within the same
-   *   communication and synchronization space.
-   *
-   *   @param handler A message handler that will be passed (source,
-   *   tag) pairs for each message received by this data
-   *   structure. The handler is expected to receive the messages
-   *   immediately. The handler can be changed after-the-fact by
-   *   calling @c replace_handler.
-   *
-   *   @param out_of_band_receive An anachronism. TODO: remove this.
-   */
-  mpi_process_group(const mpi_process_group& other,
-                    const receiver_type& handler,
-                    bool out_of_band_receive = false);
-
-  /**
-   * Construct a copy of the BSP process group for a new distributed
-   * data structure. This data structure will synchronize with all
-   * other members of the process group's equivalence class (including
-   * @p other), but will have its own set of tags. 
-   */
-  mpi_process_group(const mpi_process_group& other, 
-                    attach_distributed_object,
-                    bool out_of_band_receive = false);
-
-  /**
-   * Create an "empty" process group, with no information. This is an
-   * internal routine that users should never need.
-   */
-  explicit mpi_process_group(create_empty) {}
-
-  /**
-   * Destroys this copy of the process group.
-   */
-  ~mpi_process_group();
-
-  /**
-   * Replace the current message handler with a new message handler.
-   *
-   * @param handle The new message handler.
-   * @param out_of_band_receive An anachronism: remove this
-   */
-  void replace_handler(const receiver_type& handler,
-                       bool out_of_band_receive = false);
-
-  /**
-   * Turns this process group into the process group for a new
-   * distributed data structure or object, allocating its own tag
-   * block.
-   */
-  void make_distributed_object();
-
-  /**
-   * Replace the handler to be invoked at the beginning of synchronize.
-   */
-  void
-  replace_on_synchronize_handler(const on_synchronize_event_type& handler = 0);
-
-  /** 
-   * Return the block number of the current data structure. A value of
-   * 0 indicates that this particular instance of the process group is
-   * not associated with any distributed data structure.
-   */
-  int my_block_number() const { return block_num? *block_num : 0; }
-
-  /**
-   * Encode a block number/tag pair into a single encoded tag for
-   * transmission.
-   */
-  int encode_tag(int block_num, int tag) const
-  { return block_num * max_tags + tag; }
-
-  /**
-   * Decode an encoded tag into a block number/tag pair. 
-   */
-  std::pair<int, int> decode_tag(int encoded_tag) const
-  { return std::make_pair(encoded_tag / max_tags, encoded_tag % max_tags); }
-
-  // @todo Actually write up the friend declarations so these could be
-  // private.
-
-  // private:
-
-  /** Allocate a block of tags for this instance. The block should not
-   * have been allocated already, e.g., my_block_number() ==
-   * 0. Returns the newly-allocated block number.
-   */
-  int allocate_block(bool out_of_band_receive = false);
-
-  /** Potentially emit a receive event out of band. Returns true if an event 
-   *  was actually sent, false otherwise. 
-   */
-  bool maybe_emit_receive(int process, int encoded_tag) const;
-
-  /** Emit a receive event. Returns true if an event was actually
-   * sent, false otherwise. 
-   */
-  bool emit_receive(int process, int encoded_tag) const;
-
-  /** Emit an on-synchronize event to all block handlers. */
-  void emit_on_synchronize() const;
-
-  /** Retrieve a reference to the stored receiver in this block.  */
-  template<typename Receiver>
-  Receiver* get_receiver();
-
-  template<typename T>
-  void
-  send_impl(int dest, int tag, const T& value,
-            mpl::true_ /*is_mpi_datatype*/) const;
-
-  template<typename T>
-  void
-  send_impl(int dest, int tag, const T& value,
-            mpl::false_ /*is_mpi_datatype*/) const;
-
-  template<typename T>
-  typename disable_if<boost::mpi::is_mpi_datatype<T>, void>::type
-  array_send_impl(int dest, int tag, const T values[], std::size_t n) const;
-
-  template<typename T>
-  bool
-  receive_impl(int source, int tag, T& value,
-               mpl::true_ /*is_mpi_datatype*/) const;
-
-  template<typename T>
-  bool
-  receive_impl(int source, int tag, T& value,
-               mpl::false_ /*is_mpi_datatype*/) const;
-
-  // Receive an array of values
-  template<typename T>
-  typename disable_if<boost::mpi::is_mpi_datatype<T>, bool>::type
-  array_receive_impl(int source, int tag, T* values, std::size_t& n) const;
-
-  optional<std::pair<mpi_process_group::process_id_type, int> > probe() const;
-
-  void synchronize() const;
-
-  operator bool() { return bool(impl_); }
-
-  mpi_process_group base() const;
-
-  /**
-   * Create a new trigger for a specific message tag. Triggers handle
-   * out-of-band messaging, and the handler itself will be called
-   * whenever a message is available. The handler itself accepts four
-   * arguments: the source of the message, the message tag (which will
-   * be the same as @p tag), the message data (of type @c Type), and a
-   * boolean flag that states whether the message was received
-   * out-of-band. The last will be @c true for out-of-band receives,
-   * or @c false for receives at the end of a synchronization step.
-   */
-  template<typename Type, typename Handler>
-  void trigger(int tag, const Handler& handler);
-
-  /**
-   * Create a new trigger for a specific message tag, along with a way
-   * to send a reply with data back to the sender. Triggers handle
-   * out-of-band messaging, and the handler itself will be called
-   * whenever a message is available. The handler itself accepts four
-   * arguments: the source of the message, the message tag (which will
-   * be the same as @p tag), the message data (of type @c Type), and a
-   * boolean flag that states whether the message was received
-   * out-of-band. The last will be @c true for out-of-band receives,
-   * or @c false for receives at the end of a synchronization
-   * step. The handler also returns a value, which will be routed back
-   * to the sender.
-   */
-  template<typename Type, typename Handler>
-  void trigger_with_reply(int tag, const Handler& handler);
-
-  template<typename Type, typename Handler>
-  void global_trigger(int tag, const Handler& handler, std::size_t buffer_size=0); 
-
-
-
-  /**
-   * Poll for any out-of-band messages. This routine will check if any
-   * out-of-band messages are available. Those that are available will
-   * be handled immediately, if possible.
-   *
-   * @returns if an out-of-band message has been received, but we are
-   * unable to actually receive the message, a (source, tag) pair will
-   * be returned. Otherwise, returns an empty optional.
-   *
-   * @param wait When true, we should block until a message comes in.
-   *
-   * @param synchronizing whether we are currently synchronizing the
-   *                      process group
-   */
-  optional<std::pair<int, int> > 
-  poll(bool wait = false, int block = -1, bool synchronizing = false) const;
-
-  /**
-   * Determines the context of the trigger currently executing. If
-   * multiple triggers are executing (recursively), then the context
-   * for the most deeply nested trigger will be returned. If no
-   * triggers are executing, returns @c trc_none. This might be used,
-   * for example, to determine whether a reply to a message should
-   * itself be sent out-of-band or whether it can go via the normal,
-   * slower communication route.
-   */
-  trigger_receive_context trigger_context() const;
-
-  /// INTERNAL ONLY
-  void receive_batch(process_id_type source, outgoing_messages& batch) const;
-
-  /// INTERNAL ONLY
-  ///
-  /// Determine the actual communicator and tag will be used for a
-  /// transmission with the given tag.
-  std::pair<boost::mpi::communicator, int> 
-  actual_communicator_and_tag(int tag, int block) const;
-
-  /// set the size of the message buffer used for buffered oob sends
-  
-  static void set_message_buffer_size(std::size_t s);
-
-  /// get the size of the message buffer used for buffered oob sends
-
-  static std::size_t message_buffer_size();
-  static int old_buffer_size;
-  static void* old_buffer;
-private:
-
-  void install_trigger(int tag, int block, 
-      shared_ptr<trigger_base> const& launcher); 
-
-  void poll_requests(int block=-1) const;
-
-  
-  // send a batch if the buffer is full now or would get full
-  void maybe_send_batch(process_id_type dest) const;
-
-  // actually send a batch
-  void send_batch(process_id_type dest, outgoing_messages& batch) const;
-  void send_batch(process_id_type dest) const;
-
-  void pack_headers() const;
-
-  /**
-   * Process a batch of incoming messages immediately.
-   *
-   * @param source         the source of these messages
-   */
-  void process_batch(process_id_type source) const;
-  void receive_batch(boost::mpi::status& status) const;
-
-  //void free_finished_sends() const;
-          
-  /// Status messages used internally by the process group
-  enum status_messages {
-    /// the first of the reserved message tags
-    msg_reserved_first = 126,
-    /// Sent from a processor when sending batched messages
-    msg_batch = 126,
-    /// Sent from a processor when sending large batched messages, larger than
-    /// the maximum buffer size for messages to be received by MPI_Irecv
-    msg_large_batch = 127,
-    /// Sent from a source processor to everyone else when that
-    /// processor has entered the synchronize() function.
-    msg_synchronizing = 128,
-    /// the last of the reserved message tags
-    msg_reserved_last = 128
-  };
-
-  /**
-   * Description of a block of tags associated to a particular
-   * distributed data structure. This structure will live as long as
-   * the distributed data structure is around, and will be used to
-   * help send messages to the data structure.
-   */
-  struct block_type
-  {
-    block_type() { }
-
-    /// Handler for receive events
-    receiver_type     on_receive;
-
-    /// Handler executed at the start of  synchronization 
-    on_synchronize_event_type  on_synchronize;
-
-    /// Individual message triggers. Note: at present, this vector is
-    /// indexed by the (local) tag of the trigger.  Any tags that
-    /// don't have triggers will have NULL pointers in that spot.
-    std::vector<shared_ptr<trigger_base> > triggers;
-  };
-
-  /**
-   * Data structure containing all of the blocks for the distributed
-   * data structures attached to a process group.
-   */
-  typedef std::vector<block_type*> blocks_type;
-
-  /// Iterator into @c blocks_type.
-  typedef blocks_type::iterator block_iterator;
-
-  /**
-   * Deleter used to deallocate a block when its distributed data
-   * structure is destroyed. This type will be used as the deleter for
-   * @c block_num.
-   */
-  struct deallocate_block;
-  
-  static std::vector<char> message_buffer;
-
-public:
-  /**
-   * Data associated with the process group and all of its attached
-   * distributed data structures.
-   */
-  shared_ptr<impl> impl_;
-
-  /**
-   * When non-null, indicates that this copy of the process group is
-   * associated with a particular distributed data structure. The
-   * integer value contains the block number (a value > 0) associated
-   * with that data structure. The deleter for this @c shared_ptr is a
-   * @c deallocate_block object that will deallocate the associated
-   * block in @c impl_->blocks.
-   */
-  shared_ptr<int>  block_num;
-
-  /**
-   * Rank of this process, to avoid having to call rank() repeatedly.
-   */
-  int rank;
-
-  /**
-   * Number of processes in this process group, to avoid having to
-   * call communicator::size() repeatedly.
-   */
-  int size;
-};
-
-
-
-inline mpi_process_group::process_id_type 
-process_id(const mpi_process_group& pg)
-{ return pg.rank; }
-
-inline mpi_process_group::process_size_type 
-num_processes(const mpi_process_group& pg)
-{ return pg.size; }
-
-mpi_process_group::communicator_type communicator(const mpi_process_group& pg);
-
-template<typename T>
-void
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, const T& value);
-
-template<typename InputIterator>
-void
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, InputIterator first, InputIterator last);
-
-template<typename T>
-inline void
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, T* first, T* last)
-{ send(pg, dest, tag, first, last - first); }
-
-template<typename T>
-inline void
-send(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-     int tag, const T* first, const T* last)
-{ send(pg, dest, tag, first, last - first); }
-
-template<typename T>
-mpi_process_group::process_id_type
-receive(const mpi_process_group& pg, int tag, T& value);
-
-template<typename T>
-mpi_process_group::process_id_type
-receive(const mpi_process_group& pg,
-        mpi_process_group::process_id_type source, int tag, T& value);
-
-optional<std::pair<mpi_process_group::process_id_type, int> >
-probe(const mpi_process_group& pg);
-
-void synchronize(const mpi_process_group& pg);
-
-template<typename T, typename BinaryOperation>
-T*
-all_reduce(const mpi_process_group& pg, T* first, T* last, T* out,
-           BinaryOperation bin_op);
-
-template<typename T, typename BinaryOperation>
-T*
-scan(const mpi_process_group& pg, T* first, T* last, T* out,
-           BinaryOperation bin_op);
-
-template<typename InputIterator, typename T>
-void
-all_gather(const mpi_process_group& pg,
-           InputIterator first, InputIterator last, std::vector<T>& out);
-
-template<typename InputIterator>
-mpi_process_group
-process_subgroup(const mpi_process_group& pg,
-                 InputIterator first, InputIterator last);
-
-template<typename T>
-void
-broadcast(const mpi_process_group& pg, T& val, 
-          mpi_process_group::process_id_type root);
-
-
-/*******************************************************************
- * Out-of-band communication                                       *
- *******************************************************************/
-
-template<typename T>
-typename enable_if<boost::mpi::is_mpi_datatype<T> >::type
-send_oob(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-         int tag, const T& value, int block=-1)
-{
-  using boost::mpi::get_mpi_datatype;
-
-  // Determine the actual message tag we will use for the send, and which
-  // communicator we will use.
-  std::pair<boost::mpi::communicator, int> actual
-    = pg.actual_communicator_and_tag(tag, block);
-
-#ifdef SEND_OOB_BSEND
-  if (mpi_process_group::message_buffer_size()) {
-    MPI_Bsend(const_cast<T*>(&value), 1, get_mpi_datatype<T>(value), dest, 
-              actual.second, actual.first);
-    return;
-  }
-#endif
-  MPI_Request request;
-  MPI_Isend(const_cast<T*>(&value), 1, get_mpi_datatype<T>(value), dest, 
-            actual.second, actual.first, &request);
-  
-  int done=0;
-  do {
-    pg.poll();
-    MPI_Test(&request,&done,MPI_STATUS_IGNORE);
-  } while (!done);
-}
-
-template<typename T>
-typename disable_if<boost::mpi::is_mpi_datatype<T> >::type
-send_oob(const mpi_process_group& pg, mpi_process_group::process_id_type dest,
-         int tag, const T& value, int block=-1)
-{
-  using boost::mpi::packed_oarchive;
-
-  // Determine the actual message tag we will use for the send, and which
-  // communicator we will use.
-  std::pair<boost::mpi::communicator, int> actual
-    = pg.actual_communicator_and_tag(tag, block);
-
-  // Serialize the data into a buffer
-  packed_oarchive out(actual.first);
-  out << value;
-  std::size_t size = out.size();
-
-  // Send the actual message data
-#ifdef SEND_OOB_BSEND
-  if (mpi_process_group::message_buffer_size()) {
-    MPI_Bsend(const_cast<void*>(out.address()), size, MPI_PACKED,
-            dest, actual.second, actual.first);
-   return;
-  }
-#endif
-  MPI_Request request;
-  MPI_Isend(const_cast<void*>(out.address()), size, MPI_PACKED,
-            dest, actual.second, actual.first, &request);
-
-  int done=0;
-  do {
-    pg.poll();
-    MPI_Test(&request,&done,MPI_STATUS_IGNORE);
-  } while (!done);
-}
-
-template<typename T>
-typename enable_if<boost::mpi::is_mpi_datatype<T> >::type
-receive_oob(const mpi_process_group& pg, 
-            mpi_process_group::process_id_type source, int tag, T& value, int block=-1);
-
-template<typename T>
-typename disable_if<boost::mpi::is_mpi_datatype<T> >::type
-receive_oob(const mpi_process_group& pg, 
-            mpi_process_group::process_id_type source, int tag, T& value, int block=-1);
-
-template<typename SendT, typename ReplyT>
-typename enable_if<boost::mpi::is_mpi_datatype<ReplyT> >::type
-send_oob_with_reply(const mpi_process_group& pg, 
-                    mpi_process_group::process_id_type dest,
-                    int tag, const SendT& send_value, ReplyT& reply_value,
-                    int block = -1);
-
-template<typename SendT, typename ReplyT>
-typename disable_if<boost::mpi::is_mpi_datatype<ReplyT> >::type
-send_oob_with_reply(const mpi_process_group& pg, 
-                    mpi_process_group::process_id_type dest,
-                    int tag, const SendT& send_value, ReplyT& reply_value,
-                    int block = -1);
-
-} } } // end namespace boost::graph::distributed
-
-BOOST_IS_BITWISE_SERIALIZABLE(boost::graph::distributed::mpi_process_group::message_header)
-namespace boost { namespace mpi {
-    template<>
-    struct is_mpi_datatype<boost::graph::distributed::mpi_process_group::message_header> : mpl::true_ { };
-} } // end namespace boost::mpi
-
-namespace std {
-/// optimized swap for outgoing messages
-inline void 
-swap(boost::graph::distributed::mpi_process_group::outgoing_messages& x,
-     boost::graph::distributed::mpi_process_group::outgoing_messages& y)
-{
-  x.swap(y);
-}
-
-
-}
-
-BOOST_CLASS_IMPLEMENTATION(boost::graph::distributed::mpi_process_group::outgoing_messages,object_serializable)
-BOOST_CLASS_TRACKING(boost::graph::distributed::mpi_process_group::outgoing_messages,track_never)
-
-#include <boost/graph/distributed/detail/mpi_process_group.ipp>
-
-#endif // BOOST_PARALLEL_MPI_MPI_PROCESS_GROUP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/named_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/named_graph.hpp
deleted file mode 100644
index f444abd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/named_graph.hpp
+++ /dev/null
@@ -1,1239 +0,0 @@
-// Copyright (C) 2007 Douglas Gregor 
-// Copyright (C) 2007 Hartmut Kaiser
-
-// Use, modification and distribution is subject to the 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:
-//   - Cache (some) remote vertex names?
-#ifndef BOOST_GRAPH_DISTRIBUTED_NAMED_GRAPH_HPP
-#define BOOST_GRAPH_DISTRIBUTED_NAMED_GRAPH_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/graph/named_graph.hpp>
-#include <boost/functional/hash.hpp>
-#include <boost/variant.hpp>
-#include <boost/graph/parallel/simple_trigger.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/graph/parallel/detail/property_holders.hpp>
-
-namespace boost { namespace graph { namespace distributed {
-
-using boost::parallel::trigger_receive_context;
-using boost::detail::parallel::pair_with_property;
-
-/*******************************************************************
- * Hashed distribution of named entities                           *
- *******************************************************************/
-
-template<typename T>
-struct hashed_distribution
-{
-  template<typename ProcessGroup>
-  hashed_distribution(const ProcessGroup& pg, std::size_t /*num_vertices*/ = 0)
-    : n(num_processes(pg)) { }
-
-  int operator()(const T& value) const 
-  {
-    return hasher(value) % n;
-  }
-
-  std::size_t n;
-  hash<T> hasher;
-};
-
-/// Specialization for named graphs
-template <typename InDistribution, typename VertexProperty, typename VertexSize,
-          typename ProcessGroup,
-          typename ExtractName 
-            = typename internal_vertex_name<VertexProperty>::type>
-struct select_distribution
-{
-private:
-  /// The type used to name vertices in the graph
-  typedef typename remove_cv<
-            typename remove_reference<
-              typename ExtractName::result_type>::type>::type
-    vertex_name_type;
-
-public:
-  /**
-   *  The @c type field provides a distribution object that maps
-   *  vertex names to processors. The distribution object will be
-   *  constructed with the process group over which communication will
-   *  occur. The distribution object shall also be a function
-   *  object mapping from the type of the name to a processor number
-   *  in @c [0, @c p) (for @c p processors). By default, the mapping
-   *  function uses the @c boost::hash value of the name, modulo @c p.
-   */
-  typedef typename mpl::if_<is_same<InDistribution, defaultS>,
-                            hashed_distribution<vertex_name_type>,
-                            InDistribution>::type 
-    type;
-
-  /// for named graphs the default type is the same as the stored distribution 
-  /// type
-  typedef type default_type;
-};
-
-/// Specialization for non-named graphs
-template <typename InDistribution, typename VertexProperty, typename VertexSize,
-          typename ProcessGroup>
-struct select_distribution<InDistribution, VertexProperty, VertexSize, 
-                           ProcessGroup, void>
-{
-  /// the distribution type stored in the graph for non-named graphs should be
-  /// the variant_distribution type
-  typedef typename mpl::if_<is_same<InDistribution, defaultS>,
-                            boost::parallel::variant_distribution<ProcessGroup, 
-                                                                  VertexSize>,
-                            InDistribution>::type type;
-
-  /// default_type is used as the distribution functor for the
-  /// adjacency_list, it should be parallel::block by default
-  typedef typename mpl::if_<is_same<InDistribution, defaultS>,
-                            boost::parallel::block, type>::type
-    default_type;
-};
-
-
-/*******************************************************************
- * Named graph mixin                                               *
- *******************************************************************/
-
-/**
- * named_graph is a mixin that provides names for the vertices of a
- * graph, including a mapping from names to vertices. Graph types that
- * may or may not be have vertex names (depending on the properties
- * supplied by the user) should use maybe_named_graph.
- *
- * Template parameters:
- *
- *   Graph: the graph type that derives from named_graph
- *
- *   Vertex: the type of a vertex descriptor in Graph. Note: we cannot
- *   use graph_traits here, because the Graph is not yet defined.
- *
- *   VertexProperty: the type of the property stored along with the
- *   vertex.
- *
- *   ProcessGroup: the process group over which the distributed name
- *   graph mixin will communicate.
- */
-template<typename Graph, typename Vertex, typename Edge, typename Config>
-class named_graph
-{
-public:
-  /// Messages passed within the distributed named graph
-  enum message_kind {
-    /**
-     * Requests the addition of a vertex on a remote processor. The
-     * message data is a @c vertex_name_type.
-     */
-    msg_add_vertex_name,
-
-    /**
-     * Requests the addition of a vertex on a remote processor. The
-     * message data is a @c vertex_name_type. The remote processor
-     * will send back a @c msg_add_vertex_name_reply message
-     * containing the vertex descriptor.
-     */
-    msg_add_vertex_name_with_reply,
-
-    /**
-     * Requests the vertex descriptor corresponding to the given
-     * vertex name. The remote process will reply with a 
-     * @c msg_find_vertex_reply message containing the answer.
-     */
-    msg_find_vertex,
-
-    /**
-     * Requests the addition of an edge on a remote processor. The
-     * data stored in these messages is a @c pair<source, target>@,
-     * where @c source and @c target may be either names (of type @c
-     * vertex_name_type) or vertex descriptors, depending on what
-     * information we have locally.  
-     */
-    msg_add_edge_name_name,
-    msg_add_edge_vertex_name,
-    msg_add_edge_name_vertex,
-
-    /**
-     * These messages are identical to msg_add_edge_*_*, except that
-     * the process actually adding the edge will send back a @c
-     * pair<edge_descriptor,bool>
-     */
-    msg_add_edge_name_name_with_reply,
-    msg_add_edge_vertex_name_with_reply,
-    msg_add_edge_name_vertex_with_reply,
-
-    /**
-     * Requests the addition of an edge with a property on a remote
-     * processor. The data stored in these messages is a @c
-     * pair<vertex_property_type, pair<source, target>>@, where @c
-     * source and @c target may be either names (of type @c
-     * vertex_name_type) or vertex descriptors, depending on what
-     * information we have locally.
-     */
-    msg_add_edge_name_name_with_property,
-    msg_add_edge_vertex_name_with_property,
-    msg_add_edge_name_vertex_with_property,
-
-    /**
-     * These messages are identical to msg_add_edge_*_*_with_property,
-     * except that the process actually adding the edge will send back
-     * a @c pair<edge_descriptor,bool>.
-     */
-    msg_add_edge_name_name_with_reply_and_property,
-    msg_add_edge_vertex_name_with_reply_and_property,
-    msg_add_edge_name_vertex_with_reply_and_property
-  };
-
-  /// The vertex descriptor type
-  typedef Vertex vertex_descriptor;
-  
-  /// The edge descriptor type
-  typedef Edge edge_descriptor;
-
-  /// The vertex property type
-  typedef typename Config::vertex_property_type vertex_property_type;
-  
-  /// The vertex property type
-  typedef typename Config::edge_property_type edge_property_type;
-  
-  /// The type used to extract names from the property structure
-  typedef typename internal_vertex_name<vertex_property_type>::type
-    extract_name_type;
-
-  /// The type used to name vertices in the graph
-  typedef typename remove_cv<
-            typename remove_reference<
-              typename extract_name_type::result_type>::type>::type
-    vertex_name_type;
-
-  /// The type used to distribute named vertices in the graph
-  typedef typename Config::distribution_type distribution_type;
-  typedef typename Config::base_distribution_type base_distribution_type;
-
-  /// The type used for communication in the distributed structure
-  typedef typename Config::process_group_type process_group_type;
-
-  /// Type used to identify processes
-  typedef typename process_group_type::process_id_type process_id_type;
-
-  /// a reference to this class, which is used for disambiguation of the 
-  //  add_vertex function
-  typedef named_graph named_graph_type;
-  
-  /// Structure returned when adding a vertex by vertex name
-  struct lazy_add_vertex;
-  friend struct lazy_add_vertex;
-
-  /// Structure returned when adding an edge by vertex name
-  struct lazy_add_edge;
-  friend struct lazy_add_edge;
-
-  /// Structure returned when adding an edge by vertex name with a property
-  struct lazy_add_edge_with_property;
-  friend struct lazy_add_edge_with_property;
-
-  explicit named_graph(const process_group_type& pg);
-
-  named_graph(const process_group_type& pg, const base_distribution_type& distribution);
-
-  /// Set up triggers, but only for the BSP process group
-  void setup_triggers();
-
-  /// Retrieve the derived instance
-  Graph&       derived()       { return static_cast<Graph&>(*this); }
-  const Graph& derived() const { return static_cast<const Graph&>(*this); }
-
-  /// Retrieve the process group
-  process_group_type&       process_group()       { return process_group_; }
-  const process_group_type& process_group() const { return process_group_; }
-
-  // Retrieve the named distribution
-  distribution_type&       named_distribution()       { return distribution_; }
-  const distribution_type& named_distribution() const { return distribution_; }
-
-  /// Notify the named_graph that we have added the given vertex. This
-  /// is a no-op.
-  void added_vertex(Vertex) { }
-
-  /// Notify the named_graph that we are removing the given
-  /// vertex. This is a no-op.
-  template <typename VertexIterStability>
-  void removing_vertex(Vertex, VertexIterStability) { }
-
-  /// Notify the named_graph that we are clearing the graph
-  void clearing_graph() { }
-
-  /// Retrieve the owner of a given vertex based on the properties
-  /// associated with that vertex. This operation just returns the
-  /// number of the local processor, adding all vertices locally.
-  process_id_type owner_by_property(const vertex_property_type&);
-
-protected:
-  void 
-  handle_add_vertex_name(int source, int tag, const vertex_name_type& msg,
-                         trigger_receive_context);
-
-  vertex_descriptor 
-  handle_add_vertex_name_with_reply(int source, int tag, 
-                                    const vertex_name_type& msg,
-                                    trigger_receive_context);
-
-  boost::parallel::detail::untracked_pair<vertex_descriptor, bool>
-  handle_find_vertex(int source, int tag, const vertex_name_type& msg,
-                     trigger_receive_context);
-
-  template<typename U, typename V>
-  void handle_add_edge(int source, int tag, const boost::parallel::detail::untracked_pair<U, V>& msg,
-                       trigger_receive_context);
-
-  template<typename U, typename V>
-  boost::parallel::detail::untracked_pair<edge_descriptor, bool> 
-  handle_add_edge_with_reply(int source, int tag, const boost::parallel::detail::untracked_pair<U, V>& msg,
-                             trigger_receive_context);
-
-  template<typename U, typename V>
-  void 
-  handle_add_edge_with_property
-    (int source, int tag, 
-     const pair_with_property<U, V, edge_property_type>& msg,
-     trigger_receive_context);
-
-  template<typename U, typename V>
-  boost::parallel::detail::untracked_pair<edge_descriptor, bool> 
-  handle_add_edge_with_reply_and_property
-    (int source, int tag, 
-     const pair_with_property<U, V, edge_property_type>& msg,
-     trigger_receive_context);
-
-  /// The process group for this distributed data structure
-  process_group_type process_group_;
-
-  /// The distribution we will use to map names to processors
-  distribution_type distribution_;
-};
-
-/// Helper macro containing the template parameters of named_graph
-#define BGL_NAMED_GRAPH_PARAMS \
-  typename Graph, typename Vertex, typename Edge, typename Config
-/// Helper macro containing the named_graph<...> instantiation
-#define BGL_NAMED_GRAPH \
-  named_graph<Graph, Vertex, Edge, Config>
-
-/**
- * Data structure returned from add_vertex that will "lazily" add the
- * vertex, either when it is converted to a @c vertex_descriptor or
- * when the most recent copy has been destroyed.
- */
-template<BGL_NAMED_GRAPH_PARAMS>
-struct BGL_NAMED_GRAPH::lazy_add_vertex
-{
-  /// Construct a new lazyily-added vertex
-  lazy_add_vertex(named_graph& self, const vertex_name_type& name)
-    : self(self), name(name), committed(false) { }
-
-  /// Transfer responsibility for adding the vertex from the source of
-  /// the copy to the newly-constructed opbject.
-  lazy_add_vertex(const lazy_add_vertex& other)
-    : self(other.self), name(other.name), committed(other.committed)
-  {
-    other.committed = true;
-  }
-
-  /// If the vertex has not been added yet, add it
-  ~lazy_add_vertex();
-
-  /// Add the vertex and return its descriptor. This conversion can
-  /// only occur once, and only when this object is responsible for
-  /// creating the vertex.
-  operator vertex_descriptor() const { return commit(); }
-
-  /// Add the vertex and return its descriptor. This can only be
-  /// called once, and only when this object is responsible for
-  /// creating the vertex.
-  vertex_descriptor commit() const;
-
-protected:
-  named_graph&     self;
-  vertex_name_type name;
-  mutable bool     committed;
-};
-
-template<BGL_NAMED_GRAPH_PARAMS>
-BGL_NAMED_GRAPH::lazy_add_vertex::~lazy_add_vertex()
-{
-  typedef typename BGL_NAMED_GRAPH::process_id_type process_id_type;
-
-  /// If this vertex has already been created or will be created by
-  /// someone else, or if someone threw an exception, we will not
-  /// create the vertex now.
-  if (committed || std::uncaught_exception())
-    return;
-
-  committed = true;
-
-  process_id_type owner = self.named_distribution()(name);
-  if (owner == process_id(self.process_group()))
-    /// Add the vertex locally
-    add_vertex(self.derived().base().vertex_constructor(name), self.derived()); 
-  else
-    /// Ask the owner of the vertex to add a vertex with this name
-    send(self.process_group(), owner, msg_add_vertex_name, name);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::vertex_descriptor
-BGL_NAMED_GRAPH::lazy_add_vertex::commit() const
-{
-  typedef typename BGL_NAMED_GRAPH::process_id_type process_id_type;
-  BOOST_ASSERT (!committed);
-  committed = true;
-
-  process_id_type owner = self.named_distribution()(name);
-  if (owner == process_id(self.process_group()))
-    /// Add the vertex locally
-    return add_vertex(self.derived().base().vertex_constructor(name),
-                      self.derived()); 
-  else {
-    /// Ask the owner of the vertex to add a vertex with this name
-    vertex_descriptor result;
-    send_oob_with_reply(self.process_group(), owner, 
-                        msg_add_vertex_name_with_reply, name, result);
-    return result;
-  }
-}
-
-/**
- * Data structure returned from add_edge that will "lazily" add the
- * edge, either when it is converted to a @c
- * pair<edge_descriptor,bool> or when the most recent copy has been
- * destroyed.
- */
-template<BGL_NAMED_GRAPH_PARAMS>
-struct BGL_NAMED_GRAPH::lazy_add_edge 
-{
-  /// The graph's edge descriptor
-  typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-  /// Add an edge for the edge (u, v) based on vertex names
-  lazy_add_edge(BGL_NAMED_GRAPH& self, 
-                const vertex_name_type& u_name,
-                const vertex_name_type& v_name) 
-    : self(self), u(u_name), v(v_name), committed(false) { }
-
-  /// Add an edge for the edge (u, v) based on a vertex descriptor and name
-  lazy_add_edge(BGL_NAMED_GRAPH& self,
-                vertex_descriptor u,
-                const vertex_name_type& v_name)
-    : self(self), u(u), v(v_name), committed(false) { }
-
-  /// Add an edge for the edge (u, v) based on a vertex name and descriptor
-  lazy_add_edge(BGL_NAMED_GRAPH& self,
-                const vertex_name_type& u_name,
-                vertex_descriptor v)
-    : self(self), u(u_name), v(v), committed(false) { }
-
-  /// Add an edge for the edge (u, v) based on vertex descriptors
-  lazy_add_edge(BGL_NAMED_GRAPH& self,
-                vertex_descriptor u,
-                vertex_descriptor v)
-    : self(self), u(u), v(v), committed(false) { }
-
-  /// Copy a lazy_add_edge structure, which transfers responsibility
-  /// for adding the edge to the newly-constructed object.
-  lazy_add_edge(const lazy_add_edge& other)
-    : self(other.self), u(other.u), v(other.v), committed(other.committed)
-  {
-    other.committed = true;
-  }
-
-  /// If the edge has not yet been added, add the edge but don't wait
-  /// for a reply.
-  ~lazy_add_edge();
-
-  /// Returns commit().
-  operator std::pair<edge_descriptor, bool>() const { return commit(); }
-
-  // Add the edge. This operation will block if a remote edge is
-  // being added.
-  std::pair<edge_descriptor, bool> commit() const;
-
-protected:
-  BGL_NAMED_GRAPH& self;
-  mutable variant<vertex_descriptor, vertex_name_type> u;
-  mutable variant<vertex_descriptor, vertex_name_type> v;
-  mutable bool committed;
-
-private:
-  // No copy-assignment semantics
-  void operator=(lazy_add_edge&);
-};
-
-template<BGL_NAMED_GRAPH_PARAMS>
-BGL_NAMED_GRAPH::lazy_add_edge::~lazy_add_edge()
-{
-  using boost::parallel::detail::make_untracked_pair;
-
-  /// If this edge has already been created or will be created by
-  /// someone else, or if someone threw an exception, we will not
-  /// create the edge now.
-  if (committed || std::uncaught_exception())
-    return;
-
-  committed = true;
-
-  if (vertex_name_type* v_name = boost::get<vertex_name_type>(&v)) {
-    // We haven't resolved the target vertex to a descriptor yet, so
-    // it must not be local. Send a message to the owner of the target
-    // of the edge. If the owner of the target does not happen to own
-    // the source, it will resolve the target to a vertex descriptor
-    // and pass the message along to the owner of the source. 
-    if (vertex_name_type* u_name = boost::get<vertex_name_type>(&u))
-      send(self.process_group(), self.distribution_(*v_name),
-           BGL_NAMED_GRAPH::msg_add_edge_name_name,
-           make_untracked_pair(*u_name, *v_name));
-    else
-      send(self.process_group(), self.distribution_(*v_name),
-           BGL_NAMED_GRAPH::msg_add_edge_vertex_name,
-           make_untracked_pair(boost::get<vertex_descriptor>(u), *v_name));
-  } else {
-    if (vertex_name_type* u_name = boost::get<vertex_name_type>(&u))
-      // We haven't resolved the source vertex to a descriptor yet, so
-      // it must not be local. Send a message to the owner of the
-      // source vertex requesting the edge addition.
-      send(self.process_group(), self.distribution_(*u_name),
-           BGL_NAMED_GRAPH::msg_add_edge_name_vertex,
-           make_untracked_pair(*u_name, boost::get<vertex_descriptor>(v)));
-    else
-      // We have descriptors for both of the vertices, either of which
-      // may be remote or local. Tell the owner of the source vertex
-      // to add the edge (it may be us!).
-      add_edge(boost::get<vertex_descriptor>(u), 
-               boost::get<vertex_descriptor>(v), 
-               self.derived());
-  }
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-BGL_NAMED_GRAPH::lazy_add_edge::commit() const
-{
-  typedef typename BGL_NAMED_GRAPH::process_id_type process_id_type;
-  using boost::parallel::detail::make_untracked_pair;
-
-  BOOST_ASSERT(!committed);
-  committed = true;
-
-  /// The result we will return, if we are sending a message to
-  /// request that someone else add the edge.
-  boost::parallel::detail::untracked_pair<edge_descriptor, bool> result;
-
-  /// The owner of the vertex "u"
-  process_id_type u_owner;
-
-  process_id_type rank = process_id(self.process_group());
-  if (const vertex_name_type* u_name = boost::get<vertex_name_type>(&u)) {
-    /// We haven't resolved the source vertex to a descriptor yet, so
-    /// it must not be local. 
-    u_owner = self.named_distribution()(*u_name);
-
-    /// Send a message to the remote vertex requesting that it add the
-    /// edge. The message differs depending on whether we have a
-    /// vertex name or a vertex descriptor for the target.
-    if (const vertex_name_type* v_name = boost::get<vertex_name_type>(&v))
-      send_oob_with_reply(self.process_group(), u_owner,
-                          BGL_NAMED_GRAPH::msg_add_edge_name_name_with_reply,
-                          make_untracked_pair(*u_name, *v_name), result);
-    else
-      send_oob_with_reply(self.process_group(), u_owner,
-                          BGL_NAMED_GRAPH::msg_add_edge_name_vertex_with_reply,
-                          make_untracked_pair(*u_name, 
-                                         boost::get<vertex_descriptor>(v)),
-                          result);
-  } else {
-    /// We have resolved the source vertex to a descriptor, which may
-    /// either be local or remote.
-    u_owner 
-      = get(vertex_owner, self.derived(),
-            boost::get<vertex_descriptor>(u));
-    if (u_owner == rank) {
-      /// The source is local. If we need to, resolve the target vertex.
-      if (const vertex_name_type* v_name = boost::get<vertex_name_type>(&v))
-        v = add_vertex(*v_name, self.derived());
-
-      /// Add the edge using vertex descriptors
-      return add_edge(boost::get<vertex_descriptor>(u), 
-                      boost::get<vertex_descriptor>(v), 
-                      self.derived());
-    } else {
-      /// The source is remote. Just send a message to its owner
-      /// requesting that the owner add the new edge, either directly
-      /// or via the derived class's add_edge function.
-      if (const vertex_name_type* v_name = boost::get<vertex_name_type>(&v))
-        send_oob_with_reply
-          (self.process_group(), u_owner,
-           BGL_NAMED_GRAPH::msg_add_edge_vertex_name_with_reply,
-           make_untracked_pair(boost::get<vertex_descriptor>(u), *v_name),
-           result);
-      else
-        return add_edge(boost::get<vertex_descriptor>(u), 
-                        boost::get<vertex_descriptor>(v), 
-                        self.derived());
-    }
-  }
-
-  // If we get here, the edge has been added remotely and "result"
-  // contains the result of that edge addition.
-  return result;
-}
-
-/**
- * Data structure returned from add_edge that will "lazily" add the
- * edge with a property, either when it is converted to a @c
- * pair<edge_descriptor,bool> or when the most recent copy has been
- * destroyed.
- */
-template<BGL_NAMED_GRAPH_PARAMS>
-struct BGL_NAMED_GRAPH::lazy_add_edge_with_property 
-{
-  /// The graph's edge descriptor
-  typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-  /// The Edge property type for our graph
-  typedef typename Config::edge_property_type edge_property_type;
-  
-  /// Add an edge for the edge (u, v) based on vertex names
-  lazy_add_edge_with_property(BGL_NAMED_GRAPH& self, 
-                              const vertex_name_type& u_name,
-                              const vertex_name_type& v_name,
-                              const edge_property_type& property) 
-    : self(self), u(u_name), v(v_name), property(property), committed(false)
-  { 
-  }
-
-  /// Add an edge for the edge (u, v) based on a vertex descriptor and name
-  lazy_add_edge_with_property(BGL_NAMED_GRAPH& self,
-                vertex_descriptor u,
-                const vertex_name_type& v_name,
-                                  const edge_property_type& property)
-    : self(self), u(u), v(v_name), property(property), committed(false) { }
-
-  /// Add an edge for the edge (u, v) based on a vertex name and descriptor
-  lazy_add_edge_with_property(BGL_NAMED_GRAPH& self,
-                              const vertex_name_type& u_name,
-                              vertex_descriptor v,
-                              const edge_property_type& property)
-    : self(self), u(u_name), v(v), property(property), committed(false) { }
-
-  /// Add an edge for the edge (u, v) based on vertex descriptors
-  lazy_add_edge_with_property(BGL_NAMED_GRAPH& self,
-                              vertex_descriptor u,
-                              vertex_descriptor v,
-                              const edge_property_type& property)
-    : self(self), u(u), v(v), property(property), committed(false) { }
-
-  /// Copy a lazy_add_edge_with_property structure, which transfers
-  /// responsibility for adding the edge to the newly-constructed
-  /// object.
-  lazy_add_edge_with_property(const lazy_add_edge_with_property& other)
-    : self(other.self), u(other.u), v(other.v), property(other.property), 
-      committed(other.committed)
-  {
-    other.committed = true;
-  }
-
-  /// If the edge has not yet been added, add the edge but don't wait
-  /// for a reply.
-  ~lazy_add_edge_with_property();
-
-  /// Returns commit().
-  operator std::pair<edge_descriptor, bool>() const { return commit(); }
-
-  // Add the edge. This operation will block if a remote edge is
-  // being added.
-  std::pair<edge_descriptor, bool> commit() const;
-
-protected:
-  BGL_NAMED_GRAPH& self;
-  mutable variant<vertex_descriptor, vertex_name_type> u;
-  mutable variant<vertex_descriptor, vertex_name_type> v;
-  edge_property_type property;
-  mutable bool committed;
-
-private:
-  // No copy-assignment semantics
-  void operator=(lazy_add_edge_with_property&);
-};
-
-template<BGL_NAMED_GRAPH_PARAMS>
-BGL_NAMED_GRAPH::lazy_add_edge_with_property::~lazy_add_edge_with_property()
-{
-  using boost::detail::parallel::make_pair_with_property;
-
-  /// If this edge has already been created or will be created by
-  /// someone else, or if someone threw an exception, we will not
-  /// create the edge now.
-  if (committed || std::uncaught_exception())
-    return;
-
-  committed = true;
-
-  if (vertex_name_type* v_name = boost::get<vertex_name_type>(&v)) {
-    // We haven't resolved the target vertex to a descriptor yet, so
-    // it must not be local. Send a message to the owner of the target
-    // of the edge. If the owner of the target does not happen to own
-    // the source, it will resolve the target to a vertex descriptor
-    // and pass the message along to the owner of the source. 
-    if (vertex_name_type* u_name = boost::get<vertex_name_type>(&u))
-      send(self.process_group(), self.distribution_(*v_name),
-           BGL_NAMED_GRAPH::msg_add_edge_name_name_with_property,
-           make_pair_with_property(*u_name, *v_name, property));
-    else
-      send(self.process_group(), self.distribution_(*v_name),
-           BGL_NAMED_GRAPH::msg_add_edge_vertex_name_with_property,
-           make_pair_with_property(boost::get<vertex_descriptor>(u), *v_name, 
-                                   property));
-  } else {
-    if (vertex_name_type* u_name = boost::get<vertex_name_type>(&u))
-      // We haven't resolved the source vertex to a descriptor yet, so
-      // it must not be local. Send a message to the owner of the
-      // source vertex requesting the edge addition.
-      send(self.process_group(), self.distribution_(*u_name),
-           BGL_NAMED_GRAPH::msg_add_edge_name_vertex_with_property,
-           make_pair_with_property(*u_name, boost::get<vertex_descriptor>(v), 
-                                   property));
-    else
-      // We have descriptors for both of the vertices, either of which
-      // may be remote or local. Tell the owner of the source vertex
-      // to add the edge (it may be us!).
-      add_edge(boost::get<vertex_descriptor>(u), 
-               boost::get<vertex_descriptor>(v), 
-               property,
-               self.derived());
-  }
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-BGL_NAMED_GRAPH::lazy_add_edge_with_property::commit() const
-{
-  using boost::detail::parallel::make_pair_with_property;
-  typedef typename BGL_NAMED_GRAPH::process_id_type process_id_type;
-  BOOST_ASSERT(!committed);
-  committed = true;
-
-  /// The result we will return, if we are sending a message to
-  /// request that someone else add the edge.
-  boost::parallel::detail::untracked_pair<edge_descriptor, bool> result;
-
-  /// The owner of the vertex "u"
-  process_id_type u_owner;
-
-  process_id_type rank = process_id(self.process_group());
-  if (const vertex_name_type* u_name = boost::get<vertex_name_type>(&u)) {
-    /// We haven't resolved the source vertex to a descriptor yet, so
-    /// it must not be local. 
-    u_owner = self.named_distribution()(*u_name);
-
-    /// Send a message to the remote vertex requesting that it add the
-    /// edge. The message differs depending on whether we have a
-    /// vertex name or a vertex descriptor for the target.
-    if (const vertex_name_type* v_name = boost::get<vertex_name_type>(&v))
-      send_oob_with_reply
-        (self.process_group(), u_owner,
-         BGL_NAMED_GRAPH::msg_add_edge_name_name_with_reply_and_property,
-         make_pair_with_property(*u_name, *v_name, property),
-         result);
-    else
-      send_oob_with_reply
-        (self.process_group(), u_owner,
-         BGL_NAMED_GRAPH::msg_add_edge_name_vertex_with_reply_and_property,
-         make_pair_with_property(*u_name, 
-                                 boost::get<vertex_descriptor>(v),
-                                 property),
-         result);
-  } else {
-    /// We have resolved the source vertex to a descriptor, which may
-    /// either be local or remote.
-    u_owner 
-      = get(vertex_owner, self.derived(),
-            boost::get<vertex_descriptor>(u));
-    if (u_owner == rank) {
-      /// The source is local. If we need to, resolve the target vertex.
-      if (const vertex_name_type* v_name = boost::get<vertex_name_type>(&v))
-        v = add_vertex(*v_name, self.derived());
-
-      /// Add the edge using vertex descriptors
-      return add_edge(boost::get<vertex_descriptor>(u), 
-                      boost::get<vertex_descriptor>(v), 
-                      property,
-                      self.derived());
-    } else {
-      /// The source is remote. Just send a message to its owner
-      /// requesting that the owner add the new edge, either directly
-      /// or via the derived class's add_edge function.
-      if (const vertex_name_type* v_name = boost::get<vertex_name_type>(&v))
-        send_oob_with_reply
-          (self.process_group(), u_owner,
-           BGL_NAMED_GRAPH::msg_add_edge_vertex_name_with_reply_and_property,
-           make_pair_with_property(boost::get<vertex_descriptor>(u), *v_name,
-                                   property),
-           result);
-      else
-        return add_edge(boost::get<vertex_descriptor>(u), 
-                        boost::get<vertex_descriptor>(v), 
-                        property,
-                        self.derived());
-    }
-  }
-
-  // If we get here, the edge has been added remotely and "result"
-  // contains the result of that edge addition.
-  return result;
-}
-
-/// Construct the named_graph with a particular process group
-template<BGL_NAMED_GRAPH_PARAMS>
-BGL_NAMED_GRAPH::named_graph(const process_group_type& pg)
-  : process_group_(pg, boost::parallel::attach_distributed_object()),
-    distribution_(pg)
-{
-  setup_triggers();
-}
-
-/// Construct the named_graph mixin with a particular process group
-/// and distribution function
-template<BGL_NAMED_GRAPH_PARAMS>
-BGL_NAMED_GRAPH::named_graph(const process_group_type& pg,
-                             const base_distribution_type& distribution)
-  : process_group_(pg, boost::parallel::attach_distributed_object()),
-    distribution_(pg, distribution)
-{
-  setup_triggers();
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-void
-BGL_NAMED_GRAPH::setup_triggers()
-{
-  using boost::graph::parallel::simple_trigger;
-
-  simple_trigger(process_group_, msg_add_vertex_name, this,
-                 &named_graph::handle_add_vertex_name);
-  simple_trigger(process_group_, msg_add_vertex_name_with_reply, this,
-                 &named_graph::handle_add_vertex_name_with_reply);
-  simple_trigger(process_group_, msg_find_vertex, this, 
-                 &named_graph::handle_find_vertex);
-  simple_trigger(process_group_, msg_add_edge_name_name, this, 
-                 &named_graph::template handle_add_edge<vertex_name_type, 
-                                                        vertex_name_type>);
-  simple_trigger(process_group_, msg_add_edge_name_name_with_reply, this,
-                 &named_graph::template handle_add_edge_with_reply
-                   <vertex_name_type, vertex_name_type>);
-  simple_trigger(process_group_, msg_add_edge_name_vertex, this,
-                 &named_graph::template handle_add_edge<vertex_name_type, 
-                                                        vertex_descriptor>);
-  simple_trigger(process_group_, msg_add_edge_name_vertex_with_reply, this,
-                 &named_graph::template handle_add_edge_with_reply
-                   <vertex_name_type, vertex_descriptor>);
-  simple_trigger(process_group_, msg_add_edge_vertex_name, this,
-                 &named_graph::template handle_add_edge<vertex_descriptor, 
-                                                        vertex_name_type>);
-  simple_trigger(process_group_, msg_add_edge_vertex_name_with_reply, this,
-                 &named_graph::template handle_add_edge_with_reply
-                   <vertex_descriptor, vertex_name_type>);
-  simple_trigger(process_group_, msg_add_edge_name_name_with_property, this, 
-                 &named_graph::
-                   template handle_add_edge_with_property<vertex_name_type, 
-                                                          vertex_name_type>);
-  simple_trigger(process_group_, 
-                 msg_add_edge_name_name_with_reply_and_property, this,
-                 &named_graph::template handle_add_edge_with_reply_and_property
-                   <vertex_name_type, vertex_name_type>);
-  simple_trigger(process_group_, msg_add_edge_name_vertex_with_property, this,
-                 &named_graph::
-                   template handle_add_edge_with_property<vertex_name_type, 
-                                                          vertex_descriptor>);
-  simple_trigger(process_group_, 
-                 msg_add_edge_name_vertex_with_reply_and_property, this,
-                 &named_graph::template handle_add_edge_with_reply_and_property
-                   <vertex_name_type, vertex_descriptor>);
-  simple_trigger(process_group_, msg_add_edge_vertex_name_with_property, this,
-                 &named_graph::
-                   template handle_add_edge_with_property<vertex_descriptor, 
-                                                          vertex_name_type>);
-  simple_trigger(process_group_, 
-                 msg_add_edge_vertex_name_with_reply_and_property, this,
-                 &named_graph::template handle_add_edge_with_reply_and_property
-                   <vertex_descriptor, vertex_name_type>);
-}
-
-/// Retrieve the vertex associated with the given name
-template<BGL_NAMED_GRAPH_PARAMS>
-optional<Vertex> 
-find_vertex(typename BGL_NAMED_GRAPH::vertex_name_type const& name,
-            const BGL_NAMED_GRAPH& g)
-{
-  typedef typename Graph::local_vertex_descriptor local_vertex_descriptor;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-  // Determine the owner of this name
-  typename BGL_NAMED_GRAPH::process_id_type owner 
-    = g.named_distribution()(name);
-
-  if (owner == process_id(g.process_group())) {
-    // The vertex is local, so search for a mapping here
-    optional<local_vertex_descriptor> result 
-      = find_vertex(name, g.derived().base());
-    if (result)
-      return Vertex(owner, *result);
-    else
-      return optional<Vertex>();
-  }
-  else {
-    // Ask the ownering process for the name of this vertex
-    boost::parallel::detail::untracked_pair<vertex_descriptor, bool> result;
-    send_oob_with_reply(g.process_group(), owner, 
-                        BGL_NAMED_GRAPH::msg_find_vertex, name, result);
-    if (result.second)
-      return result.first;
-    else
-      return optional<Vertex>();
-  }
-}
-
-/// meta-function helping in figuring out if the given VertextProerty belongs to 
-/// a named graph
-template<typename VertexProperty>
-struct not_is_named_graph
-  : is_same<typename internal_vertex_name<VertexProperty>::type, void>
-{};
-
-/// Retrieve the vertex associated with the given name
-template<typename Graph>
-typename Graph::named_graph_type::lazy_add_vertex
-add_vertex(typename Graph::vertex_name_type const& name,
-           Graph& g, 
-           typename disable_if<
-              not_is_named_graph<typename Graph::vertex_property_type>, 
-              void*>::type = 0)
-{
-  return typename Graph::named_graph_type::lazy_add_vertex(g, name);
-}
-
-/// Add an edge using vertex names to refer to the vertices
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::lazy_add_edge
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         BGL_NAMED_GRAPH& g)
-{
-  typedef typename BGL_NAMED_GRAPH::lazy_add_edge lazy_add_edge;
-  typedef typename BGL_NAMED_GRAPH::process_id_type process_id_type;
-
-  process_id_type rank = process_id(g.process_group());
-  process_id_type u_owner = g.named_distribution()(u_name);
-  process_id_type v_owner = g.named_distribution()(v_name);
-
-  // Resolve local vertex names before building the "lazy" edge
-  // addition structure.
-  if (u_owner == rank && v_owner == rank)
-    return lazy_add_edge(g, add_vertex(u_name, g), add_vertex(v_name, g));
-  else if (u_owner == rank && v_owner != rank)
-    return lazy_add_edge(g, add_vertex(u_name, g), v_name);
-  else if (u_owner != rank && v_owner == rank)
-    return lazy_add_edge(g, u_name, add_vertex(v_name, g));
-  else
-    return lazy_add_edge(g, u_name, v_name);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::lazy_add_edge
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_descriptor const& v,
-         BGL_NAMED_GRAPH& g)
-{
-  // Resolve local vertex names before building the "lazy" edge
-  // addition structure.
-  typedef typename BGL_NAMED_GRAPH::lazy_add_edge lazy_add_edge;
-  if (g.named_distribution()(u_name) == process_id(g.process_group()))
-    return lazy_add_edge(g, add_vertex(u_name, g), v);
-  else
-    return lazy_add_edge(g, u_name, v);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::lazy_add_edge
-add_edge(typename BGL_NAMED_GRAPH::vertex_descriptor const& u,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         BGL_NAMED_GRAPH& g)
-{
-  // Resolve local vertex names before building the "lazy" edge
-  // addition structure.
-  typedef typename BGL_NAMED_GRAPH::lazy_add_edge lazy_add_edge;
-  if (g.named_distribution()(v_name) == process_id(g.process_group()))
-    return lazy_add_edge(g, u, add_vertex(v_name, g));
-  else
-    return lazy_add_edge(g, u, v_name);
-}
-
-/// Add an edge using vertex names to refer to the vertices
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::lazy_add_edge_with_property
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         typename Graph::edge_property_type const& property,
-         BGL_NAMED_GRAPH& g)
-{
-  typedef typename BGL_NAMED_GRAPH::lazy_add_edge_with_property lazy_add_edge;
-  typedef typename BGL_NAMED_GRAPH::process_id_type process_id_type;
-
-  process_id_type rank = process_id(g.process_group());
-  process_id_type u_owner = g.named_distribution()(u_name);
-  process_id_type v_owner = g.named_distribution()(v_name);
-
-  // Resolve local vertex names before building the "lazy" edge
-  // addition structure.
-  if (u_owner == rank && v_owner == rank)
-    return lazy_add_edge(g, add_vertex(u_name, g), add_vertex(v_name, g), 
-                         property);
-  else if (u_owner == rank && v_owner != rank)
-    return lazy_add_edge(g, add_vertex(u_name, g), v_name, property);
-  else if (u_owner != rank && v_owner == rank)
-    return lazy_add_edge(g, u_name, add_vertex(v_name, g), property);
-  else
-    return lazy_add_edge(g, u_name, v_name, property);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::lazy_add_edge_with_property
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_descriptor const& v,
-         typename Graph::edge_property_type const& property,
-         BGL_NAMED_GRAPH& g)
-{
-  // Resolve local vertex names before building the "lazy" edge
-  // addition structure.
-  typedef typename BGL_NAMED_GRAPH::lazy_add_edge_with_property lazy_add_edge;
-  if (g.named_distribution()(u_name) == process_id(g.process_group()))
-    return lazy_add_edge(g, add_vertex(u_name, g), v, property);
-  else
-    return lazy_add_edge(g, u_name, v, property);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::lazy_add_edge_with_property
-add_edge(typename BGL_NAMED_GRAPH::vertex_descriptor const& u,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         typename Graph::edge_property_type const& property,
-         BGL_NAMED_GRAPH& g)
-{
-  // Resolve local vertex names before building the "lazy" edge
-  // addition structure.
-  typedef typename BGL_NAMED_GRAPH::lazy_add_edge_with_property lazy_add_edge;
-  if (g.named_distribution()(v_name) == process_id(g.process_group()))
-    return lazy_add_edge(g, u, add_vertex(v_name, g), property);
-  else
-    return lazy_add_edge(g, u, v_name, property);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::process_id_type 
-BGL_NAMED_GRAPH::owner_by_property(const vertex_property_type& property)
-{
-  return distribution_(derived().base().extract_name(property));
-}
-
-
-/*******************************************************************
- * Message handlers                                                *
- *******************************************************************/
-
-template<BGL_NAMED_GRAPH_PARAMS>
-void 
-BGL_NAMED_GRAPH::
-handle_add_vertex_name(int /*source*/, int /*tag*/, 
-                       const vertex_name_type& msg, trigger_receive_context)
-{
-  add_vertex(msg, derived());
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::vertex_descriptor
-BGL_NAMED_GRAPH::
-handle_add_vertex_name_with_reply(int source, int /*tag*/, 
-                                  const vertex_name_type& msg, 
-                                  trigger_receive_context)
-{
-  return add_vertex(msg, derived());
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-boost::parallel::detail::untracked_pair<typename BGL_NAMED_GRAPH::vertex_descriptor, bool>
-BGL_NAMED_GRAPH::
-handle_find_vertex(int source, int /*tag*/, const vertex_name_type& msg, 
-                   trigger_receive_context)
-{
-  using boost::parallel::detail::make_untracked_pair;
-
-  optional<vertex_descriptor> v = find_vertex(msg, derived());
-  if (v)
-    return make_untracked_pair(*v, true);
-  else
-    return make_untracked_pair(graph_traits<Graph>::null_vertex(), false);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-template<typename U, typename V>
-void
-BGL_NAMED_GRAPH::
-handle_add_edge(int source, int /*tag*/, const boost::parallel::detail::untracked_pair<U, V>& msg, 
-                trigger_receive_context)
-{
-  add_edge(msg.first, msg.second, derived());
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-template<typename U, typename V>
-boost::parallel::detail::untracked_pair<typename BGL_NAMED_GRAPH::edge_descriptor, bool>
-BGL_NAMED_GRAPH::
-handle_add_edge_with_reply(int source, int /*tag*/, const boost::parallel::detail::untracked_pair<U, V>& msg,
-                           trigger_receive_context)
-{
-  std::pair<typename BGL_NAMED_GRAPH::edge_descriptor, bool> p =
-    add_edge(msg.first, msg.second, derived());
-   return p;
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-template<typename U, typename V>
-void 
-BGL_NAMED_GRAPH::
-handle_add_edge_with_property
-  (int source, int tag, 
-   const pair_with_property<U, V, edge_property_type>& msg,
-   trigger_receive_context)
-{
-  add_edge(msg.first, msg.second, msg.get_property(), derived());
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-template<typename U, typename V>
-boost::parallel::detail::untracked_pair<typename BGL_NAMED_GRAPH::edge_descriptor, bool>
-BGL_NAMED_GRAPH::
-handle_add_edge_with_reply_and_property
-  (int source, int tag, 
-   const pair_with_property<U, V, edge_property_type>& msg,
-   trigger_receive_context)
-{
-  std:: pair<typename BGL_NAMED_GRAPH::edge_descriptor, bool> p =
-    add_edge(msg.first, msg.second, msg.get_property(), derived());
-  return p;
-}
-
-#undef BGL_NAMED_GRAPH
-#undef BGL_NAMED_GRAPH_PARAMS
-
-/*******************************************************************
- * Maybe named graph mixin                                         *
- *******************************************************************/
-
-/**
- * A graph mixin that can provide a mapping from names to vertices,
- * and use that mapping to simplify creation and manipulation of
- * graphs. 
- */
-template<typename Graph, typename Vertex, typename Edge, typename Config, 
-  typename ExtractName 
-    = typename internal_vertex_name<typename Config::vertex_property_type>::type>
-struct maybe_named_graph 
-  : public named_graph<Graph, Vertex, Edge, Config> 
-{
-private:
-  typedef named_graph<Graph, Vertex, Edge, Config> inherited;
-  typedef typename Config::process_group_type process_group_type;
-  
-public:
-  /// The type used to distribute named vertices in the graph
-  typedef typename Config::distribution_type distribution_type;
-  typedef typename Config::base_distribution_type base_distribution_type;
-  
-  explicit maybe_named_graph(const process_group_type& pg) : inherited(pg) { }
-
-  maybe_named_graph(const process_group_type& pg, 
-                    const base_distribution_type& distribution)
-    : inherited(pg, distribution) { }  
-
-  distribution_type&       distribution()       { return this->distribution_; }
-  const distribution_type& distribution() const { return this->distribution_; }
-};
-
-/**
- * A graph mixin that can provide a mapping from names to vertices,
- * and use that mapping to simplify creation and manipulation of
- * graphs. This partial specialization turns off this functionality
- * when the @c VertexProperty does not have an internal vertex name.
- */
-template<typename Graph, typename Vertex, typename Edge, typename Config>
-struct maybe_named_graph<Graph, Vertex, Edge, Config, void> 
-{ 
-private:
-  typedef typename Config::process_group_type process_group_type;
-  typedef typename Config::vertex_property_type vertex_property_type;
-  
-public:
-  typedef typename process_group_type::process_id_type process_id_type;
-
-  /// The type used to distribute named vertices in the graph
-  typedef typename Config::distribution_type distribution_type;
-  typedef typename Config::base_distribution_type base_distribution_type;
-
-  explicit maybe_named_graph(const process_group_type&)  { }
-
-  maybe_named_graph(const process_group_type& pg, 
-                    const base_distribution_type& distribution) 
-    : distribution_(pg, distribution) { }
-
-  /// Notify the named_graph that we have added the given vertex. This
-  /// is a no-op.
-  void added_vertex(Vertex) { }
-
-  /// Notify the named_graph that we are removing the given
-  /// vertex. This is a no-op.
-  template <typename VertexIterStability>
-  void removing_vertex(Vertex, VertexIterStability) { }
-
-  /// Notify the named_graph that we are clearing the graph
-  void clearing_graph() { }
-
-  /// Retrieve the owner of a given vertex based on the properties
-  /// associated with that vertex. This operation just returns the
-  /// number of the local processor, adding all vertices locally.
-  process_id_type owner_by_property(const vertex_property_type&)
-  {
-    return process_id(pg);
-  }
-
-  distribution_type&       distribution()       { return distribution_; }
-  const distribution_type& distribution() const { return distribution_; }
-
-protected:
-  /// The process group of the graph
-  process_group_type pg;
-  
-  /// The distribution used for the graph
-  distribution_type distribution_;
-};
-
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_GRAPH_DISTRIBUTED_NAMED_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/one_bit_color_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/one_bit_color_map.hpp
deleted file mode 100644
index 0a5704a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/one_bit_color_map.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (C) 2006-2010 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: Douglas Gregor
-//           Jeremiah Willcock
-//           Andrew Lumsdaine
-
-// Distributed version of the one-bit color map
-#ifndef BOOST_DISTRIBUTED_ONE_BIT_COLOR_MAP_HPP
-#define BOOST_DISTRIBUTED_ONE_BIT_COLOR_MAP_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/one_bit_color_map.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-
-namespace boost {
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-class one_bit_color_map<local_property_map<ProcessGroup,GlobalMap,StorageMap> >
-  : public parallel::distributed_property_map<ProcessGroup, GlobalMap,
-                                              one_bit_color_map<StorageMap> >
-{
-  typedef one_bit_color_map<StorageMap> local_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             local_map >
-    inherited;
-
-  typedef local_property_map<ProcessGroup, GlobalMap, StorageMap>
-    index_map_type;
-
-public:
-  one_bit_color_map(std::size_t inital_size, 
-                    const index_map_type& index = index_map_type())
-    : inherited(index.process_group(),  index.global(),
-                local_map(inital_size, index.base())) { }
-
-  inherited&       base()       { return *this; }
-  const inherited& base() const { return *this; }
-};
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline one_bit_color_type
-get(one_bit_color_map<local_property_map<ProcessGroup,GlobalMap,StorageMap> >
-      const& pm,
-    typename property_traits<GlobalMap>::key_type key)
-{
-  return get(pm.base(), key);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline void
-put(one_bit_color_map<local_property_map<ProcessGroup,GlobalMap,StorageMap> >
-      const& pm, 
-    typename property_traits<GlobalMap>::key_type key,
-    one_bit_color_type value)
-{
-  put(pm.base(), key, value);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-class one_bit_color_map<parallel::distributed_property_map<
-                          ProcessGroup, GlobalMap, StorageMap> > 
-  : public parallel::distributed_property_map<
-             ProcessGroup, GlobalMap, one_bit_color_map<StorageMap> >
-{
-  typedef one_bit_color_map<StorageMap> local_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup,GlobalMap,local_map>
-    inherited;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap,  
-                                             StorageMap>
-    index_map_type;
-
-public:
-  one_bit_color_map(std::size_t inital_size, 
-                    const index_map_type& index = index_map_type())
-    : inherited(index.process_group(),  index.global(),
-                local_map(inital_size, index.base())) { }
-
-  inherited&       base()       { return *this; }
-  const inherited& base() const { return *this; }
-};
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline one_bit_color_type
-get(one_bit_color_map<
-      parallel::distributed_property_map<
-        ProcessGroup, GlobalMap, one_bit_color_map<StorageMap> > > const& pm,
-    typename property_traits<GlobalMap>::key_type key)
-{
-  return get(pm.base(), key);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline void
-put(one_bit_color_map<
-      parallel::distributed_property_map<
-        ProcessGroup, GlobalMap, one_bit_color_map<StorageMap> > > const& pm, 
-    typename property_traits<GlobalMap>::key_type key,
-    one_bit_color_type value)
-{
-  put(pm.base(), key, value);
-}
-
-} // end namespace boost
-
-#endif // BOOST_DISTRIBUTED_ONE_BIT_COLOR_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/page_rank.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/page_rank.hpp
deleted file mode 100644
index 1db3b8a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/page_rank.hpp
+++ /dev/null
@@ -1,225 +0,0 @@
-// Copyright (C) 2004-2006 The Trustees of Indiana University.
-// Copyright (C) 2002 Brad King and 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-//           Brian Barrett
-#ifndef BOOST_PARALLEL_GRAPH_PAGE_RANK_HPP
-#define BOOST_PARALLEL_GRAPH_PAGE_RANK_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/page_rank.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/caching_property_map.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-// #define WANT_MPI_ONESIDED 1
-
-namespace boost { namespace graph { namespace distributed {
-
-namespace detail {
-#ifdef WANT_MPI_ONESIDED
-  template<typename Graph, typename RankMap, typename owner_map_t>
-  void page_rank_step(const Graph& g, RankMap from_rank, MPI_Win to_win, 
-                      typename property_traits<RankMap>::value_type damping,
-                      owner_map_t owner)
-  {
-    typedef typename property_traits<RankMap>::value_type rank_type;
-    int me, ret;
-    MPI_Comm_rank(MPI_COMM_WORLD, &me);
-
-    // MPI_Accumulate is not required to store the value of the data
-    // being sent, only the address.  The value of the memory location
-    // must not change until the end of the access epoch, meaning the
-    // call to MPI_Fence.  We therefore store the updated value back
-    // into the from_rank map before the accumulate rather than using
-    // a temporary.  We're going to reset the values in the from_rank
-    // before the end of page_rank_step() anyway, so this isn't a huge
-    // deal.  But MPI-2 One-sided is an abomination.
-    BGL_FORALL_VERTICES_T(u, g, Graph) {
-      put(from_rank, u, (damping * get(from_rank, u) / out_degree(u, g)));
-      BGL_FORALL_ADJ_T(u, v, g, Graph) {
-        ret = MPI_Accumulate(&(from_rank[u]),
-                             1, MPI_DOUBLE,
-                             get(owner, v), local(v), 
-                             1, MPI_DOUBLE, MPI_SUM, to_win);
-        BOOST_ASSERT(MPI_SUCCESS == ret);
-      }
-    }
-    MPI_Win_fence(0, to_win);
-
-    // Set new rank maps for the other map.  Do this now to get around
-    // the stupid synchronization rules of MPI-2 One-sided
-    BGL_FORALL_VERTICES_T(v, g, Graph) put(from_rank, v, rank_type(1 - damping));
-  }
-#endif
-
-  template<typename T>
-  struct rank_accumulate_reducer {
-    BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-
-    template<typename K>
-    T operator()(const K&) const { return T(0); }
-
-    template<typename K>
-    T operator()(const K&, const T& x, const T& y) const { return x + y; }
-  };
-} // end namespace detail
-
-template<typename Graph, typename RankMap, typename Done, typename RankMap2>
-void
-page_rank_impl(const Graph& g, RankMap rank_map, Done done, 
-               typename property_traits<RankMap>::value_type damping,
-               typename graph_traits<Graph>::vertices_size_type n,
-               RankMap2 rank_map2)
-{
-  typedef typename property_traits<RankMap>::value_type rank_type;
-
-  int me;
-  MPI_Comm_rank(MPI_COMM_WORLD, &me);
-
-  typename property_map<Graph, vertex_owner_t>::const_type
-    owner = get(vertex_owner, g);
-  (void)owner;
-
-  typedef typename boost::graph::parallel::process_group_type<Graph>
-    ::type process_group_type;
-  typedef typename process_group_type::process_id_type process_id_type;
-
-  process_group_type pg = process_group(g);
-  process_id_type id = process_id(pg);
-
-  BOOST_ASSERT(me == id);
-
-  rank_type initial_rank = rank_type(rank_type(1) / n);
-  BGL_FORALL_VERTICES_T(v, g, Graph) put(rank_map, v, initial_rank);
-
-#ifdef WANT_MPI_ONESIDED
-
-  BOOST_ASSERT(sizeof(rank_type) == sizeof(double));
-
-  bool to_map_2 = true;
-  MPI_Win win, win2;
-
-  MPI_Win_create(&(rank_map[*(vertices(g).first)]), 
-                 sizeof(double) * num_vertices(g),
-                 sizeof(double), 
-                 MPI_INFO_NULL, MPI_COMM_WORLD, &win);
-  MPI_Win_set_name(win, "rank_map_win");
-  MPI_Win_create(&(rank_map2[*(vertices(g).first)]), 
-                 sizeof(double) * num_vertices(g),
-                 sizeof(double), 
-                 MPI_INFO_NULL, MPI_COMM_WORLD, &win2);
-  MPI_Win_set_name(win, "rank_map2_win");
-
-  // set initial rank maps for the first iteration...
-  BGL_FORALL_VERTICES_T(v, g, Graph) put(rank_map2, v, rank_type(1 - damping));
-
-  MPI_Win_fence(0, win);
-  MPI_Win_fence(0, win2);
-
-  while ((to_map_2 && !done(rank_map, g)) ||
-         (!to_map_2 && !done(rank_map2, g))) {
-    if (to_map_2) {
-      graph::distributed::detail::page_rank_step(g, rank_map, win2, damping, owner);
-      to_map_2 = false;
-    } else {
-      graph::distributed::detail::page_rank_step(g, rank_map2, win, damping, owner);
-      to_map_2 = true;
-    }
-  }
-  synchronize(boost::graph::parallel::process_group(g));
-
-  MPI_Win_free(&win);
-  MPI_Win_free(&win2);
-
-#else  
-  // The ranks accumulate after each step.
-  rank_map.set_reduce(detail::rank_accumulate_reducer<rank_type>());
-  rank_map2.set_reduce(detail::rank_accumulate_reducer<rank_type>());
-  rank_map.set_consistency_model(boost::parallel::cm_flush | boost::parallel::cm_reset);
-  rank_map2.set_consistency_model(boost::parallel::cm_flush | boost::parallel::cm_reset);
-
-  bool to_map_2 = true;
-  while ((to_map_2 && !done(rank_map, g)) ||
-         (!to_map_2 && !done(rank_map2, g))) {
-    /**
-     * PageRank can implemented slightly more efficiently on a
-     * bidirectional graph than on an incidence graph. However,
-     * distributed PageRank requires that we have the rank of the
-     * source vertex available locally, so we force the incidence
-     * graph implementation, which pushes rank from source to
-     * target.
-     */
-    typedef incidence_graph_tag category;
-    if (to_map_2) {
-      graph::detail::page_rank_step(g, rank_map, rank_map2, damping,
-                                    category());
-      to_map_2 = false;
-    } else {
-      graph::detail::page_rank_step(g, rank_map2, rank_map, damping,
-                                    category());
-      to_map_2 = true;
-    }
-    using boost::graph::parallel::process_group;
-    synchronize(process_group(g));
-  }
-
-  rank_map.reset();
-#endif
-      
-  if (!to_map_2)
-    BGL_FORALL_VERTICES_T(v, g, Graph) put(rank_map, v, get(rank_map2, v));
-}
-
-template<typename Graph, typename RankMap, typename Done, typename RankMap2>
-void
-page_rank(const Graph& g, RankMap rank_map, Done done, 
-          typename property_traits<RankMap>::value_type damping,
-          typename graph_traits<Graph>::vertices_size_type n,
-          RankMap2 rank_map2
-          BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag)) 
-{
-  (page_rank_impl)(g, rank_map, done, damping, n, rank_map2);
-}
-
-template<typename MutableGraph>
-void
-remove_dangling_links(MutableGraph& g
-                      BOOST_GRAPH_ENABLE_IF_MODELS_PARM(MutableGraph, 
-                                                        distributed_graph_tag))
-{
-  typename graph_traits<MutableGraph>::vertices_size_type old_n;
-  do {
-    old_n = num_vertices(g);
-
-    typename graph_traits<MutableGraph>::vertex_iterator vi, vi_end;
-    for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; /* in loop */) {
-      typename graph_traits<MutableGraph>::vertex_descriptor v = *vi++;
-      if (out_degree(v, g) == 0) {
-        clear_vertex(v, g);
-        remove_vertex(v, g);
-      }
-    }
-  } while (num_vertices(g) < old_n);
-}
-
-} // end namespace distributed
-
-using distributed::page_rank;
-using distributed::remove_dangling_links;
-
-} } // end namespace boost::graph
-
-#endif // BOOST_PARALLEL_GRAPH_PAGE_RANK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/queue.hpp
deleted file mode 100644
index 7e84272..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/queue.hpp
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_QUEUE_HPP
-#define BOOST_GRAPH_DISTRIBUTED_QUEUE_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
-#include <vector>
-
-namespace boost { namespace graph { namespace distributed {
-
-/// A unary predicate that always returns "true".
-struct always_push
-{
-  template<typename T> bool operator()(const T&) const { return true; }
-};
-
-
-
-/** A distributed queue adaptor.
- *
- * Class template @c distributed_queue implements a distributed queue
- * across a process group. The distributed queue is an adaptor over an
- * existing (local) queue, which must model the @ref Buffer
- * concept. Each process stores a distinct copy of the local queue,
- * from which it draws or removes elements via the @ref pop and @ref
- * top members.
- *
- * The value type of the local queue must be a model of the @ref
- * GlobalDescriptor concept. The @ref push operation of the
- * distributed queue passes (via a message) the value to its owning
- * processor. Thus, the elements within a particular local queue are
- * guaranteed to have the process owning that local queue as an owner.
- *
- * Synchronization of distributed queues occurs in the @ref empty and
- * @ref size functions, which will only return "empty" values (true or
- * 0, respectively) when the entire distributed queue is empty. If the
- * local queue is empty but the distributed queue is not, the
- * operation will block until either condition changes. When the @ref
- * size function of a nonempty queue returns, it returns the size of
- * the local queue. These semantics were selected so that sequential
- * code that processes elements in the queue via the following idiom
- * can be parallelized via introduction of a distributed queue:
- *
- *   distributed_queue<...> Q;
- *   Q.push(x);
- *   while (!Q.empty()) {
- *     // do something, that may push a value onto Q
- *   }
- *
- * In the parallel version, the initial @ref push operation will place
- * the value @c x onto its owner's queue. All processes will
- * synchronize at the call to empty, and only the process owning @c x
- * will be allowed to execute the loop (@ref Q.empty() returns
- * false). This iteration may in turn push values onto other remote
- * queues, so when that process finishes execution of the loop body
- * and all processes synchronize again in @ref empty, more processes
- * may have nonempty local queues to execute. Once all local queues
- * are empty, @ref Q.empty() returns @c false for all processes.
- *
- * The distributed queue can receive messages at two different times:
- * during synchronization and when polling @ref empty. Messages are
- * always received during synchronization, to ensure that accurate
- * local queue sizes can be determines. However, whether @ref empty
- * should poll for messages is specified as an option to the
- * constructor. Polling may be desired when the order in which
- * elements in the queue are processed is not important, because it
- * permits fewer synchronization steps and less communication
- * overhead. However, when more strict ordering guarantees are
- * required, polling may be semantically incorrect. By disabling
- * polling, one ensures that parallel execution using the idiom above
- * will not process an element at a later "level" before an earlier
- * "level".
- *
- * The distributed queue nearly models the @ref Buffer
- * concept. However, the @ref push routine does not necessarily
- * increase the result of @c size() by one (although the size of the
- * global queue does increase by one).
- */
-template<typename ProcessGroup, typename OwnerMap, typename Buffer,
-         typename UnaryPredicate = always_push>
-class distributed_queue
-{
-  typedef distributed_queue self_type;
-
-  enum {
-    /** Message indicating a remote push. The message contains a
-     * single value x of type value_type that is to be pushed on the
-     * receiver's queue.
-     */
-    msg_push,
-    /** Push many elements at once. */
-    msg_multipush
-  };
-
- public:
-  typedef ProcessGroup                     process_group_type;
-  typedef Buffer                           buffer_type;
-  typedef typename buffer_type::value_type value_type;
-  typedef typename buffer_type::size_type  size_type;
-
-  /** Construct a new distributed queue.
-   *
-   * Build a new distributed queue that communicates over the given @p
-   * process_group, whose local queue is initialized via @p buffer and
-   * which may or may not poll for messages.
-   */
-  explicit
-  distributed_queue(const ProcessGroup& process_group,
-                    const OwnerMap& owner,
-                    const Buffer& buffer,
-                    bool polling = false);
-
-  /** Construct a new distributed queue.
-   *
-   * Build a new distributed queue that communicates over the given @p
-   * process_group, whose local queue is initialized via @p buffer and
-   * which may or may not poll for messages.
-   */
-  explicit
-  distributed_queue(const ProcessGroup& process_group = ProcessGroup(),
-                    const OwnerMap& owner = OwnerMap(),
-                    const Buffer& buffer = Buffer(),
-                    const UnaryPredicate& pred = UnaryPredicate(),
-                    bool polling = false);
-
-  /** Construct a new distributed queue.
-   *
-   * Build a new distributed queue that communicates over the given @p
-   * process_group, whose local queue is default-initalized and which
-   * may or may not poll for messages.
-   */
-  distributed_queue(const ProcessGroup& process_group, const OwnerMap& owner,
-                    const UnaryPredicate& pred, bool polling = false);
-
-  /** Virtual destructor required with virtual functions.
-   *
-   */
-  virtual ~distributed_queue() {}
-
-  /** Push an element onto the distributed queue.
-   *
-   * The element will be sent to its owner process to be added to that
-   * process's local queue. If polling is enabled for this queue and
-   * the owner process is the current process, the value will be
-   * immediately pushed onto the local queue.
-   *
-   * Complexity: O(1) messages of size O(sizeof(value_type)) will be
-   * transmitted.
-   */
-  void push(const value_type& x);
-
-  /** Pop an element off the local queue.
-   *
-   * @p @c !empty()
-   */
-  void pop() { buffer.pop(); }
-
-  /**
-   * Return the element at the top of the local queue.
-   *
-   * @p @c !empty()
-   */
-  value_type& top() { return buffer.top(); }
-
-  /**
-   * \overload
-   */
-  const value_type& top() const { return buffer.top(); }
-
-  /** Determine if the queue is empty.
-   *
-   * When the local queue is nonempty, returns @c true. If the local
-   * queue is empty, synchronizes with all other processes in the
-   * process group until either (1) the local queue is nonempty
-   * (returns @c true) (2) the entire distributed queue is empty
-   * (returns @c false).
-   */
-  bool empty() const;
-
-  /** Determine the size of the local queue.
-   *
-   * The behavior of this routine is equivalent to the behavior of
-   * @ref empty, except that when @ref empty returns true this
-   * function returns the size of the local queue and when @ref empty
-   * returns false this function returns zero.
-   */
-  size_type size() const;
-
-  // private:
-  /** Synchronize the distributed queue and determine if all queues
-   * are empty.
-   *
-   * \returns \c true when all local queues are empty, or false if at least
-   * one of the local queues is nonempty.
-   * Defined as virtual for derived classes like depth_limited_distributed_queue.
-   */
-  virtual bool do_synchronize() const;
-
- private:
-  // Setup triggers
-  void setup_triggers();
-
-  // Message handlers
-  void 
-  handle_push(int source, int tag, const value_type& value, 
-              trigger_receive_context);
-
-  void 
-  handle_multipush(int source, int tag, const std::vector<value_type>& values, 
-                   trigger_receive_context);
-
-  mutable ProcessGroup process_group;
-  OwnerMap owner;
-  mutable Buffer buffer;
-  UnaryPredicate pred;
-  bool polling;
-
-  typedef std::vector<value_type> outgoing_buffer_t;
-  typedef std::vector<outgoing_buffer_t> outgoing_buffers_t;
-  shared_ptr<outgoing_buffers_t> outgoing_buffers;
-};
-
-/// Helper macro containing the normal names for the template
-/// parameters to distributed_queue.
-#define BOOST_DISTRIBUTED_QUEUE_PARMS                           \
-  typename ProcessGroup, typename OwnerMap, typename Buffer,    \
-  typename UnaryPredicate
-
-/// Helper macro containing the normal template-id for
-/// distributed_queue.
-#define BOOST_DISTRIBUTED_QUEUE_TYPE                                    \
-  distributed_queue<ProcessGroup, OwnerMap, Buffer, UnaryPredicate>
-
-/** Synchronize all processes involved with the given distributed queue.
- *
- * This function will synchronize all of the local queues for a given
- * distributed queue, by ensuring that no additional messages are in
- * transit. It is rarely required by the user, because most
- * synchronization of distributed queues occurs via the @c empty or @c
- * size methods.
- */
-template<BOOST_DISTRIBUTED_QUEUE_PARMS>
-inline void
-synchronize(const BOOST_DISTRIBUTED_QUEUE_TYPE& Q)
-{ Q.do_synchronize(); }
-
-/// Construct a new distributed queue.
-template<typename ProcessGroup, typename OwnerMap, typename Buffer>
-inline distributed_queue<ProcessGroup, OwnerMap, Buffer>
-make_distributed_queue(const ProcessGroup& process_group,
-                       const OwnerMap& owner,
-                       const Buffer& buffer,
-                       bool polling = false)
-{
-  typedef distributed_queue<ProcessGroup, OwnerMap, Buffer> result_type;
-  return result_type(process_group, owner, buffer, polling);
-}
-
-} } } // end namespace boost::graph::distributed
-
-#include <boost/graph/distributed/detail/queue.ipp>
-
-#undef BOOST_DISTRIBUTED_QUEUE_TYPE
-#undef BOOST_DISTRIBUTED_QUEUE_PARMS
-
-#endif // BOOST_GRAPH_DISTRIBUTED_QUEUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/reverse_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/reverse_graph.hpp
deleted file mode 100644
index 615aab8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/reverse_graph.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2005-2006 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: Nick Edmonds
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_REVERSE_GRAPH_HPP
-#define BOOST_GRAPH_DISTRIBUTED_REVERSE_GRAPH_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/reverse_graph.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-
-namespace boost {
-  namespace graph {
-    namespace parallel {
-      /// Retrieve the process group from a reverse graph
-      template<typename Graph, typename GraphRef>
-      struct process_group_type<reverse_graph<Graph, GraphRef> >
-        : process_group_type<Graph> { };
-    }
-
-  }
-
-  /// Retrieve the process group from a reverse graph
-  template<typename Graph, typename GraphRef>
-  inline typename graph::parallel::process_group_type<Graph>::type
-  process_group(reverse_graph<Graph, GraphRef> const& g) {
-    return process_group(g.m_g);
-  }
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/rmat_graph_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/rmat_graph_generator.hpp
deleted file mode 100644
index dec8250..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/rmat_graph_generator.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2004, 2005 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: Nick Edmonds
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_RMAT_GENERATOR_HPP
-#define BOOST_GRAPH_DISTRIBUTED_RMAT_GENERATOR_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <math.h>
-
-namespace boost {
-
-  // Memory-scalable (amount of memory required will scale down
-  // linearly as the number of processes increases) generator, which
-  // requires an MPI process group.  Run-time is slightly worse than
-  // the unique rmat generator.  Edge list generated is sorted and
-  // unique.
-  template<typename ProcessGroup, typename Distribution, 
-           typename RandomGenerator, typename Graph>
-  class scalable_rmat_iterator
-  {
-      typedef typename graph_traits<Graph>::directed_category directed_category;
-      typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-      typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-  public:
-      typedef std::input_iterator_tag iterator_category;
-      typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-      typedef const value_type& reference;
-      typedef const value_type* pointer;
-      typedef void difference_type;
-
-      // No argument constructor, set to terminating condition
-      scalable_rmat_iterator()
-        : gen(), done(true)
-      { }
-
-      // Initialize for edge generation
-      scalable_rmat_iterator(ProcessGroup pg, Distribution distrib,
-                             RandomGenerator& gen, vertices_size_type n, 
-                             edges_size_type m, double a, double b, double c, 
-                             double d, bool permute_vertices = true)
-          : gen(), done(false)
-      {
-          BOOST_ASSERT(a + b + c + d == 1);
-          int id = process_id(pg);
-
-          this->gen.reset(new uniform_01<RandomGenerator>(gen));
-
-          std::vector<vertices_size_type> vertexPermutation;
-          if (permute_vertices) 
-              generate_permutation_vector(gen, vertexPermutation, n);
-
-          int SCALE = int(floor(log(double(n))/log(2.)));
-          boost::uniform_01<RandomGenerator> prob(gen);
-      
-          std::map<value_type, bool> edge_map;
-
-          edges_size_type generated = 0, local_edges = 0;
-          do {
-              edges_size_type tossed = 0;
-              do {
-                  vertices_size_type u, v;
-                  boost::tie(u, v) = generate_edge(this->gen, n, SCALE, a, b, c, d);
-
-                  if (permute_vertices) {
-                      u = vertexPermutation[u];
-                      v = vertexPermutation[v];
-                  }
-
-                  // Lowest vertex number always comes first (this
-                  // means we don't have to worry about i->j and j->i
-                  // being in the edge list)
-                  if (u > v && is_same<directed_category, undirected_tag>::value)
-                      std::swap(u, v);
-
-                  if (distrib(u) == id || distrib(v) == id) {
-                      if (edge_map.find(std::make_pair(u, v)) == edge_map.end()) {
-                          edge_map[std::make_pair(u, v)] = true;
-                          local_edges++;
-                      } else {
-                          tossed++;
-
-                          // special case - if both u and v are on same
-                          // proc, ++ twice, since we divide by two (to
-                          // cover the two process case)
-                          if (distrib(u) == id && distrib(v) == id)
-                              tossed++;
-                      }
-                  }
-                  generated++;
-
-              } while (generated < m);
-              tossed = all_reduce(pg, tossed, boost::parallel::sum<vertices_size_type>());
-              generated -= (tossed / 2);
-          } while (generated < m);
-          // NGE - Asking for more than n^2 edges will result in an infinite loop here
-          //       Asking for a value too close to n^2 edges may as well
-
-          values.reserve(local_edges);
-          typename std::map<value_type, bool>::reverse_iterator em_end = edge_map.rend();
-          for (typename std::map<value_type, bool>::reverse_iterator em_i = edge_map.rbegin();
-               em_i != em_end ;
-               ++em_i) {
-              values.push_back(em_i->first);
-          }
-
-          current = values.back();
-          values.pop_back();
-      }
-
-      reference operator*() const { return current; }
-      pointer operator->() const { return ¤t; }
-    
-      scalable_rmat_iterator& operator++()
-      {
-          if (!values.empty()) {
-              current = values.back();
-              values.pop_back();
-          } else 
-              done = true;
-
-          return *this;
-      }
-
-      scalable_rmat_iterator operator++(int)
-      {
-          scalable_rmat_iterator temp(*this);
-          ++(*this);
-          return temp;
-      }
-
-      bool operator==(const scalable_rmat_iterator& other) const
-      {
-          return values.empty() && other.values.empty() && done && other.done;
-      }
-
-      bool operator!=(const scalable_rmat_iterator& other) const
-      { return !(*this == other); }
-
-  private:
-
-      // Parameters
-      shared_ptr<uniform_01<RandomGenerator> > gen;
-
-      // Internal data structures
-      std::vector<value_type> values;
-      value_type              current;
-      bool                    done;
-  };
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_DISTRIBUTED_RMAT_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/selector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/selector.hpp
deleted file mode 100644
index 937bdf8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/selector.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
-#define BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/detail/is_distributed_selector.hpp>
-
-namespace boost { 
-
-  /* The default local selector for a distributedS selector. */
-  struct defaultS {};
-
-  /**
-   * Selector that specifies that the graph should be distributed
-   * among different processes organized based on the given process
-   * group.
-   */
-  template<typename ProcessGroup, typename LocalS = defaultS,
-           typename DistributionS = defaultS>
-  struct distributedS 
-  {
-    typedef ProcessGroup process_group_type;
-    typedef LocalS local_selector;
-    typedef DistributionS distribution;
-  };
-
-  namespace detail {
-    template<typename ProcessGroup, typename LocalS, typename DistributionS>
-    struct is_distributed_selector<distributedS<ProcessGroup, LocalS, DistributionS> >: mpl::true_ {};
-  }
-
-}
-
-#endif // BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/shuffled_distribution.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/shuffled_distribution.hpp
deleted file mode 100644
index 6d39fb6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/shuffled_distribution.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_SHUFFLED_DISTRIBUTION_070923_HPP
-#define BOOST_SHUFFLED_DISTRIBUTION_070923_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-# include <boost/assert.hpp>
-# include <boost/iterator/counting_iterator.hpp>
-# include <vector>
-
-namespace boost { namespace graph { namespace distributed {
-
-template <class BaseDistribution>
-struct shuffled_distribution : BaseDistribution
-{
-    typedef std::size_t size_type;
-
-    template <class ProcessGroup>
-    shuffled_distribution(ProcessGroup const& pg, BaseDistribution const& base)
-      : BaseDistribution(base)
-      , n(num_processes(pg))
-      , mapping_(make_counting_iterator(size_type(0)), make_counting_iterator(n))
-      , reverse_mapping(mapping_)
-    {}
-
-    std::vector<size_type> const& mapping() const
-    {
-        return mapping_;
-    }
-
-    template <class InputIterator>
-    void assign_mapping(InputIterator first, InputIterator last)
-    {
-        mapping_.assign(first, last);
-        BOOST_ASSERT(mapping_.size() == n);
-        reverse_mapping.resize(mapping_.size());
-
-        for (std::vector<size_t>::iterator i(mapping_.begin());
-            i != mapping_.end(); ++i)
-        {
-            reverse_mapping[*i] = i - mapping_.begin();
-        }
-    }
-
-    BaseDistribution& base()
-    {
-        return *this;
-    }
-
-    BaseDistribution const& base() const
-    {
-        return *this;
-    }
-
-    template <class ProcessID>
-    size_type block_size(ProcessID id, size_type n) const
-    {
-        return base().block_size(reverse_mapping[id], n);
-    }
-
-    template <class T>
-    size_type operator()(T const& value) const
-    {
-        return mapping_[base()(value)];
-    }
-
-    template <class ProcessID>
-    size_type start(ProcessID id) const
-    {
-        return base().start(reverse_mapping[id]);
-    }
-
-    size_type local(size_type i) const
-    {
-        return base().local(i);
-    }
-
-    size_type global(size_type i) const
-    {
-        return base().global(i);
-    }
-
-    template <class ProcessID>
-    size_type global(ProcessID id, size_type n) const
-    {
-        return base().global(reverse_mapping[id], n);
-    }
-
-    template <class Archive>
-    void serialize(Archive& ar, unsigned long /*version*/)
-    {
-        ar & serialization::make_nvp("base", base());
-    }
-
-    void clear() 
-    {
-        base().clear();
-    }
-
-private:
-    size_type n;
-    std::vector<size_type> mapping_;
-    std::vector<size_type> reverse_mapping;
-};
-
-}}} // namespace boost::graph::distributed
-
-#endif // BOOST_SHUFFLED_DISTRIBUTION_070923_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/st_connected.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/st_connected.hpp
deleted file mode 100644
index b007442..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/st_connected.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_ST_CONNECTED_HPP
-#define BOOST_GRAPH_DISTRIBUTED_ST_CONNECTED_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/two_bit_color_map.hpp>
-#include <boost/graph/distributed/queue.hpp>
-#include <boost/pending/queue.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <utility>
-#include <boost/optional.hpp>
-
-namespace boost { namespace graph { namespace distributed {
-
-namespace detail {
-  struct pair_and_or 
-  {
-    std::pair<bool, bool> 
-    operator()(std::pair<bool, bool> x, std::pair<bool, bool> y) const
-    {
-      return std::pair<bool, bool>(x.first && y.first,
-                                   x.second || y.second);
-    }
-  };
-
-} // end namespace detail
-
-template<typename DistributedGraph, typename ColorMap, typename OwnerMap>
-bool 
-st_connected(const DistributedGraph& g, 
-             typename graph_traits<DistributedGraph>::vertex_descriptor s,
-             typename graph_traits<DistributedGraph>::vertex_descriptor t,
-             ColorMap color, OwnerMap owner)
-{
-  using boost::graph::parallel::process_group;
-  using boost::graph::parallel::process_group_type;
-  using boost::parallel::all_reduce;
-
-  typedef typename property_traits<ColorMap>::value_type Color;
-  typedef color_traits<Color> ColorTraits;
-  typedef typename process_group_type<DistributedGraph>::type ProcessGroup;
-  typedef typename ProcessGroup::process_id_type ProcessID;
-  typedef typename graph_traits<DistributedGraph>::vertex_descriptor Vertex;
-
-  // Set all vertices to white (unvisited)
-  BGL_FORALL_VERTICES_T(v, g, DistributedGraph)
-    put(color, v, ColorTraits::white());
-
-  // "color" plays the role of a color map, with no synchronization.
-  set_property_map_role(vertex_color, color);
-  color.set_consistency_model(0);
-
-  // Vertices found from the source are grey
-  put(color, s, ColorTraits::gray());
-
-  // Vertices found from the target are green
-  put(color, t, ColorTraits::green());
-
-  ProcessGroup pg = process_group(g);
-  ProcessID rank = process_id(pg);
-
-  // Build a local queue
-  queue<Vertex> Q;
-  if (get(owner, s) == rank) Q.push(s);
-  if (get(owner, t) == rank) Q.push(t);
-
-  queue<Vertex> other_Q;
-
-  while (true) {
-    bool found = false;
-
-    // Process all vertices in the local queue
-    while (!found && !Q.empty()) {
-      Vertex u = Q.top(); Q.pop();
-      Color u_color = get(color, u);
-
-      BGL_FORALL_OUTEDGES_T(u, e, g, DistributedGraph) {
-        Vertex v = target(e, g);
-        Color v_color = get(color, v);
-        if (v_color == ColorTraits::white()) {
-          // We have not seen "v" before; mark it with the same color as u
-          Color u_color = get(color, u);
-          put(color, v, u_color);
-
-          // Either push v into the local queue or send it off to its
-          // owner.
-          ProcessID v_owner = get(owner, v);
-          if (v_owner == rank) 
-            other_Q.push(v);
-          else
-            send(pg, v_owner, 0, 
-                 std::make_pair(v, u_color == ColorTraits::gray()));
-        } else if (v_color != ColorTraits::black() && u_color != v_color) {
-          // Colors have collided. We're done!
-          found = true;
-          break;
-        }
-      }
-
-      // u is done, so mark it black
-      put(color, u, ColorTraits::black());
-    }
-
-    // Ensure that all transmitted messages have been received.
-    synchronize(pg);
-
-    // Move all of the send-to-self values into the local Q.
-    other_Q.swap(Q);
-
-    if (!found) {
-      // Receive all messages
-      while (optional<std::pair<ProcessID, int> > msg = probe(pg)) {
-        std::pair<Vertex, bool> data;
-        receive(pg, msg->first, msg->second, data);
-        
-        // Determine the colors of u and v, the source and target
-        // vertices (v is local).
-        Vertex v = data.first;
-        Color v_color = get(color, v);
-        Color u_color = data.second? ColorTraits::gray() : ColorTraits::green();
-        if (v_color == ColorTraits::white()) {
-          // v had no color before, so give it u's color and push it
-          // into the queue.
-          Q.push(v);
-          put(color, v, u_color);
-        } else if (v_color != ColorTraits::black() && u_color != v_color) {
-          // Colors have collided. We're done!
-          found = true;
-          break;
-        }
-      }
-    }
-
-    // Check if either all queues are empty or 
-    std::pair<bool, bool> results = all_reduce(pg, 
-            boost::parallel::detail::make_untracked_pair(Q.empty(), found),
-            detail::pair_and_or());
-
-    // If someone found the answer, we're done!
-    if (results.second)
-      return true;
-
-    // If all queues are empty, we're done.
-    if (results.first)
-      return false;
-  }
-}
-
-template<typename DistributedGraph, typename ColorMap>
-inline bool 
-st_connected(const DistributedGraph& g, 
-             typename graph_traits<DistributedGraph>::vertex_descriptor s,
-             typename graph_traits<DistributedGraph>::vertex_descriptor t,
-             ColorMap color)
-{
-  return st_connected(g, s, t, color, get(vertex_owner, g));
-}
-
-template<typename DistributedGraph>
-inline bool 
-st_connected(const DistributedGraph& g, 
-             typename graph_traits<DistributedGraph>::vertex_descriptor s,
-             typename graph_traits<DistributedGraph>::vertex_descriptor t)
-{
-  return st_connected(g, s, t, 
-                      make_two_bit_color_map(num_vertices(g),
-                                             get(vertex_index, g)));
-}
-
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_GRAPH_DISTRIBUTED_ST_CONNECTED_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/strong_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/strong_components.hpp
deleted file mode 100644
index 5c9307f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/strong_components.hpp
+++ /dev/null
@@ -1,982 +0,0 @@
-// Copyright (C) 2004-2008 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: Nick Edmonds
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_SCC_HPP
-#define BOOST_GRAPH_DISTRIBUTED_SCC_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-// #define PBGL_SCC_DEBUG
-
-#include <boost/assert.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/caching_property_map.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/parallel/process_group.hpp>
-#include <boost/graph/distributed/queue.hpp>
-#include <boost/graph/distributed/filtered_graph.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/distributed/concepts.hpp>
-#include <boost/graph/distributed/local_subgraph.hpp>
-#include <boost/graph/parallel/properties.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/random.hpp>
-#include <boost/graph/distributed/reverse_graph.hpp>
-#include <boost/optional.hpp>
-#include <boost/graph/distributed/detail/filtered_queue.hpp>
-#include <boost/graph/distributed/adjacency_list.hpp>
-#ifdef PBGL_SCC_DEBUG
-  #include <iostream>
-  #include <cstdlib>
-  #include <iomanip>
-  #include <sys/time.h>
-  #include <boost/graph/distributed/graphviz.hpp> // for ostringstream
-#endif
-#include <vector>
-#include <map>
-#include <boost/graph/parallel/container_traits.hpp>
-
-#ifdef PBGL_SCC_DEBUG
-#  include <boost/graph/accounting.hpp>
-#endif /* PBGL_SCC_DEBUG */
-
-// If your graph is likely to have large numbers of small strongly connected
-// components then running the sequential SCC algorithm on the local subgraph
-// and filtering components with no remote edges may increase performance
-// #define FILTER_LOCAL_COMPONENTS
-
-namespace boost { namespace graph { namespace distributed { namespace detail {
-
-template<typename vertex_descriptor>
-struct v_sets{
-  std::vector<vertex_descriptor> pred, succ, intersect, ps_union;
-};
-
-/* Serialize vertex set */
-template<typename Graph>
-void
-marshal_set( std::vector<std::vector<typename graph_traits<Graph>::vertex_descriptor> > in,
-             std::vector<typename graph_traits<Graph>::vertex_descriptor>& out )
-{
-  for( std::size_t i = 0; i < in.size(); ++i ) {
-    out.insert( out.end(), graph_traits<Graph>::null_vertex() );
-    out.insert( out.end(), in[i].begin(), in[i].end() );
-  }
-}
-
-/* Un-serialize vertex set */
-template<typename Graph>
-void
-unmarshal_set( std::vector<typename graph_traits<Graph>::vertex_descriptor> in,
-               std::vector<std::vector<typename graph_traits<Graph>::vertex_descriptor> >& out )
-{
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-  while( !in.empty() ) {
-    typename std::vector<vertex_descriptor>::iterator end 
-      = std::find( in.begin(), in.end(), graph_traits<Graph>::null_vertex() );
-
-    if( end == in.begin() )
-      in.erase( in.begin() );
-    else {
-      out.push_back(std::vector<vertex_descriptor>());
-      out[out.size() - 1].insert( out[out.size() - 1].end(), in.begin(), end );
-      in.erase( in.begin(), end );
-    }
-  }
-}
-
-/* Determine if vertex is in subset */
-template <typename Set>
-struct in_subset {
-  in_subset() : m_s(0) { }
-  in_subset(const Set& s) : m_s(&s) { }
-
-  template <typename Elt>
-  bool operator()(const Elt& x) const {
-    return ((*m_s).find(x) != (*m_s).end());
-  }
-
-private:
-  const Set* m_s;
-};
-
-template<typename T>
-struct vertex_identity_property_map
-  : public boost::put_get_helper<T, vertex_identity_property_map<T> >
-{
-  typedef T key_type;
-  typedef T value_type;
-  typedef T reference;
-  typedef boost::readable_property_map_tag category;
-
-  inline value_type operator[](const key_type& v) const { return v; }
-  inline void clear() { }
-};
-
-template <typename T>
-inline void synchronize( vertex_identity_property_map<T> & ) { }
-
-/* BFS visitor for SCC */
-template<typename Graph, typename SourceMap>
-struct scc_discovery_visitor : bfs_visitor<>
-{
-  scc_discovery_visitor(SourceMap& sourceM)
-    : sourceM(sourceM) {}
-
-  template<typename Edge>
-  void tree_edge(Edge e, const Graph& g)
-  {
-    put(sourceM, target(e,g), get(sourceM, source(e,g)));
-  }
-
- private:
-  SourceMap& sourceM;
-};
-
-} } } } /* End namespace boost::graph::distributed::detail */
-
-namespace boost { namespace graph { namespace distributed {
-    enum fhp_message_tags { fhp_edges_size_msg, fhp_add_edges_msg, fhp_pred_size_msg, 
-                            fhp_pred_msg, fhp_succ_size_msg, fhp_succ_msg };
-
-    template<typename Graph, typename ReverseGraph,
-             typename VertexComponentMap, typename IsoMapFR, typename IsoMapRF,
-             typename VertexIndexMap>
-    void
-    fleischer_hendrickson_pinar_strong_components(const Graph& g,
-                                                  VertexComponentMap c,
-                                                  const ReverseGraph& gr,
-                                                  IsoMapFR fr, IsoMapRF rf,
-                                                  VertexIndexMap vertex_index_map)
-    {
-      typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-      typedef typename graph_traits<ReverseGraph>::vertex_iterator rev_vertex_iterator;
-      typedef typename graph_traits<ReverseGraph>::vertex_descriptor rev_vertex_descriptor;
-      typedef typename boost::graph::parallel::process_group_type<Graph>::type
-        process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-      typedef iterator_property_map<typename std::vector<vertex_descriptor>::iterator,
-                                    VertexIndexMap> ParentMap;
-      typedef iterator_property_map<typename std::vector<default_color_type>::iterator,
-                                    VertexIndexMap> ColorMap;
-      typedef iterator_property_map<typename std::vector<vertex_descriptor>::iterator,
-                                    VertexIndexMap> Rev_ParentMap;
-      typedef std::vector<std::pair<vertex_descriptor, vertex_descriptor> > VertexPairVec;
-
-      typedef typename property_map<Graph, vertex_owner_t>::const_type
-        OwnerMap;
-
-      OwnerMap owner = get(vertex_owner, g);
-
-      using boost::graph::parallel::process_group;
-      process_group_type pg = process_group(g);
-      process_id_type id = process_id(pg);
-      int num_procs = num_processes(pg);
-      int n = 0;
-
-      int my_n = num_vertices(g);
-      all_reduce(pg, &my_n, &my_n+1, &n, std::plus<int>());
-
-      //
-      // Initialization
-      //
-
-#ifdef PBGL_SCC_DEBUG
-  accounting::time_type start = accounting::get_time();
-#endif
-
-      vertex_iterator vstart, vend;
-      rev_vertex_iterator rev_vstart, rev_vend;
-      std::vector<std::vector<vertex_descriptor> > vertex_sets, new_vertex_sets;
-
-      vertex_sets.push_back(std::vector<vertex_descriptor>());
-
-      // Remove vertices that do not have at least one in edge and one out edge
-      new_vertex_sets.push_back(std::vector<vertex_descriptor>());
-      for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ )
-        if( out_degree( get(fr, *vstart), gr) > 0 && out_degree(*vstart, g) > 0 )
-          new_vertex_sets[0].push_back( *vstart );
-
-      // Perform sequential SCC on local subgraph, filter all components with external
-      // edges, mark remaining components and remove them from vertex_sets
-#ifdef FILTER_LOCAL_COMPONENTS  
-      // This doesn't actually speed up SCC in connected graphs it seems, but it does work
-      // and may help in the case where there are lots of small strong components.
-      {
-        local_subgraph<const Graph> ls(g);
-        typedef typename property_map<local_subgraph<const Graph>, vertex_index_t>::type
-          local_index_map_type;
-        local_index_map_type local_index = get(vertex_index, ls);
-
-        std::vector<int> ls_components_vec(num_vertices(ls));
-        typedef iterator_property_map<std::vector<int>::iterator, local_index_map_type>
-          ls_components_map_type;
-        ls_components_map_type ls_component(ls_components_vec.begin(), local_index);
-        int num_comp = boost::strong_components(ls, ls_component);
-
-        // Create map of components
-        std::map<int, std::vector<vertex_descriptor> > local_comp_map;
-        typedef typename graph_traits<local_subgraph<const Graph> >::vertex_iterator ls_vertex_iterator;
-        ls_vertex_iterator vstart, vend;
-        for( boost::tie(vstart,vend) = vertices(ls); vstart != vend; vstart++ )
-          local_comp_map[get(ls_component, *vstart)].push_back( *vstart );
-
-        // Filter components that have no non-local edges
-        typedef typename graph_traits<Graph>::adjacency_iterator adjacency_iterator;
-        typedef typename graph_traits<ReverseGraph>::adjacency_iterator rev_adjacency_iterator;
-        adjacency_iterator abegin, aend;
-        rev_adjacency_iterator rev_abegin, rev_aend;
-        for( std::size_t i = 0; i < num_comp; ++i ) {
-          bool local = true;
-          for( std::size_t j = 0; j < local_comp_map[i].size(); j++ ) {
-            for( boost::tie(abegin,aend) = adjacent_vertices(local_comp_map[i][j], g);
-                 abegin != aend; abegin++ )
-              if( get(owner, *abegin) != id ) {
-                local = false;
-                break;
-              }
-
-            if( local )
-              for( boost::tie(rev_abegin,rev_aend) = adjacent_vertices(get(fr, local_comp_map[i][j]), gr);
-                   rev_abegin != rev_aend; rev_abegin++ )
-                if( get(owner, *rev_abegin) != id ) {
-                  local = false;
-                  break;
-                }
-
-            if( !local ) break;
-          }
-
-          if( local ) // Mark and remove from new_vertex_sets
-            for( std::size_t j = 0; j < local_comp_map[i].size(); j++ ) {
-              put( c, local_comp_map[i][j], local_comp_map[i][0] );
-              typename std::vector<vertex_descriptor>::iterator pos =
-                std::find(new_vertex_sets[0].begin(), new_vertex_sets[0].end(), local_comp_map[i][j]);
-              if( pos != new_vertex_sets[0].end() )
-                new_vertex_sets[0].erase(pos);
-            }
-        }
-      }
-#endif // FILTER_LOCAL_COMPONENTS
-
-      all_gather( pg, new_vertex_sets[0].begin(), new_vertex_sets[0].end(), vertex_sets[0] );
-      new_vertex_sets.clear();
-
-#ifdef PBGL_SCC_DEBUG
-  accounting::time_type end = accounting::get_time();
-  if(id == 0)
-    std::cerr << "Trim local SCCs time = " << accounting::print_time(end - start) << " seconds.\n";
-#endif
-
-      if( vertex_sets[0].empty() ) return;
-
-      //
-      // Recursively determine SCCs
-      //
-
-#ifdef PBGL_SCC_DEBUG
-  int iterations = 0;
-#endif
-
-      // Only need to be able to map starting vertices for BFS from now on
-      fr.clear();
-
-      do {
-
-#ifdef PBGL_SCC_DEBUG
-  if(id == 0) {
-    printf("\n\nIteration %d:\n\n", iterations++);
-
-    if( iterations > 1 ) {
-      end = accounting::get_time();
-      std::cerr << "Running main loop destructors time = " << accounting::print_time(end - start) << " seconds.\n";
-    }
-
-    start = accounting::get_time();
-  }
-#endif
-
-        // Get forward->reverse mappings for BFS start vertices
-       for (std::size_t i = 0; i < vertex_sets.size(); ++i)
-          get(fr, vertex_sets[i][0]);
-        synchronize(fr);
-
-        // Determine local vertices to start BFS from
-        std::vector<vertex_descriptor> local_start;
-        for( std::size_t i = id; i < vertex_sets.size(); i += num_procs )
-          local_start.push_back(vertex_sets[i][0]);
-
-        if( local_start.empty() )
-          local_start.push_back(vertex_sets[0][0]);
-
-
-        // Make filtered graphs
-        typedef std::set<vertex_descriptor> VertexSet;
-        typedef std::set<rev_vertex_descriptor> Rev_VertexSet;
-
-        VertexSet filter_set_g;
-        Rev_VertexSet filter_set_gr;
-        typename VertexSet::iterator fs;
-
-        int active_vertices = 0;
-        for (std::size_t i = 0; i < vertex_sets.size(); i++)
-          active_vertices += vertex_sets[i].size();
-
-        // This is a completely random bound
-        if ( active_vertices < 0.05*n ) {
-          // TODO: This set insertion is ridiculously inefficient, make it an in-place-merge?
-          for (std::size_t i = 0; i < vertex_sets.size(); i++)
-            filter_set_g.insert(vertex_sets[i].begin(), vertex_sets[i].end());
-
-          for (fs = filter_set_g.begin(); fs != filter_set_g.end(); ++fs )
-            filter_set_gr.insert(get(fr, *fs));
-        }
-
-        filtered_graph<const Graph, keep_all, detail::in_subset<VertexSet> >
-          fg(g, keep_all(), detail::in_subset<VertexSet>(filter_set_g));
-
-        filtered_graph<const ReverseGraph, keep_all, detail::in_subset<VertexSet> >
-          fgr(gr, keep_all(), detail::in_subset<VertexSet>(filter_set_gr));
-
-        // Add additional starting vertices to BFS queue
-        typedef filtered_queue<queue<vertex_descriptor>, boost::detail::has_not_been_seen<VertexIndexMap> >
-          local_queue_type;
-        typedef boost::graph::distributed::distributed_queue<process_group_type, OwnerMap, local_queue_type>
-          queue_t;
-
-        typedef typename property_map<ReverseGraph, vertex_owner_t>::const_type
-          RevOwnerMap;
-
-        typedef filtered_queue<queue<rev_vertex_descriptor>, boost::detail::has_not_been_seen<VertexIndexMap> >
-          rev_local_queue_type;
-        typedef boost::graph::distributed::distributed_queue<process_group_type, RevOwnerMap, rev_local_queue_type>
-          rev_queue_t;
-
-        queue_t Q(process_group(g),
-                  owner,
-                  make_filtered_queue(queue<vertex_descriptor>(),
-                                      boost::detail::has_not_been_seen<VertexIndexMap>
-                                      (num_vertices(g), vertex_index_map)),
-                  false);
-
-        rev_queue_t Qr(process_group(gr),
-                       get(vertex_owner, gr),
-                       make_filtered_queue(queue<rev_vertex_descriptor>(),
-                                           boost::detail::has_not_been_seen<VertexIndexMap>
-                                           (num_vertices(gr), vertex_index_map)),
-                       false);
-
-        for( std::size_t i = 1; i < local_start.size(); ++i ) {
-          Q.push(local_start[i]);
-          Qr.push(get(fr, local_start[i]));
-        }
-
-#ifdef PBGL_SCC_DEBUG
-  end = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  Initialize BFS time = " << accounting::print_time(end - start) << " seconds.\n";
-  start = accounting::get_time();
-#endif
-
-#ifdef PBGL_SCC_DEBUG
-  accounting::time_type start2 = accounting::get_time();
-#endif
-
-        // Forward BFS
-        std::vector<default_color_type> color_map_s(num_vertices(g));
-        ColorMap color_map(color_map_s.begin(), vertex_index_map);
-        std::vector<vertex_descriptor> succ_map_s(num_vertices(g), graph_traits<Graph>::null_vertex());
-        ParentMap succ_map(succ_map_s.begin(), vertex_index_map);
-
-        for( std::size_t i = 0; i < vertex_sets.size(); ++i )
-          put(succ_map, vertex_sets[i][0], vertex_sets[i][0]);
-
-#ifdef PBGL_SCC_DEBUG
-  accounting::time_type end2 = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  Initialize forward BFS time = " << accounting::print_time(end2 - start2) << " seconds.\n";
-#endif
-
-        if (active_vertices < 0.05*n)
-          breadth_first_search(fg, local_start[0], Q,
-                               detail::scc_discovery_visitor<filtered_graph<const Graph, keep_all,
-                                                                            detail::in_subset<VertexSet> >, ParentMap>
-                               (succ_map),
-                               color_map);
-        else
-          breadth_first_search(g, local_start[0], Q,
-                               detail::scc_discovery_visitor<const Graph, ParentMap>(succ_map),
-                               color_map);
-
-#ifdef PBGL_SCC_DEBUG
-  start2 = accounting::get_time();
-#endif
-
-        // Reverse BFS
-        color_map.clear(); // reuse color map since g and gr have same vertex index
-        std::vector<vertex_descriptor> pred_map_s(num_vertices(gr), graph_traits<Graph>::null_vertex());
-        Rev_ParentMap pred_map(pred_map_s.begin(), vertex_index_map);
-
-        for( std::size_t i = 0; i < vertex_sets.size(); ++i )
-          put(pred_map, get(fr, vertex_sets[i][0]), vertex_sets[i][0]);
-
-#ifdef PBGL_SCC_DEBUG
-  end2 = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  Initialize reverse BFS time = " << accounting::print_time(end2 - start2) << " seconds.\n";
-#endif
-
-        if (active_vertices < 0.05*n)
-          breadth_first_search(fgr, get(fr, local_start[0]),
-                               Qr,
-                               detail::scc_discovery_visitor<filtered_graph<const ReverseGraph, keep_all,
-                                                                            detail::in_subset<Rev_VertexSet> >, Rev_ParentMap>
-                               (pred_map),
-                               color_map);
-        else
-          breadth_first_search(gr, get(fr, local_start[0]),
-                               Qr,
-                               detail::scc_discovery_visitor<const ReverseGraph, Rev_ParentMap>(pred_map),
-                               color_map);
-
-#ifdef PBGL_SCC_DEBUG
-  end = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  Perform forward and reverse BFS time = " << accounting::print_time(end - start) << " seconds.\n";
-  start = accounting::get_time();
-#endif
-
-        // Send predecessors and successors discovered by this proc to the proc responsible for
-        // this BFS tree
-        typedef struct detail::v_sets<vertex_descriptor> Vsets;
-        std::map<vertex_descriptor, Vsets> set_map;
-
-        std::map<vertex_descriptor, int> dest_map;
-
-        std::vector<VertexPairVec> successors(num_procs);
-        std::vector<VertexPairVec> predecessors(num_procs);
-
-        // Calculate destinations for messages
-        for (std::size_t i = 0; i < vertex_sets.size(); ++i)
-          dest_map[vertex_sets[i][0]] = i % num_procs;
-
-        for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ ) {
-          vertex_descriptor v = get(succ_map, *vstart);
-          if( v != graph_traits<Graph>::null_vertex() ) {
-            if (dest_map[v] == id)
-              set_map[v].succ.push_back(*vstart);
-            else
-              successors[dest_map[v]].push_back( std::make_pair(v, *vstart) );
-          }
-        }
-
-        for( boost::tie(rev_vstart, rev_vend) = vertices(gr); rev_vstart != rev_vend; rev_vstart++ ) {
-          vertex_descriptor v = get(pred_map, *rev_vstart);
-          if( v != graph_traits<Graph>::null_vertex() ) {
-            if (dest_map[v] == id)
-              set_map[v].pred.push_back(get(rf, *rev_vstart));
-            else
-              predecessors[dest_map[v]].push_back( std::make_pair(v, get(rf, *rev_vstart)) );
-          }
-        }
-
-        // Send predecessor and successor messages
-        for (process_id_type i = 0; i < num_procs; ++i) {
-          if (!successors[i].empty()) {
-            send(pg, i, fhp_succ_size_msg, successors[i].size());
-            send(pg, i, fhp_succ_msg, &successors[i][0], successors[i].size());
-          }
-          if (!predecessors[i].empty()) {
-            send(pg, i, fhp_pred_size_msg, predecessors[i].size());
-            send(pg, i, fhp_pred_msg, &predecessors[i][0], predecessors[i].size());
-          }
-        }
-        synchronize(pg);
-
-        // Receive predecessor and successor messages and handle them
-        while (optional<std::pair<process_id_type, int> > m = probe(pg)) {
-          BOOST_ASSERT(m->second == fhp_succ_size_msg || m->second == fhp_pred_size_msg);
-          std::size_t num_requests;
-          receive(pg, m->first, m->second, num_requests);
-          VertexPairVec requests(num_requests);
-          if (m->second == fhp_succ_size_msg) {
-            receive(pg, m->first, fhp_succ_msg, &requests[0],
-                    num_requests);
-
-            std::map<vertex_descriptor, int> added;
-            for (std::size_t i = 0; i < requests.size(); ++i) {
-              set_map[requests[i].first].succ.push_back(requests[i].second);
-              added[requests[i].first]++;
-            }
-
-            // If order of vertex traversal in vertices() is std::less<vertex_descriptor>,
-            // then the successor sets will be in order
-            for (std::size_t i = 0; i < local_start.size(); ++i)
-              if (added[local_start[i]] > 0)
-                  std::inplace_merge(set_map[local_start[i]].succ.begin(),
-                                     set_map[local_start[i]].succ.end() - added[local_start[i]],
-                                     set_map[local_start[i]].succ.end(),
-                                     std::less<vertex_descriptor>());
-
-          } else {
-            receive(pg, m->first, fhp_pred_msg, &requests[0],
-                    num_requests);
-
-            std::map<vertex_descriptor, int> added;
-            for (std::size_t i = 0; i < requests.size(); ++i) {
-              set_map[requests[i].first].pred.push_back(requests[i].second);
-              added[requests[i].first]++;
-            }
-
-            if (boost::is_same<detail::vertex_identity_property_map<vertex_descriptor>, IsoMapRF>::value)
-              for (std::size_t i = 0; i < local_start.size(); ++i)
-                if (added[local_start[i]] > 0)
-                  std::inplace_merge(set_map[local_start[i]].pred.begin(),
-                                     set_map[local_start[i]].pred.end() - added[local_start[i]],
-                                     set_map[local_start[i]].pred.end(),
-                                     std::less<vertex_descriptor>());
-          }
-        }
-
-#ifdef PBGL_SCC_DEBUG
-  end = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  All gather successors and predecessors time = " << accounting::print_time(end - start) << " seconds.\n";
-  start = accounting::get_time();
-#endif
-
-        //
-        // Filter predecessor and successor sets and perform set arithmetic
-        //
-        new_vertex_sets.clear();
-
-        if( std::size_t(id) < vertex_sets.size() ) { //If this proc has one or more unique starting points
-
-          for( std::size_t i = 0; i < local_start.size(); ++i ) {
-
-            vertex_descriptor v = local_start[i];
-
-            // Replace this sort with an in-place merges during receive step if possible
-            if (!boost::is_same<detail::vertex_identity_property_map<vertex_descriptor>, IsoMapRF>::value) 
-              std::sort(set_map[v].pred.begin(), set_map[v].pred.end(), std::less<vertex_descriptor>());
-
-            // Limit predecessor and successor sets to members of the original set
-            std::vector<vertex_descriptor> temp;
-
-            std::set_intersection( vertex_sets[id + i*num_procs].begin(), vertex_sets[id + i*num_procs].end(),
-                                   set_map[v].pred.begin(), set_map[v].pred.end(),
-                                   back_inserter(temp),
-                                   std::less<vertex_descriptor>());
-            set_map[v].pred.clear();
-            std::swap(set_map[v].pred, temp);
-
-            std::set_intersection( vertex_sets[id + i*num_procs].begin(), vertex_sets[id + i*num_procs].end(),
-                                   set_map[v].succ.begin(), set_map[v].succ.end(),
-                                   back_inserter(temp),
-                                   std::less<vertex_descriptor>());
-            set_map[v].succ.clear();
-            std::swap(set_map[v].succ, temp);
-
-            // Intersection(pred, succ)
-            std::set_intersection(set_map[v].pred.begin(), set_map[v].pred.end(),
-                                    set_map[v].succ.begin(), set_map[v].succ.end(),
-                                    back_inserter(set_map[v].intersect),
-                                    std::less<vertex_descriptor>());
-
-            // Union(pred, succ)
-            std::set_union(set_map[v].pred.begin(), set_map[v].pred.end(),
-                           set_map[v].succ.begin(), set_map[v].succ.end(),
-                           back_inserter(set_map[v].ps_union),
-                           std::less<vertex_descriptor>());
-
-            new_vertex_sets.push_back(std::vector<vertex_descriptor>());
-            // Original set - Union(pred, succ)
-            std::set_difference(vertex_sets[id + i*num_procs].begin(), vertex_sets[id + i*num_procs].end(),
-                                set_map[v].ps_union.begin(), set_map[v].ps_union.end(),
-                                back_inserter(new_vertex_sets[new_vertex_sets.size() - 1]),
-                                std::less<vertex_descriptor>());
-
-            set_map[v].ps_union.clear();
-
-            new_vertex_sets.push_back(std::vector<vertex_descriptor>());
-            // Pred - Intersect(pred, succ)
-            std::set_difference(set_map[v].pred.begin(), set_map[v].pred.end(),
-                                set_map[v].intersect.begin(), set_map[v].intersect.end(),
-                                back_inserter(new_vertex_sets[new_vertex_sets.size() - 1]),
-                                std::less<vertex_descriptor>());
-
-            set_map[v].pred.clear();
-
-            new_vertex_sets.push_back(std::vector<vertex_descriptor>());
-            // Succ - Intersect(pred, succ)
-            std::set_difference(set_map[v].succ.begin(), set_map[v].succ.end(),
-                                set_map[v].intersect.begin(), set_map[v].intersect.end(),
-                                back_inserter(new_vertex_sets[new_vertex_sets.size() - 1]),
-                                std::less<vertex_descriptor>());
-
-            set_map[v].succ.clear();
-
-            // Label SCC just identified with the 'first' vertex in that SCC
-            for( std::size_t j = 0; j < set_map[v].intersect.size(); j++ )
-              put(c, set_map[v].intersect[j], set_map[v].intersect[0]);
-
-            set_map[v].intersect.clear();
-          }
-        }
-
-#ifdef PBGL_SCC_DEBUG
-  end = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  Perform set arithemetic time = " << accounting::print_time(end - start) << " seconds.\n";
-  start = accounting::get_time();
-#endif
-
-        // Remove sets of size 1 from new_vertex_sets
-        typename std::vector<std::vector<vertex_descriptor> >::iterator vviter;
-        for( vviter = new_vertex_sets.begin(); vviter != new_vertex_sets.end(); /*in loop*/ )
-          if( (*vviter).size() < 2 )
-            vviter = new_vertex_sets.erase( vviter );
-          else
-            vviter++;
-
-        // All gather new sets and recur (gotta marshal and unmarshal sets first)
-        vertex_sets.clear();
-        std::vector<vertex_descriptor> serial_sets, all_serial_sets;
-        detail::marshal_set<Graph>( new_vertex_sets, serial_sets );
-        all_gather( pg, serial_sets.begin(), serial_sets.end(), all_serial_sets );
-        detail::unmarshal_set<Graph>( all_serial_sets, vertex_sets );
-
-#ifdef PBGL_SCC_DEBUG
-  end = accounting::get_time();
-  if(id == 0) {
-    std::cerr << "  Serialize and gather new vertex sets time = " << accounting::print_time(end - start) << " seconds.\n\n\n";
-
-    printf("Vertex sets: %d\n", (int)vertex_sets.size() );
-    for( std::size_t i = 0; i < vertex_sets.size(); ++i )
-      printf("  %d: %d\n", i, (int)vertex_sets[i].size() );
-  }
-  start = accounting::get_time();
-#endif
-
-        // HACK!?!  --  This would be more properly implemented as a topological sort
-        // Remove vertices without an edge to another vertex in the set and an edge from another
-        // vertex in the set
-       typedef typename graph_traits<Graph>::out_edge_iterator out_edge_iterator;
-       out_edge_iterator estart, eend;
-       typedef typename graph_traits<ReverseGraph>::out_edge_iterator r_out_edge_iterator;
-       r_out_edge_iterator restart, reend;
-       for (std::size_t i = 0; i < vertex_sets.size(); ++i) {
-         std::vector<vertex_descriptor> new_set;
-         for (std::size_t j = 0; j < vertex_sets[i].size(); ++j) {
-           vertex_descriptor v = vertex_sets[i][j];
-           if (get(owner, v) == id) {
-             boost::tie(estart, eend) = out_edges(v, g);
-             while (estart != eend && find(vertex_sets[i].begin(), vertex_sets[i].end(),
-                                           target(*estart,g)) == vertex_sets[i].end()) estart++;
-             if (estart != eend) {
-               boost::tie(restart, reend) = out_edges(get(fr, v), gr);
-               while (restart != reend && find(vertex_sets[i].begin(), vertex_sets[i].end(),
-                                               get(rf, target(*restart,gr))) == vertex_sets[i].end()) restart++;
-               if (restart != reend)
-                 new_set.push_back(v);
-             }
-           }
-         }
-         vertex_sets[i].clear();
-         all_gather(pg, new_set.begin(), new_set.end(), vertex_sets[i]);
-         std::sort(vertex_sets[i].begin(), vertex_sets[i].end(), std::less<vertex_descriptor>());
-       }
-#ifdef PBGL_SCC_DEBUG
-  end = accounting::get_time();
-  if(id == 0)
-    std::cerr << "  Trim vertex sets time = " << accounting::print_time(end - start) << " seconds.\n\n\n";
-  start = accounting::get_time();
-#endif
-
-      } while ( !vertex_sets.empty() );
-
-
-      // Label vertices not in a SCC as their own SCC
-      for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ )
-        if( get(c, *vstart) == graph_traits<Graph>::null_vertex() )
-          put(c, *vstart, *vstart);
-
-      synchronize(c);
-    }
-
-    template<typename Graph, typename ReverseGraph, typename IsoMap>
-    void
-    build_reverse_graph( const Graph& g, ReverseGraph& gr, IsoMap& fr, IsoMap& rf )
-    {
-      typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-      typedef typename graph_traits<Graph>::out_edge_iterator out_edge_iterator;
-      typedef typename boost::graph::parallel::process_group_type<Graph>::type process_group_type;
-      typedef typename process_group_type::process_id_type process_id_type;
-      typedef std::vector<std::pair<vertex_descriptor, vertex_descriptor> > VertexPairVec;
-
-      typename property_map<Graph, vertex_owner_t>::const_type
-        owner = get(vertex_owner, g);
-
-      process_group_type pg = process_group(g);
-      process_id_type id = process_id(pg);
-
-      int n;
-      vertex_iterator vstart, vend;
-      int num_procs = num_processes(pg);
-
-      vertex_descriptor v;
-      out_edge_iterator oestart, oeend;
-      for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ )
-        {
-          v = add_vertex(gr);
-          put(fr, *vstart, v);
-          put(rf, v, *vstart);
-        }
-
-      gr.distribution() = g.distribution();
-
-      int my_n = num_vertices(g);
-      all_reduce(pg, &my_n, &my_n+1, &n, std::plus<int>());
-
-      for (int i = 0; i < n; ++i)
-        get(fr, vertex(i,g));
-      synchronize(fr);
-
-      // Add edges to gr
-      std::vector<std::pair<vertex_descriptor, vertex_descriptor> > new_edges;
-      for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ )
-        for( boost::tie(oestart, oeend) = out_edges(*vstart, g); oestart != oeend; oestart++ )
-          new_edges.push_back( std::make_pair(get(fr, target(*oestart,g)), get(fr, source(*oestart, g))) );
-
-      std::vector<VertexPairVec> edge_requests(num_procs);
-
-      typename std::vector<std::pair<vertex_descriptor, vertex_descriptor> >::iterator iter;
-      for( iter = new_edges.begin(); iter != new_edges.end(); iter++ ) {
-        std::pair<vertex_descriptor, vertex_descriptor> p1 = *iter;
-        if( get(owner,  p1.first ) == id )
-          add_edge( p1.first, p1.second, gr );
-        else
-          edge_requests[get(owner, p1.first)].push_back(p1);
-      }
-      new_edges.clear();
-
-      // Send edge addition requests
-      for (process_id_type p = 0; p < num_procs; ++p) {
-        if (!edge_requests[p].empty()) {
-          VertexPairVec reqs(edge_requests[p].begin(), edge_requests[p].end());
-          send(pg, p, fhp_edges_size_msg, reqs.size());
-          send(pg, p, fhp_add_edges_msg, &reqs[0], reqs.size());
-        }
-      }
-      synchronize(pg);
-
-      // Receive edge addition requests and handle them
-      while (optional<std::pair<process_id_type, int> > m = probe(pg)) {
-        BOOST_ASSERT(m->second == fhp_edges_size_msg);
-        std::size_t num_requests;
-        receive(pg, m->first, m->second, num_requests);
-        VertexPairVec requests(num_requests);
-        receive(pg, m->first, fhp_add_edges_msg, &requests[0],
-                num_requests);
-        for( std::size_t i = 0; i < requests.size(); ++i )
-          add_edge( requests[i].first, requests[i].second, gr );
-      }
-          synchronize(gr);
-    }
-
-    template<typename Graph, typename VertexComponentMap, typename ComponentMap>
-    typename property_traits<ComponentMap>::value_type
-    number_components(const Graph& g, VertexComponentMap r, ComponentMap c)
-    {
-      typedef typename boost::graph::parallel::process_group_type<Graph>::type process_group_type;
-      typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-      typedef typename property_traits<ComponentMap>::value_type ComponentMapType;
-      std::vector<vertex_descriptor> my_roots, all_roots;
-      vertex_iterator vstart, vend;
-
-      for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ )
-        if( find( my_roots.begin(), my_roots.end(), get(r, *vstart) ) == my_roots.end() )
-          my_roots.push_back( get(r, *vstart) );
-
-      all_gather( process_group(g), my_roots.begin(), my_roots.end(), all_roots );
-
-      /* Number components */
-      std::map<vertex_descriptor, ComponentMapType> comp_numbers;
-      ComponentMapType c_num = 0;
-
-      // Compute component numbers
-      for (std::size_t i = 0; i < all_roots.size(); ++i )
-        if ( comp_numbers.count(all_roots[i]) == 0 )
-          comp_numbers[all_roots[i]] = c_num++;
-
-      // Broadcast component numbers
-      for( boost::tie(vstart, vend) = vertices(g); vstart != vend; vstart++ )
-        put( c, *vstart, comp_numbers[get(r,*vstart)] );
-
-      // Broadcast number of components
-      if (process_id(process_group(g)) == 0) {
-        typedef typename process_group_type::process_size_type
-          process_size_type;
-        for (process_size_type dest = 1, n = num_processes(process_group(g));
-              dest != n; ++dest)
-          send(process_group(g), dest, 0, c_num);
-      }
-
-      synchronize(process_group(g));
-
-      if (process_id(process_group(g)) != 0) receive(process_group(g), 0, 0, c_num);
-
-      synchronize(c);
-      return c_num;
-    }
-
-
-    template<typename Graph, typename ComponentMap, typename VertexComponentMap,
-             typename VertexIndexMap>
-    typename property_traits<ComponentMap>::value_type
-    fleischer_hendrickson_pinar_strong_components_impl
-      (const Graph& g,
-       ComponentMap c,
-       VertexComponentMap r,
-       VertexIndexMap vertex_index_map,
-       incidence_graph_tag)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-      typedef iterator_property_map<typename std::vector<vertex_descriptor>::iterator,
-                                    VertexIndexMap> IsoMap;
-      typename boost::graph::parallel::process_group_type<Graph>::type pg = process_group(g);
-
-#ifdef PBGL_SCC_DEBUG
-  accounting::time_type start = accounting::get_time();
-#endif
-
-      typedef adjacency_list<listS,
-                             distributedS<typename boost::graph::parallel::process_group_type<Graph>::type, vecS>,
-                             directedS > ReverseGraph;
-
-      ReverseGraph gr(0, pg);
-      std::vector<vertex_descriptor> fr_s(num_vertices(g));
-      std::vector<vertex_descriptor> rf_s(num_vertices(g));
-      IsoMap fr(fr_s.begin(), vertex_index_map);  // fr = forward->reverse
-      IsoMap rf(rf_s.begin(), vertex_index_map); // rf = reverse->forward
-
-      build_reverse_graph(g, gr, fr, rf);
-
-#ifdef PBGL_SCC_DEBUG
-  accounting::time_type end = accounting::get_time();
-  if(process_id(process_group(g)) == 0)
-    std::cerr << "Reverse graph initialization time = " << accounting::print_time(end - start) << " seconds.\n";
-#endif
-
-  fleischer_hendrickson_pinar_strong_components(g, r, gr, fr, rf, 
-                                                vertex_index_map);
-
-      typename property_traits<ComponentMap>::value_type c_num = number_components(g, r, c);
-
-      return c_num;
-    }
-
-    template<typename Graph, typename ComponentMap, typename VertexComponentMap,
-             typename VertexIndexMap>
-    typename property_traits<ComponentMap>::value_type
-    fleischer_hendrickson_pinar_strong_components_impl
-      (const Graph& g,
-       ComponentMap c,
-       VertexComponentMap r,
-       VertexIndexMap vertex_index_map,
-       bidirectional_graph_tag)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-      reverse_graph<Graph> gr(g);
-      detail::vertex_identity_property_map<vertex_descriptor> fr, rf;
-
-      fleischer_hendrickson_pinar_strong_components(g, r, gr, fr, rf, 
-                                                    vertex_index_map);
-
-      typename property_traits<ComponentMap>::value_type c_num
-        = number_components(g, r, c);
-
-      return c_num;
-    }
-
-    template<typename Graph, typename ComponentMap, typename VertexIndexMap>
-    inline typename property_traits<ComponentMap>::value_type
-    fleischer_hendrickson_pinar_strong_components
-      (const Graph& g,
-       ComponentMap c,
-       VertexIndexMap vertex_index_map)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor
-        vertex_descriptor;
-      typedef iterator_property_map<typename std::vector<vertex_descriptor>::iterator,
-                                    VertexIndexMap> VertexComponentMap;
-      typename boost::graph::parallel::process_group_type<Graph>::type pg 
-        = process_group(g);
-
-      if (num_processes(pg) == 1) {
-        local_subgraph<const Graph> ls(g);
-        return boost::strong_components(ls, c);
-      }
-
-      // Create a VertexComponentMap for intermediate labeling of SCCs
-      std::vector<vertex_descriptor> r_s(num_vertices(g), graph_traits<Graph>::null_vertex());
-      VertexComponentMap r(r_s.begin(), vertex_index_map);
-
-      return fleischer_hendrickson_pinar_strong_components_impl
-               (g, c, r, vertex_index_map,
-                typename graph_traits<Graph>::traversal_category());
-    }
-
-    template<typename Graph, typename ComponentMap>
-    inline typename property_traits<ComponentMap>::value_type
-    fleischer_hendrickson_pinar_strong_components(const Graph& g,
-                                                  ComponentMap c)
-    {
-      return fleischer_hendrickson_pinar_strong_components(g, c, get(vertex_index, g));
-    }
-
-}  // end namespace distributed
-
-using distributed::fleischer_hendrickson_pinar_strong_components;
-
-} // end namespace graph
-
-template<class Graph, class ComponentMap, class P, class T, class R>
-inline typename property_traits<ComponentMap>::value_type
-strong_components
- (const Graph& g, ComponentMap comp,
-  const bgl_named_params<P, T, R>&
-  BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag))
-{
-  return graph::fleischer_hendrickson_pinar_strong_components(g, comp);
-}
-
-template<class Graph, class ComponentMap>
-inline typename property_traits<ComponentMap>::value_type
-strong_components
- (const Graph& g, ComponentMap comp
-  BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, distributed_graph_tag))
-{
-  return graph::fleischer_hendrickson_pinar_strong_components(g, comp);
-}
-
-} /* end namespace boost */
-
-#endif // BOOST_GRAPH_DISTRIBUTED_SCC_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/two_bit_color_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/two_bit_color_map.hpp
deleted file mode 100644
index d7ec6bd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/two_bit_color_map.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Jeremiah Willcock
-//           Andrew Lumsdaine
-
-// Distributed version of the two-bit color map
-#ifndef BOOST_DISTRIBUTED_TWO_BIT_COLOR_MAP_HPP
-#define BOOST_DISTRIBUTED_TWO_BIT_COLOR_MAP_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/two_bit_color_map.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-
-namespace boost {
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-class two_bit_color_map<local_property_map<ProcessGroup,GlobalMap,StorageMap> >
-  : public parallel::distributed_property_map<ProcessGroup, GlobalMap,
-                                              two_bit_color_map<StorageMap> >
-{
-  typedef two_bit_color_map<StorageMap> local_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             local_map >
-    inherited;
-
-  typedef local_property_map<ProcessGroup, GlobalMap, StorageMap>
-    index_map_type;
-
-public:
-  two_bit_color_map(std::size_t inital_size, 
-                    const index_map_type& index = index_map_type())
-    : inherited(index.process_group(),  index.global(),
-                local_map(inital_size, index.base())) { }
-
-  inherited&       base()       { return *this; }
-  const inherited& base() const { return *this; }
-};
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline two_bit_color_type
-get(two_bit_color_map<local_property_map<ProcessGroup,GlobalMap,StorageMap> >
-      const& pm,
-    typename property_traits<GlobalMap>::key_type key)
-{
-  return get(pm.base(), key);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline void
-put(two_bit_color_map<local_property_map<ProcessGroup,GlobalMap,StorageMap> >
-      const& pm, 
-    typename property_traits<GlobalMap>::key_type key,
-    two_bit_color_type value)
-{
-  put(pm.base(), key, value);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-class two_bit_color_map<parallel::distributed_property_map<
-                          ProcessGroup, GlobalMap, StorageMap> > 
-  : public parallel::distributed_property_map<
-             ProcessGroup, GlobalMap, two_bit_color_map<StorageMap> >
-{
-  typedef two_bit_color_map<StorageMap> local_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup,GlobalMap,local_map>
-    inherited;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap,  
-                                             StorageMap>
-    index_map_type;
-
-public:
-  two_bit_color_map(std::size_t inital_size, 
-                    const index_map_type& index = index_map_type())
-    : inherited(index.process_group(),  index.global(),
-                local_map(inital_size, index.base())) { }
-
-  inherited&       base()       { return *this; }
-  const inherited& base() const { return *this; }
-};
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline two_bit_color_type
-get(two_bit_color_map<
-      parallel::distributed_property_map<
-        ProcessGroup, GlobalMap, two_bit_color_map<StorageMap> > > const& pm,
-    typename property_traits<GlobalMap>::key_type key)
-{
-  return get(pm.base(), key);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline void
-put(two_bit_color_map<
-      parallel::distributed_property_map<
-        ProcessGroup, GlobalMap, two_bit_color_map<StorageMap> > > const& pm, 
-    typename property_traits<GlobalMap>::key_type key,
-    two_bit_color_type value)
-{
-  put(pm.base(), key, value);
-}
-
-} // end namespace boost
-
-#endif // BOOST_DISTRIBUTED_TWO_BIT_COLOR_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/unsafe_serialize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/unsafe_serialize.hpp
deleted file mode 100644
index ca6d194..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/unsafe_serialize.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-// File moved
-#include <boost/property_map/parallel/unsafe_serialize.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/vertex_list_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/vertex_list_adaptor.hpp
deleted file mode 100644
index 8928479..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/distributed/vertex_list_adaptor.hpp
+++ /dev/null
@@ -1,403 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-#ifndef BOOST_VERTEX_LIST_ADAPTOR_HPP
-#define BOOST_VERTEX_LIST_ADAPTOR_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <vector>
-#include <boost/shared_ptr.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/parallel/algorithm.hpp>
-#include <boost/graph/parallel/container_traits.hpp>
-#include <boost/property_map/vector_property_map.hpp>
-
-namespace boost { namespace graph {
-
-// --------------------------------------------------------------------------
-// Global index map built from a distribution 
-// --------------------------------------------------------------------------
-template<typename Distribution, typename OwnerPropertyMap, 
-         typename LocalPropertyMap>
-class distribution_global_index_map
-{
- public:
-  typedef std::size_t value_type;
-  typedef value_type reference;
-  typedef typename property_traits<OwnerPropertyMap>::key_type key_type;
-  typedef readable_property_map_tag category;
-
-  distribution_global_index_map(const Distribution& distribution,
-                                const OwnerPropertyMap& owner,
-                                const LocalPropertyMap& local)
-    : distribution_(distribution), owner(owner), local(local) { }
-
-  Distribution distribution_;
-  OwnerPropertyMap owner;
-  LocalPropertyMap local;
-};
-
-template<typename Distribution, typename OwnerPropertyMap, 
-         typename LocalPropertyMap>
-inline 
-typename distribution_global_index_map<Distribution, OwnerPropertyMap,
-                                       LocalPropertyMap>::value_type
-get(const distribution_global_index_map<Distribution, OwnerPropertyMap,
-                                        LocalPropertyMap>& p,
-    typename distribution_global_index_map<Distribution, OwnerPropertyMap,
-                                           LocalPropertyMap>::key_type x)
-{ 
-  using boost::get;
-  return p.distribution_.global(get(p.owner, x), get(p.local, x));
-}
-
-template<typename Graph, typename Distribution>
-inline
-distribution_global_index_map<
-  Distribution, 
-  typename property_map<Graph, vertex_owner_t>::const_type,
-  typename property_map<Graph, vertex_local_t>::const_type>
-make_distribution_global_index_map(const Graph& g, const Distribution& d)
-{
-  typedef distribution_global_index_map<
-            Distribution, 
-            typename property_map<Graph, vertex_owner_t>::const_type,
-            typename property_map<Graph, vertex_local_t>::const_type> 
-    result_type;
-  return result_type(d, get(vertex_owner, g), get(vertex_local, g));
-}
-
-// --------------------------------------------------------------------------
-// Global index map built from a distributed index map and list of vertices
-// --------------------------------------------------------------------------
-template<typename IndexMap>
-class stored_global_index_map : public IndexMap
-{
- public:
-  typedef readable_property_map_tag category;
-
-  stored_global_index_map(const IndexMap& index_map) : IndexMap(index_map) { 
-    // When we have a global index, we need to always have the indices
-    // of every key we've seen
-    this->set_max_ghost_cells(0);
-  }
-};
-
-// --------------------------------------------------------------------------
-// Global index map support code
-// --------------------------------------------------------------------------
-namespace detail {
-  template<typename PropertyMap, typename ForwardIterator>
-  inline void 
-  initialize_global_index_map(const PropertyMap&, 
-                              ForwardIterator, ForwardIterator) 
-  { }
-
-  template<typename IndexMap, typename ForwardIterator>
-  void 
-  initialize_global_index_map(stored_global_index_map<IndexMap>& p,
-                              ForwardIterator first, ForwardIterator last)
-  {
-    using std::distance;
-
-    typedef typename property_traits<IndexMap>::value_type size_t;
-
-    size_t n = distance(first, last);
-    for (size_t i = 0; i < n; ++i, ++first) local_put(p, *first, i);
-  }
-}
-
-// --------------------------------------------------------------------------
-// Adapts a Distributed Vertex List Graph to a Vertex List Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-class vertex_list_adaptor : public graph_traits<Graph>
-{
-  typedef graph_traits<Graph> inherited;
-
-  typedef typename inherited::traversal_category base_traversal_category;
-  
- public:
-  typedef typename inherited::vertex_descriptor vertex_descriptor;
-  typedef typename std::vector<vertex_descriptor>::iterator vertex_iterator;
-  typedef typename std::vector<vertex_descriptor>::size_type
-    vertices_size_type;
-
-  struct traversal_category 
-    : public virtual base_traversal_category,
-      public virtual vertex_list_graph_tag {};
-
-  vertex_list_adaptor(const Graph& g, 
-                      const GlobalIndexMap& index_map = GlobalIndexMap())
-    : g(&g), index_map(index_map)
-  {
-    using boost::vertices;
-
-    all_vertices_.reset(new std::vector<vertex_descriptor>());
-    all_gather(process_group(), vertices(g).first, vertices(g).second,
-               *all_vertices_);
-    detail::initialize_global_index_map(this->index_map, 
-                                        all_vertices_->begin(),
-                                        all_vertices_->end());
-  }
-
-  const Graph& base() const { return *g; }
-
-  // --------------------------------------------------------------------------
-  // Distributed Container
-  // --------------------------------------------------------------------------
-  typedef typename boost::graph::parallel::process_group_type<Graph>::type 
-    process_group_type;
-
-  process_group_type process_group() const 
-  { 
-    using boost::graph::parallel::process_group;
-    return process_group(*g); 
-  }
-
-  std::pair<vertex_iterator, vertex_iterator> vertices() const
-  { return std::make_pair(all_vertices_->begin(), all_vertices_->end()); }
-
-  vertices_size_type num_vertices() const { return all_vertices_->size(); }
-
-  GlobalIndexMap get_index_map() const { return index_map; }
-
- private:
-  const Graph* g;
-  GlobalIndexMap index_map;
-  shared_ptr<std::vector<vertex_descriptor> > all_vertices_;
-};
-
-template<typename Graph, typename GlobalIndexMap>
-inline vertex_list_adaptor<Graph, GlobalIndexMap>
-make_vertex_list_adaptor(const Graph& g, const GlobalIndexMap& index_map)
-{ return vertex_list_adaptor<Graph, GlobalIndexMap>(g, index_map); }
-
-namespace detail {
-  template<typename Graph>
-  class default_global_index_map
-  {
-    typedef typename graph_traits<Graph>::vertices_size_type value_type;
-    typedef typename property_map<Graph, vertex_index_t>::const_type local_map;
-
-  public:
-    typedef vector_property_map<value_type, local_map> distributed_map;
-    typedef stored_global_index_map<distributed_map> type;
-  };
-}
-
-template<typename Graph>
-inline 
-vertex_list_adaptor<Graph, 
-                    typename detail::default_global_index_map<Graph>::type>
-make_vertex_list_adaptor(const Graph& g)
-{ 
-  typedef typename detail::default_global_index_map<Graph>::type 
-    GlobalIndexMap;
-  typedef typename detail::default_global_index_map<Graph>::distributed_map
-    DistributedMap;
-  typedef vertex_list_adaptor<Graph, GlobalIndexMap> result_type;
-  return result_type(g, 
-                     GlobalIndexMap(DistributedMap(num_vertices(g), 
-                                                   get(vertex_index, g))));
-}
-
-// --------------------------------------------------------------------------
-// Incidence Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-inline typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor
-source(typename vertex_list_adaptor<Graph, GlobalIndexMap>::edge_descriptor e,
-       const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return source(e, g.base()); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor
-target(typename vertex_list_adaptor<Graph, GlobalIndexMap>::edge_descriptor e,
-       const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return target(e, g.base()); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline
-std::pair<typename vertex_list_adaptor<Graph, GlobalIndexMap>::out_edge_iterator,
-          typename vertex_list_adaptor<Graph, GlobalIndexMap>::out_edge_iterator>
-out_edges(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-          const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return out_edges(v, g.base()); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline typename vertex_list_adaptor<Graph, GlobalIndexMap>::degree_size_type
-out_degree(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-          const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return out_degree(v, g.base()); }
-
-// --------------------------------------------------------------------------
-// Bidirectional Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-inline
-std::pair<typename vertex_list_adaptor<Graph, GlobalIndexMap>::in_edge_iterator,
-          typename vertex_list_adaptor<Graph, GlobalIndexMap>::in_edge_iterator>
-in_edges(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-         const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return in_edges(v, g.base()); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline typename vertex_list_adaptor<Graph, GlobalIndexMap>::degree_size_type
-in_degree(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-          const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return in_degree(v, g.base()); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline typename vertex_list_adaptor<Graph, GlobalIndexMap>::degree_size_type
-degree(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-       const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return degree(v, g.base()); }
-
-// --------------------------------------------------------------------------
-// Adjacency Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-inline
-std::pair<typename vertex_list_adaptor<Graph, GlobalIndexMap>::adjacency_iterator,
-          typename vertex_list_adaptor<Graph, GlobalIndexMap>::adjacency_iterator>
-adjacent_vertices(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-                  const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return adjacent_vertices(v, g.base()); }
-
-
-// --------------------------------------------------------------------------
-// Vertex List Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-inline
-std::pair<typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_iterator,
-          typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_iterator>
-vertices(const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return g.vertices(); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline
-typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertices_size_type
-num_vertices(const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return g.num_vertices(); }
-
-// --------------------------------------------------------------------------
-// Edge List Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-inline
-std::pair<typename vertex_list_adaptor<Graph, GlobalIndexMap>::edge_iterator,
-          typename vertex_list_adaptor<Graph, GlobalIndexMap>::edge_iterator>
-edges(const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return edges(g.base()); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline
-typename vertex_list_adaptor<Graph, GlobalIndexMap>::edges_size_type
-num_edges(const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return num_edges(g.base()); }
-
-// --------------------------------------------------------------------------
-// Property Graph
-// --------------------------------------------------------------------------
-template<typename PropertyTag, typename Graph, typename GlobalIndexMap>
-inline typename property_map<Graph, PropertyTag>::type
-get(PropertyTag p, vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return get(p, g.base()); }
-
-template<typename PropertyTag, typename Graph, typename GlobalIndexMap>
-inline typename property_map<Graph, PropertyTag>::const_type
-get(PropertyTag p, const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return get(p, g.base()); }
-
-template<typename PropertyTag, typename Graph, typename GlobalIndexMap>
-inline typename property_traits<
-                  typename property_map<Graph, PropertyTag>::type
-                >::value_type
-get(PropertyTag p, const vertex_list_adaptor<Graph, GlobalIndexMap>& g,
-    typename property_traits<
-               typename property_map<Graph, PropertyTag>::type
-             >::key_type const& x)
-{ return get(p, g.base(), x); }
-
-template<typename PropertyTag, typename Graph, typename GlobalIndexMap>
-inline void
-put(PropertyTag p, vertex_list_adaptor<Graph, GlobalIndexMap>& g,
-    typename property_traits<
-               typename property_map<Graph, PropertyTag>::type
-             >::key_type const& x,
-    typename property_traits<
-               typename property_map<Graph, PropertyTag>::type
-             >::value_type const& v)
-{ return put(p, g.base(), x, v); }
-
-// --------------------------------------------------------------------------
-// Property Graph: vertex_index property
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-inline GlobalIndexMap
-get(vertex_index_t, const vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return g.get_index_map(); }
-
-template<typename Graph, typename GlobalIndexMap>
-inline typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertices_size_type
-get(vertex_index_t, const vertex_list_adaptor<Graph, GlobalIndexMap>& g,
-    typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor x)
-{ return get(g.get_index_map(), x); }
-
-// --------------------------------------------------------------------------
-// Adjacency Matrix Graph
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-std::pair<typename vertex_list_adaptor<Graph, GlobalIndexMap>::edge_descriptor,
-          bool>
-edge(typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor u,
-     typename vertex_list_adaptor<Graph, GlobalIndexMap>::vertex_descriptor v,
-     vertex_list_adaptor<Graph, GlobalIndexMap>& g)
-{ return edge(u, v, g.base()); }
-
-} } // end namespace boost::graph
-
-namespace boost {
-
-// --------------------------------------------------------------------------
-// Property Graph: vertex_index property
-// --------------------------------------------------------------------------
-template<typename Graph, typename GlobalIndexMap>
-class property_map<vertex_index_t, 
-                   graph::vertex_list_adaptor<Graph, GlobalIndexMap> >
-{
-public:
-  typedef GlobalIndexMap type;
-  typedef type const_type;
-};
-
-template<typename Graph, typename GlobalIndexMap>
-class property_map<vertex_index_t, 
-                   const graph::vertex_list_adaptor<Graph, GlobalIndexMap> >
-{
-public:
-  typedef GlobalIndexMap type;
-  typedef type const_type;
-};
-
-using graph::distribution_global_index_map;
-using graph::make_distribution_global_index_map;
-using graph::stored_global_index_map;
-using graph::make_vertex_list_adaptor;
-using graph::vertex_list_adaptor;
-
-} // end namespace boost
-
-#endif // BOOST_VERTEX_LIST_ADAPTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dll_import_export.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/dll_import_export.hpp
deleted file mode 100644
index d03fcd3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dll_import_export.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//=======================================================================
-// Copyright 2001 University of Notre Dame.
-// Copyright 2003 Jeremy Siek
-// Authors: Lie-Quan Lee, Jeremy Siek, and 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)
-//=======================================================================
-
-#ifndef BOOST_GRAPH_DLL_IMPORT_EXPORT_HPP
-#define BOOST_GRAPH_DLL_IMPORT_EXPORT_HPP
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_GRAPH_DYN_LINK)
-#  ifdef BOOST_GRAPH_SOURCE
-#    define BOOST_GRAPH_DECL BOOST_SYMBOL_EXPORT
-#  else
-#    define BOOST_GRAPH_DECL BOOST_SYMBOL_IMPORT
-#  endif  // BOOST_GRAPH_SOURCE
-#endif  // DYN_LINK
-
-#ifndef BOOST_GRAPH_DECL
-#  define BOOST_GRAPH_DECL
-#endif
-
-#endif // BOOST_GRAPH_DLL_IMPORT_EXPORT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dominator_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/dominator_tree.hpp
deleted file mode 100644
index 9371eee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/dominator_tree.hpp
+++ /dev/null
@@ -1,492 +0,0 @@
-//=======================================================================
-// Copyright (C) 2005-2009 Jongsoo Park <jongsoo.park -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)
-//=======================================================================
-
-#ifndef BOOST_GRAPH_DOMINATOR_HPP
-#define BOOST_GRAPH_DOMINATOR_HPP
-
-#include <boost/config.hpp>
-#include <deque>
-#include <set>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/concept/assert.hpp>
-
-// Dominator tree computation
-
-namespace boost {
-  namespace detail {
-    /**
-     * An extended time_stamper which also records vertices for each dfs number
-     */
-    template<class TimeMap, class VertexVector, class TimeT, class Tag>
-    class time_stamper_with_vertex_vector
-      : public base_visitor<
-      time_stamper_with_vertex_vector<TimeMap, VertexVector, TimeT, Tag> >
-    {
-    public :
-      typedef Tag event_filter;
-      time_stamper_with_vertex_vector(TimeMap timeMap, VertexVector& v,
-                                      TimeT& t)
-        : timeStamper_(timeMap, t), v_(v) { }
-
-      template<class Graph>
-      void
-      operator()(const typename property_traits<TimeMap>::key_type& v,
-                 const Graph& g)
-      {
-        timeStamper_(v, g);
-        v_[timeStamper_.m_time] = v;
-      }
-
-    private :
-      time_stamper<TimeMap, TimeT, Tag> timeStamper_;
-      VertexVector& v_;
-    };
-
-    /**
-     * A convenient way to create a time_stamper_with_vertex_vector
-     */
-    template<class TimeMap, class VertexVector, class TimeT, class Tag>
-    time_stamper_with_vertex_vector<TimeMap, VertexVector, TimeT, Tag>
-    stamp_times_with_vertex_vector(TimeMap timeMap, VertexVector& v, TimeT& t,
-                                   Tag)
-    {
-      return time_stamper_with_vertex_vector<TimeMap, VertexVector, TimeT,
-                                             Tag>(timeMap, v, t);
-    }
-
-    template<class Graph, class IndexMap, class TimeMap, class PredMap,
-             class DomTreePredMap>
-    class dominator_visitor
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-      typedef typename graph_traits<Graph>::vertices_size_type VerticesSizeType;
-
-    public :
-      /**
-       * @param g [in] the target graph of the dominator tree
-       * @param entry [in] the entry node of g
-       * @param domTreePredMap [out] the immediate dominator map
-       *                             (parent map in dominator tree)
-       */
-      dominator_visitor(const Graph& g, const Vertex& entry,
-                        DomTreePredMap domTreePredMap)
-        : semi_(num_vertices(g)),
-          ancestor_(num_vertices(g), graph_traits<Graph>::null_vertex()),
-          samedom_(ancestor_),
-          best_(semi_),
-          semiMap_(make_iterator_property_map(semi_.begin(),
-                                              get(vertex_index, g))),
-          ancestorMap_(make_iterator_property_map(ancestor_.begin(),
-                                                  get(vertex_index, g))),
-          bestMap_(make_iterator_property_map(best_.begin(),
-                                              get(vertex_index, g))),
-          buckets_(num_vertices(g)),
-          bucketMap_(make_iterator_property_map(buckets_.begin(),
-                                                get(vertex_index, g))),
-          entry_(entry),
-          domTreePredMap_(domTreePredMap),
-          numOfVertices_(num_vertices(g)),
-          samedomMap(make_iterator_property_map(samedom_.begin(),
-                                                get(vertex_index, g)))
-      {
-      }
-
-      void
-      operator()(const Vertex& n, const TimeMap& dfnumMap,
-                 const PredMap& parentMap, const Graph& g)
-      {
-        if (n == entry_) return;
-
-        const Vertex p(get(parentMap, n));
-        Vertex s(p);
-
-        // 1. Calculate the semidominator of n,
-        // based on the semidominator thm.
-        // * Semidominator thm. : To find the semidominator of a node n,
-        //   consider all predecessors v of n in the CFG (Control Flow Graph).
-        //  - If v is a proper ancestor of n in the spanning tree
-        //    (so dfnum(v) < dfnum(n)), then v is a candidate for semi(n)
-        //  - If v is a non-ancestor of n (so dfnum(v) > dfnum(n))
-        //    then for each u that is an ancestor of v (or u = v),
-        //    Let semi(u) be a candidate for semi(n)
-        //   of all these candidates, the one with lowest dfnum is
-        //   the semidominator of n.
-
-        // For each predecessor of n
-        typename graph_traits<Graph>::in_edge_iterator inItr, inEnd;
-        for (boost::tie(inItr, inEnd) = in_edges(n, g); inItr != inEnd; ++inItr)
-          {
-            const Vertex v = source(*inItr, g);
-            // To deal with unreachable nodes
-            if (get(dfnumMap, v) < 0 || get(dfnumMap, v) >= numOfVertices_)
-              continue;
-
-            Vertex s2;
-            if (get(dfnumMap, v) <= get(dfnumMap, n))
-              s2 = v;
-            else
-              s2 = get(semiMap_, ancestor_with_lowest_semi_(v, dfnumMap));
-
-            if (get(dfnumMap, s2) < get(dfnumMap, s))
-              s = s2;
-          }
-        put(semiMap_, n, s);
-
-        // 2. Calculation of n's dominator is deferred until
-        // the path from s to n has been linked into the forest
-        get(bucketMap_, s).push_back(n);
-        get(ancestorMap_, n) = p;
-        get(bestMap_, n) = n;
-
-        // 3. Now that the path from p to v has been linked into
-        // the spanning forest, these lines calculate the dominator of v,
-        // based on the dominator thm., or else defer the calculation
-        // until y's dominator is known
-        // * Dominator thm. : On the spanning-tree path below semi(n) and
-        //   above or including n, let y be the node
-        //   with the smallest-numbered semidominator. Then,
-        //
-        //  idom(n) = semi(n) if semi(y)=semi(n) or
-        //            idom(y) if semi(y) != semi(n)
-        typename std::deque<Vertex>::iterator buckItr;
-        for (buckItr = get(bucketMap_, p).begin();
-             buckItr != get(bucketMap_, p).end();
-             ++buckItr)
-          {
-            const Vertex v(*buckItr);
-            const Vertex y(ancestor_with_lowest_semi_(v, dfnumMap));
-            if (get(semiMap_, y) == get(semiMap_, v))
-              put(domTreePredMap_, v, p);
-            else
-              put(samedomMap, v, y);
-          }
-
-        get(bucketMap_, p).clear();
-      }
-
-    protected :
-
-      /**
-       * Evaluate function in Tarjan's path compression
-       */
-      const Vertex
-      ancestor_with_lowest_semi_(const Vertex& v, const TimeMap& dfnumMap)
-      {
-        const Vertex a(get(ancestorMap_, v));
-
-        if (get(ancestorMap_, a) != graph_traits<Graph>::null_vertex())
-          {
-            const Vertex b(ancestor_with_lowest_semi_(a, dfnumMap));
-
-            put(ancestorMap_, v, get(ancestorMap_, a));
-
-            if (get(dfnumMap, get(semiMap_, b)) <
-                get(dfnumMap, get(semiMap_, get(bestMap_, v))))
-              put(bestMap_, v, b);
-          }
-
-        return get(bestMap_, v);
-      }
-
-      std::vector<Vertex> semi_, ancestor_, samedom_, best_;
-      PredMap semiMap_, ancestorMap_, bestMap_;
-      std::vector< std::deque<Vertex> > buckets_;
-
-      iterator_property_map<typename std::vector<std::deque<Vertex> >::iterator,
-                            IndexMap> bucketMap_;
-
-      const Vertex& entry_;
-      DomTreePredMap domTreePredMap_;
-      const VerticesSizeType numOfVertices_;
-
-    public :
-
-      PredMap samedomMap;
-    };
-
-  } // namespace detail
-
-  /**
-   * @brief Build dominator tree using Lengauer-Tarjan algorithm.
-   *                It takes O((V+E)log(V+E)) time.
-   *
-   * @pre dfnumMap, parentMap and verticesByDFNum have dfs results corresponding
-   *      indexMap.
-   *      If dfs has already run before,
-   *      this function would be good for saving computations.
-   * @pre Unreachable nodes must be masked as
-   *      graph_traits<Graph>::null_vertex in parentMap.
-   * @pre Unreachable nodes must be masked as
-   *      (std::numeric_limits<VerticesSizeType>::max)() in dfnumMap.
-   *
-   * @param domTreePredMap [out] : immediate dominator map (parent map
-   * in dom. tree)
-   *
-   * @note reference Appel. p. 452~453. algorithm 19.9, 19.10.
-   *
-   * @todo : Optimization in Finding Dominators in Practice, Loukas Georgiadis
-   */
-  template<class Graph, class IndexMap, class TimeMap, class PredMap,
-           class VertexVector, class DomTreePredMap>
-  void
-  lengauer_tarjan_dominator_tree_without_dfs
-    (const Graph& g,
-     const typename graph_traits<Graph>::vertex_descriptor& entry,
-     const IndexMap& /*indexMap*/,
-     TimeMap dfnumMap, PredMap parentMap, VertexVector& verticesByDFNum,
-     DomTreePredMap domTreePredMap)
-  {
-    // Typedefs and concept check
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertices_size_type VerticesSizeType;
-
-    BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph> ));
-
-    const VerticesSizeType numOfVertices = num_vertices(g);
-    if (numOfVertices == 0) return;
-
-    // 1. Visit each vertex in reverse post order and calculate sdom.
-    detail::dominator_visitor<Graph, IndexMap, TimeMap, PredMap, DomTreePredMap>
-      visitor(g, entry, domTreePredMap);
-
-    VerticesSizeType i;
-    for (i = 0; i < numOfVertices; ++i)
-      {
-        const Vertex u(verticesByDFNum[numOfVertices - 1 - i]);
-        if (u != graph_traits<Graph>::null_vertex())
-          visitor(u, dfnumMap, parentMap, g);
-      }
-
-    // 2. Now all the deferred dominator calculations,
-    // based on the second clause of the dominator thm., are performed
-    for (i = 0; i < numOfVertices; ++i)
-      {
-        const Vertex n(verticesByDFNum[i]);
-
-        if (n == entry || n == graph_traits<Graph>::null_vertex())
-          continue;
-
-        Vertex u = get(visitor.samedomMap, n);
-        if (u != graph_traits<Graph>::null_vertex())
-          {
-            put(domTreePredMap, n, get(domTreePredMap, u));
-          }
-      }
-  }
-
-  /**
-   * Unlike lengauer_tarjan_dominator_tree_without_dfs,
-   * dfs is run in this function and
-   * the result is written to dfnumMap, parentMap, vertices.
-   *
-   * If the result of dfs required after this algorithm,
-   * this function can eliminate the need of rerunning dfs.
-   */
-  template<class Graph, class IndexMap, class TimeMap, class PredMap,
-           class VertexVector, class DomTreePredMap>
-  void
-  lengauer_tarjan_dominator_tree
-    (const Graph& g,
-     const typename graph_traits<Graph>::vertex_descriptor& entry,
-     const IndexMap& indexMap,
-     TimeMap dfnumMap, PredMap parentMap, VertexVector& verticesByDFNum,
-     DomTreePredMap domTreePredMap)
-  {
-    // Typedefs and concept check
-    typedef typename graph_traits<Graph>::vertices_size_type VerticesSizeType;
-
-    BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph> ));
-
-    // 1. Depth first visit
-    const VerticesSizeType numOfVertices = num_vertices(g);
-    if (numOfVertices == 0) return;
-
-    VerticesSizeType time =
-      (std::numeric_limits<VerticesSizeType>::max)();
-    std::vector<default_color_type>
-      colors(numOfVertices, color_traits<default_color_type>::white());
-    depth_first_visit
-      (g, entry,
-       make_dfs_visitor
-         (make_pair(record_predecessors(parentMap, on_tree_edge()),
-                    detail::stamp_times_with_vertex_vector
-                      (dfnumMap, verticesByDFNum, time, on_discover_vertex()))),
-       make_iterator_property_map(colors.begin(), indexMap));
-
-    // 2. Run main algorithm.
-    lengauer_tarjan_dominator_tree_without_dfs(g, entry, indexMap, dfnumMap,
-                                               parentMap, verticesByDFNum,
-                                               domTreePredMap);
-  }
-
-  /**
-   * Use vertex_index as IndexMap and make dfnumMap, parentMap, verticesByDFNum
-   * internally.
-   * If we don't need the result of dfs (dfnumMap, parentMap, verticesByDFNum),
-   * this function would be more convenient one.
-   */
-  template<class Graph, class DomTreePredMap>
-  void
-  lengauer_tarjan_dominator_tree
-    (const Graph& g,
-     const typename graph_traits<Graph>::vertex_descriptor& entry,
-     DomTreePredMap domTreePredMap)
-  {
-    // typedefs
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertices_size_type VerticesSizeType;
-    typedef typename property_map<Graph, vertex_index_t>::const_type IndexMap;
-    typedef
-      iterator_property_map<typename std::vector<VerticesSizeType>::iterator,
-                            IndexMap> TimeMap;
-    typedef
-      iterator_property_map<typename std::vector<Vertex>::iterator, IndexMap>
-      PredMap;
-
-    // Make property maps
-    const VerticesSizeType numOfVertices = num_vertices(g);
-    if (numOfVertices == 0) return;
-
-    const IndexMap indexMap = get(vertex_index, g);
-
-    std::vector<VerticesSizeType> dfnum(numOfVertices, 0);
-    TimeMap dfnumMap(make_iterator_property_map(dfnum.begin(), indexMap));
-
-    std::vector<Vertex> parent(numOfVertices,
-                               graph_traits<Graph>::null_vertex());
-    PredMap parentMap(make_iterator_property_map(parent.begin(), indexMap));
-
-    std::vector<Vertex> verticesByDFNum(parent);
-
-    // Run main algorithm
-    lengauer_tarjan_dominator_tree(g, entry,
-                                   indexMap, dfnumMap, parentMap,
-                                   verticesByDFNum, domTreePredMap);
-  }
-
-  /**
-   * Muchnick. p. 182, 184
-   *
-   * using iterative bit vector analysis
-   */
-  template<class Graph, class IndexMap, class DomTreePredMap>
-  void
-  iterative_bit_vector_dominator_tree
-    (const Graph& g,
-     const typename graph_traits<Graph>::vertex_descriptor& entry,
-     const IndexMap& indexMap,
-     DomTreePredMap domTreePredMap)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator vertexItr;
-    typedef typename graph_traits<Graph>::vertices_size_type VerticesSizeType;
-    typedef
-      iterator_property_map<typename std::vector< std::set<Vertex> >::iterator,
-                            IndexMap> vertexSetMap;
-
-    BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph> ));
-
-    // 1. Finding dominator
-    // 1.1. Initialize
-    const VerticesSizeType numOfVertices = num_vertices(g);
-    if (numOfVertices == 0) return;
-
-    vertexItr vi, viend;
-    boost::tie(vi, viend) = vertices(g);
-    const std::set<Vertex> N(vi, viend);
-
-    bool change = true;
-
-    std::vector< std::set<Vertex> > dom(numOfVertices, N);
-    vertexSetMap domMap(make_iterator_property_map(dom.begin(), indexMap));
-    get(domMap, entry).clear();
-    get(domMap, entry).insert(entry);
-
-    while (change)
-      {
-        change = false;
-        for (boost::tie(vi, viend) = vertices(g); vi != viend; ++vi)
-          {
-            if (*vi == entry) continue;
-
-            std::set<Vertex> T(N);
-
-            typename graph_traits<Graph>::in_edge_iterator inItr, inEnd;
-            for (boost::tie(inItr, inEnd) = in_edges(*vi, g); inItr != inEnd; ++inItr)
-              {
-                const Vertex p = source(*inItr, g);
-
-                std::set<Vertex> tempSet;
-                std::set_intersection(T.begin(), T.end(),
-                                      get(domMap, p).begin(),
-                                      get(domMap, p).end(),
-                                      std::inserter(tempSet, tempSet.begin()));
-                T.swap(tempSet);
-              }
-
-            T.insert(*vi);
-            if (T != get(domMap, *vi))
-              {
-                change = true;
-                get(domMap, *vi).swap(T);
-              }
-          } // end of for (boost::tie(vi, viend) = vertices(g)
-      } // end of while(change)
-
-    // 2. Build dominator tree
-    for (boost::tie(vi, viend) = vertices(g); vi != viend; ++vi)
-      get(domMap, *vi).erase(*vi);
-
-    Graph domTree(numOfVertices);
-
-    for (boost::tie(vi, viend) = vertices(g); vi != viend; ++vi)
-      {
-        if (*vi == entry) continue;
-
-        // We have to iterate through copied dominator set
-        const std::set<Vertex> tempSet(get(domMap, *vi));
-        typename std::set<Vertex>::const_iterator s;
-        for (s = tempSet.begin(); s != tempSet.end(); ++s)
-          {
-            typename std::set<Vertex>::iterator t;
-            for (t = get(domMap, *vi).begin(); t != get(domMap, *vi).end(); )
-              {
-        typename std::set<Vertex>::iterator old_t = t;
-        ++t; // Done early because t may become invalid
-                if (*old_t == *s) continue;
-                if (get(domMap, *s).find(*old_t) != get(domMap, *s).end())
-                  get(domMap, *vi).erase(old_t);
-              }
-          }
-      }
-
-    for (boost::tie(vi, viend) = vertices(g); vi != viend; ++vi)
-      {
-        if (*vi != entry && get(domMap, *vi).size() == 1)
-          {
-            Vertex temp = *get(domMap, *vi).begin();
-            put(domTreePredMap, *vi, temp);
-          }
-      }
-  }
-
-  template<class Graph, class DomTreePredMap>
-  void
-  iterative_bit_vector_dominator_tree
-    (const Graph& g,
-     const typename graph_traits<Graph>::vertex_descriptor& entry,
-     DomTreePredMap domTreePredMap)
-  {
-    typename property_map<Graph, vertex_index_t>::const_type
-      indexMap = get(vertex_index, g);
-
-    iterative_bit_vector_dominator_tree(g, entry, indexMap, domTreePredMap);
-  }
-} // namespace boost
-
-#endif // BOOST_GRAPH_DOMINATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/eccentricity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/eccentricity.hpp
deleted file mode 100644
index 63797a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/eccentricity.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_ECCENTRICITY_HPP
-#define BOOST_GRAPH_ECCENTRICITY_HPP
-
-#include <boost/next_prior.hpp>
-#include <boost/config.hpp>
-#include <boost/graph/detail/geodesic.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost
-{
-template <typename Graph,
-            typename DistanceMap,
-            typename Combinator>
-inline typename property_traits<DistanceMap>::value_type
-eccentricity(const Graph& g, DistanceMap dist, Combinator combine)
-{
-    BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-
-    return detail::combine_distances(g, dist, combine, Distance(0));
-}
-
-template <typename Graph, typename DistanceMap>
-inline typename property_traits<DistanceMap>::value_type
-eccentricity(const Graph& g, DistanceMap dist)
-{
-    BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMap,Vertex> ));
-    typedef typename property_traits<DistanceMap>::value_type Distance;
-
-    return eccentricity(g, dist, detail::maximize<Distance>());
-}
-
-template <typename Graph, typename DistanceMatrix, typename EccentricityMap>
-inline std::pair<typename property_traits<EccentricityMap>::value_type,
-                    typename property_traits<EccentricityMap>::value_type>
-all_eccentricities(const Graph& g, const DistanceMatrix& dist, EccentricityMap ecc)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMatrix,Vertex> ));
-    typedef typename property_traits<DistanceMatrix>::value_type DistanceMap;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<EccentricityMap,Vertex> ));
-    typedef typename property_traits<EccentricityMap>::value_type Eccentricity;
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-    
-    Eccentricity
-            r = numeric_values<Eccentricity>::infinity(),
-            d = numeric_values<Eccentricity>::zero();
-    VertexIterator i, end;
-    boost::tie(i, end) = vertices(g);
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        DistanceMap dm = get(dist, *i);
-        Eccentricity e = eccentricity(g, dm);
-        put(ecc, *i, e);
-
-        // track the radius and diameter at the same time
-        r = min BOOST_PREVENT_MACRO_SUBSTITUTION (r, e);
-        d = max BOOST_PREVENT_MACRO_SUBSTITUTION (d, e);
-    }
-    return std::make_pair(r, d);
-}
-
-template <typename Graph, typename EccentricityMap>
-inline std::pair<typename property_traits<EccentricityMap>::value_type,
-                    typename property_traits<EccentricityMap>::value_type>
-radius_and_diameter(const Graph& g, EccentricityMap ecc)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<EccentricityMap, Vertex> ));
-    typedef typename property_traits<EccentricityMap>::value_type Eccentricity;
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-
-    VertexIterator i, end;
-    boost::tie(i, end) = vertices(g);
-    Eccentricity radius = get(ecc, *i);
-    Eccentricity diameter = get(ecc, *i);
-    for(i = boost::next(i); i != end; ++i) {
-        Eccentricity cur = get(ecc, *i);
-        radius = min BOOST_PREVENT_MACRO_SUBSTITUTION (radius, cur);
-        diameter = max BOOST_PREVENT_MACRO_SUBSTITUTION (diameter, cur);
-    }
-    return std::make_pair(radius, diameter);
-}
-
-
-template <typename Graph, typename EccentricityMap>
-inline typename property_traits<EccentricityMap>::value_type
-radius(const Graph& g, EccentricityMap ecc)
-{ return radius_and_diameter(g, ecc).first; }
-
-
-template <typename Graph, typename EccentricityMap>
-inline typename property_traits<EccentricityMap>::value_type
-diameter(const Graph& g, EccentricityMap ecc)
-{ return radius_and_diameter(g, ecc).second; }
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_coloring.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_coloring.hpp
deleted file mode 100644
index 8eb79ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_coloring.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-//=======================================================================
-// Copyright 2013 Maciej Piechotka
-// Authors: Maciej Piechotka
-//
-// Distributed under the 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_GRAPH_EDGE_COLORING_HPP
-#define BOOST_GRAPH_EDGE_COLORING_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/properties.hpp>
-#include <algorithm>
-#include <limits>
-#include <vector>
-
-/* This algorithm is to find coloring of an edges
-
-   Reference:
-
-   Misra, J., & Gries, D. (1992). A constructive proof of Vizing's
-   theorem. In Information Processing Letters.
-*/
-
-namespace boost {
-  namespace detail {
-    template<typename Graph, typename ColorMap>
-    bool
-    is_free(const Graph &g,
-            ColorMap color,
-            typename boost::graph_traits<Graph>::vertex_descriptor u,
-            typename boost::property_traits<ColorMap>::value_type free_color)
-    {
-      typedef typename boost::property_traits<ColorMap>::value_type color_t;
-      if (free_color == (std::numeric_limits<color_t>::max)())
-        return false;
-      BGL_FORALL_OUTEDGES_T(u, e, g, Graph) {
-        if (get(color, e) == free_color) {
-          return false;
-        }
-      }
-      return true;
-    }
-
-    template<typename Graph, typename ColorMap>
-    std::vector<typename boost::graph_traits<Graph>::vertex_descriptor>
-    maximal_fan(const Graph &g,
-                ColorMap color,
-                typename boost::graph_traits<Graph>::vertex_descriptor x,
-                typename boost::graph_traits<Graph>::vertex_descriptor y)
-    {
-      typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_t;
-      std::vector<vertex_t> fan;
-      fan.push_back(y);
-      bool extended;
-      do {
-        extended = false;
-        BGL_FORALL_OUTEDGES_T(x, e, g, Graph) {
-          vertex_t v = target(e, g);
-          if (is_free(g, color, fan.back(), get(color, e)) &&
-              std::find(fan.begin(), fan.end(), v) == fan.end()) {
-            fan.push_back(v);
-            extended = true;
-          }
-        }
-      } while(extended);
-      return fan;
-    }
-    template<typename Graph, typename ColorMap>
-    typename boost::property_traits<ColorMap>::value_type
-    find_free_color(const Graph &g,
-                    ColorMap color,
-                    typename boost::graph_traits<Graph>::vertex_descriptor u)
-    {
-      typename boost::property_traits<ColorMap>::value_type c = 0;
-      while (!is_free(g, color, u, c)) c++;
-      return c;
-    }
-
-    template<typename Graph, typename ColorMap>
-    void
-    invert_cd_path(const Graph &g,
-                   ColorMap color,
-                   typename boost::graph_traits<Graph>::vertex_descriptor x,
-                   typename boost::graph_traits<Graph>::edge_descriptor eold,
-                   typename boost::property_traits<ColorMap>::value_type c,
-                   typename boost::property_traits<ColorMap>::value_type d)
-    {
-      put(color, eold, d);
-      BGL_FORALL_OUTEDGES_T(x, e, g, Graph) {
-        if (get(color, e) == d && e != eold) {
-          invert_cd_path(g, color, target(e, g), e, d, c);
-          return;
-        }
-      }
-    }
-
-    template<typename Graph, typename ColorMap>
-    void
-    invert_cd_path(const Graph &g,
-                   ColorMap color,
-                   typename boost::graph_traits<Graph>::vertex_descriptor x,
-                   typename boost::property_traits<ColorMap>::value_type c,
-                   typename boost::property_traits<ColorMap>::value_type d)
-    {
-      BGL_FORALL_OUTEDGES_T(x, e, g, Graph) {
-        if (get(color, e) == d) {
-          invert_cd_path(g, color, target(e, g), e, d, c);
-          return;
-        }
-      }
-    }
-    
-    template<typename Graph, typename ColorMap, typename ForwardIterator>
-    void
-    rotate_fan(const Graph &g,
-               ColorMap color,
-               typename boost::graph_traits<Graph>::vertex_descriptor x,
-               ForwardIterator begin,
-               ForwardIterator end)
-    {
-      typedef typename boost::graph_traits<Graph>::edge_descriptor edge_t;
-      if (begin == end) {
-        return;
-      }
-      edge_t previous = edge(x, *begin, g).first;
-      for (begin++; begin != end; begin++) {
-        edge_t current = edge(x, *begin, g).first;
-        put(color, previous, get(color, current));
-        previous = current;
-      }
-    }
-
-    template<typename Graph, typename ColorMap>
-    class find_free_in_fan
-    {
-    public:
-      find_free_in_fan(const Graph &graph,
-                       const ColorMap color,
-                       typename boost::property_traits<ColorMap>::value_type d)
-        : graph(graph),
-          color(color),
-          d(d) {}
-      bool operator()(const typename boost::graph_traits<Graph>::vertex_descriptor u) const {
-        return is_free(graph, color, u, d);
-      }
-    private:
-      const Graph &graph;
-      const ColorMap color;
-      const typename boost::property_traits<ColorMap>::value_type d;
-    };
-  }
-
-  template<typename Graph, typename ColorMap>
-  typename boost::property_traits<ColorMap>::value_type
-  color_edge(const Graph &g,
-             ColorMap color,
-             typename boost::graph_traits<Graph>::edge_descriptor e)
-  {
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename boost::property_traits<ColorMap>::value_type color_t;
-    typedef typename std::vector<vertex_t>::iterator fan_iterator;
-    using namespace detail;
-    vertex_t x = source(e, g), y = target(e, g);
-    std::vector<vertex_t> fan = maximal_fan(g, color, x, y);
-    color_t c = find_free_color(g, color, x);
-    color_t d = find_free_color(g, color, fan.back());
-    invert_cd_path(g, color, x, c, d);
-    fan_iterator w = std::find_if(fan.begin(),
-                                  fan.end(),
-                                  find_free_in_fan<Graph, ColorMap>(g, color, d));
-    rotate_fan(g, color, x, fan.begin(), w + 1);
-    put(color, edge(x, *w, g).first, d);
-    return (std::max)(c, d);
-  }
-
-  template<typename Graph, typename ColorMap>
-  typename boost::property_traits<ColorMap>::value_type
-  edge_coloring(const Graph &g,
-                ColorMap color)
-  {
-    typedef typename boost::property_traits<ColorMap>::value_type color_t;
-    BGL_FORALL_EDGES_T(e, g, Graph) {
-      put(color, e, (std::numeric_limits<color_t>::max)());
-    }
-    color_t colors = 0;
-    BGL_FORALL_EDGES_T(e, g, Graph) {
-      colors = (std::max)(colors, color_edge(g, color, e) + 1);
-    }
-    return colors;
-  }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_connectivity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_connectivity.hpp
deleted file mode 100644
index e255d84..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_connectivity.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-//=======================================================================
-// Copyright 2000 University of Notre Dame.
-// Authors: Jeremy G. Siek, Andrew Lumsdaine, Lie-Quan Lee
-//
-// Distributed under the 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_EDGE_CONNECTIVITY
-#define BOOST_EDGE_CONNECTIVITY
-
-// WARNING: not-yet fully tested!
-
-#include <boost/config.hpp>
-#include <vector>
-#include <set>
-#include <algorithm>
-#include <boost/graph/edmonds_karp_max_flow.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    template <class Graph>
-    inline
-    std::pair<typename graph_traits<Graph>::vertex_descriptor,
-              typename graph_traits<Graph>::degree_size_type>
-    min_degree_vertex(Graph& g)
-    {
-      typedef graph_traits<Graph> Traits;
-      typename Traits::vertex_descriptor p;
-      typedef typename Traits::degree_size_type size_type;
-      size_type delta = (std::numeric_limits<size_type>::max)();
-
-      typename Traits::vertex_iterator i, iend;
-      for (boost::tie(i, iend) = vertices(g); i != iend; ++i)
-        if (degree(*i, g) < delta) {
-          delta = degree(*i, g);
-          p = *i;
-        }
-      return std::make_pair(p, delta);
-    }
-
-    template <class Graph, class OutputIterator>
-    void neighbors(const Graph& g, 
-                   typename graph_traits<Graph>::vertex_descriptor u,
-                   OutputIterator result)
-    {
-      typename graph_traits<Graph>::adjacency_iterator ai, aend;
-      for (boost::tie(ai, aend) = adjacent_vertices(u, g); ai != aend; ++ai)
-        *result++ = *ai;
-    }
-
-    template <class Graph, class VertexIterator, class OutputIterator>
-    void neighbors(const Graph& g, 
-                   VertexIterator first, VertexIterator last,
-                   OutputIterator result)
-    {
-      for (; first != last; ++first)
-        neighbors(g, *first, result);
-    }
-
-  } // namespace detail
-
-  // O(m n)
-  template <class VertexListGraph, class OutputIterator>
-  typename graph_traits<VertexListGraph>::degree_size_type
-  edge_connectivity(VertexListGraph& g, OutputIterator disconnecting_set)
-  {
-    //-------------------------------------------------------------------------
-    // Type Definitions
-    typedef graph_traits<VertexListGraph> Traits;
-    typedef typename Traits::vertex_iterator vertex_iterator;
-    typedef typename Traits::edge_iterator edge_iterator;
-    typedef typename Traits::out_edge_iterator out_edge_iterator;
-    typedef typename Traits::vertex_descriptor vertex_descriptor;
-    typedef typename Traits::degree_size_type degree_size_type;
-    typedef color_traits<default_color_type> Color;
-
-    typedef adjacency_list_traits<vecS, vecS, directedS> Tr;
-    typedef typename Tr::edge_descriptor Tr_edge_desc;
-    typedef adjacency_list<vecS, vecS, directedS, no_property, 
-      property<edge_capacity_t, degree_size_type,
-        property<edge_residual_capacity_t, degree_size_type,
-          property<edge_reverse_t, Tr_edge_desc> > > > 
-      FlowGraph;
-    typedef typename graph_traits<FlowGraph>::edge_descriptor edge_descriptor;
-
-    //-------------------------------------------------------------------------
-    // Variable Declarations
-    vertex_descriptor u, v, p, k;
-    edge_descriptor e1, e2;
-    bool inserted;
-    vertex_iterator vi, vi_end;
-    edge_iterator ei, ei_end;
-    degree_size_type delta, alpha_star, alpha_S_k;
-    std::set<vertex_descriptor> S, neighbor_S;
-    std::vector<vertex_descriptor> S_star, non_neighbor_S;
-    std::vector<default_color_type> color(num_vertices(g));
-    std::vector<edge_descriptor> pred(num_vertices(g));
-
-    //-------------------------------------------------------------------------
-    // Create a network flow graph out of the undirected graph
-    FlowGraph flow_g(num_vertices(g));
-
-    typename property_map<FlowGraph, edge_capacity_t>::type
-      cap = get(edge_capacity, flow_g);
-    typename property_map<FlowGraph, edge_residual_capacity_t>::type
-      res_cap = get(edge_residual_capacity, flow_g);
-    typename property_map<FlowGraph, edge_reverse_t>::type
-      rev_edge = get(edge_reverse, flow_g);
-
-    for (boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) {
-      u = source(*ei, g), v = target(*ei, g);
-      boost::tie(e1, inserted) = add_edge(u, v, flow_g);
-      cap[e1] = 1;
-      boost::tie(e2, inserted) = add_edge(v, u, flow_g);
-      cap[e2] = 1; // not sure about this
-      rev_edge[e1] = e2;
-      rev_edge[e2] = e1;
-    }
-
-    //-------------------------------------------------------------------------
-    // The Algorithm
-
-    boost::tie(p, delta) = detail::min_degree_vertex(g);
-    S_star.push_back(p);
-    alpha_star = delta;
-    S.insert(p);
-    neighbor_S.insert(p);
-    detail::neighbors(g, S.begin(), S.end(), 
-                      std::inserter(neighbor_S, neighbor_S.begin()));
-
-    boost::tie(vi, vi_end) = vertices(g);
-    std::set_difference(vi, vi_end,
-                        neighbor_S.begin(), neighbor_S.end(),
-                        std::back_inserter(non_neighbor_S));
-
-    while (!non_neighbor_S.empty()) { // at most n - 1 times
-      k = non_neighbor_S.front();
-
-      alpha_S_k = edmonds_karp_max_flow
-        (flow_g, p, k, cap, res_cap, rev_edge, &color[0], &pred[0]);
-
-      if (alpha_S_k < alpha_star) {
-        alpha_star = alpha_S_k;
-        S_star.clear();
-        for (boost::tie(vi, vi_end) = vertices(flow_g); vi != vi_end; ++vi)
-          if (color[*vi] != Color::white())
-            S_star.push_back(*vi);
-      }
-      S.insert(k);
-      neighbor_S.insert(k);
-      detail::neighbors(g, k, std::inserter(neighbor_S, neighbor_S.begin()));
-      non_neighbor_S.clear();
-      boost::tie(vi, vi_end) = vertices(g);
-      std::set_difference(vi, vi_end,
-                          neighbor_S.begin(), neighbor_S.end(),
-                          std::back_inserter(non_neighbor_S));
-    }
-    //-------------------------------------------------------------------------
-    // Compute edges of the cut [S*, ~S*]
-    std::vector<bool> in_S_star(num_vertices(g), false);
-    typename std::vector<vertex_descriptor>::iterator si;
-    for (si = S_star.begin(); si != S_star.end(); ++si)
-      in_S_star[*si] = true;
-
-    degree_size_type c = 0;
-    for (si = S_star.begin(); si != S_star.end(); ++si) {
-      out_edge_iterator ei, ei_end;
-      for (boost::tie(ei, ei_end) = out_edges(*si, g); ei != ei_end; ++ei)
-        if (!in_S_star[target(*ei, g)]) {
-          *disconnecting_set++ = *ei;
-          ++c;
-        }
-    }
-    return c;
-  }
-
-} // namespace boost
-
-#endif // BOOST_EDGE_CONNECTIVITY
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_list.hpp
deleted file mode 100644
index 5f0265e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edge_list.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_EDGE_LIST_HPP
-#define BOOST_GRAPH_EDGE_LIST_HPP
-
-#include <iterator>
-#include <boost/config.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/range/irange.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-
-namespace boost {
-
-  //
-  // The edge_list class is an EdgeListGraph module that is constructed
-  // from a pair of iterators whose value type is a pair of vertex
-  // descriptors.
-  //
-  // For example:
-  //
-  //  typedef std::pair<int,int> E;
-  //  list<E> elist;
-  //  ...
-  //  typedef edge_list<list<E>::iterator> Graph;
-  //  Graph g(elist.begin(), elist.end());
-  //
-  // If the iterators are random access, then Graph::edge_descriptor
-  // is of Integral type, otherwise it is a struct, though it is
-  // convertible to an Integral type.
-  //
-
-  struct edge_list_tag { };
-
-  // The implementation class for edge_list.
-  template <class G, class EdgeIter, class T, class D>
-  class edge_list_impl
-  {
-  public:
-    typedef D edge_id;
-    typedef T Vpair;
-    typedef typename Vpair::first_type V;
-    typedef V vertex_descriptor;
-    typedef edge_list_tag graph_tag;
-    typedef void edge_property_type;
-
-    struct edge_descriptor
-    {
-      edge_descriptor() { }
-      edge_descriptor(EdgeIter p, edge_id id) : _ptr(p), _id(id) { }
-      operator edge_id() { return _id; }
-      EdgeIter _ptr;
-      edge_id _id;
-    };
-    typedef edge_descriptor E;
-
-    struct edge_iterator
-    {
-      typedef edge_iterator self;
-      typedef E value_type;
-      typedef E& reference;
-      typedef E* pointer;
-      typedef std::ptrdiff_t difference_type;
-      typedef std::input_iterator_tag iterator_category;
-      edge_iterator() { }
-      edge_iterator(EdgeIter iter) : _iter(iter), _i(0) { }
-      E operator*() { return E(_iter, _i); }
-      self& operator++() { ++_iter; ++_i; return *this; }
-      self operator++(int) { self t = *this; ++(*this); return t; }
-      bool operator==(const self& x) { return _iter == x._iter; }
-      bool operator!=(const self& x) { return _iter != x._iter; }
-      EdgeIter _iter;
-      edge_id _i;
-    };
-    typedef void out_edge_iterator;
-    typedef void in_edge_iterator;
-    typedef void adjacency_iterator;
-    typedef void vertex_iterator;
-  };
-
-  template <class G, class EI, class T, class D>
-  std::pair<typename edge_list_impl<G,EI,T,D>::edge_iterator,
-            typename edge_list_impl<G,EI,T,D>::edge_iterator>
-  edges(const edge_list_impl<G,EI,T,D>& g_) {
-    const G& g = static_cast<const G&>(g_);
-    typedef typename edge_list_impl<G,EI,T,D>::edge_iterator edge_iterator;
-    return std::make_pair(edge_iterator(g._first), edge_iterator(g._last));
-  }
-  template <class G, class EI, class T, class D>
-  typename edge_list_impl<G,EI,T,D>::vertex_descriptor
-  source(typename edge_list_impl<G,EI,T,D>::edge_descriptor e,
-         const edge_list_impl<G,EI,T,D>&) {
-    return (*e._ptr).first;
-  }
-  template <class G, class EI, class T, class D>
-  typename edge_list_impl<G,EI,T,D>::vertex_descriptor
-  target(typename edge_list_impl<G,EI,T,D>::edge_descriptor e,
-           const edge_list_impl<G,EI,T,D>&) {
-    return (*e._ptr).second;
-  }
-
-  template <class D, class E>
-  class el_edge_property_map
-    : public put_get_helper<D, el_edge_property_map<D,E> >{
-  public:
-    typedef E key_type;
-    typedef D value_type;
-    typedef D reference;
-    typedef readable_property_map_tag category;
-
-    value_type operator[](key_type e) const {
-      return e._i;
-    }
-  };
-  struct edge_list_edge_property_selector {
-    template <class Graph, class Property, class Tag>
-    struct bind_ {
-      typedef el_edge_property_map<typename Graph::edge_id,
-          typename Graph::edge_descriptor> type;
-      typedef type const_type;
-    };
-  };
-  template <>
-  struct edge_property_selector<edge_list_tag> {
-    typedef edge_list_edge_property_selector type;
-  };
-
-  template <class G, class EI, class T, class D>
-  typename property_map< edge_list_impl<G,EI,T,D>, edge_index_t>::type
-  get(edge_index_t, const edge_list_impl<G,EI,T,D>&) {
-    typedef typename property_map< edge_list_impl<G,EI,T,D>,
-      edge_index_t>::type EdgeIndexMap;
-    return EdgeIndexMap();
-  }
-
-  template <class G, class EI, class T, class D>
-  inline D
-  get(edge_index_t, const edge_list_impl<G,EI,T,D>&,
-      typename edge_list_impl<G,EI,T,D>::edge_descriptor e) {
-    return e._i;
-  }
-
-  // A specialized implementation for when the iterators are random access.
-
-  struct edge_list_ra_tag { };
-
-  template <class G, class EdgeIter, class T, class D>
-  class edge_list_impl_ra
-  {
-  public:
-    typedef D edge_id;
-    typedef T Vpair;
-    typedef typename Vpair::first_type V;
-    typedef edge_list_ra_tag graph_tag;
-    typedef void edge_property_type;
-
-    typedef edge_id edge_descriptor;
-    typedef V vertex_descriptor;
-    typedef typename boost::integer_range<edge_id>::iterator edge_iterator;
-    typedef void out_edge_iterator;
-    typedef void in_edge_iterator;
-    typedef void adjacency_iterator;
-    typedef void vertex_iterator;
-  };
-
-  template <class G, class EI, class T, class D>
-  std::pair<typename edge_list_impl_ra<G,EI,T,D>::edge_iterator,
-            typename edge_list_impl_ra<G,EI,T,D>::edge_iterator>
-  edges(const edge_list_impl_ra<G,EI,T,D>& g_)
-  {
-    const G& g = static_cast<const G&>(g_);
-    typedef typename edge_list_impl_ra<G,EI,T,D>::edge_iterator edge_iterator;
-    return std::make_pair(edge_iterator(0), edge_iterator(g._last - g._first));
-  }
-  template <class G, class EI, class T, class D>
-  typename edge_list_impl_ra<G,EI,T,D>::vertex_descriptor
-  source(typename edge_list_impl_ra<G,EI,T,D>::edge_descriptor e,
-         const edge_list_impl_ra<G,EI,T,D>& g_)
-  {
-    const G& g = static_cast<const G&>(g_);
-    return g._first[e].first;
-  }
-  template <class G, class EI, class T, class D>
-  typename edge_list_impl_ra<G,EI,T,D>::vertex_descriptor
-  target(typename edge_list_impl_ra<G,EI,T,D>::edge_descriptor  e,
-         const edge_list_impl_ra<G,EI,T,D>& g_)
-  {
-    const G& g = static_cast<const G&>(g_);
-    return g._first[e].second;
-  }
-  template <class E>
-  class el_ra_edge_property_map
-    : public put_get_helper<E, el_ra_edge_property_map<E> >{
-  public:
-    typedef E key_type;
-    typedef E value_type;
-    typedef E reference;
-    typedef readable_property_map_tag category;
-
-    value_type operator[](key_type e) const {
-      return e;
-    }
-  };
-  struct edge_list_ra_edge_property_selector {
-    template <class Graph, class Property, class Tag>
-    struct bind_ {
-      typedef el_ra_edge_property_map<typename Graph::edge_descriptor> type;
-      typedef type const_type;
-    };
-  };
-  template <>
-  struct edge_property_selector<edge_list_ra_tag> {
-    typedef edge_list_ra_edge_property_selector type;
-  };
-  template <class G, class EI, class T, class D>
-  inline
-  typename property_map< edge_list_impl_ra<G,EI,T,D>, edge_index_t>::type
-  get(edge_index_t, const edge_list_impl_ra<G,EI,T,D>&) {
-    typedef typename property_map< edge_list_impl_ra<G,EI,T,D>,
-      edge_index_t>::type EdgeIndexMap;
-    return EdgeIndexMap();
-  }
-
-  template <class G, class EI, class T, class D>
-  inline D
-  get(edge_index_t, const edge_list_impl_ra<G,EI,T,D>&,
-      typename edge_list_impl_ra<G,EI,T,D>::edge_descriptor e) {
-    return e;
-  }
-
-
-  // Some helper classes for determining if the iterators are random access
-  template <class Cat>
-  struct is_random {
-    enum { RET = false };
-    typedef mpl::false_ type;
-  };
-  template <>
-  struct is_random<std::random_access_iterator_tag> {
-    enum { RET = true }; typedef mpl::true_ type;
-  };
-
-  // The edge_list class conditionally inherits from one of the
-  // above two classes.
-
-  template <class EdgeIter,
-#if !defined BOOST_NO_STD_ITERATOR_TRAITS
-            class T = typename std::iterator_traits<EdgeIter>::value_type,
-            class D = typename std::iterator_traits<EdgeIter>::difference_type,
-            class Cat = typename std::iterator_traits<EdgeIter>::iterator_category>
-#else
-            class T,
-            class D,
-            class Cat>
-#endif
-  class edge_list
-    : public mpl::if_< typename is_random<Cat>::type,
-                    edge_list_impl_ra< edge_list<EdgeIter,T,D,Cat>, EdgeIter,T,D>,
-                    edge_list_impl< edge_list<EdgeIter,T,D,Cat>, EdgeIter,T,D>
-             >::type
-  {
-  public:
-    typedef directed_tag directed_category;
-    typedef allow_parallel_edge_tag edge_parallel_category;
-    typedef edge_list_graph_tag traversal_category;
-    typedef std::size_t edges_size_type;
-    typedef std::size_t vertices_size_type;
-    typedef std::size_t degree_size_type;
-    edge_list(EdgeIter first, EdgeIter last) : _first(first), _last(last) {
-      m_num_edges = std::distance(first, last);
-    }
-    edge_list(EdgeIter first, EdgeIter last, edges_size_type E)
-      : _first(first), _last(last), m_num_edges(E) { }
-
-    EdgeIter _first, _last;
-    edges_size_type m_num_edges;
-  };
-
-  template <class EdgeIter, class T, class D, class Cat>
-  std::size_t num_edges(const edge_list<EdgeIter, T, D, Cat>& el) {
-    return el.m_num_edges;
-  }
-
-#ifndef BOOST_NO_STD_ITERATOR_TRAITS
-  template <class EdgeIter>
-  inline edge_list<EdgeIter>
-  make_edge_list(EdgeIter first, EdgeIter last)
-  {
-    return edge_list<EdgeIter>(first, last);
-  }
-#endif
-
-} /* namespace boost */
-
-#endif /* BOOST_GRAPH_EDGE_LIST_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edmonds_karp_max_flow.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/edmonds_karp_max_flow.hpp
deleted file mode 100644
index 377e6f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edmonds_karp_max_flow.hpp
+++ /dev/null
@@ -1,249 +0,0 @@
-//=======================================================================
-// Copyright 2000 University of Notre Dame.
-// Authors: Jeremy G. Siek, Andrew Lumsdaine, Lie-Quan Lee
-//
-// Distributed under the 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 EDMONDS_KARP_MAX_FLOW_HPP
-#define EDMONDS_KARP_MAX_FLOW_HPP
-
-#include <boost/config.hpp>
-#include <vector>
-#include <algorithm> // for std::min and std::max
-#include <boost/config.hpp>
-#include <boost/pending/queue.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/filtered_graph.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-
-namespace boost {
-
-  // The "labeling" algorithm from "Network Flows" by Ahuja, Magnanti,
-  // Orlin.  I think this is the same as or very similar to the original
-  // Edmonds-Karp algorithm.  This solves the maximum flow problem.
-
-  namespace detail {
-
-    template <class Graph, class ResCapMap>
-    filtered_graph<Graph, is_residual_edge<ResCapMap> >
-    residual_graph(Graph& g, ResCapMap residual_capacity) {
-      return filtered_graph<Graph, is_residual_edge<ResCapMap> >
-        (g, is_residual_edge<ResCapMap>(residual_capacity));
-    }
-
-    template <class Graph, class PredEdgeMap, class ResCapMap,
-              class RevEdgeMap>
-    inline void
-    augment(Graph& g, 
-            typename graph_traits<Graph>::vertex_descriptor src,
-            typename graph_traits<Graph>::vertex_descriptor sink,
-            PredEdgeMap p, 
-            ResCapMap residual_capacity,
-            RevEdgeMap reverse_edge)
-    {
-      typename graph_traits<Graph>::edge_descriptor e;
-      typename graph_traits<Graph>::vertex_descriptor u;
-      typedef typename property_traits<ResCapMap>::value_type FlowValue;
-
-      // find minimum residual capacity along the augmenting path
-      FlowValue delta = (std::numeric_limits<FlowValue>::max)();
-      e = get(p, sink);
-      do {
-        BOOST_USING_STD_MIN();
-        delta = min BOOST_PREVENT_MACRO_SUBSTITUTION(delta, get(residual_capacity, e));
-        u = source(e, g);
-        e = get(p, u);
-      } while (u != src);
-
-      // push delta units of flow along the augmenting path
-      e = get(p, sink);
-      do {
-        put(residual_capacity, e, get(residual_capacity, e) - delta);
-        put(residual_capacity, get(reverse_edge, e), get(residual_capacity, get(reverse_edge, e)) + delta);
-        u = source(e, g);
-        e = get(p, u);
-      } while (u != src);
-    }
-
-  } // namespace detail
-
-  template <class Graph, 
-            class CapacityEdgeMap, class ResidualCapacityEdgeMap,
-            class ReverseEdgeMap, class ColorMap, class PredEdgeMap>
-  typename property_traits<CapacityEdgeMap>::value_type
-  edmonds_karp_max_flow
-    (Graph& g, 
-     typename graph_traits<Graph>::vertex_descriptor src,
-     typename graph_traits<Graph>::vertex_descriptor sink,
-     CapacityEdgeMap cap, 
-     ResidualCapacityEdgeMap res,
-     ReverseEdgeMap rev, 
-     ColorMap color, 
-     PredEdgeMap pred)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    
-    typename graph_traits<Graph>::vertex_iterator u_iter, u_end;
-    typename graph_traits<Graph>::out_edge_iterator ei, e_end;
-    for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter)
-      for (boost::tie(ei, e_end) = out_edges(*u_iter, g); ei != e_end; ++ei)
-        put(res, *ei, get(cap, *ei));
-    
-    put(color, sink, Color::gray());
-    while (get(color, sink) != Color::white()) {
-      boost::queue<vertex_t> Q;
-      breadth_first_search
-        (detail::residual_graph(g, res), src, Q,
-         make_bfs_visitor(record_edge_predecessors(pred, on_tree_edge())),
-         color);
-      if (get(color, sink) != Color::white())
-        detail::augment(g, src, sink, pred, res, rev);
-    } // while
-    
-    typename property_traits<CapacityEdgeMap>::value_type flow = 0;
-    for (boost::tie(ei, e_end) = out_edges(src, g); ei != e_end; ++ei)
-      flow += (get(cap, *ei) - get(res, *ei));
-    return flow;
-  } // edmonds_karp_max_flow()
-  
-  namespace detail {
-    //-------------------------------------------------------------------------
-    // Handle default for color property map
-
-    // use of class here is a VC++ workaround
-    template <class ColorMap>
-    struct edmonds_karp_dispatch2 {
-      template <class Graph, class PredMap, class P, class T, class R>
-      static typename edge_capacity_value<Graph, P, T, R>::type
-      apply
-      (Graph& g,
-       typename graph_traits<Graph>::vertex_descriptor src,
-       typename graph_traits<Graph>::vertex_descriptor sink,
-       PredMap pred,
-       const bgl_named_params<P, T, R>& params,
-       ColorMap color)
-      {
-        return edmonds_karp_max_flow
-          (g, src, sink, 
-           choose_const_pmap(get_param(params, edge_capacity), g, edge_capacity),
-           choose_pmap(get_param(params, edge_residual_capacity), 
-                       g, edge_residual_capacity),
-           choose_const_pmap(get_param(params, edge_reverse), g, edge_reverse),
-           color, pred);
-      }
-    };
-    template<>
-    struct edmonds_karp_dispatch2<param_not_found> {
-      template <class Graph, class PredMap, class P, class T, class R>
-      static typename edge_capacity_value<Graph, P, T, R>::type
-      apply
-      (Graph& g,
-       typename graph_traits<Graph>::vertex_descriptor src,
-       typename graph_traits<Graph>::vertex_descriptor sink,
-       PredMap pred,
-       const bgl_named_params<P, T, R>& params,
-       param_not_found)
-      {
-        typedef typename graph_traits<Graph>::vertices_size_type size_type;
-        size_type n = is_default_param(get_param(params, vertex_color)) ?
-          num_vertices(g) : 1;
-        std::vector<default_color_type> color_vec(n);
-        return edmonds_karp_max_flow
-          (g, src, sink, 
-           choose_const_pmap(get_param(params, edge_capacity), g, edge_capacity),
-           choose_pmap(get_param(params, edge_residual_capacity), 
-                       g, edge_residual_capacity),
-           choose_const_pmap(get_param(params, edge_reverse), g, edge_reverse),
-           make_iterator_property_map(color_vec.begin(), choose_const_pmap
-                                      (get_param(params, vertex_index),
-                                       g, vertex_index), color_vec[0]),
-           pred);
-      }
-    };
-
-    //-------------------------------------------------------------------------
-    // Handle default for predecessor property map
-
-    // use of class here is a VC++ workaround
-    template <class PredMap>
-    struct edmonds_karp_dispatch1 {
-      template <class Graph, class P, class T, class R>
-      static typename edge_capacity_value<Graph, P, T, R>::type
-      apply(Graph& g,
-            typename graph_traits<Graph>::vertex_descriptor src,
-            typename graph_traits<Graph>::vertex_descriptor sink,
-            const bgl_named_params<P, T, R>& params,
-            PredMap pred)
-      {
-        typedef typename get_param_type< vertex_color_t, bgl_named_params<P,T,R> >::type C;
-        return edmonds_karp_dispatch2<C>::apply
-          (g, src, sink, pred, params, get_param(params, vertex_color));
-      }
-    };
-    template<>
-    struct edmonds_karp_dispatch1<param_not_found> {
-
-      template <class Graph, class P, class T, class R>
-      static typename edge_capacity_value<Graph, P, T, R>::type
-      apply
-      (Graph& g,
-       typename graph_traits<Graph>::vertex_descriptor src,
-       typename graph_traits<Graph>::vertex_descriptor sink,
-       const bgl_named_params<P, T, R>& params,
-       param_not_found)
-      {
-        typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-        typedef typename graph_traits<Graph>::vertices_size_type size_type;
-        size_type n = is_default_param(get_param(params, vertex_predecessor)) ?
-          num_vertices(g) : 1;
-        std::vector<edge_descriptor> pred_vec(n);
-        
-        typedef typename get_param_type< vertex_color_t, bgl_named_params<P,T,R> >::type C;
-        return edmonds_karp_dispatch2<C>::apply
-          (g, src, sink, 
-           make_iterator_property_map(pred_vec.begin(), choose_const_pmap
-                                      (get_param(params, vertex_index),
-                                       g, vertex_index), pred_vec[0]),
-           params, 
-           get_param(params, vertex_color));
-      }
-    };
-    
-  } // namespace detail
-
-  template <class Graph, class P, class T, class R>
-  typename detail::edge_capacity_value<Graph, P, T, R>::type
-  edmonds_karp_max_flow
-    (Graph& g,
-     typename graph_traits<Graph>::vertex_descriptor src,
-     typename graph_traits<Graph>::vertex_descriptor sink,
-     const bgl_named_params<P, T, R>& params)
-  {
-    typedef typename get_param_type< vertex_predecessor_t, bgl_named_params<P,T,R> >::type Pred;
-    return detail::edmonds_karp_dispatch1<Pred>::apply
-      (g, src, sink, params, get_param(params, vertex_predecessor));
-  }
-
-  template <class Graph>
-  typename property_traits<
-    typename property_map<Graph, edge_capacity_t>::const_type
-  >::value_type
-  edmonds_karp_max_flow
-    (Graph& g,
-     typename graph_traits<Graph>::vertex_descriptor src,
-     typename graph_traits<Graph>::vertex_descriptor sink)
-  {
-    bgl_named_params<int, buffer_param_t> params(0);
-    return edmonds_karp_max_flow(g, src, sink, params);
-  }
-
-} // namespace boost
-
-#endif // EDMONDS_KARP_MAX_FLOW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edmunds_karp_max_flow.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/edmunds_karp_max_flow.hpp
deleted file mode 100644
index 3697db2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/edmunds_karp_max_flow.hpp
+++ /dev/null
@@ -1,19 +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)
-//=======================================================================
-
-#ifndef BOOST_DEPRECATED_INCLUDE_EDMONDS_KARP_MAX_FLOW_HPP
-#define BOOST_DEPRECATED_INCLUDE_EDMONDS_KARP_MAX_FLOW_HPP
-
-#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-#  pragma message ("Warning: This header is deprecated. Please use: boost/graph/edmonds_karp_max_flow.hpp")
-#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
-#  warning "This header is deprecated. Please use: boost/graph/edmonds_karp_max_flow.hpp"
-#endif
-
-#include <boost/graph/edmonds_karp_max_flow.hpp>
-
-#endif // BOOST_DEPRECATED_INCLUDE_EDMONDS_KARP_MAX_FLOW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/erdos_renyi_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/erdos_renyi_generator.hpp
deleted file mode 100644
index 5be06d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/erdos_renyi_generator.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2004, 2005 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_ERDOS_RENYI_GENERATOR_HPP
-#define BOOST_GRAPH_ERDOS_RENYI_GENERATOR_HPP
-
-#include <boost/assert.hpp>
-#include <iterator>
-#include <utility>
-#include <boost/shared_ptr.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/random/geometric_distribution.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-namespace boost {
-
-  template<typename RandomGenerator, typename Graph>
-  class erdos_renyi_iterator
-    : public iterator_facade<
-               erdos_renyi_iterator<RandomGenerator, Graph>,
-               std::pair<typename graph_traits<Graph>::vertices_size_type,
-                         typename graph_traits<Graph>::vertices_size_type>,
-               std::input_iterator_tag,
-               const 
-                 std::pair<typename graph_traits<Graph>::vertices_size_type,
-                           typename graph_traits<Graph>::vertices_size_type>&>
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-    BOOST_STATIC_CONSTANT
-      (bool,
-       is_undirected = (is_base_of<undirected_tag, directed_category>::value));
-
-  public:
-    erdos_renyi_iterator() : gen(), n(0), edges(0), allow_self_loops(false) {}
-    erdos_renyi_iterator(RandomGenerator& gen, vertices_size_type n,
-                         double fraction = 0.0, bool allow_self_loops = false)
-      : gen(&gen), n(n), edges(edges_size_type(fraction * n * n)),
-        allow_self_loops(allow_self_loops)
-    {
-      if (is_undirected) edges = edges / 2;
-      next();
-    }
-
-    erdos_renyi_iterator(RandomGenerator& gen, vertices_size_type n,
-                         edges_size_type m, bool allow_self_loops = false)
-      : gen(&gen), n(n), edges(m),
-        allow_self_loops(allow_self_loops)
-    {
-      next();
-    }
-
-    const std::pair<vertices_size_type, vertices_size_type>&
-    dereference() const { return current; }
-
-    void increment() {
-      --edges;
-      next();
-    }
-
-    bool equal(const erdos_renyi_iterator& other) const
-    { return edges == other.edges; }
-
-  private:
-    void next()
-    {
-      uniform_int<vertices_size_type> rand_vertex(0, n-1);
-      current.first = rand_vertex(*gen);
-      do {
-        current.second = rand_vertex(*gen);
-      } while (current.first == current.second && !allow_self_loops);
-    }
-
-    RandomGenerator* gen;
-    vertices_size_type n;
-    edges_size_type edges;
-    bool allow_self_loops;
-    std::pair<vertices_size_type, vertices_size_type> current;
-  };
-
-  template<typename RandomGenerator, typename Graph>
-  class sorted_erdos_renyi_iterator
-    : public iterator_facade<
-               sorted_erdos_renyi_iterator<RandomGenerator, Graph>,
-               std::pair<typename graph_traits<Graph>::vertices_size_type,
-                         typename graph_traits<Graph>::vertices_size_type>,
-               std::input_iterator_tag,
-               const 
-                 std::pair<typename graph_traits<Graph>::vertices_size_type,
-                           typename graph_traits<Graph>::vertices_size_type>&>
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-    BOOST_STATIC_CONSTANT
-      (bool,
-       is_undirected = (is_base_of<undirected_tag, directed_category>::value));
-
-  public:
-    sorted_erdos_renyi_iterator()
-      : gen(), rand_vertex(0.5), n(0), allow_self_loops(false)
-      , src((std::numeric_limits<vertices_size_type>::max)()),
-        tgt_index(vertices_size_type(-1)), prob(.5)
-    { }
-
-    // NOTE: The default probability has been changed to be the same as that
-    // used by the geometic distribution. It was previously 0.0, which would
-    // cause an assertion.
-    sorted_erdos_renyi_iterator(RandomGenerator& gen, vertices_size_type n,
-                                double prob = 0.5,
-                                bool loops = false)
-      : gen(), rand_vertex(1. - prob), n(n), allow_self_loops(loops), src(0)
-      , tgt_index(vertices_size_type(-1)), prob(prob)
-    {
-      this->gen.reset(new uniform_01<RandomGenerator*>(&gen));
-
-      if (prob == 0.0) {src = (std::numeric_limits<vertices_size_type>::max)(); return;}
-      next();
-    }
-
-    const std::pair<vertices_size_type, vertices_size_type>&
-    dereference() const {
-      return current;
-    }
-
-    bool equal(const sorted_erdos_renyi_iterator& o) const {
-      return src == o.src && tgt_index == o.tgt_index;
-    }
-
-    void increment() {
-      next();
-    }
-
-  private:
-    void next()
-    {
-      // In order to get the edges from the generator in sorted order, one
-      // effective (but slow) procedure would be to use a
-      // bernoulli_distribution for each legal (src, tgt_index) pair.  Because of
-      // the O(|V|^2) cost of that, a geometric distribution is used.  The
-      // geometric distribution tells how many times the
-      // bernoulli_distribution would need to be run until it returns true.
-      // Thus, this distribution can be used to step through the edges
-      // which are actually present.
-      BOOST_ASSERT (src != (std::numeric_limits<vertices_size_type>::max)() &&
-                    src != n);
-      while (src != n) {
-        vertices_size_type increment = rand_vertex(*gen);
-        size_t tgt_index_limit =
-                 (is_undirected ? src + 1 : n) +
-                 (allow_self_loops ? 0 : -1);
-        if (tgt_index + increment >= tgt_index_limit) {
-          // Overflowed this source; go to the next one and try again.
-          ++src;
-          // This bias is because the geometric distribution always returns
-          // values >=1, and we want to allow 0 as a valid target.
-          tgt_index = vertices_size_type(-1);
-          continue;
-        } else {
-          tgt_index += increment;
-          current.first = src;
-          current.second =
-            tgt_index +
-            (!allow_self_loops && !is_undirected && tgt_index >= src ? 1 : 0);
-          break;
-        }
-      }
-      if (src == n) src = (std::numeric_limits<vertices_size_type>::max)();
-    }
-
-    shared_ptr<uniform_01<RandomGenerator*> > gen;
-    geometric_distribution<vertices_size_type> rand_vertex;
-    vertices_size_type n;
-    bool allow_self_loops;
-    vertices_size_type src, tgt_index;
-    std::pair<vertices_size_type, vertices_size_type> current;
-    double prob;
-  };
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_ERDOS_RENYI_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/exception.hpp
deleted file mode 100644
index 382d671..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/exception.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_EXCEPTION_HPP
-#define BOOST_GRAPH_EXCEPTION_HPP
-
-#include <stdexcept>
-#include <string>
-
-namespace boost {
-
-    struct bad_graph : public std::invalid_argument {
-        bad_graph(const std::string& what_arg)
-            : std::invalid_argument(what_arg) { }
-    };
-
-    struct not_a_dag : public bad_graph {
-        not_a_dag()
-            : bad_graph("The graph must be a DAG.")
-        { }
-    };
-
-    struct negative_edge : public bad_graph {
-        negative_edge()
-            : bad_graph("The graph may not contain an edge with negative weight.")
-        { }
-    };
-
-    struct negative_cycle : public bad_graph {
-        negative_cycle()
-            : bad_graph("The graph may not contain negative cycles.")
-        { }
-    };
-
-    struct not_connected : public bad_graph {
-        not_connected()
-            : bad_graph("The graph must be connected.")
-        { }
-    };
-
-   struct not_complete : public bad_graph {
-       not_complete()
-           : bad_graph("The graph must be complete.")
-       { }
-   };
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_EXCEPTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/exterior_property.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/exterior_property.hpp
deleted file mode 100644
index af6df81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/exterior_property.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_EXTERIOR_PROPERTY_HPP
-#define BOOST_GRAPH_EXTERIOR_PROPERTY_HPP
-
-#include <vector>
-#include <boost/graph/property_maps/container_property_map.hpp>
-#include <boost/graph/property_maps/matrix_property_map.hpp>
-
-namespace boost {
-namespace detail {
-    // The vector matrix provides a little abstraction over vector
-    // types that makes matrices easier to work with. Note that it's
-    // non-copyable, meaning you should be passing it by value.
-    template <typename Value>
-    struct vector_matrix
-    {
-        typedef std::vector<Value> container_type;
-        typedef std::vector<container_type> matrix_type;
-
-        typedef container_type value_type;
-        typedef container_type& reference;
-        typedef const container_type const_reference;
-        typedef container_type* pointer;
-        typedef typename matrix_type::size_type size_type;
-
-        // Instantiate the matrix over n elements (creates an nxn matrix).
-        // The graph has to be passed in order to ensure the index maps
-        // are constructed correctly when returning indexible elements.
-        inline vector_matrix(size_type n)
-            : m_matrix(n, container_type(n))
-        { }
-
-        inline reference operator [](size_type n)
-        { return m_matrix[n]; }
-
-        inline const_reference operator [](size_type n) const
-        { return m_matrix[n]; }
-
-        matrix_type m_matrix;
-    };
-} /* namespace detail */
-
-/**
- * The exterior_property metafunction defines an appropriate set of types for
- * creating an exterior property. An exterior property is comprised of a both
- * a container and a property map that acts as its abstraction. An extension
- * of this metafunction will select an appropriate "matrix" property that
- * records values for pairs of vertices.
- *
- * @todo This does not currently support the ability to define exterior
- * properties for graph types that do not model the IndexGraph concepts. A
- * solution should not be especially difficult, but will require an extension
- * of type traits to affect the type selection.
- */
-template <typename Graph, typename Key, typename Value>
-struct exterior_property
-{
-    typedef Key key_type;
-    typedef Value value_type;
-
-    typedef std::vector<Value> container_type;
-    typedef container_property_map<Graph, Key, container_type> map_type;
-
-    typedef detail::vector_matrix<Value> matrix_type;
-    typedef matrix_property_map<Graph, Key, matrix_type> matrix_map_type;
-
-private:
-    exterior_property() { }
-    exterior_property(const exterior_property&) { }
-};
-
-/**
- * Define a the container and property map types requried to create an exterior
- * vertex property for the given value type. The Graph parameter is required to
- * model the VertexIndexGraph concept.
- */
-template <typename Graph, typename Value>
-struct exterior_vertex_property
-{
-    typedef exterior_property<
-            Graph, typename graph_traits<Graph>::vertex_descriptor, Value
-        > property_type;
-    typedef typename property_type::key_type key_type;
-    typedef typename property_type::value_type value_type;
-    typedef typename property_type::container_type container_type;
-    typedef typename property_type::map_type map_type;
-    typedef typename property_type::matrix_type matrix_type;
-    typedef typename property_type::matrix_map_type matrix_map_type;
-};
-
-/**
- * Define a the container and property map types requried to create an exterior
- * edge property for the given value type. The Graph parameter is required to
- * model the EdgeIndexGraph concept.
- */
-template <typename Graph, typename Value>
-struct exterior_edge_property
-{
-    typedef exterior_property<
-            Graph, typename graph_traits<Graph>::edge_descriptor, Value
-        > property_type;
-    typedef typename property_type::key_type key_type;
-    typedef typename property_type::value_type value_type;
-    typedef typename property_type::container_type container_type;
-    typedef typename property_type::map_type map_type;
-    typedef typename property_type::matrix_type matrix_type;
-    typedef typename property_type::matrix_map_type matrix_map_type;
-};
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/filtered_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/filtered_graph.hpp
deleted file mode 100644
index 74fea46..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/filtered_graph.hpp
+++ /dev/null
@@ -1,540 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_FILTERED_GRAPH_HPP
-#define BOOST_FILTERED_GRAPH_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/adjacency_iterator.hpp>
-#include <boost/graph/detail/set_adaptor.hpp>
-#include <boost/iterator/filter_iterator.hpp>
-
-namespace boost {
-
-  //=========================================================================
-  // Some predicate classes.
-
-  struct keep_all {
-    template <typename T>
-    bool operator()(const T&) const { return true; }
-  };
-
-  // Keep residual edges (used in maximum-flow algorithms).
-  template <typename ResidualCapacityEdgeMap>
-  struct is_residual_edge {
-    is_residual_edge() { }
-    is_residual_edge(ResidualCapacityEdgeMap rcap) : m_rcap(rcap) { }
-    template <typename Edge>
-    bool operator()(const Edge& e) const {
-      return 0 < get(m_rcap, e);
-    }
-    ResidualCapacityEdgeMap m_rcap;
-  };
-
-  template <typename Set>
-  struct is_in_subset {
-    is_in_subset() : m_s(0) { }
-    is_in_subset(const Set& s) : m_s(&s) { }
-
-    template <typename Elt>
-    bool operator()(const Elt& x) const {
-      return set_contains(*m_s, x);
-    }
-    const Set* m_s;
-  };
-
-  template <typename Set>
-  struct is_not_in_subset {
-    is_not_in_subset() : m_s(0) { }
-    is_not_in_subset(const Set& s) : m_s(&s) { }
-
-    template <typename Elt>
-    bool operator()(const Elt& x) const {
-      return !set_contains(*m_s, x);
-    }
-    const Set* m_s;
-  };
-  
-  namespace detail {
-
-    template <typename EdgePredicate, typename VertexPredicate, typename Graph>
-    struct out_edge_predicate {
-      out_edge_predicate() { }
-      out_edge_predicate(EdgePredicate ep, VertexPredicate vp, 
-                         const Graph& g)
-        : m_edge_pred(ep), m_vertex_pred(vp), m_g(&g) { }
-
-      template <typename Edge>
-      bool operator()(const Edge& e) const {
-        return m_edge_pred(e) && m_vertex_pred(target(e, *m_g));
-      }
-      EdgePredicate m_edge_pred;
-      VertexPredicate m_vertex_pred;
-      const Graph* m_g;
-    };
-
-    template <typename EdgePredicate, typename VertexPredicate, typename Graph>
-    struct in_edge_predicate {
-      in_edge_predicate() { }
-      in_edge_predicate(EdgePredicate ep, VertexPredicate vp, 
-                         const Graph& g)
-        : m_edge_pred(ep), m_vertex_pred(vp), m_g(&g) { }
-
-      template <typename Edge>
-      bool operator()(const Edge& e) const {
-        return m_edge_pred(e) && m_vertex_pred(source(e, *m_g));
-      }
-      EdgePredicate m_edge_pred;
-      VertexPredicate m_vertex_pred;
-      const Graph* m_g;
-    };
-
-    template <typename EdgePredicate, typename VertexPredicate, typename Graph>
-    struct edge_predicate {
-      edge_predicate() { }
-      edge_predicate(EdgePredicate ep, VertexPredicate vp, 
-                     const Graph& g)
-        : m_edge_pred(ep), m_vertex_pred(vp), m_g(&g) { }
-
-      template <typename Edge>
-      bool operator()(const Edge& e) const {
-        return m_edge_pred(e)
-          && m_vertex_pred(source(e, *m_g)) && m_vertex_pred(target(e, *m_g));
-      }
-      EdgePredicate m_edge_pred;
-      VertexPredicate m_vertex_pred;
-      const Graph* m_g;
-    };
-
-  } // namespace detail
-
-
-  //===========================================================================
-  // Filtered Graph
-
-  struct filtered_graph_tag { };
-
-  // This base class is a stupid hack to change overload resolution
-  // rules for the source and target functions so that they are a
-  // worse match than the source and target functions defined for
-  // pairs in graph_traits.hpp. I feel dirty. -JGS
-  template <class G>
-  struct filtered_graph_base {
-    typedef graph_traits<G> Traits;
-    typedef typename Traits::vertex_descriptor          vertex_descriptor;
-    typedef typename Traits::edge_descriptor            edge_descriptor;
-    filtered_graph_base(const G& g) : m_g(g) { }
-    //protected:
-    const G& m_g;
-  };
-
-  template <typename Graph, 
-            typename EdgePredicate,
-            typename VertexPredicate = keep_all>
-  class filtered_graph : public filtered_graph_base<Graph> {
-    typedef filtered_graph_base<Graph> Base;
-    typedef graph_traits<Graph> Traits;
-    typedef filtered_graph self;
-  public:
-    typedef Graph graph_type;
-    typedef detail::out_edge_predicate<EdgePredicate, 
-      VertexPredicate, self> OutEdgePred;
-    typedef detail::in_edge_predicate<EdgePredicate, 
-      VertexPredicate, self> InEdgePred;
-    typedef detail::edge_predicate<EdgePredicate, 
-      VertexPredicate, self> EdgePred;
-
-    // Constructors
-    filtered_graph(const Graph& g, EdgePredicate ep)
-      : Base(g), m_edge_pred(ep) { }
-
-    filtered_graph(const Graph& g, EdgePredicate ep, VertexPredicate vp)
-      : Base(g), m_edge_pred(ep), m_vertex_pred(vp) { }
-
-    // Graph requirements
-    typedef typename Traits::vertex_descriptor          vertex_descriptor;
-    typedef typename Traits::edge_descriptor            edge_descriptor;
-    typedef typename Traits::directed_category          directed_category;
-    typedef typename Traits::edge_parallel_category     edge_parallel_category;
-    typedef typename Traits::traversal_category         traversal_category;
-
-    // IncidenceGraph requirements
-    typedef filter_iterator<
-        OutEdgePred, typename Traits::out_edge_iterator
-    > out_edge_iterator;
-      
-    typedef typename Traits::degree_size_type          degree_size_type;
-
-    // AdjacencyGraph requirements
-    typedef typename adjacency_iterator_generator<self,
-      vertex_descriptor, out_edge_iterator>::type      adjacency_iterator;
-
-    // BidirectionalGraph requirements
-    typedef filter_iterator<
-        InEdgePred, typename Traits::in_edge_iterator
-    > in_edge_iterator;
-
-    // VertexListGraph requirements
-    typedef filter_iterator<
-        VertexPredicate, typename Traits::vertex_iterator
-    > vertex_iterator;
-    typedef typename Traits::vertices_size_type        vertices_size_type;
-
-    // EdgeListGraph requirements
-    typedef filter_iterator<
-        EdgePred, typename Traits::edge_iterator
-    > edge_iterator;
-    typedef typename Traits::edges_size_type           edges_size_type;
-
-    typedef filtered_graph_tag graph_tag;
-
-    // Bundled properties support
-    template<typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type&
-    operator[](Descriptor x)
-    { return const_cast<Graph&>(this->m_g)[x]; }
-
-    template<typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type const&
-    operator[](Descriptor x) const
-    { return this->m_g[x]; }
-
-    static vertex_descriptor null_vertex()
-    {
-       return Traits::null_vertex();
-    }
-
-    //private:
-    EdgePredicate m_edge_pred;
-    VertexPredicate m_vertex_pred;
-  };
-
-  // Do not instantiate these unless needed
-  template <typename Graph, 
-            typename EdgePredicate,
-            typename VertexPredicate>
-  struct vertex_property_type<filtered_graph<Graph, EdgePredicate, VertexPredicate> >:
-    vertex_property_type<Graph> {};
-
-  template <typename Graph, 
-            typename EdgePredicate,
-            typename VertexPredicate>
-  struct edge_property_type<filtered_graph<Graph, EdgePredicate, VertexPredicate> >:
-    edge_property_type<Graph> {};
-
-  template <typename Graph, 
-            typename EdgePredicate,
-            typename VertexPredicate>
-  struct graph_property_type<filtered_graph<Graph, EdgePredicate, VertexPredicate> >:
-    graph_property_type<Graph> {};
-
-  template<typename Graph, typename EdgePredicate, typename VertexPredicate>
-  struct vertex_bundle_type<filtered_graph<Graph, EdgePredicate, 
-                                           VertexPredicate> > 
-    : vertex_bundle_type<Graph> { };
-
-  template<typename Graph, typename EdgePredicate, typename VertexPredicate>
-  struct edge_bundle_type<filtered_graph<Graph, EdgePredicate, 
-                                         VertexPredicate> > 
-    : edge_bundle_type<Graph> { };
-
-  template<typename Graph, typename EdgePredicate, typename VertexPredicate>
-  struct graph_bundle_type<filtered_graph<Graph, EdgePredicate, 
-                                          VertexPredicate> > 
-    : graph_bundle_type<Graph> { };
-
-  //===========================================================================
-  // Non-member functions for the Filtered Edge Graph
-
-  // Helper functions
-  template <typename Graph, typename EdgePredicate>
-  inline filtered_graph<Graph, EdgePredicate>
-  make_filtered_graph(Graph& g, EdgePredicate ep) {
-    return filtered_graph<Graph, EdgePredicate>(g, ep);
-  }
-  template <typename Graph, typename EdgePredicate, typename VertexPredicate>
-  inline filtered_graph<Graph, EdgePredicate, VertexPredicate>
-  make_filtered_graph(Graph& g, EdgePredicate ep, VertexPredicate vp) {
-    return filtered_graph<Graph, EdgePredicate, VertexPredicate>(g, ep, vp);
-  }
-
-  template <typename Graph, typename EdgePredicate>
-  inline filtered_graph<const Graph, EdgePredicate>
-  make_filtered_graph(const Graph& g, EdgePredicate ep) {
-    return filtered_graph<const Graph, EdgePredicate>(g, ep);
-  }
-  template <typename Graph, typename EdgePredicate, typename VertexPredicate>
-  inline filtered_graph<const Graph, EdgePredicate, VertexPredicate>
-  make_filtered_graph(const Graph& g, EdgePredicate ep, VertexPredicate vp) {
-    return filtered_graph<const Graph, EdgePredicate, VertexPredicate>(g, ep, vp);
-  }
-
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::vertex_iterator,
-            typename filtered_graph<G, EP, VP>::vertex_iterator>
-  vertices(const filtered_graph<G, EP, VP>& g)
-  {
-    typedef filtered_graph<G, EP, VP> Graph;    
-    typename graph_traits<G>::vertex_iterator f, l;
-    boost::tie(f, l) = vertices(g.m_g);
-    typedef typename Graph::vertex_iterator iter;
-    return std::make_pair(iter(g.m_vertex_pred, f, l), 
-                          iter(g.m_vertex_pred, l, l));
-  }
-
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::edge_iterator,
-            typename filtered_graph<G, EP, VP>::edge_iterator>
-  edges(const filtered_graph<G, EP, VP>& g)
-  {
-    typedef filtered_graph<G, EP, VP> Graph;
-    typename Graph::EdgePred pred(g.m_edge_pred, g.m_vertex_pred, g);
-    typename graph_traits<G>::edge_iterator f, l;
-    boost::tie(f, l) = edges(g.m_g);
-    typedef typename Graph::edge_iterator iter;
-    return std::make_pair(iter(pred, f, l), iter(pred, l, l));
-  }
-
-  // An alternative for num_vertices() and num_edges() would be to
-  // count the number in the filtered graph. This is problematic
-  // because of the interaction with the vertex indices...  they would
-  // no longer go from 0 to num_vertices(), which would cause trouble
-  // for algorithms allocating property storage in an array. We could
-  // try to create a mapping to new recalibrated indices, but I don't
-  // see an efficient way to do this.
-  //
-  // However, the current solution is still unsatisfactory because
-  // the following semantic constraints no longer hold:
-  // boost::tie(vi, viend) = vertices(g);
-  // assert(std::distance(vi, viend) == num_vertices(g));
-
-  template <typename G, typename EP, typename VP>  
-  typename filtered_graph<G, EP, VP>::vertices_size_type
-  num_vertices(const filtered_graph<G, EP, VP>& g) {
-    return num_vertices(g.m_g);
-  }
-
-  template <typename G, typename EP, typename VP>  
-  typename filtered_graph<G, EP, VP>::edges_size_type
-  num_edges(const filtered_graph<G, EP, VP>& g) {
-    return num_edges(g.m_g);
-  }
-  
-  template <typename G>
-  typename filtered_graph_base<G>::vertex_descriptor
-  source(typename filtered_graph_base<G>::edge_descriptor e,
-         const filtered_graph_base<G>& g)
-  {
-    return source(e, g.m_g);
-  }
-
-  template <typename G>
-  typename filtered_graph_base<G>::vertex_descriptor
-  target(typename filtered_graph_base<G>::edge_descriptor e,
-         const filtered_graph_base<G>& g)
-  {
-    return target(e, g.m_g);
-  }
-
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::out_edge_iterator,
-            typename filtered_graph<G, EP, VP>::out_edge_iterator>
-  out_edges(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-            const filtered_graph<G, EP, VP>& g)
-  {
-    typedef filtered_graph<G, EP, VP> Graph;
-    typename Graph::OutEdgePred pred(g.m_edge_pred, g.m_vertex_pred, g);
-    typedef typename Graph::out_edge_iterator iter;
-    typename graph_traits<G>::out_edge_iterator f, l;
-    boost::tie(f, l) = out_edges(u, g.m_g);
-    return std::make_pair(iter(pred, f, l), iter(pred, l, l));
-  }
-
-  template <typename G, typename EP, typename VP>
-  typename filtered_graph<G, EP, VP>::degree_size_type
-  out_degree(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-             const filtered_graph<G, EP, VP>& g)
-  {
-    typename filtered_graph<G, EP, VP>::degree_size_type n = 0;
-    typename filtered_graph<G, EP, VP>::out_edge_iterator f, l;
-    for (boost::tie(f, l) = out_edges(u, g); f != l; ++f)
-      ++n;
-    return n;
-  }
-
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::adjacency_iterator,
-            typename filtered_graph<G, EP, VP>::adjacency_iterator>
-  adjacent_vertices(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-                    const filtered_graph<G, EP, VP>& g)
-  {
-    typedef filtered_graph<G, EP, VP> Graph;
-    typedef typename Graph::adjacency_iterator adjacency_iterator;
-    typename Graph::out_edge_iterator f, l;
-    boost::tie(f, l) = out_edges(u, g);
-    return std::make_pair(adjacency_iterator(f, const_cast<Graph*>(&g)),
-                          adjacency_iterator(l, const_cast<Graph*>(&g)));
-  }
-  
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::in_edge_iterator,
-            typename filtered_graph<G, EP, VP>::in_edge_iterator>
-  in_edges(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-            const filtered_graph<G, EP, VP>& g)
-  {
-    typedef filtered_graph<G, EP, VP> Graph;
-    typename Graph::InEdgePred pred(g.m_edge_pred, g.m_vertex_pred, g);
-    typedef typename Graph::in_edge_iterator iter;
-    typename graph_traits<G>::in_edge_iterator f, l;
-    boost::tie(f, l) = in_edges(u, g.m_g);
-    return std::make_pair(iter(pred, f, l), iter(pred, l, l));
-  }
-
-  template <typename G, typename EP, typename VP>
-  typename filtered_graph<G, EP, VP>::degree_size_type
-  in_degree(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-             const filtered_graph<G, EP, VP>& g)
-  {
-    typename filtered_graph<G, EP, VP>::degree_size_type n = 0;
-    typename filtered_graph<G, EP, VP>::in_edge_iterator f, l;
-    for (boost::tie(f, l) = in_edges(u, g); f != l; ++f)
-      ++n;
-    return n;
-  }
-
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::edge_descriptor, bool>
-  edge(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-       typename filtered_graph<G, EP, VP>::vertex_descriptor v,
-       const filtered_graph<G, EP, VP>& g)
-  {
-    typename graph_traits<G>::edge_descriptor e;
-    bool exists;
-    boost::tie(e, exists) = edge(u, v, g.m_g);
-    return std::make_pair(e, exists && g.m_edge_pred(e));
-  }
-
-  template <typename G, typename EP, typename VP>
-  std::pair<typename filtered_graph<G, EP, VP>::out_edge_iterator,
-            typename filtered_graph<G, EP, VP>::out_edge_iterator>
-  edge_range(typename filtered_graph<G, EP, VP>::vertex_descriptor u,
-             typename filtered_graph<G, EP, VP>::vertex_descriptor v,
-             const filtered_graph<G, EP, VP>& g)
-  {
-    typedef filtered_graph<G, EP, VP> Graph;
-    typename Graph::OutEdgePred pred(g.m_edge_pred, g.m_vertex_pred, g);
-    typedef typename Graph::out_edge_iterator iter;
-    typename graph_traits<G>::out_edge_iterator f, l;
-    boost::tie(f, l) = edge_range(u, v, g.m_g);
-    return std::make_pair(iter(pred, f, l), iter(pred, l, l));
-  }
-
-
-  //===========================================================================
-  // Property map
-  
-  template <typename G, typename EP, typename VP, typename Property>
-  struct property_map<filtered_graph<G, EP, VP>, Property>
-    : property_map<G, Property> {};
-
-  template <typename G, typename EP, typename VP, typename Property>
-  typename property_map<G, Property>::type
-  get(Property p, filtered_graph<G, EP, VP>& g)
-  {
-    return get(p, const_cast<G&>(g.m_g));
-  }
-
-  template <typename G, typename EP, typename VP,typename Property>
-  typename property_map<G, Property>::const_type
-  get(Property p, const filtered_graph<G, EP, VP>& g)
-  {
-    return get(p, (const G&)g.m_g);
-  }
-
-  template <typename G, typename EP, typename VP, typename Property,
-            typename Key>
-  typename property_map_value<G, Property>::type
-  get(Property p, const filtered_graph<G, EP, VP>& g, const Key& k)
-  {
-    return get(p, (const G&)g.m_g, k);
-  }
-
-  template <typename G, typename EP, typename VP, typename Property, 
-            typename Key, typename Value>
-  void
-  put(Property p, const filtered_graph<G, EP, VP>& g, const Key& k,
-      const Value& val)
-  {
-    put(p, const_cast<G&>(g.m_g), k, val);
-  }
-
-  //===========================================================================
-  // Some filtered subgraph specializations
-
-  template <typename Graph, typename Set>
-  struct vertex_subset_filter {
-    typedef filtered_graph<Graph, keep_all, is_in_subset<Set> > type;
-  };
-  template <typename Graph, typename Set>
-  inline typename vertex_subset_filter<Graph, Set>::type
-  make_vertex_subset_filter(Graph& g, const Set& s) {
-    typedef typename vertex_subset_filter<Graph, Set>::type Filter;
-    is_in_subset<Set> p(s);
-    return Filter(g, keep_all(), p);
-  }
-
-  // This is misspelled, but present for backwards compatibility; new code
-  // should use the version below that has the correct spelling.
-  template <typename Graph, typename Set>
-  struct vertex_subset_compliment_filter {
-    typedef filtered_graph<Graph, keep_all, is_not_in_subset<Set> > type;
-  };
-  template <typename Graph, typename Set>
-  inline typename vertex_subset_compliment_filter<Graph, Set>::type
-  make_vertex_subset_compliment_filter(Graph& g, const Set& s) {
-    typedef typename vertex_subset_compliment_filter<Graph, Set>::type Filter;
-    is_not_in_subset<Set> p(s);
-    return Filter(g, keep_all(), p);
-  }
-
-  template <typename Graph, typename Set>
-  struct vertex_subset_complement_filter {
-    typedef filtered_graph<Graph, keep_all, is_not_in_subset<Set> > type;
-  };
-  template <typename Graph, typename Set>
-  inline typename vertex_subset_complement_filter<Graph, Set>::type
-  make_vertex_subset_complement_filter(Graph& g, const Set& s) {
-    typedef typename vertex_subset_complement_filter<Graph, Set>::type Filter;
-    is_not_in_subset<Set> p(s);
-    return Filter(g, keep_all(), p);
-  }
-
-  // Filter that uses a property map whose value_type is a boolean
-  template <typename PropertyMap>
-  struct property_map_filter {
-    
-    property_map_filter() { }
-      
-    property_map_filter(const PropertyMap& property_map) :
-      m_property_map(property_map) { }
-    
-    template <typename Key>
-    bool operator()(const Key& key) const {
-      return (get(m_property_map, key));
-    }
-    
-  private :
-    PropertyMap m_property_map;
-  };
-
-} // namespace boost
-
-
-#endif // BOOST_FILTERED_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/find_flow_cost.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/find_flow_cost.hpp
deleted file mode 100644
index e4d6f40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/find_flow_cost.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//=======================================================================
-// Copyright 2013 University of Warsaw.
-// Authors: Piotr Wygocki 
-//
-// Distributed under the 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_GRAPH_FIND_FLOW_COST_HPP
-#define BOOST_GRAPH_FIND_FLOW_COST_HPP
-
-#include <boost/graph/iteration_macros.hpp>
-
-namespace boost {
-
-template<class Graph, class Capacity, class ResidualCapacity, class Weight>
-typename property_traits<typename property_map < Graph, edge_capacity_t >::type>::value_type
-find_flow_cost(const Graph & g, Capacity capacity, ResidualCapacity residual_capacity, Weight weight) {
-    typedef typename property_traits<typename property_map<Graph, edge_weight_t>::const_type>::value_type Cost;
-
-    Cost cost = 0;
-    BGL_FORALL_EDGES_T(e, g, Graph) {
-        if(get(capacity, e) > Cost(0)) {
-            cost +=  (get(capacity, e) - get(residual_capacity, e)) * get(weight, e);
-        } 
-    }
-    return cost;
-}
-
-template <class Graph, class P, class T, class R> 
-typename property_traits<typename property_map < Graph, edge_capacity_t >::type>::value_type
-find_flow_cost(const Graph & g,
-               const bgl_named_params<P, T, R>& params) {
-    return find_flow_cost(g,
-           choose_const_pmap(get_param(params, edge_capacity), g, edge_capacity),
-           choose_const_pmap(get_param(params, edge_residual_capacity), 
-                       g, edge_residual_capacity),
-           choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
-}
-
-template <class Graph>
-typename property_traits<typename property_map < Graph, edge_capacity_t >::type>::value_type
-find_flow_cost(const Graph &g) {
-    bgl_named_params<int, buffer_param_t> params(0);
-    return find_flow_cost(g, params);
-}
-
-
-} //boost
-
-#endif /* BOOST_GRAPH_FIND_FLOW_COST_HPP */
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/floyd_warshall_shortest.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/floyd_warshall_shortest.hpp
deleted file mode 100644
index 472995f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/floyd_warshall_shortest.hpp
+++ /dev/null
@@ -1,256 +0,0 @@
-// Copyright 2002 Rensselaer Polytechnic Institute
-
-// Distributed under the 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: Lauren Foutz
-//           Scott Hill
-
-/*
-  This file implements the functions
-
-  template <class VertexListGraph, class DistanceMatrix, 
-    class P, class T, class R>
-  bool floyd_warshall_initialized_all_pairs_shortest_paths(
-    const VertexListGraph& g, DistanceMatrix& d, 
-    const bgl_named_params<P, T, R>& params)
-
-  AND
-
-  template <class VertexAndEdgeListGraph, class DistanceMatrix, 
-    class P, class T, class R>
-  bool floyd_warshall_all_pairs_shortest_paths(
-    const VertexAndEdgeListGraph& g, DistanceMatrix& d, 
-    const bgl_named_params<P, T, R>& params)
-*/
-
-
-#ifndef BOOST_GRAPH_FLOYD_WARSHALL_HPP
-#define BOOST_GRAPH_FLOYD_WARSHALL_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/relax.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost
-{
-  namespace detail {
-    template<typename T, typename BinaryPredicate>
-    T min_with_compare(const T& x, const T& y, const BinaryPredicate& compare)
-    {
-      if (compare(x, y)) return x; 
-      else return y;
-    }
-
-    template<typename VertexListGraph, typename DistanceMatrix, 
-      typename BinaryPredicate, typename BinaryFunction,
-      typename Infinity, typename Zero>
-    bool floyd_warshall_dispatch(const VertexListGraph& g, 
-      DistanceMatrix& d, const BinaryPredicate &compare, 
-      const BinaryFunction &combine, const Infinity& inf, 
-      const Zero& zero)
-    {
-      typename graph_traits<VertexListGraph>::vertex_iterator 
-        i, lasti, j, lastj, k, lastk;
-    
-      
-      for (boost::tie(k, lastk) = vertices(g); k != lastk; k++)
-        for (boost::tie(i, lasti) = vertices(g); i != lasti; i++)
-          if(d[*i][*k] != inf)
-            for (boost::tie(j, lastj) = vertices(g); j != lastj; j++)
-              if(d[*k][*j] != inf)
-                d[*i][*j] = 
-                  detail::min_with_compare(d[*i][*j], 
-                                           combine(d[*i][*k], d[*k][*j]),
-                                           compare);
-      
-      
-      for (boost::tie(i, lasti) = vertices(g); i != lasti; i++)
-        if (compare(d[*i][*i], zero))
-          return false;
-      return true;
-    }
-  }
-
-  template <typename VertexListGraph, typename DistanceMatrix, 
-    typename BinaryPredicate, typename BinaryFunction,
-    typename Infinity, typename Zero>
-  bool floyd_warshall_initialized_all_pairs_shortest_paths(
-    const VertexListGraph& g, DistanceMatrix& d, 
-    const BinaryPredicate& compare, 
-    const BinaryFunction& combine, const Infinity& inf, 
-    const Zero& zero)
-  {
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<VertexListGraph> ));
-  
-    return detail::floyd_warshall_dispatch(g, d, compare, combine, 
-    inf, zero);
-  }
-  
-
-  
-  template <typename VertexAndEdgeListGraph, typename DistanceMatrix, 
-    typename WeightMap, typename BinaryPredicate, 
-    typename BinaryFunction, typename Infinity, typename Zero>
-  bool floyd_warshall_all_pairs_shortest_paths(
-    const VertexAndEdgeListGraph& g, 
-    DistanceMatrix& d, const WeightMap& w, 
-    const BinaryPredicate& compare, const BinaryFunction& combine, 
-    const Infinity& inf, const Zero& zero)
-  {
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<VertexAndEdgeListGraph> ));
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<VertexAndEdgeListGraph> ));
-    BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<VertexAndEdgeListGraph> ));
-  
-    typename graph_traits<VertexAndEdgeListGraph>::vertex_iterator 
-      firstv, lastv, firstv2, lastv2;
-    typename graph_traits<VertexAndEdgeListGraph>::edge_iterator first, last;
-  
-    
-    for(boost::tie(firstv, lastv) = vertices(g); firstv != lastv; firstv++)
-      for(boost::tie(firstv2, lastv2) = vertices(g); firstv2 != lastv2; firstv2++)
-        d[*firstv][*firstv2] = inf;
-    
-    
-    for(boost::tie(firstv, lastv) = vertices(g); firstv != lastv; firstv++)
-      d[*firstv][*firstv] = zero;
-    
-    
-    for(boost::tie(first, last) = edges(g); first != last; first++)
-    {
-      if (d[source(*first, g)][target(*first, g)] != inf) {
-        d[source(*first, g)][target(*first, g)] = 
-          detail::min_with_compare(
-            get(w, *first), 
-            d[source(*first, g)][target(*first, g)],
-            compare);
-      } else 
-        d[source(*first, g)][target(*first, g)] = get(w, *first);
-    }
-    
-    bool is_undirected = is_same<typename 
-      graph_traits<VertexAndEdgeListGraph>::directed_category, 
-      undirected_tag>::value;
-    if (is_undirected)
-    {
-      for(boost::tie(first, last) = edges(g); first != last; first++)
-      {
-        if (d[target(*first, g)][source(*first, g)] != inf)
-          d[target(*first, g)][source(*first, g)] = 
-            detail::min_with_compare(
-              get(w, *first), 
-              d[target(*first, g)][source(*first, g)],
-              compare);
-        else 
-          d[target(*first, g)][source(*first, g)] = get(w, *first);
-      }
-    }
-    
-  
-    return detail::floyd_warshall_dispatch(g, d, compare, combine, 
-      inf, zero);
-  }
-  
-
-  namespace detail {        
-    template <class VertexListGraph, class DistanceMatrix, 
-      class WeightMap, class P, class T, class R>
-    bool floyd_warshall_init_dispatch(const VertexListGraph& g, 
-      DistanceMatrix& d, WeightMap /*w*/, 
-      const bgl_named_params<P, T, R>& params)
-    {
-      typedef typename property_traits<WeightMap>::value_type WM;
-      WM inf =
-        choose_param(get_param(params, distance_inf_t()), 
-          std::numeric_limits<WM>::max BOOST_PREVENT_MACRO_SUBSTITUTION());
-    
-      return floyd_warshall_initialized_all_pairs_shortest_paths(g, d,
-        choose_param(get_param(params, distance_compare_t()), 
-          std::less<WM>()),
-        choose_param(get_param(params, distance_combine_t()), 
-          closed_plus<WM>(inf)),
-        inf,
-        choose_param(get_param(params, distance_zero_t()), 
-          WM()));
-    }
-    
-
-    
-    template <class VertexAndEdgeListGraph, class DistanceMatrix, 
-      class WeightMap, class P, class T, class R>
-    bool floyd_warshall_noninit_dispatch(const VertexAndEdgeListGraph& g, 
-      DistanceMatrix& d, WeightMap w, 
-      const bgl_named_params<P, T, R>& params)
-    {
-      typedef typename property_traits<WeightMap>::value_type WM;
-    
-      WM inf =
-        choose_param(get_param(params, distance_inf_t()), 
-          std::numeric_limits<WM>::max BOOST_PREVENT_MACRO_SUBSTITUTION());
-      return floyd_warshall_all_pairs_shortest_paths(g, d, w,
-        choose_param(get_param(params, distance_compare_t()), 
-          std::less<WM>()),
-        choose_param(get_param(params, distance_combine_t()), 
-          closed_plus<WM>(inf)),
-        inf,
-        choose_param(get_param(params, distance_zero_t()), 
-          WM()));
-    }
-    
-
-  }   // namespace detail
-
-  
-  
-  template <class VertexListGraph, class DistanceMatrix, class P, 
-    class T, class R>
-  bool floyd_warshall_initialized_all_pairs_shortest_paths(
-    const VertexListGraph& g, DistanceMatrix& d, 
-    const bgl_named_params<P, T, R>& params)
-  {
-    return detail::floyd_warshall_init_dispatch(g, d, 
-      choose_const_pmap(get_param(params, edge_weight), g, edge_weight), 
-      params);
-  }
-  
-  template <class VertexListGraph, class DistanceMatrix>
-  bool floyd_warshall_initialized_all_pairs_shortest_paths(
-    const VertexListGraph& g, DistanceMatrix& d)
-  {
-    bgl_named_params<int,int> params(0);
-    return detail::floyd_warshall_init_dispatch(g, d,
-      get(edge_weight, g), params);
-  }
-  
-
-  
-  
-  template <class VertexAndEdgeListGraph, class DistanceMatrix, 
-    class P, class T, class R>
-  bool floyd_warshall_all_pairs_shortest_paths(
-    const VertexAndEdgeListGraph& g, DistanceMatrix& d, 
-    const bgl_named_params<P, T, R>& params)
-  {
-    return detail::floyd_warshall_noninit_dispatch(g, d, 
-      choose_const_pmap(get_param(params, edge_weight), g, edge_weight), 
-      params);
-  }
-  
-  template <class VertexAndEdgeListGraph, class DistanceMatrix>
-  bool floyd_warshall_all_pairs_shortest_paths(
-    const VertexAndEdgeListGraph& g, DistanceMatrix& d)
-  {
-    bgl_named_params<int,int> params(0);
-    return detail::floyd_warshall_noninit_dispatch(g, d,
-      get(edge_weight, g), params);
-  }
-  
-
-} // namespace boost
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/fruchterman_reingold.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/fruchterman_reingold.hpp
deleted file mode 100644
index 01d080a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/fruchterman_reingold.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-// Copyright 2004, 2005 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_FRUCHTERMAN_REINGOLD_FORCE_DIRECTED_LAYOUT_HPP
-#define BOOST_GRAPH_FRUCHTERMAN_REINGOLD_FORCE_DIRECTED_LAYOUT_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/topology.hpp> // For topology concepts
-#include <vector>
-#include <list>
-#include <algorithm> // for std::min and std::max
-#include <numeric> // for std::accumulate
-#include <cmath> // for std::sqrt and std::fabs
-#include <functional>
-
-namespace boost {
-
-struct square_distance_attractive_force {
-  template<typename Graph, typename T>
-  T
-  operator()(typename graph_traits<Graph>::edge_descriptor,
-             T k,
-             T d,
-             const Graph&) const
-  {
-    return d * d / k;
-  }
-};
-
-struct square_distance_repulsive_force {
-  template<typename Graph, typename T>
-  T
-  operator()(typename graph_traits<Graph>::vertex_descriptor,
-             typename graph_traits<Graph>::vertex_descriptor,
-             T k,
-             T d,
-             const Graph&) const
-  {
-    return k * k / d;
-  }
-};
-
-template<typename T>
-struct linear_cooling {
-  typedef T result_type;
-
-  linear_cooling(std::size_t iterations)
-    : temp(T(iterations) / T(10)), step(0.1) { }
-
-  linear_cooling(std::size_t iterations, T temp)
-    : temp(temp), step(temp / T(iterations)) { }
-
-  T operator()()
-  {
-    T old_temp = temp;
-    temp -= step;
-    if (temp < T(0)) temp = T(0);
-    return old_temp;
-  }
-
- private:
-  T temp;
-  T step;
-};
-
-struct all_force_pairs
-{
-  template<typename Graph, typename ApplyForce >
-  void operator()(const Graph& g, ApplyForce apply_force)
-  {
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-    vertex_iterator v, end;
-    for (boost::tie(v, end) = vertices(g); v != end; ++v) {
-      vertex_iterator u = v;
-      for (++u; u != end; ++u) {
-        apply_force(*u, *v);
-        apply_force(*v, *u);
-      }
-    }
-  }
-};
-
-template<typename Topology, typename PositionMap>
-struct grid_force_pairs
-{
-  typedef typename property_traits<PositionMap>::value_type Point;
-  BOOST_STATIC_ASSERT (Point::dimensions == 2);
-  typedef typename Topology::point_difference_type point_difference_type;
-
-  template<typename Graph>
-  explicit
-  grid_force_pairs(const Topology& topology,
-                   PositionMap position, const Graph& g)
-    : topology(topology), position(position)
-  {
-    two_k = 2. * this->topology.volume(this->topology.extent()) / std::sqrt((double)num_vertices(g));
-  }
-
-  template<typename Graph, typename ApplyForce >
-  void operator()(const Graph& g, ApplyForce apply_force)
-  {
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef std::list<vertex_descriptor> bucket_t;
-    typedef std::vector<bucket_t> buckets_t;
-
-    std::size_t columns = std::size_t(topology.extent()[0] / two_k + 1.);
-    std::size_t rows = std::size_t(topology.extent()[1] / two_k + 1.);
-    buckets_t buckets(rows * columns);
-    vertex_iterator v, v_end;
-    for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v) {
-      std::size_t column =
-        std::size_t((get(position, *v)[0] + topology.extent()[0] / 2) / two_k);
-      std::size_t row    =
-        std::size_t((get(position, *v)[1] + topology.extent()[1] / 2) / two_k);
-
-      if (column >= columns) column = columns - 1;
-      if (row >= rows) row = rows - 1;
-      buckets[row * columns + column].push_back(*v);
-    }
-
-    for (std::size_t row = 0; row < rows; ++row)
-      for (std::size_t column = 0; column < columns; ++column) {
-        bucket_t& bucket = buckets[row * columns + column];
-        typedef typename bucket_t::iterator bucket_iterator;
-        for (bucket_iterator u = bucket.begin(); u != bucket.end(); ++u) {
-          // Repulse vertices in this bucket
-          bucket_iterator v = u;
-          for (++v; v != bucket.end(); ++v) {
-            apply_force(*u, *v);
-            apply_force(*v, *u);
-          }
-
-          std::size_t adj_start_row = row == 0? 0 : row - 1;
-          std::size_t adj_end_row = row == rows - 1? row : row + 1;
-          std::size_t adj_start_column = column == 0? 0 : column - 1;
-          std::size_t adj_end_column = column == columns - 1? column : column + 1;
-          for (std::size_t other_row = adj_start_row; other_row <= adj_end_row;
-               ++other_row)
-            for (std::size_t other_column = adj_start_column;
-                 other_column <= adj_end_column; ++other_column)
-              if (other_row != row || other_column != column) {
-                // Repulse vertices in this bucket
-                bucket_t& other_bucket
-                  = buckets[other_row * columns + other_column];
-                for (v = other_bucket.begin(); v != other_bucket.end(); ++v) {
-                  double dist =
-                    topology.distance(get(position, *u), get(position, *v));
-                  if (dist < two_k) apply_force(*u, *v);
-                }
-              }
-        }
-      }
-  }
-
- private:
-  const Topology& topology;
-  PositionMap position;
-  double two_k;
-};
-
-template<typename PositionMap, typename Topology, typename Graph>
-inline grid_force_pairs<Topology, PositionMap>
-make_grid_force_pairs
-  (const Topology& topology,
-   const PositionMap& position, const Graph& g)
-{ return grid_force_pairs<Topology, PositionMap>(topology, position, g); }
-
-template<typename Graph, typename PositionMap, typename Topology>
-void
-scale_graph(const Graph& g, PositionMap position, const Topology& topology,
-            typename Topology::point_type upper_left, typename Topology::point_type lower_right)
-{
-  if (num_vertices(g) == 0) return;
-
-  typedef typename Topology::point_type Point;
-  typedef typename Topology::point_difference_type point_difference_type;
-
-  // Find min/max ranges
-  Point min_point = get(position, *vertices(g).first), max_point = min_point;
-  BGL_FORALL_VERTICES_T(v, g, Graph) {
-    min_point = topology.pointwise_min(min_point, get(position, v));
-    max_point = topology.pointwise_max(max_point, get(position, v));
-  }
-
-  Point old_origin = topology.move_position_toward(min_point, 0.5, max_point);
-  Point new_origin = topology.move_position_toward(upper_left, 0.5, lower_right);
-  point_difference_type old_size = topology.difference(max_point, min_point);
-  point_difference_type new_size = topology.difference(lower_right, upper_left);
-
-  // Scale to bounding box provided
-  BGL_FORALL_VERTICES_T(v, g, Graph) {
-    point_difference_type relative_loc = topology.difference(get(position, v), old_origin);
-    relative_loc = (relative_loc / old_size) * new_size;
-    put(position, v, topology.adjust(new_origin, relative_loc));
-  }
-}
-
-namespace detail {
-  template<typename Topology, typename PropMap, typename Vertex>
-  void 
-  maybe_jitter_point(const Topology& topology,
-                     const PropMap& pm, Vertex v,
-                     const typename Topology::point_type& p2)
-  {
-    double too_close = topology.norm(topology.extent()) / 10000.;
-    if (topology.distance(get(pm, v), p2) < too_close) {
-      put(pm, v, 
-          topology.move_position_toward(get(pm, v), 1./200,
-                                        topology.random_point()));
-    }
-  }
-
-  template<typename Topology, typename PositionMap, typename DisplacementMap,
-           typename RepulsiveForce, typename Graph>
-  struct fr_apply_force
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename Topology::point_type Point;
-    typedef typename Topology::point_difference_type PointDiff;
-
-    fr_apply_force(const Topology& topology,
-                   const PositionMap& position,
-                   const DisplacementMap& displacement,
-                   RepulsiveForce repulsive_force, double k, const Graph& g)
-      : topology(topology), position(position), displacement(displacement),
-        repulsive_force(repulsive_force), k(k), g(g)
-    { }
-
-    void operator()(vertex_descriptor u, vertex_descriptor v)
-    {
-      if (u != v) {
-        // When the vertices land on top of each other, move the
-        // first vertex away from the boundaries.
-        maybe_jitter_point(topology, position, u, get(position, v));
-
-        double dist = topology.distance(get(position, u), get(position, v));
-        typename Topology::point_difference_type dispv = get(displacement, v);
-        if (dist == 0.) {
-          for (std::size_t i = 0; i < Point::dimensions; ++i) {
-            dispv[i] += 0.01;
-          }
-        } else {
-          double fr = repulsive_force(u, v, k, dist, g);
-          dispv += (fr / dist) *
-                   topology.difference(get(position, v), get(position, u));
-        }
-        put(displacement, v, dispv);
-      }
-    }
-
-  private:
-    const Topology& topology;
-    PositionMap position;
-    DisplacementMap displacement;
-    RepulsiveForce repulsive_force;
-    double k;
-    const Graph& g;
-  };
-
-} // end namespace detail
-
-template<typename Topology, typename Graph, typename PositionMap, 
-         typename AttractiveForce, typename RepulsiveForce,
-         typename ForcePairs, typename Cooling, typename DisplacementMap>
-void
-fruchterman_reingold_force_directed_layout
- (const Graph&    g,
-  PositionMap     position,
-  const Topology& topology,
-  AttractiveForce attractive_force,
-  RepulsiveForce  repulsive_force,
-  ForcePairs      force_pairs,
-  Cooling         cool,
-  DisplacementMap displacement)
-{
-  typedef typename graph_traits<Graph>::vertex_iterator   vertex_iterator;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename graph_traits<Graph>::edge_iterator     edge_iterator;
-
-  double volume = topology.volume(topology.extent());
-
-  // assume positions are initialized randomly
-  double k = pow(volume / num_vertices(g), 1. / (double)(Topology::point_difference_type::dimensions));
-
-  detail::fr_apply_force<Topology, PositionMap, DisplacementMap,
-                         RepulsiveForce, Graph>
-    apply_force(topology, position, displacement, repulsive_force, k, g);
-
-  do {
-    // Calculate repulsive forces
-    vertex_iterator v, v_end;
-    for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v)
-      put(displacement, *v, typename Topology::point_difference_type());
-    force_pairs(g, apply_force);
-
-    // Calculate attractive forces
-    edge_iterator e, e_end;
-    for (boost::tie(e, e_end) = edges(g); e != e_end; ++e) {
-      vertex_descriptor v = source(*e, g);
-      vertex_descriptor u = target(*e, g);
-
-      // When the vertices land on top of each other, move the
-      // first vertex away from the boundaries.
-      ::boost::detail::maybe_jitter_point(topology, position, u, get(position, v));
-
-      typename Topology::point_difference_type delta =
-        topology.difference(get(position, v), get(position, u));
-      double dist = topology.distance(get(position, u), get(position, v));
-      double fa = attractive_force(*e, k, dist, g);
-
-      put(displacement, v, get(displacement, v) - (fa / dist) * delta);
-      put(displacement, u, get(displacement, u) + (fa / dist) * delta);
-    }
-
-    if (double temp = cool()) {
-      // Update positions
-      BGL_FORALL_VERTICES_T (v, g, Graph) {
-        BOOST_USING_STD_MIN();
-        BOOST_USING_STD_MAX();
-        double disp_size = topology.norm(get(displacement, v));
-        put(position, v, topology.adjust(get(position, v), get(displacement, v) * (min BOOST_PREVENT_MACRO_SUBSTITUTION (disp_size, temp) / disp_size)));
-        put(position, v, topology.bound(get(position, v)));
-      }
-    } else {
-      break;
-    }
-  } while (true);
-}
-
-namespace detail {
-  template<typename DisplacementMap>
-  struct fr_force_directed_layout
-  {
-    template<typename Topology, typename Graph, typename PositionMap, 
-             typename AttractiveForce, typename RepulsiveForce,
-             typename ForcePairs, typename Cooling,
-             typename Param, typename Tag, typename Rest>
-    static void
-    run(const Graph&    g,
-        PositionMap     position,
-        const Topology& topology,
-        AttractiveForce attractive_force,
-        RepulsiveForce  repulsive_force,
-        ForcePairs      force_pairs,
-        Cooling         cool,
-        DisplacementMap displacement,
-        const bgl_named_params<Param, Tag, Rest>&)
-    {
-      fruchterman_reingold_force_directed_layout
-        (g, position, topology, attractive_force, repulsive_force,
-         force_pairs, cool, displacement);
-    }
-  };
-
-  template<>
-  struct fr_force_directed_layout<param_not_found>
-  {
-    template<typename Topology, typename Graph, typename PositionMap, 
-             typename AttractiveForce, typename RepulsiveForce,
-             typename ForcePairs, typename Cooling,
-             typename Param, typename Tag, typename Rest>
-    static void
-    run(const Graph&    g,
-        PositionMap     position,
-        const Topology& topology,
-        AttractiveForce attractive_force,
-        RepulsiveForce  repulsive_force,
-        ForcePairs      force_pairs,
-        Cooling         cool,
-        param_not_found,
-        const bgl_named_params<Param, Tag, Rest>& params)
-    {
-      typedef typename Topology::point_difference_type PointDiff;
-      std::vector<PointDiff> displacements(num_vertices(g));
-      fruchterman_reingold_force_directed_layout
-        (g, position, topology, attractive_force, repulsive_force,
-         force_pairs, cool,
-         make_iterator_property_map
-         (displacements.begin(),
-          choose_const_pmap(get_param(params, vertex_index), g,
-                            vertex_index),
-          PointDiff()));
-    }
-  };
-
-} // end namespace detail
-
-template<typename Topology, typename Graph, typename PositionMap, typename Param,
-         typename Tag, typename Rest>
-void
-fruchterman_reingold_force_directed_layout
-  (const Graph&    g,
-   PositionMap     position,
-   const Topology& topology,
-   const bgl_named_params<Param, Tag, Rest>& params)
-{
-  typedef typename get_param_type<vertex_displacement_t, bgl_named_params<Param,Tag,Rest> >::type D;
-
-  detail::fr_force_directed_layout<D>::run
-    (g, position, topology, 
-     choose_param(get_param(params, attractive_force_t()),
-                  square_distance_attractive_force()),
-     choose_param(get_param(params, repulsive_force_t()),
-                  square_distance_repulsive_force()),
-     choose_param(get_param(params, force_pairs_t()),
-                  make_grid_force_pairs(topology, position, g)),
-     choose_param(get_param(params, cooling_t()),
-                  linear_cooling<double>(100)),
-     get_param(params, vertex_displacement_t()),
-     params);
-}
-
-template<typename Topology, typename Graph, typename PositionMap>
-void
-fruchterman_reingold_force_directed_layout
-  (const Graph&    g,
-   PositionMap     position,
-   const Topology& topology)
-{
-  fruchterman_reingold_force_directed_layout
-    (g, position, topology,
-     attractive_force(square_distance_attractive_force()));
-}
-
-} // end namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/fruchterman_reingold.hpp>
-#endif
-
-#endif // BOOST_GRAPH_FRUCHTERMAN_REINGOLD_FORCE_DIRECTED_LAYOUT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/geodesic_distance.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/geodesic_distance.hpp
deleted file mode 100644
index d76d321..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/geodesic_distance.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-// (C) Copyright Andrew Sutton 2007
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_GEODESIC_DISTANCE_HPP
-#define BOOST_GRAPH_GEODESIC_DISTANCE_HPP
-
-#include <boost/graph/detail/geodesic.hpp>
-#include <boost/graph/exterior_property.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost
-{
-template <typename Graph,
-          typename DistanceType,
-          typename ResultType,
-          typename Divides = std::divides<ResultType> >
-struct mean_geodesic_measure
-    : public geodesic_measure<Graph, DistanceType, ResultType>
-{
-    typedef geodesic_measure<Graph, DistanceType, ResultType> base_type;
-    typedef typename base_type::distance_type distance_type;
-    typedef typename base_type::result_type result_type;
-
-    result_type operator ()(distance_type d, const Graph& g)
-    {
-        BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-        BOOST_CONCEPT_ASSERT(( NumericValueConcept<DistanceType> ));
-        BOOST_CONCEPT_ASSERT(( NumericValueConcept<ResultType> ));
-        BOOST_CONCEPT_ASSERT(( AdaptableBinaryFunctionConcept<Divides,ResultType,ResultType,ResultType> ));
-
-        return (d == base_type::infinite_distance())
-            ? base_type::infinite_result()
-            : div(result_type(d), result_type(num_vertices(g) - 1));
-    }
-    Divides div;
-};
-
-template <typename Graph, typename DistanceMap>
-inline mean_geodesic_measure<Graph, typename property_traits<DistanceMap>::value_type, double>
-measure_mean_geodesic(const Graph&, DistanceMap)
-{
-    return mean_geodesic_measure<Graph, typename property_traits<DistanceMap>::value_type, double>();
-}
-
-template <typename T, typename Graph, typename DistanceMap>
-inline mean_geodesic_measure<Graph, typename property_traits<DistanceMap>::value_type, T>
-measure_mean_geodesic(const Graph&, DistanceMap)
-{
-    return mean_geodesic_measure<Graph, typename property_traits<DistanceMap>::value_type, T>();
-}
-
-// This is a little different because it's expected that the result type
-// should (must?) be the same as the distance type. There's a type of
-// transitivity in this thinking... If the average of distances has type
-// X then the average of x's should also be type X. Is there a case where this
-// is not true?
-//
-// This type is a little under-genericized... It needs generic parameters
-// for addition and division.
-template <typename Graph, typename DistanceType>
-struct mean_graph_distance_measure
-    : public geodesic_measure<Graph, DistanceType, DistanceType>
-{
-    typedef geodesic_measure<Graph, DistanceType, DistanceType> base_type;
-    typedef typename base_type::distance_type distance_type;
-    typedef typename base_type::result_type result_type;
-
-    inline result_type operator ()(distance_type d, const Graph& g)
-    {
-        BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-        BOOST_CONCEPT_ASSERT(( NumericValueConcept<DistanceType> ));
-
-        if(d == base_type::infinite_distance()) {
-            return base_type::infinite_result();
-        }
-        else {
-            return d / result_type(num_vertices(g));
-        }
-    }
-};
-
-template <typename Graph, typename DistanceMap>
-inline mean_graph_distance_measure<Graph, typename property_traits<DistanceMap>::value_type>
-measure_graph_mean_geodesic(const Graph&, DistanceMap)
-{
-    typedef typename property_traits<DistanceMap>::value_type T;
-    return mean_graph_distance_measure<Graph, T>();
-}
-
-template <typename Graph,
-          typename DistanceMap,
-          typename Measure,
-          typename Combinator>
-inline typename Measure::result_type
-mean_geodesic(const Graph& g,
-                DistanceMap dist,
-                Measure measure,
-                Combinator combine)
-{
-    BOOST_CONCEPT_ASSERT(( DistanceMeasureConcept<Measure,Graph> ));
-    typedef typename Measure::distance_type Distance;
-
-    Distance n = detail::combine_distances(g, dist, combine, Distance(0));
-    return measure(n, g);
-}
-
-template <typename Graph,
-            typename DistanceMap,
-            typename Measure>
-inline typename Measure::result_type
-mean_geodesic(const Graph& g, DistanceMap dist, Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( DistanceMeasureConcept<Measure,Graph> ));
-    typedef typename Measure::distance_type Distance;
-
-    return mean_geodesic(g, dist, measure, std::plus<Distance>());
-}
-
-template <typename Graph, typename DistanceMap>
-inline double
-mean_geodesic(const Graph& g, DistanceMap dist)
-{ return mean_geodesic(g, dist, measure_mean_geodesic(g, dist)); }
-
-template <typename T, typename Graph, typename DistanceMap>
-inline T
-mean_geodesic(const Graph& g, DistanceMap dist)
-{ return mean_geodesic(g, dist, measure_mean_geodesic<T>(g, dist)); }
-
-
-template <typename Graph,
-            typename DistanceMatrixMap,
-            typename GeodesicMap,
-            typename Measure>
-inline typename property_traits<GeodesicMap>::value_type
-all_mean_geodesics(const Graph& g,
-                    DistanceMatrixMap dist,
-                    GeodesicMap geo,
-                    Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMatrixMap,Vertex> ));
-    typedef typename property_traits<DistanceMatrixMap>::value_type DistanceMap;
-    BOOST_CONCEPT_ASSERT(( DistanceMeasureConcept<Measure,Graph> ));
-    typedef typename Measure::result_type Result;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<GeodesicMap,Vertex> ));
-    BOOST_CONCEPT_ASSERT(( NumericValueConcept<Result> ));
-
-    // NOTE: We could compute the mean geodesic here by performing additional
-    // computations (i.e., adding and dividing). However, I don't really feel
-    // like fully genericizing the entire operation yet so I'm not going to.
-
-    Result inf = numeric_values<Result>::infinity();
-    Result sum = numeric_values<Result>::zero();
-    VertexIterator i, end;
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        DistanceMap dm = get(dist, *i);
-        Result r = mean_geodesic(g, dm, measure);
-        put(geo, *i, r);
-
-        // compute the sum along with geodesics
-        if(r == inf) {
-            sum = inf;
-        }
-        else if(sum != inf) {
-            sum += r;
-        }
-    }
-
-    // return the average of averages.
-    return sum / Result(num_vertices(g));
-}
-
-template <typename Graph, typename DistanceMatrixMap, typename GeodesicMap>
-inline typename property_traits<GeodesicMap>::value_type
-all_mean_geodesics(const Graph& g, DistanceMatrixMap dist, GeodesicMap geo)
-{
-    BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<DistanceMatrixMap,Vertex> ));
-    typedef typename property_traits<DistanceMatrixMap>::value_type DistanceMap;
-    BOOST_CONCEPT_ASSERT(( WritablePropertyMapConcept<GeodesicMap,Vertex> ));
-    typedef typename property_traits<GeodesicMap>::value_type Result;
-
-    return all_mean_geodesics(g, dist, geo, measure_mean_geodesic<Result>(g, DistanceMap()));
-}
-
-
-template <typename Graph, typename GeodesicMap, typename Measure>
-inline typename Measure::result_type
-small_world_distance(const Graph& g, GeodesicMap geo, Measure measure)
-{
-    BOOST_CONCEPT_ASSERT(( DistanceMeasureConcept<Measure,Graph> ));
-    typedef typename Measure::result_type Result;
-
-    Result sum = detail::combine_distances(g, geo, std::plus<Result>(), Result(0));
-    return measure(sum, g);
-}
-
-template <typename Graph, typename GeodesicMap>
-inline typename property_traits<GeodesicMap>::value_type
-small_world_distance(const Graph& g, GeodesicMap geo)
-{ return small_world_distance(g, geo, measure_graph_mean_geodesic(g, geo)); }
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_archetypes.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_archetypes.hpp
deleted file mode 100644
index 81f9c2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_archetypes.hpp
+++ /dev/null
@@ -1,298 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_ARCHETYPES_HPP
-#define BOOST_GRAPH_ARCHETYPES_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/concept_archetype.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-
-namespace boost { // should use a different namespace for this
-
-  namespace detail {
-    struct null_graph_archetype : public null_archetype<> {
-      struct traversal_category { }; 
-    };
-  }
-  
-  //===========================================================================
-  template <typename Vertex, typename Directed, typename ParallelCategory,
-    typename Base = detail::null_graph_archetype >
-  struct incidence_graph_archetype : public Base
-  {
-    typedef typename Base::traversal_category base_trav_cat;
-    struct traversal_category
-      : public incidence_graph_tag, public base_trav_cat { };
-#if 0
-    typedef immutable_graph_tag mutability_category;
-#endif
-    typedef Vertex vertex_descriptor;
-    typedef unsigned int degree_size_type;
-    typedef unsigned int vertices_size_type;
-    typedef unsigned int edges_size_type;
-    struct edge_descriptor {
-      edge_descriptor() { }
-      edge_descriptor(const detail::dummy_constructor&) { }
-      bool operator==(const edge_descriptor&) const { return false; }
-      bool operator!=(const edge_descriptor&) const { return false; }
-    };
-    typedef input_iterator_archetype<edge_descriptor> out_edge_iterator;
-
-    typedef Directed directed_category;
-    typedef ParallelCategory edge_parallel_category;
-
-    typedef void adjacency_iterator;
-    typedef void in_edge_iterator;
-    typedef void vertex_iterator;
-    typedef void edge_iterator;
-
-    static vertex_descriptor null_vertex() {return vertex_descriptor();}
-  };
-  template <typename V, typename D, typename P, typename B>
-  V source(const typename incidence_graph_archetype<V,D,P,B>::edge_descriptor&,
-           const incidence_graph_archetype<V,D,P,B>& )
-  {
-    return V(static_object<detail::dummy_constructor>::get());
-  }
-  template <typename V, typename D, typename P, typename B>
-  V target(const typename incidence_graph_archetype<V,D,P,B>::edge_descriptor&,
-           const incidence_graph_archetype<V,D,P,B>& )
-  {
-    return V(static_object<detail::dummy_constructor>::get());
-  }
-  
-  template <typename V, typename D, typename P, typename B>
-  std::pair<typename incidence_graph_archetype<V,D,P,B>::out_edge_iterator,
-            typename incidence_graph_archetype<V,D,P,B>::out_edge_iterator>
-  out_edges(const V&, const incidence_graph_archetype<V,D,P,B>& )
-  {
-    typedef typename incidence_graph_archetype<V,D,P,B>::out_edge_iterator Iter;
-    return std::make_pair(Iter(), Iter());
-  }
-  
-  template <typename V, typename D, typename P, typename B>
-  typename incidence_graph_archetype<V,D,P,B>::degree_size_type
-  out_degree(const V&, const incidence_graph_archetype<V,D,P,B>& )
-  {
-    return 0;
-  }
-
-  //===========================================================================
-  template <typename Vertex, typename Directed, typename ParallelCategory,
-    typename Base = detail::null_graph_archetype >
-  struct adjacency_graph_archetype : public Base
-  {
-    typedef typename Base::traversal_category base_trav_cat;
-    struct traversal_category
-      : public adjacency_graph_tag, public base_trav_cat { };
-    typedef Vertex vertex_descriptor;
-    typedef unsigned int degree_size_type;
-    typedef unsigned int vertices_size_type;
-    typedef unsigned int edges_size_type;
-    typedef void edge_descriptor;
-    typedef input_iterator_archetype<Vertex> adjacency_iterator;
-
-    typedef Directed directed_category;
-    typedef ParallelCategory edge_parallel_category;
-
-    typedef void in_edge_iterator;
-    typedef void out_edge_iterator;
-    typedef void vertex_iterator;
-    typedef void edge_iterator;
-
-    static vertex_descriptor null_vertex() {return vertex_descriptor();}
-  };
-  
-  template <typename V, typename D, typename P, typename B>
-  std::pair<typename adjacency_graph_archetype<V,D,P,B>::adjacency_iterator,
-            typename adjacency_graph_archetype<V,D,P,B>::adjacency_iterator>
-  adjacent_vertices(const V&, const adjacency_graph_archetype<V,D,P,B>& )
-  {
-    typedef typename adjacency_graph_archetype<V,D,P,B>::adjacency_iterator Iter;
-    return std::make_pair(Iter(), Iter());
-  }
-
-  template <typename V, typename D, typename P, typename B>
-  typename adjacency_graph_archetype<V,D,P,B>::degree_size_type
-  out_degree(const V&, const adjacency_graph_archetype<V,D,P,B>& )
-  {
-    return 0;
-  }
-
-  //===========================================================================
-  template <typename Vertex, typename Directed, typename ParallelCategory,
-    typename Base = detail::null_graph_archetype >
-  struct vertex_list_graph_archetype : public Base
-  {
-    typedef incidence_graph_archetype<Vertex, Directed, ParallelCategory> 
-      Incidence;
-    typedef adjacency_graph_archetype<Vertex, Directed, ParallelCategory> 
-      Adjacency;
-
-    typedef typename Base::traversal_category base_trav_cat;
-    struct traversal_category
-      : public vertex_list_graph_tag, public base_trav_cat { };
-#if 0
-    typedef immutable_graph_tag mutability_category;
-#endif
-    typedef Vertex vertex_descriptor;
-    typedef unsigned int degree_size_type;
-    typedef typename Incidence::edge_descriptor edge_descriptor;
-    typedef typename Incidence::out_edge_iterator out_edge_iterator;
-    typedef typename Adjacency::adjacency_iterator adjacency_iterator;
-
-    typedef input_iterator_archetype<Vertex> vertex_iterator;
-    typedef unsigned int vertices_size_type;
-    typedef unsigned int edges_size_type;
-
-    typedef Directed directed_category;
-    typedef ParallelCategory edge_parallel_category;
-
-    typedef void in_edge_iterator;
-    typedef void edge_iterator;
-
-    static vertex_descriptor null_vertex() {return vertex_descriptor();}
-  };
-  
-  template <typename V, typename D, typename P, typename B>
-  std::pair<typename vertex_list_graph_archetype<V,D,P,B>::vertex_iterator,
-            typename vertex_list_graph_archetype<V,D,P,B>::vertex_iterator>
-  vertices(const vertex_list_graph_archetype<V,D,P,B>& )
-  {
-    typedef typename vertex_list_graph_archetype<V,D,P,B>::vertex_iterator Iter;
-    return std::make_pair(Iter(), Iter());
-  }
-
-  template <typename V, typename D, typename P, typename B>
-  typename vertex_list_graph_archetype<V,D,P,B>::vertices_size_type
-  num_vertices(const vertex_list_graph_archetype<V,D,P,B>& )
-  {
-    return 0;
-  }
-
-  // ambiguously inherited from incidence graph and adjacency graph
-  template <typename V, typename D, typename P, typename B>
-  typename vertex_list_graph_archetype<V,D,P,B>::degree_size_type
-  out_degree(const V&, const vertex_list_graph_archetype<V,D,P,B>& )
-  {
-    return 0;
-  }
-
-  //===========================================================================
-
-  struct property_graph_archetype_tag { };
-
-  template <typename GraphArchetype, typename Property, typename ValueArch>
-  struct property_graph_archetype : public GraphArchetype
-  {
-    typedef property_graph_archetype_tag graph_tag;
-    typedef ValueArch vertex_property_type;
-    typedef ValueArch edge_property_type;
-  };
-
-  struct choose_edge_property_map_archetype {
-    template <typename Graph, typename Property, typename Tag>
-    struct bind_ {
-      typedef mutable_lvalue_property_map_archetype
-        <typename Graph::edge_descriptor, Property> type;
-      typedef lvalue_property_map_archetype
-        <typename Graph::edge_descriptor, Property> const_type;
-    };
-  };
-  template <>
-  struct edge_property_selector<property_graph_archetype_tag> {
-    typedef choose_edge_property_map_archetype type;
-  };
-  
-  struct choose_vertex_property_map_archetype {
-    template <typename Graph, typename Property, typename Tag>
-    struct bind_ {
-      typedef mutable_lvalue_property_map_archetype
-        <typename Graph::vertex_descriptor, Property> type;
-      typedef lvalue_property_map_archetype
-        <typename Graph::vertex_descriptor, Property> const_type;
-    };
-  };
-
-  template <>
-  struct vertex_property_selector<property_graph_archetype_tag> {
-    typedef choose_vertex_property_map_archetype type;
-  };
-  
-  template <typename G, typename P, typename V>
-  typename property_map<property_graph_archetype<G, P, V>, P>::type
-  get(P, property_graph_archetype<G, P, V>&) {
-    typename property_map<property_graph_archetype<G, P, V>, P>::type pmap;
-    return pmap;
-  }
-
-  template <typename G, typename P, typename V>
-  typename property_map<property_graph_archetype<G, P, V>, P>::const_type
-  get(P, const property_graph_archetype<G, P, V>&) {
-    typename property_map<property_graph_archetype<G, P, V>, P>::const_type pmap;
-    return pmap;
-  }
-
-  template <typename G, typename P, typename K, typename V>
-  typename property_traits<typename property_map<property_graph_archetype<G, P, V>, P>::const_type>::value_type
-  get(P p, const property_graph_archetype<G, P, V>& g, K k) {
-    return get( get(p, g), k);
-  }
-
-  template <typename G, typename P, typename V, typename Key>
-  void
-  put(P p, property_graph_archetype<G, P, V>& g, 
-      const Key& key, const V& value)
-  {
-    typedef typename boost::property_map<property_graph_archetype<G, P, V>, P>::type Map;
-    Map pmap = get(p, g);
-    put(pmap, key, value);
-  }
-
-  struct color_value_archetype {
-    color_value_archetype() { }
-    color_value_archetype(detail::dummy_constructor) { }
-    bool operator==(const color_value_archetype& ) const { return true; }
-    bool operator!=(const color_value_archetype& ) const { return true; }
-  };
-  template <>
-  struct color_traits<color_value_archetype> {
-    static color_value_archetype white()
-    { 
-      return color_value_archetype
-        (static_object<detail::dummy_constructor>::get()); 
-    }
-    static color_value_archetype gray()
-    {
-      return color_value_archetype
-        (static_object<detail::dummy_constructor>::get()); 
-    }
-    static color_value_archetype black()
-    {
-      return color_value_archetype
-        (static_object<detail::dummy_constructor>::get()); 
-    }
-  };
-
-  template <typename T>
-  class buffer_archetype {
-  public:
-    void push(const T&) {}
-    void pop() {}
-    T& top() { return static_object<T>::get(); }
-    const T& top() const { return static_object<T>::get(); }
-    bool empty() const { return true; }
-  };
-  
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_ARCHETYPES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_as_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_as_tree.hpp
deleted file mode 100644
index 721e503..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_as_tree.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_GRAPH_AS_TREE_HPP
-#define BOOST_GRAPH_GRAPH_AS_TREE_HPP
-
-#include <vector>
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/tree_traits.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/visitors.hpp>
-
-namespace boost {
-
-  template <class Graph, class Node, class ChIt, class Derived>
-  class graph_as_tree_base
-  {
-    typedef Derived Tree;
-  public:
-    typedef Node node_descriptor;
-    typedef ChIt children_iterator;
-    
-    graph_as_tree_base(Graph& g, Node root) : _g(g), _root(root) { }
-    
-    friend Node root(const Tree& t) { return t._root; }
-    
-    template <class N>
-    friend std::pair<ChIt,ChIt>
-    children(N n, const Tree& t) { return adjacent_vertices(n, t._g);  }
-    
-    template<class N>
-    friend Node parent(N n, const Tree& t) { 
-      return boost::get(t.parent_pa(), n); 
-    }
-    
-    Graph& _g;
-    Node _root;
-  };
-  
-  struct graph_as_tree_tag { };
-  
-  template <class Graph, class ParentMap
-          , class Node 
-             = typename graph_traits<Graph>::vertex_descriptor
-          , class ChIt
-              = typename graph_traits<Graph>::adjacency_iterator
-           >
-  class graph_as_tree
-    : public graph_as_tree_base<Graph, Node, ChIt, 
-            graph_as_tree<Graph,ParentMap,Node,ChIt> >
-  {
-    typedef graph_as_tree self;
-    typedef graph_as_tree_base<Graph, Node, ChIt, self> super;
-  public:
-    graph_as_tree(Graph& g, Node root) : super(g, root) {  }
-    
-    graph_as_tree(Graph& g, Node root, ParentMap p) : super(g, root), _p(p) { 
-      breadth_first_search(g, root, 
-                           visitor(make_bfs_visitor
-                   (record_predecessors(p, boost::on_tree_edge()))));
-    }
-    ParentMap parent_pa() const { return _p; }
-    typedef graph_as_tree_tag graph_tag; // for property_map
-  protected:
-    ParentMap _p;
-  };
-  
-
-  namespace detail {
-
-    struct graph_as_tree_vertex_property_selector {
-      template <typename GraphAsTree, typename Property, typename Tag>
-      struct bind_ {
-        typedef typename GraphAsTree::base_type Graph;
-        typedef property_map<Graph, Tag> PMap;
-        typedef typename PMap::type type;
-        typedef typename PMap::const_type const_type;
-      };
-    };
-
-    struct graph_as_tree_edge_property_selector {
-      template <typename GraphAsTree, typename Property, typename Tag>
-      struct bind_ {
-        typedef typename GraphAsTree::base_type Graph;
-        typedef property_map<Graph, Tag> PMap;
-        typedef typename PMap::type type;
-        typedef typename PMap::const_type const_type;
-      };
-    };
-
-  } // namespace detail
-
-  template <>
-  struct vertex_property_selector<graph_as_tree_tag> {
-    typedef detail::graph_as_tree_vertex_property_selector type;
-  };
-
-  template <>
-  struct edge_property_selector<graph_as_tree_tag> {
-    typedef detail::graph_as_tree_edge_property_selector type;
-  };
-
-  template <typename Graph, typename P, typename N, typename C, 
-            typename Property>
-  typename property_map<Graph, Property>::type
-  get(Property p, graph_as_tree<Graph,P,N,C>& g)
-  {
-    return get(p, g._g);
-  }
-
-  template <typename Graph, typename P, typename N, typename C, 
-            typename Property>
-  typename property_map<Graph, Property>::const_type
-  get(Property p, const graph_as_tree<Graph,P,N,C>& g)
-  {
-    const Graph& gref = g._g; // in case GRef is non-const
-    return get(p, gref);
-  }
-
-  template <typename Graph, typename P, typename N, typename C, 
-            typename Property, typename Key>
-  typename property_traits<
-    typename property_map<Graph, Property>::const_type
-  >::value_type
-  get(Property p, const graph_as_tree<Graph,P,N,C>& g, const Key& k)
-  {
-    return get(p, g._g, k);
-  }
-
-  template <typename Graph, typename P, typename N, typename C, 
-            typename Property, typename Key, typename Value>
-  void
-  put(Property p, const graph_as_tree<Graph,P,N,C>& g, const Key& k,
-      const Value& val)
-  {
-    put(p, g._g, k, val);
-  }
-
-} // namespace boost
-
-#endif //  BOOST_GRAPH_GRAPH_AS_TREE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_concepts.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_concepts.hpp
deleted file mode 100644
index 875f818..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_concepts.hpp
+++ /dev/null
@@ -1,618 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Copyright 2009, Andrew Sutton
-//
-// Distributed under the 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_GRAPH_CONCEPTS_HPP
-#define BOOST_GRAPH_CONCEPTS_HPP
-
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/numeric_values.hpp>
-#include <boost/graph/buffer_concepts.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/concept/assert.hpp>
-
-#include <boost/concept/detail/concept_def.hpp>
-namespace boost
-{
-// dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-// you want to use vector_as_graph, it is!  I'm sure the graph
-// library leaves these out all over the place.  Probably a
-// redesign involving specializing a template with a static
-// member function is in order :(
-//
-// It is needed in order to allow us to write using boost::vertices as
-// needed for ADL when using vector_as_graph below.
-#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)            \
- && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-# define BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-#endif
-
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-template <class T>
-typename T::ThereReallyIsNoMemberByThisNameInT vertices(T const&);
-#endif
-
-    namespace concepts {
-    BOOST_concept(MultiPassInputIterator,(T)) {
-        BOOST_CONCEPT_USAGE(MultiPassInputIterator) {
-            BOOST_CONCEPT_ASSERT((InputIterator<T>));
-        }
-    };
-
-    BOOST_concept(Graph,(G))
-    {
-        typedef typename graph_traits<G>::vertex_descriptor vertex_descriptor;
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-        typedef typename graph_traits<G>::directed_category directed_category;
-        typedef typename graph_traits<G>::edge_parallel_category edge_parallel_category; 
-        typedef typename graph_traits<G>::traversal_category traversal_category;
-
-        BOOST_CONCEPT_USAGE(Graph)
-        {
-            BOOST_CONCEPT_ASSERT((DefaultConstructible<vertex_descriptor>));
-            BOOST_CONCEPT_ASSERT((EqualityComparable<vertex_descriptor>));
-            BOOST_CONCEPT_ASSERT((Assignable<vertex_descriptor>));
-        }
-        G g;
-    };
-
-    BOOST_concept(IncidenceGraph,(G))
-        : Graph<G>
-    {
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-        typedef typename graph_traits<G>::out_edge_iterator out_edge_iterator;
-        typedef typename graph_traits<G>::degree_size_type degree_size_type;
-        typedef typename graph_traits<G>::traversal_category traversal_category;
-
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<out_edge_iterator, void> >::value));
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<degree_size_type, void> >::value));
-
-        BOOST_CONCEPT_USAGE(IncidenceGraph) {
-            BOOST_CONCEPT_ASSERT((MultiPassInputIterator<out_edge_iterator>));
-            BOOST_CONCEPT_ASSERT((DefaultConstructible<edge_descriptor>));
-            BOOST_CONCEPT_ASSERT((EqualityComparable<edge_descriptor>));
-            BOOST_CONCEPT_ASSERT((Assignable<edge_descriptor>));
-            BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-                                    incidence_graph_tag>));
-
-            p = out_edges(u, g);
-            n = out_degree(u, g);
-            e = *p.first;
-            u = source(e, g);
-            v = target(e, g);
-            const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-            p = out_edges(u, cg);
-            n = out_degree(u, cg);
-            e = *p.first;
-            u = source(e, cg);
-            v = target(e, cg);
-        }
-        std::pair<out_edge_iterator, out_edge_iterator> p;
-        typename graph_traits<G>::vertex_descriptor u, v;
-        typename graph_traits<G>::edge_descriptor e;
-        typename graph_traits<G>::degree_size_type n;
-        G g;
-    };
-
-    BOOST_concept(BidirectionalGraph,(G))
-        : IncidenceGraph<G>
-    {
-        typedef typename graph_traits<G>::in_edge_iterator
-        in_edge_iterator;
-        typedef typename graph_traits<G>::traversal_category
-        traversal_category;
-
-        BOOST_CONCEPT_USAGE(BidirectionalGraph) {
-        BOOST_CONCEPT_ASSERT((MultiPassInputIterator<in_edge_iterator>));
-        BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-            bidirectional_graph_tag>));
-
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<in_edge_iterator, void> >::value));
-
-        p = in_edges(v, g);
-        n = in_degree(v, g);
-        e = *p.first;
-        const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-        p = in_edges(v, cg);
-        n = in_degree(v, cg);
-        e = *p.first;
-        }
-        std::pair<in_edge_iterator, in_edge_iterator> p;
-        typename graph_traits<G>::vertex_descriptor v;
-        typename graph_traits<G>::edge_descriptor e;
-        typename graph_traits<G>::degree_size_type n;
-        G g;
-    };
-
-    BOOST_concept(AdjacencyGraph,(G))
-        : Graph<G>
-    {
-        typedef typename graph_traits<G>::adjacency_iterator
-        adjacency_iterator;
-        typedef typename graph_traits<G>::traversal_category
-        traversal_category;
-
-        BOOST_CONCEPT_USAGE(AdjacencyGraph) {
-        BOOST_CONCEPT_ASSERT((MultiPassInputIterator<adjacency_iterator>));
-        BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-            adjacency_graph_tag>));
-
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<adjacency_iterator, void> >::value));
-
-        p = adjacent_vertices(v, g);
-        v = *p.first;
-        const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-        p = adjacent_vertices(v, cg);
-        }
-        std::pair<adjacency_iterator,adjacency_iterator> p;
-        typename graph_traits<G>::vertex_descriptor v;
-        G g;
-    };
-
-    BOOST_concept(VertexListGraph,(G))
-        : Graph<G>
-    {
-        typedef typename graph_traits<G>::vertex_iterator vertex_iterator;
-        typedef typename graph_traits<G>::vertices_size_type vertices_size_type;
-        typedef typename graph_traits<G>::traversal_category
-        traversal_category;
-
-        BOOST_CONCEPT_USAGE(VertexListGraph) {
-        BOOST_CONCEPT_ASSERT((MultiPassInputIterator<vertex_iterator>));
-        BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-            vertex_list_graph_tag>));
-
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<vertex_iterator, void> >::value));
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<vertices_size_type, void> >::value));
-
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-        // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-        // you want to use vector_as_graph, it is!  I'm sure the graph
-        // library leaves these out all over the place.  Probably a
-        // redesign involving specializing a template with a static
-        // member function is in order :(
-        using boost::vertices;
-#endif
-        p = vertices(g);
-        v = *p.first;
-        const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-#ifdef BOOST_VECTOR_AS_GRAPH_GRAPH_ADL_HACK
-        // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
-        // you want to use vector_as_graph, it is!  I'm sure the graph
-        // library leaves these out all over the place.  Probably a
-        // redesign involving specializing a template with a static
-        // member function is in order :(
-        using boost::vertices;
-#endif
-
-        p = vertices(cg);
-        v = *p.first;
-        V = num_vertices(cg);
-        }
-        std::pair<vertex_iterator,vertex_iterator> p;
-        typename graph_traits<G>::vertex_descriptor v;
-        G g;
-        vertices_size_type V;
-    };
-
-    BOOST_concept(EdgeListGraph,(G))
-        : Graph<G>
-    {
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-        typedef typename graph_traits<G>::edge_iterator edge_iterator;
-        typedef typename graph_traits<G>::edges_size_type edges_size_type;
-        typedef typename graph_traits<G>::traversal_category
-        traversal_category;
-
-        BOOST_CONCEPT_USAGE(EdgeListGraph) {
-        BOOST_CONCEPT_ASSERT((MultiPassInputIterator<edge_iterator>));
-        BOOST_CONCEPT_ASSERT((DefaultConstructible<edge_descriptor>));
-        BOOST_CONCEPT_ASSERT((EqualityComparable<edge_descriptor>));
-        BOOST_CONCEPT_ASSERT((Assignable<edge_descriptor>));
-        BOOST_CONCEPT_ASSERT((Convertible<traversal_category,
-            edge_list_graph_tag>));
-
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<edge_iterator, void> >::value));
-        BOOST_STATIC_ASSERT((boost::mpl::not_<boost::is_same<edges_size_type, void> >::value));
-
-        p = edges(g);
-        e = *p.first;
-        u = source(e, g);
-        v = target(e, g);
-        const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-        p = edges(cg);
-        E = num_edges(cg);
-        e = *p.first;
-        u = source(e, cg);
-        v = target(e, cg);
-        }
-        std::pair<edge_iterator,edge_iterator> p;
-        typename graph_traits<G>::vertex_descriptor u, v;
-        typename graph_traits<G>::edge_descriptor e;
-        edges_size_type E;
-        G g;
-    };
-
-    BOOST_concept(VertexAndEdgeListGraph,(G))
-        : VertexListGraph<G>
-        , EdgeListGraph<G>
-    {
-    };
-
-    // Where to put the requirement for this constructor?
-    //      G g(n_vertices);
-    // Not in mutable graph, then LEDA graph's can't be models of
-    // MutableGraph.
-    BOOST_concept(EdgeMutableGraph,(G))
-    {
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-
-        BOOST_CONCEPT_USAGE(EdgeMutableGraph) {
-        p = add_edge(u, v, g);
-        remove_edge(u, v, g);
-        remove_edge(e, g);
-        clear_vertex(v, g);
-        }
-        G g;
-        edge_descriptor e;
-        std::pair<edge_descriptor, bool> p;
-        typename graph_traits<G>::vertex_descriptor u, v;
-    };
-
-    BOOST_concept(VertexMutableGraph,(G))
-    {
-
-        BOOST_CONCEPT_USAGE(VertexMutableGraph) {
-        v = add_vertex(g);
-        remove_vertex(v, g);
-        }
-        G g;
-        typename graph_traits<G>::vertex_descriptor u, v;
-    };
-
-    BOOST_concept(MutableGraph,(G))
-        : EdgeMutableGraph<G>
-        , VertexMutableGraph<G>
-    {
-    };
-
-    template <class edge_descriptor>
-    struct dummy_edge_predicate {
-        bool operator()(const edge_descriptor&) const {
-        return false;
-        }
-    };
-
-    BOOST_concept(MutableIncidenceGraph,(G))
-        : MutableGraph<G>
-    {
-        BOOST_CONCEPT_USAGE(MutableIncidenceGraph) {
-        remove_edge(iter, g);
-        remove_out_edge_if(u, p, g);
-        }
-        G g;
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-        dummy_edge_predicate<edge_descriptor> p;
-        typename boost::graph_traits<G>::vertex_descriptor u;
-        typename boost::graph_traits<G>::out_edge_iterator iter;
-    };
-
-    BOOST_concept(MutableBidirectionalGraph,(G))
-        : MutableIncidenceGraph<G>
-    {
-        BOOST_CONCEPT_USAGE(MutableBidirectionalGraph)
-        {
-            remove_in_edge_if(u, p, g);
-        }
-        G g;
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-        dummy_edge_predicate<edge_descriptor> p;
-        typename boost::graph_traits<G>::vertex_descriptor u;
-    };
-
-    BOOST_concept(MutableEdgeListGraph,(G))
-        : EdgeMutableGraph<G>
-    {
-        BOOST_CONCEPT_USAGE(MutableEdgeListGraph) {
-        remove_edge_if(p, g);
-        }
-        G g;
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-        dummy_edge_predicate<edge_descriptor> p;
-    };
-
-    BOOST_concept(VertexMutablePropertyGraph,(G))
-        : VertexMutableGraph<G>
-    {
-        BOOST_CONCEPT_USAGE(VertexMutablePropertyGraph) {
-        v = add_vertex(vp, g);
-        }
-        G g;
-        typename graph_traits<G>::vertex_descriptor v;
-        typename vertex_property_type<G>::type vp;
-    };
-
-    BOOST_concept(EdgeMutablePropertyGraph,(G))
-        : EdgeMutableGraph<G>
-    {
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-
-        BOOST_CONCEPT_USAGE(EdgeMutablePropertyGraph) {
-        p = add_edge(u, v, ep, g);
-        }
-        G g;
-        std::pair<edge_descriptor, bool> p;
-        typename graph_traits<G>::vertex_descriptor u, v;
-        typename edge_property_type<G>::type ep;
-    };
-
-    BOOST_concept(AdjacencyMatrix,(G))
-        : Graph<G>
-    {
-        typedef typename graph_traits<G>::edge_descriptor edge_descriptor;
-
-        BOOST_CONCEPT_USAGE(AdjacencyMatrix) {
-        p = edge(u, v, g);
-        const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-        p = edge(u, v, cg);
-        }
-        typename graph_traits<G>::vertex_descriptor u, v;
-        std::pair<edge_descriptor, bool> p;
-        G g;
-    };
-
-    BOOST_concept(ReadablePropertyGraph,(G)(X)(Property))
-        : Graph<G>
-    {
-        typedef typename property_map<G, Property>::const_type const_Map;
-
-        BOOST_CONCEPT_USAGE(ReadablePropertyGraph)
-        {
-        BOOST_CONCEPT_ASSERT((ReadablePropertyMapConcept<const_Map, X>));
-
-        const_constraints(g);
-        }
-        void const_constraints(const G& cg) {
-        const_Map pmap = get(Property(), cg);
-        pval = get(Property(), cg, x);
-        ignore_unused_variable_warning(pmap);
-        }
-        G g;
-        X x;
-        typename property_traits<const_Map>::value_type pval;
-    };
-
-    BOOST_concept(PropertyGraph,(G)(X)(Property))
-        : ReadablePropertyGraph<G, X, Property>
-    {
-        typedef typename property_map<G, Property>::type Map;
-        BOOST_CONCEPT_USAGE(PropertyGraph) {
-        BOOST_CONCEPT_ASSERT((ReadWritePropertyMapConcept<Map, X>));
-
-        Map pmap = get(Property(), g);
-        pval = get(Property(), g, x);
-        put(Property(), g, x, pval);
-        ignore_unused_variable_warning(pmap);
-        }
-        G g;
-        X x;
-        typename property_traits<Map>::value_type pval;
-    };
-
-    BOOST_concept(LvaluePropertyGraph,(G)(X)(Property))
-        : ReadablePropertyGraph<G, X, Property>
-    {
-        typedef typename property_map<G, Property>::type Map;
-        typedef typename property_map<G, Property>::const_type const_Map;
-
-        BOOST_CONCEPT_USAGE(LvaluePropertyGraph) {
-        BOOST_CONCEPT_ASSERT((LvaluePropertyMapConcept<const_Map, X>));
-
-        pval = get(Property(), g, x);
-        put(Property(), g, x, pval);
-        }
-        G g;
-        X x;
-        typename property_traits<Map>::value_type pval;
-    };
-
-    // The *IndexGraph concepts are "semantic" graph concpepts. These can be
-    // applied to describe any graph that has an index map that can be accessed
-    // using the get(*_index, g) method. For example, adjacency lists with
-    // VertexSet == vecS are implicitly models of this concept.
-    //
-    // NOTE: We could require an associated type vertex_index_type, but that
-    // would mean propagating that type name into graph_traits and all of the
-    // other graph implementations. Much easier to simply call it unsigned.
-
-    BOOST_concept(VertexIndexGraph,(Graph))
-    {
-        BOOST_CONCEPT_USAGE(VertexIndexGraph)
-        {
-            typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-            typedef typename property_map<Graph, vertex_index_t>::type Map;
-            typedef unsigned Index; // This could be Graph::vertex_index_type
-            Map m = get(vertex_index, g);
-            Index x = get(vertex_index, g, Vertex());
-            ignore_unused_variable_warning(m);
-            ignore_unused_variable_warning(x);
-
-            // This is relaxed
-            renumber_vertex_indices(g);
-
-            const_constraints(g);
-        }
-        void const_constraints(const Graph& g_)
-        {
-            typedef typename property_map<Graph, vertex_index_t>::const_type Map;
-            Map m = get(vertex_index, g_);
-            ignore_unused_variable_warning(m);
-        }
-    private:
-        Graph g;
-    };
-
-    BOOST_concept(EdgeIndexGraph,(Graph))
-    {
-        BOOST_CONCEPT_USAGE(EdgeIndexGraph)
-        {
-            typedef typename graph_traits<Graph>::edge_descriptor Edge;
-            typedef typename property_map<Graph, edge_index_t>::type Map;
-            typedef unsigned Index; // This could be Graph::vertex_index_type
-            Map m = get(edge_index, g);
-            Index x = get(edge_index, g, Edge());
-            ignore_unused_variable_warning(m);
-            ignore_unused_variable_warning(x);
-
-            // This is relaxed
-            renumber_edge_indices(g);
-
-            const_constraints(g);
-        }
-        void const_constraints(const Graph& g_)
-        {
-            typedef typename property_map<Graph, edge_index_t>::const_type Map;
-            Map m = get(edge_index, g_);
-            ignore_unused_variable_warning(m);
-        }
-    private:
-        Graph g;
-    };
-
-    BOOST_concept(ColorValue,(C))
-        : EqualityComparable<C>
-        , DefaultConstructible<C>
-    {
-        BOOST_CONCEPT_USAGE(ColorValue) {
-        c = color_traits<C>::white();
-        c = color_traits<C>::gray();
-        c = color_traits<C>::black();
-        }
-        C c;
-    };
-
-    BOOST_concept(BasicMatrix,(M)(I)(V))
-    {
-        BOOST_CONCEPT_USAGE(BasicMatrix) {
-        V& elt = A[i][j];
-        const_constraints(A);
-        ignore_unused_variable_warning(elt);
-        }
-        void const_constraints(const M& cA) {
-        const V& elt = cA[i][j];
-        ignore_unused_variable_warning(elt);
-        }
-        M A;
-        I i, j;
-    };
-
-    // The following concepts describe aspects of numberic values and measure
-    // functions. We're extending the notion of numeric values to include
-    // emulation for zero and infinity.
-
-    BOOST_concept(NumericValue,(Numeric))
-    {
-        BOOST_CONCEPT_USAGE(NumericValue)
-        {
-            BOOST_CONCEPT_ASSERT(( DefaultConstructible<Numeric> ));
-            BOOST_CONCEPT_ASSERT(( CopyConstructible<Numeric> ));
-            numeric_values<Numeric>::zero();
-            numeric_values<Numeric>::infinity();
-        }
-    };
-
-    BOOST_concept(DegreeMeasure,(Measure)(Graph))
-    {
-        BOOST_CONCEPT_USAGE(DegreeMeasure)
-        {
-            typedef typename Measure::degree_type Degree;
-            typedef typename Measure::vertex_type Vertex;
-
-            Degree d = m(Vertex(), g);
-            ignore_unused_variable_warning(d);
-        }
-    private:
-        Measure m;
-        Graph g;
-    };
-
-    BOOST_concept(DistanceMeasure,(Measure)(Graph))
-    {
-        BOOST_CONCEPT_USAGE(DistanceMeasure)
-        {
-            typedef typename Measure::distance_type Distance;
-            typedef typename Measure::result_type Result;
-            Result r = m(Distance(), g);
-            ignore_unused_variable_warning(r);
-        }
-    private:
-        Measure m;
-        Graph g;
-    };
-
-} /* namespace concepts */
-
-using boost::concepts::MultiPassInputIteratorConcept;
-
-// Graph concepts
-using boost::concepts::GraphConcept;
-using boost::concepts::IncidenceGraphConcept;
-using boost::concepts::BidirectionalGraphConcept;
-using boost::concepts::AdjacencyGraphConcept;
-using boost::concepts::VertexListGraphConcept;
-using boost::concepts::EdgeListGraphConcept;
-using boost::concepts::VertexAndEdgeListGraphConcept;
-using boost::concepts::EdgeMutableGraphConcept;
-using boost::concepts::VertexMutableGraphConcept;
-using boost::concepts::MutableGraphConcept;
-using boost::concepts::MutableIncidenceGraphConcept;
-using boost::concepts::MutableBidirectionalGraphConcept;
-using boost::concepts::MutableEdgeListGraphConcept;
-using boost::concepts::VertexMutablePropertyGraphConcept;
-using boost::concepts::EdgeMutablePropertyGraphConcept;
-using boost::concepts::AdjacencyMatrixConcept;
-using boost::concepts::ReadablePropertyGraphConcept;
-using boost::concepts::PropertyGraphConcept;
-using boost::concepts::LvaluePropertyGraphConcept;
-using boost::concepts::VertexIndexGraphConcept;
-using boost::concepts::EdgeIndexGraphConcept;
-
-// Utility concepts
-using boost::concepts::ColorValueConcept;
-using boost::concepts::BasicMatrixConcept;
-using boost::concepts::NumericValueConcept;
-using boost::concepts::DistanceMeasureConcept;
-using boost::concepts::DegreeMeasureConcept;
-
-
-} /* namespace boost */
-#include <boost/concept/detail/concept_undef.hpp>
-
-#endif /* BOOST_GRAPH_CONCEPTS_H */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_mutability_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_mutability_traits.hpp
deleted file mode 100644
index 726d8d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_mutability_traits.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright (C) 2009 Andrew Sutton
-//
-// Use, modification and distribution is subject to the 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_GRAPH_MUTABILITY_TRAITS_HPP
-#define BOOST_GRAPH_MUTABILITY_TRAITS_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost {
-
-// The mutabiltiy categories classify graphs by their mutating operations
-// on the edge and vertex sets. This is a substantially more refined
-// categorization than the MutableGraph and MutablePropertyGraph denote.
-// Currently, this framework is only used in the graph tests to help
-// dispatch test to the correct places. However, there are probably some
-// constructive or destructive algorithms (i.e., graph generators) that
-// may use these to describe requirements on graph inputs.
-
-struct add_vertex_tag { };
-struct add_vertex_property_tag : virtual add_vertex_tag { };
-struct add_edge_tag { };
-struct add_edge_property_tag : virtual add_edge_tag { };
-struct remove_vertex_tag { };
-struct remove_edge_tag { };
-
-struct mutable_vertex_graph_tag
-    : virtual add_vertex_tag, virtual remove_vertex_tag
-{ };
-struct mutable_vertex_property_graph_tag
-    : virtual add_vertex_property_tag, virtual remove_vertex_tag
-{ };
-
-struct mutable_edge_graph_tag
-    : virtual add_edge_tag, virtual remove_edge_tag
-{ };
-struct mutable_edge_property_graph_tag
-    : virtual add_edge_property_tag, virtual remove_edge_tag
-{ };
-
-struct mutable_graph_tag
-    : virtual mutable_vertex_graph_tag
-    , virtual mutable_edge_graph_tag
-{ };
-struct mutable_property_graph_tag
-    : virtual mutable_vertex_property_graph_tag
-    , virtual mutable_edge_property_graph_tag
-{ };
-
-// Some graphs just don't like to be torn down. Note this only restricts
-// teardown to the set of vertices, not the vertex set.
-// TODO: Find a better name for this tag.
-struct add_only_property_graph_tag
-    : virtual add_vertex_property_tag
-    , virtual mutable_edge_property_graph_tag
-{ };
-
-/**
- * The graph_mutability_traits provide methods for determining the
- * interfaces supported by graph classes for adding and removing vertices
- * and edges.
- */
-template <typename Graph>
-struct graph_mutability_traits {
-    typedef typename Graph::mutability_category category;
-};
-
-template <typename Graph>
-struct graph_has_add_vertex
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            add_vertex_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_add_vertex_with_property
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            add_vertex_property_tag
-        >::value
-    >
-{ };
-
-
-template <typename Graph>
-struct graph_has_remove_vertex
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            remove_vertex_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_add_edge
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            add_edge_tag
-        >::value
-    >
-{ };
-
-template <typename Graph>
-struct graph_has_add_edge_with_property
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            add_edge_property_tag
-        >::value
-    >
-{ };
-
-
-template <typename Graph>
-struct graph_has_remove_edge
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            remove_edge_tag
-        >::value
-    >
-{ };
-
-
-template <typename Graph>
-struct is_mutable_vertex_graph
-    : mpl::and_<
-        graph_has_add_vertex<Graph>,
-        graph_has_remove_vertex<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_mutable_vertex_property_graph
-    : mpl::and_<
-        graph_has_add_vertex_with_property<Graph>,
-        graph_has_remove_vertex<Graph>
-    >
-{ };
-
-
-template <typename Graph>
-struct is_mutable_edge_graph
-    : mpl::and_<
-        graph_has_add_edge<Graph>,
-        graph_has_remove_edge<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_mutable_edge_property_graph
-    : mpl::and_<
-        graph_has_add_edge_with_property<Graph>,
-        graph_has_remove_edge<Graph>
-    >
-{ };
-
-
-template <typename Graph>
-struct is_mutable_graph
-    : mpl::and_<
-        is_mutable_vertex_graph<Graph>,
-        is_mutable_edge_graph<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_mutable_property_graph
-    : mpl::and_<
-        is_mutable_vertex_property_graph<Graph>,
-        is_mutable_edge_property_graph<Graph>
-    >
-{ };
-
-template <typename Graph>
-struct is_add_only_property_graph
-    : mpl::bool_<
-        is_convertible<
-            typename graph_mutability_traits<Graph>::category,
-            add_only_property_graph_tag
-        >::value
-    >
-{ };
-
-/** @name Mutability Traits Specializations */
-//@{
-
-//@}
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_selectors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_selectors.hpp
deleted file mode 100644
index 777ebef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_selectors.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_SELECTORS_HPP
-#define BOOST_GRAPH_SELECTORS_HPP
-
-#include <boost/mpl/bool.hpp>
-
-namespace boost {
-
-  //===========================================================================
-  // Selectors for the Directed template parameter of adjacency_list
-  // and adjacency_matrix.
-
-  struct directedS { enum { is_directed = true, is_bidir = false }; 
-    typedef mpl::true_ is_directed_t; 
-    typedef mpl::false_ is_bidir_t;
-  };
-  struct undirectedS { 
-    enum { is_directed = false, is_bidir = false }; 
-    typedef mpl::false_ is_directed_t;
-    typedef mpl::false_ is_bidir_t;
-  };
-  struct bidirectionalS { 
-    enum { is_directed = true, is_bidir = true }; 
-    typedef mpl::true_ is_directed_t;
-    typedef mpl::true_ is_bidir_t;
-  };
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_SELECTORS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_stats.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_stats.hpp
deleted file mode 100644
index ad0e330..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_stats.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2005 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: Alex Breuer
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_GRAPH_STATS_HPP
-#define BOOST_GRAPH_GRAPH_STATS_HPP
-
-#include <map>
-#include <list>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/assert.hpp>
-
-namespace boost { namespace graph {
-
-template<typename Graph>
-struct  sort_edge_by_origin {
-public:
-  typedef typename graph_traits<Graph>::edge_descriptor edge_type;
-
-  explicit sort_edge_by_origin( Graph& g ) : g(g) {} 
-
-  inline bool operator()( edge_type a, edge_type b ) {
-    return source( a, g ) == source( b, g ) ? target( a, g ) < target( b, g ) :
-      source( a, g ) < source( b, g );
-  }
-
-private:
-  Graph& g;
-};
-
-template<typename Graph>
-struct  equal_edge {
-public:
-  typedef typename graph_traits<Graph>::edge_descriptor edge_type;
-
-  explicit equal_edge( Graph& g ) : g(g) {} 
-
-  inline bool operator()( edge_type a, edge_type b ) {
-    return source( a, g ) == source( b, g ) &&
-      target( a, g ) == target( b, g );
-  }
-
-private:
-  Graph& g;
-};
-
-template<typename Graph>
-unsigned long num_dup_edges( Graph& g ) {
-  typedef typename graph_traits<Graph>::edge_iterator e_iterator_type;
-  typedef typename graph_traits<Graph>::edge_descriptor edge_type;
-
-  std::list<edge_type> all_edges;
-  
-  BGL_FORALL_EDGES_T( e, g, Graph ) {
-    all_edges.push_back( e );
-  }
-    
-  sort_edge_by_origin<Graph> cmp1( g );
-  all_edges.sort( cmp1 );
-  equal_edge<Graph> cmp2( g );
-  all_edges.unique( cmp2 );
-
-  return num_edges( g ) - all_edges.size();
-}
-
-
-template<typename Graph>
-std::map<unsigned long, unsigned long> dup_edge_dist( Graph& g ) {
-  std::map<unsigned long, unsigned long> dist;
-  typedef typename graph_traits<Graph>::adjacency_iterator a_iterator_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_type;
-
-  
-  BGL_FORALL_VERTICES_T( v, g, Graph ) {
-    std::list<vertex_type> front_neighbors;
-    a_iterator_type a_iter, a_end;
-    for( boost::tie( a_iter, a_end ) = adjacent_vertices( v, g );
-         a_iter != a_end; ++a_iter ) {
-      front_neighbors.push_back( *a_iter );
-    }
-    
-    front_neighbors.sort();
-    front_neighbors.unique();
-    dist[out_degree( v, g ) - front_neighbors.size()] += 1;
-  }
-  return dist;
-}
-
-template<typename Graph>
-std::map<unsigned long, unsigned long> degree_dist( Graph& g ) {
-  std::map<unsigned long, unsigned long> dist;
-  typedef typename graph_traits<Graph>::adjacency_iterator a_iterator_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_type;
-  
-  BGL_FORALL_VERTICES_T( v, g, Graph ) {
-    dist[out_degree( v, g )] += 1;
-  }
-
-  return dist;
-}
-
-template<typename Graph>
-std::map<unsigned long, double> weight_degree_dist( Graph& g ) {
-  std::map<unsigned long, double> dist, n;
-  typedef typename graph_traits<Graph>::adjacency_iterator a_iterator_type;
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_type;
-  typedef typename property_map<Graph, edge_weight_t>::const_type edge_map_type;
-  typedef typename property_traits<edge_map_type>::value_type 
-    edge_weight_type;
-
-  typename property_map<Graph, edge_weight_t>::type  em = get( edge_weight, g );
-  
-  BGL_FORALL_VERTICES_T( v, g, Graph ) {
-      edge_weight_type tmp = 0;
-      BGL_FORALL_OUTEDGES_T( v, e, g, Graph ) {
-        tmp += em[e];
-      }
-      n[out_degree( v, g )] += 1.;
-      dist[out_degree( v, g )] += tmp;
-  }
-
-  for( std::map<unsigned long, double>::iterator iter = dist.begin();
-       iter != dist.end(); ++iter ) {
-    BOOST_ASSERT( n[iter->first] != 0 );
-    dist[iter->first] /= n[iter->first];
-  }
-
-  return dist;
-}
-
-}}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_test.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_test.hpp
deleted file mode 100644
index 69d89f3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_test.hpp
+++ /dev/null
@@ -1,384 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_TEST_HPP
-#define BOOST_GRAPH_TEST_HPP
-
-#include <vector>
-#include <boost/test/minimal.hpp>
-#include <boost/graph/filtered_graph.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/isomorphism.hpp>
-#include <boost/graph/copy.hpp>
-#include <boost/graph/graph_utility.hpp> // for connects
-#include <boost/range.hpp>
-#include <boost/range/algorithm/find_if.hpp>
-
-
-// UNDER CONSTRUCTION 
-
-namespace boost {
-
-  template <typename Graph>
-  struct graph_test
-  {
-  
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef typename graph_traits<Graph>::degree_size_type deg_size_t;
-    typedef typename graph_traits<Graph>::edges_size_type e_size_t;
-    typedef typename graph_traits<Graph>::out_edge_iterator out_edge_iter;
-    typedef typename property_map<Graph, vertex_index_t>::type index_map_t;
-    typedef iterator_property_map<typename std::vector<vertex_t>::iterator,
-      index_map_t,vertex_t,vertex_t&> IsoMap;
-
-    struct ignore_vertex {
-      ignore_vertex() { }
-      ignore_vertex(vertex_t v) : v(v) { }
-      bool operator()(vertex_t x) const { return x != v; }
-      vertex_t v;
-    };
-    struct ignore_edge {
-      ignore_edge() { }
-      ignore_edge(edge_t e) : e(e) { }
-      bool operator()(edge_t x) const { return x != e; }
-      edge_t e;
-    };
-    struct ignore_edges {
-      ignore_edges(vertex_t s, vertex_t t, const Graph& g) 
-        : s(s), t(t), g(g) { }
-      bool operator()(edge_t x) const { 
-        return !(source(x, g) == s && target(x, g) == t);
-      }
-      vertex_t s; vertex_t t; const Graph& g;
-    };
-
-    //=========================================================================
-    // Traversal Operations
-
-    void test_incidence_graph
-       (const std::vector<vertex_t>& vertex_set,
-        const std::vector< std::pair<vertex_t, vertex_t> >& edge_set,
-        const Graph& g)
-    {
-      typedef typename std::vector<vertex_t>::const_iterator vertex_iter;
-      typedef typename std::vector< std::pair<vertex_t, vertex_t> >
-        ::const_iterator edge_iter;
-      typedef typename graph_traits<Graph>::out_edge_iterator out_edge_iter;
-
-      for (vertex_iter ui = vertex_set.begin(); ui != vertex_set.end(); ++ui) {
-        vertex_t u = *ui;
-        std::vector<vertex_t> adj;
-        for (edge_iter e = edge_set.begin(); e != edge_set.end(); ++e)
-          if (e->first == u)
-            adj.push_back(e->second);
-        
-        std::pair<out_edge_iter, out_edge_iter> p = out_edges(u, g);
-        BOOST_CHECK(out_degree(u, g) == adj.size());
-        BOOST_CHECK(deg_size_t(std::distance(p.first, p.second))
-                   == out_degree(u, g));
-        for (; p.first != p.second; ++p.first) {
-          edge_t e = *p.first;
-          BOOST_CHECK(source(e, g) == u);
-          BOOST_CHECK(container_contains(adj, target(e, g)) == true);
-        }
-      }
-    }
-
-    void test_bidirectional_graph
-      (const std::vector<vertex_t>& vertex_set,
-       const std::vector< std::pair<vertex_t, vertex_t> >& edge_set,
-       const Graph& g)
-    {
-      typedef typename std::vector<vertex_t>::const_iterator vertex_iter;
-      typedef typename std::vector< std::pair<vertex_t, vertex_t> >
-        ::const_iterator edge_iter;
-      typedef typename graph_traits<Graph>::in_edge_iterator in_edge_iter;
-
-      for (vertex_iter vi = vertex_set.begin(); vi != vertex_set.end(); ++vi) {
-        vertex_t v = *vi;
-        std::vector<vertex_t> inv_adj;
-        for (edge_iter e = edge_set.begin(); e != edge_set.end(); ++e)
-          if (e->second == v)
-            inv_adj.push_back(e->first);
-
-        std::pair<in_edge_iter, in_edge_iter> p = in_edges(v, g);
-        BOOST_CHECK(in_degree(v, g) == inv_adj.size());
-        BOOST_CHECK(deg_size_t(std::distance(p.first, p.second))
-                   == in_degree(v, g));
-        for (; p.first != p.second; ++p.first) {
-          edge_t e = *p.first;
-          BOOST_CHECK(target(e, g) == v);
-          BOOST_CHECK(container_contains(inv_adj, source(e, g)) == true);
-        }
-      }
-    }
-
-    void test_adjacency_graph
-      (const std::vector<vertex_t>& vertex_set,
-       const std::vector< std::pair<vertex_t,vertex_t> >& edge_set,
-       const Graph& g)
-    {
-      typedef typename std::vector<vertex_t>::const_iterator vertex_iter;
-      typedef typename std::vector<std::pair<vertex_t,vertex_t> >
-        ::const_iterator edge_iter;
-      typedef typename graph_traits<Graph>::adjacency_iterator adj_iter;
-
-      for (vertex_iter ui = vertex_set.begin(); ui != vertex_set.end(); ++ui) {
-        vertex_t u = *ui;
-        std::vector<vertex_t> adj;
-        for (edge_iter e = edge_set.begin(); e != edge_set.end(); ++e)
-          if (e->first == u)
-            adj.push_back(e->second);
-
-        std::pair<adj_iter, adj_iter> p = adjacent_vertices(u, g);
-        BOOST_CHECK(deg_size_t(std::distance(p.first, p.second)) == adj.size());
-        for (; p.first != p.second; ++p.first) {
-          vertex_t v = *p.first;
-          BOOST_CHECK(container_contains(adj, v) == true);
-        }
-      }
-    }      
-
-    void test_vertex_list_graph
-      (const std::vector<vertex_t>& vertex_set, const Graph& g)
-    {
-      typedef typename graph_traits<Graph>::vertex_iterator v_iter;
-      std::pair<v_iter, v_iter> p = vertices(g);
-      BOOST_CHECK(num_vertices(g) == vertex_set.size());
-      v_size_t n = (size_t)std::distance(p.first, p.second);
-      BOOST_CHECK(n == num_vertices(g));
-      for (; p.first != p.second; ++p.first) {
-        vertex_t v = *p.first;
-        BOOST_CHECK(container_contains(vertex_set, v) == true);
-      }
-    }
-
-    void test_edge_list_graph
-      (const std::vector<vertex_t>& vertex_set, 
-       const std::vector< std::pair<vertex_t, vertex_t> >& edge_set, 
-       const Graph& g)
-    {
-      typedef typename graph_traits<Graph>::edge_iterator e_iter;
-      std::pair<e_iter, e_iter> p = edges(g);
-      BOOST_CHECK(num_edges(g) == edge_set.size());
-      e_size_t m = std::distance(p.first, p.second);
-      BOOST_CHECK(m == num_edges(g));
-      for (; p.first != p.second; ++p.first) {
-        edge_t e = *p.first;
-        BOOST_CHECK(find_if(edge_set, connects(source(e, g), target(e, g), g)) != boost::end(edge_set));
-        BOOST_CHECK(container_contains(vertex_set, source(e, g)) == true);
-        BOOST_CHECK(container_contains(vertex_set, target(e, g)) == true);
-      }
-    }
-
-    void test_adjacency_matrix
-      (const std::vector<vertex_t>& vertex_set, 
-       const std::vector< std::pair<vertex_t, vertex_t> >& edge_set, 
-       const Graph& g)
-    {
-      std::pair<edge_t, bool> p;
-      for (typename std::vector<std::pair<vertex_t, vertex_t> >
-             ::const_iterator i = edge_set.begin();
-           i != edge_set.end(); ++i) {
-        p = edge(i->first, i->second, g);
-        BOOST_CHECK(p.second == true);
-        BOOST_CHECK(source(p.first, g) == i->first);
-        BOOST_CHECK(target(p.first, g) == i->second);
-      }
-      typename std::vector<vertex_t>::const_iterator j, k;
-      for (j = vertex_set.begin(); j != vertex_set.end(); ++j)
-        for (k = vertex_set.begin(); k != vertex_set.end(); ++k) {
-          p = edge(*j, *k, g);
-          if (p.second == true)
-            BOOST_CHECK(find_if(edge_set, 
-              connects(source(p.first, g), target(p.first, g), g)) != boost::end(edge_set));
-        }
-    }
-
-    //=========================================================================
-    // Mutating Operations
-
-    void test_add_vertex(Graph& g)
-    {
-      Graph cpy;
-      std::vector<vertex_t> iso_vec(num_vertices(g));
-      IsoMap iso_map(iso_vec.begin(), get(vertex_index, g));
-      copy_graph(g, cpy, orig_to_copy(iso_map));
-
-      BOOST_CHECK((verify_isomorphism(g, cpy, iso_map)));
-
-      vertex_t v = add_vertex(g);
-      
-      BOOST_CHECK(num_vertices(g) == num_vertices(cpy) + 1);
-
-      BOOST_CHECK(out_degree(v, g) == 0);
-
-      // Make sure the rest of the graph stayed the same
-      BOOST_CHECK((verify_isomorphism
-                  (make_filtered_graph(g, keep_all(), ignore_vertex(v)), cpy,
-                   iso_map)));
-    }
-    
-    void test_add_edge(vertex_t u, vertex_t v, Graph& g)
-    {
-      Graph cpy;
-      std::vector<vertex_t> iso_vec(num_vertices(g));
-      IsoMap iso_map(iso_vec.begin(), get(vertex_index, g));
-      copy_graph(g, cpy, orig_to_copy(iso_map));
-
-      bool parallel_edge_exists = container_contains(adjacent_vertices(u, g), v);
-      
-      std::pair<edge_t, bool> p = add_edge(u, v, g);
-      edge_t e = p.first;
-      bool added = p.second;
-
-      if (is_undirected(g) && u == v) // self edge
-        BOOST_CHECK(added == false);
-      else if (parallel_edge_exists)
-        BOOST_CHECK(allows_parallel_edges(g) && added == true
-                   || !allows_parallel_edges(g) && added == false);
-      else
-        BOOST_CHECK(added == true);
-
-      if (p.second == true) { // edge added
-        BOOST_CHECK(num_edges(g) == num_edges(cpy) + 1);
-        
-        BOOST_CHECK(container_contains(out_edges(u, g), e) == true);
-        
-        BOOST_CHECK((verify_isomorphism
-                    (make_filtered_graph(g, ignore_edge(e)), cpy, iso_map)));
-      }
-      else { // edge not added
-        if (! (is_undirected(g) && u == v)) {
-          // e should be a parallel edge
-          BOOST_CHECK(source(e, g) == u);
-          BOOST_CHECK(target(e, g) == v);
-        }
-        // The graph should not be changed.
-        BOOST_CHECK((verify_isomorphism(g, cpy, iso_map)));
-      }
-    } // test_add_edge()
-
-
-    void test_remove_edge(vertex_t u, vertex_t v, Graph& g)
-    {
-      Graph cpy;
-      std::vector<vertex_t> iso_vec(num_vertices(g));
-      IsoMap iso_map(iso_vec.begin(), get(vertex_index, g));
-      copy_graph(g, cpy, orig_to_copy(iso_map));
-
-      deg_size_t occurances = count(adjacent_vertices(u, g), v);
-
-      remove_edge(u, v, g);
-      
-      BOOST_CHECK(num_edges(g) + occurances == num_edges(cpy));
-      BOOST_CHECK((verify_isomorphism
-                  (g, make_filtered_graph(cpy, ignore_edges(u,v,cpy)),
-                   iso_map)));
-    }
-
-    void test_remove_edge(edge_t e, Graph& g)
-    {
-      Graph cpy;
-      std::vector<vertex_t> iso_vec(num_vertices(g));
-      IsoMap iso_map(iso_vec.begin(), get(vertex_index, g));
-      copy_graph(g, cpy, orig_to_copy(iso_map));
-
-      vertex_t u = source(e, g), v = target(e, g);
-      deg_size_t occurances = count(adjacent_vertices(u, g), v);
-      
-      remove_edge(e, g);
-
-      BOOST_CHECK(num_edges(g) + 1 == num_edges(cpy));
-      BOOST_CHECK(count(adjacent_vertices(u, g), v) + 1 == occurances);
-      BOOST_CHECK((verify_isomorphism
-                  (g, make_filtered_graph(cpy, ignore_edge(e)),
-                   iso_map)));
-    }
-
-    void test_clear_vertex(vertex_t v, Graph& g)
-    {
-      Graph cpy;
-      std::vector<vertex_t> iso_vec(num_vertices(g));
-      IsoMap iso_map(iso_vec.begin(), get(vertex_index, g));
-      copy_graph(g, cpy, orig_to_copy(iso_map));
-
-      clear_vertex(v, g);
-
-      BOOST_CHECK(out_degree(v, g) == 0);
-      BOOST_CHECK(num_vertices(g) == num_vertices(cpy));
-      BOOST_CHECK((verify_isomorphism
-                  (g, make_filtered_graph(cpy, keep_all(), ignore_vertex(v)),
-                   iso_map)));
-    }
-
-    //=========================================================================
-    // Property Map
-
-    template <typename PropVal, typename PropertyTag>
-    void test_readable_vertex_property_graph
-      (const std::vector<PropVal>& vertex_prop, PropertyTag tag, const Graph& g)
-    {
-      typedef typename property_map<Graph, PropertyTag>::const_type const_Map;
-      const_Map pmap = get(tag, g);
-      typename std::vector<PropVal>::const_iterator i = vertex_prop.begin();
-
-  for (typename boost::graph_traits<Graph>::vertex_iterator 
-           bgl_first_9 = vertices(g).first, bgl_last_9 = vertices(g).second;
-       bgl_first_9 != bgl_last_9; bgl_first_9 = bgl_last_9)
-    for (typename boost::graph_traits<Graph>::vertex_descriptor v;
-         bgl_first_9 != bgl_last_9 ? (v = *bgl_first_9, true) : false;
-         ++bgl_first_9) {
-      //BGL_FORALL_VERTICES_T(v, g, Graph) {
-        typename property_traits<const_Map>::value_type 
-          pval1 = get(pmap, v), pval2 = get(tag, g, v);
-        BOOST_CHECK(pval1 == pval2);
-        BOOST_CHECK(pval1 == *i++);
-      }
-    }
-
-    template <typename PropVal, typename PropertyTag>
-    void test_vertex_property_graph
-      (const std::vector<PropVal>& vertex_prop, PropertyTag tag, Graph& g)
-    {
-      typedef typename property_map<Graph, PropertyTag>::type PMap;
-      PMap pmap = get(tag, g);
-      typename std::vector<PropVal>::const_iterator i = vertex_prop.begin();
-  for (typename boost::graph_traits<Graph>::vertex_iterator 
-           bgl_first_9 = vertices(g).first, bgl_last_9 = vertices(g).second;
-       bgl_first_9 != bgl_last_9; bgl_first_9 = bgl_last_9)
-    for (typename boost::graph_traits<Graph>::vertex_descriptor v;
-         bgl_first_9 != bgl_last_9 ? (v = *bgl_first_9, true) : false;
-         ++bgl_first_9)
-      //      BGL_FORALL_VERTICES_T(v, g, Graph)
-        put(pmap, v, *i++);
-
-      test_readable_vertex_property_graph(vertex_prop, tag, g);
-
-      BGL_FORALL_VERTICES_T(v, g, Graph)
-        put(pmap, v, vertex_prop[0]);
-      
-      typename std::vector<PropVal>::const_iterator j = vertex_prop.begin();
-      BGL_FORALL_VERTICES_T(v, g, Graph)
-        put(tag, g, v, *j++);
-      
-      test_readable_vertex_property_graph(vertex_prop, tag, g);      
-    }
-    
-    
-  };
-
-
-} // namespace boost
-
-#include <boost/graph/iteration_macros_undef.hpp>
-
-#endif // BOOST_GRAPH_TEST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_traits.hpp
deleted file mode 100644
index a1c2748..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_traits.hpp
+++ /dev/null
@@ -1,404 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_TRAITS_HPP
-#define BOOST_GRAPH_TRAITS_HPP
-
-#include <boost/config.hpp>
-#include <iterator>
-#include <utility> /* Primarily for std::pair */
-#include <boost/tuple/tuple.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/pending/property.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-
-    namespace detail {
-#define BOOST_GRAPH_MEMBER_OR_VOID(name) \
-      BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \
-      template <typename T> struct BOOST_JOIN(get_member_, name) {typedef typename T::name type;}; \
-      template <typename T> struct BOOST_JOIN(get_opt_member_, name): \
-        boost::mpl::eval_if_c< \
-          BOOST_JOIN(has_, name)<T>::value, \
-          BOOST_JOIN(get_member_, name)<T>, \
-          boost::mpl::identity<void> > \
-        {};
-      BOOST_GRAPH_MEMBER_OR_VOID(adjacency_iterator)
-      BOOST_GRAPH_MEMBER_OR_VOID(out_edge_iterator)
-      BOOST_GRAPH_MEMBER_OR_VOID(in_edge_iterator)
-      BOOST_GRAPH_MEMBER_OR_VOID(vertex_iterator)
-      BOOST_GRAPH_MEMBER_OR_VOID(edge_iterator)
-      BOOST_GRAPH_MEMBER_OR_VOID(vertices_size_type)
-      BOOST_GRAPH_MEMBER_OR_VOID(edges_size_type)
-      BOOST_GRAPH_MEMBER_OR_VOID(degree_size_type)
-    }
-
-    template <typename G>
-    struct graph_traits {
-#define BOOST_GRAPH_PULL_OPT_MEMBER(name) \
-        typedef typename detail::BOOST_JOIN(get_opt_member_, name)<G>::type name;
-
-        typedef typename G::vertex_descriptor      vertex_descriptor;
-        typedef typename G::edge_descriptor        edge_descriptor;
-        BOOST_GRAPH_PULL_OPT_MEMBER(adjacency_iterator)
-        BOOST_GRAPH_PULL_OPT_MEMBER(out_edge_iterator)
-        BOOST_GRAPH_PULL_OPT_MEMBER(in_edge_iterator)
-        BOOST_GRAPH_PULL_OPT_MEMBER(vertex_iterator)
-        BOOST_GRAPH_PULL_OPT_MEMBER(edge_iterator)
-
-        typedef typename G::directed_category      directed_category;
-        typedef typename G::edge_parallel_category edge_parallel_category;
-        typedef typename G::traversal_category     traversal_category;
-
-        BOOST_GRAPH_PULL_OPT_MEMBER(vertices_size_type)
-        BOOST_GRAPH_PULL_OPT_MEMBER(edges_size_type)
-        BOOST_GRAPH_PULL_OPT_MEMBER(degree_size_type)
-#undef BOOST_GRAPH_PULL_OPT_MEMBER
-
-        static inline vertex_descriptor null_vertex();
-    };
-
-    template <typename G>
-    inline typename graph_traits<G>::vertex_descriptor
-    graph_traits<G>::null_vertex()
-    { return G::null_vertex(); }
-
-    // directed_category tags
-    struct directed_tag { };
-    struct undirected_tag { };
-    struct bidirectional_tag : public directed_tag { };
-
-    namespace detail {
-        inline bool is_directed(directed_tag) { return true; }
-        inline bool is_directed(undirected_tag) { return false; }
-    }
-
-    /** Return true if the given graph is directed. */
-    template <typename Graph>
-    bool is_directed(const Graph&) {
-        typedef typename graph_traits<Graph>::directed_category Cat;
-        return detail::is_directed(Cat());
-    }
-
-    /** Return true if the given graph is undirected. */
-    template <typename Graph>
-    bool is_undirected(const Graph& g) {
-        return !is_directed(g);
-    }
-
-    /** @name Directed/Undirected Graph Traits */
-    //@{
-    namespace graph_detail {
-        template <typename Tag>
-        struct is_directed_tag
-            : mpl::bool_<is_convertible<Tag, directed_tag>::value>
-        { };
-    } // namespace graph_detail
-
-    template <typename Graph>
-    struct is_directed_graph
-        : graph_detail::is_directed_tag<
-            typename graph_traits<Graph>::directed_category
-        >
-    { };
-
-    template <typename Graph>
-    struct is_undirected_graph
-        : mpl::not_< is_directed_graph<Graph> >
-    { };
-    //@}
-
-    // edge_parallel_category tags
-    struct allow_parallel_edge_tag { };
-    struct disallow_parallel_edge_tag { };
-
-    namespace detail {
-        inline bool allows_parallel(allow_parallel_edge_tag) { return true; }
-        inline bool allows_parallel(disallow_parallel_edge_tag) { return false; }
-    }
-
-    template <typename Graph>
-    bool allows_parallel_edges(const Graph&) {
-        typedef typename graph_traits<Graph>::edge_parallel_category Cat;
-        return detail::allows_parallel(Cat());
-    }
-
-    /** @name Parallel Edges Traits */
-    //@{
-    /**
-     * The is_multigraph metafunction returns true if the graph allows
-     * parallel edges. Technically, a multigraph is a simple graph that
-     * allows parallel edges, but since there are no traits for the allowance
-     * or disallowance of loops, this is a moot point.
-     */
-    template <typename Graph>
-    struct is_multigraph
-        : mpl::bool_<
-            is_same<
-                typename graph_traits<Graph>::edge_parallel_category,
-                allow_parallel_edge_tag
-            >::value
-        >
-    { };
-    //@}
-
-    // traversal_category tags
-    struct incidence_graph_tag { };
-    struct adjacency_graph_tag { };
-    struct bidirectional_graph_tag : virtual incidence_graph_tag { };
-    struct vertex_list_graph_tag { };
-    struct edge_list_graph_tag { };
-    struct adjacency_matrix_tag { };
-
-    // Parallel traversal_category tags
-    struct distributed_graph_tag { };
-    struct distributed_vertex_list_graph_tag { };
-    struct distributed_edge_list_graph_tag { };
-#define BOOST_GRAPH_SEQUENTIAL_TRAITS_DEFINES_DISTRIBUTED_TAGS // Disable these from external versions of PBGL
-
-    /** @name Traversal Category Traits
-     * These traits classify graph types by their supported methods of
-     * vertex and edge traversal.
-     */
-    //@{
-    template <typename Graph>
-    struct is_incidence_graph
-        : mpl::bool_<
-            is_convertible<
-                typename graph_traits<Graph>::traversal_category,
-                incidence_graph_tag
-            >::value
-        >
-    { };
-
-    template <typename Graph>
-    struct is_bidirectional_graph
-        : mpl::bool_<
-            is_convertible<
-                typename graph_traits<Graph>::traversal_category,
-                bidirectional_graph_tag
-            >::value
-        >
-    { };
-
-    template <typename Graph>
-    struct is_vertex_list_graph
-        : mpl::bool_<
-            is_convertible<
-                typename graph_traits<Graph>::traversal_category,
-                vertex_list_graph_tag
-            >::value
-        >
-    { };
-
-    template <typename Graph>
-    struct is_edge_list_graph
-        : mpl::bool_<
-            is_convertible<
-                typename graph_traits<Graph>::traversal_category,
-                edge_list_graph_tag
-            >::value
-        >
-    { };
-
-    template <typename Graph>
-    struct is_adjacency_matrix
-        : mpl::bool_<
-            is_convertible<
-                typename graph_traits<Graph>::traversal_category,
-                adjacency_matrix_tag
-            >::value
-        >
-    { };
-    //@}
-
-    /** @name Directed Graph Traits
-     * These metafunctions are used to fully classify directed vs. undirected
-     * graphs. Recall that an undirected graph is also bidirectional, but it
-     * cannot be both undirected and directed at the same time.
-     */
-    //@{
-    template <typename Graph>
-    struct is_directed_unidirectional_graph
-        : mpl::and_<
-            is_directed_graph<Graph>, mpl::not_< is_bidirectional_graph<Graph> >
-        >
-    { };
-
-    template <typename Graph>
-    struct is_directed_bidirectional_graph
-        : mpl::and_<
-            is_directed_graph<Graph>, is_bidirectional_graph<Graph>
-        >
-    { };
-    //@}
-
-    //?? not the right place ?? Lee
-    typedef boost::forward_traversal_tag multi_pass_input_iterator_tag;
-
-    namespace detail {
-      BOOST_MPL_HAS_XXX_TRAIT_DEF(graph_property_type)
-      BOOST_MPL_HAS_XXX_TRAIT_DEF(edge_property_type)
-      BOOST_MPL_HAS_XXX_TRAIT_DEF(vertex_property_type)
-
-      template <typename G> struct get_graph_property_type {typedef typename G::graph_property_type type;};
-      template <typename G> struct get_edge_property_type {typedef typename G::edge_property_type type;};
-      template <typename G> struct get_vertex_property_type {typedef typename G::vertex_property_type type;};
-    }
-
-    template <typename G>
-    struct graph_property_type
-      : boost::mpl::eval_if<detail::has_graph_property_type<G>,
-                            detail::get_graph_property_type<G>,
-                            no_property> {};
-    template <typename G>
-    struct edge_property_type
-      : boost::mpl::eval_if<detail::has_edge_property_type<G>,
-                            detail::get_edge_property_type<G>,
-                            no_property> {};
-    template <typename G>
-    struct vertex_property_type
-      : boost::mpl::eval_if<detail::has_vertex_property_type<G>,
-                            detail::get_vertex_property_type<G>,
-                            no_property> {};
-
-    template<typename G>
-    struct graph_bundle_type {
-      typedef typename G::graph_bundled type;
-    };
-
-    template<typename G>
-    struct vertex_bundle_type {
-      typedef typename G::vertex_bundled type;
-    };
-
-    template<typename G>
-    struct edge_bundle_type {
-      typedef typename G::edge_bundled type;
-    };
-
-    namespace graph { namespace detail {
-        template<typename Graph, typename Descriptor>
-        class bundled_result {
-            typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-            typedef typename mpl::if_c<(is_same<Descriptor, Vertex>::value),
-                                        vertex_bundle_type<Graph>,
-                                        edge_bundle_type<Graph> >::type bundler;
-        public:
-            typedef typename bundler::type type;
-        };
-
-        template<typename Graph>
-        class bundled_result<Graph, graph_bundle_t> {
-            typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-            typedef graph_bundle_type<Graph> bundler;
-        public:
-            typedef typename bundler::type type;
-        };
-
-    } } // namespace graph::detail
-
-    namespace graph_detail {
-      // A helper metafunction for determining whether or not a type is
-      // bundled.
-      template <typename T>
-      struct is_no_bundle : mpl::bool_<is_same<T, no_property>::value>
-      { };
-    } // namespace graph_detail
-
-    /** @name Graph Property Traits
-     * These metafunctions (along with those above), can be used to access the
-     * vertex and edge properties (bundled or otherwise) of vertices and
-     * edges.
-     */
-    //@{
-    template<typename Graph>
-    struct has_graph_property
-      : mpl::not_<
-        typename detail::is_no_property<
-          typename graph_property_type<Graph>::type
-        >::type
-      >::type
-    { };
-
-    template<typename Graph>
-    struct has_bundled_graph_property
-      : mpl::not_<
-        graph_detail::is_no_bundle<typename graph_bundle_type<Graph>::type>
-      >
-    { };
-
-    template <typename Graph>
-    struct has_vertex_property
-        : mpl::not_<
-            typename detail::is_no_property<typename vertex_property_type<Graph>::type>
-        >::type
-    { };
-
-    template <typename Graph>
-    struct has_bundled_vertex_property
-        : mpl::not_<
-            graph_detail::is_no_bundle<typename vertex_bundle_type<Graph>::type>
-        >
-    { };
-
-    template <typename Graph>
-    struct has_edge_property
-        : mpl::not_<
-            typename detail::is_no_property<typename edge_property_type<Graph>::type>
-        >::type
-    { };
-
-    template <typename Graph>
-    struct has_bundled_edge_property
-        : mpl::not_<
-            graph_detail::is_no_bundle<typename edge_bundle_type<Graph>::type>
-        >
-    { };
-    //@}
-
-} // namespace boost
-
-// Since pair is in namespace std, Koenig lookup will find source and
-// target if they are also defined in namespace std.  This is illegal,
-// but the alternative is to put source and target in the global
-// namespace which causes name conflicts with other libraries (like
-// SUIF).
-namespace std {
-
-  /* Some helper functions for dealing with pairs as edges */
-  template <class T, class G>
-  T source(pair<T,T> p, const G&) { return p.first; }
-
-  template <class T, class G>
-  T target(pair<T,T> p, const G&) { return p.second; }
-
-}
-
-#if defined(__GNUC__) && defined(__SGI_STL_PORT)
-// For some reason g++ with STLport does not see the above definition
-// of source() and target() unless we bring them into the boost
-// namespace.
-namespace boost {
-  using std::source;
-  using std::target;
-}
-#endif
-
-#endif // BOOST_GRAPH_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_utility.hpp
deleted file mode 100644
index f1f120e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graph_utility.hpp
+++ /dev/null
@@ -1,486 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_UTILITY_HPP
-#define BOOST_GRAPH_UTILITY_HPP
-
-#include <stdlib.h>
-#include <iostream>
-#include <algorithm>
-#include <assert.h>
-#include <boost/config.hpp>
-#include <boost/tuple/tuple.hpp>
-
-#if !defined BOOST_NO_SLIST
-#  ifdef BOOST_SLIST_HEADER
-#    include BOOST_SLIST_HEADER
-#  else
-#    include <slist>
-#  endif
-#endif
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/container_traits.hpp>
-#include <boost/graph/depth_first_search.hpp>
-// iota moved to detail/algorithm.hpp
-#include <boost/detail/algorithm.hpp>
-
-namespace boost {
-
-  // Provide an undirected graph interface alternative to the
-  // the source() and target() edge functions.
-  template <class UndirectedGraph>
-  inline 
-  std::pair<typename graph_traits<UndirectedGraph>::vertex_descriptor,
-            typename graph_traits<UndirectedGraph>::vertex_descriptor>
-  incident(typename graph_traits<UndirectedGraph>::edge_descriptor e,
-           UndirectedGraph& g)
-  {
-    return std::make_pair(source(e,g), target(e,g));
-  }
-
-  // Provide an undirected graph interface alternative
-  // to the out_edges() function.
-  template <class Graph>
-  inline 
-  std::pair<typename graph_traits<Graph>::out_edge_iterator,
-            typename graph_traits<Graph>::out_edge_iterator>
-  incident_edges(typename graph_traits<Graph>::vertex_descriptor u,
-                 Graph& g)
-  {
-    return out_edges(u, g);
-  }
-
-  template <class Graph>
-  inline typename graph_traits<Graph>::vertex_descriptor
-  opposite(typename graph_traits<Graph>::edge_descriptor e,
-           typename graph_traits<Graph>::vertex_descriptor v,
-           const Graph& g)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    if (v == source(e, g))
-      return target(e, g);
-    else if (v == target(e, g))
-      return source(e, g);
-    else
-      return vertex_descriptor();
-  }
-
-  //===========================================================================
-  // Some handy predicates
-
-  template <typename Vertex, typename Graph>
-  struct incident_from_predicate {
-    incident_from_predicate(Vertex u, const Graph& g)
-      : m_u(u), m_g(g) { }
-    template <class Edge>
-    bool operator()(const Edge& e) const {
-      return source(e, m_g) == m_u;
-    }
-    Vertex m_u;
-    const Graph& m_g;
-  };
-  template <typename Vertex, typename Graph>
-  inline incident_from_predicate<Vertex, Graph>
-  incident_from(Vertex u, const Graph& g) {
-    return incident_from_predicate<Vertex, Graph>(u, g);
-  }
-  
-  template <typename Vertex, typename Graph>
-  struct incident_to_predicate {
-    incident_to_predicate(Vertex u, const Graph& g)
-      : m_u(u), m_g(g) { }
-    template <class Edge>
-    bool operator()(const Edge& e) const {
-      return target(e, m_g) == m_u;
-    }
-    Vertex m_u;
-    const Graph& m_g;
-  };
-  template <typename Vertex, typename Graph>
-  inline incident_to_predicate<Vertex, Graph>
-  incident_to(Vertex u, const Graph& g) {
-    return incident_to_predicate<Vertex, Graph>(u, g);
-  }
-
-  template <typename Vertex, typename Graph>
-  struct incident_on_predicate {
-    incident_on_predicate(Vertex u, const Graph& g)
-      : m_u(u), m_g(g) { }
-    template <class Edge>
-    bool operator()(const Edge& e) const {
-      return source(e, m_g) == m_u || target(e, m_g) == m_u;
-    }
-    Vertex m_u;
-    const Graph& m_g;
-  };
-  template <typename Vertex, typename Graph>
-  inline incident_on_predicate<Vertex, Graph>
-  incident_on(Vertex u, const Graph& g) {
-    return incident_on_predicate<Vertex, Graph>(u, g);
-  }
-  
-  template <typename Vertex, typename Graph>
-  struct connects_predicate {
-    connects_predicate(Vertex u, Vertex v, const Graph& g)
-      : m_u(u), m_v(v), m_g(g) { }
-    template <class Edge>
-    bool operator()(const Edge& e) const {
-      if (is_directed(m_g))
-        return source(e, m_g) == m_u && target(e, m_g) == m_v;
-      else
-        return (source(e, m_g) == m_u && target(e, m_g) == m_v)
-          || (source(e, m_g) == m_v && target(e, m_g) == m_u);
-    }
-    Vertex m_u, m_v;
-    const Graph& m_g;
-  };
-  template <typename Vertex, typename Graph>
-  inline connects_predicate<Vertex, Graph>
-  connects(Vertex u, Vertex v, const Graph& g) {
-          return connects_predicate<Vertex, Graph>(u, v, g);
-  }
-
-
-  // Need to convert all of these printing functions to take an ostream object
-  // -JGS
-
-  template <class IncidenceGraph, class Name>
-  void print_in_edges(const IncidenceGraph& G, Name name)
-  {
-    typename graph_traits<IncidenceGraph>::vertex_iterator ui,ui_end;
-    for (boost::tie(ui,ui_end) = vertices(G); ui != ui_end; ++ui) {
-      std::cout << get(name,*ui) << " <-- ";
-      typename graph_traits<IncidenceGraph>
-        ::in_edge_iterator ei, ei_end;
-      for(boost::tie(ei,ei_end) = in_edges(*ui,G); ei != ei_end; ++ei)
-        std::cout << get(name,source(*ei,G)) << " ";
-      std::cout << std::endl;
-    }
-  }
-
-  template <class IncidenceGraph, class Name>
-  void print_graph_dispatch(const IncidenceGraph& G, Name name, directed_tag)
-  {
-    typename graph_traits<IncidenceGraph>::vertex_iterator ui,ui_end;
-    for (boost::tie(ui,ui_end) = vertices(G); ui != ui_end; ++ui) {
-      std::cout << get(name,*ui) << " --> ";
-      typename graph_traits<IncidenceGraph>
-        ::out_edge_iterator ei, ei_end;
-      for(boost::tie(ei,ei_end) = out_edges(*ui,G); ei != ei_end; ++ei)
-        std::cout << get(name,target(*ei,G)) << " ";
-      std::cout << std::endl;
-    }
-  }
-  template <class IncidenceGraph, class Name>
-  void print_graph_dispatch(const IncidenceGraph& G, Name name, undirected_tag)
-  {
-    typename graph_traits<IncidenceGraph>::vertex_iterator ui,ui_end;
-    for (boost::tie(ui,ui_end) = vertices(G); ui != ui_end; ++ui) {
-      std::cout << get(name,*ui) << " <--> ";
-      typename graph_traits<IncidenceGraph>
-        ::out_edge_iterator ei, ei_end;
-      for(boost::tie(ei,ei_end) = out_edges(*ui,G); ei != ei_end; ++ei)
-        std::cout << get(name,target(*ei,G)) << " ";
-      std::cout << std::endl;
-    }
-  }
-  template <class IncidenceGraph, class Name>
-  void print_graph(const IncidenceGraph& G, Name name)
-  {
-    typedef typename graph_traits<IncidenceGraph>
-      ::directed_category Cat;
-    print_graph_dispatch(G, name, Cat());
-  }
-  template <class IncidenceGraph>
-  void print_graph(const IncidenceGraph& G) {
-    print_graph(G, get(vertex_index, G));
-  }
-
-  template <class EdgeListGraph, class Name>
-  void print_edges(const EdgeListGraph& G, Name name)
-  {
-    typename graph_traits<EdgeListGraph>::edge_iterator ei, ei_end;
-    for (boost::tie(ei, ei_end) = edges(G); ei != ei_end; ++ei)
-      std::cout << "(" << get(name, source(*ei, G))
-                << "," << get(name, target(*ei, G)) << ") ";
-    std::cout << std::endl;
-  }
-
-  template <class EdgeListGraph, class VertexName, class EdgeName>
-  void print_edges2(const EdgeListGraph& G, VertexName vname, EdgeName ename)
-  {
-    typename graph_traits<EdgeListGraph>::edge_iterator ei, ei_end;
-    for (boost::tie(ei, ei_end) = edges(G); ei != ei_end; ++ei)
-      std::cout << get(ename, *ei) << "(" << get(vname, source(*ei, G))
-                << "," << get(vname, target(*ei, G)) << ") ";
-    std::cout << std::endl;
-  }
-
-  template <class VertexListGraph, class Name>
-  void print_vertices(const VertexListGraph& G, Name name)
-  {
-    typename graph_traits<VertexListGraph>::vertex_iterator vi,vi_end;
-    for (boost::tie(vi,vi_end) = vertices(G); vi != vi_end; ++vi)
-      std::cout << get(name,*vi) << " ";
-    std::cout << std::endl;
-  }
-
-  template <class Graph, class Vertex>
-  bool is_adj_dispatch(Graph& g, Vertex a, Vertex b, bidirectional_tag)
-  {
-    typename graph_traits<Graph>::adjacency_iterator vi, viend, 
-      adj_found;
-    boost::tie(vi, viend) = adjacent_vertices(a, g);
-    adj_found = std::find(vi, viend, b);
-    if (adj_found == viend)
-      return false;  
-
-    typename graph_traits<Graph>::out_edge_iterator oi, oiend, 
-      out_found;
-    boost::tie(oi, oiend) = out_edges(a, g);
-    out_found = std::find_if(oi, oiend, incident_to(b, g));
-    if (out_found == oiend)
-      return false;
-
-    typename graph_traits<Graph>::in_edge_iterator ii, iiend, 
-      in_found;
-    boost::tie(ii, iiend) = in_edges(b, g);
-    in_found = std::find_if(ii, iiend, incident_from(a, g));
-    if (in_found == iiend)
-      return false;
-
-    return true;
-  }
-  template <class Graph, class Vertex>
-  bool is_adj_dispatch(Graph& g, Vertex a, Vertex b, directed_tag)
-  {
-    typename graph_traits<Graph>::adjacency_iterator vi, viend, found;
-    boost::tie(vi, viend) = adjacent_vertices(a, g);
-    found = std::find(vi, viend, b);
-    if ( found == viend )
-      return false;
-
-    typename graph_traits<Graph>::out_edge_iterator oi, oiend, 
-      out_found;
-    boost::tie(oi, oiend) = out_edges(a, g);
-
-    out_found = std::find_if(oi, oiend, incident_to(b, g));
-    if (out_found == oiend)
-      return false;
-    return true;
-  }
-  template <class Graph, class Vertex>
-  bool is_adj_dispatch(Graph& g, Vertex a, Vertex b, undirected_tag)
-  {
-    return is_adj_dispatch(g, a, b, directed_tag());
-  }
-
-  template <class Graph, class Vertex>
-  bool is_adjacent(Graph& g, Vertex a, Vertex b) {
-    typedef typename graph_traits<Graph>::directed_category Cat;
-    return is_adj_dispatch(g, a, b, Cat());
-  }
-
-  template <class Graph, class Edge>
-  bool in_edge_set(Graph& g, Edge e)
-  {
-    typename Graph::edge_iterator ei, ei_end, found;
-    boost::tie(ei, ei_end) = edges(g);
-    found = std::find(ei, ei_end, e);
-    return found != ei_end;
-  }
-
-  template <class Graph, class Vertex>
-  bool in_vertex_set(Graph& g, Vertex v)
-  {
-    typename Graph::vertex_iterator vi, vi_end, found;
-    boost::tie(vi, vi_end) = vertices(g);
-    found = std::find(vi, vi_end, v);
-    return found != vi_end;
-  }
-
-  template <class Graph, class Vertex>
-  bool in_edge_set(Graph& g, Vertex u, Vertex v)
-  {
-    typename Graph::edge_iterator ei, ei_end;
-    for (boost::tie(ei,ei_end) = edges(g); ei != ei_end; ++ei)
-      if (source(*ei,g) == u && target(*ei,g) == v)
-        return true;
-    return false;
-  }
-
-  // is x a descendant of y?
-  template <typename ParentMap>
-  inline bool is_descendant
-  (typename property_traits<ParentMap>::value_type x,
-   typename property_traits<ParentMap>::value_type y,
-   ParentMap parent) 
-  {
-    if (get(parent, x) == x) // x is the root of the tree
-      return false;
-    else if (get(parent, x) == y)
-      return true;
-    else
-      return is_descendant(get(parent, x), y, parent);
-  }
-
-  // is y reachable from x?
-  template <typename IncidenceGraph, typename VertexColorMap>
-  inline bool is_reachable
-    (typename graph_traits<IncidenceGraph>::vertex_descriptor x,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor y,
-     const IncidenceGraph& g,
-     VertexColorMap color) // should start out white for every vertex
-  {
-    typedef typename property_traits<VertexColorMap>::value_type ColorValue;
-    dfs_visitor<> vis;
-    depth_first_visit(g, x, vis, color);
-    return get(color, y) != color_traits<ColorValue>::white();
-  }
-
-  // Is the undirected graph connected?
-  // Is the directed graph strongly connected?
-  template <typename VertexListGraph, typename VertexColorMap>
-  inline bool is_connected(const VertexListGraph& g, VertexColorMap color)
-  {
-    typedef typename property_traits<VertexColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typename graph_traits<VertexListGraph>::vertex_iterator 
-      ui, ui_end, vi, vi_end, ci, ci_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui)
-      for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-        if (*ui != *vi) {
-          for (boost::tie(ci, ci_end) = vertices(g); ci != ci_end; ++ci) 
-            put(color, *ci, Color::white());
-          if (! is_reachable(*ui, *vi, g, color))
-            return false;
-        }
-    return true;
-  }
-
-  template <typename Graph>
-  bool is_self_loop
-    (typename graph_traits<Graph>::edge_descriptor e,
-     const Graph& g)
-  {
-    return source(e, g) == target(e, g);
-  }
-
-
-  template <class T1, class T2>
-  std::pair<T1,T2> 
-  make_list(const T1& t1, const T2& t2) 
-    { return std::make_pair(t1, t2); }
-
-  template <class T1, class T2, class T3>
-  std::pair<T1,std::pair<T2,T3> > 
-  make_list(const T1& t1, const T2& t2, const T3& t3)
-    { return std::make_pair(t1, std::make_pair(t2, t3)); }
-
-  template <class T1, class T2, class T3, class T4>
-  std::pair<T1,std::pair<T2,std::pair<T3,T4> > > 
-  make_list(const T1& t1, const T2& t2, const T3& t3, const T4& t4)
-    { return std::make_pair(t1, std::make_pair(t2, std::make_pair(t3, t4))); }
-
-  template <class T1, class T2, class T3, class T4, class T5>
-  std::pair<T1,std::pair<T2,std::pair<T3,std::pair<T4,T5> > > > 
-  make_list(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5)
-    { return std::make_pair(t1, std::make_pair(t2, std::make_pair(t3, std::make_pair(t4, t5)))); }
-
-  namespace graph {
-    
-    // Functor for remove_parallel_edges: edge property of the removed edge is added to the remaining
-    template <typename EdgeProperty>
-    struct add_removed_edge_property
-    {
-      add_removed_edge_property(EdgeProperty ep) : ep(ep) {}
-      
-      template <typename Edge>
-      void operator() (Edge stay, Edge away)
-      {
-        put(ep, stay, get(ep, stay) + get(ep, away));
-      }
-      EdgeProperty  ep;
-    };
-
-    // Same as above: edge property is capacity here
-    template <typename Graph>
-    struct add_removed_edge_capacity
-      : add_removed_edge_property<typename property_map<Graph, edge_capacity_t>::type>
-    {
-      typedef add_removed_edge_property<typename property_map<Graph, edge_capacity_t>::type> base;
-      add_removed_edge_capacity(Graph& g) : base(get(edge_capacity, g)) {}
-    };    
-
-    template <typename Graph>
-    bool has_no_vertices(const Graph& g) {
-      typedef typename boost::graph_traits<Graph>::vertex_iterator vi;
-      std::pair<vi, vi> p = vertices(g);
-      return (p.first == p.second);
-    }
-
-    template <typename Graph>
-    bool has_no_edges(const Graph& g) {
-      typedef typename boost::graph_traits<Graph>::edge_iterator ei;
-      std::pair<ei, ei> p = edges(g);
-      return (p.first == p.second);
-    }
-
-    template <typename Graph>
-    bool has_no_out_edges(const typename boost::graph_traits<Graph>::vertex_descriptor& v, const Graph& g) {
-      typedef typename boost::graph_traits<Graph>::out_edge_iterator ei;
-      std::pair<ei, ei> p = out_edges(v, g);
-      return (p.first == p.second);
-    }
-
-  } // namespace graph
-
-  #include <boost/graph/iteration_macros.hpp>
-
-  template <class PropertyIn, class PropertyOut, class Graph>
-  void copy_vertex_property(PropertyIn p_in, PropertyOut p_out, Graph& g)
-  {
-    BGL_FORALL_VERTICES_T(u, g, Graph)
-      put(p_out, u, get(p_in, g));
-  }
-
-  template <class PropertyIn, class PropertyOut, class Graph>
-  void copy_edge_property(PropertyIn p_in, PropertyOut p_out, Graph& g)
-  {
-    BGL_FORALL_EDGES_T(e, g, Graph)
-      put(p_out, e, get(p_in, g));
-  }
-
-  // Return true if property_map1 and property_map2 differ
-  // for any of the vertices in graph.
-  template <typename PropertyMapFirst,
-            typename PropertyMapSecond,
-            typename Graph>
-  bool are_property_maps_different
-  (const PropertyMapFirst property_map1,
-   const PropertyMapSecond property_map2,
-   const Graph& graph) {
-  
-    BGL_FORALL_VERTICES_T(vertex, graph, Graph) {
-      if (get(property_map1, vertex) !=
-          get(property_map2, vertex)) {
-
-        return (true);
-      }
-    }
-
-    return (false);
-  }
-
-} /* namespace boost */
-
-#endif /* BOOST_GRAPH_UTILITY_HPP*/
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graphml.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graphml.hpp
deleted file mode 100644
index be73def..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graphml.hpp
+++ /dev/null
@@ -1,352 +0,0 @@
-// Copyright (C) 2006  Tiago de Paula Peixoto <tiago at forked.de>
-// Copyright (C) 2004  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: Douglas Gregor
-//           Andrew Lumsdaine
-//           Tiago de Paula Peixoto
-
-#ifndef BOOST_GRAPH_GRAPHML_HPP
-#define BOOST_GRAPH_GRAPHML_HPP
-
-#include <boost/config.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/any.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/graph/dll_import_export.hpp>
-#include <boost/graph/graphviz.hpp> // for exceptions
-#include <typeinfo>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/find.hpp>
-#include <boost/mpl/for_each.hpp>
-#include <boost/property_tree/detail/xml_parser_utils.hpp>
-#include <boost/throw_exception.hpp>
-#include <exception>
-#include <sstream>
-
-namespace boost
-{
-
-/////////////////////////////////////////////////////////////////////////////
-// Graph reader exceptions
-/////////////////////////////////////////////////////////////////////////////
-struct parse_error: public graph_exception
-{
-    parse_error(const std::string& err) {error = err; statement = "parse error: " + error;}
-    virtual ~parse_error() throw() {}
-    virtual const char* what() const throw() {return statement.c_str();}
-    std::string statement;
-    std::string error;
-};
-
-
-class mutate_graph
-{
-public:
-    virtual ~mutate_graph() {}
-    virtual bool is_directed() const = 0;
-
-    virtual boost::any do_add_vertex() = 0;
-    virtual std::pair<boost::any,bool> do_add_edge(boost::any source, boost::any target) = 0;
-
-    virtual void
-    set_graph_property(const std::string& name, const std::string& value, const std::string& value_type) = 0;
-
-    virtual void
-    set_vertex_property(const std::string& name, boost::any vertex, const std::string& value, const std::string& value_type) = 0;
-
-    virtual void
-    set_edge_property(const std::string& name, boost::any edge, const std::string& value, const std::string& value_type) = 0;
-};
-
-template<typename MutableGraph>
-class mutate_graph_impl : public mutate_graph
-{
-    typedef typename graph_traits<MutableGraph>::vertex_descriptor vertex_descriptor;
-    typedef typename graph_traits<MutableGraph>::edge_descriptor edge_descriptor;
-
- public:
-    mutate_graph_impl(MutableGraph& g, dynamic_properties& dp)
-        : m_g(g), m_dp(dp) { }
-
-    bool is_directed() const
-    {
-        return is_convertible<typename graph_traits<MutableGraph>::directed_category,
-                              directed_tag>::value;
-    }
-
-    virtual any do_add_vertex()
-    {
-        return any(add_vertex(m_g));
-    }
-
-    virtual std::pair<any,bool> do_add_edge(any source, any target)
-    {
-        std::pair<edge_descriptor,bool> retval = add_edge(any_cast<vertex_descriptor>(source),
-                                                          any_cast<vertex_descriptor>(target), m_g);
-        return std::make_pair(any(retval.first), retval.second);
-    }
-
-    virtual void
-    set_graph_property(const std::string& name, const std::string& value, const std::string& value_type)
-    {
-        bool type_found = false;
-        try
-        {
-            mpl::for_each<value_types>(put_property<MutableGraph,value_types>
-                                       (name, m_dp, m_g, value, value_type, m_type_names, type_found));
-        }
-        catch (bad_lexical_cast)
-        {
-            BOOST_THROW_EXCEPTION(
-              parse_error("invalid value \"" + value + "\" for key " +
-                          name + " of type " + value_type));
-        }
-        if (!type_found)
-        {
-            BOOST_THROW_EXCEPTION(
-              parse_error("unrecognized type \"" + value_type +
-                          "\" for key " + name));
-        }
-
-    }
-
-    virtual void
-    set_vertex_property(const std::string& name, any vertex, const std::string& value, const std::string& value_type)
-    {
-        bool type_found = false;
-        try
-        {
-            mpl::for_each<value_types>(put_property<vertex_descriptor,value_types>
-                                       (name, m_dp, any_cast<vertex_descriptor>(vertex),
-                                        value, value_type, m_type_names, type_found));
-        }
-        catch (bad_lexical_cast)
-        {
-            BOOST_THROW_EXCEPTION(
-              parse_error("invalid value \"" + value + "\" for key " +
-                          name + " of type " + value_type));
-        }
-        if (!type_found)
-        {
-            BOOST_THROW_EXCEPTION(
-              parse_error("unrecognized type \"" + value_type +
-                          "\" for key " + name));
-        }
-
-    }
-
-    virtual void
-    set_edge_property(const std::string& name, any edge, const std::string& value, const std::string& value_type)
-    {
-        bool type_found = false;
-        try
-        {
-            mpl::for_each<value_types>(put_property<edge_descriptor,value_types>
-                                       (name, m_dp, any_cast<edge_descriptor>(edge),
-                                        value, value_type, m_type_names, type_found));
-        }
-        catch (bad_lexical_cast)
-        {
-            BOOST_THROW_EXCEPTION(
-              parse_error("invalid value \"" + value + "\" for key " +
-                          name + " of type " + value_type));
-        }
-        if (!type_found)
-        {
-            BOOST_THROW_EXCEPTION(
-              parse_error("unrecognized type \"" + value_type +
-                          "\" for key " + name));
-        }
-    }
-
-    template <typename Key, typename ValueVector>
-    class put_property
-    {
-    public:
-        put_property(const std::string& name, dynamic_properties& dp, const Key& key,
-                     const std::string& value, const std::string& value_type,
-                     const char** type_names, bool& type_found)
-            : m_name(name), m_dp(dp), m_key(key), m_value(value),
-              m_value_type(value_type), m_type_names(type_names),
-              m_type_found(type_found) {}
-        template <class Value>
-        void operator()(Value)
-        {
-            if (m_value_type == m_type_names[mpl::find<ValueVector,Value>::type::pos::value])
-            {
-                put(m_name, m_dp, m_key, lexical_cast<Value>(m_value));
-                m_type_found = true;
-            }
-        }
-    private:
-        const std::string& m_name;
-        dynamic_properties& m_dp;
-        const Key& m_key;
-        const std::string& m_value;
-        const std::string& m_value_type;
-        const char** m_type_names;
-        bool& m_type_found;
-    };
-
-protected:
-    MutableGraph& m_g;
-    dynamic_properties& m_dp;
-    typedef mpl::vector<bool, int, long, float, double, std::string> value_types;
-    static const char* m_type_names[];
-};
-
-template<typename MutableGraph>
-const char* mutate_graph_impl<MutableGraph>::m_type_names[] = {"boolean", "int", "long", "float", "double", "string"};
-
-void BOOST_GRAPH_DECL
-read_graphml(std::istream& in, mutate_graph& g, size_t desired_idx);
-
-template<typename MutableGraph>
-void
-read_graphml(std::istream& in, MutableGraph& g, dynamic_properties& dp, size_t desired_idx = 0)
-{
-    mutate_graph_impl<MutableGraph> mg(g,dp);
-    read_graphml(in, mg, desired_idx);
-}
-
-template <typename Types>
-class get_type_name
-{
-public:
-    get_type_name(const std::type_info& type, const char** type_names, std::string& type_name)
-        : m_type(type), m_type_names(type_names), m_type_name(type_name) {}
-    template <typename Type>
-    void operator()(Type)
-    {
-        if (typeid(Type) == m_type)
-            m_type_name = m_type_names[mpl::find<Types,Type>::type::pos::value];
-    }
-private:
-    const std::type_info &m_type;
-    const char** m_type_names;
-    std::string &m_type_name;
-};
-
-
-template <typename Graph, typename VertexIndexMap>
-void
-write_graphml(std::ostream& out, const Graph& g, VertexIndexMap vertex_index,
-              const dynamic_properties& dp, bool ordered_vertices=false)
-{
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    using boost::property_tree::xml_parser::encode_char_entities;
-
-    BOOST_STATIC_CONSTANT(bool,
-                          graph_is_directed =
-                          (is_convertible<directed_category*, directed_tag*>::value));
-
-    out << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-        << "<graphml xmlns=\"http://graphml.graphdrawing.org/xmlns\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd\">\n";
-
-    typedef mpl::vector<bool, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string> value_types;
-    const char* type_names[] = {"boolean", "int", "int", "int", "int", "long", "long", "long", "long", "float", "double", "double", "string"};
-    std::map<std::string, std::string> graph_key_ids;
-    std::map<std::string, std::string> vertex_key_ids;
-    std::map<std::string, std::string> edge_key_ids;
-    int key_count = 0;
-
-    // Output keys
-    for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
-    {
-        std::string key_id = "key" + lexical_cast<std::string>(key_count++);
-        if (i->second->key() == typeid(Graph*))
-            graph_key_ids[i->first] = key_id;
-        else if (i->second->key() == typeid(vertex_descriptor))
-            vertex_key_ids[i->first] = key_id;
-        else if (i->second->key() == typeid(edge_descriptor))
-            edge_key_ids[i->first] = key_id;
-        else
-            continue;
-        std::string type_name = "string";
-        mpl::for_each<value_types>(get_type_name<value_types>(i->second->value(), type_names, type_name));
-        out << "  <key id=\"" << encode_char_entities(key_id) << "\" for=\""
-            << (i->second->key() == typeid(Graph*) ? "graph" : (i->second->key() == typeid(vertex_descriptor) ? "node" : "edge")) << "\""
-            << " attr.name=\"" << i->first << "\""
-            << " attr.type=\"" << type_name << "\""
-            << " />\n";
-    }
-
-    out << "  <graph id=\"G\" edgedefault=\""
-        << (graph_is_directed ? "directed" : "undirected") << "\""
-        << " parse.nodeids=\"" << (ordered_vertices ? "canonical" : "free") << "\""
-        << " parse.edgeids=\"canonical\" parse.order=\"nodesfirst\">\n";
-
-    // Output graph data
-    for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
-    {
-        if (i->second->key() == typeid(Graph*))
-        {
-            // The const_cast here is just to get typeid correct for property
-            // map key; the graph should not be mutated using it.
-            out << "   <data key=\"" << graph_key_ids[i->first] << "\">"
-                << encode_char_entities(i->second->get_string(const_cast<Graph*>(&g))) << "</data>\n";
-        }
-    }
-
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-    vertex_iterator v, v_end;
-    for (boost::tie(v, v_end) = vertices(g); v != v_end; ++v)
-    {
-        out << "    <node id=\"n" << get(vertex_index, *v) << "\">\n";
-        // Output data
-        for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
-        {
-            if (i->second->key() == typeid(vertex_descriptor))
-            {
-                out << "      <data key=\"" << vertex_key_ids[i->first] << "\">"
-                    << encode_char_entities(i->second->get_string(*v)) << "</data>\n";
-            }
-        }
-        out << "    </node>\n";
-    }
-
-    typedef typename graph_traits<Graph>::edge_iterator edge_iterator;
-    edge_iterator e, e_end;
-    typename graph_traits<Graph>::edges_size_type edge_count = 0;
-    for (boost::tie(e, e_end) = edges(g); e != e_end; ++e)
-    {
-        out << "    <edge id=\"e" << edge_count++ << "\" source=\"n"
-            << get(vertex_index, source(*e, g)) << "\" target=\"n"
-            << get(vertex_index, target(*e, g)) << "\">\n";
-
-        // Output data
-        for (dynamic_properties::const_iterator i = dp.begin(); i != dp.end(); ++i)
-        {
-            if (i->second->key() == typeid(edge_descriptor))
-            {
-                out << "      <data key=\"" << edge_key_ids[i->first] << "\">"
-                    << encode_char_entities(i->second->get_string(*e)) << "</data>\n";
-            }
-        }
-        out << "    </edge>\n";
-    }
-
-    out << "  </graph>\n"
-        << "</graphml>\n";
-}
-
-
-template <typename Graph>
-void
-write_graphml(std::ostream& out, const Graph& g, const dynamic_properties& dp,
-              bool ordered_vertices=false)
-{
-    write_graphml(out, g, get(vertex_index, g), dp, ordered_vertices);
-}
-
-} // boost namespace
-
-#endif // BOOST_GRAPH_GRAPHML_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graphviz.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/graphviz.hpp
deleted file mode 100644
index 1c8cb19..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/graphviz.hpp
+++ /dev/null
@@ -1,958 +0,0 @@
-//=======================================================================
-// Copyright 2001 University of Notre Dame.
-// Copyright 2003 Jeremy Siek
-// Authors: Lie-Quan Lee, Jeremy Siek, and 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)
-//=======================================================================
-#ifndef BOOST_GRAPHVIZ_HPP
-#define BOOST_GRAPHVIZ_HPP
-
-#include <boost/config.hpp>
-#include <string>
-#include <map>
-#include <iostream>
-#include <fstream>
-#include <stdio.h> // for FILE
-#include <boost/property_map/property_map.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/subgraph.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/property_map/dynamic_property_map.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/graph/dll_import_export.hpp>
-#include <boost/graph/compressed_sparse_row_graph.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/spirit/include/classic_multi_pass.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/algorithm/string/replace.hpp>
-#include <boost/xpressive/xpressive_static.hpp>
-#include <boost/foreach.hpp>
-
-namespace boost {
-
-  template <typename directed_category>
-  struct graphviz_io_traits {
-    static std::string name() {
-      return "digraph";
-    }
-    static std::string delimiter() {
-      return "->";
-    }  };
-
-  template <>
-  struct graphviz_io_traits <undirected_tag> {
-    static std::string name() {
-      return "graph";
-    }
-    static std::string delimiter() {
-      return "--";
-    }
-  };
-
-  struct default_writer {
-    void operator()(std::ostream&) const {
-    }
-    template <class VorE>
-    void operator()(std::ostream&, const VorE&) const {
-    }
-  };
-
-  template <typename T>
-  inline std::string escape_dot_string(const T& obj) {
-    using namespace boost::xpressive;
-    static sregex valid_unquoted_id = (((alpha | '_') >> *_w) | (!as_xpr('-') >> (('.' >> *_d) | (+_d >> !('.' >> *_d)))));
-    std::string s(boost::lexical_cast<std::string>(obj));
-    if (regex_match(s, valid_unquoted_id)) {
-      return s;
-    } else {
-      boost::algorithm::replace_all(s, "\"", "\\\"");
-      return "\"" + s + "\"";
-    }
-  }
-
-  template <class Name>
-  class label_writer {
-  public:
-    label_writer(Name _name) : name(_name) {}
-    template <class VertexOrEdge>
-    void operator()(std::ostream& out, const VertexOrEdge& v) const {
-      out << "[label=" << escape_dot_string(get(name, v)) << "]";
-    }
-  private:
-    Name name;
-  };
-  template <class Name>
-  inline label_writer<Name>
-  make_label_writer(Name n) {
-    return label_writer<Name>(n);
-  }
-
-  enum edge_attribute_t        { edge_attribute        = 1111 };
-  enum vertex_attribute_t      { vertex_attribute      = 2222 };
-  enum graph_graph_attribute_t { graph_graph_attribute = 3333 };
-  enum graph_vertex_attribute_t  { graph_vertex_attribute  = 4444 };
-  enum graph_edge_attribute_t  { graph_edge_attribute  = 5555 };
-
-  BOOST_INSTALL_PROPERTY(edge, attribute);
-  BOOST_INSTALL_PROPERTY(vertex, attribute);
-  BOOST_INSTALL_PROPERTY(graph, graph_attribute);
-  BOOST_INSTALL_PROPERTY(graph, vertex_attribute);
-  BOOST_INSTALL_PROPERTY(graph, edge_attribute);
-
-
-  template <class Attribute>
-  inline void write_attributes(const Attribute& attr, std::ostream& out) {
-    typename Attribute::const_iterator i, iend;
-    i    = attr.begin();
-    iend = attr.end();
-
-    while ( i != iend ) {
-      out << i->first << "=" << escape_dot_string(i->second);
-      ++i;
-      if ( i != iend )
-        out << ", ";
-    }
-  }
-
-  template<typename Attributes>
-  inline void write_all_attributes(Attributes attributes,
-                                   const std::string& name,
-                                   std::ostream& out)
-  {
-    typename Attributes::const_iterator i = attributes.begin(),
-                                        end = attributes.end();
-    if (i != end) {
-      out << name << " [\n";
-      write_attributes(attributes, out);
-      out << "];\n";
-    }
-  }
-
-  inline void write_all_attributes(detail::error_property_not_found,
-                                   const std::string&,
-                                   std::ostream&)
-  {
-    // Do nothing - no attributes exist
-  }
-
-
-
-
-  template <typename GraphGraphAttributes,
-            typename GraphNodeAttributes,
-            typename GraphEdgeAttributes>
-  struct graph_attributes_writer
-  {
-    graph_attributes_writer(GraphGraphAttributes gg,
-                            GraphNodeAttributes gn,
-                            GraphEdgeAttributes ge)
-      : g_attributes(gg), n_attributes(gn), e_attributes(ge) { }
-
-    void operator()(std::ostream& out) const {
-      write_all_attributes(g_attributes, "graph", out);
-      write_all_attributes(n_attributes, "node", out);
-      write_all_attributes(e_attributes, "edge", out);
-    }
-    GraphGraphAttributes g_attributes;
-    GraphNodeAttributes n_attributes;
-    GraphEdgeAttributes e_attributes;
-  };
-
-  template <typename GAttrMap, typename NAttrMap, typename EAttrMap>
-  graph_attributes_writer<GAttrMap, NAttrMap, EAttrMap>
-  make_graph_attributes_writer(const GAttrMap& g_attr, const NAttrMap& n_attr,
-                              const EAttrMap& e_attr) {
-    return graph_attributes_writer<GAttrMap, NAttrMap, EAttrMap>
-      (g_attr, n_attr, e_attr);
-  }
-
-
-  template <typename Graph>
-  graph_attributes_writer
-    <typename graph_property<Graph, graph_graph_attribute_t>::type,
-     typename graph_property<Graph, graph_vertex_attribute_t>::type,
-     typename graph_property<Graph, graph_edge_attribute_t>::type>
-  make_graph_attributes_writer(const Graph& g)
-  {
-    typedef typename graph_property<Graph, graph_graph_attribute_t>::type
-      GAttrMap;
-    typedef typename graph_property<Graph, graph_vertex_attribute_t>::type
-      NAttrMap;
-    typedef typename graph_property<Graph, graph_edge_attribute_t>::type
-      EAttrMap;
-    GAttrMap gam = get_property(g, graph_graph_attribute);
-    NAttrMap nam = get_property(g, graph_vertex_attribute);
-    EAttrMap eam = get_property(g, graph_edge_attribute);
-    graph_attributes_writer<GAttrMap, NAttrMap, EAttrMap> writer(gam, nam, eam);
-    return writer;
-  }
-
-  template <typename AttributeMap>
-  struct attributes_writer {
-    attributes_writer(AttributeMap attr)
-      : attributes(attr) { }
-
-    template <class VorE>
-    void operator()(std::ostream& out, const VorE& e) const {
-      this->write_attribute(out, attributes[e]);
-    }
-
-    private:
-      template<typename AttributeSequence>
-      void write_attribute(std::ostream& out,
-                           const AttributeSequence& seq) const
-      {
-        if (!seq.empty()) {
-          out << "[";
-          write_attributes(seq, out);
-          out << "]";
-        }
-      }
-
-      void write_attribute(std::ostream&,
-                           detail::error_property_not_found) const
-      {
-      }
-    AttributeMap attributes;
-  };
-
-  template <typename Graph>
-  attributes_writer
-    <typename property_map<Graph, edge_attribute_t>::const_type>
-  make_edge_attributes_writer(const Graph& g)
-  {
-    typedef typename property_map<Graph, edge_attribute_t>::const_type
-      EdgeAttributeMap;
-    return attributes_writer<EdgeAttributeMap>(get(edge_attribute, g));
-  }
-
-  template <typename Graph>
-  attributes_writer
-    <typename property_map<Graph, vertex_attribute_t>::const_type>
-  make_vertex_attributes_writer(const Graph& g)
-  {
-    typedef typename property_map<Graph, vertex_attribute_t>::const_type
-      VertexAttributeMap;
-    return attributes_writer<VertexAttributeMap>(get(vertex_attribute, g));
-  }
-
-  template <typename Graph, typename VertexPropertiesWriter,
-            typename EdgePropertiesWriter, typename GraphPropertiesWriter,
-            typename VertexID>
-  inline void
-  write_graphviz
-    (std::ostream& out, const Graph& g,
-     VertexPropertiesWriter vpw,
-     EdgePropertiesWriter epw,
-     GraphPropertiesWriter gpw,
-     VertexID vertex_id
-     BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  {
-    BOOST_CONCEPT_ASSERT((EdgeListGraphConcept<Graph>));
-
-    typedef typename graph_traits<Graph>::directed_category cat_type;
-    typedef graphviz_io_traits<cat_type> Traits;
-    std::string name = "G";
-    out << Traits::name() << " " << escape_dot_string(name) << " {" << std::endl;
-
-    gpw(out); //print graph properties
-
-    typename graph_traits<Graph>::vertex_iterator i, end;
-
-    for(boost::tie(i,end) = vertices(g); i != end; ++i) {
-      out << escape_dot_string(get(vertex_id, *i));
-      vpw(out, *i); //print vertex attributes
-      out << ";" << std::endl;
-    }
-    typename graph_traits<Graph>::edge_iterator ei, edge_end;
-    for(boost::tie(ei, edge_end) = edges(g); ei != edge_end; ++ei) {
-      out << escape_dot_string(get(vertex_id, source(*ei, g))) << Traits::delimiter() << escape_dot_string(get(vertex_id, target(*ei, g))) << " ";
-      epw(out, *ei); //print edge attributes
-      out << ";" << std::endl;
-    }
-    out << "}" << std::endl;
-  }
-
-  template <typename Graph, typename VertexPropertiesWriter,
-            typename EdgePropertiesWriter, typename GraphPropertiesWriter>
-  inline void
-  write_graphviz(std::ostream& out, const Graph& g,
-                 VertexPropertiesWriter vpw,
-                 EdgePropertiesWriter epw,
-                 GraphPropertiesWriter gpw
-                 BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  { write_graphviz(out, g, vpw, epw, gpw, get(vertex_index, g)); }
-
-  template <typename Graph>
-  inline void
-  write_graphviz(std::ostream& out, const Graph& g
-                 BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  {
-    default_writer dw;
-    default_writer gw;
-    write_graphviz(out, g, dw, dw, gw);
-  }
-
-  template <typename Graph, typename VertexWriter>
-  inline void
-  write_graphviz(std::ostream& out, const Graph& g, VertexWriter vw
-                 BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  {
-    default_writer dw;
-    default_writer gw;
-    write_graphviz(out, g, vw, dw, gw);
-  }
-
-  template <typename Graph, typename VertexWriter, typename EdgeWriter>
-  inline void
-  write_graphviz(std::ostream& out, const Graph& g,
-                 VertexWriter vw, EdgeWriter ew
-                 BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  {
-    default_writer gw;
-    write_graphviz(out, g, vw, ew, gw);
-  }
-
-  namespace detail {
-
-    template <class Graph_, class RandomAccessIterator, class VertexID>
-    void write_graphviz_subgraph (std::ostream& out,
-                                  const subgraph<Graph_>& g,
-                                  RandomAccessIterator vertex_marker,
-                                  RandomAccessIterator edge_marker,
-                                  VertexID vertex_id)
-    {
-      typedef subgraph<Graph_> Graph;
-      typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-      typedef typename graph_traits<Graph>::directed_category cat_type;
-      typedef graphviz_io_traits<cat_type> Traits;
-
-      typedef typename graph_property<Graph, graph_name_t>::type NameType;
-      const NameType& g_name = get_property(g, graph_name);
-
-      if ( g.is_root() )
-        out << Traits::name() ;
-      else
-        out << "subgraph";
-
-      out << " " << escape_dot_string(g_name) << " {" << std::endl;
-
-      typename Graph::const_children_iterator i_child, j_child;
-
-      //print graph/node/edge attributes
-      make_graph_attributes_writer(g)(out);
-
-      //print subgraph
-      for ( boost::tie(i_child,j_child) = g.children();
-            i_child != j_child; ++i_child )
-        write_graphviz_subgraph(out, *i_child, vertex_marker, edge_marker,
-                                vertex_id);
-
-      // Print out vertices and edges not in the subgraphs.
-
-      typename graph_traits<Graph>::vertex_iterator i, end;
-      typename graph_traits<Graph>::edge_iterator ei, edge_end;
-
-      for(boost::tie(i,end) = vertices(g); i != end; ++i) {
-        Vertex v = g.local_to_global(*i);
-        int pos = get(vertex_id, v);
-        if ( vertex_marker[pos] ) {
-          vertex_marker[pos] = false;
-          out << escape_dot_string(pos);
-          make_vertex_attributes_writer(g.root())(out, v);
-          out << ";" << std::endl;
-        }
-      }
-
-      for (boost::tie(ei, edge_end) = edges(g); ei != edge_end; ++ei) {
-        Vertex u = g.local_to_global(source(*ei,g)),
-          v = g.local_to_global(target(*ei, g));
-        int pos = get(get(edge_index, g.root()), g.local_to_global(*ei));
-        if ( edge_marker[pos] ) {
-          edge_marker[pos] = false;
-          out << escape_dot_string(get(vertex_id, u)) << " " << Traits::delimiter()
-              << " " << escape_dot_string(get(vertex_id, v));
-          make_edge_attributes_writer(g)(out, *ei); //print edge properties
-          out << ";" << std::endl;
-        }
-      }
-      out << "}" << std::endl;
-    }
-  } // namespace detail
-
-  // requires graph_name graph property
-  template <typename Graph>
-  void write_graphviz(std::ostream& out, const subgraph<Graph>& g) {
-    std::vector<bool> edge_marker(num_edges(g), true);
-    std::vector<bool> vertex_marker(num_vertices(g), true);
-
-    detail::write_graphviz_subgraph(out, g,
-                                    vertex_marker.begin(),
-                                    edge_marker.begin(),
-                                    get(vertex_index, g));
-  }
-
-  template <typename Graph>
-  void write_graphviz(const std::string& filename, const subgraph<Graph>& g) {
-    std::ofstream out(filename.c_str());
-    std::vector<bool> edge_marker(num_edges(g), true);
-    std::vector<bool> vertex_marker(num_vertices(g), true);
-
-    detail::write_graphviz_subgraph(out, g,
-                                    vertex_marker.begin(),
-                                    edge_marker.begin(),
-                                    get(vertex_index, g));
-  }
-
-  template <typename Graph, typename VertexID>
-  void write_graphviz(std::ostream& out, const subgraph<Graph>& g,
-                      VertexID vertex_id)
-  {
-    std::vector<bool> edge_marker(num_edges(g), true);
-    std::vector<bool> vertex_marker(num_vertices(g), true);
-
-    detail::write_graphviz_subgraph(out, g,
-                                    vertex_marker.begin(),
-                                    edge_marker.begin(),
-                                    vertex_id);
-  }
-
-  template <typename Graph, typename VertexID>
-  void write_graphviz(const std::string& filename, const subgraph<Graph>& g,
-                      VertexID vertex_id)
-  {
-    std::ofstream out(filename.c_str());
-    std::vector<bool> edge_marker(num_edges(g), true);
-    std::vector<bool> vertex_marker(num_vertices(g), true);
-
-    detail::write_graphviz_subgraph(out, g,
-                                    vertex_marker.begin(),
-                                    edge_marker.begin(),
-                                    vertex_id);
-  }
-
-#if 0
-  // This interface has not worked for a long time
-  typedef std::map<std::string, std::string> GraphvizAttrList;
-
-  typedef property<vertex_attribute_t, GraphvizAttrList>
-          GraphvizVertexProperty;
-
-  typedef property<edge_attribute_t, GraphvizAttrList,
-                   property<edge_index_t, int> >
-          GraphvizEdgeProperty;
-
-  typedef property<graph_graph_attribute_t, GraphvizAttrList,
-                   property<graph_vertex_attribute_t, GraphvizAttrList,
-                   property<graph_edge_attribute_t, GraphvizAttrList,
-                   property<graph_name_t, std::string> > > >
-          GraphvizGraphProperty;
-
-  typedef subgraph<adjacency_list<vecS,
-                   vecS, directedS,
-                   GraphvizVertexProperty,
-                   GraphvizEdgeProperty,
-                   GraphvizGraphProperty> >
-          GraphvizDigraph;
-
-  typedef subgraph<adjacency_list<vecS,
-                   vecS, undirectedS,
-                   GraphvizVertexProperty,
-                   GraphvizEdgeProperty,
-                   GraphvizGraphProperty> >
-          GraphvizGraph;
-
-  // These four require linking the BGL-Graphviz library: libbgl-viz.a
-  // from the /src directory.
-  // Library has not existed for a while
-  extern void read_graphviz(const std::string& file, GraphvizDigraph& g);
-  extern void read_graphviz(FILE* file, GraphvizDigraph& g);
-  
-  extern void read_graphviz(const std::string& file, GraphvizGraph& g);
-  extern void read_graphviz(FILE* file, GraphvizGraph& g);
-#endif
-
-  class dynamic_properties_writer
-  {
-  public:
-    dynamic_properties_writer(const dynamic_properties& dp) : dp(&dp) { }
-
-    template<typename Descriptor>
-    void operator()(std::ostream& out, Descriptor key) const
-    {
-      bool first = true;
-      for (dynamic_properties::const_iterator i = dp->begin();
-           i != dp->end(); ++i) {
-        if (typeid(key) == i->second->key()) {
-          if (first) out << " [";
-          else out << ", ";
-          first = false;
-
-          out << i->first << "=" << escape_dot_string(i->second->get_string(key));
-        }
-      }
-
-      if (!first) out << "]";
-    }
-
-  private:
-    const dynamic_properties* dp;
-  };
-
-  class dynamic_vertex_properties_writer
-  {
-  public:
-    dynamic_vertex_properties_writer(const dynamic_properties& dp,
-                                     const std::string& node_id)
-      : dp(&dp), node_id(&node_id) { }
-
-    template<typename Descriptor>
-    void operator()(std::ostream& out, Descriptor key) const
-    {
-      bool first = true;
-      for (dynamic_properties::const_iterator i = dp->begin();
-           i != dp->end(); ++i) {
-        if (typeid(key) == i->second->key()
-            && i->first != *node_id) {
-          if (first) out << " [";
-          else out << ", ";
-          first = false;
-
-          out << i->first << "=" << escape_dot_string(i->second->get_string(key));
-        }
-      }
-
-      if (!first) out << "]";
-    }
-
-  private:
-    const dynamic_properties* dp;
-    const std::string* node_id;
-  };
-
-  template <typename Graph>
-  class dynamic_graph_properties_writer
-  {
-  public:
-    dynamic_graph_properties_writer(const dynamic_properties& dp, const Graph& g) : g(&g), dp(&dp) { }
-
-    void operator()(std::ostream& out) const
-    {
-      for (dynamic_properties::const_iterator i = dp->begin();
-           i != dp->end(); ++i) {
-        if (typeid(Graph*) == i->second->key()) {
-          // const_cast here is to match interface used in read_graphviz
-          out << i->first << "=" << escape_dot_string(i->second->get_string(const_cast<Graph*>(g))) << ";\n";
-        }
-      }
-    }
-
-  private:
-    const Graph* g;
-    const dynamic_properties* dp;
-  };
-
-  namespace graph { namespace detail {
-
-    template<typename Vertex>
-    struct node_id_property_map
-    {
-      typedef std::string value_type;
-      typedef value_type reference;
-      typedef Vertex key_type;
-      typedef readable_property_map_tag category;
-
-      node_id_property_map() {}
-
-      node_id_property_map(const dynamic_properties& dp,
-                           const std::string& node_id)
-        : dp(&dp), node_id(&node_id) { }
-
-      const dynamic_properties* dp;
-      const std::string* node_id;
-    };
-
-    template<typename Vertex>
-    inline std::string
-    get(node_id_property_map<Vertex> pm,
-        typename node_id_property_map<Vertex>::key_type v)
-    { return get(*pm.node_id, *pm.dp, v); }
-
-  } } // end namespace graph::detail
-
-  template<typename Graph>
-  inline void
-  write_graphviz_dp(std::ostream& out, const Graph& g,
-                    const dynamic_properties& dp,
-                    const std::string& node_id = "node_id"
-                    BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    write_graphviz_dp(out, g, dp, node_id,
-                      graph::detail::node_id_property_map<Vertex>(dp, node_id));
-  }
-
-  template<typename Graph, typename VertexID>
-  void
-  write_graphviz_dp(std::ostream& out, const Graph& g,
-                    const dynamic_properties& dp, const std::string& node_id,
-                    VertexID id
-                    BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph,vertex_list_graph_tag))
-  {
-    write_graphviz
-      (out, g,
-       /*vertex_writer=*/dynamic_vertex_properties_writer(dp, node_id),
-       /*edge_writer=*/dynamic_properties_writer(dp),
-       /*graph_writer=*/dynamic_graph_properties_writer<Graph>(dp, g),
-       id);
-  }
-
-/////////////////////////////////////////////////////////////////////////////
-// Graph reader exceptions
-/////////////////////////////////////////////////////////////////////////////
-struct graph_exception : public std::exception {
-  virtual ~graph_exception() throw() {}
-  virtual const char* what() const throw() = 0;
-};
-
-struct bad_parallel_edge : public graph_exception {
-  std::string from;
-  std::string to;
-  mutable std::string statement;
-  bad_parallel_edge(const std::string& i, const std::string& j) :
-    from(i), to(j) {}
-
-  virtual ~bad_parallel_edge() throw() {}
-  const char* what() const throw() {
-    if(statement.empty())
-      statement =
-        std::string("Failed to add parallel edge: (")
-        + from +  "," + to + ")\n";
-
-    return statement.c_str();
-  }
-};
-
-struct directed_graph_error : public graph_exception {
-  virtual ~directed_graph_error() throw() {}
-  virtual const char* what() const throw() {
-    return
-      "read_graphviz: "
-      "Tried to read a directed graph into an undirected graph.";
-  }
-};
-
-struct undirected_graph_error : public graph_exception {
-  virtual ~undirected_graph_error() throw() {}
-  virtual const char* what() const throw() {
-    return
-      "read_graphviz: "
-      "Tried to read an undirected graph into a directed graph.";
-  }
-};
-
-struct bad_graphviz_syntax: public graph_exception {
-  std::string errmsg;
-  bad_graphviz_syntax(const std::string& errmsg)
-    : errmsg(errmsg) {}
-  const char* what() const throw () {return errmsg.c_str();}
-  ~bad_graphviz_syntax() throw () {};
-};
-
-namespace detail { namespace graph {
-
-typedef std::string id_t;
-typedef id_t node_t;
-
-// edges are not uniquely determined by adjacent nodes
-class edge_t {
-  int idx_;
-  explicit edge_t(int i) : idx_(i) {}
-public:
-  static edge_t new_edge() {
-    static int idx = 0;
-    return edge_t(idx++);
-  };
-
-  bool operator==(const edge_t& rhs) const {
-    return idx_ == rhs.idx_;
-  }
-  bool operator<(const edge_t& rhs) const {
-    return idx_ < rhs.idx_;
-  }
-};
-
-class mutate_graph
-{
- public:
-  virtual ~mutate_graph() {}
-  virtual bool is_directed() const = 0;
-  virtual void do_add_vertex(const node_t& node) = 0;
-
-  virtual void
-  do_add_edge(const edge_t& edge, const node_t& source, const node_t& target)
-    = 0;
-
-  virtual void
-  set_node_property(const id_t& key, const node_t& node, const id_t& value) = 0;
-
-  virtual void
-  set_edge_property(const id_t& key, const edge_t& edge, const id_t& value) = 0;
-
-  virtual void  // RG: need new second parameter to support BGL subgraphs
-  set_graph_property(const id_t& key, const id_t& value) = 0;
-
-  virtual void
-  finish_building_graph() = 0;
-};
-
-template<typename MutableGraph>
-class mutate_graph_impl : public mutate_graph
-{
-  typedef typename graph_traits<MutableGraph>::vertex_descriptor bgl_vertex_t;
-  typedef typename graph_traits<MutableGraph>::edge_descriptor   bgl_edge_t;
-
- public:
-  mutate_graph_impl(MutableGraph& graph, dynamic_properties& dp,
-                    std::string node_id_prop)
-    : graph_(graph), dp_(dp), node_id_prop_(node_id_prop) { }
-
-  ~mutate_graph_impl() {}
-
-  bool is_directed() const
-  {
-    return
-      boost::is_convertible<
-        typename boost::graph_traits<MutableGraph>::directed_category,
-        boost::directed_tag>::value;
-  }
-
-  virtual void do_add_vertex(const node_t& node)
-  {
-    // Add the node to the graph.
-    bgl_vertex_t v = add_vertex(graph_);
-
-    // Set up a mapping from name to BGL vertex.
-    bgl_nodes.insert(std::make_pair(node, v));
-
-    // node_id_prop_ allows the caller to see the real id names for nodes.
-    put(node_id_prop_, dp_, v, node);
-  }
-
-  void
-  do_add_edge(const edge_t& edge, const node_t& source, const node_t& target)
-  {
-    std::pair<bgl_edge_t, bool> result =
-     add_edge(bgl_nodes[source], bgl_nodes[target], graph_);
-
-    if(!result.second) {
-      // In the case of no parallel edges allowed
-        boost::throw_exception(bad_parallel_edge(source, target));
-    } else {
-      bgl_edges.insert(std::make_pair(edge, result.first));
-    }
-  }
-
-  void
-  set_node_property(const id_t& key, const node_t& node, const id_t& value)
-  {
-    put(key, dp_, bgl_nodes[node], value);
-  }
-
-  void
-  set_edge_property(const id_t& key, const edge_t& edge, const id_t& value)
-  {
-    put(key, dp_, bgl_edges[edge], value);
-  }
-
-  void
-  set_graph_property(const id_t& key, const id_t& value)
-  {
-    /* RG: pointer to graph prevents copying */
-    put(key, dp_, &graph_, value);
-  }
-
-  void finish_building_graph() {}
-
-
- protected:
-  MutableGraph& graph_;
-  dynamic_properties& dp_;
-  std::string node_id_prop_;
-  std::map<node_t, bgl_vertex_t> bgl_nodes;
-  std::map<edge_t, bgl_edge_t> bgl_edges;
-};
-
-template<typename Directed,
-         typename VertexProperty,
-         typename EdgeProperty,
-         typename GraphProperty,
-         typename Vertex,
-         typename EdgeIndex>
-class mutate_graph_impl<compressed_sparse_row_graph<Directed, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex> >
-  : public mutate_graph
-{
-  typedef compressed_sparse_row_graph<Directed, VertexProperty, EdgeProperty, GraphProperty, Vertex, EdgeIndex> CSRGraph;
-  typedef typename graph_traits<CSRGraph>::vertices_size_type bgl_vertex_t;
-  typedef typename graph_traits<CSRGraph>::edges_size_type    bgl_edge_t;
-  typedef typename graph_traits<CSRGraph>::edge_descriptor    edge_descriptor;
-
- public:
-  mutate_graph_impl(CSRGraph& graph, dynamic_properties& dp,
-                    std::string node_id_prop)
-    : graph_(graph), dp_(dp), vertex_count(0), node_id_prop_(node_id_prop) { }
-
-  ~mutate_graph_impl() {}
-
-  void finish_building_graph() {
-    typedef compressed_sparse_row_graph<directedS, no_property, bgl_edge_t, GraphProperty, Vertex, EdgeIndex> TempCSRGraph;
-    TempCSRGraph temp(edges_are_unsorted_multi_pass,
-                      edges_to_add.begin(), edges_to_add.end(),
-                      counting_iterator<bgl_edge_t>(0),
-                      vertex_count);
-    set_property(temp, graph_all, get_property(graph_, graph_all));
-    graph_.assign(temp); // Copies structure, not properties
-    std::vector<edge_descriptor> edge_permutation_from_sorting(num_edges(temp));
-    BGL_FORALL_EDGES_T(e, temp, TempCSRGraph) {
-      edge_permutation_from_sorting[temp[e]] = e;
-    }
-    typedef boost::tuple<id_t, bgl_vertex_t, id_t> v_prop;
-    BOOST_FOREACH(const v_prop& t, vertex_props) {
-      put(boost::get<0>(t), dp_, boost::get<1>(t), boost::get<2>(t));
-    }
-    typedef boost::tuple<id_t, bgl_edge_t, id_t> e_prop;
-    BOOST_FOREACH(const e_prop& t, edge_props) {
-      put(boost::get<0>(t), dp_, edge_permutation_from_sorting[boost::get<1>(t)], boost::get<2>(t));
-    }
-  }
-
-  bool is_directed() const
-  {
-    return
-      boost::is_convertible<
-        typename boost::graph_traits<CSRGraph>::directed_category,
-        boost::directed_tag>::value;
-  }
-
-  virtual void do_add_vertex(const node_t& node)
-  {
-    // Add the node to the graph.
-    bgl_vertex_t v = vertex_count++;
-
-    // Set up a mapping from name to BGL vertex.
-    bgl_nodes.insert(std::make_pair(node, v));
-
-    // node_id_prop_ allows the caller to see the real id names for nodes.
-    vertex_props.push_back(boost::make_tuple(node_id_prop_, v, node));
-  }
-
-  void
-  do_add_edge(const edge_t& edge, const node_t& source, const node_t& target)
-  {
-    bgl_edge_t result = edges_to_add.size();
-    edges_to_add.push_back(std::make_pair(bgl_nodes[source], bgl_nodes[target]));
-    bgl_edges.insert(std::make_pair(edge, result));
-  }
-
-  void
-  set_node_property(const id_t& key, const node_t& node, const id_t& value)
-  {
-    vertex_props.push_back(boost::make_tuple(key, bgl_nodes[node], value));
-  }
-
-  void
-  set_edge_property(const id_t& key, const edge_t& edge, const id_t& value)
-  {
-    edge_props.push_back(boost::make_tuple(key, bgl_edges[edge], value));
-  }
-
-  void
-  set_graph_property(const id_t& key, const id_t& value)
-  {
-    /* RG: pointer to graph prevents copying */
-    put(key, dp_, &graph_, value);
-  }
-
-
- protected:
-  CSRGraph& graph_;
-  dynamic_properties& dp_;
-  bgl_vertex_t vertex_count;
-  std::string node_id_prop_;
-  std::vector<boost::tuple<id_t, bgl_vertex_t, id_t> > vertex_props;
-  std::vector<boost::tuple<id_t, bgl_edge_t, id_t> > edge_props;
-  std::vector<std::pair<bgl_vertex_t, bgl_vertex_t> > edges_to_add;
-  std::map<node_t, bgl_vertex_t> bgl_nodes;
-  std::map<edge_t, bgl_edge_t> bgl_edges;
-};
-
-} } } // end namespace boost::detail::graph
-
-#ifdef BOOST_GRAPH_USE_SPIRIT_PARSER
-#  ifndef BOOST_GRAPH_READ_GRAPHVIZ_ITERATORS
-#    define BOOST_GRAPH_READ_GRAPHVIZ_ITERATORS
-#  endif
-#  include <boost/graph/detail/read_graphviz_spirit.hpp>
-#else // New default parser
-#  include <boost/graph/detail/read_graphviz_new.hpp>
-#endif // BOOST_GRAPH_USE_SPIRIT_PARSER
-
-namespace boost {
-
-// Parse the passed string as a GraphViz dot file.
-template <typename MutableGraph>
-bool read_graphviz(const std::string& data,
-                   MutableGraph& graph,
-                   dynamic_properties& dp,
-                   std::string const& node_id = "node_id") {
-#ifdef BOOST_GRAPH_USE_SPIRIT_PARSER
-  return read_graphviz_spirit(data.begin(), data.end(), graph, dp, node_id);
-#else // Non-Spirit parser
-  return read_graphviz_new(data,graph,dp,node_id);
-#endif
-}
-
-// Parse the passed iterator range as a GraphViz dot file.
-template <typename InputIterator, typename MutableGraph>
-bool read_graphviz(InputIterator user_first,
-                   InputIterator user_last,
-                   MutableGraph& graph,
-                   dynamic_properties& dp,
-                   std::string const& node_id = "node_id") {
-#ifdef BOOST_GRAPH_USE_SPIRIT_PARSER
-  typedef InputIterator is_t;
-  typedef boost::spirit::classic::multi_pass<is_t> iterator_t;
-
-  iterator_t first(boost::spirit::classic::make_multi_pass(user_first));
-  iterator_t last(boost::spirit::classic::make_multi_pass(user_last));
-
-  return read_graphviz_spirit(first, last, graph, dp, node_id);
-#else // Non-Spirit parser
-  return read_graphviz_new(std::string(user_first, user_last), graph, dp, node_id);
-#endif
-}
-
-// Parse the passed stream as a GraphViz dot file.
-template <typename MutableGraph>
-bool read_graphviz(std::istream& in, MutableGraph& graph,
-                   dynamic_properties& dp,
-                   std::string const& node_id = "node_id")
-{
-  typedef std::istream_iterator<char> is_t;
-  in >> std::noskipws;
-  return read_graphviz(is_t(in), is_t(), graph, dp, node_id);
-}
-
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/graphviz.hpp>
-#endif
-
-#endif // BOOST_GRAPHVIZ_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/grid_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/grid_graph.hpp
deleted file mode 100644
index 9a09fca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/grid_graph.hpp
+++ /dev/null
@@ -1,1015 +0,0 @@
-//=======================================================================
-// Copyright 2009 Trustees of Indiana University.
-// Authors: Michael Hansen, Andrew Lumsdaine
-//
-// Distributed under the 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_GRAPH_GRID_GRAPH_HPP
-#define BOOST_GRAPH_GRID_GRAPH_HPP
-
-#include <cmath>
-#include <functional>
-#include <numeric>
-
-#include <boost/array.hpp>
-#include <boost/bind.hpp>
-#include <boost/limits.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/property_map/property_map.hpp>
-
-#define BOOST_GRID_GRAPH_TEMPLATE_PARAMS \
-  std::size_t DimensionsT, typename VertexIndexT, \
-    typename EdgeIndexT
-
-#define BOOST_GRID_GRAPH_TYPE \
-  grid_graph<DimensionsT, VertexIndexT, EdgeIndexT>
-
-#define BOOST_GRID_GRAPH_TRAITS_T \
-  typename graph_traits<BOOST_GRID_GRAPH_TYPE >
-
-namespace boost {
-
-  // Class prototype for grid_graph
-  template<BOOST_GRID_GRAPH_TEMPLATE_PARAMS>
-  class grid_graph;
-
-  //===================
-  // Index Property Map
-  //===================
-
-  template <typename Graph,
-            typename Descriptor,
-            typename Index>
-  struct grid_graph_index_map {
-  public:
-    typedef Index value_type;
-    typedef Index reference_type;
-    typedef reference_type reference;
-    typedef Descriptor key_type;
-    typedef readable_property_map_tag category;
-
-    grid_graph_index_map() { }
-
-    grid_graph_index_map(const Graph& graph) :
-      m_graph(&graph) { }
-
-    value_type operator[](key_type key) const {
-      return (m_graph->index_of(key));
-    }
-
-    friend inline Index
-    get(const grid_graph_index_map<Graph, Descriptor, Index>& index_map,
-        const typename grid_graph_index_map<Graph, Descriptor, Index>::key_type& key)
-    {
-      return (index_map[key]);
-    }
-
-  protected:
-    const Graph* m_graph;
-  };
-
-  template<BOOST_GRID_GRAPH_TEMPLATE_PARAMS>
-  struct property_map<BOOST_GRID_GRAPH_TYPE, vertex_index_t> {
-    typedef grid_graph_index_map<BOOST_GRID_GRAPH_TYPE,
-                                 BOOST_GRID_GRAPH_TRAITS_T::vertex_descriptor,
-                                 BOOST_GRID_GRAPH_TRAITS_T::vertices_size_type> type;
-    typedef type const_type;
-  };
-
-  template<BOOST_GRID_GRAPH_TEMPLATE_PARAMS>
-  struct property_map<BOOST_GRID_GRAPH_TYPE, edge_index_t> {
-    typedef grid_graph_index_map<BOOST_GRID_GRAPH_TYPE,
-                                 BOOST_GRID_GRAPH_TRAITS_T::edge_descriptor,
-                                 BOOST_GRID_GRAPH_TRAITS_T::edges_size_type> type;
-    typedef type const_type;
-  };
-
-  //==========================
-  // Reverse Edge Property Map
-  //==========================
-
-  template <typename Descriptor>
-  struct grid_graph_reverse_edge_map {
-  public:
-    typedef Descriptor value_type;
-    typedef Descriptor reference_type;
-    typedef reference_type reference;
-    typedef Descriptor key_type;
-    typedef readable_property_map_tag category;
-
-    grid_graph_reverse_edge_map() { }
-
-    value_type operator[](const key_type& key) const {
-      return (value_type(key.second, key.first));
-    }
-
-    friend inline Descriptor
-    get(const grid_graph_reverse_edge_map<Descriptor>& rev_map,
-        const typename grid_graph_reverse_edge_map<Descriptor>::key_type& key)
-    {
-      return (rev_map[key]);
-    }
-  };
-
-  template<BOOST_GRID_GRAPH_TEMPLATE_PARAMS>
-  struct property_map<BOOST_GRID_GRAPH_TYPE, edge_reverse_t> {
-    typedef grid_graph_reverse_edge_map<BOOST_GRID_GRAPH_TRAITS_T::edge_descriptor> type;
-    typedef type const_type;
-  };
-
-  //=================
-  // Function Objects
-  //=================
-
-  namespace detail {
-
-    // vertex_at
-    template <typename Graph>
-    struct grid_graph_vertex_at {
-
-      typedef typename graph_traits<Graph>::vertex_descriptor result_type;
-
-      grid_graph_vertex_at() : m_graph(0) {}
-
-      grid_graph_vertex_at(const Graph* graph) :
-        m_graph(graph) { }
-
-      result_type
-      operator()
-      (typename graph_traits<Graph>::vertices_size_type vertex_index) const {
-        return (vertex(vertex_index, *m_graph));
-      }
-
-    private:
-      const Graph* m_graph;
-    };
-
-    // out_edge_at
-    template <typename Graph>
-    struct grid_graph_out_edge_at {
-
-    private:
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    public:
-      typedef typename graph_traits<Graph>::edge_descriptor result_type;
-
-      grid_graph_out_edge_at() : m_vertex(), m_graph(0) {}
-
-      grid_graph_out_edge_at(vertex_descriptor source_vertex,
-                             const Graph* graph) :
-        m_vertex(source_vertex),
-        m_graph(graph) { }
-
-      result_type
-      operator()
-      (typename graph_traits<Graph>::degree_size_type out_edge_index) const {
-        return (out_edge_at(m_vertex, out_edge_index, *m_graph));
-      }
-
-    private:
-      vertex_descriptor m_vertex;
-      const Graph* m_graph;
-    };
-
-    // in_edge_at
-    template <typename Graph>
-    struct grid_graph_in_edge_at {
-
-    private:
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-    public:
-      typedef typename graph_traits<Graph>::edge_descriptor result_type;
-
-      grid_graph_in_edge_at() : m_vertex(), m_graph(0) {}
-
-      grid_graph_in_edge_at(vertex_descriptor target_vertex,
-                            const Graph* graph) :
-        m_vertex(target_vertex),
-        m_graph(graph) { }
-
-      result_type
-      operator()
-      (typename graph_traits<Graph>::degree_size_type in_edge_index) const {
-        return (in_edge_at(m_vertex, in_edge_index, *m_graph));
-      }
-
-    private:
-      vertex_descriptor m_vertex;
-      const Graph* m_graph;
-    };
-
-    // edge_at
-    template <typename Graph>
-    struct grid_graph_edge_at {
-
-      typedef typename graph_traits<Graph>::edge_descriptor result_type;
-
-      grid_graph_edge_at() : m_graph(0) {}
-
-      grid_graph_edge_at(const Graph* graph) :
-        m_graph(graph) { }
-
-      result_type
-      operator()
-      (typename graph_traits<Graph>::edges_size_type edge_index) const {
-        return (edge_at(edge_index, *m_graph));
-      }
-
-    private:
-      const Graph* m_graph;
-    };
-
-    // adjacent_vertex_at
-    template <typename Graph>
-    struct grid_graph_adjacent_vertex_at {
-
-    public:
-      typedef typename graph_traits<Graph>::vertex_descriptor result_type;
-
-      grid_graph_adjacent_vertex_at(result_type source_vertex,
-                                    const Graph* graph) :
-        m_vertex(source_vertex),
-        m_graph(graph) { }
-
-      result_type
-      operator()
-      (typename graph_traits<Graph>::degree_size_type adjacent_index) const {
-        return (target(out_edge_at(m_vertex, adjacent_index, *m_graph), *m_graph));
-      }
-
-    private:
-      result_type m_vertex;
-      const Graph* m_graph;
-    };
-
-  } // namespace detail
-
-  //===========
-  // Grid Graph
-  //===========
-
-  template <std::size_t Dimensions,
-            typename VertexIndex = std::size_t,
-            typename EdgeIndex = VertexIndex> 
-  class grid_graph {
-
-  private:
-    typedef boost::array<bool, Dimensions> WrapDimensionArray;
-    grid_graph() { };
-
-  public:
-
-    typedef grid_graph<Dimensions, VertexIndex, EdgeIndex> type;
-
-    // sizes
-    typedef VertexIndex vertices_size_type;
-    typedef EdgeIndex edges_size_type;
-    typedef EdgeIndex degree_size_type;
-
-    // descriptors
-    typedef boost::array<VertexIndex, Dimensions> vertex_descriptor;
-    typedef std::pair<vertex_descriptor, vertex_descriptor> edge_descriptor;
-
-    // vertex_iterator
-    typedef counting_iterator<vertices_size_type> vertex_index_iterator;
-    typedef detail::grid_graph_vertex_at<type> vertex_function;
-    typedef transform_iterator<vertex_function, vertex_index_iterator> vertex_iterator;
-
-    // edge_iterator
-    typedef counting_iterator<edges_size_type> edge_index_iterator;
-    typedef detail::grid_graph_edge_at<type> edge_function;
-    typedef transform_iterator<edge_function, edge_index_iterator> edge_iterator;
-
-    // out_edge_iterator
-    typedef counting_iterator<degree_size_type> degree_iterator;
-    typedef detail::grid_graph_out_edge_at<type> out_edge_function;
-    typedef transform_iterator<out_edge_function, degree_iterator> out_edge_iterator;
-
-    // in_edge_iterator
-    typedef detail::grid_graph_in_edge_at<type> in_edge_function;
-    typedef transform_iterator<in_edge_function, degree_iterator> in_edge_iterator;
-
-    // adjacency_iterator
-    typedef detail::grid_graph_adjacent_vertex_at<type> adjacent_vertex_function;
-    typedef transform_iterator<adjacent_vertex_function, degree_iterator> adjacency_iterator;
-
-    // categories
-    typedef directed_tag directed_category;
-    typedef disallow_parallel_edge_tag edge_parallel_category;    
-    struct traversal_category : virtual public incidence_graph_tag,
-                                virtual public adjacency_graph_tag,
-                                virtual public vertex_list_graph_tag,
-                                virtual public edge_list_graph_tag,
-                                virtual public bidirectional_graph_tag,
-                                virtual public adjacency_matrix_tag { };
-
-    static inline vertex_descriptor null_vertex()
-    {
-      vertex_descriptor maxed_out_vertex;
-      std::fill(maxed_out_vertex.begin(), maxed_out_vertex.end(),
-                (std::numeric_limits<vertices_size_type>::max)());
-
-      return (maxed_out_vertex);
-    }
-
-    // Constructor that defaults to no wrapping for all dimensions.
-    grid_graph(vertex_descriptor dimension_lengths) :
-      m_dimension_lengths(dimension_lengths) {
-
-      std::fill(m_wrap_dimension.begin(),
-                m_wrap_dimension.end(), false);
-
-      precalculate();
-    }
-
-    // Constructor that allows for wrapping to be specified for all
-    // dimensions at once.
-    grid_graph(vertex_descriptor dimension_lengths,
-               bool wrap_all_dimensions) :
-      m_dimension_lengths(dimension_lengths) {
-      
-      std::fill(m_wrap_dimension.begin(),
-                m_wrap_dimension.end(),
-                wrap_all_dimensions);
-
-      precalculate();
-    }
-
-    // Constructor that allows for individual dimension wrapping to be
-    // specified.
-    grid_graph(vertex_descriptor dimension_lengths,
-               WrapDimensionArray wrap_dimension) :
-      m_dimension_lengths(dimension_lengths),
-      m_wrap_dimension(wrap_dimension) {
-
-      precalculate();
-    }
-
-    // Returns the number of dimensions in the graph
-    inline std::size_t dimensions() const {
-      return (Dimensions);
-    }
-
-    // Returns the length of dimension [dimension_index]
-    inline vertices_size_type length(std::size_t dimension) const {
-      return (m_dimension_lengths[dimension]);
-    }
-
-    // Returns a value indicating if dimension [dimension_index] wraps
-    inline bool wrapped(std::size_t dimension) const {
-      return (m_wrap_dimension[dimension]);
-    }
-
-    // Gets the vertex that is [distance] units ahead of [vertex] in
-    // dimension [dimension_index].
-    vertex_descriptor next
-    (vertex_descriptor vertex,
-     std::size_t dimension_index,
-     vertices_size_type distance = 1) const {
-
-      vertices_size_type new_position =
-        vertex[dimension_index] + distance;
-
-      if (wrapped(dimension_index)) {
-        new_position %= length(dimension_index);
-      }
-      else {
-        // Stop at the end of this dimension if necessary.
-        new_position =
-          (std::min)(new_position,
-                     vertices_size_type(length(dimension_index) - 1));
-      }
-
-      vertex[dimension_index] = new_position;
-
-      return (vertex);    
-    }
-
-    // Gets the vertex that is [distance] units behind [vertex] in
-    // dimension [dimension_index].
-    vertex_descriptor previous
-    (vertex_descriptor vertex,
-     std::size_t dimension_index,
-     vertices_size_type distance = 1) const {
-    
-      // We're assuming that vertices_size_type is unsigned, so we
-      // need to be careful about the math.
-      vertex[dimension_index] =
-        (distance > vertex[dimension_index]) ?
-        (wrapped(dimension_index) ?
-         (length(dimension_index) - (distance % length(dimension_index))) : 0) :
-        vertex[dimension_index] - distance;
-
-      return (vertex);    
-    }
-
-  protected:
-
-    // Returns the number of vertices in the graph
-    inline vertices_size_type num_vertices() const {
-      return (m_num_vertices);
-    }
-    
-    // Returns the number of edges in the graph
-    inline edges_size_type num_edges() const {
-      return (m_num_edges);
-    }
-
-    // Returns the number of edges in dimension [dimension_index]
-    inline edges_size_type num_edges
-    (std::size_t dimension_index) const {
-      return (m_edge_count[dimension_index]);
-    }
-
-    // Returns the index of [vertex] (See also vertex_at)
-    vertices_size_type index_of(vertex_descriptor vertex) const {
-
-      vertices_size_type vertex_index = 0;
-      vertices_size_type index_multiplier = 1;
-
-      for (std::size_t dimension_index = 0;
-           dimension_index < Dimensions;
-           ++dimension_index) {
-
-        vertex_index += (vertex[dimension_index] * index_multiplier);
-        index_multiplier *= length(dimension_index);
-      }
-
-      return (vertex_index);
-    }
-
-    // Returns the vertex whose index is [vertex_index] (See also
-    // index_of(vertex_descriptor))
-    vertex_descriptor vertex_at
-    (vertices_size_type vertex_index) const {
-    
-      boost::array<vertices_size_type, Dimensions> vertex;
-      vertices_size_type index_divider = 1;
-
-      for (std::size_t dimension_index = 0;
-           dimension_index < Dimensions;
-           ++dimension_index) {
-
-        vertex[dimension_index] = (vertex_index / index_divider) %
-          length(dimension_index);
-
-        index_divider *= length(dimension_index);
-      }
-
-      return (vertex);
-    }    
-
-    // Returns the edge whose index is [edge_index] (See also
-    // index_of(edge_descriptor)).  NOTE: The index mapping is
-    // dependent upon dimension wrapping.
-    edge_descriptor edge_at(edges_size_type edge_index) const {
-
-      // Edge indices are sorted into bins by dimension
-      std::size_t dimension_index = 0;
-      edges_size_type dimension_edges = num_edges(0);
-
-      while (edge_index >= dimension_edges) {
-        edge_index -= dimension_edges;
-        ++dimension_index;
-        dimension_edges = num_edges(dimension_index);
-      }
-
-      vertex_descriptor vertex_source, vertex_target;
-      bool is_forward = ((edge_index / (num_edges(dimension_index) / 2)) == 0);
-
-      if (wrapped(dimension_index)) {
-        vertex_source = vertex_at(edge_index % num_vertices());
-        vertex_target = is_forward ?
-          next(vertex_source, dimension_index) :
-          previous(vertex_source, dimension_index);
-      }
-      else {
-
-        // Dimensions can wrap arbitrarily, so an index needs to be
-        // computed in a more complex manner.  This is done by
-        // grouping the edges for each dimension together into "bins"
-        // and considering [edge_index] as an offset into the bin.
-        // Each bin consists of two parts: the "forward" looking edges
-        // and the "backward" looking edges for the dimension.
-
-        edges_size_type vertex_offset = edge_index % num_edges(dimension_index);
-
-        // Consider vertex_offset an index into the graph's vertex
-        // space but with the dimension [dimension_index] reduced in
-        // size by one.
-        vertices_size_type index_divider = 1;
-
-        for (std::size_t dimension_index_iter = 0;
-             dimension_index_iter < Dimensions;
-             ++dimension_index_iter) {
-
-          std::size_t dimension_length = (dimension_index_iter == dimension_index) ?
-            length(dimension_index_iter) - 1 :
-            length(dimension_index_iter);
-
-          vertex_source[dimension_index_iter] = (vertex_offset / index_divider) %
-            dimension_length;
-
-          index_divider *= dimension_length;
-        }
-
-        if (is_forward) {
-          vertex_target = next(vertex_source, dimension_index);
-        }
-        else {
-          // Shift forward one more unit in the dimension for backward
-          // edges since the algorithm above will leave us one behind.
-          vertex_target = vertex_source;
-          ++vertex_source[dimension_index];
-        }
-
-      } // if (wrapped(dimension_index))
-      
-      return (std::make_pair(vertex_source, vertex_target));
-    }
-    
-    // Returns the index for [edge] (See also edge_at)
-    edges_size_type index_of(edge_descriptor edge) const {
-      vertex_descriptor source_vertex = source(edge, *this);
-      vertex_descriptor target_vertex = target(edge, *this);
-
-      BOOST_ASSERT (source_vertex != target_vertex);
-
-      // Determine the dimension where the source and target vertices
-      // differ (should only be one if this is a valid edge).
-      std::size_t different_dimension_index = 0;
-
-      while (source_vertex[different_dimension_index] ==
-             target_vertex[different_dimension_index]) {
-
-        ++different_dimension_index; 
-      }
-
-      edges_size_type edge_index = 0;
-      
-      // Offset the edge index into the appropriate "bin" (see edge_at
-      // for a more in-depth description).
-      for (std::size_t dimension_index = 0;
-           dimension_index < different_dimension_index;
-           ++dimension_index) {
-
-        edge_index += num_edges(dimension_index);      
-      }
-
-      // Get the position of both vertices in the differing dimension.
-      vertices_size_type source_position = source_vertex[different_dimension_index];
-      vertices_size_type target_position = target_vertex[different_dimension_index];
-
-      // Determine if edge is forward or backward
-      bool is_forward = true;
-        
-      if (wrapped(different_dimension_index)) {
-
-        // If the dimension is wrapped, an edge is going backward if
-        // either A: its target precedes the source in the differing
-        // dimension and the vertices are adjacent or B: its source
-        // precedes the target and they're not adjacent.
-        if (((target_position < source_position) &&
-             ((source_position - target_position) == 1)) ||
-            ((source_position < target_position) &&
-             ((target_position - source_position) > 1))) {
-
-          is_forward = false;
-        }
-      }
-      else if (target_position < source_position) {
-        is_forward = false;
-      }
-
-      // "Backward" edges are in the second half of the bin.
-      if (!is_forward) {
-        edge_index += (num_edges(different_dimension_index) / 2);
-      }
-
-      // Finally, apply the vertex offset
-      if (wrapped(different_dimension_index)) {
-        edge_index += index_of(source_vertex);
-      }
-      else {
-        vertices_size_type index_multiplier = 1;
-
-        if (!is_forward) {
-          --source_vertex[different_dimension_index];
-        }
-
-        for (std::size_t dimension_index = 0;
-             dimension_index < Dimensions;
-             ++dimension_index) {
-
-          edge_index += (source_vertex[dimension_index] * index_multiplier);
-          index_multiplier *= (dimension_index == different_dimension_index) ?
-            length(dimension_index) - 1 :
-            length(dimension_index);
-        }
-      }
-
-      return (edge_index);
-    }
-
-    // Returns the number of out-edges for [vertex]
-    degree_size_type out_degree(vertex_descriptor vertex) const {
-
-      degree_size_type out_edge_count = 0;
-
-      for (std::size_t dimension_index = 0;
-           dimension_index < Dimensions;
-           ++dimension_index) {
-
-        // If the vertex is on the edge of this dimension, then its
-        // number of out edges is dependent upon whether the dimension
-        // wraps or not.
-        if ((vertex[dimension_index] == 0) ||
-            (vertex[dimension_index] == (length(dimension_index) - 1))) {
-          out_edge_count += (wrapped(dimension_index) ? 2 : 1);
-        }
-        else {
-          // Next and previous edges, regardless or wrapping
-          out_edge_count += 2;
-        }
-      }
-
-      return (out_edge_count);
-    }
-
-    // Returns an out-edge for [vertex] by index. Indices are in the
-    // range [0, out_degree(vertex)).
-    edge_descriptor out_edge_at
-    (vertex_descriptor vertex,
-     degree_size_type out_edge_index) const {
-
-      edges_size_type edges_left = out_edge_index + 1;
-      std::size_t dimension_index = 0;
-      bool is_forward = false;
-
-      // Walks the out edges of [vertex] and accommodates for dimension
-      // wrapping.
-      while (edges_left > 0) {
-
-        if (!wrapped(dimension_index)) {
-          if (!is_forward && (vertex[dimension_index] == 0)) {
-            is_forward = true;
-            continue;
-          }
-          else if (is_forward &&
-                   (vertex[dimension_index] == (length(dimension_index) - 1))) {
-            is_forward = false;
-            ++dimension_index;
-            continue;
-          }
-        }
-
-        --edges_left;
-
-        if (edges_left > 0) {
-          is_forward = !is_forward;
-        
-          if (!is_forward) {
-            ++dimension_index;
-          }
-        }
-      }
-
-      return (std::make_pair(vertex, is_forward ?
-                             next(vertex, dimension_index) :
-                             previous(vertex, dimension_index)));
-    }
-
-    // Returns the number of in-edges for [vertex]
-    inline degree_size_type in_degree(vertex_descriptor vertex) const {
-      return (out_degree(vertex));
-    }
-
-    // Returns an in-edge for [vertex] by index. Indices are in the
-    // range [0, in_degree(vertex)).
-    edge_descriptor in_edge_at
-    (vertex_descriptor vertex,
-     edges_size_type in_edge_index) const {
-
-      edge_descriptor out_edge = out_edge_at(vertex, in_edge_index);
-      return (std::make_pair(target(out_edge, *this), source(out_edge, *this)));
-
-    }
-
-    // Pre-computes the number of vertices and edges
-    void precalculate() {
-      m_num_vertices =
-        std::accumulate(m_dimension_lengths.begin(),
-                        m_dimension_lengths.end(),
-                        vertices_size_type(1),
-                        std::multiplies<vertices_size_type>());
-
-      // Calculate number of edges in each dimension
-      m_num_edges = 0;
-
-      for (std::size_t dimension_index = 0;
-           dimension_index < Dimensions;
-           ++dimension_index) {
-
-        if (wrapped(dimension_index)) {
-          m_edge_count[dimension_index] = num_vertices() * 2;
-        }
-        else {
-          m_edge_count[dimension_index] =
-            (num_vertices() - (num_vertices() / length(dimension_index))) * 2;
-        }
-
-        m_num_edges += num_edges(dimension_index);
-      }
-    }
-
-    const vertex_descriptor m_dimension_lengths;
-    WrapDimensionArray m_wrap_dimension;
-    vertices_size_type m_num_vertices;
-
-    boost::array<edges_size_type, Dimensions> m_edge_count;
-    edges_size_type m_num_edges;
-
-  public:
-
-    //================
-    // VertexListGraph
-    //================
-
-    friend inline std::pair<typename type::vertex_iterator,
-                            typename type::vertex_iterator> 
-    vertices(const type& graph) {
-      typedef typename type::vertex_iterator vertex_iterator;
-      typedef typename type::vertex_function vertex_function;
-      typedef typename type::vertex_index_iterator vertex_index_iterator;
-
-      return (std::make_pair
-              (vertex_iterator(vertex_index_iterator(0),
-                               vertex_function(&graph)),
-               vertex_iterator(vertex_index_iterator(graph.num_vertices()),
-                               vertex_function(&graph))));
-    }
-
-    friend inline typename type::vertices_size_type
-    num_vertices(const type& graph) {
-      return (graph.num_vertices());
-    }
-
-    friend inline typename type::vertex_descriptor
-    vertex(typename type::vertices_size_type vertex_index,
-           const type& graph) {
-
-      return (graph.vertex_at(vertex_index));
-    }
-
-    //===============
-    // IncidenceGraph
-    //===============
-
-    friend inline std::pair<typename type::out_edge_iterator,
-                            typename type::out_edge_iterator>
-    out_edges(typename type::vertex_descriptor vertex,
-              const type& graph) {
-      typedef typename type::degree_iterator degree_iterator;
-      typedef typename type::out_edge_function out_edge_function;
-      typedef typename type::out_edge_iterator out_edge_iterator;
-
-      return (std::make_pair
-              (out_edge_iterator(degree_iterator(0),
-                                 out_edge_function(vertex, &graph)),
-               out_edge_iterator(degree_iterator(graph.out_degree(vertex)),
-                                 out_edge_function(vertex, &graph))));
-    }
-
-    friend inline typename type::degree_size_type
-    out_degree
-    (typename type::vertex_descriptor vertex,
-     const type& graph) {
-      return (graph.out_degree(vertex));
-    }
-
-    friend inline typename type::edge_descriptor
-    out_edge_at(typename type::vertex_descriptor vertex,
-                typename type::degree_size_type out_edge_index,
-                const type& graph) {
-      return (graph.out_edge_at(vertex, out_edge_index));
-    }
-
-    //===============
-    // AdjacencyGraph
-    //===============
-
-    friend typename std::pair<typename type::adjacency_iterator,
-                              typename type::adjacency_iterator>
-    adjacent_vertices (typename type::vertex_descriptor vertex,
-                       const type& graph) {
-      typedef typename type::degree_iterator degree_iterator;
-      typedef typename type::adjacent_vertex_function adjacent_vertex_function;
-      typedef typename type::adjacency_iterator adjacency_iterator;
-
-      return (std::make_pair
-              (adjacency_iterator(degree_iterator(0),
-                                 adjacent_vertex_function(vertex, &graph)),
-               adjacency_iterator(degree_iterator(graph.out_degree(vertex)),
-                                 adjacent_vertex_function(vertex, &graph))));
-    }
-
-    //==============
-    // EdgeListGraph
-    //==============
-
-    friend inline typename type::edges_size_type
-    num_edges(const type& graph) {
-      return (graph.num_edges());
-    }
-
-    friend inline typename type::edge_descriptor
-    edge_at(typename type::edges_size_type edge_index,
-            const type& graph) {
-      return (graph.edge_at(edge_index));
-    }
-
-    friend inline std::pair<typename type::edge_iterator,
-                            typename type::edge_iterator>
-    edges(const type& graph) {
-      typedef typename type::edge_index_iterator edge_index_iterator;
-      typedef typename type::edge_function edge_function;
-      typedef typename type::edge_iterator edge_iterator;
-
-      return (std::make_pair
-              (edge_iterator(edge_index_iterator(0),
-                             edge_function(&graph)),
-               edge_iterator(edge_index_iterator(graph.num_edges()),
-                             edge_function(&graph))));
-    }
-
-    //===================
-    // BiDirectionalGraph
-    //===================
-
-    friend inline std::pair<typename type::in_edge_iterator,
-                            typename type::in_edge_iterator>
-    in_edges(typename type::vertex_descriptor vertex,
-             const type& graph) {
-      typedef typename type::in_edge_function in_edge_function;
-      typedef typename type::degree_iterator degree_iterator;
-      typedef typename type::in_edge_iterator in_edge_iterator;
-
-      return (std::make_pair
-              (in_edge_iterator(degree_iterator(0),
-                                in_edge_function(vertex, &graph)),
-               in_edge_iterator(degree_iterator(graph.in_degree(vertex)),
-                                in_edge_function(vertex, &graph))));
-    }
-
-    friend inline typename type::degree_size_type
-    in_degree (typename type::vertex_descriptor vertex,
-               const type& graph) {
-      return (graph.in_degree(vertex));
-    }
-
-    friend inline typename type::degree_size_type
-    degree (typename type::vertex_descriptor vertex,
-            const type& graph) {
-      return (graph.out_degree(vertex) * 2);
-    }
-
-    friend inline typename type::edge_descriptor
-    in_edge_at(typename type::vertex_descriptor vertex,
-               typename type::degree_size_type in_edge_index,
-               const type& graph) {
-      return (graph.in_edge_at(vertex, in_edge_index));
-    }
-
-
-    //==================
-    // Adjacency Matrix
-    //==================
-
-    friend std::pair<typename type::edge_descriptor, bool>
-    edge (typename type::vertex_descriptor source_vertex,
-          typename type::vertex_descriptor destination_vertex,
-          const type& graph) {
-
-      std::pair<typename type::edge_descriptor, bool> edge_exists =
-        std::make_pair(std::make_pair(source_vertex, destination_vertex), false);
-
-      for (std::size_t dimension_index = 0;
-           dimension_index < Dimensions;
-           ++dimension_index) {
-
-        typename type::vertices_size_type dim_difference = 0;
-        typename type::vertices_size_type
-          source_dim = source_vertex[dimension_index],
-          dest_dim = destination_vertex[dimension_index];
-
-        dim_difference = (source_dim > dest_dim) ?
-          (source_dim - dest_dim) : (dest_dim - source_dim);
-
-        if (dim_difference > 0) {
-
-          // If we've already found a valid edge, this would mean that
-          // the vertices are really diagonal across dimensions and
-          // therefore not connected.
-          if (edge_exists.second) {
-            edge_exists.second = false;
-            break;
-          }
-
-          // If the difference is one, the vertices are right next to
-          // each other and the edge is valid.  The edge is still
-          // valid, though, if the dimension wraps and the vertices
-          // are on opposite ends.
-          if ((dim_difference == 1) ||
-              (graph.wrapped(dimension_index) &&
-               (((source_dim == 0) && (dest_dim == (graph.length(dimension_index) - 1))) ||
-                ((dest_dim == 0) && (source_dim == (graph.length(dimension_index) - 1)))))) {
-
-            edge_exists.second = true;
-            // Stay in the loop to check for diagonal vertices.
-          }
-          else {
-
-            // Stop checking - the vertices are too far apart.
-            edge_exists.second = false;
-            break;
-          }
-        }
-
-      } // for dimension_index
-
-      return (edge_exists);
-    }
-
-
-    //=============================
-    // Index Property Map Functions
-    //=============================
-
-    friend inline typename type::vertices_size_type
-    get(vertex_index_t,
-        const type& graph,
-        typename type::vertex_descriptor vertex) {
-      return (graph.index_of(vertex));
-    }
-
-    friend inline typename type::edges_size_type
-    get(edge_index_t,
-        const type& graph,
-        typename type::edge_descriptor edge) {
-      return (graph.index_of(edge));
-    }
-
-    friend inline grid_graph_index_map<
-                    type,
-                    typename type::vertex_descriptor,
-                    typename type::vertices_size_type>
-    get(vertex_index_t, const type& graph) {
-      return (grid_graph_index_map<
-                type,
-                typename type::vertex_descriptor,
-                typename type::vertices_size_type>(graph));
-    }
-
-    friend inline grid_graph_index_map<
-                    type,
-                    typename type::edge_descriptor,
-                    typename type::edges_size_type>
-    get(edge_index_t, const type& graph) {
-      return (grid_graph_index_map<
-                type,
-                typename type::edge_descriptor,
-                typename type::edges_size_type>(graph));
-    }                                       
-
-    friend inline grid_graph_reverse_edge_map<
-                    typename type::edge_descriptor>
-    get(edge_reverse_t, const type& graph) {
-      return (grid_graph_reverse_edge_map<
-                typename type::edge_descriptor>());
-    }                                       
-
-    template<typename Graph,
-             typename Descriptor,
-             typename Index>
-    friend struct grid_graph_index_map;
-
-    template<typename Descriptor>
-    friend struct grid_graph_reverse_edge_map;
-
-  }; // grid_graph
-
-} // namespace boost
-
-#undef BOOST_GRID_GRAPH_TYPE
-#undef BOOST_GRID_GRAPH_TEMPLATE_PARAMS
-#undef BOOST_GRID_GRAPH_TRAITS_T
-
-#endif // BOOST_GRAPH_GRID_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/gursoy_atun_layout.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/gursoy_atun_layout.hpp
deleted file mode 100644
index 9f050e1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/gursoy_atun_layout.hpp
+++ /dev/null
@@ -1,357 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_GURSOY_ATUN_LAYOUT_HPP
-#define BOOST_GRAPH_GURSOY_ATUN_LAYOUT_HPP
-
-// Gursoy-Atun graph layout, based on:
-// "Neighbourhood Preserving Load Balancing: A Self-Organizing Approach"
-// in EuroPar 2000, p. 234 of LNCS 1900
-// http://springerlink.metapress.com/link.asp?id=pcu07ew5rhexp9yt
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/assert.hpp>
-#include <vector>
-#include <exception>
-#include <algorithm>
-
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/linear_congruential.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/topology.hpp>
-
-namespace boost { 
-
-namespace detail {
-
-struct over_distance_limit : public std::exception {};
-
-template <typename PositionMap, typename NodeDistanceMap,  typename Topology,
-          typename Graph>
-struct update_position_visitor {
-  typedef typename Topology::point_type Point;
-  PositionMap position_map;
-  NodeDistanceMap node_distance;
-  const Topology& space;
-  Point input_vector;
-  double distance_limit;
-  double learning_constant;
-  double falloff_ratio;
-
-  typedef boost::on_examine_vertex event_filter;
-
-  typedef typename graph_traits<Graph>::vertex_descriptor
-    vertex_descriptor;
-
-  update_position_visitor(PositionMap position_map,
-                          NodeDistanceMap node_distance,
-                          const Topology& space,
-                          const Point& input_vector,
-                          double distance_limit,
-                          double learning_constant,
-                          double falloff_ratio):
-    position_map(position_map), node_distance(node_distance), 
-    space(space),
-    input_vector(input_vector), distance_limit(distance_limit),
-    learning_constant(learning_constant), falloff_ratio(falloff_ratio) {}
-
-  void operator()(vertex_descriptor v, const Graph&) const 
-  {
-#ifndef BOOST_NO_STDC_NAMESPACE
-    using std::pow;
-#endif
-
-    if (get(node_distance, v) > distance_limit)
-      BOOST_THROW_EXCEPTION(over_distance_limit());
-    Point old_position = get(position_map, v);
-    double distance = get(node_distance, v);
-    double fraction = 
-      learning_constant * pow(falloff_ratio, distance * distance);
-    put(position_map, v,
-        space.move_position_toward(old_position, fraction, input_vector));
-  }
-};
-
-template<typename EdgeWeightMap>
-struct gursoy_shortest
-{
-  template<typename Graph, typename NodeDistanceMap, typename UpdatePosition>
-  static inline void 
-  run(const Graph& g, typename graph_traits<Graph>::vertex_descriptor s,
-      NodeDistanceMap node_distance,  UpdatePosition& update_position,
-      EdgeWeightMap weight)
-  {
-    boost::dijkstra_shortest_paths(g, s, weight_map(weight).
-      visitor(boost::make_dijkstra_visitor(std::make_pair(
-       boost::record_distances(node_distance, boost::on_edge_relaxed()),
-        update_position))));
-  }
-};
-
-template<>
-struct gursoy_shortest<dummy_property_map>
-{
-  template<typename Graph, typename NodeDistanceMap, typename UpdatePosition>
-  static inline void 
-  run(const Graph& g, typename graph_traits<Graph>::vertex_descriptor s,
-      NodeDistanceMap node_distance,  UpdatePosition& update_position,
-      dummy_property_map)
-  {
-    boost::breadth_first_search(g, s,
-      visitor(boost::make_bfs_visitor(std::make_pair(
-        boost::record_distances(node_distance, boost::on_tree_edge()),
-        update_position))));
-  }
-};
-
-} // namespace detail
-
-template <typename VertexListAndIncidenceGraph,  typename Topology,
-          typename PositionMap, typename Diameter, typename VertexIndexMap, 
-          typename EdgeWeightMap>
-void 
-gursoy_atun_step
-  (const VertexListAndIncidenceGraph& graph,  
-   const Topology& space,
-   PositionMap position,
-   Diameter diameter,
-   double learning_constant,
-   VertexIndexMap vertex_index_map,
-   EdgeWeightMap weight)
-{
-#ifndef BOOST_NO_STDC_NAMESPACE
-  using std::pow;
-  using std::exp;
-#endif
-
-  typedef typename graph_traits<VertexListAndIncidenceGraph>::vertex_iterator
-    vertex_iterator;
-  typedef typename graph_traits<VertexListAndIncidenceGraph>::vertex_descriptor
-    vertex_descriptor;
-  typedef typename Topology::point_type point_type;
-  vertex_iterator i, iend;
-  std::vector<double> distance_from_input_vector(num_vertices(graph));
-  typedef boost::iterator_property_map<std::vector<double>::iterator, 
-                                       VertexIndexMap,
-                                       double, double&>
-    DistanceFromInputMap;
-  DistanceFromInputMap distance_from_input(distance_from_input_vector.begin(),
-                                           vertex_index_map);
-  std::vector<double> node_distance_map_vector(num_vertices(graph));
-  typedef boost::iterator_property_map<std::vector<double>::iterator, 
-                                       VertexIndexMap,
-                                       double, double&>
-    NodeDistanceMap;
-  NodeDistanceMap node_distance(node_distance_map_vector.begin(),
-                                vertex_index_map);
-  point_type input_vector = space.random_point();
-  vertex_descriptor min_distance_loc 
-    = graph_traits<VertexListAndIncidenceGraph>::null_vertex();
-  double min_distance = 0.0;
-  bool min_distance_unset = true;
-  for (boost::tie(i, iend) = vertices(graph); i != iend; ++i) {
-    double this_distance = space.distance(get(position, *i), input_vector);
-    put(distance_from_input, *i, this_distance);
-    if (min_distance_unset || this_distance < min_distance) {
-      min_distance = this_distance;
-      min_distance_loc = *i;
-    }
-    min_distance_unset = false;
-  }
-  BOOST_ASSERT (!min_distance_unset); // Graph must have at least one vertex
-  boost::detail::update_position_visitor<
-      PositionMap, NodeDistanceMap, Topology,
-      VertexListAndIncidenceGraph> 
-    update_position(position, node_distance, space,
-                    input_vector, diameter, learning_constant, 
-                    exp(-1. / (2 * diameter * diameter)));
-  std::fill(node_distance_map_vector.begin(), node_distance_map_vector.end(), 0);
-  try {
-    typedef detail::gursoy_shortest<EdgeWeightMap> shortest;
-    shortest::run(graph, min_distance_loc, node_distance, update_position,
-                  weight);    
-  } catch (detail::over_distance_limit) { 
-    /* Thrown to break out of BFS or Dijkstra early */ 
-  }
-}
-
-template <typename VertexListAndIncidenceGraph,  typename Topology,
-          typename PositionMap, typename VertexIndexMap, 
-          typename EdgeWeightMap>
-void gursoy_atun_refine(const VertexListAndIncidenceGraph& graph,  
-                        const Topology& space,
-                        PositionMap position,
-                        int nsteps,
-                        double diameter_initial,
-                        double diameter_final,
-                        double learning_constant_initial,
-                        double learning_constant_final,
-                        VertexIndexMap vertex_index_map,
-                        EdgeWeightMap weight) 
-{
-#ifndef BOOST_NO_STDC_NAMESPACE
-  using std::pow;
-  using std::exp;
-#endif
-
-  typedef typename graph_traits<VertexListAndIncidenceGraph>::vertex_iterator
-    vertex_iterator;
-  vertex_iterator i, iend;
-  double diameter_ratio = (double)diameter_final / diameter_initial;
-  double learning_constant_ratio = 
-    learning_constant_final / learning_constant_initial;
-  std::vector<double> distance_from_input_vector(num_vertices(graph));
-  typedef boost::iterator_property_map<std::vector<double>::iterator, 
-                                       VertexIndexMap,
-                                       double, double&>
-    DistanceFromInputMap;
-  DistanceFromInputMap distance_from_input(distance_from_input_vector.begin(),
-                                           vertex_index_map);
-  std::vector<int> node_distance_map_vector(num_vertices(graph));
-  typedef boost::iterator_property_map<std::vector<int>::iterator, 
-                                       VertexIndexMap, double, double&>
-    NodeDistanceMap;
-  NodeDistanceMap node_distance(node_distance_map_vector.begin(),
-                                vertex_index_map);
-  for (int round = 0; round < nsteps; ++round) {
-    double part_done = (double)round / (nsteps - 1);
-    // fprintf(stderr, "%2d%% done\n", int(rint(part_done * 100.)));
-    int diameter = (int)(diameter_initial * pow(diameter_ratio, part_done));
-    double learning_constant = 
-      learning_constant_initial * pow(learning_constant_ratio, part_done);
-    gursoy_atun_step(graph, space, position, diameter, learning_constant, 
-                     vertex_index_map, weight);
-  }
-}
-
-template <typename VertexListAndIncidenceGraph,  typename Topology,
-          typename PositionMap, typename VertexIndexMap, 
-          typename EdgeWeightMap>
-void gursoy_atun_layout(const VertexListAndIncidenceGraph& graph,  
-                        const Topology& space,
-                        PositionMap position,
-                        int nsteps,
-                        double diameter_initial,
-                        double diameter_final,
-                        double learning_constant_initial,
-                        double learning_constant_final,
-                        VertexIndexMap vertex_index_map,
-                        EdgeWeightMap weight)
-{
-  typedef typename graph_traits<VertexListAndIncidenceGraph>::vertex_iterator
-    vertex_iterator;
-  vertex_iterator i, iend;
-  for (boost::tie(i, iend) = vertices(graph); i != iend; ++i) {
-    put(position, *i, space.random_point());
-  }
-  gursoy_atun_refine(graph, space,
-                     position, nsteps,
-                     diameter_initial, diameter_final, 
-                     learning_constant_initial, learning_constant_final,
-                     vertex_index_map, weight);
-}
-
-template <typename VertexListAndIncidenceGraph,  typename Topology,
-          typename PositionMap, typename VertexIndexMap>
-void gursoy_atun_layout(const VertexListAndIncidenceGraph& graph,  
-                        const Topology& space,
-                        PositionMap position,
-                        int nsteps,
-                        double diameter_initial,
-                        double diameter_final,
-                        double learning_constant_initial,
-                        double learning_constant_final,
-                        VertexIndexMap vertex_index_map)
-{
-  gursoy_atun_layout(graph, space, position, nsteps, 
-                     diameter_initial, diameter_final, 
-                     learning_constant_initial, learning_constant_final, 
-                     vertex_index_map, dummy_property_map());
-}
-
-template <typename VertexListAndIncidenceGraph, typename Topology,
-          typename PositionMap>
-void gursoy_atun_layout(const VertexListAndIncidenceGraph& graph,  
-                        const Topology& space,
-                        PositionMap position,
-                        int nsteps,
-                        double diameter_initial,
-                        double diameter_final = 1.0,
-                        double learning_constant_initial = 0.8,
-                        double learning_constant_final = 0.2)
-{ 
-  gursoy_atun_layout(graph, space, position, nsteps, diameter_initial,
-                     diameter_final, learning_constant_initial,
-                     learning_constant_final, get(vertex_index, graph)); 
-}
-
-template <typename VertexListAndIncidenceGraph, typename Topology,
-          typename PositionMap>
-void gursoy_atun_layout(const VertexListAndIncidenceGraph& graph,  
-                        const Topology& space,
-                        PositionMap position,
-                        int nsteps)
-{
-#ifndef BOOST_NO_STDC_NAMESPACE
-  using std::sqrt;
-#endif
-
-  gursoy_atun_layout(graph, space, position, nsteps, 
-                     sqrt((double)num_vertices(graph)));
-}
-
-template <typename VertexListAndIncidenceGraph, typename Topology,
-          typename PositionMap>
-void gursoy_atun_layout(const VertexListAndIncidenceGraph& graph,  
-                        const Topology& space,
-                        PositionMap position)
-{
-  gursoy_atun_layout(graph, space, position, num_vertices(graph));
-}
-
-template<typename VertexListAndIncidenceGraph, typename Topology,
-         typename PositionMap, typename P, typename T, typename R>
-void 
-gursoy_atun_layout(const VertexListAndIncidenceGraph& graph,  
-                   const Topology& space,
-                   PositionMap position,
-                   const bgl_named_params<P,T,R>& params)
-{
-#ifndef BOOST_NO_STDC_NAMESPACE
-  using std::sqrt;
-#endif
-
-  std::pair<double, double> diam(sqrt(double(num_vertices(graph))), 1.0);
-  std::pair<double, double> learn(0.8, 0.2);
-  gursoy_atun_layout(graph, space, position,
-                     choose_param(get_param(params, iterations_t()),
-                                  num_vertices(graph)),
-                     choose_param(get_param(params, diameter_range_t()), 
-                                  diam).first,
-                     choose_param(get_param(params, diameter_range_t()), 
-                                  diam).second,
-                     choose_param(get_param(params, learning_constant_range_t()), 
-                                  learn).first,
-                     choose_param(get_param(params, learning_constant_range_t()), 
-                                  learn).second,
-                     choose_const_pmap(get_param(params, vertex_index), graph,
-                                       vertex_index),
-                     choose_param(get_param(params, edge_weight), 
-                                  dummy_property_map()));
-}
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_GURSOY_ATUN_LAYOUT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/hawick_circuits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/hawick_circuits.hpp
deleted file mode 100644
index 93c12b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/hawick_circuits.hpp
+++ /dev/null
@@ -1,381 +0,0 @@
-// Copyright Louis Dionne 2013
-
-// Use, modification and distribution is subject to the 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_GRAPH_HAWICK_CIRCUITS_HPP
-#define BOOST_GRAPH_HAWICK_CIRCUITS_HPP
-
-#include <algorithm>
-#include <boost/assert.hpp>
-#include <boost/foreach.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/one_bit_color_map.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/move/utility.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/tuple/tuple.hpp> // for boost::tie
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/result_of.hpp>
-#include <set>
-#include <utility> // for std::pair
-#include <vector>
-
-
-namespace boost {
-namespace hawick_circuits_detail {
-//! @internal Functor returning all the vertices adjacent to a vertex.
-struct get_all_adjacent_vertices {
-    template <typename Sig>
-    struct result;
-
-    template <typename This, typename Vertex, typename Graph>
-    struct result<This(Vertex, Graph)> {
-    private:
-        typedef typename remove_reference<Graph>::type RawGraph;
-        typedef graph_traits<RawGraph> Traits;
-        typedef typename Traits::adjacency_iterator AdjacencyIterator;
-
-    public:
-        typedef std::pair<AdjacencyIterator, AdjacencyIterator> type;
-    };
-
-    template <typename Vertex, typename Graph>
-    typename result<
-        get_all_adjacent_vertices(BOOST_FWD_REF(Vertex), BOOST_FWD_REF(Graph))
-    >::type
-    operator()(BOOST_FWD_REF(Vertex) v, BOOST_FWD_REF(Graph) g) const {
-        return adjacent_vertices(boost::forward<Vertex>(v),
-                                 boost::forward<Graph>(g));
-    }
-};
-
-//! @internal Functor returning a set of the vertices adjacent to a vertex.
-struct get_unique_adjacent_vertices {
-    template <typename Sig>
-    struct result;
-
-    template <typename This, typename Vertex, typename Graph>
-    struct result<This(Vertex, Graph)> {
-        typedef std::set<typename remove_reference<Vertex>::type> type;
-    };
-
-    template <typename Vertex, typename Graph>
-    typename result<get_unique_adjacent_vertices(Vertex, Graph const&)>::type
-    operator()(Vertex v, Graph const& g) const {
-        typedef typename result<
-                    get_unique_adjacent_vertices(Vertex, Graph const&)
-                >::type Set;
-        return Set(adjacent_vertices(v, g).first,
-                   adjacent_vertices(v, g).second);
-    }
-};
-
-//! @internal
-//! Return whether a container contains a given value.
-//! This is not meant as a general purpose membership testing function; it
-//! would have to be more clever about possible optimizations.
-template <typename Container, typename Value>
-bool contains(Container const& c, Value const& v) {
-    return std::find(boost::begin(c), boost::end(c), v) != boost::end(c);
-}
-
-/*!
- * @internal
- * Algorithm finding all the cycles starting from a given vertex.
- *
- * The search is only done in the subgraph induced by the starting vertex
- * and the vertices with an index higher than the starting vertex.
- */
-template <
-    typename Graph,
-    typename Visitor,
-    typename VertexIndexMap,
-    typename Stack,
-    typename ClosedMatrix,
-    typename GetAdjacentVertices
->
-struct hawick_circuits_from {
-private:
-    typedef graph_traits<Graph> Traits;
-    typedef typename Traits::vertex_descriptor Vertex;
-    typedef typename Traits::edge_descriptor Edge;
-    typedef typename Traits::vertices_size_type VerticesSize;
-    typedef typename property_traits<VertexIndexMap>::value_type VertexIndex;
-
-    typedef typename result_of<
-                GetAdjacentVertices(Vertex, Graph const&)
-            >::type AdjacentVertices;
-    typedef typename range_iterator<AdjacentVertices const>::type AdjacencyIterator;
-
-    // The one_bit_color_map starts all white, i.e. not blocked.
-    // Since we make that assumption (I looked at the implementation, but
-    // I can't find anything that documents this behavior), we're gonna
-    // assert it in the constructor.
-    typedef one_bit_color_map<VertexIndexMap> BlockedMap;
-    typedef typename property_traits<BlockedMap>::value_type BlockedColor;
-
-    static BlockedColor blocked_false_color()
-    { return color_traits<BlockedColor>::white(); }
-
-    static BlockedColor blocked_true_color()
-    { return color_traits<BlockedColor>::black(); }
-
-    // This is used by the constructor to secure the assumption
-    // documented above.
-    bool blocked_map_starts_all_unblocked() const {
-        BOOST_FOREACH(Vertex v, vertices(graph_))
-            if (is_blocked(v))
-                return false;
-        return true;
-    }
-
-    // This is only used in the constructor to make sure the optimization of
-    // sharing data structures between iterations does not break the code.
-    bool all_closed_rows_are_empty() const {
-        BOOST_FOREACH(typename ClosedMatrix::reference row, closed_)
-            if (!row.empty())
-                return false;
-        return true;
-    }
-
-public:
-    hawick_circuits_from(Graph const& graph, Visitor& visitor,
-                         VertexIndexMap const& vim,
-                         Stack& stack, ClosedMatrix& closed,
-                         VerticesSize n_vertices)
-        : graph_(graph), visitor_(visitor), vim_(vim), stack_(stack),
-          closed_(closed), blocked_(n_vertices, vim_)
-        {
-            BOOST_ASSERT(blocked_map_starts_all_unblocked());
-
-            // Since sharing the data structures between iterations is
-            // just an optimization, it must always be equivalent to
-            // constructing new ones in this constructor.
-            BOOST_ASSERT(stack_.empty());
-            BOOST_ASSERT(closed_.size() == n_vertices);
-            BOOST_ASSERT(all_closed_rows_are_empty());
-        }
-
-private:
-    //! @internal Return the index of a given vertex.
-    VertexIndex index_of(Vertex v) const {
-        return get(vim_, v);
-    }
-
-
-    //! @internal Return whether a vertex `v` is closed to a vertex `u`.
-    bool is_closed_to(Vertex u, Vertex v) const {
-        typedef typename ClosedMatrix::const_reference VertexList;
-        VertexList closed_to_u = closed_[index_of(u)];
-        return contains(closed_to_u, v);
-    }
-
-    //! @internal Close a vertex `v` to a vertex `u`.
-    void close_to(Vertex u, Vertex v) {
-        BOOST_ASSERT(!is_closed_to(u, v));
-        closed_[index_of(u)].push_back(v);
-    }
-
-
-    //! @internal Return whether a given vertex is blocked.
-    bool is_blocked(Vertex v) const {
-        return get(blocked_, v) == blocked_true_color();
-    }
-
-    //! @internal Block a given vertex.
-    void block(Vertex v) {
-        put(blocked_, v, blocked_true_color());
-    }
-
-    //! @internal Unblock a given vertex.
-    void unblock(Vertex u) {
-        typedef typename ClosedMatrix::reference VertexList;
-
-        put(blocked_, u, blocked_false_color());
-        VertexList closed_to_u = closed_[index_of(u)];
-
-        while (!closed_to_u.empty()) {
-            Vertex const w = closed_to_u.back();
-            closed_to_u.pop_back();
-            if (is_blocked(w))
-                unblock(w);
-        }
-        BOOST_ASSERT(closed_to_u.empty());
-    }
-
-    //! @internal Main procedure as described in the paper.
-    bool circuit(Vertex start, Vertex v) {
-        bool found_circuit = false;
-        stack_.push_back(v);
-        block(v);
-
-        // Cache some values that are used more than once in the function.
-        VertexIndex const index_of_start = index_of(start);
-        AdjacentVertices const adj_vertices = GetAdjacentVertices()(v, graph_);
-        AdjacencyIterator const w_end = boost::end(adj_vertices);
-
-        for (AdjacencyIterator w_it = boost::begin(adj_vertices);
-             w_it != w_end;
-             ++w_it)
-        {
-            Vertex const w = *w_it;
-            // Since we're only looking in the subgraph induced by `start`
-            // and the vertices with an index higher than `start`, we skip
-            // any vertex that does not satisfy that.
-            if (index_of(w) < index_of_start)
-                continue;
-
-            // If the last vertex is equal to `start`, we have a circuit.
-            else if (w == start) {
-                // const_cast to ensure the visitor does not modify the stack
-                visitor_.cycle(const_cast<Stack const&>(stack_), graph_);
-                found_circuit = true;
-            }
-
-            // If `w` is not blocked, we continue searching further down the
-            // same path for a cycle with `w` in it.
-            else if (!is_blocked(w) && circuit(start, w))
-                found_circuit = true;
-        }
-
-        if (found_circuit)
-            unblock(v);
-        else
-            for (AdjacencyIterator w_it = boost::begin(adj_vertices);
-                 w_it != w_end;
-                 ++w_it)
-            {
-                Vertex const w = *w_it;
-                // Like above, we skip vertices that are not in the subgraph
-                // we're considering.
-                if (index_of(w) < index_of_start)
-                    continue;
-
-                // If `v` is not closed to `w`, we make it so.
-                if (!is_closed_to(w, v))
-                    close_to(w, v);
-            }
-
-        BOOST_ASSERT(v == stack_.back());
-        stack_.pop_back();
-        return found_circuit;
-    }
-
-public:
-    void operator()(Vertex start) {
-        circuit(start, start);
-    }
-
-private:
-    Graph const& graph_;
-    Visitor& visitor_;
-    VertexIndexMap const& vim_;
-    Stack& stack_;
-    ClosedMatrix& closed_;
-    BlockedMap blocked_;
-};
-
-template <
-    typename GetAdjacentVertices,
-    typename Graph, typename Visitor, typename VertexIndexMap
->
-void call_hawick_circuits(Graph const& graph,
-                          Visitor /* by value */ visitor,
-                          VertexIndexMap const& vertex_index_map) {
-    typedef graph_traits<Graph> Traits;
-    typedef typename Traits::vertex_descriptor Vertex;
-    typedef typename Traits::vertices_size_type VerticesSize;
-    typedef typename Traits::vertex_iterator VertexIterator;
-
-    typedef std::vector<Vertex> Stack;
-    typedef std::vector<std::vector<Vertex> > ClosedMatrix;
-
-    typedef hawick_circuits_from<
-                Graph, Visitor, VertexIndexMap, Stack, ClosedMatrix,
-                GetAdjacentVertices
-            > SubAlgorithm;
-
-    VerticesSize const n_vertices = num_vertices(graph);
-    Stack stack; stack.reserve(n_vertices);
-    ClosedMatrix closed(n_vertices);
-
-    VertexIterator start, last;
-    for (boost::tie(start, last) = vertices(graph); start != last; ++start) {
-        // Note1: The sub algorithm may NOT be reused once it has been called.
-
-        // Note2: We reuse the Stack and the ClosedMatrix (after clearing them)
-        // in each iteration to avoid redundant destruction and construction.
-        // It would be strictly equivalent to have these as member variables
-        // of the sub algorithm.
-        SubAlgorithm sub_algo(graph, visitor, vertex_index_map,
-                              stack, closed, n_vertices);
-        sub_algo(*start);
-        stack.clear();
-        typename ClosedMatrix::iterator row, last_row = closed.end();
-        for (row = closed.begin(); row != last_row; ++row)
-            row->clear();
-    }
-}
-
-template <typename GetAdjacentVertices, typename Graph, typename Visitor>
-void call_hawick_circuits(Graph const& graph, BOOST_FWD_REF(Visitor) visitor) {
-    call_hawick_circuits<GetAdjacentVertices>(
-        graph, boost::forward<Visitor>(visitor), get(vertex_index, graph)
-    );
-}
-} // end namespace hawick_circuits_detail
-
-//! Enumerate all the elementary circuits in a directed multigraph.
-template <typename Graph, typename Visitor, typename VertexIndexMap>
-void hawick_circuits(BOOST_FWD_REF(Graph) graph,
-                     BOOST_FWD_REF(Visitor) visitor,
-                     BOOST_FWD_REF(VertexIndexMap) vertex_index_map) {
-    hawick_circuits_detail::call_hawick_circuits<
-        hawick_circuits_detail::get_all_adjacent_vertices
-    >(
-        boost::forward<Graph>(graph),
-        boost::forward<Visitor>(visitor),
-        boost::forward<VertexIndexMap>(vertex_index_map)
-    );
-}
-
-template <typename Graph, typename Visitor>
-void hawick_circuits(BOOST_FWD_REF(Graph) graph,
-                     BOOST_FWD_REF(Visitor) visitor) {
-    hawick_circuits_detail::call_hawick_circuits<
-        hawick_circuits_detail::get_all_adjacent_vertices
-    >(boost::forward<Graph>(graph), boost::forward<Visitor>(visitor));
-}
-
-/*!
- * Same as `boost::hawick_circuits`, but duplicate circuits caused by parallel
- * edges will not be considered. Each circuit will be considered only once.
- */
-template <typename Graph, typename Visitor, typename VertexIndexMap>
-void hawick_unique_circuits(BOOST_FWD_REF(Graph) graph,
-                            BOOST_FWD_REF(Visitor) visitor,
-                            BOOST_FWD_REF(VertexIndexMap) vertex_index_map) {
-    hawick_circuits_detail::call_hawick_circuits<
-        hawick_circuits_detail::get_unique_adjacent_vertices
-    >(
-        boost::forward<Graph>(graph),
-        boost::forward<Visitor>(visitor),
-        boost::forward<VertexIndexMap>(vertex_index_map)
-    );
-}
-
-template <typename Graph, typename Visitor>
-void hawick_unique_circuits(BOOST_FWD_REF(Graph) graph,
-                            BOOST_FWD_REF(Visitor) visitor) {
-    hawick_circuits_detail::call_hawick_circuits<
-        hawick_circuits_detail::get_unique_adjacent_vertices
-    >(boost::forward<Graph>(graph), boost::forward<Visitor>(visitor));
-}
-} // end namespace boost
-
-#endif // !BOOST_GRAPH_HAWICK_CIRCUITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/howard_cycle_ratio.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/howard_cycle_ratio.hpp
deleted file mode 100644
index afbf26d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/howard_cycle_ratio.hpp
+++ /dev/null
@@ -1,635 +0,0 @@
-// Copyright (C) 2006-2009 Dmitry Bufistov and Andrey Parfenov
-
-// Use, modification and distribution is subject to the 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_GRAPH_CYCLE_RATIO_HOWARD_HPP
-#define BOOST_GRAPH_CYCLE_RATIO_HOWARD_HPP
-
-#include <vector>
-#include <list>
-#include <algorithm>
-#include <limits>
-
-#include <boost/bind.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/pending/queue.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/concept/assert.hpp>
-
-/** @file howard_cycle_ratio.hpp
- * @brief The implementation of the maximum/minimum cycle ratio/mean algorithm.
- * @author Dmitry Bufistov
- * @author Andrey Parfenov
- */
-
-namespace boost {
-
-  /**
-   * The mcr_float is like numeric_limits, but only for floating point types
-   * and only defines infinity() and epsilon(). This class is primarily used
-   * to encapsulate a less-precise epsilon than natively supported by the
-   * floating point type.
-   */
-  template <typename Float = double> struct mcr_float {
-    typedef Float value_type;
-
-    static Float infinity()
-    { return std::numeric_limits<value_type>::infinity(); }
-
-    static Float epsilon()
-    { return Float(-0.005); }
-  };
-
-  namespace detail {
-
-    template <typename FloatTraits> struct
-    min_comparator_props {
-      typedef std::greater<typename FloatTraits::value_type> comparator;
-      static const int multiplier = 1;
-    };
-
-    template <typename FloatTraits> struct
-    max_comparator_props {
-      typedef std::less<typename FloatTraits::value_type> comparator;
-      static const int multiplier = -1;
-    };
-
-    template <typename FloatTraits, typename ComparatorProps>
-    struct float_wrapper {
-      typedef typename FloatTraits::value_type value_type;
-      typedef ComparatorProps comparator_props_t;
-      typedef typename ComparatorProps::comparator comparator;
-
-      static value_type infinity()
-      { return FloatTraits::infinity() * ComparatorProps::multiplier; }
-
-      static value_type epsilon()
-      { return FloatTraits::epsilon() * ComparatorProps::multiplier; }
-
-    };
-
-    /*! @class mcr_howard
-     * @brief Calculates optimum (maximum/minimum) cycle ratio of a directed graph.
-     * Uses  Howard's iteration policy algorithm. </br>(It is described in the paper
-     * "Experimental Analysis of the Fastest Optimum Cycle Ratio and Mean Algorithm"
-     * by Ali Dasdan).
-     */
-    template <typename FloatTraits,
-              typename Graph, typename VertexIndexMap,
-              typename EdgeWeight1, typename EdgeWeight2>
-    class mcr_howard
-    {
-    public:
-      typedef typename FloatTraits::value_type float_t;
-      typedef typename FloatTraits::comparator_props_t cmp_props_t;
-      typedef typename FloatTraits::comparator comparator_t;
-      typedef enum{ my_white = 0, my_black } my_color_type;
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-      typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-      typedef typename graph_traits<Graph>::vertices_size_type vn_t;
-      typedef std::vector<float_t> vp_t;
-      typedef typename boost::iterator_property_map<
-        typename vp_t::iterator, VertexIndexMap
-      > distance_map_t; //V -> float_t
-
-      typedef typename std::vector<edge_t> ve_t;
-      typedef std::vector<my_color_type> vcol_t;
-      typedef typename ::boost::iterator_property_map<
-        typename ve_t::iterator, VertexIndexMap
-      > policy_t; //Vertex -> Edge
-      typedef typename ::boost::iterator_property_map<
-        typename vcol_t::iterator, VertexIndexMap
-      > color_map_t;
-
-      typedef typename std::list<vertex_t> pinel_t;// The in_edges list of the policy graph
-      typedef typename std::vector<pinel_t> inedges1_t;
-      typedef typename ::boost::iterator_property_map<
-        typename inedges1_t::iterator, VertexIndexMap
-      > inedges_t;
-      typedef typename std::vector<edge_t> critical_cycle_t;
-
-      //Bad  vertex flag. If true, then the vertex is "bad".
-      // Vertex is "bad" if its out_degree is equal to zero.
-      typedef typename boost::iterator_property_map<
-        std::vector<int>::iterator, VertexIndexMap
-      > badv_t;
-
-      /*!
-       * Constructor
-       * \param g = (V, E) - a directed multigraph.
-       * \param vim  Vertex Index Map. Read property Map: V -> [0, num_vertices(g)).
-       * \param ewm  edge weight map. Read property map: E -> R
-       * \param ew2m  edge weight map. Read property map: E -> R+
-       * \param infty A big enough value to guaranty that there exist a cycle with
-       *  better ratio.
-       * \param cmp The compare operator for float_ts.
-       */
-      mcr_howard(const Graph &g, VertexIndexMap vim,
-                  EdgeWeight1 ewm, EdgeWeight2 ew2m) :
-        m_g(g), m_vim(vim), m_ew1m(ewm), m_ew2m(ew2m),
-        m_bound(mcr_bound()),
-        m_cr(m_bound),
-        m_V(num_vertices(m_g)),
-        m_dis(m_V, 0), m_dm(m_dis.begin(), m_vim),
-        m_policyc(m_V), m_policy(m_policyc.begin(), m_vim),
-        m_inelc(m_V), m_inel(m_inelc.begin(), m_vim),
-        m_badvc(m_V, false), m_badv(m_badvc.begin(), m_vim),
-        m_colcv(m_V),
-        m_col_bfs(m_V)
-      { }
-
-      /*!
-       * \return maximum/minimum_{for all cycles C}
-       *         [sum_{e in C} w1(e)] / [sum_{e in C} w2(e)],
-       * or FloatTraits::infinity() if graph has no cycles.
-       */
-      float_t ocr_howard()
-      {
-        construct_policy_graph();
-        int k = 0;
-        float_t mcr = 0;
-        do
-          {
-            mcr = policy_mcr();
-            ++k;
-          }
-        while (try_improve_policy(mcr) && k < 100); //To avoid infinite loop
-
-        const float_t eps_ =  -0.00000001 * cmp_props_t::multiplier;
-        if (m_cmp(mcr, m_bound + eps_))
-          {
-            return FloatTraits::infinity();
-          }
-        else
-          {
-            return  mcr;
-          }
-      }
-      virtual ~mcr_howard() {}
-
-    protected:
-      virtual void store_critical_edge(edge_t, critical_cycle_t &) {}
-      virtual void store_critical_cycle(critical_cycle_t &) {}
-
-    private:
-      /*!
-       * \return lower/upper bound for the maximal/minimal cycle ratio
-       */
-      float_t mcr_bound()
-      {
-        typename  graph_traits<Graph>::vertex_iterator  vi, vie;
-        typename  graph_traits<Graph>::out_edge_iterator  oei, oeie;
-        float_t cz = (std::numeric_limits<float_t>::max)(); //Closest to zero value
-        float_t s = 0;
-        const float_t eps_ = std::numeric_limits<float_t>::epsilon();
-        for (boost::tie(vi, vie) = vertices(m_g); vi != vie; ++vi)
-          {
-            for (boost::tie(oei, oeie) = out_edges(*vi, m_g); oei != oeie; ++oei)
-              {
-                s += std::abs(m_ew1m[*oei]);
-                float_t a = std::abs(m_ew2m[*oei]);
-                if ( a > eps_ && a < cz)
-                {
-                  cz = a;
-                }
-              }
-          }
-        return  cmp_props_t::multiplier * (s / cz);
-      }
-
-
-      /*!
-       *  Constructs an arbitrary policy graph.
-       */
-      void construct_policy_graph()
-      {
-        m_sink = graph_traits<Graph>().null_vertex();
-        typename  graph_traits<Graph>::vertex_iterator  vi, vie;
-        typename  graph_traits<Graph>::out_edge_iterator  oei, oeie;
-        for ( boost::tie(vi, vie) = vertices(m_g); vi != vie; ++vi )
-          {
-            boost::tie(oei, oeie) = out_edges(*vi, m_g);
-            typename graph_traits<Graph>::out_edge_iterator mei =
-              std::max_element(oei, oeie,
-                               boost::bind(m_cmp,
-                                           boost::bind(&EdgeWeight1::operator[], m_ew1m, _1),
-                                           boost::bind(&EdgeWeight1::operator[], m_ew1m, _2)
-                                          )
-                               );
-            if (mei == oeie)
-              {
-                if (m_sink == graph_traits<Graph>().null_vertex())
-                  {
-                    m_sink = *vi;
-                  }
-                m_badv[*vi] = true;
-                m_inel[m_sink].push_back(*vi);
-              }
-            else
-              {
-                m_inel[target(*mei, m_g)].push_back(*vi);
-                m_policy[*vi] = *mei;
-              }
-          }
-      }
-      /*! Sets the distance value for all vertices "v" such that there is
-       * a path from "v" to "sv". It does "inverse" breadth first visit of the policy
-       * graph, starting from the vertex "sv".
-       */
-      void mcr_bfv(vertex_t sv, float_t cr, color_map_t c)
-      {
-        boost::queue<vertex_t> Q;
-        c[sv] = my_black;
-        Q.push(sv);
-        while (!Q.empty())
-          {
-            vertex_t v = Q.top(); Q.pop();
-            for (typename pinel_t::const_iterator itr = m_inel[v].begin();
-                 itr != m_inel[v].end(); ++itr)
-              //For all in_edges of the policy graph
-              {
-                if (*itr != sv)
-                  {
-                    if (m_badv[*itr])
-                      {
-                        m_dm[*itr] = m_dm[v] + m_bound - cr;
-                      }
-                    else
-                      {
-                        m_dm[*itr] = m_dm[v] + m_ew1m[m_policy[*itr]] -
-                          m_ew2m[m_policy[*itr]] * cr;
-                      }
-                    c[*itr] = my_black;
-                    Q.push(*itr);
-                  }
-              }
-          }
-      }
-
-      /*!
-       * \param sv an arbitrary (undiscovered) vertex of the policy graph.
-       * \return a vertex in the policy graph that belongs to a cycle.
-       * Performs a depth first visit until a cycle edge is found.
-       */
-      vertex_t find_cycle_vertex(vertex_t sv)
-      {
-        vertex_t gv = sv;
-        std::fill(m_colcv.begin(), m_colcv.end(), my_white);
-        color_map_t cm(m_colcv.begin(), m_vim);
-        do
-          {
-            cm[gv] = my_black;
-            if (! m_badv[gv])
-              {
-                gv = target(m_policy[gv], m_g);
-              }
-            else
-              {
-                gv = m_sink;
-              }
-          }
-        while (cm[gv] != my_black);
-        return gv;
-      }
-
-      /*!
-       * \param sv - vertex that belongs to a cycle in the policy graph.
-       */
-      float_t cycle_ratio(vertex_t sv)
-      {
-        if (sv == m_sink) return m_bound;
-        std::pair<float_t, float_t> sums_(float_t(0), float_t(0));
-        vertex_t v = sv;
-        critical_cycle_t cc;
-        do
-          {
-            store_critical_edge(m_policy[v], cc);
-            sums_.first += m_ew1m[m_policy[v]];
-            sums_.second += m_ew2m[m_policy[v]];
-            v = target(m_policy[v], m_g);
-          }
-        while (v != sv);
-        float_t cr = sums_.first / sums_.second;
-        if ( m_cmp(m_cr, cr) )
-          {
-            m_cr = cr;
-            store_critical_cycle(cc);
-          }
-        return cr;
-      }
-
-      /*!
-       *  Finds the optimal cycle ratio of the policy graph
-       */
-      float_t policy_mcr()
-      {
-        std::fill(m_col_bfs.begin(), m_col_bfs.end(), my_white);
-        color_map_t vcm_ = color_map_t(m_col_bfs.begin(), m_vim);
-        typename graph_traits<Graph>::vertex_iterator uv_itr, vie;
-        boost::tie(uv_itr, vie) = vertices(m_g);
-        float_t mcr = m_bound;
-        while ( (uv_itr = std::find_if(uv_itr, vie,
-                                       boost::bind(std::equal_to<my_color_type>(),
-                                                   my_white,
-                                                   boost::bind(&color_map_t::operator[], vcm_, _1)
-                                                   )
-                                       )
-                 ) != vie )
-          ///While there are undiscovered vertices
-          {
-            vertex_t gv = find_cycle_vertex(*uv_itr);
-            float_t cr = cycle_ratio(gv) ;
-            mcr_bfv(gv, cr, vcm_);
-            if ( m_cmp(mcr, cr) )  mcr = cr;
-            ++uv_itr;
-          }
-        return mcr;
-      }
-
-      /*!
-       * Changes the edge m_policy[s] to the new_edge.
-       */
-      void improve_policy(vertex_t s, edge_t new_edge)
-      {
-        vertex_t t = target(m_policy[s], m_g);
-        typename property_traits<VertexIndexMap>::value_type ti = m_vim[t];
-        m_inelc[ti].erase( std::find(m_inelc[ti].begin(), m_inelc[ti].end(), s));
-        m_policy[s] = new_edge;
-        t = target(new_edge, m_g);
-        m_inel[t].push_back(s); ///Maintain in_edge list
-      }
-
-      /*!
-       * A negative cycle detector.
-       */
-      bool try_improve_policy(float_t cr)
-      {
-        bool improved = false;
-        typename  graph_traits<Graph>::vertex_iterator  vi, vie;
-        typename  graph_traits<Graph>::out_edge_iterator  oei, oeie;
-        const float_t eps_ =  FloatTraits::epsilon();
-        for (boost::tie(vi, vie) = vertices(m_g); vi != vie; ++vi)
-          {
-            if (!m_badv[*vi])
-              {
-                for (boost::tie(oei, oeie) = out_edges(*vi, m_g); oei != oeie; ++oei)
-                  {
-                    vertex_t t = target(*oei, m_g);
-                    //Current distance from *vi to some vertex
-                    float_t dis_ = m_ew1m[*oei] - m_ew2m[*oei] * cr + m_dm[t];
-                    if ( m_cmp(m_dm[*vi] + eps_, dis_) )
-                      {
-                        improve_policy(*vi, *oei);
-                        m_dm[*vi] = dis_;
-                        improved = true;
-                      }
-                  }
-              }
-            else
-              {
-                float_t dis_ = m_bound - cr + m_dm[m_sink];
-                if ( m_cmp(m_dm[*vi] + eps_, dis_) )
-                  {
-                    m_dm[*vi] = dis_;
-                  }
-              }
-          }
-        return improved;
-      }
-    private:
-      const Graph &m_g;
-      VertexIndexMap m_vim;
-      EdgeWeight1 m_ew1m;
-      EdgeWeight2 m_ew2m;
-      comparator_t m_cmp;
-      float_t m_bound; //> The lower/upper bound to the maximal/minimal cycle ratio
-      float_t m_cr; //>The best cycle ratio that has been found so far
-
-      vn_t m_V; //>The number of the vertices in the graph
-      vp_t m_dis; //>Container for the distance map
-      distance_map_t m_dm; //>Distance map
-
-      ve_t m_policyc; //>Container for the policy graph
-      policy_t m_policy; //>The interface for the policy graph
-
-      inedges1_t m_inelc; //>Container fot in edges list
-      inedges_t m_inel; //>Policy graph, input edges list
-
-      std::vector<int> m_badvc;
-      badv_t m_badv; //Marks "bad" vertices
-
-      vcol_t m_colcv, m_col_bfs; //Color maps
-      vertex_t m_sink; //To convert any graph to "good"
-    };
-
-    /*! \class mcr_howard1
-  * \brief Finds optimum cycle raio and a critical cycle
-     */
-    template <typename FloatTraits,
-              typename Graph, typename VertexIndexMap,
-              typename EdgeWeight1, typename EdgeWeight2>
-    class mcr_howard1  : public
-    mcr_howard<FloatTraits, Graph, VertexIndexMap,
-               EdgeWeight1, EdgeWeight2>
-    {
-    public:
-      typedef mcr_howard<FloatTraits, Graph, VertexIndexMap,
-        EdgeWeight1, EdgeWeight2> inhr_t;
-      mcr_howard1(const Graph &g, VertexIndexMap vim,
-        EdgeWeight1 ewm, EdgeWeight2 ew2m) :
-        inhr_t(g, vim, ewm, ew2m)
-      { }
-
-      void get_critical_cycle(typename inhr_t::critical_cycle_t &cc)
-      { return cc.swap(m_cc); }
-
-    protected:
-      void store_critical_edge(typename inhr_t::edge_t ed,
-        typename inhr_t::critical_cycle_t &cc)
-      { cc.push_back(ed); }
-
-      void store_critical_cycle(typename inhr_t::critical_cycle_t &cc)
-      { m_cc.swap(cc); }
-
-    private:
-      typename inhr_t::critical_cycle_t m_cc; //Critical cycle
-    };
-
-    /*!
-     * \param g a directed multigraph.
-     * \param vim Vertex Index Map. A map V->[0, num_vertices(g))
-     * \param ewm Edge weight1 map.
-     * \param ew2m Edge weight2 map.
-     * \param pcc  pointer to the critical edges list.
-     * \return Optimum cycle ratio of g or FloatTraits::infinity() if g has no cycles.
-     */
-    template <typename FT,
-              typename TG, typename TVIM,
-              typename TEW1, typename TEW2,
-              typename EV>
-    typename FT::value_type
- optimum_cycle_ratio(const TG &g, TVIM vim, TEW1 ewm, TEW2 ew2m, EV* pcc)
-    {
-      typedef typename graph_traits<TG>::directed_category DirCat;
-      BOOST_STATIC_ASSERT((is_convertible<DirCat*, directed_tag*>::value == true));
-      BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<TG> ));
-      BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<TG> ));
-      typedef typename graph_traits<TG>::vertex_descriptor Vertex;
-      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<TVIM, Vertex> ));
-      typedef typename graph_traits<TG>::edge_descriptor Edge;
-      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<TEW1, Edge> ));
-      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<TEW2, Edge> ));
-
-      if(pcc == 0) {
-          return detail::mcr_howard<FT,TG, TVIM, TEW1, TEW2>(
-            g, vim, ewm, ew2m
-          ).ocr_howard();
-      }
-
-      detail::mcr_howard1<FT, TG, TVIM, TEW1, TEW2> obj(g, vim, ewm, ew2m);
-      double ocr = obj.ocr_howard();
-      obj.get_critical_cycle(*pcc);
-      return ocr;
-    }
-  } // namespace detail
-
-// Algorithms
-// Maximum Cycle Ratio
-
-template <
-    typename FloatTraits,
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeight1Map,
-    typename EdgeWeight2Map>
-inline typename FloatTraits::value_type
-maximum_cycle_ratio(const Graph &g, VertexIndexMap vim, EdgeWeight1Map ew1m,
-                    EdgeWeight2Map ew2m,
-                    std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0,
-                    FloatTraits = FloatTraits())
-{
-    typedef detail::float_wrapper<
-        FloatTraits, detail::max_comparator_props<FloatTraits>
-    > Traits;
-    return detail::optimum_cycle_ratio<Traits>(g, vim, ew1m, ew2m, pcc);
-}
-
-template <
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeight1Map,
-    typename EdgeWeight2Map>
-inline double
-maximum_cycle_ratio(const Graph &g, VertexIndexMap vim,
-                    EdgeWeight1Map ew1m, EdgeWeight2Map ew2m,
-                    std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0)
-{ return maximum_cycle_ratio(g, vim, ew1m, ew2m, pcc, mcr_float<>()); }
-
-// Minimum Cycle Ratio
-
-template <
-    typename FloatTraits,
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeight1Map,
-    typename EdgeWeight2Map>
-typename FloatTraits::value_type
-minimum_cycle_ratio(const Graph &g, VertexIndexMap vim,
-                    EdgeWeight1Map ew1m, EdgeWeight2Map ew2m,
-                    std::vector<typename graph_traits<Graph>::edge_descriptor> *pcc = 0,
-                    FloatTraits = FloatTraits())
-{
-    typedef detail::float_wrapper<
-        FloatTraits, detail::min_comparator_props<FloatTraits>
-    > Traits;
-    return detail::optimum_cycle_ratio<Traits>(g, vim, ew1m, ew2m, pcc);
-}
-
-template <
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeight1Map,
-    typename EdgeWeight2Map>
-inline double
-minimum_cycle_ratio(const Graph &g, VertexIndexMap vim,
-                    EdgeWeight1Map ew1m, EdgeWeight2Map ew2m,
-                    std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0)
-{ return minimum_cycle_ratio(g, vim, ew1m, ew2m, pcc, mcr_float<>()); }
-
-// Maximum Cycle Mean
-
-template <
-    typename FloatTraits,
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeightMap,
-    typename EdgeIndexMap>
-inline typename FloatTraits::value_type
-maximum_cycle_mean(const Graph &g, VertexIndexMap vim,
-                   EdgeWeightMap ewm, EdgeIndexMap eim,
-                   std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0,
-                   FloatTraits ft = FloatTraits())
-{
-    typedef typename remove_const<
-        typename property_traits<EdgeWeightMap>::value_type
-    >::type Weight;
-    typename std::vector<Weight> ed_w2(boost::num_edges(g), 1);
-    return maximum_cycle_ratio(g, vim, ewm,
-                               make_iterator_property_map(ed_w2.begin(), eim),
-                               pcc, ft);
-}
-
-template <
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeightMap,
-    typename EdgeIndexMap>
-inline double
-maximum_cycle_mean(const Graph& g, VertexIndexMap vim,
-                   EdgeWeightMap ewm, EdgeIndexMap eim,
-                   std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0)
-{ return maximum_cycle_mean(g, vim, ewm, eim, pcc, mcr_float<>()); }
-
-// Minimum Cycle Mean
-
-template <
-    typename FloatTraits,
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeightMap,
-    typename EdgeIndexMap>
-inline typename FloatTraits::value_type
-minimum_cycle_mean(const Graph &g, VertexIndexMap vim,
-                   EdgeWeightMap ewm, EdgeIndexMap eim,
-                   std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0,
-                   FloatTraits ft = FloatTraits())
-{
-    typedef typename remove_const<
-        typename property_traits<EdgeWeightMap>::value_type
-    >::type Weight;
-    typename std::vector<Weight> ed_w2(boost::num_edges(g), 1);
-    return minimum_cycle_ratio(g, vim, ewm,
-                               make_iterator_property_map(ed_w2.begin(), eim),
-                               pcc, ft);
-}
-
-template <
-    typename Graph,
-    typename VertexIndexMap,
-    typename EdgeWeightMap,
-    typename EdgeIndexMap>
-inline double
-minimum_cycle_mean(const Graph &g, VertexIndexMap vim,
-                   EdgeWeightMap ewm, EdgeIndexMap eim,
-                   std::vector<typename graph_traits<Graph>::edge_descriptor>* pcc = 0)
-{ return minimum_cycle_mean(g, vim, ewm, eim, pcc, mcr_float<>()); }
-
-} //namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/incremental_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/incremental_components.hpp
deleted file mode 100644
index fff3a32..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/incremental_components.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997-2001 University of Notre Dame.
-// Copyright 2009 Trustees of Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Michael Hansen
-//
-// Distributed under the 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_INCREMENTAL_COMPONENTS_HPP
-#define BOOST_INCREMENTAL_COMPONENTS_HPP
-
-#include <boost/detail/iterator.hpp>
-#include <boost/graph/detail/incremental_components.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/make_shared.hpp>
-#include <boost/pending/disjoint_sets.hpp>
-#include <iterator>
-
-namespace boost {
-
-  // A connected component algorithm for the case when dynamically
-  // adding (but not removing) edges is common.  The
-  // incremental_components() function is a preparing operation. Call
-  // same_component to check whether two vertices are in the same
-  // component, or use disjoint_set::find_set to determine the
-  // representative for a vertex.
-
-  // This version of connected components does not require a full
-  // Graph. Instead, it just needs an edge list, where the vertices of
-  // each edge need to be of integer type. The edges are assumed to
-  // be undirected. The other difference is that the result is stored in
-  // a container, instead of just a decorator.  The container should be
-  // empty before the algorithm is called. It will grow during the
-  // course of the algorithm. The container must be a model of
-  // BackInsertionSequence and RandomAccessContainer
-  // (std::vector is a good choice). After running the algorithm the
-  // index container will map each vertex to the representative
-  // vertex of the component to which it belongs.
-  //
-  // Adapted from an implementation by Alex Stepanov. The disjoint
-  // sets data structure is from Tarjan's "Data Structures and Network
-  // Algorithms", and the application to connected components is
-  // similar to the algorithm described in Ch. 22 of "Intro to
-  // Algorithms" by Cormen, et. all.
-  //  
-
-  // An implementation of disjoint sets can be found in
-  // boost/pending/disjoint_sets.hpp
-  
-  template <class EdgeListGraph, class DisjointSets>
-  void incremental_components(EdgeListGraph& g, DisjointSets& ds)
-  {
-    typename graph_traits<EdgeListGraph>::edge_iterator e, end;
-    for (boost::tie(e,end) = edges(g); e != end; ++e)
-      ds.union_set(source(*e,g),target(*e,g));
-  }
-  
-  template <class ParentIterator>
-  void compress_components(ParentIterator first, ParentIterator last)
-  {
-    for (ParentIterator current = first; current != last; ++current) 
-      detail::find_representative_with_full_compression(first, current-first);
-  }
-  
-  template <class ParentIterator>
-  typename boost::detail::iterator_traits<ParentIterator>::difference_type
-  component_count(ParentIterator first, ParentIterator last)
-  {
-    std::ptrdiff_t count = 0;
-    for (ParentIterator current = first; current != last; ++current) 
-      if (*current == current - first) ++count; 
-    return count;
-  }
-  
-  // This algorithm can be applied to the result container of the
-  // connected_components algorithm to normalize
-  // the components.
-  template <class ParentIterator>
-  void normalize_components(ParentIterator first, ParentIterator last)
-  {
-    for (ParentIterator current = first; current != last; ++current) 
-      detail::normalize_node(first, current - first);
-  }
-  
-  template <class VertexListGraph, class DisjointSets> 
-  void initialize_incremental_components(VertexListGraph& G, DisjointSets& ds)
-  {
-    typename graph_traits<VertexListGraph>
-      ::vertex_iterator v, vend;
-    for (boost::tie(v, vend) = vertices(G); v != vend; ++v)
-      ds.make_set(*v);
-  }
-
-  template <class Vertex, class DisjointSet>
-  inline bool same_component(Vertex u, Vertex v, DisjointSet& ds)
-  {
-    return ds.find_set(u) == ds.find_set(v);
-  }
-
-  // Class that builds a quick-access indexed linked list that allows
-  // for fast iterating through a parent component's children.
-  template <typename IndexType>
-  class component_index {
-
-  private:
-    typedef std::vector<IndexType> IndexContainer;
-
-  public:
-    typedef counting_iterator<IndexType> iterator;
-    typedef iterator const_iterator;
-    typedef IndexType value_type;
-    typedef IndexType size_type;
-
-    typedef detail::component_index_iterator<typename IndexContainer::iterator>
-      component_iterator;
-
-  public:
-    template <typename ParentIterator,
-              typename ElementIndexMap>
-    component_index(ParentIterator parent_start,
-                    ParentIterator parent_end,
-                    const ElementIndexMap& index_map) :
-      m_num_elements(std::distance(parent_start, parent_end)),
-      m_components(make_shared<IndexContainer>()),
-      m_index_list(make_shared<IndexContainer>(m_num_elements)) {
-
-      build_index_lists(parent_start, index_map);
-      
-    } // component_index
-
-    template <typename ParentIterator>
-    component_index(ParentIterator parent_start,
-                    ParentIterator parent_end) :
-      m_num_elements(std::distance(parent_start, parent_end)),
-      m_components(make_shared<IndexContainer>()),
-      m_index_list(make_shared<IndexContainer>(m_num_elements)) {
-
-      build_index_lists(parent_start, boost::identity_property_map());
-
-    } // component_index
-
-    // Returns the number of components
-    inline std::size_t size() const {
-      return (m_components->size());
-    }
-
-    // Beginning iterator for component indices
-    iterator begin() const {
-      return (iterator(0));
-    }
-
-    // End iterator for component indices
-    iterator end() const {
-      return (iterator(this->size()));
-    }
-
-    // Returns a pair of begin and end iterators for the child
-    // elements of component [component_index].
-    std::pair<component_iterator, component_iterator>
-    operator[](IndexType component_index) const {
-
-      IndexType first_index = (*m_components)[component_index];
-
-      return (std::make_pair
-              (component_iterator(m_index_list->begin(), first_index),
-               component_iterator(m_num_elements)));
-    }
-
-  private:
-    template <typename ParentIterator,
-              typename ElementIndexMap>
-    void build_index_lists(ParentIterator parent_start,
-                           const ElementIndexMap& index_map) {
-
-      typedef typename std::iterator_traits<ParentIterator>::value_type Element;
-      typename IndexContainer::iterator index_list =
-        m_index_list->begin();
-
-      // First pass - find root elements, construct index list
-      for (IndexType element_index = 0; element_index < m_num_elements;
-           ++element_index) {
-
-        Element parent_element = parent_start[element_index];
-        IndexType parent_index = get(index_map, parent_element);
-
-        if (element_index != parent_index) {
-          index_list[element_index] = parent_index;
-        }
-        else {
-          m_components->push_back(element_index);
-
-          // m_num_elements is the linked list terminator
-          index_list[element_index] = m_num_elements;
-        }
-      }
-
-      // Second pass - build linked list
-      for (IndexType element_index = 0; element_index < m_num_elements;
-           ++element_index) {
-
-        Element parent_element = parent_start[element_index];
-        IndexType parent_index = get(index_map, parent_element);
-
-        if (element_index != parent_index) {
-
-          // Follow list until a component parent is found
-          while (index_list[parent_index] != m_num_elements) {
-            parent_index = index_list[parent_index];
-          }
-
-          // Push element to the front of the linked list
-          index_list[element_index] = index_list[parent_index];
-          index_list[parent_index] = element_index;
-        }
-      }
-
-    } // build_index_lists
-
-  protected:
-    IndexType m_num_elements;
-    shared_ptr<IndexContainer> m_components, m_index_list;
-
-  }; // class component_index
- 
-} // namespace boost
-
-#endif // BOOST_INCREMENTAL_COMPONENTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/is_kuratowski_subgraph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/is_kuratowski_subgraph.hpp
deleted file mode 100644
index d0a2aed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/is_kuratowski_subgraph.hpp
+++ /dev/null
@@ -1,331 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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_KURATOWSKI_SUBGRAPH_HPP__
-#define __IS_KURATOWSKI_SUBGRAPH_HPP__
-
-#include <boost/config.hpp>
-#include <boost/tuple/tuple.hpp>   //for tie
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/isomorphism.hpp>
-#include <boost/graph/adjacency_list.hpp>
-
-#include <algorithm>
-#include <vector>
-#include <set>
-
-
-
-namespace boost
-{
-  
-  namespace detail
-  {
-
-    template <typename Graph>
-    Graph make_K_5()
-    {
-      typename graph_traits<Graph>::vertex_iterator vi, vi_end, inner_vi;
-      Graph K_5(5);
-      for(boost::tie(vi,vi_end) = vertices(K_5); vi != vi_end; ++vi)
-        for(inner_vi = next(vi); inner_vi != vi_end; ++inner_vi)
-          add_edge(*vi, *inner_vi, K_5);
-      return K_5;
-    }
-
-
-    template <typename Graph>
-    Graph make_K_3_3()
-    {
-      typename graph_traits<Graph>::vertex_iterator 
-        vi, vi_end, bipartition_start, inner_vi;
-      Graph K_3_3(6);
-      bipartition_start = next(next(next(vertices(K_3_3).first)));
-      for(boost::tie(vi, vi_end) = vertices(K_3_3); vi != bipartition_start; ++vi)
-        for(inner_vi= bipartition_start; inner_vi != vi_end; ++inner_vi)
-          add_edge(*vi, *inner_vi, K_3_3);
-      return K_3_3;
-    }
-
-
-    template <typename AdjacencyList, typename Vertex>
-    void contract_edge(AdjacencyList& neighbors, Vertex u, Vertex v)
-    {
-      // Remove u from v's neighbor list
-      neighbors[v].erase(std::remove(neighbors[v].begin(), 
-                                     neighbors[v].end(), u
-                                     ), 
-                         neighbors[v].end()
-                         );
-      
-      // Replace any references to u with references to v
-      typedef typename AdjacencyList::value_type::iterator 
-        adjacency_iterator_t;
-      
-      adjacency_iterator_t u_neighbor_end = neighbors[u].end();
-      for(adjacency_iterator_t u_neighbor_itr = neighbors[u].begin();
-          u_neighbor_itr != u_neighbor_end; ++u_neighbor_itr
-          )
-        {
-          Vertex u_neighbor(*u_neighbor_itr);
-          std::replace(neighbors[u_neighbor].begin(), 
-                       neighbors[u_neighbor].end(), u, v
-                       );
-        }
-      
-      // Remove v from u's neighbor list
-      neighbors[u].erase(std::remove(neighbors[u].begin(), 
-                                     neighbors[u].end(), v
-                                     ), 
-                         neighbors[u].end()
-                         );
-      
-      // Add everything in u's neighbor list to v's neighbor list
-      std::copy(neighbors[u].begin(), 
-                neighbors[u].end(), 
-                std::back_inserter(neighbors[v])
-                );
-      
-      // Clear u's neighbor list
-      neighbors[u].clear();
-
-    }
-
-    enum target_graph_t { tg_k_3_3, tg_k_5};
-
-  } // namespace detail
-
-
-
-
-  template <typename Graph, typename ForwardIterator, typename VertexIndexMap>
-  bool is_kuratowski_subgraph(const Graph& g,
-                              ForwardIterator begin, 
-                              ForwardIterator end, 
-                              VertexIndexMap vm
-                              )
-  {
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::edges_size_type e_size_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef typename std::vector<vertex_t> v_list_t;
-    typedef typename v_list_t::iterator v_list_iterator_t;
-    typedef iterator_property_map
-      <typename std::vector<v_list_t>::iterator, VertexIndexMap> 
-      vertex_to_v_list_map_t;
-
-    typedef adjacency_list<vecS, vecS, undirectedS> small_graph_t;
-
-    detail::target_graph_t target_graph = detail::tg_k_3_3; //unless we decide otherwise later
-
-    static small_graph_t K_5(detail::make_K_5<small_graph_t>());
-
-    static small_graph_t K_3_3(detail::make_K_3_3<small_graph_t>());
-
-    v_size_t n_vertices(num_vertices(g));
-    v_size_t max_num_edges(3*n_vertices - 5);
-
-    std::vector<v_list_t> neighbors_vector(n_vertices);
-    vertex_to_v_list_map_t neighbors(neighbors_vector.begin(), vm);
-
-    e_size_t count = 0;
-    for(ForwardIterator itr = begin; itr != end; ++itr)
-      {
-
-        if (count++ > max_num_edges)
-          return false;
-
-        edge_t e(*itr);
-        vertex_t u(source(e,g));
-        vertex_t v(target(e,g));
-
-        neighbors[u].push_back(v);
-        neighbors[v].push_back(u);
-
-      }
-
-
-    for(v_size_t max_size = 2; max_size < 5; ++max_size)
-      {
-
-        vertex_iterator_t vi, vi_end;
-        for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-          {
-            vertex_t v(*vi);
-
-            //a hack to make sure we don't contract the middle edge of a path
-            //of four degree-3 vertices
-            if (max_size == 4 && neighbors[v].size() == 3)
-              {
-                if (neighbors[neighbors[v][0]].size() +
-                    neighbors[neighbors[v][1]].size() +
-                    neighbors[neighbors[v][2]].size()
-                    < 11 // so, it has two degree-3 neighbors
-                    )
-                  continue;
-              }
-
-            while (neighbors[v].size() > 0 && neighbors[v].size() < max_size)
-              {
-                // Find one of v's neighbors u such that v and u
-                // have no neighbors in common. We'll look for such a 
-                // neighbor with a naive cubic-time algorithm since the 
-                // max size of any of the neighbor sets we'll consider 
-                // merging is 3
-                
-                bool neighbor_sets_intersect = false;
-                
-                vertex_t min_u = graph_traits<Graph>::null_vertex();
-                vertex_t u;
-                v_list_iterator_t v_neighbor_end = neighbors[v].end();
-                for(v_list_iterator_t v_neighbor_itr = neighbors[v].begin();
-                    v_neighbor_itr != v_neighbor_end; 
-                    ++v_neighbor_itr
-                    )
-                  {
-                    neighbor_sets_intersect = false;
-                    u = *v_neighbor_itr;
-                    v_list_iterator_t u_neighbor_end = neighbors[u].end();
-                    for(v_list_iterator_t u_neighbor_itr = 
-                          neighbors[u].begin();
-                        u_neighbor_itr != u_neighbor_end && 
-                          !neighbor_sets_intersect; 
-                        ++u_neighbor_itr
-                        )
-                      {
-                        for(v_list_iterator_t inner_v_neighbor_itr = 
-                              neighbors[v].begin();
-                            inner_v_neighbor_itr != v_neighbor_end; 
-                            ++inner_v_neighbor_itr
-                            )
-                          {
-                            if (*u_neighbor_itr == *inner_v_neighbor_itr)
-                              {
-                                neighbor_sets_intersect = true;
-                                break;
-                              }
-                          }
-                        
-                      }
-                    if (!neighbor_sets_intersect &&
-                        (min_u == graph_traits<Graph>::null_vertex() || 
-                         neighbors[u].size() < neighbors[min_u].size())
-                        )
-                      {
-                        min_u = u;
-                      }
-                        
-                  }
-
-                if (min_u == graph_traits<Graph>::null_vertex())
-                  // Exited the loop without finding an appropriate neighbor of
-                  // v, so v must be a lost cause. Move on to other vertices.
-                  break;
-                else
-                  u = min_u;
-
-                detail::contract_edge(neighbors, u, v);
-
-              }//end iteration over v's neighbors
-
-          }//end iteration through vertices v
-
-        if (max_size == 3)
-          {
-            // check to see whether we should go on to find a K_5
-            for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-              if (neighbors[*vi].size() == 4)
-                {
-                  target_graph = detail::tg_k_5;
-                  break;
-                }
-
-            if (target_graph == detail::tg_k_3_3)
-              break;
-          }
-        
-      }//end iteration through max degree 2,3, and 4
-
-    
-    //Now, there should only be 5 or 6 vertices with any neighbors. Find them.
-    
-    v_list_t main_vertices;
-    vertex_iterator_t vi, vi_end;
-    
-    for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-      {
-        if (!neighbors[*vi].empty())
-          main_vertices.push_back(*vi);
-      }
-    
-    // create a graph isomorphic to the contracted graph to test 
-    // against K_5 and K_3_3
-    small_graph_t contracted_graph(main_vertices.size());
-    std::map<vertex_t,typename graph_traits<small_graph_t>::vertex_descriptor> 
-      contracted_vertex_map;
-    
-    typename v_list_t::iterator itr, itr_end;
-    itr_end = main_vertices.end();
-    typename graph_traits<small_graph_t>::vertex_iterator 
-      si = vertices(contracted_graph).first;
-    
-    for(itr = main_vertices.begin(); itr != itr_end; ++itr, ++si)
-      {
-        contracted_vertex_map[*itr] = *si;
-      }
-
-    typename v_list_t::iterator jtr, jtr_end;
-    for(itr = main_vertices.begin(); itr != itr_end; ++itr)
-      {
-        jtr_end = neighbors[*itr].end();
-        for(jtr = neighbors[*itr].begin(); jtr != jtr_end; ++jtr)
-          {
-            if (get(vm,*itr) < get(vm,*jtr))
-              {
-                add_edge(contracted_vertex_map[*itr],
-                         contracted_vertex_map[*jtr],
-                         contracted_graph
-                         );
-              }
-          }
-      }
-    
-    if (target_graph == detail::tg_k_5)
-      {
-        return boost::isomorphism(K_5,contracted_graph);
-      }
-    else //target_graph == tg_k_3_3
-      {
-        return boost::isomorphism(K_3_3,contracted_graph);
-      }
-    
-    
-  }
-
-
-
-
-
-  template <typename Graph, typename ForwardIterator>
-  bool is_kuratowski_subgraph(const Graph& g, 
-                              ForwardIterator begin, 
-                              ForwardIterator end
-                              )
-  {
-    return is_kuratowski_subgraph(g, begin, end, get(vertex_index,g));
-  }
-
-
-
-  
-}
-
-#endif //__IS_KURATOWSKI_SUBGRAPH_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/is_straight_line_drawing.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/is_straight_line_drawing.hpp
deleted file mode 100644
index a4bd8ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/is_straight_line_drawing.hpp
+++ /dev/null
@@ -1,250 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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_STRAIGHT_LINE_DRAWING_HPP__
-#define __IS_STRAIGHT_LINE_DRAWING_HPP__
-
-#include <boost/config.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/tuple/tuple_comparison.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/planar_detail/bucket_sort.hpp>
-
-#include <algorithm>
-#include <vector>
-#include <set>
-#include <map>
-
-
-
-namespace boost
-{
-
-  // Return true exactly when the line segments s1 = ((x1,y1), (x2,y2)) and
-  // s2 = ((a1,b1), (a2,b2)) intersect in a point other than the endpoints of
-  // the line segments. The one exception to this rule is when s1 = s2, in
-  // which case false is returned - this is to accomodate multiple edges
-  // between the same pair of vertices, which shouldn't invalidate the straight
-  // line embedding. A tolerance variable epsilon can also be used, which
-  // defines how far away from the endpoints of s1 and s2 we want to consider
-  // an intersection.
-
-  inline bool intersects(double x1, double y1,
-                         double x2, double y2,
-                         double a1, double b1,
-                         double a2, double b2,
-                         double epsilon = 0.000001
-                         )
-  {
-
-    if (x1 - x2 == 0)
-      {
-        std::swap(x1,a1);
-        std::swap(y1,b1);
-        std::swap(x2,a2);
-        std::swap(y2,b2);
-      }
-
-    if (x1 - x2 == 0)
-      {
-        BOOST_USING_STD_MAX();
-        BOOST_USING_STD_MIN();
-
-        //two vertical line segments
-        double min_y = min BOOST_PREVENT_MACRO_SUBSTITUTION(y1,y2);
-        double max_y = max BOOST_PREVENT_MACRO_SUBSTITUTION(y1,y2);
-        double min_b = min BOOST_PREVENT_MACRO_SUBSTITUTION(b1,b2);
-        double max_b = max BOOST_PREVENT_MACRO_SUBSTITUTION(b1,b2);
-        if ((max_y > max_b && max_b > min_y) ||
-            (max_b > max_y && max_y > min_b)
-            )
-          return true;
-        else
-          return false;
-      }
-
-    double x_diff = x1 - x2;
-    double y_diff = y1 - y2;
-    double a_diff = a2 - a1;
-    double b_diff = b2 - b1;
-
-    double beta_denominator = b_diff - (y_diff/((double)x_diff)) * a_diff;
-
-    if (beta_denominator == 0)
-      {
-        //parallel lines
-        return false;
-      }
-
-    double beta = (b2 - y2 - (y_diff/((double)x_diff)) * (a2 - x2)) / 
-      beta_denominator;
-    double alpha = (a2 - x2 - beta*(a_diff))/x_diff;
-
-    double upper_bound = 1 - epsilon;
-    double lower_bound = 0 + epsilon;
-
-    return (beta < upper_bound && beta > lower_bound && 
-            alpha < upper_bound && alpha > lower_bound);
-
-  }
-
-
-  template <typename Graph, 
-            typename GridPositionMap, 
-            typename VertexIndexMap
-            >
-  bool is_straight_line_drawing(const Graph& g, 
-                                GridPositionMap drawing, 
-                                VertexIndexMap
-                                )
-  {
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::edge_iterator edge_iterator_t;
-
-    typedef std::size_t x_coord_t;
-    typedef std::size_t y_coord_t;
-    typedef boost::tuple<edge_t, x_coord_t, y_coord_t> edge_event_t;
-    typedef typename std::vector< edge_event_t > edge_event_queue_t;
-
-    typedef tuple<y_coord_t, y_coord_t, x_coord_t, x_coord_t> active_map_key_t;
-    typedef edge_t active_map_value_t;
-    typedef std::map< active_map_key_t, active_map_value_t > active_map_t;
-    typedef typename active_map_t::iterator active_map_iterator_t;
-
-
-    edge_event_queue_t edge_event_queue;
-    active_map_t active_edges;
-
-    edge_iterator_t ei, ei_end;
-    for(boost::tie(ei,ei_end) = edges(g); ei != ei_end; ++ei)
-      {
-        edge_t e(*ei);
-        vertex_t s(source(e,g));
-        vertex_t t(target(e,g));
-        edge_event_queue.push_back
-          (make_tuple(e, 
-                      static_cast<std::size_t>(drawing[s].x),
-                      static_cast<std::size_t>(drawing[s].y)
-                      )
-           );
-        edge_event_queue.push_back
-          (make_tuple(e,
-                      static_cast<std::size_t>(drawing[t].x),
-                      static_cast<std::size_t>(drawing[t].y)
-                      )
-           );
-      }
-
-    // Order by edge_event_queue by first, then second coordinate 
-    // (bucket_sort is a stable sort.)
-    bucket_sort(edge_event_queue.begin(), edge_event_queue.end(),
-                property_map_tuple_adaptor<edge_event_t, 2>()
-                );
-    
-    bucket_sort(edge_event_queue.begin(), edge_event_queue.end(),
-                property_map_tuple_adaptor<edge_event_t, 1>()
-                );
-
-    typedef typename edge_event_queue_t::iterator event_queue_iterator_t;
-    event_queue_iterator_t itr_end = edge_event_queue.end();
-    for(event_queue_iterator_t itr = edge_event_queue.begin(); 
-        itr != itr_end; ++itr
-        )
-      {
-        edge_t e(get<0>(*itr));
-        vertex_t source_v(source(e,g));
-        vertex_t target_v(target(e,g));
-        if (drawing[source_v].y > drawing[target_v].y)
-          std::swap(source_v, target_v);
-
-        active_map_key_t key(get(drawing, source_v).y,
-                             get(drawing, target_v).y,
-                             get(drawing, source_v).x,
-                             get(drawing, target_v).x
-                             );
-
-        active_map_iterator_t a_itr = active_edges.find(key);
-        if (a_itr == active_edges.end())
-          {
-            active_edges[key] = e;
-          }
-        else
-          {
-            active_map_iterator_t before, after;
-            if (a_itr == active_edges.begin())
-              before = active_edges.end();
-            else
-              before = prior(a_itr);
-            after = boost::next(a_itr);
-
-            if (before != active_edges.end())
-              {
-                
-                edge_t f = before->second;
-                vertex_t e_source(source(e,g));
-                vertex_t e_target(target(e,g));
-                vertex_t f_source(source(f,g));
-                vertex_t f_target(target(f,g));
-
-                if (intersects(drawing[e_source].x, 
-                               drawing[e_source].y,
-                               drawing[e_target].x,
-                               drawing[e_target].y,
-                               drawing[f_source].x, 
-                               drawing[f_source].y,
-                               drawing[f_target].x,
-                               drawing[f_target].y
-                               )
-                    )
-                  return false;
-              }
-
-            if (after != active_edges.end())
-              {
-                
-                edge_t f = after->second;
-                vertex_t e_source(source(e,g));
-                vertex_t e_target(target(e,g));
-                vertex_t f_source(source(f,g));
-                vertex_t f_target(target(f,g));
-
-                if (intersects(drawing[e_source].x, 
-                               drawing[e_source].y,
-                               drawing[e_target].x,
-                               drawing[e_target].y,
-                               drawing[f_source].x, 
-                               drawing[f_source].y,
-                               drawing[f_target].x,
-                               drawing[f_target].y
-                               )
-                    )
-                  return false;
-              }
-
-            active_edges.erase(a_itr);
-
-          }
-      }
-
-    return true;
-    
-  }
-
-
-  template <typename Graph, typename GridPositionMap>
-  bool is_straight_line_drawing(const Graph& g, GridPositionMap drawing)
-  {
-    return is_straight_line_drawing(g, drawing, get(vertex_index,g));
-  }
-
-}
-
-#endif // __IS_STRAIGHT_LINE_DRAWING_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/isomorphism.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/isomorphism.hpp
deleted file mode 100644
index 225cd20..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/isomorphism.hpp
+++ /dev/null
@@ -1,581 +0,0 @@
-// Copyright (C) 2001 Jeremy Siek, Douglas Gregor, Brian Osman
-//
-// Distributed under the 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_GRAPH_ISOMORPHISM_HPP
-#define BOOST_GRAPH_ISOMORPHISM_HPP
-
-#include <utility>
-#include <vector>
-#include <iterator>
-#include <algorithm>
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/smart_ptr.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/detail/algorithm.hpp>
-#include <boost/pending/indirect_cmp.hpp> // for make_indirect_pmap
-#include <boost/concept/assert.hpp>
-
-#ifndef BOOST_GRAPH_ITERATION_MACROS_HPP
-#define BOOST_ISO_INCLUDED_ITER_MACROS // local macro, see bottom of file
-#include <boost/graph/iteration_macros.hpp>
-#endif
-
-namespace boost {
-
-  namespace detail {
-
-    template <typename Graph1, typename Graph2, typename IsoMapping,
-      typename Invariant1, typename Invariant2,
-      typename IndexMap1, typename IndexMap2>
-    class isomorphism_algo
-    {
-      typedef typename graph_traits<Graph1>::vertex_descriptor vertex1_t;
-      typedef typename graph_traits<Graph2>::vertex_descriptor vertex2_t;
-      typedef typename graph_traits<Graph1>::edge_descriptor edge1_t;
-      typedef typename graph_traits<Graph1>::vertices_size_type size_type;
-      typedef typename Invariant1::result_type invar1_value;
-      typedef typename Invariant2::result_type invar2_value;
-    
-      const Graph1& G1;
-      const Graph2& G2;
-      IsoMapping f;
-      Invariant1 invariant1;
-      Invariant2 invariant2;
-      std::size_t max_invariant;
-      IndexMap1 index_map1;
-      IndexMap2 index_map2;
-    
-      std::vector<vertex1_t> dfs_vertices;
-      typedef typename std::vector<vertex1_t>::iterator vertex_iter;
-      std::vector<int> dfs_num_vec;
-      typedef safe_iterator_property_map<typename std::vector<int>::iterator,
-                                         IndexMap1
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-                                         , int, int&
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-                                         > DFSNumMap;
-      DFSNumMap dfs_num;
-      std::vector<edge1_t> ordered_edges;
-      typedef typename std::vector<edge1_t>::iterator edge_iter;
-    
-      std::vector<char> in_S_vec;
-      typedef safe_iterator_property_map<typename std::vector<char>::iterator,
-                                         IndexMap2
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-                                         , char, char&
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-                                         > InSMap;
-      InSMap in_S;
-    
-      int num_edges_on_k;
-    
-      friend struct compare_multiplicity;
-      struct compare_multiplicity
-      {
-        compare_multiplicity(Invariant1 invariant1, size_type* multiplicity)
-          : invariant1(invariant1), multiplicity(multiplicity) { }
-        bool operator()(const vertex1_t& x, const vertex1_t& y) const {
-          return multiplicity[invariant1(x)] < multiplicity[invariant1(y)];
-        }
-        Invariant1 invariant1;
-        size_type* multiplicity;
-      };
-    
-      struct record_dfs_order : default_dfs_visitor
-      {
-        record_dfs_order(std::vector<vertex1_t>& v, std::vector<edge1_t>& e) 
-          : vertices(v), edges(e) { }
-    
-        void discover_vertex(vertex1_t v, const Graph1&) const {
-          vertices.push_back(v);
-        }
-        void examine_edge(edge1_t e, const Graph1&) const {
-          edges.push_back(e);
-        }
-        std::vector<vertex1_t>& vertices;
-        std::vector<edge1_t>& edges;
-      };
-    
-      struct edge_cmp {
-        edge_cmp(const Graph1& G1, DFSNumMap dfs_num)
-          : G1(G1), dfs_num(dfs_num) { }
-        bool operator()(const edge1_t& e1, const edge1_t& e2) const {
-          using namespace std;
-          int u1 = dfs_num[source(e1,G1)], v1 = dfs_num[target(e1,G1)];
-          int u2 = dfs_num[source(e2,G1)], v2 = dfs_num[target(e2,G1)];
-          int m1 = (max)(u1, v1);
-          int m2 = (max)(u2, v2);
-          // lexicographical comparison 
-          return std::make_pair(m1, std::make_pair(u1, v1))
-            < std::make_pair(m2, std::make_pair(u2, v2));
-        }
-        const Graph1& G1;
-        DFSNumMap dfs_num;
-      };
-    
-    public:
-      isomorphism_algo(const Graph1& G1, const Graph2& G2, IsoMapping f,
-                       Invariant1 invariant1, Invariant2 invariant2, std::size_t max_invariant,
-                       IndexMap1 index_map1, IndexMap2 index_map2)
-        : G1(G1), G2(G2), f(f), invariant1(invariant1), invariant2(invariant2),
-          max_invariant(max_invariant),
-          index_map1(index_map1), index_map2(index_map2)
-      {
-        in_S_vec.resize(num_vertices(G1));
-        in_S = make_safe_iterator_property_map
-          (in_S_vec.begin(), in_S_vec.size(), index_map2
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-           , in_S_vec.front()
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-           );
-      }
-    
-      bool test_isomorphism()
-      {
-        // reset isomapping
-        BGL_FORALL_VERTICES_T(v, G1, Graph1)
-          f[v] = graph_traits<Graph2>::null_vertex();
-          
-        {
-          std::vector<invar1_value> invar1_array;
-          BGL_FORALL_VERTICES_T(v, G1, Graph1)
-            invar1_array.push_back(invariant1(v));
-          sort(invar1_array);
-        
-          std::vector<invar2_value> invar2_array;
-          BGL_FORALL_VERTICES_T(v, G2, Graph2)
-            invar2_array.push_back(invariant2(v));
-          sort(invar2_array);
-          if (! equal(invar1_array, invar2_array))
-            return false;
-        }
-        
-        std::vector<vertex1_t> V_mult;
-        BGL_FORALL_VERTICES_T(v, G1, Graph1)
-          V_mult.push_back(v);
-        {
-          std::vector<size_type> multiplicity(max_invariant, 0);
-          BGL_FORALL_VERTICES_T(v, G1, Graph1)
-            ++multiplicity.at(invariant1(v));
-          sort(V_mult, compare_multiplicity(invariant1, &multiplicity[0]));
-        }
-        
-        std::vector<default_color_type> color_vec(num_vertices(G1));
-        safe_iterator_property_map<std::vector<default_color_type>::iterator,
-                                   IndexMap1
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-                                   , default_color_type, default_color_type&
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-                                   >
-          color_map(color_vec.begin(), color_vec.size(), index_map1);
-        record_dfs_order dfs_visitor(dfs_vertices, ordered_edges);
-        typedef color_traits<default_color_type> Color;
-        for (vertex_iter u = V_mult.begin(); u != V_mult.end(); ++u) {
-          if (color_map[*u] == Color::white()) {
-            dfs_visitor.start_vertex(*u, G1);
-            depth_first_visit(G1, *u, dfs_visitor, color_map);
-          }
-        }
-        // Create the dfs_num array and dfs_num_map
-        dfs_num_vec.resize(num_vertices(G1));
-        dfs_num = make_safe_iterator_property_map(dfs_num_vec.begin(),
-                                                  dfs_num_vec.size(), 
-                                                  index_map1
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-                                                  , dfs_num_vec.front()
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-                                                  );
-        size_type n = 0;
-        for (vertex_iter v = dfs_vertices.begin(); v != dfs_vertices.end(); ++v)
-          dfs_num[*v] = n++;
-        
-        sort(ordered_edges, edge_cmp(G1, dfs_num));
-        
-    
-        int dfs_num_k = -1;
-        return this->match(ordered_edges.begin(), dfs_num_k);
-      }
-    
-    private:
-      struct match_continuation {
-        enum {pos_G2_vertex_loop, pos_fi_adj_loop, pos_dfs_num} position;
-        typedef typename graph_traits<Graph2>::vertex_iterator vertex_iterator;
-        std::pair<vertex_iterator, vertex_iterator> G2_verts;
-        typedef typename graph_traits<Graph2>::adjacency_iterator adjacency_iterator;
-        std::pair<adjacency_iterator, adjacency_iterator> fi_adj;
-        edge_iter iter;
-        int dfs_num_k;
-      };
-
-      bool match(edge_iter iter, int dfs_num_k)
-      {
-        std::vector<match_continuation> k;
-        typedef typename graph_traits<Graph2>::vertex_iterator vertex_iterator;
-        std::pair<vertex_iterator, vertex_iterator> G2_verts(vertices(G2));
-        typedef typename graph_traits<Graph2>::adjacency_iterator adjacency_iterator;
-        std::pair<adjacency_iterator, adjacency_iterator> fi_adj;
-        vertex1_t i, j;
-
-        recur:
-        if (iter != ordered_edges.end()) {
-          i = source(*iter, G1);
-          j = target(*iter, G1);
-          if (dfs_num[i] > dfs_num_k) {
-            G2_verts = vertices(G2);
-            while (G2_verts.first != G2_verts.second) {
-              {
-                vertex2_t u = *G2_verts.first;
-                vertex1_t kp1 = dfs_vertices[dfs_num_k + 1];
-                if (invariant1(kp1) == invariant2(u) && in_S[u] == false) {
-                  {
-                    f[kp1] = u;
-                    in_S[u] = true;
-                    num_edges_on_k = 0;
-                    
-                    match_continuation new_k;
-                    new_k.position = match_continuation::pos_G2_vertex_loop;
-                    new_k.G2_verts = G2_verts;
-                    new_k.iter = iter;
-                    new_k.dfs_num_k = dfs_num_k;
-                    k.push_back(new_k);
-                    ++dfs_num_k;
-                    goto recur;
-                  }
-                }
-              }
-G2_loop_k:    ++G2_verts.first;
-            }
-               
-          }
-          else if (dfs_num[j] > dfs_num_k) {
-            {
-              vertex1_t vk = dfs_vertices[dfs_num_k];
-              num_edges_on_k -= 
-                count_if(adjacent_vertices(f[vk], G2), make_indirect_pmap(in_S));
-                  
-              for (int jj = 0; jj < dfs_num_k; ++jj) {
-                vertex1_t j = dfs_vertices[jj];
-                num_edges_on_k -= count(adjacent_vertices(f[j], G2), f[vk]);
-              }
-            }
-                
-            if (num_edges_on_k != 0)
-              goto return_point_false;
-            fi_adj = adjacent_vertices(f[i], G2);
-            while (fi_adj.first != fi_adj.second) {
-              {
-                vertex2_t v = *fi_adj.first;
-                if (invariant2(v) == invariant1(j) && in_S[v] == false) {
-                  f[j] = v;
-                  in_S[v] = true;
-                  num_edges_on_k = 1;
-                  BOOST_USING_STD_MAX();
-                  int next_k = max BOOST_PREVENT_MACRO_SUBSTITUTION(dfs_num_k, max BOOST_PREVENT_MACRO_SUBSTITUTION(dfs_num[i], dfs_num[j]));
-                  match_continuation new_k;
-                  new_k.position = match_continuation::pos_fi_adj_loop;
-                  new_k.fi_adj = fi_adj;
-                  new_k.iter = iter;
-                  new_k.dfs_num_k = dfs_num_k;
-                  ++iter;
-                  dfs_num_k = next_k;
-                  k.push_back(new_k);
-                  goto recur;
-                }
-              }
-fi_adj_loop_k:++fi_adj.first;
-            }
-          }
-          else {
-            if (container_contains(adjacent_vertices(f[i], G2), f[j])) {
-              ++num_edges_on_k;
-              match_continuation new_k;
-              new_k.position = match_continuation::pos_dfs_num;
-              k.push_back(new_k);
-              ++iter;
-              goto recur;
-            }
-                
-          }
-        } else 
-          goto return_point_true;
-        goto return_point_false;
-    
-        {
-          return_point_true: return true;
-
-          return_point_false:
-          if (k.empty()) return false;
-          const match_continuation& this_k = k.back();
-          switch (this_k.position) {
-            case match_continuation::pos_G2_vertex_loop: {G2_verts = this_k.G2_verts; iter = this_k.iter; dfs_num_k = this_k.dfs_num_k; k.pop_back(); in_S[*G2_verts.first] = false; i = source(*iter, G1); j = target(*iter, G1); goto G2_loop_k;}
-            case match_continuation::pos_fi_adj_loop: {fi_adj = this_k.fi_adj; iter = this_k.iter; dfs_num_k = this_k.dfs_num_k; k.pop_back(); in_S[*fi_adj.first] = false; i = source(*iter, G1); j = target(*iter, G1); goto fi_adj_loop_k;}
-            case match_continuation::pos_dfs_num: {k.pop_back(); goto return_point_false;}
-            default: {
-              BOOST_ASSERT(!"Bad position");
-#ifdef UNDER_CE
-              exit(-1);
-#else
-              abort();
-#endif
-            }
-          }
-        }
-      }
-    };
-
-    
-    template <typename Graph, typename InDegreeMap>
-    void compute_in_degree(const Graph& g, InDegreeMap in_degree_map)
-    {
-      BGL_FORALL_VERTICES_T(v, g, Graph)
-        put(in_degree_map, v, 0);
-
-      BGL_FORALL_VERTICES_T(u, g, Graph)
-        BGL_FORALL_ADJ_T(u, v, g, Graph)
-        put(in_degree_map, v, get(in_degree_map, v) + 1);
-    }
-
-  } // namespace detail
-
-
-  template <typename InDegreeMap, typename Graph>
-  class degree_vertex_invariant
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::degree_size_type size_type;
-  public:
-    typedef vertex_t argument_type;
-    typedef size_type result_type;
-
-    degree_vertex_invariant(const InDegreeMap& in_degree_map, const Graph& g)
-      : m_in_degree_map(in_degree_map),
-        m_max_vertex_in_degree(0),
-        m_max_vertex_out_degree(0),
-        m_g(g) {
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        m_max_vertex_in_degree =
-          (std::max)(m_max_vertex_in_degree, get(m_in_degree_map, v));
-        m_max_vertex_out_degree =
-          (std::max)(m_max_vertex_out_degree, out_degree(v, g));
-      }
-    }
-
-    size_type operator()(vertex_t v) const {
-      return (m_max_vertex_in_degree + 1) * out_degree(v, m_g)
-        + get(m_in_degree_map, v);
-    }
-    // The largest possible vertex invariant number
-    size_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { 
-      return (m_max_vertex_in_degree + 1) * (m_max_vertex_out_degree + 1);
-    }
-  private:
-    InDegreeMap m_in_degree_map;
-    size_type m_max_vertex_in_degree;
-    size_type m_max_vertex_out_degree;
-    const Graph& m_g;
-  };
-
-  // Count actual number of vertices, even in filtered graphs.
-  template <typename Graph>
-  size_t count_vertices(const Graph& g)
-  {
-      size_t n = 0;
-      BGL_FORALL_VERTICES_T(v, g, Graph) {(void)v; ++n;}
-      return n;
-  }
-
-  template <typename Graph1, typename Graph2, typename IsoMapping, 
-    typename Invariant1, typename Invariant2,
-    typename IndexMap1, typename IndexMap2>
-  bool isomorphism(const Graph1& G1, const Graph2& G2, IsoMapping f, 
-                   Invariant1 invariant1, Invariant2 invariant2, 
-                   std::size_t max_invariant,
-                   IndexMap1 index_map1, IndexMap2 index_map2)
-
-  {
-    // Graph requirements
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph1> ));
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph1> ));
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph2> ));
-    //BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph2> ));
-    
-    typedef typename graph_traits<Graph1>::vertex_descriptor vertex1_t;
-    typedef typename graph_traits<Graph2>::vertex_descriptor vertex2_t;
-    typedef typename graph_traits<Graph1>::vertices_size_type size_type;
-    
-    // Vertex invariant requirement
-    BOOST_CONCEPT_ASSERT(( AdaptableUnaryFunctionConcept<Invariant1,
-      size_type, vertex1_t> ));
-    BOOST_CONCEPT_ASSERT(( AdaptableUnaryFunctionConcept<Invariant2,
-      size_type, vertex2_t> ));
-    
-    // Property map requirements
-    BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<IsoMapping, vertex1_t> ));
-    typedef typename property_traits<IsoMapping>::value_type IsoMappingValue;
-    BOOST_STATIC_ASSERT((is_convertible<IsoMappingValue, vertex2_t>::value));
-    
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMap1, vertex1_t> ));
-    typedef typename property_traits<IndexMap1>::value_type IndexMap1Value;
-    BOOST_STATIC_ASSERT((is_convertible<IndexMap1Value, size_type>::value));
-    
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMap2, vertex2_t> ));
-    typedef typename property_traits<IndexMap2>::value_type IndexMap2Value;
-    BOOST_STATIC_ASSERT((is_convertible<IndexMap2Value, size_type>::value));
-    
-    if (count_vertices(G1) != count_vertices(G2))
-      return false;
-    if (count_vertices(G1) == 0 && count_vertices(G2) == 0)
-      return true;
-    
-    detail::isomorphism_algo<Graph1, Graph2, IsoMapping, Invariant1,
-      Invariant2, IndexMap1, IndexMap2> 
-      algo(G1, G2, f, invariant1, invariant2, max_invariant, 
-           index_map1, index_map2);
-    return algo.test_isomorphism();
-  }
-
-
-  namespace detail {
-  
-    template <typename Graph1, typename Graph2, 
-      typename IsoMapping, 
-      typename IndexMap1, typename IndexMap2,
-      typename P, typename T, typename R>
-    bool isomorphism_impl(const Graph1& G1, const Graph2& G2, 
-                          IsoMapping f, IndexMap1 index_map1, IndexMap2 index_map2,
-                          const bgl_named_params<P,T,R>& params)
-    {
-      std::vector<std::size_t> in_degree1_vec(num_vertices(G1));
-      typedef safe_iterator_property_map<std::vector<std::size_t>::iterator,
-                                         IndexMap1
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-                                         , std::size_t, std::size_t&
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-                                         > InDeg1;
-      InDeg1 in_degree1(in_degree1_vec.begin(), in_degree1_vec.size(), index_map1);
-      compute_in_degree(G1, in_degree1);
-
-      std::vector<std::size_t> in_degree2_vec(num_vertices(G2));
-      typedef safe_iterator_property_map<std::vector<std::size_t>::iterator, 
-                                         IndexMap2
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-                                         , std::size_t, std::size_t&
-#endif /* BOOST_NO_STD_ITERATOR_TRAITS */
-                                         > InDeg2;
-      InDeg2 in_degree2(in_degree2_vec.begin(), in_degree2_vec.size(), index_map2);
-      compute_in_degree(G2, in_degree2);
-
-      degree_vertex_invariant<InDeg1, Graph1> invariant1(in_degree1, G1);
-      degree_vertex_invariant<InDeg2, Graph2> invariant2(in_degree2, G2);
-
-      return isomorphism(G1, G2, f,
-                         choose_param(get_param(params, vertex_invariant1_t()), invariant1),
-                         choose_param(get_param(params, vertex_invariant2_t()), invariant2),
-                         choose_param(get_param(params, vertex_max_invariant_t()), (invariant2.max)()),
-                         index_map1, index_map2
-                         );  
-    }  
-
-    template <typename G, typename Index>
-    struct make_degree_invariant {
-      const G& g;
-      const Index& index;
-      make_degree_invariant(const G& g, const Index& index): g(g), index(index) {}
-      typedef typename boost::graph_traits<G>::degree_size_type degree_size_type;
-      typedef shared_array_property_map<degree_size_type, Index> prop_map_type;
-      typedef degree_vertex_invariant<prop_map_type, G> result_type;
-      result_type operator()() const {
-        prop_map_type pm = make_shared_array_property_map(num_vertices(g), degree_size_type(), index);
-        compute_in_degree(g, pm);
-        return result_type(pm, g);
-      }
-    };
-   
-  } // namespace detail
-
-  namespace graph {
-    namespace detail {
-      template <typename Graph1, typename Graph2>
-      struct isomorphism_impl {
-        typedef bool result_type;
-        template <typename ArgPack>
-        bool operator()(const Graph1& g1, const Graph2& g2, const ArgPack& arg_pack) const {
-          using namespace boost::graph::keywords;
-          typedef typename boost::detail::override_const_property_result<ArgPack, tag::vertex_index1_map, boost::vertex_index_t, Graph1>::type index1_map_type;
-          typedef typename boost::detail::override_const_property_result<ArgPack, tag::vertex_index2_map, boost::vertex_index_t, Graph2>::type index2_map_type;
-          index1_map_type index1_map = boost::detail::override_const_property(arg_pack, _vertex_index1_map, g1, boost::vertex_index);
-          index2_map_type index2_map = boost::detail::override_const_property(arg_pack, _vertex_index2_map, g2, boost::vertex_index);
-          typedef typename graph_traits<Graph2>::vertex_descriptor vertex2_t;
-          typename std::vector<vertex2_t>::size_type n = (typename std::vector<vertex2_t>::size_type)num_vertices(g1);
-          std::vector<vertex2_t> f(n);
-          typename boost::parameter::lazy_binding<
-                     ArgPack,
-                     tag::vertex_invariant1,
-                     boost::detail::make_degree_invariant<Graph1, index1_map_type> >::type
-            invariant1 =
-              arg_pack[_vertex_invariant1 || boost::detail::make_degree_invariant<Graph1, index1_map_type>(g1, index1_map)];
-          typename boost::parameter::lazy_binding<
-                     ArgPack,
-                     tag::vertex_invariant2,
-                     boost::detail::make_degree_invariant<Graph2, index2_map_type> >::type
-            invariant2 =
-              arg_pack[_vertex_invariant2 || boost::detail::make_degree_invariant<Graph2, index2_map_type>(g2, index2_map)];
-          return boost::isomorphism
-                   (g1, g2,
-                    choose_param(arg_pack[_isomorphism_map | boost::param_not_found()],
-                                 make_shared_array_property_map(num_vertices(g1), vertex2_t(), index1_map)),
-                    invariant1,
-                    invariant2,
-                    arg_pack[_vertex_max_invariant | (invariant2.max)()],
-                    index1_map,
-                    index2_map);
-        }
-      };
-    }
-    BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(isomorphism, 2, 6)
-  }
-
-  // Named parameter interface
-  BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(isomorphism, 2)
-
-  // Verify that the given mapping iso_map from the vertices of g1 to the
-  // vertices of g2 describes an isomorphism.
-  // Note: this could be made much faster by specializing based on the graph
-  // concepts modeled, but since we're verifying an O(n^(lg n)) algorithm,
-  // O(n^4) won't hurt us.
-  template<typename Graph1, typename Graph2, typename IsoMap>
-  inline bool verify_isomorphism(const Graph1& g1, const Graph2& g2, IsoMap iso_map)
-  {
-#if 0
-    // problematic for filtered_graph!
-    if (num_vertices(g1) != num_vertices(g2) || num_edges(g1) != num_edges(g2))
-      return false;
-#endif
-  
-    BGL_FORALL_EDGES_T(e1, g1, Graph1) {
-      bool found_edge = false;
-      BGL_FORALL_EDGES_T(e2, g2, Graph2) {
-        if (source(e2, g2) == get(iso_map, source(e1, g1)) &&
-            target(e2, g2) == get(iso_map, target(e1, g1))) {
-          found_edge = true;
-        }
-      }
-    
-      if (!found_edge)
-        return false;
-    }
-  
-    return true;
-  }
-
-} // namespace boost
-
-#ifdef BOOST_ISO_INCLUDED_ITER_MACROS
-#undef BOOST_ISO_INCLUDED_ITER_MACROS
-#include <boost/graph/iteration_macros_undef.hpp>
-#endif
-
-#endif // BOOST_GRAPH_ISOMORPHISM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/iteration_macros.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/iteration_macros.hpp
deleted file mode 100644
index 2bf40f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/iteration_macros.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-//=======================================================================
-// Copyright 2001 Indiana University
-// Author: Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_ITERATION_MACROS_HPP
-#define BOOST_GRAPH_ITERATION_MACROS_HPP
-
-#include <utility>
-
-#define BGL_CAT(x,y) x ## y
-#define BGL_RANGE(linenum) BGL_CAT(bgl_range_,linenum)
-#define BGL_FIRST(linenum) (BGL_RANGE(linenum).first)
-#define BGL_LAST(linenum) (BGL_RANGE(linenum).second)
-
-/*
-  BGL_FORALL_VERTICES_T(v, g, graph_t)  // This is on line 9
-  expands to the following, but all on the same line
-
-  for (typename boost::graph_traits<graph_t>::vertex_iterator 
-           bgl_first_9 = vertices(g).first, bgl_last_9 = vertices(g).second;
-       bgl_first_9 != bgl_last_9; bgl_first_9 = bgl_last_9)
-    for (typename boost::graph_traits<graph_t>::vertex_descriptor v;
-         bgl_first_9 != bgl_last_9 ? (v = *bgl_first_9, true) : false;
-         ++bgl_first_9)
-
-  The purpose of having two for-loops is just to provide a place to
-  declare both the iterator and value variables. There is really only
-  one loop. The stopping condition gets executed two more times than it
-  usually would be, oh well. The reason for the bgl_first_9 = bgl_last_9
-  in the outer for-loop is in case the user puts a break statement
-  in the inner for-loop.
-
-  The other macros work in a similar fashion.
-
-  Use the _T versions when the graph type is a template parameter or
-  dependent on a template parameter. Otherwise use the non _T versions.
-  
-  -----------------------
-  6/9/09 THK
-  
-  The above contains two calls to the vertices function. I modified these
-  macros to expand to
-  
-    for (std::pair<typename boost::graph_traits<graph_t>::vertex_iterator,
-                   typename boost::graph_traits<graph_t>::vertex_iterator> bgl_range_9 = vertices(g);
-       bgl_range_9.first != bgl_range_9.second;
-       bgl_range_9.first = bgl_range_9.second)
-    for (typename boost::graph_traits<graph_t>::vertex_descriptor v;
-         bgl_range_9.first != bgl_range_9.second ? (v = *bgl_range_9.first, true) : false;
-         ++bgl_range_9.first)
-  
- */
-
-
-#define BGL_FORALL_VERTICES_T(VNAME, GNAME, GraphType) \
-for (std::pair<typename boost::graph_traits<GraphType>::vertex_iterator, \
-               typename boost::graph_traits<GraphType>::vertex_iterator> BGL_RANGE(__LINE__) = vertices(GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-  for (typename boost::graph_traits<GraphType>::vertex_descriptor VNAME; \
-    BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (VNAME = *BGL_FIRST(__LINE__), true):false; \
-     ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_VERTICES(VNAME, GNAME, GraphType) \
-for (std::pair<boost::graph_traits<GraphType>::vertex_iterator, \
-               boost::graph_traits<GraphType>::vertex_iterator> BGL_RANGE(__LINE__) = vertices(GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-  for (boost::graph_traits<GraphType>::vertex_descriptor VNAME; \
-    BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (VNAME = *BGL_FIRST(__LINE__), true):false; \
-     ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_EDGES_T(ENAME, GNAME, GraphType) \
-for (std::pair<typename boost::graph_traits<GraphType>::edge_iterator, \
-               typename boost::graph_traits<GraphType>::edge_iterator> BGL_RANGE(__LINE__) = edges(GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-  for (typename boost::graph_traits<GraphType>::edge_descriptor ENAME; \
-    BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (ENAME = *BGL_FIRST(__LINE__), true):false; \
-     ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_EDGES(ENAME, GNAME, GraphType) \
-for (std::pair<boost::graph_traits<GraphType>::edge_iterator, \
-               boost::graph_traits<GraphType>::edge_iterator> BGL_RANGE(__LINE__) = edges(GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-  for (boost::graph_traits<GraphType>::edge_descriptor ENAME; \
-     BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (ENAME = *BGL_FIRST(__LINE__), true):false; \
-     ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_ADJ_T(UNAME, VNAME, GNAME, GraphType) \
-for (std::pair<typename boost::graph_traits<GraphType>::adjacency_iterator, \
-               typename boost::graph_traits<GraphType>::adjacency_iterator> BGL_RANGE(__LINE__) = adjacent_vertices(UNAME, GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-for (typename boost::graph_traits<GraphType>::vertex_descriptor VNAME; \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (VNAME = *BGL_FIRST(__LINE__), true) : false; \
-   ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_ADJ(UNAME, VNAME, GNAME, GraphType) \
-for (std::pair<boost::graph_traits<GraphType>::adjacency_iterator, \
-               boost::graph_traits<GraphType>::adjacency_iterator> BGL_RANGE(__LINE__) = adjacent_vertices(UNAME, GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-for (boost::graph_traits<GraphType>::vertex_descriptor VNAME; \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (VNAME = *BGL_FIRST(__LINE__), true) : false; \
-   ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_OUTEDGES_T(UNAME, ENAME, GNAME, GraphType) \
-for (std::pair<typename boost::graph_traits<GraphType>::out_edge_iterator, \
-               typename boost::graph_traits<GraphType>::out_edge_iterator> BGL_RANGE(__LINE__) = out_edges(UNAME, GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-for (typename boost::graph_traits<GraphType>::edge_descriptor ENAME; \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (ENAME = *BGL_FIRST(__LINE__), true) : false; \
-   ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_OUTEDGES(UNAME, ENAME, GNAME, GraphType) \
-for (std::pair<boost::graph_traits<GraphType>::out_edge_iterator, \
-               boost::graph_traits<GraphType>::out_edge_iterator> BGL_RANGE(__LINE__) = out_edges(UNAME, GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-for (boost::graph_traits<GraphType>::edge_descriptor ENAME; \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (ENAME = *BGL_FIRST(__LINE__), true) : false; \
-   ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_INEDGES_T(UNAME, ENAME, GNAME, GraphType) \
-for (std::pair<typename boost::graph_traits<GraphType>::in_edge_iterator, \
-               typename boost::graph_traits<GraphType>::in_edge_iterator> BGL_RANGE(__LINE__) = in_edges(UNAME, GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-for (typename boost::graph_traits<GraphType>::edge_descriptor ENAME; \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (ENAME = *BGL_FIRST(__LINE__), true) : false; \
-   ++BGL_FIRST(__LINE__))
-
-#define BGL_FORALL_INEDGES(UNAME, ENAME, GNAME, GraphType) \
-for (std::pair<boost::graph_traits<GraphType>::in_edge_iterator, \
-               boost::graph_traits<GraphType>::in_edge_iterator> BGL_RANGE(__LINE__) = in_edges(UNAME, GNAME); \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__); BGL_FIRST(__LINE__) = BGL_LAST(__LINE__)) \
-for (boost::graph_traits<GraphType>::edge_descriptor ENAME; \
-  BGL_FIRST(__LINE__) != BGL_LAST(__LINE__) ? (ENAME = *BGL_FIRST(__LINE__), true) : false; \
-   ++BGL_FIRST(__LINE__))
-
-#endif // BOOST_GRAPH_ITERATION_MACROS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/iteration_macros_undef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/iteration_macros_undef.hpp
deleted file mode 100644
index 0b3f417..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/iteration_macros_undef.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//=======================================================================
-// Copyright 2002 Indiana University.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_ITERATION_MACROS_HPP
-
-#undef BOOST_GRAPH_ITERATION_MACROS_HPP
-#undef BGL_CAT
-#undef BGL_FIRST
-#undef BGL_LAST
-#undef BGL_FORALL_VERTICES
-#undef BGL_FORALL_EDGES
-#undef BGL_FORALL_ADJACENT
-#undef BGL_FORALL_OUTEDGES
-#undef BGL_FORALL_INEDGES
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/johnson_all_pairs_shortest.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/johnson_all_pairs_shortest.hpp
deleted file mode 100644
index 1e70379..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/johnson_all_pairs_shortest.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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 implements the function
-
-  template <class VertexAndEdgeListGraph, class DistanceMatrix,
-            class P, class T, class R>
-  bool
-  johnson_all_pairs_shortest_paths
-    (VertexAndEdgeListGraph& g, 
-     DistanceMatrix& D,
-     const bgl_named_params<P, T, R>& params)
- */
-
-#ifndef BOOST_GRAPH_JOHNSON_HPP
-#define BOOST_GRAPH_JOHNSON_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/shared_array_property_map.hpp>
-#include <boost/graph/bellman_ford_shortest_paths.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/type_traits/same_traits.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-  template <class VertexAndEdgeListGraph, class DistanceMatrix,
-            class VertexID, class Weight, typename BinaryPredicate, 
-            typename BinaryFunction, typename Infinity, class DistanceZero>
-  bool
-  johnson_all_pairs_shortest_paths(VertexAndEdgeListGraph& g1, 
-               DistanceMatrix& D,
-               VertexID id1, Weight w1, const BinaryPredicate& compare, 
-               const BinaryFunction& combine, const Infinity& inf,
-               DistanceZero zero)
-  {
-    typedef graph_traits<VertexAndEdgeListGraph> Traits1;
-    typedef typename property_traits<Weight>::value_type DT;
-    BOOST_CONCEPT_ASSERT(( BasicMatrixConcept<DistanceMatrix,
-      typename Traits1::vertices_size_type, DT> ));
-
-    typedef typename Traits1::directed_category DirCat;
-    bool is_undirected = is_same<DirCat, undirected_tag>::value;
-
-    typedef adjacency_list<vecS, vecS, directedS, 
-      property< vertex_distance_t, DT>,
-      property< edge_weight_t, DT, 
-      property< edge_weight2_t, DT > > > Graph2;
-    typedef graph_traits<Graph2> Traits2;
-
-    Graph2 g2(num_vertices(g1) + 1);
-    typename property_map<Graph2, edge_weight_t>::type 
-      w = get(edge_weight, g2);
-    typename property_map<Graph2, edge_weight2_t>::type 
-      w_hat = get(edge_weight2, g2);
-    typename property_map<Graph2, vertex_distance_t>::type 
-      d = get(vertex_distance, g2);
-    typedef typename property_map<Graph2, vertex_index_t>::type VertexID2;
-    VertexID2 id2 = get(vertex_index, g2);
-
-    // Construct g2 where V[g2] = V[g1] U {s}
-    //   and  E[g2] = E[g1] U {(s,v)| v in V[g1]}
-    std::vector<typename Traits1::vertex_descriptor> 
-      verts1(num_vertices(g1) + 1);
-    typename Traits2::vertex_descriptor s = *vertices(g2).first;
-    {
-      typename Traits1::vertex_iterator v, v_end;
-      int i = 1;
-      for (boost::tie(v, v_end) = vertices(g1); v != v_end; ++v, ++i) {
-        typename Traits2::edge_descriptor e; bool z;
-        boost::tie(e, z) = add_edge(s, get(id1, *v) + 1, g2);
-        put(w, e, zero);
-        verts1[i] = *v;
-      }
-      typename Traits1::edge_iterator e, e_end;
-      for (boost::tie(e, e_end) = edges(g1); e != e_end; ++e) {
-        typename Traits2::edge_descriptor e2; bool z;
-        boost::tie(e2, z) = add_edge(get(id1, source(*e, g1)) + 1, 
-                                     get(id1, target(*e, g1)) + 1, g2);
-        put(w, e2, get(w1, *e));
-        if (is_undirected) {
-          boost::tie(e2, z) = add_edge(get(id1, target(*e, g1)) + 1, 
-                                       get(id1, source(*e, g1)) + 1, g2);
-          put(w, e2, get(w1, *e));
-        }
-      }
-    }
-    typename Traits2::vertex_iterator v, v_end, u, u_end;
-    typename Traits2::edge_iterator e, e_end;
-    shared_array_property_map<DT,VertexID2> h(num_vertices(g2), id2);
-
-    for (boost::tie(v, v_end) = vertices(g2); v != v_end; ++v)
-      put(d, *v, inf);
-
-    put(d, s, zero);
-    // Using the non-named parameter versions of bellman_ford and
-    // dijkstra for portability reasons.
-    dummy_property_map pred; bellman_visitor<> bvis;
-    if (bellman_ford_shortest_paths
-        (g2, num_vertices(g2), w, pred, d, combine, compare, bvis)) {
-      for (boost::tie(v, v_end) = vertices(g2); v != v_end; ++v)
-        put(h, *v, get(d, *v));
-      // Reweight the edges to remove negatives
-      for (boost::tie(e, e_end) = edges(g2); e != e_end; ++e) {
-        typename Traits2::vertex_descriptor a = source(*e, g2),
-          b = target(*e, g2);
-        put(w_hat, *e, combine((get(h, a) - get(h, b)), get(w, *e)));
-      }
-      for (boost::tie(u, u_end) = vertices(g2); u != u_end; ++u) {
-        dijkstra_visitor<> dvis;
-        dijkstra_shortest_paths
-          (g2, *u, pred, d, w_hat, id2, compare, combine, inf, zero,dvis);
-        for (boost::tie(v, v_end) = vertices(g2); v != v_end; ++v) {
-          if (*u != s && *v != s) {
-            D[get(id2, *u)-1][get(id2, *v)-1] = combine((get(h, *v) - get(h, *u)), get(d, *v));
-          }
-        }
-      }
-      return true;
-    } else
-      return false;
-  }
-
-  template <class VertexAndEdgeListGraph, class DistanceMatrix,
-            class VertexID, class Weight, class DistanceZero>
-  bool
-  johnson_all_pairs_shortest_paths(VertexAndEdgeListGraph& g1, 
-               DistanceMatrix& D,
-               VertexID id1, Weight w1, DistanceZero zero)
-  {
-    typedef typename property_traits<Weight>::value_type WT;
-    return johnson_all_pairs_shortest_paths(g1, D, id1, w1, 
-                                            std::less<WT>(),
-                                            closed_plus<WT>(),
-                                            (std::numeric_limits<WT>::max)(),
-                                            zero);
-  }
-
-  namespace detail {
-
-    template <class VertexAndEdgeListGraph, class DistanceMatrix,
-              class P, class T, class R, class Weight, 
-              class VertexID>
-    bool
-    johnson_dispatch(VertexAndEdgeListGraph& g, 
-                     DistanceMatrix& D,
-                     const bgl_named_params<P, T, R>& params,
-                     Weight w, VertexID id)
-    {
-      typedef typename property_traits<Weight>::value_type WT;
-      
-      return johnson_all_pairs_shortest_paths
-        (g, D, id, w,
-        choose_param(get_param(params, distance_compare_t()), 
-          std::less<WT>()),
-        choose_param(get_param(params, distance_combine_t()), 
-          closed_plus<WT>()),
-        choose_param(get_param(params, distance_inf_t()), 
-          std::numeric_limits<WT>::max BOOST_PREVENT_MACRO_SUBSTITUTION()),
-         choose_param(get_param(params, distance_zero_t()), WT()) );
-    }
-
-  } // namespace detail
-
-  template <class VertexAndEdgeListGraph, class DistanceMatrix,
-            class P, class T, class R>
-  bool
-  johnson_all_pairs_shortest_paths
-    (VertexAndEdgeListGraph& g, 
-     DistanceMatrix& D,
-     const bgl_named_params<P, T, R>& params)
-  {
-    return detail::johnson_dispatch
-      (g, D, params,
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-       choose_const_pmap(get_param(params, vertex_index), g, vertex_index)
-       );
-  }
-
-  template <class VertexAndEdgeListGraph, class DistanceMatrix>
-  bool
-  johnson_all_pairs_shortest_paths
-    (VertexAndEdgeListGraph& g, DistanceMatrix& D)
-  {
-    bgl_named_params<int,int> params(1);
-    return detail::johnson_dispatch
-      (g, D, params, get(edge_weight, g), get(vertex_index, g));
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_JOHNSON_HPP
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/kamada_kawai_spring_layout.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/kamada_kawai_spring_layout.hpp
deleted file mode 100644
index 63355c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/kamada_kawai_spring_layout.hpp
+++ /dev/null
@@ -1,622 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_KAMADA_KAWAI_SPRING_LAYOUT_HPP
-#define BOOST_GRAPH_KAMADA_KAWAI_SPRING_LAYOUT_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/topology.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/johnson_all_pairs_shortest.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <utility>
-#include <iterator>
-#include <vector>
-#include <iostream>
-#include <boost/limits.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-
-namespace boost {
-  namespace detail { namespace graph {
-    /**
-     * Denotes an edge or display area side length used to scale a
-     * Kamada-Kawai drawing.
-     */
-    template<bool Edge, typename T>
-    struct edge_or_side
-    {
-      explicit edge_or_side(T value) : value(value) {}
-
-      T value;
-    };
-
-    /**
-     * Compute the edge length from an edge length. This is trivial.
-     */
-    template<typename Graph, typename DistanceMap, typename IndexMap, 
-             typename T>
-    T compute_edge_length(const Graph&, DistanceMap, IndexMap, 
-                          edge_or_side<true, T> length)
-    { return length.value; }
-
-    /**
-     * Compute the edge length based on the display area side
-       length. We do this by dividing the side length by the largest
-       shortest distance between any two vertices in the graph.
-     */
-    template<typename Graph, typename DistanceMap, typename IndexMap, 
-             typename T>
-    T
-    compute_edge_length(const Graph& g, DistanceMap distance, IndexMap index,
-                        edge_or_side<false, T> length)
-    {
-      T result(0);
-
-      typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-
-      for (vertex_iterator ui = vertices(g).first, end = vertices(g).second;
-           ui != end; ++ui) {
-        vertex_iterator vi = ui;
-        for (++vi; vi != end; ++vi) {
-          T dij = distance[get(index, *ui)][get(index, *vi)];
-          if (dij > result) result = dij;
-        }
-      }
-      return length.value / result;
-    }
-
-    /**
-     * Dense linear solver for fixed-size matrices.
-     */
-    template <std::size_t Size>
-    struct linear_solver {
-      // Indices in mat are (row, column)
-      // template <typename Vec>
-      // static Vec solve(double mat[Size][Size], Vec rhs);
-    };
-
-    template <>
-    struct linear_solver<1> {
-      template <typename Vec>
-      static Vec solve(double mat[1][1], Vec rhs) {
-        return rhs / mat[0][0];
-      }
-    };
-
-    // These are from http://en.wikipedia.org/wiki/Cramer%27s_rule
-    template <>
-    struct linear_solver<2> {
-      template <typename Vec>
-      static Vec solve(double mat[2][2], Vec rhs) {
-        double denom = mat[0][0] * mat[1][1] - mat[1][0] * mat[0][1];
-        double x_num = rhs[0]    * mat[1][1] - rhs[1]    * mat[0][1];
-        double y_num = mat[0][0] * rhs[1]    - mat[1][0] * rhs[0]   ;
-        Vec result;
-        result[0] = x_num / denom;
-        result[1] = y_num / denom;
-        return result;
-      }
-    };
-
-    template <>
-    struct linear_solver<3> {
-      template <typename Vec>
-      static Vec solve(double mat[2][2], Vec rhs) {
-        double denom = mat[0][0] * (mat[1][1] * mat[2][2] - mat[2][1] * mat[1][2])
-                     - mat[1][0] * (mat[0][1] * mat[2][2] - mat[2][1] * mat[0][2])
-                     + mat[2][0] * (mat[0][1] * mat[1][2] - mat[1][1] * mat[0][2]);
-        double x_num = rhs[0]    * (mat[1][1] * mat[2][2] - mat[2][1] * mat[1][2])
-                     - rhs[1]    * (mat[0][1] * mat[2][2] - mat[2][1] * mat[0][2])
-                     + rhs[2]    * (mat[0][1] * mat[1][2] - mat[1][1] * mat[0][2]);
-        double y_num = mat[0][0] * (rhs[1]    * mat[2][2] - rhs[2]    * mat[1][2])
-                     - mat[1][0] * (rhs[0]    * mat[2][2] - rhs[2]    * mat[0][2])
-                     + mat[2][0] * (rhs[0]    * mat[1][2] - rhs[1]    * mat[0][2]);
-        double z_num = mat[0][0] * (mat[1][1] * rhs[2]    - mat[2][1] * rhs[1]   )
-                     - mat[1][0] * (mat[0][1] * rhs[2]    - mat[2][1] * rhs[0]   )
-                     + mat[2][0] * (mat[0][1] * rhs[1]    - mat[1][1] * rhs[0]   );
-        Vec result;
-        result[0] = x_num / denom;
-        result[1] = y_num / denom;
-        result[2] = z_num / denom;
-        return result;
-      }
-    };
-
-    /**
-     * Implementation of the Kamada-Kawai spring layout algorithm.
-     */
-    template<typename Topology, typename Graph, typename PositionMap, typename WeightMap,
-             typename EdgeOrSideLength, typename Done,
-             typename VertexIndexMap, typename DistanceMatrix,
-             typename SpringStrengthMatrix, typename PartialDerivativeMap>
-    struct kamada_kawai_spring_layout_impl
-    {
-      typedef typename property_traits<WeightMap>::value_type weight_type;
-      typedef typename Topology::point_type Point;
-      typedef typename Topology::point_difference_type point_difference_type;
-      typedef point_difference_type deriv_type;
-      typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator;
-      typedef typename graph_traits<Graph>::vertex_descriptor
-        vertex_descriptor;
-
-      kamada_kawai_spring_layout_impl(
-        const Topology& topology,
-        const Graph& g, 
-        PositionMap position,
-        WeightMap weight, 
-        EdgeOrSideLength edge_or_side_length,
-        Done done,
-        weight_type spring_constant,
-        VertexIndexMap index,
-        DistanceMatrix distance,
-        SpringStrengthMatrix spring_strength,
-        PartialDerivativeMap partial_derivatives)
-        : topology(topology), g(g), position(position), weight(weight), 
-          edge_or_side_length(edge_or_side_length), done(done),
-          spring_constant(spring_constant), index(index), distance(distance),
-          spring_strength(spring_strength), 
-          partial_derivatives(partial_derivatives) {}
-
-      // Compute contribution of vertex i to the first partial
-      // derivatives (dE/dx_m, dE/dy_m) (for vertex m)
-      deriv_type
-      compute_partial_derivative(vertex_descriptor m, vertex_descriptor i)
-      {
-#ifndef BOOST_NO_STDC_NAMESPACE
-        using std::sqrt;
-#endif // BOOST_NO_STDC_NAMESPACE
-
-        deriv_type result;
-        if (i != m) {
-          point_difference_type diff = topology.difference(position[m], position[i]);
-          weight_type dist = topology.norm(diff);
-          result = spring_strength[get(index, m)][get(index, i)] 
-            * (diff - distance[get(index, m)][get(index, i)]/dist*diff);
-        }
-
-        return result;
-      }
-
-      // Compute partial derivatives dE/dx_m and dE/dy_m
-      deriv_type 
-      compute_partial_derivatives(vertex_descriptor m)
-      {
-#ifndef BOOST_NO_STDC_NAMESPACE
-        using std::sqrt;
-#endif // BOOST_NO_STDC_NAMESPACE
-
-        deriv_type result;
-
-        // TBD: looks like an accumulate to me
-        BGL_FORALL_VERTICES_T(i, g, Graph) {
-          deriv_type deriv = compute_partial_derivative(m, i);
-          result += deriv;
-        }
-
-        return result;
-      }
-
-      // The actual Kamada-Kawai spring layout algorithm implementation
-      bool run()
-      {
-#ifndef BOOST_NO_STDC_NAMESPACE
-        using std::sqrt;
-#endif // BOOST_NO_STDC_NAMESPACE
-
-        // Compute d_{ij} and place it in the distance matrix
-        if (!johnson_all_pairs_shortest_paths(g, distance, index, weight, 
-                                              weight_type(0)))
-          return false;
-
-        // Compute L based on side length (if needed), or retrieve L
-        weight_type edge_length = 
-          detail::graph::compute_edge_length(g, distance, index,
-                                             edge_or_side_length);
-
-        // std::cerr << "edge_length = " << edge_length << std::endl;
-        
-        // Compute l_{ij} and k_{ij}
-        const weight_type K = spring_constant;
-        vertex_iterator ui, end;
-        for (ui = vertices(g).first, end = vertices(g).second; ui != end; ++ui) {
-          vertex_iterator vi = ui;
-          for (++vi; vi != end; ++vi) {
-            weight_type dij = distance[get(index, *ui)][get(index, *vi)];
-            if (dij == (std::numeric_limits<weight_type>::max)())
-              return false;
-            distance[get(index, *ui)][get(index, *vi)] = edge_length * dij;
-            distance[get(index, *vi)][get(index, *ui)] = edge_length * dij;
-            spring_strength[get(index, *ui)][get(index, *vi)] = K/(dij*dij);
-            spring_strength[get(index, *vi)][get(index, *ui)] = K/(dij*dij);
-          }
-        }
-        
-        // Compute Delta_i and find max
-        vertex_descriptor p = *vertices(g).first;
-        weight_type delta_p(0);
-
-        for (ui = vertices(g).first, end = vertices(g).second; ui != end; ++ui) {
-          deriv_type deriv = compute_partial_derivatives(*ui);
-          put(partial_derivatives, *ui, deriv);
-
-          weight_type delta = topology.norm(deriv);
-
-          if (delta > delta_p) {
-            p = *ui;
-            delta_p = delta;
-          }
-        }
-
-        while (!done(delta_p, p, g, true)) {
-          // The contribution p makes to the partial derivatives of
-          // each vertex. Computing this (at O(n) cost) allows us to
-          // update the delta_i values in O(n) time instead of O(n^2)
-          // time.
-          std::vector<deriv_type> p_partials(num_vertices(g));
-          for (ui = vertices(g).first, end = vertices(g).second; ui != end; ++ui) {
-            vertex_descriptor i = *ui;
-            p_partials[get(index, i)] = compute_partial_derivative(i, p);
-          }
-
-          do {
-            // For debugging, compute the energy value E
-            double E = 0.;
-            for (ui = vertices(g).first, end = vertices(g).second; ui != end; ++ui) {
-              vertex_iterator vi = ui;
-              for (++vi; vi != end; ++vi) {
-                double dist = topology.distance(position[*ui], position[*vi]);
-                weight_type k_ij = spring_strength[get(index,*ui)][get(index,*vi)];
-                weight_type l_ij = distance[get(index, *ui)][get(index, *vi)];
-                E += .5 * k_ij * (dist - l_ij) * (dist - l_ij);
-              }
-            }
-            // std::cerr << "E = " << E << std::endl;
-
-            // Compute the elements of the Jacobian
-            // From
-            // http://www.cs.panam.edu/~rfowler/papers/1994_kumar_fowler_A_Spring_UTPACSTR.pdf
-            // with the bugs fixed in the off-diagonal case
-            weight_type dE_d_d[Point::dimensions][Point::dimensions];
-            for (std::size_t i = 0; i < Point::dimensions; ++i)
-              for (std::size_t j = 0; j < Point::dimensions; ++j)
-                dE_d_d[i][j] = 0.;
-            for (ui = vertices(g).first, end = vertices(g).second; ui != end; ++ui) {
-              vertex_descriptor i = *ui;
-              if (i != p) {
-                point_difference_type diff = topology.difference(position[p], position[i]);
-                weight_type dist = topology.norm(diff);
-                weight_type dist_squared = dist * dist;
-                weight_type inv_dist_cubed = 1. / (dist_squared * dist);
-                weight_type k_mi = spring_strength[get(index,p)][get(index,i)];
-                weight_type l_mi = distance[get(index, p)][get(index, i)];
-                for (std::size_t i = 0; i < Point::dimensions; ++i) {
-                  for (std::size_t j = 0; j < Point::dimensions; ++j) {
-                    if (i == j) {
-                      dE_d_d[i][i] += k_mi * (1 + (l_mi * (diff[i] * diff[i] - dist_squared) * inv_dist_cubed));
-                    } else {
-                      dE_d_d[i][j] += k_mi * l_mi * diff[i] * diff[j] * inv_dist_cubed;
-                      // dE_d_d[i][j] += k_mi * l_mi * sqrt(hypot(diff[i], diff[j])) * inv_dist_cubed;
-                    }
-                  }
-                }
-              }
-            }
-
-            deriv_type dE_d = get(partial_derivatives, p);
-
-            // Solve dE_d_d * delta = -dE_d to get delta
-            point_difference_type delta = -linear_solver<Point::dimensions>::solve(dE_d_d, dE_d);
-
-            // Move p by delta
-            position[p] = topology.adjust(position[p], delta);
-
-            // Recompute partial derivatives and delta_p
-            deriv_type deriv = compute_partial_derivatives(p);
-            put(partial_derivatives, p, deriv);
-
-            delta_p = topology.norm(deriv);
-          } while (!done(delta_p, p, g, false));
-
-          // Select new p by updating each partial derivative and delta
-          vertex_descriptor old_p = p;
-          for (ui = vertices(g).first, end = vertices(g).second; ui != end; ++ui) {
-            deriv_type old_deriv_p = p_partials[get(index, *ui)];
-            deriv_type old_p_partial = 
-              compute_partial_derivative(*ui, old_p);
-            deriv_type deriv = get(partial_derivatives, *ui);
-
-            deriv += old_p_partial - old_deriv_p;
-
-            put(partial_derivatives, *ui, deriv);
-            weight_type delta = topology.norm(deriv);
-
-            if (delta > delta_p) {
-              p = *ui;
-              delta_p = delta;
-            }
-          }
-        }
-
-        return true;
-      }
-
-      const Topology& topology;
-      const Graph& g; 
-      PositionMap position;
-      WeightMap weight; 
-      EdgeOrSideLength edge_or_side_length;
-      Done done;
-      weight_type spring_constant;
-      VertexIndexMap index;
-      DistanceMatrix distance;
-      SpringStrengthMatrix spring_strength;
-      PartialDerivativeMap partial_derivatives;
-    };
-  } } // end namespace detail::graph
-
-  /// States that the given quantity is an edge length.
-  template<typename T> 
-  inline detail::graph::edge_or_side<true, T>
-  edge_length(T x) 
-  { return detail::graph::edge_or_side<true, T>(x); }
-
-  /// States that the given quantity is a display area side length.
-  template<typename T> 
-  inline detail::graph::edge_or_side<false, T>
-  side_length(T x) 
-  { return detail::graph::edge_or_side<false, T>(x); }
-
-  /** 
-   * \brief Determines when to terminate layout of a particular graph based
-   * on a given relative tolerance. 
-   */
-  template<typename T = double>
-  struct layout_tolerance
-  {
-    layout_tolerance(const T& tolerance = T(0.001))
-      : tolerance(tolerance), last_energy((std::numeric_limits<T>::max)()),
-        last_local_energy((std::numeric_limits<T>::max)()) { }
-
-    template<typename Graph>
-    bool 
-    operator()(T delta_p, 
-               typename boost::graph_traits<Graph>::vertex_descriptor p,
-               const Graph& g,
-               bool global)
-    {
-      if (global) {
-        if (last_energy == (std::numeric_limits<T>::max)()) {
-          last_energy = delta_p;
-          return false;
-        }
-          
-        T diff = last_energy - delta_p;
-        if (diff < T(0)) diff = -diff;
-        bool done = (delta_p == T(0) || diff / last_energy < tolerance);
-        last_energy = delta_p;
-        return done;
-      } else {
-        if (last_local_energy == (std::numeric_limits<T>::max)()) {
-          last_local_energy = delta_p;
-          return delta_p == T(0);
-        }
-          
-        T diff = last_local_energy - delta_p;
-        bool done = (delta_p == T(0) || (diff / last_local_energy) < tolerance);
-        last_local_energy = delta_p;
-        return done;
-      }
-    }
-
-  private:
-    T tolerance;
-    T last_energy;
-    T last_local_energy;
-  };
-
-  /** \brief Kamada-Kawai spring layout for undirected graphs.
-   *
-   * This algorithm performs graph layout (in two dimensions) for
-   * connected, undirected graphs. It operates by relating the layout
-   * of graphs to a dynamic spring system and minimizing the energy
-   * within that system. The strength of a spring between two vertices
-   * is inversely proportional to the square of the shortest distance
-   * (in graph terms) between those two vertices. Essentially,
-   * vertices that are closer in the graph-theoretic sense (i.e., by
-   * following edges) will have stronger springs and will therefore be
-   * placed closer together.
-   *
-   * Prior to invoking this algorithm, it is recommended that the
-   * vertices be placed along the vertices of a regular n-sided
-   * polygon.
-   *
-   * \param g (IN) must be a model of Vertex List Graph, Edge List
-   * Graph, and Incidence Graph and must be undirected.
-   *
-   * \param position (OUT) must be a model of Lvalue Property Map,
-   * where the value type is a class containing fields @c x and @c y
-   * that will be set to the @c x and @c y coordinates of each vertex.
-   *
-   * \param weight (IN) must be a model of Readable Property Map,
-   * which provides the weight of each edge in the graph @p g.
-   *
-   * \param topology (IN) must be a topology object (see topology.hpp),
-   * which provides operations on points and differences between them.
-   *
-   * \param edge_or_side_length (IN) provides either the unit length
-   * @c e of an edge in the layout or the length of a side @c s of the
-   * display area, and must be either @c boost::edge_length(e) or @c
-   * boost::side_length(s), respectively.
-   *
-   * \param done (IN) is a 4-argument function object that is passed
-   * the current value of delta_p (i.e., the energy of vertex @p p),
-   * the vertex @p p, the graph @p g, and a boolean flag indicating
-   * whether @p delta_p is the maximum energy in the system (when @c
-   * true) or the energy of the vertex being moved. Defaults to @c
-   * layout_tolerance instantiated over the value type of the weight
-   * map.
-   *
-   * \param spring_constant (IN) is the constant multiplied by each
-   * spring's strength. Larger values create systems with more energy
-   * that can take longer to stabilize; smaller values create systems
-   * with less energy that stabilize quickly but do not necessarily
-   * result in pleasing layouts. The default value is 1.
-   *
-   * \param index (IN) is a mapping from vertices to index values
-   * between 0 and @c num_vertices(g). The default is @c
-   * get(vertex_index,g).
-   *
-   * \param distance (UTIL/OUT) will be used to store the distance
-   * from every vertex to every other vertex, which is computed in the
-   * first stages of the algorithm. This value's type must be a model
-   * of BasicMatrix with value type equal to the value type of the
-   * weight map. The default is a vector of vectors.
-   *
-   * \param spring_strength (UTIL/OUT) will be used to store the
-   * strength of the spring between every pair of vertices. This
-   * value's type must be a model of BasicMatrix with value type equal
-   * to the value type of the weight map. The default is a vector of
-   * vectors.
-   *
-   * \param partial_derivatives (UTIL) will be used to store the
-   * partial derivates of each vertex with respect to the @c x and @c
-   * y coordinates. This must be a Read/Write Property Map whose value
-   * type is a pair with both types equivalent to the value type of
-   * the weight map. The default is an iterator property map.
-   *
-   * \returns @c true if layout was successful or @c false if a
-   * negative weight cycle was detected.
-   */
-  template<typename Topology, typename Graph, typename PositionMap, typename WeightMap,
-           typename T, bool EdgeOrSideLength, typename Done,
-           typename VertexIndexMap, typename DistanceMatrix,
-           typename SpringStrengthMatrix, typename PartialDerivativeMap>
-  bool 
-  kamada_kawai_spring_layout(
-    const Graph& g, 
-    PositionMap position,
-    WeightMap weight, 
-    const Topology& topology,
-    detail::graph::edge_or_side<EdgeOrSideLength, T> edge_or_side_length,
-    Done done,
-    typename property_traits<WeightMap>::value_type spring_constant,
-    VertexIndexMap index,
-    DistanceMatrix distance,
-    SpringStrengthMatrix spring_strength,
-    PartialDerivativeMap partial_derivatives)
-  {
-    BOOST_STATIC_ASSERT((is_convertible<
-                           typename graph_traits<Graph>::directed_category*,
-                           undirected_tag*
-                         >::value));
-
-    detail::graph::kamada_kawai_spring_layout_impl<
-      Topology, Graph, PositionMap, WeightMap, 
-      detail::graph::edge_or_side<EdgeOrSideLength, T>, Done, VertexIndexMap, 
-      DistanceMatrix, SpringStrengthMatrix, PartialDerivativeMap>
-      alg(topology, g, position, weight, edge_or_side_length, done, spring_constant,
-          index, distance, spring_strength, partial_derivatives);
-    return alg.run();
-  }
-
-  /**
-   * \overload
-   */
-  template<typename Topology, typename Graph, typename PositionMap, typename WeightMap,
-           typename T, bool EdgeOrSideLength, typename Done, 
-           typename VertexIndexMap>
-  bool 
-  kamada_kawai_spring_layout(
-    const Graph& g, 
-    PositionMap position,
-    WeightMap weight, 
-    const Topology& topology,
-    detail::graph::edge_or_side<EdgeOrSideLength, T> edge_or_side_length,
-    Done done,
-    typename property_traits<WeightMap>::value_type spring_constant,
-    VertexIndexMap index)
-  {
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-
-    typename graph_traits<Graph>::vertices_size_type n = num_vertices(g);
-    typedef std::vector<weight_type> weight_vec;
-
-    std::vector<weight_vec> distance(n, weight_vec(n));
-    std::vector<weight_vec> spring_strength(n, weight_vec(n));
-    std::vector<typename Topology::point_difference_type> partial_derivatives(n);
-
-    return 
-      kamada_kawai_spring_layout(
-        g, position, weight, topology, edge_or_side_length, done, spring_constant, index,
-        distance.begin(),
-        spring_strength.begin(),
-        make_iterator_property_map(partial_derivatives.begin(), index,
-                                   typename Topology::point_difference_type()));
-  }
-
-  /**
-   * \overload
-   */
-  template<typename Topology, typename Graph, typename PositionMap, typename WeightMap,
-           typename T, bool EdgeOrSideLength, typename Done>
-  bool 
-  kamada_kawai_spring_layout(
-    const Graph& g, 
-    PositionMap position,
-    WeightMap weight, 
-    const Topology& topology,
-    detail::graph::edge_or_side<EdgeOrSideLength, T> edge_or_side_length,
-    Done done,
-    typename property_traits<WeightMap>::value_type spring_constant)
-  {
-    return kamada_kawai_spring_layout(g, position, weight, topology, edge_or_side_length,
-                                      done, spring_constant, 
-                                      get(vertex_index, g));
-  }
-
-  /**
-   * \overload
-   */
-  template<typename Topology, typename Graph, typename PositionMap, typename WeightMap,
-           typename T, bool EdgeOrSideLength, typename Done>
-  bool 
-  kamada_kawai_spring_layout(
-    const Graph& g, 
-    PositionMap position,
-    WeightMap weight, 
-    const Topology& topology,
-    detail::graph::edge_or_side<EdgeOrSideLength, T> edge_or_side_length,
-    Done done)
-  {
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-    return kamada_kawai_spring_layout(g, position, weight, topology, edge_or_side_length,
-                                      done, weight_type(1)); 
-  }
-
-  /**
-   * \overload
-   */
-  template<typename Topology, typename Graph, typename PositionMap, typename WeightMap,
-           typename T, bool EdgeOrSideLength>
-  bool 
-  kamada_kawai_spring_layout(
-    const Graph& g, 
-    PositionMap position,
-    WeightMap weight, 
-    const Topology& topology,
-    detail::graph::edge_or_side<EdgeOrSideLength, T> edge_or_side_length)
-  {
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-    return kamada_kawai_spring_layout(g, position, weight, topology, edge_or_side_length,
-                                      layout_tolerance<weight_type>(),
-                                      weight_type(1.0), 
-                                      get(vertex_index, g));
-  }
-} // end namespace boost
-
-#endif // BOOST_GRAPH_KAMADA_KAWAI_SPRING_LAYOUT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/king_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/king_ordering.hpp
deleted file mode 100644
index 29e7ac9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/king_ordering.hpp
+++ /dev/null
@@ -1,316 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2004, 2005 Trustees of Indiana University
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek,
-//          Doug Gregor, D. Kevin McGrath
-//
-// Distributed under the 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_GRAPH_KING_HPP
-#define BOOST_GRAPH_KING_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/detail/sparse_ordering.hpp>
-#include <boost/graph/graph_utility.hpp>
-
-/*
-  King Algorithm for matrix reordering
-*/
-
-namespace boost {
-  namespace detail {
-    template<typename OutputIterator, typename Buffer, typename Compare, 
-             typename PseudoDegreeMap, typename VecMap, typename VertexIndexMap>
-    class bfs_king_visitor:public default_bfs_visitor
-    {
-    public:
-      bfs_king_visitor(OutputIterator *iter, Buffer *b, Compare compare, 
-                       PseudoDegreeMap deg, std::vector<int> loc, VecMap color, 
-                       VertexIndexMap vertices): 
-        permutation(iter), Qptr(b), degree(deg), comp(compare), 
-        Qlocation(loc), colors(color), vertex_map(vertices) { }
-      
-      template <typename Vertex, typename Graph>
-      void finish_vertex(Vertex, Graph& g) {
-        typename graph_traits<Graph>::out_edge_iterator ei, ei_end;
-        Vertex v, w;
-
-        typedef typename std::deque<Vertex>::reverse_iterator reverse_iterator;
-
-        reverse_iterator rend = Qptr->rend()-index_begin;
-        reverse_iterator rbegin = Qptr->rbegin();
-
-
-        //heap the vertices already there
-        std::make_heap(rbegin, rend, boost::bind<bool>(comp, _2, _1));
-
-        unsigned i = 0;
-        
-        for(i = index_begin; i != Qptr->size(); ++i){
-          colors[get(vertex_map, (*Qptr)[i])] = 1;
-          Qlocation[get(vertex_map, (*Qptr)[i])] = i;
-        }
-
-        i = 0;
-
-        for( ; rbegin != rend; rend--){
-          percolate_down<Vertex>(i);
-          w = (*Qptr)[index_begin+i];
-          for (boost::tie(ei, ei_end) = out_edges(w, g); ei != ei_end; ++ei) {
-            v = target(*ei, g);
-            put(degree, v, get(degree, v) - 1);
-    
-            if (colors[get(vertex_map, v)] == 1) {
-              percolate_up<Vertex>(get(vertex_map, v), i);            
-            }
-          }
-          
-          colors[get(vertex_map, w)] = 0;
-          i++;
-        }
-      }
-    
-      template <typename Vertex, typename Graph>
-      void examine_vertex(Vertex u, const Graph&) {
-        
-        *(*permutation)++ = u;
-        index_begin = Qptr->size();
-        
-      }
-    protected:
-
-
-      //this function replaces pop_heap, and tracks state information
-      template <typename Vertex>
-      void percolate_down(int offset){
-        int heap_last = index_begin + offset;
-        int heap_first = Qptr->size() - 1;
-        
-        //pop_heap functionality:
-        //swap first, last
-        std::swap((*Qptr)[heap_last], (*Qptr)[heap_first]);
-        
-        //swap in the location queue
-        std::swap(Qlocation[heap_first], Qlocation[heap_last]);
-
-        //set drifter, children
-        int drifter = heap_first;
-        int drifter_heap = Qptr->size() - drifter;
-
-        int right_child_heap = drifter_heap * 2 + 1;
-        int right_child = Qptr->size() - right_child_heap;
-
-        int left_child_heap = drifter_heap * 2;
-        int left_child = Qptr->size() - left_child_heap;
-
-        //check that we are staying in the heap
-        bool valid = (right_child < heap_last) ? false : true;
-        
-        //pick smallest child of drifter, and keep in mind there might only be left child
-        int smallest_child = (valid && get(degree, (*Qptr)[left_child]) > get(degree,(*Qptr)[right_child])) ? 
-          right_child : left_child;
-        
-        while(valid && smallest_child < heap_last && comp((*Qptr)[drifter], (*Qptr)[smallest_child])){
-          
-          //if smallest child smaller than drifter, swap them
-          std::swap((*Qptr)[smallest_child], (*Qptr)[drifter]);
-          std::swap(Qlocation[drifter], Qlocation[smallest_child]);
-
-          //update the values, run again, as necessary
-          drifter = smallest_child;
-          drifter_heap = Qptr->size() - drifter;
-
-          right_child_heap = drifter_heap * 2 + 1;
-          right_child = Qptr->size() - right_child_heap;
-
-          left_child_heap = drifter_heap * 2;
-          left_child = Qptr->size() - left_child_heap;
-
-          valid = (right_child < heap_last) ? false : true;
-
-          smallest_child = (valid && get(degree, (*Qptr)[left_child]) > get(degree,(*Qptr)[right_child])) ? 
-            right_child : left_child;
-        }
-
-      }
-
-
-      
-      // this is like percolate down, but we always compare against the
-      // parent, as there is only a single choice
-      template <typename Vertex>
-      void percolate_up(int vertex, int offset){
-        
-        int child_location = Qlocation[vertex];
-        int heap_child_location = Qptr->size() - child_location;
-        int heap_parent_location = (int)(heap_child_location/2);
-        unsigned parent_location = Qptr->size() - heap_parent_location; 
-
-        bool valid = (heap_parent_location != 0 && child_location > index_begin + offset && 
-                      parent_location < Qptr->size());
-
-        while(valid && comp((*Qptr)[child_location], (*Qptr)[parent_location])){
-          
-          //swap in the heap
-          std::swap((*Qptr)[child_location], (*Qptr)[parent_location]);
-          
-          //swap in the location queue
-          std::swap(Qlocation[child_location], Qlocation[parent_location]);
-
-          child_location = parent_location;
-          heap_child_location = heap_parent_location;
-          heap_parent_location = (int)(heap_child_location/2);
-          parent_location = Qptr->size() - heap_parent_location; 
-          valid = (heap_parent_location != 0 && child_location > index_begin + offset);
-        }
-      }
-      
-      OutputIterator *permutation;
-      int index_begin;
-      Buffer *Qptr;
-      PseudoDegreeMap degree;
-      Compare comp;
-      std::vector<int> Qlocation;
-      VecMap colors;
-      VertexIndexMap vertex_map;
-    };
-  
-
-  } // namespace detail  
-  
-
-  template<class Graph, class OutputIterator, class ColorMap, class DegreeMap,
-           typename VertexIndexMap> 
-  OutputIterator
-  king_ordering(const Graph& g,
-                std::deque< typename graph_traits<Graph>::vertex_descriptor >
-                  vertex_queue,
-                OutputIterator permutation, 
-                ColorMap color, DegreeMap degree,
-                VertexIndexMap index_map)
-  {
-    typedef typename property_traits<DegreeMap>::value_type ds_type;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef iterator_property_map<typename std::vector<ds_type>::iterator, VertexIndexMap, ds_type, ds_type&> PseudoDegreeMap;
-    typedef indirect_cmp<PseudoDegreeMap, std::less<ds_type> > Compare;
-    typedef typename boost::sparse::sparse_ordering_queue<Vertex> queue;
-    typedef typename detail::bfs_king_visitor<OutputIterator, queue, Compare,             
-      PseudoDegreeMap, std::vector<int>, VertexIndexMap > Visitor;
-    typedef typename graph_traits<Graph>::vertices_size_type
-      vertices_size_type;
-    std::vector<ds_type> pseudo_degree_vec(num_vertices(g));
-    PseudoDegreeMap pseudo_degree(pseudo_degree_vec.begin(), index_map);
-    
-    typename graph_traits<Graph>::vertex_iterator ui, ui_end;    
-    queue Q;
-    // Copy degree to pseudo_degree
-    // initialize the color map
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui){
-      put(pseudo_degree, *ui, get(degree, *ui));
-      put(color, *ui, Color::white());
-    }
-    
-    Compare comp(pseudo_degree);
-    std::vector<int> colors(num_vertices(g));
-
-    for(vertices_size_type i = 0; i < num_vertices(g); i++) 
-      colors[i] = 0;
-
-    std::vector<int> loc(num_vertices(g));
-
-    //create the visitor
-    Visitor vis(&permutation, &Q, comp, pseudo_degree, loc, colors, index_map);
-    
-    while( !vertex_queue.empty() ) {
-      Vertex s = vertex_queue.front();
-      vertex_queue.pop_front();
-      
-      //call BFS with visitor
-      breadth_first_visit(g, s, Q, vis, color);
-    }
-
-    return permutation;
-  }
-
-  
-  // This is the case where only a single starting vertex is supplied.
-  template <class Graph, class OutputIterator,
-            class ColorMap, class DegreeMap, typename VertexIndexMap>
-  OutputIterator
-  king_ordering(const Graph& g,
-                typename graph_traits<Graph>::vertex_descriptor s,
-                OutputIterator permutation, 
-                ColorMap color, DegreeMap degree, VertexIndexMap index_map)
-  {
-
-    std::deque< typename graph_traits<Graph>::vertex_descriptor > vertex_queue;
-    vertex_queue.push_front( s );
-    return king_ordering(g, vertex_queue, permutation, color, degree,
-                         index_map);
-  }
-
-  
-  template < class Graph, class OutputIterator, 
-             class ColorMap, class DegreeMap, class VertexIndexMap>
-  OutputIterator 
-  king_ordering(const Graph& G, OutputIterator permutation, 
-                ColorMap color, DegreeMap degree, VertexIndexMap index_map)
-  {
-    if (has_no_vertices(G))
-      return permutation;
-
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-
-    std::deque<Vertex>      vertex_queue;
-
-    // Mark everything white
-    BGL_FORALL_VERTICES_T(v, G, Graph) put(color, v, Color::white());
-
-    // Find one vertex from each connected component 
-    BGL_FORALL_VERTICES_T(v, G, Graph) {
-      if (get(color, v) == Color::white()) {
-        depth_first_visit(G, v, dfs_visitor<>(), color);
-        vertex_queue.push_back(v);
-      }
-    }
-
-    // Find starting nodes for all vertices
-    // TBD: How to do this with a directed graph?
-    for (typename std::deque<Vertex>::iterator i = vertex_queue.begin();
-         i != vertex_queue.end(); ++i)
-      *i = find_starting_node(G, *i, color, degree);
-    
-    return king_ordering(G, vertex_queue, permutation, color, degree,
-                         index_map);
-  }
-
-  template<typename Graph, typename OutputIterator, typename VertexIndexMap>
-  OutputIterator 
-  king_ordering(const Graph& G, OutputIterator permutation, 
-                VertexIndexMap index_map)
-  {
-    if (has_no_vertices(G))
-      return permutation;
-
-    std::vector<default_color_type> colors(num_vertices(G));
-    return king_ordering(G, permutation, 
-                         make_iterator_property_map(&colors[0], index_map,
-                                                    colors[0]),
-                         make_out_degree_map(G), index_map);
-  }
-
-  template<typename Graph, typename OutputIterator>
-  inline OutputIterator 
-  king_ordering(const Graph& G, OutputIterator permutation)
-  { return king_ordering(G, permutation, get(vertex_index, G)); }
-
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_KING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/kruskal_min_spanning_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/kruskal_min_spanning_tree.hpp
deleted file mode 100644
index b7e8157..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/kruskal_min_spanning_tree.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_MST_KRUSKAL_HPP
-#define BOOST_GRAPH_MST_KRUSKAL_HPP
-
-/*
- *Minimum Spanning Tree 
- *         Kruskal Algorithm
- *
- *Requirement:
- *      undirected graph
- */
-
-#include <vector>
-#include <queue>
-#include <functional>
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/pending/disjoint_sets.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/concept/assert.hpp>
-
-
-namespace boost {
-
-  // Kruskal's algorithm for Minimum Spanning Tree
-  //
-  // This is a greedy algorithm to calculate the Minimum Spanning Tree
-  // for an undirected graph with weighted edges. The output will be a
-  // set of edges.
-  //
-
-  namespace detail {
-
-    template <class Graph, class OutputIterator, 
-              class Rank, class Parent, class Weight>
-    void
-    kruskal_mst_impl(const Graph& G, 
-                     OutputIterator spanning_tree_edges, 
-                     Rank rank, Parent parent, Weight weight)
-    {
-      if (num_vertices(G) == 0) return; // Nothing to do in this case
-      typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-      typedef typename graph_traits<Graph>::edge_descriptor Edge;
-      BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-      BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph> ));
-      BOOST_CONCEPT_ASSERT(( OutputIteratorConcept<OutputIterator, Edge> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<Rank, Vertex> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<Parent, Vertex> ));
-      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<Weight, Edge> ));
-      typedef typename property_traits<Weight>::value_type W_value;
-      typedef typename property_traits<Rank>::value_type R_value;
-      typedef typename property_traits<Parent>::value_type P_value;
-      BOOST_CONCEPT_ASSERT(( ComparableConcept<W_value> ));
-      BOOST_CONCEPT_ASSERT(( ConvertibleConcept<P_value, Vertex> ));
-      BOOST_CONCEPT_ASSERT(( IntegerConcept<R_value> ));
-
-      disjoint_sets<Rank, Parent>  dset(rank, parent);
-
-      typename graph_traits<Graph>::vertex_iterator ui, uiend;
-      for (boost::tie(ui, uiend) = vertices(G); ui != uiend; ++ui)
-        dset.make_set(*ui);
-
-      typedef indirect_cmp<Weight, std::greater<W_value> > weight_greater;
-      weight_greater wl(weight);
-      std::priority_queue<Edge, std::vector<Edge>, weight_greater> Q(wl);
-      /*push all edge into Q*/
-      typename graph_traits<Graph>::edge_iterator ei, eiend;
-      for (boost::tie(ei, eiend) = edges(G); ei != eiend; ++ei) 
-        Q.push(*ei);
-
-      while (! Q.empty()) {
-        Edge e = Q.top();
-        Q.pop();
-        Vertex u = dset.find_set(source(e, G));
-        Vertex v = dset.find_set(target(e, G));
-        if ( u != v ) {
-          *spanning_tree_edges++ = e;
-          dset.link(u, v);
-        }
-      }
-    }
-
-  } // namespace detail 
-
-  // Named Parameters Variants
-
-  template <class Graph, class OutputIterator>
-  inline void 
-  kruskal_minimum_spanning_tree(const Graph& g,
-                                OutputIterator spanning_tree_edges)
-  {
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    if (num_vertices(g) == 0) return; // Nothing to do in this case
-    typename graph_traits<Graph>::vertices_size_type
-      n = num_vertices(g);
-    std::vector<size_type> rank_map(n);
-    std::vector<vertex_t> pred_map(n);
-
-    detail::kruskal_mst_impl
-      (g, spanning_tree_edges, 
-       make_iterator_property_map(rank_map.begin(), get(vertex_index, g), rank_map[0]),
-       make_iterator_property_map(pred_map.begin(), get(vertex_index, g), pred_map[0]),
-       get(edge_weight, g));
-  }
-
-  template <class Graph, class OutputIterator, class P, class T, class R>
-  inline void
-  kruskal_minimum_spanning_tree(const Graph& g,
-                                OutputIterator spanning_tree_edges, 
-                                const bgl_named_params<P, T, R>& params)
-  {
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    if (num_vertices(g) == 0) return; // Nothing to do in this case
-    typename graph_traits<Graph>::vertices_size_type n;
-    n = is_default_param(get_param(params, vertex_rank))
-                                   ? num_vertices(g) : 1;
-    std::vector<size_type> rank_map(n);
-    n = is_default_param(get_param(params, vertex_predecessor))
-                                   ? num_vertices(g) : 1;
-    std::vector<vertex_t> pred_map(n);
-    
-    detail::kruskal_mst_impl
-      (g, spanning_tree_edges, 
-       choose_param
-       (get_param(params, vertex_rank), 
-        make_iterator_property_map
-        (rank_map.begin(), 
-         choose_pmap(get_param(params, vertex_index), g, vertex_index), rank_map[0])),
-       choose_param
-       (get_param(params, vertex_predecessor), 
-        make_iterator_property_map
-        (pred_map.begin(), 
-         choose_const_pmap(get_param(params, vertex_index), g, vertex_index), 
-         pred_map[0])),
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
-  }
-    
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_MST_KRUSKAL_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/labeled_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/labeled_graph.hpp
deleted file mode 100644
index 5b688b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/labeled_graph.hpp
+++ /dev/null
@@ -1,815 +0,0 @@
-// Copyright (C) 2009 Andrew Sutton
-
-// Use, modification and distribution is subject to the 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_GRAPH_LABELED_GRAPH_HPP
-#define BOOST_GRAPH_LABELED_GRAPH_HPP
-
-#include <boost/config.hpp>
-#include <vector>
-#include <map>
-
-#include <boost/static_assert.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/unordered_map.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/pending/container_traits.hpp>
-#include <boost/graph/graph_traits.hpp>
-
-// This file implements a utility for creating mappings from arbitrary
-// identifiers to the vertices of a graph.
-
-namespace boost {
-
-// A type selector that denotes the use of some default value.
-struct defaultS { };
-
-/** @internal */
-namespace graph_detail {
-    /** Returns true if the selector is the default selector. */
-    template <typename Selector>
-    struct is_default
-        : mpl::bool_<is_same<Selector, defaultS>::value>
-    { };
-
-    /**
-     * Choose the default map instance. If Label is an unsigned integral type
-     * the we can use a vector to store the information.
-     */
-    template <typename Label, typename Vertex>
-    struct choose_default_map {
-        typedef typename mpl::if_<
-            is_unsigned<Label>,
-            std::vector<Vertex>,
-            std::map<Label, Vertex> // TODO: Should use unordered_map?
-        >::type type;
-    };
-
-    /**
-     * @name Generate Label Map
-     * These type generators are responsible for instantiating an associative
-     * container for the the labeled graph. Note that the Selector must be
-     * select a pair associative container or a vecS, which is only valid if
-     * Label is an integral type.
-     */
-    //@{
-    template <typename Selector, typename Label, typename Vertex>
-    struct generate_label_map { };
-
-    template <typename Label, typename Vertex>
-    struct generate_label_map<vecS, Label, Vertex>
-    { typedef std::vector<Vertex> type; };
-
-    template <typename Label, typename Vertex>
-    struct generate_label_map<mapS, Label, Vertex>
-    { typedef std::map<Label, Vertex> type; };
-
-    template <typename Label, typename Vertex>
-    struct generate_label_map<multimapS, Label, Vertex>
-    { typedef std::multimap<Label, Vertex> type; };
-
-    template <typename Label, typename Vertex>
-    struct generate_label_map<hash_mapS, Label, Vertex>
-    { typedef boost::unordered_map<Label, Vertex> type; };
-
-    template <typename Label, typename Vertex>
-    struct generate_label_map<hash_multimapS, Label, Vertex>
-    { typedef boost::unordered_multimap<Label, Vertex> type; };
-
-    template <typename Selector, typename Label, typename Vertex>
-    struct choose_custom_map {
-        typedef typename generate_label_map<Selector, Label, Vertex>::type type;
-    };
-    //@}
-
-    /**
-     * Choose and instantiate an "associative" container. Note that this can
-     * also choose vector.
-     */
-    template <typename Selector, typename Label, typename Vertex>
-    struct choose_map {
-        typedef typename mpl::eval_if<
-            is_default<Selector>,
-            choose_default_map<Label, Vertex>,
-            choose_custom_map<Selector, Label, Vertex>
-        >::type type;
-    };
-
-    /** @name Insert Labeled Vertex */
-    //@{
-    // Tag dispatch on random access containers (i.e., vectors). This function
-    // basically requires a) that Container is vector<Label> and that Label
-    // is an unsigned integral value. Note that this will resize the vector
-    // to accommodate indices.
-    template <typename Container, typename Graph, typename Label, typename Prop>
-    std::pair<typename graph_traits<Graph>::vertex_descriptor, bool>
-    insert_labeled_vertex(Container& c, Graph& g, Label const& l, Prop const& p,
-                          random_access_container_tag)
-    {
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-        // If the label is out of bounds, resize the vector to accommodate.
-        // Resize by 2x the index so we don't cause quadratic insertions over
-        // time.
-        if(l >= c.size()) {
-            c.resize((l + 1) * 2);
-        }
-        Vertex v = add_vertex(p, g);
-        c[l] = v;
-        return std::make_pair(c[l], true);
-    }
-
-    // Tag dispatch on multi associative containers (i.e. multimaps).
-    template <typename Container, typename Graph, typename Label, typename Prop>
-    std::pair<typename graph_traits<Graph>::vertex_descriptor, bool>
-    insert_labeled_vertex(Container& c, Graph& g, Label const& l, Prop const& p,
-                          multiple_associative_container_tag const&)
-    {
-        // Note that insertion always succeeds so we can add the vertex first
-        // and then the mapping to the label.
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        Vertex v = add_vertex(g);
-        c.insert(std::make_pair(l, v));
-        return std::make_pair(v, true);
-    }
-
-    // Tag dispatch on unique associative containers (i.e. maps).
-    template <typename Container, typename Graph, typename Label, typename Prop>
-    std::pair<typename graph_traits<Graph>::vertex_descriptor, bool>
-    insert_labeled_vertex(Container& c, Graph& g, Label const& l, Prop const& p,
-                          unique_associative_container_tag)
-    {
-        // Here, we actually have to try the insertion first, and only add
-        // the vertex if we get a new element.
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        typedef typename Container::iterator Iterator;
-        std::pair<Iterator, bool> x = c.insert(std::make_pair(l, Vertex()));
-        if(x.second) {
-            x.first->second = add_vertex(g);
-            put(boost::vertex_all, g, x.first->second, p);
-        }
-        return std::make_pair(x.first->second, x.second);
-    }
-
-    // Dispatcher
-    template <typename Container, typename Graph, typename Label, typename Prop>
-    std::pair<typename graph_traits<Graph>::vertex_descriptor, bool>
-    insert_labeled_vertex(Container& c, Graph& g, Label const& l, Prop const& p)
-    { return insert_labeled_vertex(c, g, l, p, container_category(c)); }
-    //@}
-
-    /** @name Find Labeled Vertex */
-    //@{
-    // Tag dispatch for sequential maps (i.e., vectors).
-    template <typename Container, typename Graph, typename Label>
-    typename graph_traits<Graph>::vertex_descriptor
-    find_labeled_vertex(Container const& c, Graph const&, Label const& l,
-                        random_access_container_tag)
-    { return l < c.size() ? c[l] : graph_traits<Graph>::null_vertex(); }
-
-    // Tag dispatch for pair associative maps (more or less).
-    template <typename Container, typename Graph, typename Label>
-    typename graph_traits<Graph>::vertex_descriptor
-    find_labeled_vertex(Container const& c, Graph const&, Label const& l,
-                        associative_container_tag)
-    {
-        typename Container::const_iterator i = c.find(l);
-        return i != c.end() ? i->second : graph_traits<Graph>::null_vertex();
-    }
-
-    // Dispatcher
-    template <typename Container, typename Graph, typename Label>
-    typename graph_traits<Graph>::vertex_descriptor
-    find_labeled_vertex(Container const& c, Graph const& g, Label const& l)
-    { return find_labeled_vertex(c, g, l, container_category(c)); }
-    //@}
-
-    /** @name Put Vertex Label */
-    //@{
-    // Tag dispatch on vectors.
-    template <typename Container, typename Label, typename Graph, typename Vertex>
-    bool put_vertex_label(Container& c, Graph const&, Label const& l, Vertex v,
-                          random_access_container_tag)
-    {
-        // If the element is already occupied, then we probably don't want to
-        // overwrite it.
-        if(c[l] == graph_traits<Graph>::null_vertex()) return false;
-        c[l] = v;
-        return true;
-    }
-
-    // Attempt the insertion and return its result.
-    template <typename Container, typename Label, typename Graph, typename Vertex>
-    bool put_vertex_label(Container& c, Graph const&, Label const& l, Vertex v,
-                          unique_associative_container_tag)
-    { return c.insert(std::make_pair(l, v)).second; }
-
-    // Insert the pair and return true.
-    template <typename Container, typename Label, typename Graph, typename Vertex>
-    bool put_vertex_label(Container& c, Graph const&, Label const& l, Vertex v,
-                          multiple_associative_container_tag)
-    {
-        c.insert(std::make_pair(l, v));
-        return true;
-    }
-
-    // Dispatcher
-    template <typename Container, typename Label, typename Graph, typename Vertex>
-    bool put_vertex_label(Container& c, Graph const& g, Label const& l, Vertex v)
-    { return put_vertex_label(c, g, l, v, container_category(c)); }
-    //@}
-
-} // namespace detail
-
-struct labeled_graph_class_tag { };
-
-/** @internal
- * This class is responsible for the deduction and declaration of type names
- * for the labeled_graph class template.
- */
-template <typename Graph, typename Label, typename Selector>
-struct labeled_graph_types {
-    typedef Graph graph_type;
-
-    // Label and maps
-    typedef Label label_type;
-    typedef typename graph_detail::choose_map<
-        Selector, Label, typename graph_traits<Graph>::vertex_descriptor
-    >::type map_type;
-};
-
-/**
- * The labeled_graph class is a graph adaptor that maintains a mapping between
- * vertex labels and vertex descriptors.
- *
- * @todo This class is somewhat redundant for adjacency_list<*, vecS>  if
- * the intended label is an unsigned int (and perhaps some other cases), but
- * it does avoid some weird ambiguities (i.e. adding a vertex with a label that
- * does not match its target index).
- *
- * @todo This needs to be reconciled with the named_graph, but since there is
- * no documentation or examples, its not going to happen.
- */
-template <typename Graph, typename Label, typename Selector = defaultS>
-class labeled_graph
-    : protected labeled_graph_types<Graph, Label, Selector>
-{
-    typedef labeled_graph_types<Graph, Label, Selector> Base;
-public:
-    typedef labeled_graph_class_tag graph_tag;
-
-    typedef typename Base::graph_type graph_type;
-    typedef typename graph_traits<graph_type>::vertex_descriptor vertex_descriptor;
-    typedef typename graph_traits<graph_type>::edge_descriptor edge_descriptor;
-    typedef typename graph_traits<graph_type>::directed_category directed_category;
-    typedef typename graph_traits<graph_type>::edge_parallel_category edge_parallel_category;
-    typedef typename graph_traits<graph_type>::traversal_category traversal_category;
-
-    typedef typename graph_traits<graph_type>::out_edge_iterator out_edge_iterator;
-    typedef typename graph_traits<graph_type>::in_edge_iterator in_edge_iterator;
-    typedef typename graph_traits<graph_type>::adjacency_iterator adjacency_iterator;
-    typedef typename graph_traits<graph_type>::degree_size_type degree_size_type;
-
-    typedef typename graph_traits<graph_type>::vertex_iterator vertex_iterator;
-    typedef typename graph_traits<graph_type>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<graph_type>::edge_iterator edge_iterator;
-    typedef typename graph_traits<graph_type>::edges_size_type edges_size_type;
-
-    typedef typename graph_type::graph_property_type graph_property_type;
-    typedef typename graph_type::graph_bundled graph_bundled;
-
-    typedef typename graph_type::vertex_property_type vertex_property_type;
-    typedef typename graph_type::vertex_bundled vertex_bundled;
-
-    typedef typename graph_type::edge_property_type edge_property_type;
-    typedef typename graph_type::edge_bundled edge_bundled;
-
-    typedef typename Base::label_type label_type;
-    typedef typename Base::map_type map_type;
-
-public:
-    labeled_graph(graph_property_type const& gp = graph_property_type())
-        : _graph(gp), _map()
-    { }
-
-    labeled_graph(labeled_graph const& x)
-        : _graph(x._graph), _map(x._map)
-    { }
-
-    // This constructor can only be used if map_type supports positional
-    // range insertion (i.e. its a vector). This is the only case where we can
-    // try to guess the intended labels for graph.
-    labeled_graph(vertices_size_type n,
-                  graph_property_type const& gp = graph_property_type())
-        : _graph(n, gp), _map()
-    {
-        std::pair<vertex_iterator, vertex_iterator> rng = vertices(_graph);
-        _map.insert(_map.end(), rng.first, rng.second);
-    }
-
-    // Construct a graph over n vertices, each of which receives a label from
-    // the range [l, l + n). Note that the graph is not directly constructed
-    // over the n vertices, but added sequentially. This constructor is
-    // necessarily slower than the underlying counterpart.
-    template <typename LabelIter>
-    labeled_graph(vertices_size_type n, LabelIter l,
-                  graph_property_type const& gp = graph_property_type())
-        : _graph(gp)
-    { while(n-- >= 0) add_vertex(*l++); }
-
-    // Construct the graph over n vertices each of which has a label in the
-    // range [l, l + n) and a property in the range [p, p + n).
-    template <typename LabelIter, typename PropIter>
-    labeled_graph(vertices_size_type n, LabelIter l, PropIter p,
-                  graph_property_type const& gp = graph_property_type())
-    { while(n-- >= 0) add_vertex(*l++, *p++); }
-
-    labeled_graph& operator=(labeled_graph const& x) {
-        _graph = x._graph;
-        _map = x._map;
-        return *this;
-    }
-
-    /** @name Graph Accessors */
-    //@{
-    graph_type& graph() { return _graph; }
-    graph_type const& graph() const { return _graph; }
-    //@}
-
-    /**
-     * Create a new label for the given vertex, returning false, if the label
-     * cannot be created.
-     */
-    bool label_vertex(vertex_descriptor v, Label const& l)
-    { return graph_detail::put_vertex_label(_map, _graph, l, v); }
-
-    /** @name Add Vertex
-     * Add a vertex to the graph, returning the descriptor. If the vertices
-     * are uniquely labeled and the label already exists within the graph,
-     * then no vertex is added, and the returned descriptor refers to the
-     * existing vertex. A vertex property can be given as a parameter, if
-     * needed.
-     */
-    //@{
-    vertex_descriptor add_vertex(Label const& l) {
-        return graph_detail::insert_labeled_vertex(
-            _map, _graph, l, vertex_property_type()
-            ).first;
-    }
-
-    vertex_descriptor add_vertex(Label const& l, vertex_property_type const& p)
-    { return graph_detail::insert_labeled_vertex(_map, _graph, l, p).first; }
-    //@}
-
-    /** @name Insert Vertex
-     * Insert a vertex into the graph, returning a pair containing the
-     * descriptor of a vertex and a boolean value that describes whether or not
-     * a new vertex was inserted. If vertices are not uniquely labeled, then
-     * insertion will always succeed.
-     */
-    //@{
-    std::pair<vertex_descriptor, bool> insert_vertex(Label const& l) {
-        return graph_detail::insert_labeled_vertex(
-            _map, _graph, l, vertex_property_type()
-        );
-    }
-
-    std::pair<vertex_descriptor, bool>
-    insert_vertex(Label const& l, vertex_property_type const& p)
-    { return graph_detail::insert_labeled_vertex(_map, _graph, l, p); }
-    //@}
-
-    /** Remove the vertex with the given label. */
-    void remove_vertex(Label const& l)
-    { return boost::remove_vertex(vertex(l), _graph); }
-
-    /** Return a descriptor for the given label. */
-    vertex_descriptor vertex(Label const& l) const
-    { return graph_detail::find_labeled_vertex(_map, _graph, l); }
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    /** @name Bundled Properties */
-    //@{
-    // Lookup the requested vertex and return the bundle.
-    vertex_bundled& operator[](Label const& l)
-    { return _graph[vertex(l)]; }
-
-    vertex_bundled const& operator[](Label const& l) const
-    { return _graph[vertex(l)]; }
-
-    // Delegate edge lookup to the underlying graph.
-    edge_bundled& operator[](edge_descriptor e)
-    { return _graph[e]; }
-
-    edge_bundled const& operator[](edge_descriptor e) const
-    { return _graph[e]; }
-    //@}
-#endif
-
-    /** Return a null descriptor */
-    static vertex_descriptor null_vertex()
-    { return graph_traits<graph_type>::null_vertex(); }
-
-private:
-    graph_type _graph;
-    map_type _map;
-};
-
-/**
- * The partial specialization over graph pointers allows the construction
- * of temporary labeled graph objects. In this case, the labels are destructed
- * when the wrapper goes out of scope.
- */
-template <typename Graph, typename Label, typename Selector>
-class labeled_graph<Graph*, Label, Selector>
-    : protected labeled_graph_types<Graph, Label, Selector>
-{
-    typedef labeled_graph_types<Graph, Label, Selector> Base;
-public:
-    typedef labeled_graph_class_tag graph_tag;
-
-    typedef typename Base::graph_type graph_type;
-    typedef typename graph_traits<graph_type>::vertex_descriptor vertex_descriptor;
-    typedef typename graph_traits<graph_type>::edge_descriptor edge_descriptor;
-    typedef typename graph_traits<graph_type>::directed_category directed_category;
-    typedef typename graph_traits<graph_type>::edge_parallel_category edge_parallel_category;
-    typedef typename graph_traits<graph_type>::traversal_category traversal_category;
-
-    typedef typename graph_traits<graph_type>::out_edge_iterator out_edge_iterator;
-    typedef typename graph_traits<graph_type>::in_edge_iterator in_edge_iterator;
-    typedef typename graph_traits<graph_type>::adjacency_iterator adjacency_iterator;
-    typedef typename graph_traits<graph_type>::degree_size_type degree_size_type;
-
-    typedef typename graph_traits<graph_type>::vertex_iterator vertex_iterator;
-    typedef typename graph_traits<graph_type>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<graph_type>::edge_iterator edge_iterator;
-    typedef typename graph_traits<graph_type>::edges_size_type edges_size_type;
-
-    typedef typename graph_type::vertex_property_type vertex_property_type;
-    typedef typename graph_type::edge_property_type edge_property_type;
-    typedef typename graph_type::graph_property_type graph_property_type;
-    typedef typename graph_type::vertex_bundled vertex_bundled;
-    typedef typename graph_type::edge_bundled edge_bundled;
-
-    typedef typename Base::label_type label_type;
-    typedef typename Base::map_type map_type;
-
-    labeled_graph(graph_type* g)
-        : _graph(g)
-    { }
-
-    /** @name Graph Access */
-    //@{
-    graph_type& graph() { return *_graph; }
-    graph_type const& graph() const { return *_graph; }
-    //@}
-
-    /**
-     * Create a new label for the given vertex, returning false, if the label
-     * cannot be created.
-     */
-    bool label_vertex(vertex_descriptor v, Label const& l)
-    { return graph_detail::put_vertex_label(_map, *_graph, l, v); }
-
-    /** @name Add Vertex */
-    //@{
-    vertex_descriptor add_vertex(Label const& l) {
-        return graph_detail::insert_labeled_vertex(
-            _map, *_graph, l, vertex_property_type()
-            ).first;
-    }
-
-    vertex_descriptor add_vertex(Label const& l, vertex_property_type const& p)
-    { return graph_detail::insert_labeled_vertex(_map, *_graph, l, p).first; }
-
-    std::pair<vertex_descriptor, bool> insert_vertex(Label const& l) {
-        return graph_detail::insert_labeled_vertex(
-            _map, *_graph, l, vertex_property_type()
-        );
-    }
-    //@}
-
-    /** Try to insert a vertex with the given label. */
-    std::pair<vertex_descriptor, bool>
-    insert_vertex(Label const& l, vertex_property_type const& p)
-    { return graph_detail::insert_labeled_vertex(_map, *_graph, l, p); }
-
-    /** Remove the vertex with the given label. */
-    void remove_vertex(Label const& l)
-    { return boost::remove_vertex(vertex(l), *_graph); }
-
-    /** Return a descriptor for the given label. */
-    vertex_descriptor vertex(Label const& l) const
-    { return graph_detail::find_labeled_vertex(_map, *_graph, l); }
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    /** @name Bundled Properties */
-    //@{
-    // Lookup the requested vertex and return the bundle.
-    vertex_bundled& operator[](Label const& l)
-    { return (*_graph)[vertex(l)]; }
-
-    vertex_bundled const& operator[](Label const& l) const
-    { return (*_graph)[vertex(l)]; }
-
-    // Delegate edge lookup to the underlying graph.
-    edge_bundled& operator[](edge_descriptor e)
-    { return (*_graph)[e]; }
-
-    edge_bundled const& operator[](edge_descriptor e) const
-    { return (*_graph)[e]; }
-    //@}
-#endif
-
-    static vertex_descriptor null_vertex()
-    { return graph_traits<graph_type>::null_vertex(); }
-
-private:
-    graph_type* _graph;
-    map_type _map;
-};
-
-#define LABELED_GRAPH_PARAMS typename G, typename L, typename S
-#define LABELED_GRAPH labeled_graph<G,L,S>
-
-/** @name Labeled Graph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline bool label_vertex(typename LABELED_GRAPH::vertex_descriptor v,
-                         typename LABELED_GRAPH::label_type const l,
-                         LABELED_GRAPH& g)
-{ return g.label_vertex(v, l); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::vertex_descriptor
-vertex_by_label(typename LABELED_GRAPH::label_type const l,
-                LABELED_GRAPH& g)
-{ return g.vertex(l); }
-//@}
-
-/** @name Graph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<typename LABELED_GRAPH::edge_descriptor, bool>
-edge(typename LABELED_GRAPH::vertex_descriptor const& u,
-     typename LABELED_GRAPH::vertex_descriptor const& v,
-     LABELED_GRAPH const& g)
-{ return edge(u, v, g.graph()); }
-
-// Labeled Extensions
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<typename LABELED_GRAPH::edge_descriptor, bool>
-edge_by_label(typename LABELED_GRAPH::label_type const& u,
-              typename LABELED_GRAPH::label_type const& v,
-              LABELED_GRAPH const& g)
-{ return edge(g.vertex(u), g.vertex(v), g); }
-//@}
-
-/** @name Incidence Graph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<
-    typename LABELED_GRAPH::out_edge_iterator,
-    typename LABELED_GRAPH::out_edge_iterator>
-out_edges(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH const& g)
-{ return out_edges(v, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::degree_size_type
-out_degree(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH const& g)
-{ return out_degree(v, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::vertex_descriptor
-source(typename LABELED_GRAPH::edge_descriptor e, LABELED_GRAPH const& g)
-{ return source(e, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::vertex_descriptor
-target(typename LABELED_GRAPH::edge_descriptor e, LABELED_GRAPH const& g)
-{ return target(e, g.graph()); }
-//@}
-
-/** @name Bidirectional Graph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<
-    typename LABELED_GRAPH::in_edge_iterator,
-    typename LABELED_GRAPH::in_edge_iterator>
-in_edges(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH const& g)
-{ return in_edges(v, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::degree_size_type
-in_degree(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH const& g)
-{ return in_degree(v, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::degree_size_type
-degree(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH const& g)
-{ return degree(v, g.graph()); }
-//@}
-
-/** @name Adjacency Graph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<
-    typename LABELED_GRAPH::adjacency_iterator,
-    typename LABELED_GRAPH::adjacency_iterator>
-adjacenct_vertices(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH const& g)
-{ return adjacent_vertices(v, g.graph()); }
-//@}
-
-/** @name VertexListGraph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<
-    typename LABELED_GRAPH::vertex_iterator,
-    typename LABELED_GRAPH::vertex_iterator>
-vertices(LABELED_GRAPH const& g)
-{ return vertices(g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::vertices_size_type
-num_vertices(LABELED_GRAPH const& g)
-{ return num_vertices(g.graph()); }
-//@}
-
-/** @name EdgeListGraph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<
-    typename LABELED_GRAPH::edge_iterator,
-    typename LABELED_GRAPH::edge_iterator>
-edges(LABELED_GRAPH const& g)
-{ return edges(g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::edges_size_type
-num_edges(LABELED_GRAPH const& g)
-{ return num_edges(g.graph()); }
-//@}
-
-/** @internal @name Property Lookup */
-//@{
-namespace graph_detail {
-    struct labeled_graph_vertex_property_selector {
-        template <class LabeledGraph, class Property, class Tag>
-        struct bind_ {
-            typedef typename LabeledGraph::graph_type Graph;
-            typedef property_map<Graph, Tag> PropertyMap;
-            typedef typename PropertyMap::type type;
-            typedef typename PropertyMap::const_type const_type;
-        };
-    };
-
-    struct labeled_graph_edge_property_selector {
-        template <class LabeledGraph, class Property, class Tag>
-        struct bind_ {
-            typedef typename LabeledGraph::graph_type Graph;
-            typedef property_map<Graph, Tag> PropertyMap;
-            typedef typename PropertyMap::type type;
-            typedef typename PropertyMap::const_type const_type;
-        };
-    };
-}
-
-template <>
-struct vertex_property_selector<labeled_graph_class_tag> {
-    typedef graph_detail::labeled_graph_vertex_property_selector type;
-};
-
-template <>
-struct edge_property_selector<labeled_graph_class_tag> {
-    typedef graph_detail::labeled_graph_edge_property_selector type;
-};
-//@}
-
-/** @name Property Graph */
-//@{
-template <LABELED_GRAPH_PARAMS, typename Prop>
-inline typename property_map<LABELED_GRAPH, Prop>::type
-get(Prop p, LABELED_GRAPH& g)
-{ return get(p, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS, typename Prop>
-inline typename property_map<LABELED_GRAPH, Prop>::const_type
-get(Prop p, LABELED_GRAPH const& g)
-{ return get(p, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS, typename Prop, typename Key>
-inline typename property_traits<
-    typename property_map<typename LABELED_GRAPH::graph_type, Prop>::const_type
->::value_type
-get(Prop p, LABELED_GRAPH const& g, const Key& k)
-{ return get(p, g.graph(), k); }
-
-template <LABELED_GRAPH_PARAMS, typename Prop, typename Key, typename Value>
-inline void
-put(Prop p, LABELED_GRAPH& g, Key const& k, Value const& v)
-{ put(p, g.graph(), k, v); }
-//@}
-
-/** @name Mutable Graph */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<typename LABELED_GRAPH::edge_descriptor, bool>
-add_edge(typename LABELED_GRAPH::vertex_descriptor const& u,
-         typename LABELED_GRAPH::vertex_descriptor const& v,
-         LABELED_GRAPH& g)
-{ return add_edge(u, v, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<typename LABELED_GRAPH::edge_descriptor, bool>
-add_edge(typename LABELED_GRAPH::vertex_descriptor const& u,
-         typename LABELED_GRAPH::vertex_descriptor const& v,
-         typename LABELED_GRAPH::edge_property_type const& p,
-         LABELED_GRAPH& g)
-{ return add_edge(u, v, p, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline void
-clear_vertex(typename LABELED_GRAPH::vertex_descriptor v, LABELED_GRAPH& g)
-{ return clear_vertex(v, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline void
-remove_edge(typename LABELED_GRAPH::edge_descriptor e, LABELED_GRAPH& g)
-{ return remove_edge(e, g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline void
-remove_edge(typename LABELED_GRAPH::vertex_descriptor u,
-            typename LABELED_GRAPH::vertex_descriptor v,
-            LABELED_GRAPH& g)
-{ return remove_edge(u, v, g.graph()); }
-
-// Labeled extensions
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<typename LABELED_GRAPH::edge_descriptor, bool>
-add_edge_by_label(typename LABELED_GRAPH::label_type const& u,
-                  typename LABELED_GRAPH::label_type const& v,
-                  LABELED_GRAPH& g)
-{ return add_edge(g.vertex(u), g.vertex(v), g); }
-
-template <LABELED_GRAPH_PARAMS>
-inline std::pair<typename LABELED_GRAPH::edge_descriptor, bool>
-add_edge_by_label(typename LABELED_GRAPH::label_type const& u,
-                  typename LABELED_GRAPH::label_type const& v,
-                  typename LABELED_GRAPH::edge_property_type const& p,
-                  LABELED_GRAPH& g)
-{ return add_edge(g.vertex(u), g.vertex(v), p, g); }
-
-template <LABELED_GRAPH_PARAMS>
-inline void
-clear_vertex_by_label(typename LABELED_GRAPH::label_type const& l, LABELED_GRAPH& g)
-{ clear_vertex(g.vertex(l), g.graph()); }
-
-template <LABELED_GRAPH_PARAMS>
-inline void
-remove_edge_by_label(typename LABELED_GRAPH::label_type const& u,
-                     typename LABELED_GRAPH::label_type const& v,
-                     LABELED_GRAPH& g)
-{ remove_edge(g.vertex(u), g.vertex(v), g.graph()); }
-//@}
-
-/** @name Labeled Mutable Graph
- * The labeled mutable graph hides the add_ and remove_ vertex functions from
- * the mutable graph concept. Note that the remove_vertex is hidden because
- * removing the vertex without its key could leave a dangling reference in
- * the map.
- */
-//@{
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::vertex_descriptor
-add_vertex(typename LABELED_GRAPH::label_type const& l,
-           LABELED_GRAPH& g)
-{ return g.add_vertex(l); }
-
-// MutableLabeledPropertyGraph::add_vertex(l, vp, g)
-template <LABELED_GRAPH_PARAMS>
-inline typename LABELED_GRAPH::vertex_descriptor
-add_vertex(typename LABELED_GRAPH::label_type const& l,
-           typename LABELED_GRAPH::vertex_property_type const& p,
-           LABELED_GRAPH& g)
-{ return g.add_vertex(l, p); }
-
-template <LABELED_GRAPH_PARAMS>
-inline void
-remove_vertex(typename LABELED_GRAPH::label_type const& l, LABELED_GRAPH& g)
-{ g.remove_vertex(l); }
-//@}
-
-#undef LABELED_GRAPH_PARAMS
-#undef LABELED_GRAPH
-
-} // namespace boost
-
-// Pull the labeled graph traits
-#include <boost/graph/detail/labeled_graph_traits.hpp>
-
-#endif // BOOST_GRAPH_LABELED_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/leda_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/leda_graph.hpp
deleted file mode 100644
index a6ab515..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/leda_graph.hpp
+++ /dev/null
@@ -1,950 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2004 The Trustees of Indiana University.
-// Copyright 2007 University of Karlsruhe
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, Douglas Gregor,
-//          Jens Mueller
-//
-// Distributed under the 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_GRAPH_LEDA_HPP
-#define BOOST_GRAPH_LEDA_HPP
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-
-#include <LEDA/graph/graph.h>
-#include <LEDA/graph/node_array.h>
-#include <LEDA/graph/node_map.h>
-
-// The functions and classes in this file allows the user to
-// treat a LEDA GRAPH object as a boost graph "as is". No
-// wrapper is needed for the GRAPH object.
-
-// Warning: this implementation relies on partial specialization
-// for the graph_traits class (so it won't compile with Visual C++)
-
-// Warning: this implementation is in alpha and has not been tested
-
-namespace boost {
-
-  struct leda_graph_traversal_category : 
-    public virtual bidirectional_graph_tag,
-    public virtual adjacency_graph_tag,
-    public virtual vertex_list_graph_tag { };
-
-  template <class vtype, class etype>
-  struct graph_traits< leda::GRAPH<vtype,etype> > {
-    typedef leda::node vertex_descriptor;
-    typedef leda::edge edge_descriptor;
-
-    class adjacency_iterator 
-      : public iterator_facade<adjacency_iterator,
-                               leda::node,
-                               bidirectional_traversal_tag,
-                               leda::node,
-                               const leda::node*>
-    {
-    public:
-      adjacency_iterator(leda::node node = 0, 
-                      const leda::GRAPH<vtype, etype>* g = 0)
-        : base(node), g(g) {}
-    private:
-      leda::node dereference() const { return leda::target(base); }
-
-      bool equal(const adjacency_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->adj_succ(base); }
-      void decrement() { base = g->adj_pred(base); }
-
-      leda::edge base;
-      const leda::GRAPH<vtype, etype>* g;
-
-      friend class iterator_core_access;
-    };
-
-    class out_edge_iterator 
-      : public iterator_facade<out_edge_iterator,
-                               leda::edge,
-                               bidirectional_traversal_tag,
-                               const leda::edge&,
-                               const leda::edge*>
-    {
-    public:
-      out_edge_iterator(leda::node node = 0, 
-                      const leda::GRAPH<vtype, etype>* g = 0)
-        : base(node), g(g) {}
-
-    private:
-      const leda::edge& dereference() const { return base; }
-
-      bool equal(const out_edge_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->adj_succ(base); }
-      void decrement() { base = g->adj_pred(base); }
-
-      leda::edge base;
-      const leda::GRAPH<vtype, etype>* g;
-
-      friend class iterator_core_access;
-    };
-
-    class in_edge_iterator 
-      : public iterator_facade<in_edge_iterator,
-                               leda::edge,
-                               bidirectional_traversal_tag,
-                               const leda::edge&,
-                               const leda::edge*>
-    {
-    public:
-      in_edge_iterator(leda::node node = 0, 
-                      const leda::GRAPH<vtype, etype>* g = 0)
-        : base(node), g(g) {}
-
-    private:
-      const leda::edge& dereference() const { return base; }
-
-      bool equal(const in_edge_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->in_succ(base); }
-      void decrement() { base = g->in_pred(base); }
-
-      leda::edge base;
-      const leda::GRAPH<vtype, etype>* g;
-
-      friend class iterator_core_access;
-    };
-
-    class vertex_iterator 
-      : public iterator_facade<vertex_iterator,
-                               leda::node,
-                               bidirectional_traversal_tag,
-                               const leda::node&,
-                               const leda::node*>
-    {
-    public:
-      vertex_iterator(leda::node node = 0, 
-                      const leda::GRAPH<vtype, etype>* g = 0)
-        : base(node), g(g) {}
-
-    private:
-      const leda::node& dereference() const { return base; }
-
-      bool equal(const vertex_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->succ_node(base); }
-      void decrement() { base = g->pred_node(base); }
-
-      leda::node base;
-      const leda::GRAPH<vtype, etype>* g;
-
-      friend class iterator_core_access;
-    };
-
-    class edge_iterator 
-      : public iterator_facade<edge_iterator,
-                               leda::edge,
-                               bidirectional_traversal_tag,
-                               const leda::edge&,
-                               const leda::edge*>
-    {
-    public:
-      edge_iterator(leda::edge edge = 0, 
-                      const leda::GRAPH<vtype, etype>* g = 0)
-        : base(edge), g(g) {}
-
-    private:
-      const leda::edge& dereference() const { return base; }
-
-      bool equal(const edge_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->succ_edge(base); }
-      void decrement() { base = g->pred_edge(base); }
-
-      leda::node base;
-      const leda::GRAPH<vtype, etype>* g;
-
-      friend class iterator_core_access;
-    };
-
-    typedef directed_tag directed_category;
-    typedef allow_parallel_edge_tag edge_parallel_category; // not sure here
-    typedef leda_graph_traversal_category traversal_category;
-    typedef int vertices_size_type;
-    typedef int edges_size_type;
-    typedef int degree_size_type;
-  };
-
-
-
-  template<>
-  struct graph_traits<leda::graph> {
-    typedef leda::node vertex_descriptor;
-    typedef leda::edge edge_descriptor;
-
-    class adjacency_iterator 
-      : public iterator_facade<adjacency_iterator,
-                               leda::node,
-                               bidirectional_traversal_tag,
-                               leda::node,
-                               const leda::node*>
-    {
-    public:
-      adjacency_iterator(leda::edge edge = 0, 
-                      const leda::graph* g = 0)
-        : base(edge), g(g) {}
-
-    private:
-      leda::node dereference() const { return leda::target(base); }
-
-      bool equal(const adjacency_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->adj_succ(base); }
-      void decrement() { base = g->adj_pred(base); }
-
-      leda::edge base;
-      const leda::graph* g;
-
-      friend class iterator_core_access;
-    };
-
-    class out_edge_iterator 
-      : public iterator_facade<out_edge_iterator,
-                               leda::edge,
-                               bidirectional_traversal_tag,
-                               const leda::edge&,
-                               const leda::edge*>
-    {
-    public:
-      out_edge_iterator(leda::edge edge = 0, 
-                      const leda::graph* g = 0)
-        : base(edge), g(g) {}
-
-    private:
-      const leda::edge& dereference() const { return base; }
-
-      bool equal(const out_edge_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->adj_succ(base); }
-      void decrement() { base = g->adj_pred(base); }
-
-      leda::edge base;
-      const leda::graph* g;
-
-      friend class iterator_core_access;
-    };
-
-    class in_edge_iterator 
-      : public iterator_facade<in_edge_iterator,
-                               leda::edge,
-                               bidirectional_traversal_tag,
-                               const leda::edge&,
-                               const leda::edge*>
-    {
-    public:
-      in_edge_iterator(leda::edge edge = 0, 
-                      const leda::graph* g = 0)
-        : base(edge), g(g) {}
-
-    private:
-      const leda::edge& dereference() const { return base; }
-
-      bool equal(const in_edge_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->in_succ(base); }
-      void decrement() { base = g->in_pred(base); }
-
-      leda::edge base;
-      const leda::graph* g;
-
-      friend class iterator_core_access;
-    };
-
-    class vertex_iterator 
-      : public iterator_facade<vertex_iterator,
-                               leda::node,
-                               bidirectional_traversal_tag,
-                               const leda::node&,
-                               const leda::node*>
-    {
-    public:
-      vertex_iterator(leda::node node = 0, 
-                      const leda::graph* g = 0)
-        : base(node), g(g) {}
-
-    private:
-      const leda::node& dereference() const { return base; }
-
-      bool equal(const vertex_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->succ_node(base); }
-      void decrement() { base = g->pred_node(base); }
-
-      leda::node base;
-      const leda::graph* g;
-
-      friend class iterator_core_access;
-    };
-
-    class edge_iterator 
-      : public iterator_facade<edge_iterator,
-                               leda::edge,
-                               bidirectional_traversal_tag,
-                               const leda::edge&,
-                               const leda::edge*>
-    {
-    public:
-      edge_iterator(leda::edge edge = 0, 
-                      const leda::graph* g = 0)
-        : base(edge), g(g) {}
-
-    private:
-      const leda::edge& dereference() const { return base; }
-
-      bool equal(const edge_iterator& other) const
-      { return base == other.base; }
-
-      void increment() { base = g->succ_edge(base); }
-      void decrement() { base = g->pred_edge(base); }
-
-      leda::edge base;
-      const leda::graph* g;
-
-      friend class iterator_core_access;
-    };
-
-    typedef directed_tag directed_category;
-    typedef allow_parallel_edge_tag edge_parallel_category; // not sure here
-    typedef leda_graph_traversal_category traversal_category;
-    typedef int vertices_size_type;
-    typedef int edges_size_type;
-    typedef int degree_size_type;
-  };
-
-} // namespace boost
-
-namespace boost {
-
-  //===========================================================================
-  // functions for GRAPH<vtype,etype>
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor
-  source(typename graph_traits< leda::GRAPH<vtype,etype> >::edge_descriptor e,
-         const leda::GRAPH<vtype,etype>& g)
-  {
-    return source(e);
-  }
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor
-  target(typename graph_traits< leda::GRAPH<vtype,etype> >::edge_descriptor e,
-         const leda::GRAPH<vtype,etype>& g)
-  {
-    return target(e);
-  }
-
-  template <class vtype, class etype>
-  inline std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_iterator,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_iterator >  
-  vertices(const leda::GRAPH<vtype,etype>& g)
-  {
-    typedef typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_iterator
-      Iter;
-    return std::make_pair( Iter(g.first_node(),&g), Iter(0,&g) );
-  }
-
-  template <class vtype, class etype>
-  inline std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::edge_iterator,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::edge_iterator >  
-  edges(const leda::GRAPH<vtype,etype>& g)
-  {
-    typedef typename graph_traits< leda::GRAPH<vtype,etype> >::edge_iterator
-      Iter;
-    return std::make_pair( Iter(g.first_edge(),&g), Iter(0,&g) );
-  }
-
-  template <class vtype, class etype>
-  inline std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::out_edge_iterator,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::out_edge_iterator >  
-  out_edges(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u, 
-    const leda::GRAPH<vtype,etype>& g)
-  {
-    typedef typename graph_traits< leda::GRAPH<vtype,etype> >
-      ::out_edge_iterator Iter;
-    return std::make_pair( Iter(g.first_adj_edge(u,0),&g), Iter(0,&g) );
-  }
-
-  template <class vtype, class etype>
-  inline std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::in_edge_iterator,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::in_edge_iterator >  
-  in_edges(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u, 
-    const leda::GRAPH<vtype,etype>& g)
-  {
-    typedef typename graph_traits< leda::GRAPH<vtype,etype> >
-      ::in_edge_iterator Iter;
-    return std::make_pair( Iter(g.first_adj_edge(u,1),&g), Iter(0,&g) );
-  }
-
-  template <class vtype, class etype>
-  inline std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::adjacency_iterator,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::adjacency_iterator >  
-  adjacent_vertices(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u, 
-    const leda::GRAPH<vtype,etype>& g)
-  {
-    typedef typename graph_traits< leda::GRAPH<vtype,etype> >
-      ::adjacency_iterator Iter;
-    return std::make_pair( Iter(g.first_adj_edge(u,0),&g), Iter(0,&g) );
-  }
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::vertices_size_type
-  num_vertices(const leda::GRAPH<vtype,etype>& g)
-  {
-    return g.number_of_nodes();
-  }  
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::edges_size_type
-  num_edges(const leda::GRAPH<vtype,etype>& g)
-  {
-    return g.number_of_edges();
-  }  
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::degree_size_type
-  out_degree(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u, 
-    const leda::GRAPH<vtype,etype>& g)
-  {
-    return g.outdeg(u);
-  }
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::degree_size_type
-  in_degree(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u, 
-    const leda::GRAPH<vtype,etype>& g)
-  {
-    return g.indeg(u);
-  }
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::degree_size_type
-  degree(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u, 
-    const leda::GRAPH<vtype,etype>& g)
-  {
-    return g.outdeg(u) + g.indeg(u);
-  }
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor
-  add_vertex(leda::GRAPH<vtype,etype>& g)
-  {
-    return g.new_node();
-  }
-
-  template <class vtype, class etype>
-  typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor
-  add_vertex(const vtype& vp, leda::GRAPH<vtype,etype>& g)
-  {
-    return g.new_node(vp);
-  }
-
-  template <class vtype, class etype>
-  void clear_vertex(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u,
-    leda::GRAPH<vtype,etype>& g)
-  {
-    typename graph_traits< leda::GRAPH<vtype,etype> >::out_edge_iterator ei, ei_end;
-    for (boost::tie(ei, ei_end)=out_edges(u,g); ei!=ei_end; ei++)
-      remove_edge(*ei);
-
-    typename graph_traits< leda::GRAPH<vtype,etype> >::in_edge_iterator iei, iei_end;
-    for (boost::tie(iei, iei_end)=in_edges(u,g); iei!=iei_end; iei++)
-      remove_edge(*iei);
-  }
-
-  template <class vtype, class etype>
-  void remove_vertex(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u,
-    leda::GRAPH<vtype,etype>& g)
-  {
-    g.del_node(u);
-  }
-
-  template <class vtype, class etype>
-  std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::edge_descriptor,
-    bool>
-  add_edge(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor v,
-    leda::GRAPH<vtype,etype>& g)
-  {
-    return std::make_pair(g.new_edge(u, v), true);
-  }
-
-  template <class vtype, class etype>
-  std::pair<
-    typename graph_traits< leda::GRAPH<vtype,etype> >::edge_descriptor,
-    bool>
-  add_edge(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor v,
-    const etype& et, 
-    leda::GRAPH<vtype,etype>& g)
-  {
-    return std::make_pair(g.new_edge(u, v, et), true);
-  }
-
-  template <class vtype, class etype>
-  void
-  remove_edge(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor u,
-    typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_descriptor v,
-    leda::GRAPH<vtype,etype>& g)
-  {
-    typename graph_traits< leda::GRAPH<vtype,etype> >::out_edge_iterator 
-      i,iend;
-    for (boost::tie(i,iend) = out_edges(u,g); i != iend; ++i)
-      if (target(*i,g) == v)
-        g.del_edge(*i);
-  }
-
-  template <class vtype, class etype>
-  void
-  remove_edge(
-    typename graph_traits< leda::GRAPH<vtype,etype> >::edge_descriptor e,
-    leda::GRAPH<vtype,etype>& g)
-  {
-    g.del_edge(e);
-  }
-
-  //===========================================================================
-  // functions for graph (non-templated version)
-
-  graph_traits<leda::graph>::vertex_descriptor
-  source(graph_traits<leda::graph>::edge_descriptor e,
-         const leda::graph& g)
-  {
-    return source(e);
-  }
-
-  graph_traits<leda::graph>::vertex_descriptor
-  target(graph_traits<leda::graph>::edge_descriptor e,
-         const leda::graph& g)
-  {
-    return target(e);
-  }
-
-  inline std::pair<
-    graph_traits<leda::graph>::vertex_iterator,
-    graph_traits<leda::graph>::vertex_iterator >  
-  vertices(const leda::graph& g)
-  {
-    typedef graph_traits<leda::graph>::vertex_iterator
-      Iter;
-    return std::make_pair( Iter(g.first_node(),&g), Iter(0,&g) );
-  }
-
-  inline std::pair<
-    graph_traits<leda::graph>::edge_iterator,
-    graph_traits<leda::graph>::edge_iterator >  
-  edges(const leda::graph& g)
-  {
-    typedef graph_traits<leda::graph>::edge_iterator
-      Iter;
-    return std::make_pair( Iter(g.first_edge(),&g), Iter(0,&g) );
-  }
-
-  inline std::pair<
-    graph_traits<leda::graph>::out_edge_iterator,
-    graph_traits<leda::graph>::out_edge_iterator >
-  out_edges(
-    graph_traits<leda::graph>::vertex_descriptor u, const leda::graph& g)
-  {
-    typedef graph_traits<leda::graph>::out_edge_iterator Iter;
-    return std::make_pair( Iter(g.first_adj_edge(u),&g), Iter(0,&g) );
-  }
-
-  inline std::pair<
-    graph_traits<leda::graph>::in_edge_iterator,
-    graph_traits<leda::graph>::in_edge_iterator >
-  in_edges(
-    graph_traits<leda::graph>::vertex_descriptor u, 
-    const leda::graph& g)
-  {
-    typedef graph_traits<leda::graph>
-      ::in_edge_iterator Iter;
-    return std::make_pair( Iter(g.first_in_edge(u),&g), Iter(0,&g) );
-  }
-
-  inline std::pair<
-    graph_traits<leda::graph>::adjacency_iterator,
-    graph_traits<leda::graph>::adjacency_iterator >  
-  adjacent_vertices(
-    graph_traits<leda::graph>::vertex_descriptor u, 
-    const leda::graph& g)
-  {
-    typedef graph_traits<leda::graph>
-      ::adjacency_iterator Iter;
-    return std::make_pair( Iter(g.first_adj_edge(u),&g), Iter(0,&g) );
-  }
-
-  graph_traits<leda::graph>::vertices_size_type
-  num_vertices(const leda::graph& g)
-  {
-    return g.number_of_nodes();
-  }  
-
-  graph_traits<leda::graph>::edges_size_type
-  num_edges(const leda::graph& g)
-  {
-    return g.number_of_edges();
-  }  
-
-  graph_traits<leda::graph>::degree_size_type
-  out_degree(
-    graph_traits<leda::graph>::vertex_descriptor u, 
-    const leda::graph& g)
-  {
-    return g.outdeg(u);
-  }
-
-  graph_traits<leda::graph>::degree_size_type
-  in_degree(
-    graph_traits<leda::graph>::vertex_descriptor u, 
-    const leda::graph& g)
-  {
-    return g.indeg(u);
-  }
-
-  graph_traits<leda::graph>::degree_size_type
-  degree(
-    graph_traits<leda::graph>::vertex_descriptor u, 
-    const leda::graph& g)
-  {
-    return g.outdeg(u) + g.indeg(u);
-  }
-
-  graph_traits<leda::graph>::vertex_descriptor
-  add_vertex(leda::graph& g)
-  {
-    return g.new_node();
-  }
-
-  void
-  remove_edge(
-    graph_traits<leda::graph>::vertex_descriptor u,
-    graph_traits<leda::graph>::vertex_descriptor v,
-    leda::graph& g)
-  {
-    graph_traits<leda::graph>::out_edge_iterator 
-      i,iend;
-    for (boost::tie(i,iend) = out_edges(u,g); i != iend; ++i)
-      if (target(*i,g) == v)
-        g.del_edge(*i);
-  }
-
-  void
-  remove_edge(
-    graph_traits<leda::graph>::edge_descriptor e,
-    leda::graph& g)
-  {
-    g.del_edge(e);
-  }
-
-  void clear_vertex(
-    graph_traits<leda::graph>::vertex_descriptor u,
-    leda::graph& g)
-  {
-    graph_traits<leda::graph>::out_edge_iterator ei, ei_end;
-    for (boost::tie(ei, ei_end)=out_edges(u,g); ei!=ei_end; ei++)
-      remove_edge(*ei, g);
-
-    graph_traits<leda::graph>::in_edge_iterator iei, iei_end;
-    for (boost::tie(iei, iei_end)=in_edges(u,g); iei!=iei_end; iei++)
-      remove_edge(*iei, g);
-  }
-
-  void remove_vertex(
-    graph_traits<leda::graph>::vertex_descriptor u,
-    leda::graph& g)
-  {
-    g.del_node(u);
-  }
-
-  std::pair<
-    graph_traits<leda::graph>::edge_descriptor,
-    bool>
-  add_edge(
-    graph_traits<leda::graph>::vertex_descriptor u,
-    graph_traits<leda::graph>::vertex_descriptor v,
-    leda::graph& g)
-  {
-    return std::make_pair(g.new_edge(u, v), true);
-  }
-
-
-  //===========================================================================
-  // property maps for GRAPH<vtype,etype>
-
-  class leda_graph_id_map
-    : public put_get_helper<int, leda_graph_id_map>
-  {
-  public:
-    typedef readable_property_map_tag category;
-    typedef int value_type;
-    typedef int reference;
-    typedef leda::node key_type;
-    leda_graph_id_map() { }
-    template <class T>
-    long operator[](T x) const { return x->id(); }
-  };
-  template <class vtype, class etype>
-  inline leda_graph_id_map
-  get(vertex_index_t, const leda::GRAPH<vtype, etype>& g) {
-    return leda_graph_id_map();
-  }
-  template <class vtype, class etype>
-  inline leda_graph_id_map
-  get(edge_index_t, const leda::GRAPH<vtype, etype>& g) {
-    return leda_graph_id_map();
-  }
-
-  template <class Tag>
-  struct leda_property_map { };
-
-  template <>
-  struct leda_property_map<vertex_index_t> {
-    template <class vtype, class etype>
-    struct bind_ {
-      typedef leda_graph_id_map type;
-      typedef leda_graph_id_map const_type;
-    };
-  };
-  template <>
-  struct leda_property_map<edge_index_t> {
-    template <class vtype, class etype>
-    struct bind_ {
-      typedef leda_graph_id_map type;
-      typedef leda_graph_id_map const_type;
-    };
-  };
-
-
-  template <class Data, class DataRef, class GraphPtr>
-  class leda_graph_data_map
-    : public put_get_helper<DataRef, 
-                            leda_graph_data_map<Data,DataRef,GraphPtr> >
-  {
-  public:
-    typedef Data value_type;
-    typedef DataRef reference;
-    typedef void key_type;
-    typedef lvalue_property_map_tag category;
-    leda_graph_data_map(GraphPtr g) : m_g(g) { }
-    template <class NodeOrEdge>
-    DataRef operator[](NodeOrEdge x) const { return (*m_g)[x]; }
-  protected:
-    GraphPtr m_g;
-  };
-
-  template <>
-  struct leda_property_map<vertex_all_t> {
-    template <class vtype, class etype>
-    struct bind_ {
-      typedef leda_graph_data_map<vtype, vtype&, leda::GRAPH<vtype, etype>*> type;
-      typedef leda_graph_data_map<vtype, const vtype&, 
-        const leda::GRAPH<vtype, etype>*> const_type;
-    };
-  };  
-  template <class vtype, class etype >
-  inline typename property_map< leda::GRAPH<vtype, etype>, vertex_all_t>::type
-  get(vertex_all_t, leda::GRAPH<vtype, etype>& g) {
-    typedef typename property_map< leda::GRAPH<vtype, etype>, vertex_all_t>::type 
-      pmap_type;
-    return pmap_type(&g);
-  }
-  template <class vtype, class etype >
-  inline typename property_map< leda::GRAPH<vtype, etype>, vertex_all_t>::const_type
-  get(vertex_all_t, const leda::GRAPH<vtype, etype>& g) {
-    typedef typename property_map< leda::GRAPH<vtype, etype>, 
-      vertex_all_t>::const_type pmap_type;
-    return pmap_type(&g);
-  }
-
-  template <>
-  struct leda_property_map<edge_all_t> {
-    template <class vtype, class etype>
-    struct bind_ {
-      typedef leda_graph_data_map<etype, etype&, leda::GRAPH<vtype, etype>*> type;
-      typedef leda_graph_data_map<etype, const etype&, 
-        const leda::GRAPH<vtype, etype>*> const_type;
-    };
-  };
-  template <class vtype, class etype >
-  inline typename property_map< leda::GRAPH<vtype, etype>, edge_all_t>::type
-  get(edge_all_t, leda::GRAPH<vtype, etype>& g) {
-    typedef typename property_map< leda::GRAPH<vtype, etype>, edge_all_t>::type 
-      pmap_type;
-    return pmap_type(&g);
-  }
-  template <class vtype, class etype >
-  inline typename property_map< leda::GRAPH<vtype, etype>, edge_all_t>::const_type
-  get(edge_all_t, const leda::GRAPH<vtype, etype>& g) {
-    typedef typename property_map< leda::GRAPH<vtype, etype>, 
-      edge_all_t>::const_type pmap_type;
-    return pmap_type(&g);
-  }
-
-  // property map interface to the LEDA node_array class
-
-  template <class E, class ERef, class NodeMapPtr>
-  class leda_node_property_map
-    : public put_get_helper<ERef, leda_node_property_map<E, ERef, NodeMapPtr> >
-  {
-  public:
-    typedef E value_type;
-    typedef ERef reference;
-    typedef leda::node key_type;
-    typedef lvalue_property_map_tag category;
-    leda_node_property_map(NodeMapPtr a) : m_array(a) { }
-    ERef operator[](leda::node n) const { return (*m_array)[n]; }
-  protected:
-    NodeMapPtr m_array;
-  };
-  template <class E>
-  leda_node_property_map<E, const E&, const leda::node_array<E>*>
-  make_leda_node_property_map(const leda::node_array<E>& a)
-  {
-    typedef leda_node_property_map<E, const E&, const leda::node_array<E>*>
-      pmap_type;
-    return pmap_type(&a);
-  }
-  template <class E>
-  leda_node_property_map<E, E&, leda::node_array<E>*>
-  make_leda_node_property_map(leda::node_array<E>& a)
-  {
-    typedef leda_node_property_map<E, E&, leda::node_array<E>*> pmap_type;
-    return pmap_type(&a);
-  }
-
-  template <class E>
-  leda_node_property_map<E, const E&, const leda::node_map<E>*>
-  make_leda_node_property_map(const leda::node_map<E>& a)
-  {
-    typedef leda_node_property_map<E,const E&,const leda::node_map<E>*> 
-      pmap_type;
-    return pmap_type(&a);
-  }
-  template <class E>
-  leda_node_property_map<E, E&, leda::node_map<E>*>
-  make_leda_node_property_map(leda::node_map<E>& a)
-  {
-    typedef leda_node_property_map<E, E&, leda::node_map<E>*> pmap_type;
-    return pmap_type(&a);
-  }
-
-  // g++ 'enumeral_type' in template unification not implemented workaround
-  template <class vtype, class etype, class Tag>
-  struct property_map<leda::GRAPH<vtype, etype>, Tag> {
-    typedef typename 
-      leda_property_map<Tag>::template bind_<vtype, etype> map_gen;
-    typedef typename map_gen::type type;
-    typedef typename map_gen::const_type const_type;
-  };
-
-  template <class vtype, class etype, class PropertyTag, class Key>
-  inline
-  typename boost::property_traits<
-    typename boost::property_map<leda::GRAPH<vtype, etype>,PropertyTag>::const_type
-   >::value_type
-  get(PropertyTag p, const leda::GRAPH<vtype, etype>& g, const Key& key) {
-    return get(get(p, g), key);
-  }
-
-  template <class vtype, class etype, class PropertyTag, class Key,class Value>
-  inline void
-  put(PropertyTag p, leda::GRAPH<vtype, etype>& g, 
-      const Key& key, const Value& value)
-  {
-    typedef typename property_map<leda::GRAPH<vtype, etype>, PropertyTag>::type Map;
-    Map pmap = get(p, g);
-    put(pmap, key, value);
-  }
-
-   // property map interface to the LEDA edge_array class
-
-  template <class E, class ERef, class EdgeMapPtr>
-  class leda_edge_property_map
-    : public put_get_helper<ERef, leda_edge_property_map<E, ERef, EdgeMapPtr> >
-  {
-  public:
-    typedef E value_type;
-    typedef ERef reference;
-    typedef leda::edge key_type;
-    typedef lvalue_property_map_tag category;
-    leda_edge_property_map(EdgeMapPtr a) : m_array(a) { }
-    ERef operator[](leda::edge n) const { return (*m_array)[n]; }
-  protected:
-    EdgeMapPtr m_array;
-  };
-  template <class E>
-  leda_edge_property_map<E, const E&, const leda::edge_array<E>*>
-  make_leda_node_property_map(const leda::node_array<E>& a)
-  {
-    typedef leda_edge_property_map<E, const E&, const leda::node_array<E>*>
-      pmap_type;
-    return pmap_type(&a);
-  }
-  template <class E>
-  leda_edge_property_map<E, E&, leda::edge_array<E>*>
-  make_leda_edge_property_map(leda::edge_array<E>& a)
-  {
-    typedef leda_edge_property_map<E, E&, leda::edge_array<E>*> pmap_type;
-    return pmap_type(&a);
-  }
-
-  template <class E>
-  leda_edge_property_map<E, const E&, const leda::edge_map<E>*>
-  make_leda_edge_property_map(const leda::edge_map<E>& a)
-  {
-    typedef leda_edge_property_map<E,const E&,const leda::edge_map<E>*> 
-      pmap_type;
-    return pmap_type(&a);
-  }
-  template <class E>
-  leda_edge_property_map<E, E&, leda::edge_map<E>*>
-  make_leda_edge_property_map(leda::edge_map<E>& a)
-  {
-    typedef leda_edge_property_map<E, E&, leda::edge_map<E>*> pmap_type;
-    return pmap_type(&a);
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_LEDA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/lookup_edge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/lookup_edge.hpp
deleted file mode 100644
index f8ea89e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/lookup_edge.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//=======================================================================
-// Copyright 2009 Trustees of Indiana University
-// Author: Jeremiah Willcock
-//
-// Distributed under the 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_GRAPH_LOOKUP_EDGE_HPP
-#define BOOST_GRAPH_LOOKUP_EDGE_HPP
-
-#include <utility>
-#include <boost/config.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/graph/graph_traits.hpp>
-
-// lookup_edge: a function that acts like edge() but falls back to out_edges()
-// and a search when edge() is not provided.
-
-namespace boost {
-
-  template <typename Graph>
-  std::pair<typename boost::graph_traits<Graph>::edge_descriptor, bool>
-  lookup_edge(typename boost::graph_traits<Graph>::vertex_descriptor src,
-              typename boost::graph_traits<Graph>::vertex_descriptor tgt,
-              const Graph& g,
-              typename boost::enable_if<is_adjacency_matrix<Graph>, int>::type = 0) {
-    return edge(src, tgt, g);
-  }
-
-  template <typename Graph>
-  std::pair<typename boost::graph_traits<Graph>::edge_descriptor, bool>
-  lookup_edge(typename boost::graph_traits<Graph>::vertex_descriptor src,
-              typename boost::graph_traits<Graph>::vertex_descriptor tgt,
-              const Graph& g,
-              typename boost::disable_if<is_adjacency_matrix<Graph>, int>::type = 0) {
-    typedef typename boost::graph_traits<Graph>::out_edge_iterator it;
-    typedef typename boost::graph_traits<Graph>::edge_descriptor edesc;
-    std::pair<it, it> oe = out_edges(src, g);
-    for (; oe.first != oe.second; ++oe.first) {
-      edesc e = *oe.first;
-      if (target(e, g) == tgt) return std::make_pair(e, true);
-    }
-    return std::make_pair(edesc(), false);
-  }
-
-}
-
-#endif // BOOST_GRAPH_LOOKUP_EDGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/loop_erased_random_walk.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/loop_erased_random_walk.hpp
deleted file mode 100644
index 712c45d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/loop_erased_random_walk.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2010 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)
-
-//  Authors: Jeremiah Willcock
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_LOOP_ERASED_RANDOM_WALK_HPP
-#define BOOST_GRAPH_LOOP_ERASED_RANDOM_WALK_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/random.hpp>
-#include <boost/next_prior.hpp>
-#include <vector>
-#include <boost/assert.hpp>
-
-namespace boost {
-
-  struct loop_erased_random_walk_stuck : public std::exception {
-    virtual ~loop_erased_random_walk_stuck() throw() {}
-    inline virtual const char* what() const throw() {
-      return "Loop-erased random walk found a vertex with no out-edges";
-    }
-  };
-
-  // Do a loop-erased random walk from vertex s to any vertex colored black (or
-  // actually any color other than white or gray) in the color map.  The color
-  // white is for vertices that are not part of the path, while gray is for
-  // those that are on the path (for cycle detection).  The vector path is used
-  // for temporary storage and as the result of the algorithm; while all
-  // elements of the path except the last have their colors set to gray upon
-  // return.  Vertex s must start off colored white.
-  //
-  // Useful references:
-  // http://everything2.com/title/loop-erased+random+walk
-  // Wikipedia page on "Loop-Erased Random Walk"
-
-  template <typename Graph, typename ColorMap, typename NextEdge>
-  void loop_erased_random_walk(
-         const Graph& g,
-         typename boost::graph_traits<Graph>::vertex_descriptor s,
-         NextEdge next_edge,
-         ColorMap color,
-         std::vector<typename boost::graph_traits<Graph>::vertex_descriptor>& path
-  ) {
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename boost::graph_traits<Graph>::edge_descriptor edge_descriptor;
-    typedef typename boost::property_traits<ColorMap>::value_type color_t;
-    typedef boost::color_traits<color_t> color_gen;
-    
-    BOOST_ASSERT (get(color, s) == color_gen::white());
-    path.clear();
-    path.push_back(s);
-    put(color, s, color_gen::gray());
-    while (true) {
-      edge_descriptor e = next_edge(s, g);
-      vertex_descriptor t = target(e, g);
-      color_t t_color = get(color, t);
-      if (t_color == color_gen::white()) {
-        path.push_back(t);
-        put(color, t, color_gen::gray());
-        s = t;
-      } else if (t_color == color_gen::gray()) {
-        // Found a loop; delete from path from the first occurrence of t to the
-        // end, coloring vertices white.
-        typename std::vector<vertex_descriptor>::iterator it = std::find(path.begin(), path.end(), t);
-        BOOST_ASSERT (it != path.end());
-        ++it;
-        for (typename std::vector<vertex_descriptor>::iterator j = it; j != path.end(); ++j) {
-          put(color, *j, color_gen::white());
-        }
-        path.erase(it, path.end());
-        s = t;
-      } else {
-        // Done
-        path.push_back(t);
-        break;
-      }
-    }
-  }
-
-  template <typename Graph, typename Gen>
-  class unweighted_random_out_edge_gen {
-    Gen& gen;
-
-    typedef boost::graph_traits<Graph> gt;
-
-    public:
-    unweighted_random_out_edge_gen(Gen& gen): gen(gen) {}
-
-    typename gt::edge_descriptor
-    operator()(typename gt::vertex_descriptor src, const Graph& g) const {
-      if (out_degree(src, g) == 0) throw loop_erased_random_walk_stuck();
-      return boost::random_out_edge(g, src, gen);
-    }
-  };
-
-  template <typename Graph, typename WeightMap, typename Gen>
-  class weighted_random_out_edge_gen {
-    WeightMap weight;
-    Gen& gen;
-
-    typedef boost::graph_traits<Graph> gt;
-
-    public:
-    weighted_random_out_edge_gen(const WeightMap& weight, Gen& gen): weight(weight), gen(gen) {}
-
-    typename gt::edge_descriptor
-    operator()(typename gt::vertex_descriptor src, const Graph& g) const {
-      if (out_degree(src, g) == 0) throw loop_erased_random_walk_stuck();
-      return boost::weighted_random_out_edge(g, src, weight, gen);
-    }
-  };
-}
-
-#endif // BOOST_GRAPH_LOOP_ERASED_RANDOM_WALK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_biconnected_planar.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_biconnected_planar.hpp
deleted file mode 100644
index 86a955a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_biconnected_planar.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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 __MAKE_BICONNECTED_PLANAR_HPP__
-#define __MAKE_BICONNECTED_PLANAR_HPP__
-
-#include <boost/config.hpp>
-#include <boost/tuple/tuple.hpp>   //for tie
-#include <boost/graph/biconnected_components.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <vector>
-#include <iterator>
-#include <algorithm>
-
-#include <boost/graph/planar_detail/add_edge_visitors.hpp>
-
-
-namespace boost
-{
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding,
-            typename EdgeIndexMap,
-            typename AddEdgeVisitor
-            >
-  void make_biconnected_planar(Graph& g,
-                               PlanarEmbedding embedding, 
-                               EdgeIndexMap em, 
-                               AddEdgeVisitor& vis
-                               )
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::edges_size_type edge_size_t;
-    typedef typename 
-      property_traits<PlanarEmbedding>::value_type embedding_value_t;
-    typedef typename embedding_value_t::const_iterator embedding_iterator_t;
-    typedef iterator_property_map
-      <std::vector<std::size_t>::iterator, EdgeIndexMap> component_map_t;
-
-    edge_size_t n_edges(num_edges(g));
-    std::vector<vertex_t> articulation_points;
-    std::vector<edge_size_t> component_vector(n_edges);
-    component_map_t component_map(component_vector.begin(), em);
-
-    biconnected_components(g, component_map, 
-                           std::back_inserter(articulation_points));
-
-    typename std::vector<vertex_t>::iterator ap, ap_end;
-    ap_end = articulation_points.end();
-    for(ap = articulation_points.begin(); ap != ap_end; ++ap)
-      {
-        vertex_t v(*ap);
-        embedding_iterator_t pi = embedding[v].begin();
-        embedding_iterator_t pi_end = embedding[v].end();
-        edge_size_t previous_component(n_edges + 1);
-        vertex_t previous_vertex = graph_traits<Graph>::null_vertex();
-
-        for(; pi != pi_end; ++pi)
-          {
-            edge_t e(*pi);
-            vertex_t e_source(source(e,g));
-            vertex_t e_target(target(e,g));
-
-            //Skip self-loops and parallel edges
-            if (e_source == e_target || previous_vertex == e_target)
-              continue;
-
-            vertex_t current_vertex = e_source == v ? e_target : e_source;
-            edge_size_t current_component = component_map[e];
-            if (previous_vertex != graph_traits<Graph>::null_vertex() &&
-                current_component != previous_component)
-              {
-                vis.visit_vertex_pair(current_vertex, previous_vertex, g);
-              }
-            previous_vertex = current_vertex;
-            previous_component = current_component;
-          }
-      }
-
-  }
-
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding,
-            typename EdgeIndexMap
-            >
-  inline void make_biconnected_planar(Graph& g, 
-                                      PlanarEmbedding embedding, 
-                                      EdgeIndexMap em
-                                      )
-  {
-    default_add_edge_visitor vis;
-    make_biconnected_planar(g, embedding, em, vis); 
-  }
-
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding
-            >
-  inline void make_biconnected_planar(Graph& g, PlanarEmbedding embedding)
-  {
-    make_biconnected_planar(g, embedding, get(edge_index,g));
-  }
-
-
-} // namespace boost
-
-
-
-#endif //__MAKE_BICONNECTED_PLANAR_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_connected.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_connected.hpp
deleted file mode 100644
index a2f8b1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_connected.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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 __MAKE_CONNECTED_HPP__
-#define __MAKE_CONNECTED_HPP__
-
-#include <boost/config.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/tuple/tuple.hpp>   //for tie
-#include <boost/graph/connected_components.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <vector>
-
-#include <boost/graph/planar_detail/add_edge_visitors.hpp>
-#include <boost/graph/planar_detail/bucket_sort.hpp>
-
-
-namespace boost
-{
-
-
-  template <typename Graph,
-            typename VertexIndexMap,
-            typename AddEdgeVisitor
-            >
-  void make_connected(Graph& g, VertexIndexMap vm, AddEdgeVisitor& vis)
-  {
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef iterator_property_map< typename std::vector<v_size_t>::iterator,
-                                   VertexIndexMap
-                                  > vertex_to_v_size_map_t;
-
-    std::vector<v_size_t> component_vector(num_vertices(g));
-    vertex_to_v_size_map_t component(component_vector.begin(), vm);
-    std::vector<vertex_t> vertices_by_component(num_vertices(g));
-
-    v_size_t num_components = connected_components(g, component);
-
-    if (num_components < 2)
-      return;
-
-    vertex_iterator_t vi, vi_end;
-    boost::tie(vi,vi_end) = vertices(g);
-    std::copy(vi, vi_end, vertices_by_component.begin());
-
-    bucket_sort(vertices_by_component.begin(),
-                vertices_by_component.end(),
-                component,
-                num_components
-                );
-
-    typedef typename std::vector<vertex_t>::iterator vec_of_vertices_itr_t;
-
-    vec_of_vertices_itr_t ci_end = vertices_by_component.end();
-    vec_of_vertices_itr_t ci_prev = vertices_by_component.begin();
-    if (ci_prev == ci_end)
-      return;
-
-    for(vec_of_vertices_itr_t ci = boost::next(ci_prev); 
-        ci != ci_end;  ci_prev = ci, ++ci
-        )
-      {
-        if (component[*ci_prev] != component[*ci])
-          vis.visit_vertex_pair(*ci_prev, *ci, g);
-      }
-
-  }
-
-
-
-
-  template <typename Graph, typename VertexIndexMap>
-  inline void make_connected(Graph& g, VertexIndexMap vm)
-  {
-    default_add_edge_visitor vis;
-    make_connected(g, vm, vis);
-  }
-
-
-
-
-  template <typename Graph>
-  inline void make_connected(Graph& g)
-  {
-    make_connected(g, get(vertex_index,g));
-  }
-
-
-
-
-} // namespace boost 
-
-#endif //__MAKE_CONNECTED_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_maximal_planar.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_maximal_planar.hpp
deleted file mode 100644
index 8248573..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/make_maximal_planar.hpp
+++ /dev/null
@@ -1,275 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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 __MAKE_MAXIMAL_PLANAR_HPP__
-#define __MAKE_MAXIMAL_PLANAR_HPP__
-
-#include <boost/config.hpp>
-#include <boost/tuple/tuple.hpp>   //for tie
-#include <boost/graph/biconnected_components.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <vector>
-#include <iterator>
-#include <algorithm>
-
-#include <boost/graph/planar_face_traversal.hpp>
-#include <boost/graph/planar_detail/add_edge_visitors.hpp>
-
-
-namespace boost
-{
-
-
-  template <typename Graph, typename VertexIndexMap, typename AddEdgeVisitor>
-  struct triangulation_visitor : public planar_face_traversal_visitor
-  {
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_t;
-    typedef typename graph_traits<Graph>::edge_iterator edge_iterator_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::adjacency_iterator 
-      adjacency_iterator_t;
-    typedef typename std::vector<vertex_t> vertex_vector_t;
-    typedef typename std::vector<v_size_t> v_size_vector_t;
-    typedef typename std::vector<degree_size_t> degree_size_vector_t;
-    typedef iterator_property_map
-      < typename v_size_vector_t::iterator, VertexIndexMap > 
-      vertex_to_v_size_map_t;
-    typedef iterator_property_map
-      < typename degree_size_vector_t::iterator, VertexIndexMap > 
-      vertex_to_degree_size_map_t;
-    typedef typename vertex_vector_t::iterator face_iterator;
-
-
-    triangulation_visitor(Graph& arg_g, 
-                          VertexIndexMap arg_vm, 
-                          AddEdgeVisitor arg_add_edge_visitor
-                          ) : 
-      g(arg_g),
-      vm(arg_vm),
-      add_edge_visitor(arg_add_edge_visitor),
-      timestamp(0),
-      marked_vector(num_vertices(g), timestamp),
-      degree_vector(num_vertices(g), 0),
-      marked(marked_vector.begin(), vm),
-      degree(degree_vector.begin(), vm)
-    {
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        put(degree, *vi, out_degree(*vi, g));
-    }
-
-    template <typename Vertex>
-    void next_vertex(Vertex v)
-    {
-      // Self-loops will appear as consecutive vertices in the list of
-      // vertices on a face. We want to skip these.
-      if (!vertices_on_face.empty() && 
-          (vertices_on_face.back() == v || vertices_on_face.front() == v)
-          )
-        return;
-
-      vertices_on_face.push_back(v);
-    }
-
-    void end_face()
-    {
-      ++timestamp;
-
-      if (vertices_on_face.size() <= 3)
-        {
-          // At most three vertices on this face - don't need to triangulate
-          vertices_on_face.clear();
-          return;
-        }
-      
-      // Find vertex on face of minimum degree
-      degree_size_t min_degree = num_vertices(g);
-      typename vertex_vector_t::iterator min_degree_vertex_itr;
-      face_iterator fi_end = vertices_on_face.end();
-      for(face_iterator fi = vertices_on_face.begin(); fi != fi_end; ++fi)
-        {
-          degree_size_t deg = get(degree,*fi);
-          if (deg < min_degree)
-            {
-              min_degree_vertex_itr = fi;
-              min_degree = deg;
-            }
-        }
-
-      // To simplify some of the manipulations, we'll re-arrange 
-      // vertices_on_face so that it still contains the same 
-      // (counter-clockwise) order of the vertices on this face, but now the 
-      // min_degree_vertex is the first element in vertices_on_face.
-      vertex_vector_t temp_vector;
-      std::copy(min_degree_vertex_itr, vertices_on_face.end(), 
-                std::back_inserter(temp_vector));
-      std::copy(vertices_on_face.begin(), min_degree_vertex_itr, 
-                std::back_inserter(temp_vector));
-      vertices_on_face.swap(temp_vector);
-
-      // Mark all of the min degree vertex's neighbors
-      adjacency_iterator_t ai, ai_end;
-      for(boost::tie(ai,ai_end) = adjacent_vertices(vertices_on_face.front(),g); 
-          ai != ai_end; ++ai
-          )
-        {
-          put(marked, *ai, timestamp);
-        }
-
-      typename vertex_vector_t::iterator marked_neighbor 
-        = vertices_on_face.end();
-     
-      // The iterator manipulations on the next two lines are safe because 
-      // vertices_on_face.size() > 3 (from the first test in this function)
-      fi_end = prior(vertices_on_face.end());
-      for(face_iterator fi = boost::next(boost::next(vertices_on_face.begin())); 
-          fi != fi_end; ++fi
-          )
-        {
-          if (get(marked, *fi) == timestamp)
-            {
-              marked_neighbor = fi;
-              break;
-            }
-        }
-
-      if (marked_neighbor == vertices_on_face.end())
-        {
-          add_edge_range(
-                         vertices_on_face[0],
-                         boost::next(boost::next(vertices_on_face.begin())),
-                         prior(vertices_on_face.end())
-                         );
-        }
-      else
-        {
-          add_edge_range(
-                         vertices_on_face[1],
-                         boost::next(marked_neighbor),
-                         vertices_on_face.end()
-                         );
-
-          add_edge_range(
-                         *boost::next(marked_neighbor),
-                         boost::next(boost::next(vertices_on_face.begin())),
-                         marked_neighbor
-                         );
-        }
-
-      //reset for the next face
-      vertices_on_face.clear();
-      
-    }
-
-  private:
-
-    
-    void add_edge_range(vertex_t anchor, 
-                        face_iterator fi, 
-                        face_iterator fi_end
-                        )
-    {
-      for (; fi != fi_end; ++fi)
-        {
-          vertex_t v(*fi);
-          add_edge_visitor.visit_vertex_pair(anchor, v, g);
-          put(degree, anchor, get(degree, anchor) + 1);
-          put(degree, v, get(degree, v) + 1);
-        }
-    }
-
-
-    Graph& g;
-    VertexIndexMap vm;
-    AddEdgeVisitor add_edge_visitor;
-    v_size_t timestamp;
-    vertex_vector_t vertices_on_face;
-    v_size_vector_t marked_vector;
-    degree_size_vector_t degree_vector;
-    vertex_to_v_size_map_t marked;
-    vertex_to_degree_size_map_t degree;
-    
-  };
-
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding,
-            typename VertexIndexMap,
-            typename EdgeIndexMap,
-            typename AddEdgeVisitor
-            >
-  void make_maximal_planar(Graph& g, 
-                           PlanarEmbedding embedding,
-                           VertexIndexMap vm, 
-                           EdgeIndexMap em,
-                           AddEdgeVisitor& vis)
-  {
-    triangulation_visitor<Graph,VertexIndexMap,AddEdgeVisitor> 
-      visitor(g, vm, vis);
-    planar_face_traversal(g, embedding, visitor, em);
-  }
-
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding,
-            typename VertexIndexMap,
-            typename EdgeIndexMap
-            >
-  void make_maximal_planar(Graph& g,
-                           PlanarEmbedding embedding,
-                           VertexIndexMap vm,
-                           EdgeIndexMap em
-                           )
-  {
-    default_add_edge_visitor vis;
-    make_maximal_planar(g, embedding, vm, em, vis);
-  }
-
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding,
-            typename VertexIndexMap
-            >
-  void make_maximal_planar(Graph& g,
-                           PlanarEmbedding embedding,
-                           VertexIndexMap vm
-                           )
-  {
-    make_maximal_planar(g, embedding, vm, get(edge_index,g));
-  }
-
-
-
-
-  template <typename Graph,
-            typename PlanarEmbedding
-            >
-  void make_maximal_planar(Graph& g,
-                           PlanarEmbedding embedding
-                           )
-  {
-    make_maximal_planar(g, embedding, get(vertex_index,g));
-  }
-
-
-  
-
-} // namespace boost
-
-
-
-#endif //__MAKE_MAXIMAL_PLANAR_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/matrix_as_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/matrix_as_graph.hpp
deleted file mode 100644
index fb72794..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/matrix_as_graph.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_MATRIX2GRAPH_HPP
-#define BOOST_GRAPH_MATRIX2GRAPH_HPP
-
-#include <utility>
-#include <boost/config.hpp>
-#include <boost/operators.hpp>
-#include <boost/pending/detail/int_iterator.hpp>
-#include <boost/graph/graph_traits.hpp>
-
-namespace boost {
-
-  template <class Iter, class Vertex>
-  class matrix_adj_iterator;
-
-  template <class Iter, class Vertex>
-  class matrix_incidence_iterator;
-
-}
-
-#define BOOST_GRAPH_ADAPT_MATRIX_TO_GRAPH(Matrix)  \
-namespace boost { \
-  template <> \
-  struct graph_traits< Matrix > { \
-    typedef Matrix::OneD::const_iterator Iter; \
-    typedef Matrix::size_type V; \
-    typedef V vertex_descriptor; \
-    typedef Iter E; \
-    typedef E edge_descriptor; \
-    typedef boost::matrix_incidence_iterator<Iter, V> out_edge_iterator; \
-    typedef boost::matrix_adj_iterator<Iter, V> adjacency_iterator; \
-    typedef Matrix::size_type size_type; \
-    typedef boost::int_iterator<size_type> vertex_iterator; \
-    \
-    friend std::pair<vertex_iterator, vertex_iterator> \
-    vertices(const Matrix& g) { \
-      typedef vertex_iterator VIter; \
-      return std::make_pair(VIter(0), VIter(g.nrows())); \
-    } \
-    \
-    friend std::pair<out_edge_iterator, out_edge_iterator> \
-    out_edges(V v, const Matrix& g) { \
-      typedef out_edge_iterator IncIter; \
-      return std::make_pair(IncIter(g[v].begin()), \
-                            IncIter(g[v].end())); \
-    } \
-    friend std::pair<adjacency_iterator, adjacency_iterator> \
-    adjacent_vertices(V v, const Matrix& g) { \
-      typedef adjacency_iterator AdjIter; \
-      return std::make_pair(AdjIter(g[v].begin()), \
-                            AdjIter(g[v].end())); \
-    } \
-    friend vertex_descriptor \
-    source(E e, const Matrix& g) {  \
-      return e.row();  \
-    } \
-    friend vertex_descriptor \
-    target(E e, const Matrix& g) { \
-      return e.column();  \
-    } \
-    friend size_type \
-    num_vertices(const Matrix& g) { \
-      return g.nrows();  \
-    } \
-    friend size_type \
-    num_edges(const Matrix& g) { \
-      return g.nnz(); \
-    } \
-    friend size_type \
-    out_degree(V i, const Matrix& g) { \
-      return g[i].nnz(); \
-    } \
-  }; \
-}
-
-namespace boost {
-
-  template <class Iter, class Vertex>
-  class matrix_adj_iterator
-    : public std::iterator<std::input_iterator_tag, Vertex >
-  {
-    typedef matrix_adj_iterator self;
-  public:
-    matrix_adj_iterator() { }
-    matrix_adj_iterator(Iter i) : _iter(i) { }
-    matrix_adj_iterator(const self& x) : _iter(x._iter) { }
-    self& operator=(const self& x) { _iter = x._iter; return *this; }
-    Vertex operator*() { return _iter.column(); }
-    self& operator++() { ++_iter; return *this; }
-    self operator++(int) { self t = *this; ++_iter; return t; }
-    bool operator==(const self& x) const { return _iter == x._iter; }
-    bool operator!=(const self& x) const { return _iter != x._iter; }
-  protected:
-    Iter _iter;
-  };
-
-  template <class Iter, class Vertex>
-  class matrix_incidence_iterator
-    : public std::iterator<std::input_iterator_tag, Iter >
-  {
-    typedef matrix_incidence_iterator self;
-  public:
-    matrix_incidence_iterator() { }
-    matrix_incidence_iterator(Iter i) : _iter(i) { }
-    matrix_incidence_iterator(const self& x) : _iter(x._iter) { }
-    self& operator=(const self& x) { _iter = x._iter; return *this; }
-    Iter operator*() { return _iter; }
-    self& operator++() { ++_iter; return *this; }
-    self operator++(int) { self t = *this; ++_iter; return t; }
-    bool operator==(const self& x) const { return _iter == x._iter; }
-    bool operator!=(const self& x) const { return _iter != x._iter; }
-  protected:
-    Iter _iter;
-  };
-  
-} /* namespace boost */
-
-#endif /* BOOST_GRAPH_MATRIX2GRAPH_HPP*/
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/max_cardinality_matching.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/max_cardinality_matching.hpp
deleted file mode 100644
index 1549345..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/max_cardinality_matching.hpp
+++ /dev/null
@@ -1,899 +0,0 @@
-//=======================================================================
-// Copyright (c) 2005 Aaron Windsor
-//
-// Distributed under the 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_GRAPH_MAXIMUM_CARDINALITY_MATCHING_HPP
-#define BOOST_GRAPH_MAXIMUM_CARDINALITY_MATCHING_HPP
-
-#include <vector>
-#include <list>
-#include <deque>
-#include <algorithm>                     // for std::sort and std::stable_sort
-#include <utility>                       // for std::pair
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>  
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/graph/filtered_graph.hpp>
-#include <boost/pending/disjoint_sets.hpp>
-#include <boost/assert.hpp>
-
-
-namespace boost
-{
-  namespace graph { namespace detail {
-    enum { V_EVEN, V_ODD, V_UNREACHED };
-  } } // end namespace graph::detail
-
-  template <typename Graph, typename MateMap, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type 
-  matching_size(const Graph& g, MateMap mate, VertexIndexMap vm)
-  {
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::vertex_descriptor
-      vertex_descriptor_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-
-    v_size_t size_of_matching = 0;
-    vertex_iterator_t vi, vi_end;
-
-    for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-      {
-        vertex_descriptor_t v = *vi;
-        if (get(mate,v) != graph_traits<Graph>::null_vertex() 
-            && get(vm,v) < get(vm,get(mate,v)))
-        ++size_of_matching;
-      }
-    return size_of_matching;
-  }
-
-
-
-
-  template <typename Graph, typename MateMap>
-  inline typename graph_traits<Graph>::vertices_size_type
-  matching_size(const Graph& g, MateMap mate)
-  {
-    return matching_size(g, mate, get(vertex_index,g));
-  }
-
-
-
-
-  template <typename Graph, typename MateMap, typename VertexIndexMap>
-  bool is_a_matching(const Graph& g, MateMap mate, VertexIndexMap)
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor
-      vertex_descriptor_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-
-    vertex_iterator_t vi, vi_end;
-    for( boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-      {
-        vertex_descriptor_t v = *vi;
-        if (get(mate,v) != graph_traits<Graph>::null_vertex() 
-            && v != get(mate,get(mate,v)))
-        return false;
-      }    
-    return true;
-  }
-
-
-
-
-  template <typename Graph, typename MateMap>
-  inline bool is_a_matching(const Graph& g, MateMap mate)
-  {
-    return is_a_matching(g, mate, get(vertex_index,g));
-  }
-
-
-
-
-  //***************************************************************************
-  //***************************************************************************
-  //               Maximum Cardinality Matching Functors 
-  //***************************************************************************
-  //***************************************************************************
-  
-  template <typename Graph, typename MateMap, 
-            typename VertexIndexMap = dummy_property_map>
-  struct no_augmenting_path_finder
-  {
-    no_augmenting_path_finder(const Graph&, MateMap, VertexIndexMap)
-    { }
-
-    inline bool augment_matching() { return false; }
-
-    template <typename PropertyMap>
-    void get_current_matching(PropertyMap) {}
-  };
-
-
-
-
-  template <typename Graph, typename MateMap, typename VertexIndexMap>
-  class edmonds_augmenting_path_finder
-  {
-    // This implementation of Edmonds' matching algorithm closely
-    // follows Tarjan's description of the algorithm in "Data
-    // Structures and Network Algorithms."
-
-  public:
-
-    //generates the type of an iterator property map from vertices to type X
-    template <typename X>
-    struct map_vertex_to_ 
-    { 
-      typedef boost::iterator_property_map<typename std::vector<X>::iterator,
-                                           VertexIndexMap> type; 
-    };
-    
-    typedef typename graph_traits<Graph>::vertex_descriptor
-      vertex_descriptor_t;
-    typedef typename std::pair< vertex_descriptor_t, vertex_descriptor_t >
-      vertex_pair_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor_t; 
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef typename graph_traits<Graph>::edges_size_type e_size_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::out_edge_iterator 
-      out_edge_iterator_t;
-    typedef typename std::deque<vertex_descriptor_t> vertex_list_t;
-    typedef typename std::vector<edge_descriptor_t> edge_list_t;
-    typedef typename map_vertex_to_<vertex_descriptor_t>::type 
-      vertex_to_vertex_map_t;
-    typedef typename map_vertex_to_<int>::type vertex_to_int_map_t;
-    typedef typename map_vertex_to_<vertex_pair_t>::type 
-      vertex_to_vertex_pair_map_t;
-    typedef typename map_vertex_to_<v_size_t>::type vertex_to_vsize_map_t;
-    typedef typename map_vertex_to_<e_size_t>::type vertex_to_esize_map_t;
-
-
-
-    
-    edmonds_augmenting_path_finder(const Graph& arg_g, MateMap arg_mate, 
-                                   VertexIndexMap arg_vm) : 
-      g(arg_g),
-      vm(arg_vm),
-      n_vertices(num_vertices(arg_g)),
-
-      mate_vector(n_vertices),
-      ancestor_of_v_vector(n_vertices),
-      ancestor_of_w_vector(n_vertices),
-      vertex_state_vector(n_vertices),
-      origin_vector(n_vertices),
-      pred_vector(n_vertices),
-      bridge_vector(n_vertices),
-      ds_parent_vector(n_vertices),
-      ds_rank_vector(n_vertices),
-
-      mate(mate_vector.begin(), vm),
-      ancestor_of_v(ancestor_of_v_vector.begin(), vm),
-      ancestor_of_w(ancestor_of_w_vector.begin(), vm),
-      vertex_state(vertex_state_vector.begin(), vm),
-      origin(origin_vector.begin(), vm),
-      pred(pred_vector.begin(), vm),
-      bridge(bridge_vector.begin(), vm),
-      ds_parent_map(ds_parent_vector.begin(), vm),
-      ds_rank_map(ds_rank_vector.begin(), vm),
-
-      ds(ds_rank_map, ds_parent_map)
-    {
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        mate[*vi] = get(arg_mate, *vi);
-    }
-
-
-    
-
-    bool augment_matching()
-    {
-      //As an optimization, some of these values can be saved from one
-      //iteration to the next instead of being re-initialized each
-      //iteration, allowing for "lazy blossom expansion." This is not
-      //currently implemented.
-      
-      e_size_t timestamp = 0;
-      even_edges.clear();
-      
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-      {
-        vertex_descriptor_t u = *vi;
-      
-        origin[u] = u;
-        pred[u] = u;
-        ancestor_of_v[u] = 0;
-        ancestor_of_w[u] = 0;
-        ds.make_set(u);
-      
-        if (mate[u] == graph_traits<Graph>::null_vertex())
-        {
-          vertex_state[u] = graph::detail::V_EVEN;
-          out_edge_iterator_t ei, ei_end;
-          for(boost::tie(ei,ei_end) = out_edges(u,g); ei != ei_end; ++ei)
-          {
-            if (target(*ei,g) != u)
-            {
-              even_edges.push_back( *ei );
-            }
-          }
-        }
-        else
-          vertex_state[u] = graph::detail::V_UNREACHED;      
-      }
-    
-      //end initializations
-    
-      vertex_descriptor_t v,w,w_free_ancestor,v_free_ancestor;
-      w_free_ancestor = graph_traits<Graph>::null_vertex();
-      v_free_ancestor = graph_traits<Graph>::null_vertex(); 
-      bool found_alternating_path = false;
-      
-      while(!even_edges.empty() && !found_alternating_path)
-      {
-        // since we push even edges onto the back of the list as
-        // they're discovered, taking them off the back will search
-        // for augmenting paths depth-first.
-        edge_descriptor_t current_edge = even_edges.back();
-        even_edges.pop_back();
-
-        v = source(current_edge,g);
-        w = target(current_edge,g);
-      
-        vertex_descriptor_t v_prime = origin[ds.find_set(v)];
-        vertex_descriptor_t w_prime = origin[ds.find_set(w)];
-      
-        // because of the way we put all of the edges on the queue,
-        // v_prime should be labeled V_EVEN; the following is a
-        // little paranoid but it could happen...
-        if (vertex_state[v_prime] != graph::detail::V_EVEN)
-        {
-          std::swap(v_prime,w_prime);
-          std::swap(v,w);
-        }
-
-        if (vertex_state[w_prime] == graph::detail::V_UNREACHED)
-        {
-          vertex_state[w_prime] = graph::detail::V_ODD;
-          vertex_descriptor_t w_prime_mate = mate[w_prime];
-          vertex_state[w_prime_mate] = graph::detail::V_EVEN;
-          out_edge_iterator_t ei, ei_end;
-          for( boost::tie(ei,ei_end) = out_edges(w_prime_mate, g); ei != ei_end; ++ei)
-          {
-            if (target(*ei,g) != w_prime_mate)
-            {
-              even_edges.push_back(*ei);
-            }
-          }
-          pred[w_prime] = v;
-        }
-        
-        //w_prime == v_prime can happen below if we get an edge that has been
-        //shrunk into a blossom
-        else if (vertex_state[w_prime] == graph::detail::V_EVEN && w_prime != v_prime) 
-        {                                                             
-          vertex_descriptor_t w_up = w_prime;
-          vertex_descriptor_t v_up = v_prime;
-          vertex_descriptor_t nearest_common_ancestor 
-                = graph_traits<Graph>::null_vertex();
-          w_free_ancestor = graph_traits<Graph>::null_vertex();
-          v_free_ancestor = graph_traits<Graph>::null_vertex();
-          
-          // We now need to distinguish between the case that
-          // w_prime and v_prime share an ancestor under the
-          // "parent" relation, in which case we've found a
-          // blossom and should shrink it, or the case that
-          // w_prime and v_prime both have distinct ancestors that
-          // are free, in which case we've found an alternating
-          // path between those two ancestors.
-
-          ++timestamp;
-
-          while (nearest_common_ancestor == graph_traits<Graph>::null_vertex() && 
-             (v_free_ancestor == graph_traits<Graph>::null_vertex() || 
-              w_free_ancestor == graph_traits<Graph>::null_vertex()
-              )
-             )
-          {
-            ancestor_of_w[w_up] = timestamp;
-            ancestor_of_v[v_up] = timestamp;
-
-            if (w_free_ancestor == graph_traits<Graph>::null_vertex())
-              w_up = parent(w_up);
-            if (v_free_ancestor == graph_traits<Graph>::null_vertex())
-              v_up = parent(v_up);
-          
-            if (mate[v_up] == graph_traits<Graph>::null_vertex())
-              v_free_ancestor = v_up;
-            if (mate[w_up] == graph_traits<Graph>::null_vertex())
-              w_free_ancestor = w_up;
-          
-            if (ancestor_of_w[v_up] == timestamp)
-              nearest_common_ancestor = v_up;
-            else if (ancestor_of_v[w_up] == timestamp)
-              nearest_common_ancestor = w_up;
-            else if (v_free_ancestor == w_free_ancestor && 
-              v_free_ancestor != graph_traits<Graph>::null_vertex())
-            nearest_common_ancestor = v_up;
-          }
-          
-          if (nearest_common_ancestor == graph_traits<Graph>::null_vertex())
-            found_alternating_path = true; //to break out of the loop
-          else
-          {
-            //shrink the blossom
-            link_and_set_bridges(w_prime, nearest_common_ancestor, std::make_pair(w,v));
-            link_and_set_bridges(v_prime, nearest_common_ancestor, std::make_pair(v,w));
-          }
-        }      
-      }
-      
-      if (!found_alternating_path)
-        return false;
-
-      // retrieve the augmenting path and put it in aug_path
-      reversed_retrieve_augmenting_path(v, v_free_ancestor);
-      retrieve_augmenting_path(w, w_free_ancestor);
-
-      // augment the matching along aug_path
-      vertex_descriptor_t a,b;
-      while (!aug_path.empty())
-      {
-        a = aug_path.front();
-        aug_path.pop_front();
-        b = aug_path.front();
-        aug_path.pop_front();
-        mate[a] = b;
-        mate[b] = a;
-      }
-      
-      return true;
-      
-    }
-
-
-
-
-    template <typename PropertyMap>
-    void get_current_matching(PropertyMap pm)
-    {
-      vertex_iterator_t vi,vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        put(pm, *vi, mate[*vi]);
-    }
-
-
-
-
-    template <typename PropertyMap>
-    void get_vertex_state_map(PropertyMap pm)
-    {
-      vertex_iterator_t vi,vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        put(pm, *vi, vertex_state[origin[ds.find_set(*vi)]]);
-    }
-
-
-
-
-  private:    
-
-    vertex_descriptor_t parent(vertex_descriptor_t x)
-    {
-      if (vertex_state[x] == graph::detail::V_EVEN 
-          && mate[x] != graph_traits<Graph>::null_vertex())
-        return mate[x];
-      else if (vertex_state[x] == graph::detail::V_ODD)
-        return origin[ds.find_set(pred[x])];
-      else
-        return x;
-    }
-    
-    
-
-
-    void link_and_set_bridges(vertex_descriptor_t x, 
-                              vertex_descriptor_t stop_vertex, 
-                  vertex_pair_t the_bridge)
-    {
-      for(vertex_descriptor_t v = x; v != stop_vertex; v = parent(v))
-      {
-        ds.union_set(v, stop_vertex);
-        origin[ds.find_set(stop_vertex)] = stop_vertex;
-
-        if (vertex_state[v] == graph::detail::V_ODD)
-        {
-          bridge[v] = the_bridge;
-          out_edge_iterator_t oei, oei_end;
-          for(boost::tie(oei, oei_end) = out_edges(v,g); oei != oei_end; ++oei)
-          {
-            if (target(*oei,g) != v)
-            {
-              even_edges.push_back(*oei);
-            }
-          }
-        }
-      }
-    }
-    
-
-    // Since none of the STL containers support both constant-time
-    // concatenation and reversal, the process of expanding an
-    // augmenting path once we know one exists is a little more
-    // complicated than it has to be. If we know the path is from v to
-    // w, then the augmenting path is recursively defined as:
-    //
-    // path(v,w) = [v], if v = w
-    //           = concat([v, mate[v]], path(pred[mate[v]], w), 
-    //                if v != w and vertex_state[v] == graph::detail::V_EVEN
-    //           = concat([v], reverse(path(x,mate[v])), path(y,w)),
-    //                if v != w, vertex_state[v] == graph::detail::V_ODD, and bridge[v] = (x,y)
-    //
-    // These next two mutually recursive functions implement this definition.
-    
-    void retrieve_augmenting_path(vertex_descriptor_t v, vertex_descriptor_t w)  
-    {
-      if (v == w)
-        aug_path.push_back(v);
-      else if (vertex_state[v] == graph::detail::V_EVEN)
-      {
-        aug_path.push_back(v);
-        aug_path.push_back(mate[v]);
-        retrieve_augmenting_path(pred[mate[v]], w);
-      }
-      else //vertex_state[v] == graph::detail::V_ODD 
-      {
-        aug_path.push_back(v);
-        reversed_retrieve_augmenting_path(bridge[v].first, mate[v]);
-        retrieve_augmenting_path(bridge[v].second, w);
-      }
-    }
-
-
-    void reversed_retrieve_augmenting_path(vertex_descriptor_t v,
-                                           vertex_descriptor_t w)  
-    {
-
-      if (v == w)
-        aug_path.push_back(v);
-      else if (vertex_state[v] == graph::detail::V_EVEN)
-      {
-        reversed_retrieve_augmenting_path(pred[mate[v]], w);
-        aug_path.push_back(mate[v]);
-        aug_path.push_back(v);
-      }
-      else //vertex_state[v] == graph::detail::V_ODD 
-      {
-        reversed_retrieve_augmenting_path(bridge[v].second, w);
-        retrieve_augmenting_path(bridge[v].first, mate[v]);
-        aug_path.push_back(v);
-      }
-    }
-
-    
-
-
-    //private data members
-    
-    const Graph& g;
-    VertexIndexMap vm;
-    v_size_t n_vertices;
-    
-    //storage for the property maps below
-    std::vector<vertex_descriptor_t> mate_vector;
-    std::vector<e_size_t> ancestor_of_v_vector;
-    std::vector<e_size_t> ancestor_of_w_vector;
-    std::vector<int> vertex_state_vector;
-    std::vector<vertex_descriptor_t> origin_vector;
-    std::vector<vertex_descriptor_t> pred_vector;
-    std::vector<vertex_pair_t> bridge_vector;
-    std::vector<vertex_descriptor_t> ds_parent_vector;
-    std::vector<v_size_t> ds_rank_vector;
-
-    //iterator property maps
-    vertex_to_vertex_map_t mate;
-    vertex_to_esize_map_t ancestor_of_v;
-    vertex_to_esize_map_t ancestor_of_w;
-    vertex_to_int_map_t vertex_state;
-    vertex_to_vertex_map_t origin;
-    vertex_to_vertex_map_t pred;
-    vertex_to_vertex_pair_map_t bridge;
-    vertex_to_vertex_map_t ds_parent_map;
-    vertex_to_vsize_map_t ds_rank_map;
-
-    vertex_list_t aug_path;
-    edge_list_t even_edges;
-    disjoint_sets< vertex_to_vsize_map_t, vertex_to_vertex_map_t > ds;
-
-  };
-
-
-
-
-  //***************************************************************************
-  //***************************************************************************
-  //               Initial Matching Functors
-  //***************************************************************************
-  //***************************************************************************
-  
-  template <typename Graph, typename MateMap>
-  struct greedy_matching
-  {
-    typedef typename graph_traits< Graph >::vertex_descriptor vertex_descriptor_t;
-    typedef typename graph_traits< Graph >::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits< Graph >::edge_descriptor edge_descriptor_t; 
-    typedef typename graph_traits< Graph >::edge_iterator edge_iterator_t;
-
-    static void find_matching(const Graph& g, MateMap mate)
-    {
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        put(mate, *vi, graph_traits<Graph>::null_vertex());
-            
-      edge_iterator_t ei, ei_end;
-      for( boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-      {
-        edge_descriptor_t e = *ei;
-        vertex_descriptor_t u = source(e,g);
-        vertex_descriptor_t v = target(e,g);
-      
-        if (u != v && get(mate,u) == get(mate,v))  
-        //only way equality can hold is if
-        //   mate[u] == mate[v] == null_vertex
-        {
-          put(mate,u,v);
-          put(mate,v,u);
-        }
-      }    
-    }
-  };
-  
-
-
-  
-  template <typename Graph, typename MateMap>
-  struct extra_greedy_matching
-  {
-    // The "extra greedy matching" is formed by repeating the
-    // following procedure as many times as possible: Choose the
-    // unmatched vertex v of minimum non-zero degree.  Choose the
-    // neighbor w of v which is unmatched and has minimum degree over
-    // all of v's neighbors. Add (u,v) to the matching. Ties for
-    // either choice are broken arbitrarily. This procedure takes time
-    // O(m log n), where m is the number of edges in the graph and n
-    // is the number of vertices.
-    
-    typedef typename graph_traits< Graph >::vertex_descriptor
-      vertex_descriptor_t;
-    typedef typename graph_traits< Graph >::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits< Graph >::edge_descriptor edge_descriptor_t; 
-    typedef typename graph_traits< Graph >::edge_iterator edge_iterator_t;
-    typedef std::pair<vertex_descriptor_t, vertex_descriptor_t> vertex_pair_t;
-    
-    struct select_first
-    {
-      inline static vertex_descriptor_t select_vertex(const vertex_pair_t p) 
-      {return p.first;}
-    };
-
-    struct select_second
-    {
-      inline static vertex_descriptor_t select_vertex(const vertex_pair_t p) 
-      {return p.second;}
-    };
-
-    template <class PairSelector>
-    class less_than_by_degree
-    {
-    public:
-      less_than_by_degree(const Graph& g): m_g(g) {}
-      bool operator() (const vertex_pair_t x, const vertex_pair_t y)
-      {
-        return 
-          out_degree(PairSelector::select_vertex(x), m_g) 
-          < out_degree(PairSelector::select_vertex(y), m_g);
-      }
-    private:
-      const Graph& m_g;
-    };
-
-
-    static void find_matching(const Graph& g, MateMap mate)
-    {
-      typedef std::vector<std::pair<vertex_descriptor_t, vertex_descriptor_t> >
-        directed_edges_vector_t;
-      
-      directed_edges_vector_t edge_list;
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-        put(mate, *vi, graph_traits<Graph>::null_vertex());
-
-      edge_iterator_t ei, ei_end;
-      for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-      {
-        edge_descriptor_t e = *ei;
-        vertex_descriptor_t u = source(e,g);
-        vertex_descriptor_t v = target(e,g);
-        if (u == v) continue;
-        edge_list.push_back(std::make_pair(u,v));
-        edge_list.push_back(std::make_pair(v,u));
-      }
-      
-      //sort the edges by the degree of the target, then (using a
-      //stable sort) by degree of the source
-      std::sort(edge_list.begin(), edge_list.end(), 
-                less_than_by_degree<select_second>(g));
-      std::stable_sort(edge_list.begin(), edge_list.end(), 
-                       less_than_by_degree<select_first>(g));
-      
-      //construct the extra greedy matching
-      for(typename directed_edges_vector_t::const_iterator itr = edge_list.begin(); itr != edge_list.end(); ++itr)
-      {
-        if (get(mate,itr->first) == get(mate,itr->second)) 
-        //only way equality can hold is if mate[itr->first] == mate[itr->second] == null_vertex
-        {
-          put(mate, itr->first, itr->second);
-          put(mate, itr->second, itr->first);
-        }
-      }    
-    }
-  };
-
-
-  
-
-  template <typename Graph, typename MateMap>
-  struct empty_matching
-  { 
-    typedef typename graph_traits< Graph >::vertex_iterator vertex_iterator_t;
-    
-    static void find_matching(const Graph& g, MateMap mate)
-    {
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        put(mate, *vi, graph_traits<Graph>::null_vertex());
-    }
-  };
-  
-
-
-
-  //***************************************************************************
-  //***************************************************************************
-  //               Matching Verifiers
-  //***************************************************************************
-  //***************************************************************************
-
-  namespace detail
-  {
-
-    template <typename SizeType>
-    class odd_components_counter : public dfs_visitor<>
-    // This depth-first search visitor will count the number of connected 
-    // components with an odd number of vertices. It's used by 
-    // maximum_matching_verifier.
-    {
-    public:
-      odd_components_counter(SizeType& c_count):
-        m_count(c_count)
-      {
-        m_count = 0;
-      }
-      
-      template <class Vertex, class Graph>
-      void start_vertex(Vertex, Graph&) 
-      {
-        m_parity = false; 
-      }
-      
-      template <class Vertex, class Graph>
-      void discover_vertex(Vertex, Graph&) 
-      {
-        m_parity = !m_parity;
-        m_parity ? ++m_count : --m_count;
-      }
-      
-    protected:
-      SizeType& m_count;
-      
-    private:
-      bool m_parity;
-      
-    };
-
-  }//namespace detail
-
-
-
-
-  template <typename Graph, typename MateMap, 
-            typename VertexIndexMap = dummy_property_map>
-  struct no_matching_verifier
-  {
-    inline static bool 
-    verify_matching(const Graph&, MateMap, VertexIndexMap) 
-    { return true;}
-  };
-  
-  
-
-
-  template <typename Graph, typename MateMap, typename VertexIndexMap>
-  struct maximum_cardinality_matching_verifier
-  {
-
-    template <typename X>
-    struct map_vertex_to_
-    { 
-      typedef boost::iterator_property_map<typename std::vector<X>::iterator,
-                                           VertexIndexMap> type; 
-    };
-
-    typedef typename graph_traits<Graph>::vertex_descriptor 
-      vertex_descriptor_t;
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename map_vertex_to_<int>::type vertex_to_int_map_t;
-    typedef typename map_vertex_to_<vertex_descriptor_t>::type 
-      vertex_to_vertex_map_t;
-
-
-    template <typename VertexStateMap>
-    struct non_odd_vertex {
-      //this predicate is used to create a filtered graph that
-      //excludes vertices labeled "graph::detail::V_ODD"
-      non_odd_vertex() : vertex_state(0) { }
-  
-      non_odd_vertex(VertexStateMap* arg_vertex_state) 
-        : vertex_state(arg_vertex_state) { }
-
-      template <typename Vertex>
-      bool operator()(const Vertex& v) const 
-      {
-        BOOST_ASSERT(vertex_state);
-        return get(*vertex_state, v) != graph::detail::V_ODD;
-      }
-
-      VertexStateMap* vertex_state;
-    };
-
-
-    static bool verify_matching(const Graph& g, MateMap mate, VertexIndexMap vm)
-    {
-      //For any graph G, let o(G) be the number of connected
-      //components in G of odd size. For a subset S of G's vertex set
-      //V(G), let (G - S) represent the subgraph of G induced by
-      //removing all vertices in S from G. Let M(G) be the size of the
-      //maximum cardinality matching in G. Then the Tutte-Berge
-      //formula guarantees that
-      //
-      //           2 * M(G) = min ( |V(G)| + |U| + o(G - U) )
-      //
-      //where the minimum is taken over all subsets U of
-      //V(G). Edmonds' algorithm finds a set U that achieves the
-      //minimum in the above formula, namely the vertices labeled
-      //"ODD." This function runs one iteration of Edmonds' algorithm
-      //to find U, then verifies that the size of the matching given
-      //by mate satisfies the Tutte-Berge formula.
-
-      //first, make sure it's a valid matching
-      if (!is_a_matching(g,mate,vm))
-        return false;
-
-      //We'll try to augment the matching once. This serves two
-      //purposes: first, if we find some augmenting path, the matching
-      //is obviously non-maximum. Second, running edmonds' algorithm
-      //on a graph with no augmenting path will create the
-      //Edmonds-Gallai decomposition that we need as a certificate of
-      //maximality - we can get it by looking at the vertex_state map
-      //that results.
-      edmonds_augmenting_path_finder<Graph,MateMap,VertexIndexMap>
-        augmentor(g,mate,vm);
-      if (augmentor.augment_matching())
-        return false;
-
-      std::vector<int> vertex_state_vector(num_vertices(g));
-      vertex_to_int_map_t vertex_state(vertex_state_vector.begin(), vm);
-      augmentor.get_vertex_state_map(vertex_state);
-      
-      //count the number of graph::detail::V_ODD vertices
-      v_size_t num_odd_vertices = 0;
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        if (vertex_state[*vi] == graph::detail::V_ODD)
-          ++num_odd_vertices;
-
-      //count the number of connected components with odd cardinality
-      //in the graph without graph::detail::V_ODD vertices
-      non_odd_vertex<vertex_to_int_map_t> filter(&vertex_state);
-      filtered_graph<Graph, keep_all, non_odd_vertex<vertex_to_int_map_t> > fg(g, keep_all(), filter);
-
-      v_size_t num_odd_components;
-      detail::odd_components_counter<v_size_t> occ(num_odd_components);
-      depth_first_search(fg, visitor(occ).vertex_index_map(vm));
-
-      if (2 * matching_size(g,mate,vm) == num_vertices(g) + num_odd_vertices - num_odd_components)
-        return true;
-      else
-        return false;
-    }
-  };
-
-
-
-
-  template <typename Graph, 
-        typename MateMap,
-        typename VertexIndexMap,
-        template <typename, typename, typename> class AugmentingPathFinder, 
-        template <typename, typename> class InitialMatchingFinder,
-        template <typename, typename, typename> class MatchingVerifier>
-  bool matching(const Graph& g, MateMap mate, VertexIndexMap vm)
-  {
-    
-    InitialMatchingFinder<Graph,MateMap>::find_matching(g,mate);
-
-    AugmentingPathFinder<Graph,MateMap,VertexIndexMap> augmentor(g,mate,vm);
-    bool not_maximum_yet = true;
-    while(not_maximum_yet)
-      {
-        not_maximum_yet = augmentor.augment_matching();
-      }
-    augmentor.get_current_matching(mate);
-
-    return MatchingVerifier<Graph,MateMap,VertexIndexMap>::verify_matching(g,mate,vm);    
-    
-  }
-
-
-
-
-  template <typename Graph, typename MateMap, typename VertexIndexMap>
-  inline bool checked_edmonds_maximum_cardinality_matching(const Graph& g, MateMap mate, VertexIndexMap vm)
-  {
-    return matching 
-      < Graph, MateMap, VertexIndexMap,
-        edmonds_augmenting_path_finder, extra_greedy_matching, maximum_cardinality_matching_verifier>
-      (g, mate, vm);
-  }
-
-
-
-
-  template <typename Graph, typename MateMap>
-  inline bool checked_edmonds_maximum_cardinality_matching(const Graph& g, MateMap mate)
-  {
-    return checked_edmonds_maximum_cardinality_matching(g, mate, get(vertex_index,g));
-  }
-
-
-
-
-  template <typename Graph, typename MateMap, typename VertexIndexMap>
-  inline void edmonds_maximum_cardinality_matching(const Graph& g, MateMap mate, VertexIndexMap vm)
-  {
-    matching < Graph, MateMap, VertexIndexMap,
-               edmonds_augmenting_path_finder, extra_greedy_matching, no_matching_verifier>
-      (g, mate, vm);
-  }
-
-
-
-
-  template <typename Graph, typename MateMap>
-  inline void edmonds_maximum_cardinality_matching(const Graph& g, MateMap mate)
-  {
-    edmonds_maximum_cardinality_matching(g, mate, get(vertex_index,g));
-  }
-
-}//namespace boost
-
-#endif //BOOST_GRAPH_MAXIMUM_CARDINALITY_MATCHING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/maximum_adjacency_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/maximum_adjacency_search.hpp
deleted file mode 100644
index e27a7a0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/maximum_adjacency_search.hpp
+++ /dev/null
@@ -1,319 +0,0 @@
-//
-//=======================================================================
-// Copyright 2012 Fernando Vilas
-//           2010 Daniel Trebbien
-//
-// Distributed under the 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 maximum adjacency search algorithm was originally part of the
-// Stoer-Wagner min cut implementation by Daniel Trebbien. It has been
-// broken out into its own file to be a public search algorithm, with
-// visitor concepts.
-#ifndef BOOST_GRAPH_MAXIMUM_ADJACENCY_SEARCH_H
-#define BOOST_GRAPH_MAXIMUM_ADJACENCY_SEARCH_H
-
-/**
- * This is an implementation of the maximum adjacency search on an
- * undirected graph. It allows a visitor object to perform some
- * operation on each vertex as that vertex is visited.
- *
- * The algorithm runs as follows:
- *
- * Initialize all nodes to be unvisited (reach count = 0)
- *   and call vis.initialize_vertex
- * For i = number of nodes in graph downto 1
- *   Select the unvisited node with the highest reach count
- *     The user provides the starting node to break the first tie,
- *     but future ties are broken arbitrarily
- *   Visit the node by calling vis.start_vertex
- *   Increment the reach count for all unvisited neighbors
- *     and call vis.examine_edge for each of these edges
- *   Mark the node as visited and call vis.finish_vertex
- *
- */
-
-#include <boost/concept_check.hpp>
-#include <boost/concept/assert.hpp>
-#include <boost/graph/buffer_concepts.hpp>
-#include <boost/graph/exception.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/tuple/tuple.hpp>
-
-#include <set>
-
-namespace boost {
-  template <class Visitor, class Graph>
-  struct MASVisitorConcept {
-    void constraints() {
-      boost::function_requires< boost::CopyConstructibleConcept<Visitor> >();
-      vis.initialize_vertex(u, g);
-      vis.start_vertex(u, g);
-      vis.examine_edge(e, g);
-      vis.finish_vertex(u, g);
-    }
-    Visitor vis;
-    Graph g;
-    typename boost::graph_traits<Graph>::vertex_descriptor u;
-    typename boost::graph_traits<Graph>::edge_descriptor e;
-  };
-
-  template <class Visitors = null_visitor>
-  class mas_visitor {
-  public:
-    mas_visitor() { }
-    mas_visitor(Visitors vis) : m_vis(vis) { }
-
-    template <class Vertex, class Graph>
-    void
-    initialize_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_initialize_vertex());
-    }
-
-    template <class Vertex, class Graph>
-    void
-    start_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_start_vertex());
-    }
-
-    template <class Edge, class Graph>
-    void
-    examine_edge(Edge e, Graph& g)
-    {
-      invoke_visitors(m_vis, e, g, ::boost::on_examine_edge());
-    }
-
-    template <class Vertex, class Graph>
-    void
-    finish_vertex(Vertex u, Graph& g)
-    {
-      invoke_visitors(m_vis, u, g, ::boost::on_finish_vertex());
-    }
-
-    BOOST_GRAPH_EVENT_STUB(on_initialize_vertex,mas)
-    BOOST_GRAPH_EVENT_STUB(on_start_vertex,mas)
-    BOOST_GRAPH_EVENT_STUB(on_examine_edge,mas)
-    BOOST_GRAPH_EVENT_STUB(on_finish_vertex,mas)
-
-  protected:
-    Visitors m_vis;
-  };
-  template <class Visitors>
-  mas_visitor<Visitors>
-  make_mas_visitor(Visitors vis) {
-    return mas_visitor<Visitors>(vis);
-  }
-  typedef mas_visitor<> default_mas_visitor;
-
-  namespace detail {
-    template <class Graph, class WeightMap, class MASVisitor, class VertexAssignmentMap, class KeyedUpdatablePriorityQueue>
-      void
-      maximum_adjacency_search(const Graph& g, WeightMap weights, MASVisitor vis, const typename boost::graph_traits<Graph>::vertex_descriptor start, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue pq) {
-      typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-      typedef typename boost::property_traits<WeightMap>::value_type weight_type;
-
-     std::set<vertex_descriptor> assignedVertices;
-
-     // initialize `assignments` (all vertices are initially
-     // assigned to themselves)
-     BGL_FORALL_VERTICES_T(v, g, Graph) {
-       put(assignments, v, v);
-     }
-
-      typename KeyedUpdatablePriorityQueue::key_map keys = pq.keys();
-
-      // set number of visited neighbors for all vertices to 0
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        if (v == get(assignments, v)) { // foreach u \in V do
-          put(keys, v, weight_type(0));          vis.initialize_vertex(v, g);
-
-          pq.push(v);
-        }
-      }
-      BOOST_ASSERT(pq.size() >= 2);
-
-      // Give the starting vertex high priority
-      put(keys, start, get(keys, start) + num_vertices(g) + 1);
-      pq.update(start);
-
-      // start traversing the graph
-      //vertex_descriptor s, t;
-      weight_type w;
-      while (!pq.empty()) { // while PQ \neq {} do
-        const vertex_descriptor u = pq.top(); // u = extractmax(PQ)
-        w = get(keys, u);                        vis.start_vertex(u, g);
-        pq.pop();                  //            vis.start_vertex(u, g);
-
-        BGL_FORALL_OUTEDGES_T(u, e, g, Graph) { // foreach (u, v) \in E do
-                                                 vis.examine_edge(e, g);
-
-          const vertex_descriptor v = get(assignments, target(e, g));
-
-          if (pq.contains(v)) { // if v \in PQ then
-            put(keys, v, get(keys, v) + get(weights, e)); // increasekey(PQ, v, wA(v) + w(u, v))
-            pq.update(v);
-          }
-        }
-
-        typename std::set<vertex_descriptor>::const_iterator assignedVertexIt, assignedVertexEnd = assignedVertices.end();
-        for (assignedVertexIt = assignedVertices.begin(); assignedVertexIt != assignedVertexEnd; ++assignedVertexIt) {
-          const vertex_descriptor uPrime = *assignedVertexIt;
-
-          if (get(assignments, uPrime) == u) {
-            BGL_FORALL_OUTEDGES_T(uPrime, e, g, Graph) { // foreach (u, v) \in E do
-                                                 vis.examine_edge(e, g);
-
-              const vertex_descriptor v = get(assignments, target(e, g));
-
-              if (pq.contains(v)) { // if v \in PQ then
-                put(keys, v, get(keys, v) + get(weights, e)); // increasekey(PQ, v, wA(v) + w(u, v))
-                pq.update(v);
-              }
-            }
-          }
-        }
-                                                 vis.finish_vertex(u, g);
-      }
-    }
-  } // end namespace detail
-
-  template <class Graph, class WeightMap, class MASVisitor, class VertexAssignmentMap, class KeyedUpdatablePriorityQueue>
-    void
-maximum_adjacency_search(const Graph& g, WeightMap weights, MASVisitor vis, const typename boost::graph_traits<Graph>::vertex_descriptor start, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue pq) {
-    BOOST_CONCEPT_ASSERT((boost::IncidenceGraphConcept<Graph>));
-    BOOST_CONCEPT_ASSERT((boost::VertexListGraphConcept<Graph>));
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-    typedef typename boost::graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename boost::graph_traits<Graph>::edge_descriptor edge_descriptor;
-    BOOST_CONCEPT_ASSERT((boost::Convertible<typename boost::graph_traits<Graph>::directed_category, boost::undirected_tag>));
-    BOOST_CONCEPT_ASSERT((boost::ReadablePropertyMapConcept<WeightMap, edge_descriptor>));
-    // typedef typename boost::property_traits<WeightMap>::value_type weight_type;
-    boost::function_requires< MASVisitorConcept<MASVisitor, Graph> >();
-    BOOST_CONCEPT_ASSERT((boost::ReadWritePropertyMapConcept<VertexAssignmentMap, vertex_descriptor>));
-    BOOST_CONCEPT_ASSERT((boost::Convertible<vertex_descriptor, typename boost::property_traits<VertexAssignmentMap>::value_type>));
-    BOOST_CONCEPT_ASSERT((boost::KeyedUpdatableQueueConcept<KeyedUpdatablePriorityQueue>));
-
-    vertices_size_type n = num_vertices(g);
-    if (n < 2)
-      throw boost::bad_graph("the input graph must have at least two vertices.");
-    else if (!pq.empty())
-      throw std::invalid_argument("the max-priority queue must be empty initially.");
-
-    detail::maximum_adjacency_search(g, weights,
-                                            vis, start,
-                                            assignments, pq);
-  }
-
-  namespace graph {
-    namespace detail {
-      template <typename WeightMap>
-      struct mas_dispatch {
-        typedef void result_type;
-        template <typename Graph, typename ArgPack>
-        static result_type apply(const Graph& g, 
-                          //const bgl_named_params<P,T,R>& params, 
-                          const ArgPack& params, 
-                          WeightMap w) {
-
-          using namespace boost::graph::keywords;
-          typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-          typedef typename WeightMap::value_type weight_type;
-
-          typedef boost::detail::make_priority_queue_from_arg_pack_gen<boost::graph::keywords::tag::max_priority_queue, weight_type, vertex_descriptor, std::greater<weight_type> > default_pq_gen_type;
-
-          default_pq_gen_type pq_gen(choose_param(get_param(params, boost::distance_zero_t()), weight_type(0)));
-
-          typename boost::result_of<default_pq_gen_type(const Graph&, const ArgPack&)>::type pq = pq_gen(g, params);
-
-          boost::maximum_adjacency_search
-               (g,
-                w,
-                params [ _visitor | make_mas_visitor(null_visitor())],
-                params [ _root_vertex | *vertices(g).first],
-                params [ _vertex_assignment_map | boost::detail::make_property_map_from_arg_pack_gen<boost::graph::keywords::tag::vertex_assignment_map, vertex_descriptor>(vertex_descriptor())(g, params)],
-                pq
-                );
-        }
-      };
-
-      template <>
-      struct mas_dispatch<boost::param_not_found> {
-        typedef void result_type;
-
-        template <typename Graph, typename ArgPack>
-        static result_type apply(const Graph& g, 
-                          const ArgPack& params, 
-                          param_not_found) {
-
-          using namespace boost::graph::keywords;
-          typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-          // get edge_weight_t as the weight type
-          typedef typename boost::property_map<Graph, edge_weight_t> WeightMap;
-          typedef typename WeightMap::value_type weight_type;
-
-          typedef boost::detail::make_priority_queue_from_arg_pack_gen<boost::graph::keywords::tag::max_priority_queue, weight_type, vertex_descriptor, std::greater<weight_type> > default_pq_gen_type;
-
-          default_pq_gen_type pq_gen(choose_param(get_param(params, boost::distance_zero_t()), weight_type(0)));
-
-          typename boost::result_of<default_pq_gen_type(const Graph&, const ArgPack&)>::type pq = pq_gen(g, params);
-
-          boost::maximum_adjacency_search
-               (g,
-                get(edge_weight, g),
-                params [ _visitor | make_mas_visitor(null_visitor())],
-                params [ _root_vertex | *vertices(g).first],
-                params [ _vertex_assignment_map | boost::detail::make_property_map_from_arg_pack_gen<boost::graph::keywords::tag::vertex_assignment_map, vertex_descriptor>(vertex_descriptor())(g, params)],
-                pq
-                );
-        }
-      };
-    } // end namespace detail
-  } // end namespace graph
-
-  // Named parameter interface
-  //BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(maximum_adjacency_search, 1)
-  template <typename Graph, typename P, typename T, typename R>
-  void
-  maximum_adjacency_search (const Graph& g,
-      const bgl_named_params<P,T,R>& params) {
-
-    typedef bgl_named_params<P, T, R> params_type;
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
-
-    // do the dispatch based on WeightMap
-    typedef typename get_param_type<edge_weight_t, bgl_named_params<P,T,R> >::type W;
-    graph::detail::mas_dispatch<W>::apply(g, arg_pack, get_param(params, edge_weight));
-  }
-
-  namespace graph {
-    namespace detail {
-      template <typename Graph>
-      struct maximum_adjacency_search_impl {
-        typedef void result_type;
-
-        template <typename ArgPack>
-        void
-        operator() (const Graph& g, const ArgPack& arg_pack) const {
-          // call the function that does the dispatching
-          typedef typename get_param_type<edge_weight_t, ArgPack >::type W;
-          graph::detail::mas_dispatch<W>::apply(g, arg_pack, get_param(arg_pack, edge_weight));
-        }
-      };
-    } // end namespace detail
-    BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(maximum_adjacency_search,1,5)
-  } // end namespace graph
-
-} // end namespace boost
-
-#include <boost/graph/iteration_macros_undef.hpp>
-
-#endif // BOOST_GRAPH_MAXIMUM_ADJACENCY_SEARCH_H
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/mcgregor_common_subgraphs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/mcgregor_common_subgraphs.hpp
deleted file mode 100644
index 9fd544d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/mcgregor_common_subgraphs.hpp
+++ /dev/null
@@ -1,1137 +0,0 @@
-//=======================================================================
-// Copyright 2009 Trustees of Indiana University.
-// Authors: Michael Hansen, Andrew Lumsdaine
-//
-// Distributed under the 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_GRAPH_MCGREGOR_COMMON_SUBGRAPHS_HPP
-#define BOOST_GRAPH_MCGREGOR_COMMON_SUBGRAPHS_HPP
-
-#include <algorithm>
-#include <vector>
-#include <stack>
-
-#include <boost/make_shared.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/filtered_graph.hpp>
-#include <boost/graph/graph_utility.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/property_map/shared_array_property_map.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    // Traits associated with common subgraphs, used mainly to keep a
-    // consistent type for the correspondence maps.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename VertexIndexMapFirst,
-              typename VertexIndexMapSecond>
-    struct mcgregor_common_subgraph_traits {
-      typedef typename graph_traits<GraphFirst>::vertex_descriptor vertex_first_type;
-      typedef typename graph_traits<GraphSecond>::vertex_descriptor vertex_second_type;
-      
-      typedef shared_array_property_map<vertex_second_type, VertexIndexMapFirst>
-        correspondence_map_first_to_second_type;
-  
-      typedef shared_array_property_map<vertex_first_type, VertexIndexMapSecond>
-        correspondence_map_second_to_first_type;
-    };  
-
-  } // namespace detail
-
-  // ==========================================================================
-
-  // Binary function object that returns true if the values for item1
-  // in property_map1 and item2 in property_map2 are equivalent.
-  template <typename PropertyMapFirst,
-            typename PropertyMapSecond>
-  struct property_map_equivalent {
-  
-    property_map_equivalent(const PropertyMapFirst property_map1,
-                            const PropertyMapSecond property_map2) :
-      m_property_map1(property_map1),
-      m_property_map2(property_map2) { }
-
-    template <typename ItemFirst,
-              typename ItemSecond>
-    bool operator()(const ItemFirst item1, const ItemSecond item2) {
-      return (get(m_property_map1, item1) == get(m_property_map2, item2));
-    }
-  
-  private:
-    const PropertyMapFirst m_property_map1;
-    const PropertyMapSecond m_property_map2;
-  };
-
-  // Returns a property_map_equivalent object that compares the values
-  // of property_map1 and property_map2.
-  template <typename PropertyMapFirst,
-            typename PropertyMapSecond>
-  property_map_equivalent<PropertyMapFirst,
-                          PropertyMapSecond>
-  make_property_map_equivalent
-  (const PropertyMapFirst property_map1,
-   const PropertyMapSecond property_map2) {
-
-    return (property_map_equivalent<PropertyMapFirst, PropertyMapSecond>
-            (property_map1, property_map2));
-  }
-
-  // Binary function object that always returns true.  Used when
-  // vertices or edges are always equivalent (i.e. have no labels).
-  struct always_equivalent {
-  
-    template <typename ItemFirst,
-              typename ItemSecond>
-    bool operator()(const ItemFirst&, const ItemSecond&) {
-      return (true);
-    }
-  };
-
-  // ==========================================================================
-
-  namespace detail {
-
-    // Return true if new_vertex1 and new_vertex2 can extend the
-    // subgraph represented by correspondence_map_1_to_2 and
-    // correspondence_map_2_to_1.  The vertices_equivalent and
-    // edges_equivalent predicates are used to test vertex and edge
-    // equivalency between the two graphs.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename CorrespondenceMapFirstToSecond,
-              typename CorrespondenceMapSecondToFirst,
-              typename EdgeEquivalencePredicate,
-              typename VertexEquivalencePredicate>
-    bool can_extend_graph
-    (const GraphFirst& graph1,
-     const GraphSecond& graph2,
-     CorrespondenceMapFirstToSecond correspondence_map_1_to_2,
-     CorrespondenceMapSecondToFirst /*correspondence_map_2_to_1*/,
-     typename graph_traits<GraphFirst>::vertices_size_type subgraph_size,
-     typename graph_traits<GraphFirst>::vertex_descriptor new_vertex1,
-     typename graph_traits<GraphSecond>::vertex_descriptor new_vertex2,
-     EdgeEquivalencePredicate edges_equivalent,
-     VertexEquivalencePredicate vertices_equivalent,
-     bool only_connected_subgraphs)
-    {
-      typedef typename graph_traits<GraphSecond>::vertex_descriptor VertexSecond;
-      
-      typedef typename graph_traits<GraphFirst>::edge_descriptor EdgeFirst;
-      typedef typename graph_traits<GraphSecond>::edge_descriptor EdgeSecond;
-
-      // Check vertex equality
-      if (!vertices_equivalent(new_vertex1, new_vertex2)) {
-        return (false);
-      }
-
-      // Vertices match and graph is empty, so we can extend the subgraph
-      if (subgraph_size == 0) {
-        return (true);
-      }
-
-      bool has_one_edge = false;
-
-      // Verify edges with existing sub-graph
-      BGL_FORALL_VERTICES_T(existing_vertex1, graph1, GraphFirst) {
-
-        VertexSecond existing_vertex2 = get(correspondence_map_1_to_2, existing_vertex1);
-
-        // Skip unassociated vertices
-        if (existing_vertex2 == graph_traits<GraphSecond>::null_vertex()) {
-          continue;
-        }
-
-        // NOTE: This will not work with parallel edges, since the
-        // first matching edge is always chosen.
-        EdgeFirst edge_to_new1, edge_from_new1;
-        bool edge_to_new_exists1 = false, edge_from_new_exists1 = false;
-        
-        EdgeSecond edge_to_new2, edge_from_new2;
-        bool edge_to_new_exists2 = false, edge_from_new_exists2 = false;
-
-        // Search for edge from existing to new vertex (graph1)
-        BGL_FORALL_OUTEDGES_T(existing_vertex1, edge1, graph1, GraphFirst) {
-          if (target(edge1, graph1) == new_vertex1) {
-            edge_to_new1 = edge1;
-            edge_to_new_exists1 = true;
-            break;
-          }
-        }
-
-        // Search for edge from existing to new vertex (graph2)
-        BGL_FORALL_OUTEDGES_T(existing_vertex2, edge2, graph2, GraphSecond) {
-          if (target(edge2,  graph2) == new_vertex2) {
-            edge_to_new2 = edge2;
-            edge_to_new_exists2 = true;
-            break;
-          }
-        }
-
-        // Make sure edges from existing to new vertices are equivalent
-        if ((edge_to_new_exists1 != edge_to_new_exists2) ||
-            ((edge_to_new_exists1 && edge_to_new_exists2) &&
-             !edges_equivalent(edge_to_new1, edge_to_new2))) {
-              
-          return (false);
-        }
-
-        bool is_undirected1 = is_undirected(graph1),
-          is_undirected2 = is_undirected(graph2);
-
-        if (is_undirected1 && is_undirected2) {
-
-          // Edge in both graphs exists and both graphs are undirected
-          if (edge_to_new_exists1 && edge_to_new_exists2) {
-            has_one_edge = true;
-          }
-
-          continue;
-        }
-        else {
-
-          if (!is_undirected1) {
-
-            // Search for edge from new to existing vertex (graph1)
-            BGL_FORALL_OUTEDGES_T(new_vertex1, edge1, graph1, GraphFirst) {
-              if (target(edge1, graph1) == existing_vertex1) {
-                edge_from_new1 = edge1;
-                edge_from_new_exists1 = true;
-                break;
-              }
-            }
-          }
-
-          if (!is_undirected2) {
-
-            // Search for edge from new to existing vertex (graph2)
-            BGL_FORALL_OUTEDGES_T(new_vertex2, edge2, graph2, GraphSecond) {
-              if (target(edge2, graph2) == existing_vertex2) {
-                edge_from_new2 = edge2;
-                edge_from_new_exists2 = true;
-                break;
-              }
-            }
-          }
-
-          // Make sure edges from new to existing vertices are equivalent
-          if ((edge_from_new_exists1 != edge_from_new_exists2) ||
-              ((edge_from_new_exists1 && edge_from_new_exists2) &&
-               !edges_equivalent(edge_from_new1, edge_from_new2))) {
-                
-            return (false);
-          }
-
-          if ((edge_from_new_exists1 && edge_from_new_exists2) ||
-              (edge_to_new_exists1 && edge_to_new_exists2)) {
-            has_one_edge = true;
-          }
-
-        } // else
-
-      } // BGL_FORALL_VERTICES_T
-
-      // Make sure new vertices are connected to the existing subgraph
-      if (only_connected_subgraphs && !has_one_edge) {
-        return (false);
-      }
-
-      return (true);
-    }    
-
-    // Recursive method that does a depth-first search in the space of
-    // potential subgraphs.  At each level, every new vertex pair from
-    // both graphs is tested to see if it can extend the current
-    // subgraph.  If so, the subgraph is output to subgraph_callback
-    // in the form of two correspondence maps (one for each graph).
-    // Returning false from subgraph_callback will terminate the
-    // search.  Function returns true if the entire search space was
-    // explored.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename VertexIndexMapFirst,
-              typename VertexIndexMapSecond,
-              typename CorrespondenceMapFirstToSecond,
-              typename CorrespondenceMapSecondToFirst,
-              typename VertexStackFirst,
-              typename EdgeEquivalencePredicate,
-              typename VertexEquivalencePredicate,
-              typename SubGraphInternalCallback>
-    bool mcgregor_common_subgraphs_internal
-    (const GraphFirst& graph1,
-     const GraphSecond& graph2,
-     const VertexIndexMapFirst& vindex_map1,
-     const VertexIndexMapSecond& vindex_map2,
-     CorrespondenceMapFirstToSecond correspondence_map_1_to_2,
-     CorrespondenceMapSecondToFirst correspondence_map_2_to_1,
-     VertexStackFirst& vertex_stack1,
-     EdgeEquivalencePredicate edges_equivalent,
-     VertexEquivalencePredicate vertices_equivalent,
-     bool only_connected_subgraphs,
-     SubGraphInternalCallback subgraph_callback)
-    {
-      typedef typename graph_traits<GraphFirst>::vertex_descriptor VertexFirst;
-      typedef typename graph_traits<GraphSecond>::vertex_descriptor VertexSecond;
-      typedef typename graph_traits<GraphFirst>::vertices_size_type VertexSizeFirst;
-
-      // Get iterators for vertices from both graphs
-      typename graph_traits<GraphFirst>::vertex_iterator
-        vertex1_iter, vertex1_end;
-  
-      typename graph_traits<GraphSecond>::vertex_iterator
-        vertex2_begin, vertex2_end, vertex2_iter;
-  
-      boost::tie(vertex1_iter, vertex1_end) = vertices(graph1);
-      boost::tie(vertex2_begin, vertex2_end) = vertices(graph2);
-      vertex2_iter = vertex2_begin;
-  
-      // Iterate until all vertices have been visited
-      BGL_FORALL_VERTICES_T(new_vertex1, graph1, GraphFirst) {
-
-        VertexSecond existing_vertex2 = get(correspondence_map_1_to_2, new_vertex1);
-
-        // Skip already matched vertices in first graph
-        if (existing_vertex2 != graph_traits<GraphSecond>::null_vertex()) {
-          continue;
-        }
-    
-        BGL_FORALL_VERTICES_T(new_vertex2, graph2, GraphSecond) {
-
-          VertexFirst existing_vertex1 = get(correspondence_map_2_to_1, new_vertex2);
-
-          // Skip already matched vertices in second graph
-          if (existing_vertex1 != graph_traits<GraphFirst>::null_vertex()) {
-            continue;
-          }
-
-          // Check if current sub-graph can be extended with the matched vertex pair
-          if (can_extend_graph(graph1, graph2,
-                               correspondence_map_1_to_2, correspondence_map_2_to_1,
-                               (VertexSizeFirst)vertex_stack1.size(),
-                               new_vertex1, new_vertex2,
-                               edges_equivalent, vertices_equivalent,
-                               only_connected_subgraphs)) {
-
-            // Keep track of old graph size for restoring later
-            VertexSizeFirst old_graph_size = (VertexSizeFirst)vertex_stack1.size(),
-              new_graph_size = old_graph_size + 1;
-
-            // Extend subgraph
-            put(correspondence_map_1_to_2, new_vertex1, new_vertex2);
-            put(correspondence_map_2_to_1, new_vertex2, new_vertex1);
-            vertex_stack1.push(new_vertex1);
-
-            // Returning false from the callback will cancel iteration
-            if (!subgraph_callback(correspondence_map_1_to_2,
-                                   correspondence_map_2_to_1,
-                                   new_graph_size)) {
-              return (false);
-            }
-      
-            // Depth-first search into the state space of possible sub-graphs
-            bool continue_iteration =
-              mcgregor_common_subgraphs_internal
-              (graph1, graph2,
-               vindex_map1, vindex_map2,
-               correspondence_map_1_to_2, correspondence_map_2_to_1,
-               vertex_stack1,
-               edges_equivalent, vertices_equivalent,
-               only_connected_subgraphs, subgraph_callback);
-
-            if (!continue_iteration) {
-              return (false);
-            }
-      
-            // Restore previous state
-            if (vertex_stack1.size() > old_graph_size) {
-              
-              VertexFirst stack_vertex1 = vertex_stack1.top();
-              VertexSecond stack_vertex2 = get(correspondence_map_1_to_2,
-                                               stack_vertex1);
-
-              // Contract subgraph
-              put(correspondence_map_1_to_2, stack_vertex1,
-                  graph_traits<GraphSecond>::null_vertex());
-            
-              put(correspondence_map_2_to_1, stack_vertex2,
-                  graph_traits<GraphFirst>::null_vertex());
-                  
-              vertex_stack1.pop();
-           }
-
-          } // if can_extend_graph
-
-        } // BGL_FORALL_VERTICES_T (graph2)
-
-      } // BGL_FORALL_VERTICES_T (graph1)
-
-      return (true);
-    }
-
-    // Internal method that initializes blank correspondence maps and
-    // a vertex stack for use in mcgregor_common_subgraphs_internal.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename VertexIndexMapFirst,
-              typename VertexIndexMapSecond,
-              typename EdgeEquivalencePredicate,
-              typename VertexEquivalencePredicate,
-              typename SubGraphInternalCallback>
-    inline void mcgregor_common_subgraphs_internal_init
-    (const GraphFirst& graph1,
-     const GraphSecond& graph2,
-     const VertexIndexMapFirst vindex_map1,
-     const VertexIndexMapSecond vindex_map2,
-     EdgeEquivalencePredicate edges_equivalent,
-     VertexEquivalencePredicate vertices_equivalent,
-     bool only_connected_subgraphs,
-     SubGraphInternalCallback subgraph_callback)
-    {
-      typedef mcgregor_common_subgraph_traits<GraphFirst,
-        GraphSecond, VertexIndexMapFirst,
-        VertexIndexMapSecond> SubGraphTraits;
-        
-      typename SubGraphTraits::correspondence_map_first_to_second_type
-        correspondence_map_1_to_2(num_vertices(graph1), vindex_map1);
-
-      BGL_FORALL_VERTICES_T(vertex1, graph1, GraphFirst) {
-        put(correspondence_map_1_to_2, vertex1,
-            graph_traits<GraphSecond>::null_vertex());
-      }
-                                                 
-      typename SubGraphTraits::correspondence_map_second_to_first_type
-        correspondence_map_2_to_1(num_vertices(graph2), vindex_map2);
-
-      BGL_FORALL_VERTICES_T(vertex2, graph2, GraphSecond) {
-        put(correspondence_map_2_to_1, vertex2,
-            graph_traits<GraphFirst>::null_vertex());
-      }
-
-      typedef typename graph_traits<GraphFirst>::vertex_descriptor
-        VertexFirst;
-        
-      std::stack<VertexFirst> vertex_stack1;
-
-      mcgregor_common_subgraphs_internal
-        (graph1, graph2,
-         vindex_map1, vindex_map2,
-         correspondence_map_1_to_2, correspondence_map_2_to_1,
-         vertex_stack1,
-         edges_equivalent, vertices_equivalent,
-         only_connected_subgraphs,
-         subgraph_callback);
-    }
-    
-  } // namespace detail
-
-  // ==========================================================================
-
-  // Enumerates all common subgraphs present in graph1 and graph2.
-  // Continues until the search space has been fully explored or false
-  // is returned from user_callback.
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename VertexIndexMapFirst,
-            typename VertexIndexMapSecond,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   const VertexIndexMapFirst vindex_map1,
-   const VertexIndexMapSecond vindex_map2,
-   EdgeEquivalencePredicate edges_equivalent,
-   VertexEquivalencePredicate vertices_equivalent,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-      
-    detail::mcgregor_common_subgraphs_internal_init
-      (graph1, graph2,
-       vindex_map1, vindex_map2,
-       edges_equivalent, vertices_equivalent,
-       only_connected_subgraphs,
-       user_callback);
-  }
-  
-  // Variant of mcgregor_common_subgraphs with all default parameters
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-      
-    detail::mcgregor_common_subgraphs_internal_init
-      (graph1, graph2,
-       get(vertex_index, graph1), get(vertex_index, graph2),
-       always_equivalent(), always_equivalent(),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // Named parameter variant of mcgregor_common_subgraphs
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  void mcgregor_common_subgraphs
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback,
-   const bgl_named_params<Param, Tag, Rest>& params)
-  {
-      
-    detail::mcgregor_common_subgraphs_internal_init
-      (graph1, graph2,
-       choose_const_pmap(get_param(params, vertex_index1),
-                         graph1, vertex_index),
-       choose_const_pmap(get_param(params, vertex_index2),
-                         graph2, vertex_index),
-       choose_param(get_param(params, edges_equivalent_t()),
-                    always_equivalent()),
-       choose_param(get_param(params, vertices_equivalent_t()),
-                    always_equivalent()),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // ==========================================================================
-
-  namespace detail {
-
-    // Binary function object that intercepts subgraphs from
-    // mcgregor_common_subgraphs_internal and maintains a cache of
-    // unique subgraphs.  The user callback is invoked for each unique
-    // subgraph.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename VertexIndexMapFirst,
-              typename VertexIndexMapSecond,
-              typename SubGraphCallback>
-    struct unique_subgraph_interceptor {
-
-      typedef typename graph_traits<GraphFirst>::vertices_size_type
-        VertexSizeFirst;
-
-      typedef mcgregor_common_subgraph_traits<GraphFirst, GraphSecond,
-        VertexIndexMapFirst, VertexIndexMapSecond> SubGraphTraits;
-        
-      typedef typename SubGraphTraits::correspondence_map_first_to_second_type
-        CachedCorrespondenceMapFirstToSecond;
-
-      typedef typename SubGraphTraits::correspondence_map_second_to_first_type
-        CachedCorrespondenceMapSecondToFirst;
-
-      typedef std::pair<VertexSizeFirst,
-        std::pair<CachedCorrespondenceMapFirstToSecond,
-                  CachedCorrespondenceMapSecondToFirst> > SubGraph;
-                
-      typedef std::vector<SubGraph> SubGraphList;
-
-      unique_subgraph_interceptor(const GraphFirst& graph1,
-                                  const GraphSecond& graph2,
-                                  const VertexIndexMapFirst vindex_map1,
-                                  const VertexIndexMapSecond vindex_map2,
-                                  SubGraphCallback user_callback) :                                  
-        m_graph1(graph1), m_graph2(graph2),
-        m_vindex_map1(vindex_map1), m_vindex_map2(vindex_map2),
-        m_subgraphs(make_shared<SubGraphList>()),
-        m_user_callback(user_callback) { }
-      
-      template <typename CorrespondenceMapFirstToSecond,
-                typename CorrespondenceMapSecondToFirst>
-      bool operator()(CorrespondenceMapFirstToSecond correspondence_map_1_to_2,
-                      CorrespondenceMapSecondToFirst correspondence_map_2_to_1,
-                      VertexSizeFirst subgraph_size) {
-
-        for (typename SubGraphList::const_iterator
-               subgraph_iter = m_subgraphs->begin();
-             subgraph_iter != m_subgraphs->end();
-             ++subgraph_iter) {
-
-          SubGraph subgraph_cached = *subgraph_iter;
-
-          // Compare subgraph sizes
-          if (subgraph_size != subgraph_cached.first) {
-            continue;
-          }
-          
-          if (!are_property_maps_different(correspondence_map_1_to_2,
-                                           subgraph_cached.second.first,
-                                           m_graph1)) {
-                                    
-            // New subgraph is a duplicate
-            return (true);
-          }
-        }
-  
-        // Subgraph is unique, so make a cached copy
-        CachedCorrespondenceMapFirstToSecond
-          new_subgraph_1_to_2 = CachedCorrespondenceMapFirstToSecond
-          (num_vertices(m_graph1), m_vindex_map1);
-
-        CachedCorrespondenceMapSecondToFirst
-          new_subgraph_2_to_1 = CorrespondenceMapSecondToFirst
-          (num_vertices(m_graph2), m_vindex_map2);
-
-        BGL_FORALL_VERTICES_T(vertex1, m_graph1, GraphFirst) {
-          put(new_subgraph_1_to_2, vertex1, get(correspondence_map_1_to_2, vertex1));
-        }
-
-        BGL_FORALL_VERTICES_T(vertex2, m_graph2, GraphFirst) {
-          put(new_subgraph_2_to_1, vertex2, get(correspondence_map_2_to_1, vertex2));
-        }
-
-        m_subgraphs->push_back(std::make_pair(subgraph_size,
-          std::make_pair(new_subgraph_1_to_2,
-                         new_subgraph_2_to_1)));
-        
-        return (m_user_callback(correspondence_map_1_to_2,
-                                correspondence_map_2_to_1,
-                                subgraph_size));
-      }
-    
-    private:
-      const GraphFirst& m_graph1;
-      const GraphFirst& m_graph2;
-      const VertexIndexMapFirst m_vindex_map1;
-      const VertexIndexMapSecond m_vindex_map2;
-      shared_ptr<SubGraphList> m_subgraphs;
-      SubGraphCallback m_user_callback;
-    };
-    
-  } // namespace detail
-
-  // Enumerates all unique common subgraphs between graph1 and graph2.
-  // The user callback is invoked for each unique subgraph as they are
-  // discovered.
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename VertexIndexMapFirst,
-            typename VertexIndexMapSecond,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs_unique
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   const VertexIndexMapFirst vindex_map1,
-   const VertexIndexMapSecond vindex_map2,
-   EdgeEquivalencePredicate edges_equivalent,
-   VertexEquivalencePredicate vertices_equivalent,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-    detail::unique_subgraph_interceptor<GraphFirst, GraphSecond,
-      VertexIndexMapFirst, VertexIndexMapSecond,
-      SubGraphCallback> unique_callback
-      (graph1, graph2,
-       vindex_map1, vindex_map2,
-       user_callback);
-      
-    detail::mcgregor_common_subgraphs_internal_init
-      (graph1, graph2,
-       vindex_map1, vindex_map2,
-       edges_equivalent, vertices_equivalent,
-       only_connected_subgraphs, unique_callback);
-  }
-
-  // Variant of mcgregor_common_subgraphs_unique with all default
-  // parameters.
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs_unique
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-    mcgregor_common_subgraphs_unique
-      (graph1, graph2,
-       get(vertex_index, graph1), get(vertex_index, graph2),
-       always_equivalent(), always_equivalent(),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // Named parameter variant of mcgregor_common_subgraphs_unique
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  void mcgregor_common_subgraphs_unique
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback,
-   const bgl_named_params<Param, Tag, Rest>& params)
-  {
-    mcgregor_common_subgraphs_unique
-      (graph1, graph2,
-       choose_const_pmap(get_param(params, vertex_index1),
-                         graph1, vertex_index),
-       choose_const_pmap(get_param(params, vertex_index2),
-                         graph2, vertex_index),
-       choose_param(get_param(params, edges_equivalent_t()),
-                    always_equivalent()),
-       choose_param(get_param(params, vertices_equivalent_t()),
-                    always_equivalent()),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // ==========================================================================
-
-  namespace detail {
-
-    // Binary function object that intercepts subgraphs from
-    // mcgregor_common_subgraphs_internal and maintains a cache of the
-    // largest subgraphs.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename VertexIndexMapFirst,
-              typename VertexIndexMapSecond,
-              typename SubGraphCallback>
-    struct maximum_subgraph_interceptor {
-
-      typedef typename graph_traits<GraphFirst>::vertices_size_type
-        VertexSizeFirst;
-
-      typedef mcgregor_common_subgraph_traits<GraphFirst, GraphSecond,
-        VertexIndexMapFirst, VertexIndexMapSecond> SubGraphTraits;
-        
-      typedef typename SubGraphTraits::correspondence_map_first_to_second_type
-        CachedCorrespondenceMapFirstToSecond;
-
-      typedef typename SubGraphTraits::correspondence_map_second_to_first_type
-        CachedCorrespondenceMapSecondToFirst;
-
-      typedef std::pair<VertexSizeFirst,
-        std::pair<CachedCorrespondenceMapFirstToSecond,
-                  CachedCorrespondenceMapSecondToFirst> > SubGraph;
-
-      typedef std::vector<SubGraph> SubGraphList;
-
-      maximum_subgraph_interceptor(const GraphFirst& graph1,
-                                   const GraphSecond& graph2,
-                                   const VertexIndexMapFirst vindex_map1,
-                                   const VertexIndexMapSecond vindex_map2,
-                                   SubGraphCallback user_callback) :
-        m_graph1(graph1), m_graph2(graph2),
-        m_vindex_map1(vindex_map1), m_vindex_map2(vindex_map2),
-        m_subgraphs(make_shared<SubGraphList>()),
-        m_largest_size_so_far(make_shared<VertexSizeFirst>(0)),
-        m_user_callback(user_callback) { }
-
-      template <typename CorrespondenceMapFirstToSecond,
-                typename CorrespondenceMapSecondToFirst>
-      bool operator()(CorrespondenceMapFirstToSecond correspondence_map_1_to_2,
-                      CorrespondenceMapSecondToFirst correspondence_map_2_to_1,
-                      VertexSizeFirst subgraph_size) {
-
-        if (subgraph_size > *m_largest_size_so_far) {
-          m_subgraphs->clear();
-          *m_largest_size_so_far = subgraph_size;
-        }
-
-        if (subgraph_size == *m_largest_size_so_far) {
-        
-          // Make a cached copy
-          CachedCorrespondenceMapFirstToSecond
-            new_subgraph_1_to_2 = CachedCorrespondenceMapFirstToSecond
-            (num_vertices(m_graph1), m_vindex_map1);
-
-          CachedCorrespondenceMapSecondToFirst
-            new_subgraph_2_to_1 = CachedCorrespondenceMapSecondToFirst
-            (num_vertices(m_graph2), m_vindex_map2);
-
-          BGL_FORALL_VERTICES_T(vertex1, m_graph1, GraphFirst) {
-            put(new_subgraph_1_to_2, vertex1, get(correspondence_map_1_to_2, vertex1));
-          }
-
-          BGL_FORALL_VERTICES_T(vertex2, m_graph2, GraphFirst) {
-            put(new_subgraph_2_to_1, vertex2, get(correspondence_map_2_to_1, vertex2));
-          }
-
-          m_subgraphs->push_back(std::make_pair(subgraph_size,
-            std::make_pair(new_subgraph_1_to_2,
-                           new_subgraph_2_to_1)));
-        }
-
-        return (true);
-      }
-
-      void output_subgraphs() {
-        for (typename SubGraphList::const_iterator
-               subgraph_iter = m_subgraphs->begin();
-             subgraph_iter != m_subgraphs->end();
-             ++subgraph_iter) {
-
-          SubGraph subgraph_cached = *subgraph_iter;
-          m_user_callback(subgraph_cached.second.first,
-                          subgraph_cached.second.second,
-                          subgraph_cached.first);
-        }
-      }
-
-    private:
-      const GraphFirst& m_graph1;
-      const GraphFirst& m_graph2;
-      const VertexIndexMapFirst m_vindex_map1;
-      const VertexIndexMapSecond m_vindex_map2;
-      shared_ptr<SubGraphList> m_subgraphs;
-      shared_ptr<VertexSizeFirst> m_largest_size_so_far;
-      SubGraphCallback m_user_callback;
-    };
-    
-  } // namespace detail
-
-  // Enumerates the largest common subgraphs found between graph1
-  // and graph2.  Note that the ENTIRE search space is explored before
-  // user_callback is actually invoked.
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename VertexIndexMapFirst,
-            typename VertexIndexMapSecond,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs_maximum
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   const VertexIndexMapFirst vindex_map1,
-   const VertexIndexMapSecond vindex_map2,
-   EdgeEquivalencePredicate edges_equivalent,
-   VertexEquivalencePredicate vertices_equivalent,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-    detail::maximum_subgraph_interceptor<GraphFirst, GraphSecond,
-      VertexIndexMapFirst, VertexIndexMapSecond, SubGraphCallback>
-      max_interceptor
-      (graph1, graph2, vindex_map1, vindex_map2, user_callback);
-      
-    detail::mcgregor_common_subgraphs_internal_init
-      (graph1, graph2,
-       vindex_map1, vindex_map2,
-       edges_equivalent, vertices_equivalent,
-       only_connected_subgraphs, max_interceptor);
-
-    // Only output the largest subgraphs
-    max_interceptor.output_subgraphs();
-  }
-
-  // Variant of mcgregor_common_subgraphs_maximum with all default
-  // parameters.
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs_maximum
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-    mcgregor_common_subgraphs_maximum
-      (graph1, graph2,
-       get(vertex_index, graph1), get(vertex_index, graph2),
-       always_equivalent(), always_equivalent(),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // Named parameter variant of mcgregor_common_subgraphs_maximum
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  void mcgregor_common_subgraphs_maximum
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback,
-   const bgl_named_params<Param, Tag, Rest>& params)
-  {
-    mcgregor_common_subgraphs_maximum
-      (graph1, graph2,
-       choose_const_pmap(get_param(params, vertex_index1),
-                         graph1, vertex_index),
-       choose_const_pmap(get_param(params, vertex_index2),
-                         graph2, vertex_index),
-       choose_param(get_param(params, edges_equivalent_t()),
-                    always_equivalent()),
-       choose_param(get_param(params, vertices_equivalent_t()),
-                    always_equivalent()),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // ==========================================================================
-
-  namespace detail {
-
-    // Binary function object that intercepts subgraphs from
-    // mcgregor_common_subgraphs_internal and maintains a cache of the
-    // largest, unique subgraphs.
-    template <typename GraphFirst,
-              typename GraphSecond,
-              typename VertexIndexMapFirst,
-              typename VertexIndexMapSecond,
-              typename SubGraphCallback>
-    struct unique_maximum_subgraph_interceptor {
-
-      typedef typename graph_traits<GraphFirst>::vertices_size_type
-        VertexSizeFirst;
-
-      typedef mcgregor_common_subgraph_traits<GraphFirst, GraphSecond,
-        VertexIndexMapFirst, VertexIndexMapSecond> SubGraphTraits;
-        
-      typedef typename SubGraphTraits::correspondence_map_first_to_second_type
-        CachedCorrespondenceMapFirstToSecond;
-
-      typedef typename SubGraphTraits::correspondence_map_second_to_first_type
-        CachedCorrespondenceMapSecondToFirst;
-
-      typedef std::pair<VertexSizeFirst,
-        std::pair<CachedCorrespondenceMapFirstToSecond,
-                  CachedCorrespondenceMapSecondToFirst> > SubGraph;
-
-      typedef std::vector<SubGraph> SubGraphList;
-
-      unique_maximum_subgraph_interceptor(const GraphFirst& graph1,
-                                          const GraphSecond& graph2,
-                                          const VertexIndexMapFirst vindex_map1,
-                                          const VertexIndexMapSecond vindex_map2,
-                                          SubGraphCallback user_callback) :                                  
-        m_graph1(graph1), m_graph2(graph2),
-        m_vindex_map1(vindex_map1), m_vindex_map2(vindex_map2),
-        m_subgraphs(make_shared<SubGraphList>()),
-        m_largest_size_so_far(make_shared<VertexSizeFirst>(0)),
-        m_user_callback(user_callback) { }        
-      
-      template <typename CorrespondenceMapFirstToSecond,
-                typename CorrespondenceMapSecondToFirst>
-      bool operator()(CorrespondenceMapFirstToSecond correspondence_map_1_to_2,
-                      CorrespondenceMapSecondToFirst correspondence_map_2_to_1,
-                      VertexSizeFirst subgraph_size) {
-
-        if (subgraph_size > *m_largest_size_so_far) {
-          m_subgraphs->clear();
-          *m_largest_size_so_far = subgraph_size;
-        }
-
-        if (subgraph_size == *m_largest_size_so_far) {
-
-          // Check if subgraph is unique
-          for (typename SubGraphList::const_iterator
-                 subgraph_iter = m_subgraphs->begin();
-               subgraph_iter != m_subgraphs->end();
-               ++subgraph_iter) {
-  
-            SubGraph subgraph_cached = *subgraph_iter;
-  
-            if (!are_property_maps_different(correspondence_map_1_to_2,
-                                             subgraph_cached.second.first,
-                                             m_graph1)) {
-                                      
-              // New subgraph is a duplicate
-              return (true);
-            }
-          }
-    
-          // Subgraph is unique, so make a cached copy
-          CachedCorrespondenceMapFirstToSecond
-            new_subgraph_1_to_2 = CachedCorrespondenceMapFirstToSecond
-            (num_vertices(m_graph1), m_vindex_map1);
-
-          CachedCorrespondenceMapSecondToFirst
-            new_subgraph_2_to_1 = CachedCorrespondenceMapSecondToFirst
-            (num_vertices(m_graph2), m_vindex_map2);
-
-          BGL_FORALL_VERTICES_T(vertex1, m_graph1, GraphFirst) {
-            put(new_subgraph_1_to_2, vertex1, get(correspondence_map_1_to_2, vertex1));
-          }
-
-          BGL_FORALL_VERTICES_T(vertex2, m_graph2, GraphFirst) {
-            put(new_subgraph_2_to_1, vertex2, get(correspondence_map_2_to_1, vertex2));
-          }
-
-          m_subgraphs->push_back(std::make_pair(subgraph_size,
-            std::make_pair(new_subgraph_1_to_2,
-                           new_subgraph_2_to_1)));
-        }
-    
-        return (true);
-      }
-
-      void output_subgraphs() {
-        for (typename SubGraphList::const_iterator
-               subgraph_iter = m_subgraphs->begin();
-             subgraph_iter != m_subgraphs->end();
-             ++subgraph_iter) {
-
-          SubGraph subgraph_cached = *subgraph_iter;
-          m_user_callback(subgraph_cached.second.first,
-                          subgraph_cached.second.second,
-                          subgraph_cached.first);
-        }
-      }
-    
-    private:
-      const GraphFirst& m_graph1;
-      const GraphFirst& m_graph2;
-      const VertexIndexMapFirst m_vindex_map1;
-      const VertexIndexMapSecond m_vindex_map2;
-      shared_ptr<SubGraphList> m_subgraphs;
-      shared_ptr<VertexSizeFirst> m_largest_size_so_far;
-      SubGraphCallback m_user_callback;
-    };
-    
-  } // namespace detail
-
-  // Enumerates the largest, unique common subgraphs found between
-  // graph1 and graph2.  Note that the ENTIRE search space is explored
-  // before user_callback is actually invoked.
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename VertexIndexMapFirst,
-            typename VertexIndexMapSecond,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs_maximum_unique
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   const VertexIndexMapFirst vindex_map1,
-   const VertexIndexMapSecond vindex_map2,
-   EdgeEquivalencePredicate edges_equivalent,
-   VertexEquivalencePredicate vertices_equivalent,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-    detail::unique_maximum_subgraph_interceptor<GraphFirst, GraphSecond,
-      VertexIndexMapFirst, VertexIndexMapSecond, SubGraphCallback>
-      unique_max_interceptor
-      (graph1, graph2, vindex_map1, vindex_map2, user_callback);
-      
-    detail::mcgregor_common_subgraphs_internal_init
-      (graph1, graph2,
-       vindex_map1, vindex_map2,
-       edges_equivalent, vertices_equivalent,
-       only_connected_subgraphs, unique_max_interceptor);
-
-    // Only output the largest, unique subgraphs
-    unique_max_interceptor.output_subgraphs();
-  }
-
-  // Variant of mcgregor_common_subgraphs_maximum_unique with all default parameters
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback>
-  void mcgregor_common_subgraphs_maximum_unique
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback)
-  {
-
-    mcgregor_common_subgraphs_maximum_unique
-      (graph1, graph2,
-       get(vertex_index, graph1), get(vertex_index, graph2),
-       always_equivalent(), always_equivalent(),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // Named parameter variant of
-  // mcgregor_common_subgraphs_maximum_unique
-  template <typename GraphFirst,
-            typename GraphSecond,
-            typename SubGraphCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  void mcgregor_common_subgraphs_maximum_unique
-  (const GraphFirst& graph1,
-   const GraphSecond& graph2,
-   bool only_connected_subgraphs,
-   SubGraphCallback user_callback,
-   const bgl_named_params<Param, Tag, Rest>& params)
-  {
-    mcgregor_common_subgraphs_maximum_unique
-      (graph1, graph2,
-       choose_const_pmap(get_param(params, vertex_index1),
-                         graph1, vertex_index),
-       choose_const_pmap(get_param(params, vertex_index2),
-                         graph2, vertex_index),
-       choose_param(get_param(params, edges_equivalent_t()),
-                    always_equivalent()),
-       choose_param(get_param(params, vertices_equivalent_t()),
-                    always_equivalent()),
-       only_connected_subgraphs, user_callback);
-  }
-
-  // ==========================================================================
-
-  // Fills a membership map (vertex -> bool) using the information
-  // present in correspondence_map_1_to_2. Every vertex in a
-  // membership map will have a true value only if it is not
-  // associated with a null vertex in the correspondence map.
-  template <typename GraphSecond,
-            typename GraphFirst,
-            typename CorrespondenceMapFirstToSecond,
-            typename MembershipMapFirst>
-  void fill_membership_map
-  (const GraphFirst& graph1,
-   const CorrespondenceMapFirstToSecond correspondence_map_1_to_2,
-   MembershipMapFirst membership_map1) {
-
-    BGL_FORALL_VERTICES_T(vertex1, graph1, GraphFirst) {
-      put(membership_map1, vertex1,
-          get(correspondence_map_1_to_2, vertex1) != graph_traits<GraphSecond>::null_vertex());
-    }
-
-  }
-
-  // Traits associated with a membership map filtered graph.  Provided
-  // for convenience to access graph and vertex filter types.
-  template <typename Graph,
-            typename MembershipMap>
-  struct membership_filtered_graph_traits {
-    typedef property_map_filter<MembershipMap> vertex_filter_type;
-    typedef filtered_graph<Graph, keep_all, vertex_filter_type> graph_type;
-  };
-
-  // Returns a filtered sub-graph of graph whose edge and vertex
-  // inclusion is dictated by membership_map.
-  template <typename Graph,
-            typename MembershipMap>            
-  typename membership_filtered_graph_traits<Graph, MembershipMap>::graph_type
-  make_membership_filtered_graph
-  (const Graph& graph,
-   MembershipMap& membership_map) {
-
-    typedef membership_filtered_graph_traits<Graph, MembershipMap> MFGTraits;
-    typedef typename MFGTraits::graph_type MembershipFilteredGraph;
-
-    typename MFGTraits::vertex_filter_type v_filter(membership_map);
-
-    return (MembershipFilteredGraph(graph, keep_all(), v_filter));
-    
-  }
-  
-} // namespace boost
-
-#endif // BOOST_GRAPH_MCGREGOR_COMMON_SUBGRAPHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/mesh_graph_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/mesh_graph_generator.hpp
deleted file mode 100644
index 141eca3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/mesh_graph_generator.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2004, 2005 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: Nick Edmonds
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_MESH_GENERATOR_HPP
-#define BOOST_GRAPH_MESH_GENERATOR_HPP
-
-#include <iterator>
-#include <utility>
-#include <boost/assert.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost {
-
-  template<typename Graph>
-  class mesh_iterator
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type 
-      vertices_size_type;
-
-    BOOST_STATIC_CONSTANT
-      (bool,
-       is_undirected = (is_base_and_derived<undirected_tag,
-                                            directed_category>::value
-                        || is_same<undirected_tag, directed_category>::value));
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef void difference_type;
-
-    mesh_iterator()
-      : x(0), y(0), done(true) { }
-
-    // Vertices are numbered in row-major order
-    // Assumes directed
-    mesh_iterator(vertices_size_type x, vertices_size_type y, 
-                  bool toroidal = true)
-      : x(x), y(y), n(x*y), source(0), target(1), current(0,1), 
-        toroidal(toroidal), done(false)
-    { BOOST_ASSERT(x > 1 && y > 1); }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-    
-    mesh_iterator& operator++()
-    {
-      if (is_undirected) {
-        if (!toroidal) {
-          if (target == source + 1)
-            if (source < x * (y - 1))
-              target = source + x;
-            else {
-              source++;
-              target = (source % x) < x - 1 ? source + 1 : source + x;
-              if (target > n) 
-                done = true;
-            }
-          else if (target == source + x) {
-            source++;
-            target = (source % x) < x - 1 ? source + 1 : source + x;
-          }
-        } else {
-          if (target == source + 1 || target == source - (source % x))
-            target = (source + x) % n;
-          else if (target == (source + x) % n) {
-            if (source == n - 1)
-              done = true;
-            else {
-              source++;
-              target = (source % x) < (x - 1) ? source + 1 : source - (source % x);
-            }
-          }
-        }
-      } else { // Directed
-        if ( !toroidal ) {
-          if (target == source - x) 
-            target = source % x > 0 ? source - 1 : source + 1;
-          else if (target == source - 1)
-            if ((source % x) < (x - 1))
-              target = source + 1;
-            else if (source < x * (y - 1))
-              target = source + x;
-            else {
-              done = true;
-            }
-          else if (target == source + 1)
-            if (source < x * (y - 1))
-              target = source + x;
-            else {
-              source++;
-              target = source - x;
-            }
-          else if (target == source + x) {
-            source++;
-            target = (source >= x) ? source - x : source - 1;
-          }
-        } else {
-          if (source == n - 1 && target == (source + x) % n)
-            done = true;
-          else if (target == source - 1 || target == source + x - 1)
-            target = (source + x) % n;
-          else if (target == source + 1 || target == source - (source % x))
-            target = (source - x + n) % n;
-          else if (target == (source - x + n) % n)
-            target = (source % x > 0) ? source - 1 : source + x - 1;
-          else if (target == (source + x) % n) {
-            source++;
-            target = (source % x) < (x - 1) ? source + 1 : source - (source % x);
-          }
-        }
-      }
-
-      current.first = source;
-      current.second = target;
-
-      return *this;
-    }
-
-    mesh_iterator operator++(int)
-    {
-      mesh_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const mesh_iterator& other) const
-    {
-      return done == other.done;
-    }
-
-    bool operator!=(const mesh_iterator& other) const
-    { return !(*this == other); }
-
-  private: 
-
-    vertices_size_type x,y;
-    vertices_size_type n;
-    vertices_size_type source;
-    vertices_size_type target;
-    value_type current;
-    bool toroidal;
-    bool done;
-  };
-
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_MESH_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/metis.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/metis.hpp
deleted file mode 100644
index f16cac2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/metis.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_METIS_HPP
-#define BOOST_GRAPH_METIS_HPP
-
-#ifdef BOOST_GRAPH_METIS_NO_INLINE
-#  define BOOST_GRAPH_METIS_INLINE_KEYWORD
-#else
-#  define BOOST_GRAPH_METIS_INLINE_KEYWORD inline
-#endif
-
-#include <string>
-#include <iostream>
-#include <iterator>
-#include <utility>
-#include <sstream>
-#include <exception>
-#include <vector>
-#include <algorithm>
-
-namespace boost { namespace graph {
-
-class metis_exception : public std::exception {};
-class metis_input_exception : public metis_exception {};
-
-class metis_reader
-{
- public:
-  typedef std::size_t vertices_size_type;
-  typedef std::size_t edges_size_type;
-  typedef double vertex_weight_type;
-  typedef double edge_weight_type;
-
-  class edge_iterator
-  {
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef std::ptrdiff_t difference_type;
-
-  private:
-    class postincrement_proxy
-    {
-      postincrement_proxy(const value_type& value) : value(value) { }
-
-    public:
-      reference operator*() const { return value; }
-
-    private:
-      value_type value;
-      friend class edge_iterator;
-    };
-    
-  public:
-    edge_iterator& operator++();
-    postincrement_proxy operator++(int);
-
-    reference operator*() const { return self->edge; }
-    pointer operator->() const { return &self->edge; }
-
-    // Default copy constructor and assignment operator are okay
-
-  private:
-    edge_iterator(metis_reader* self);
-    void advance(bool skip_initial_read);
-    
-    metis_reader* self;
-
-    friend class metis_reader;
-    friend bool operator==(edge_iterator, edge_iterator);
-    friend bool operator!=(edge_iterator, edge_iterator);
-  };
-  friend class edge_iterator;
-
-  class edge_weight_iterator
-  {
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef edge_weight_type value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-
-    // Default copy constructor and assignment operator are okay
-
-    reference operator*() const { return self->edge_weight; }
-    pointer operator->() const { return &self->edge_weight; }
-
-    edge_weight_iterator& operator++() { return *this; }
-    edge_weight_iterator operator++(int) { return *this; }
-
-  private:
-    edge_weight_iterator(metis_reader* self) : self(self) { }
-
-    metis_reader* self;
-    
-    friend class metis_reader;
-  };
-  
-  metis_reader(std::istream& in) : in(in), edge_weight(1.0) { start(); }
-
-  edge_iterator begin();
-  edge_iterator end();
-  edge_weight_iterator weight_begin();
-
-  vertices_size_type num_vertices() const { return n_vertices; }
-  edges_size_type num_edges() const { return n_edges; }
-
-  std::size_t num_vertex_weights() const { return n_vertex_weights; }
-
-  vertex_weight_type vertex_weight(vertices_size_type v, std::size_t n)
-  { return vertex_weights[v*num_vertex_weights() + n]; }
-
-  bool has_edge_weights() const { return edge_weights; }
-
- private:
-  void start();
-
-  // Configuration information
-  std::istream& in;
-
-  // Information about the current METIS file
-  vertices_size_type n_vertices;
-  edges_size_type n_edges;
-  std::size_t n_vertex_weights;
-  bool edge_weights;
-
-  // Information about the current edge/vertex
-  std::istringstream line_in;
-  std::pair<vertices_size_type, vertices_size_type> edge;
-  std::vector<vertex_weight_type> vertex_weights;
-  edge_weight_type edge_weight;    
-
-  friend bool operator==(edge_iterator, edge_iterator);
-  friend bool operator!=(edge_iterator, edge_iterator);
-};
-
-class metis_distribution
-{
- public:  
-  typedef int process_id_type;
-  typedef std::size_t size_type;
-  typedef std::vector<process_id_type>::iterator iterator;
-
-  metis_distribution(std::istream& in, process_id_type my_id);
-  
-  size_type block_size(process_id_type id, size_type) const;
-  process_id_type operator()(size_type n) const { return vertices[n]; }
-  size_type local(size_type n) const;
-  size_type global(size_type n) const { return global(my_id, n); }
-  size_type global(process_id_type id, size_type n) const;
-
-  iterator begin() { return vertices.begin(); }
-  iterator end()   { return vertices.end(); }
-
- private:
-  std::istream& in;
-  process_id_type my_id;
-  std::vector<process_id_type> vertices;
-};
-
-#if !defined(BOOST_GRAPH_METIS_NO_INLINE) || defined(BOOST_GRAPH_METIS_SOURCE)
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-bool operator==(metis_reader::edge_iterator x, metis_reader::edge_iterator y)
-{
-  return (x.self == y.self
-          || (x.self && x.self->edge.first == x.self->num_vertices())
-          || (y.self && y.self->edge.first == y.self->num_vertices()));
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-bool operator!=(metis_reader::edge_iterator x, metis_reader::edge_iterator y)
-{
-  return !(x == y);
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-metis_reader::edge_iterator::edge_iterator(metis_reader* self) 
-  : self(self) 
-{
-  if (self) advance(true);
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-metis_reader::edge_iterator& metis_reader::edge_iterator::operator++()
-{
-  advance(false);
-  return *this;
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-void metis_reader::edge_iterator::advance(bool skip_initial_read)
-{
-  do {
-
-    if (!skip_initial_read) {
-      // Try to read the next edge
-      if (self->line_in >> std::ws >> self->edge.second) {
-        --self->edge.second;
-        if (self->has_edge_weights()) {
-          if (!(self->line_in >> self->edge_weight))
-            boost::throw_exception(metis_input_exception());
-        }
-        return;
-      }
-
-      // Check if we're done
-      ++self->edge.first;
-      if (self->edge.first == self->num_vertices())
-        return;
-    }
-
-    // Find the next line
-    std::string line;
-    while (getline(self->in, line) && !line.empty() && line[0] == '%') {
-      /* Keep reading lines in the loop header... */
-    }
-    if (!self->in) boost::throw_exception(metis_input_exception());
-    self->line_in.str(line);
-    self->line_in.clear();
-
-    // Read the next line
-    std::size_t weights_left = self->n_vertex_weights;
-    vertex_weight_type weight;
-    while (weights_left > 0) {
-      if (self->line_in >> weight) self->vertex_weights.push_back(weight);
-      else boost::throw_exception(metis_input_exception());
-      --weights_left;
-    }
-
-    // Successive iterations will pick up edges for this vertex.
-    skip_initial_read = false;
-  } while (true);
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-metis_reader::edge_iterator::postincrement_proxy 
-metis_reader::edge_iterator::operator++(int)
-{
-  postincrement_proxy result(**this);
-  ++(*this);
-  return result;
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-metis_reader::edge_iterator metis_reader::begin()
-{
-  if (edge.first != 0) start();
-  return edge_iterator(this);
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-metis_reader::edge_iterator metis_reader::end()
-{
-  return edge_iterator(0);
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-metis_reader::edge_weight_iterator metis_reader::weight_begin()
-{
-  return edge_weight_iterator(this);
-}
-
-BOOST_GRAPH_METIS_INLINE_KEYWORD
-void metis_reader::start()
-{
-  in.seekg(0, std::ios::beg);
-  std::string line;
-  while (getline(in, line) && !line.empty() && line[0] == '%') {
-    /* Keep getting lines in loop header. */
-  }
-
-  if (!in || line.empty()) boost::throw_exception(metis_input_exception());
-
-  // Determine number of vertices and edges in the graph
-  line_in.str(line);
-  if (!(line_in >> n_vertices >> n_edges)) boost::throw_exception(metis_input_exception());
-
-  // Determine whether vertex or edge weights are included in the graph
-  int fmt = 0;
-  line_in >> fmt;
-  n_vertex_weights = fmt / 10;
-  edge_weights = (fmt % 10 == 1);
-  
-  // Determine how many (if any!) vertex weights are included
-  if (n_vertex_weights) line_in >> n_vertex_weights;
-
-  // Setup the iteration data structures
-  edge_weight = 1.0;
-  edge.first = 0;
-  edge.second = 0;
-  vertex_weights.reserve(n_vertex_weights * num_vertices());
-}
-
-metis_distribution::metis_distribution(std::istream& in, process_id_type my_id)
-  : in(in), my_id(my_id), 
-    vertices(std::istream_iterator<process_id_type>(in),
-             std::istream_iterator<process_id_type>())
-{
-}
-
-
-metis_distribution::size_type 
-metis_distribution::block_size(process_id_type id, size_type) const
-{
-  return std::count(vertices.begin(), vertices.end(), id);
-}
-
-metis_distribution::size_type metis_distribution::local(size_type n) const
-{
-  return std::count(vertices.begin(), vertices.begin() + n, vertices[n]);
-}
-
-metis_distribution::size_type 
-metis_distribution::global(process_id_type id, size_type n) const
-{
-  std::vector<process_id_type>::const_iterator i = vertices.begin();
-  while (*i != id) ++i;
-
-  while (n > 0) {
-    do { ++i; } while (*i != id); 
-    --n;
-  }
-
-  return i - vertices.begin();
-}
-
-#endif
-
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_METIS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/metric_tsp_approx.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/metric_tsp_approx.hpp
deleted file mode 100644
index c8e7dba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/metric_tsp_approx.hpp
+++ /dev/null
@@ -1,313 +0,0 @@
-
-//=======================================================================
-// Copyright 2008
-// Author: Matyas W Egyhazy
-//
-// Distributed under the 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_GRAPH_METRIC_TSP_APPROX_HPP
-#define BOOST_GRAPH_METRIC_TSP_APPROX_HPP
-
-// metric_tsp_approx
-// Generates an approximate tour solution for the traveling salesperson
-// problem in polynomial time. The current algorithm guarantees a tour with a
-// length at most as long as 2x optimal solution. The graph should have
-// 'natural' (metric) weights such that the triangle inequality is maintained.
-// Graphs must be fully interconnected.
-
-// TODO:
-// There are a couple of improvements that could be made.
-// 1) Change implementation to lower uppper bound Christofides heuristic
-// 2) Implement a less restrictive TSP heuristic (one that does not rely on
-//    triangle inequality).
-// 3) Determine if the algorithm can be implemented without creating a new
-//    graph.
-
-#include <vector>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_as_tree.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/prim_minimum_spanning_tree.hpp>
-#include <boost/graph/lookup_edge.hpp>
-#include <boost/throw_exception.hpp>
-
-namespace boost
-{
-    // Define a concept for the concept-checking library.
-    template <typename Visitor, typename Graph>
-    struct TSPVertexVisitorConcept
-    {
-    private:
-        Visitor vis_;
-    public:
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-        BOOST_CONCEPT_USAGE(TSPVertexVisitorConcept)
-        {
-            Visitor vis(vis_);  // require copy construction
-            Graph g(1);
-            Vertex v(*vertices(g).first);
-            vis_.visit_vertex(v, g); // require visit_vertex
-        }
-    };
-
-    // Tree visitor that keeps track of a preorder traversal of a tree
-    // TODO: Consider migrating this to the graph_as_tree header.
-    // TODO: Parameterize the underlying stores o it doesn't have to be a vector.
-    template<typename Node, typename Tree> class PreorderTraverser
-    {
-    private:
-        std::vector<Node>& path_;
-    public:
-        typedef typename std::vector<Node>::const_iterator const_iterator;
-
-        PreorderTraverser(std::vector<Node>& p) : path_(p) {}
-
-        void preorder(Node n, const Tree&)
-        { path_.push_back(n); }
-
-        void inorder(Node, const Tree&) const {}
-        void postorder(Node, const Tree&) const {}
-
-        const_iterator begin() const { return path_.begin(); }
-        const_iterator end() const { return path_.end(); }
-    };
-
-    // Forward declarations
-    template <typename> class tsp_tour_visitor;
-    template <typename, typename, typename, typename> class tsp_tour_len_visitor;
-
-    template<typename VertexListGraph, typename OutputIterator>
-    void metric_tsp_approx_tour(VertexListGraph& g, OutputIterator o)
-    {
-        metric_tsp_approx_from_vertex(g, *vertices(g).first,
-            get(edge_weight, g), get(vertex_index, g),
-            tsp_tour_visitor<OutputIterator>(o));
-    }
-
-    template<typename VertexListGraph, typename WeightMap, typename OutputIterator>
-    void metric_tsp_approx_tour(VertexListGraph& g, WeightMap w, OutputIterator o)
-    {
-        metric_tsp_approx_from_vertex(g, *vertices(g).first,
-            w, tsp_tour_visitor<OutputIterator>(o));
-    }
-
-    template<typename VertexListGraph, typename OutputIterator>
-    void metric_tsp_approx_tour_from_vertex(VertexListGraph& g,
-        typename graph_traits<VertexListGraph>::vertex_descriptor start,
-        OutputIterator o)
-    {
-        metric_tsp_approx_from_vertex(g, start, get(edge_weight, g),
-            get(vertex_index, g), tsp_tour_visitor<OutputIterator>(o));
-    }
-
-    template<typename VertexListGraph, typename WeightMap,
-        typename OutputIterator>
-    void metric_tsp_approx_tour_from_vertex(VertexListGraph& g,
-    typename graph_traits<VertexListGraph>::vertex_descriptor start,
-        WeightMap w, OutputIterator o)
-    {
-        metric_tsp_approx_from_vertex(g, start, w, get(vertex_index, g),
-            tsp_tour_visitor<OutputIterator>(o));
-    }
-
-    template<typename VertexListGraph, typename TSPVertexVisitor>
-    void metric_tsp_approx(VertexListGraph& g, TSPVertexVisitor vis)
-    {
-        metric_tsp_approx_from_vertex(g, *vertices(g).first,
-            get(edge_weight, g), get(vertex_index, g), vis);
-    }
-
-    template<typename VertexListGraph, typename Weightmap,
-        typename VertexIndexMap, typename TSPVertexVisitor>
-    void metric_tsp_approx(VertexListGraph& g, Weightmap w,
-        TSPVertexVisitor vis)
-    {
-        metric_tsp_approx_from_vertex(g, *vertices(g).first, w,
-            get(vertex_index, g), vis);
-    }
-
-    template<typename VertexListGraph, typename WeightMap,
-        typename VertexIndexMap, typename TSPVertexVisitor>
-    void metric_tsp_approx(VertexListGraph& g, WeightMap w, VertexIndexMap id,
-        TSPVertexVisitor vis)
-    {
-        metric_tsp_approx_from_vertex(g, *vertices(g).first, w, id, vis);
-    }
-
-    template<typename VertexListGraph, typename WeightMap,
-        typename TSPVertexVisitor>
-    void metric_tsp_approx_from_vertex(VertexListGraph& g,
-    typename graph_traits<VertexListGraph>::vertex_descriptor start,
-        WeightMap w, TSPVertexVisitor vis)
-    {
-        metric_tsp_approx_from_vertex(g, start, w, get(vertex_index, g), vis);
-    }
-
-    template <
-        typename VertexListGraph,
-        typename WeightMap,
-        typename VertexIndexMap,
-        typename TSPVertexVisitor>
-    void metric_tsp_approx_from_vertex(const VertexListGraph& g,
-                                       typename graph_traits<VertexListGraph>::vertex_descriptor start,
-                                       WeightMap weightmap,
-                                       VertexIndexMap indexmap,
-                                       TSPVertexVisitor vis)
-    {
-        using namespace boost;
-        using namespace std;
-
-        BOOST_CONCEPT_ASSERT((VertexListGraphConcept<VertexListGraph>));
-        BOOST_CONCEPT_ASSERT((TSPVertexVisitorConcept<TSPVertexVisitor, VertexListGraph>));
-
-        // Types related to the input graph (GVertex is a template parameter).
-        typedef typename graph_traits<VertexListGraph>::vertex_descriptor GVertex;
-        typedef typename graph_traits<VertexListGraph>::vertex_iterator GVItr;
-
-        // We build a custom graph in this algorithm.
-        typedef adjacency_list <vecS, vecS, directedS, no_property, no_property > MSTImpl;
-        typedef graph_traits<MSTImpl>::vertex_descriptor Vertex;
-        typedef graph_traits<MSTImpl>::vertex_iterator VItr;
-
-        // And then re-cast it as a tree.
-        typedef iterator_property_map<vector<Vertex>::iterator, property_map<MSTImpl, vertex_index_t>::type> ParentMap;
-        typedef graph_as_tree<MSTImpl, ParentMap> Tree;
-        typedef tree_traits<Tree>::node_descriptor Node;
-
-        // A predecessor map.
-        typedef vector<GVertex> PredMap;
-        typedef iterator_property_map<typename PredMap::iterator, VertexIndexMap> PredPMap;
-
-        PredMap preds(num_vertices(g));
-        PredPMap pred_pmap(preds.begin(), indexmap);
-
-        // Compute a spanning tree over the in put g.
-        prim_minimum_spanning_tree(g, pred_pmap,
-             root_vertex(start)
-            .vertex_index_map(indexmap)
-            .weight_map(weightmap));
-
-        // Build a MST using the predecessor map from prim mst
-        MSTImpl mst(num_vertices(g));
-        std::size_t cnt = 0;
-        pair<VItr, VItr> mst_verts(vertices(mst));
-        for(typename PredMap::iterator vi(preds.begin()); vi != preds.end(); ++vi, ++cnt)
-        {
-            if(indexmap[*vi] != cnt) {
-                add_edge(*next(mst_verts.first, indexmap[*vi]),
-                         *next(mst_verts.first, cnt), mst);
-            }
-        }
-
-        // Build a tree abstraction over the MST.
-        vector<Vertex> parent(num_vertices(mst));
-        Tree t(mst, *vertices(mst).first,
-            make_iterator_property_map(parent.begin(),
-            get(vertex_index, mst)));
-
-        // Create tour using a preorder traversal of the mst
-        vector<Node> tour;
-        PreorderTraverser<Node, Tree> tvis(tour);
-        traverse_tree(indexmap[start], t, tvis);
-
-        pair<GVItr, GVItr> g_verts(vertices(g));
-        for(PreorderTraverser<Node, Tree>::const_iterator curr(tvis.begin());
-            curr != tvis.end(); ++curr)
-        {
-            // TODO: This is will be O(n^2) if vertex storage of g != vecS.
-            GVertex v = *next(g_verts.first, get(vertex_index, mst)[*curr]);
-            vis.visit_vertex(v, g);
-        }
-
-        // Connect back to the start of the tour
-        vis.visit_vertex(start, g);
-    }
-
-    // Default tsp tour visitor that puts the tour in an OutputIterator
-    template <typename OutItr>
-    class tsp_tour_visitor
-    {
-        OutItr itr_;
-    public:
-        tsp_tour_visitor(OutItr itr)
-            : itr_(itr)
-        { }
-
-        template <typename Vertex, typename Graph>
-        void visit_vertex(Vertex v, const Graph&)
-        {
-            BOOST_CONCEPT_ASSERT((OutputIterator<OutItr, Vertex>));
-            *itr_++ = v;
-        }
-
-    };
-
-    // Tsp tour visitor that adds the total tour length.
-    template<typename Graph, typename WeightMap, typename OutIter, typename Length>
-    class tsp_tour_len_visitor
-    {
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        BOOST_CONCEPT_ASSERT((OutputIterator<OutIter, Vertex>));
-
-        OutIter iter_;
-        Length& tourlen_;
-        WeightMap& wmap_;
-        Vertex previous_;
-
-        // Helper function for getting the null vertex.
-        Vertex null()
-        { return graph_traits<Graph>::null_vertex(); }
-
-    public:
-        tsp_tour_len_visitor(Graph const&, OutIter iter, Length& l, WeightMap map)
-            : iter_(iter), tourlen_(l), wmap_(map), previous_(null())
-        { }
-
-        void visit_vertex(Vertex v, const Graph& g)
-        {
-            typedef typename graph_traits<Graph>::edge_descriptor Edge;
-
-            // If it is not the start, then there is a
-            // previous vertex
-            if(previous_ != null())
-            {
-                // NOTE: For non-adjacency matrix graphs g, this bit of code
-                // will be linear in the degree of previous_ or v. A better
-                // solution would be to visit edges of the graph, but that
-                // would require revisiting the core algorithm.
-                Edge e;
-                bool found;
-                boost::tie(e, found) = lookup_edge(previous_, v, g);
-                if(!found) {
-                    BOOST_THROW_EXCEPTION(not_complete());
-                }
-
-                tourlen_ += wmap_[e];
-            }
-
-            previous_ = v;
-            *iter_++ = v;
-        }
-    };
-
-    // Object generator(s)
-    template <typename OutIter>
-    inline tsp_tour_visitor<OutIter>
-    make_tsp_tour_visitor(OutIter iter)
-    { return tsp_tour_visitor<OutIter>(iter); }
-
-    template <typename Graph, typename WeightMap, typename OutIter, typename Length>
-    inline tsp_tour_len_visitor<Graph, WeightMap, OutIter, Length>
-    make_tsp_tour_len_visitor(Graph const& g, OutIter iter, Length& l, WeightMap map)
-    { return tsp_tour_len_visitor<Graph, WeightMap, OutIter, Length>(g, iter, l, map); }
-
-} //boost
-
-#endif // BOOST_GRAPH_METRIC_TSP_APPROX_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/minimum_degree_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/minimum_degree_ordering.hpp
deleted file mode 100644
index 1e171da..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/minimum_degree_ordering.hpp
+++ /dev/null
@@ -1,655 +0,0 @@
-//-*-c++-*-
-//=======================================================================
-// Copyright 1997-2001 University of Notre Dame.
-// Authors: Lie-Quan Lee, Jeremy Siek
-//
-// Distributed under the 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 MINIMUM_DEGREE_ORDERING_HPP
-#define MINIMUM_DEGREE_ORDERING_HPP
-
-#include <vector>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/pending/bucket_sorter.hpp>
-#include <boost/detail/numeric_traits.hpp> // for integer_traits
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-    // 
-    // Given a set of n integers (where the integer values range from
-    // zero to n-1), we want to keep track of a collection of stacks
-    // of integers. It so happens that an integer will appear in at
-    // most one stack at a time, so the stacks form disjoint sets.
-    // Because of these restrictions, we can use one big array to
-    // store all the stacks, intertwined with one another.
-    // No allocation/deallocation happens in the push()/pop() methods
-    // so this is faster than using std::stack's.
-    //
-    template <class SignedInteger>
-    class Stacks {
-      typedef SignedInteger value_type;
-      typedef typename std::vector<value_type>::size_type size_type;
-    public:
-      Stacks(size_type n) : data(n) {}
-      
-      //: stack 
-      class stack {
-        typedef typename std::vector<value_type>::iterator Iterator;
-      public:
-        stack(Iterator _data, const value_type& head)
-          :  data(_data), current(head) {}
-
-        // did not use default argument here to avoid internal compiler error
-        // in g++.
-        stack(Iterator _data)
-          : data(_data), current(-(std::numeric_limits<value_type>::max)()) {}
-        
-        void pop() {
-          BOOST_ASSERT(! empty());
-          current = data[current];
-        }
-        void push(value_type v) {
-          data[v] = current; 
-          current = v;
-        }
-        bool empty() {
-          return current == -(std::numeric_limits<value_type>::max)(); 
-        }
-        value_type& top() { return current; }
-      private:
-        Iterator data;
-        value_type current;
-      };
-
-      // To return a stack object 
-      stack make_stack()
-        { return stack(data.begin()); }
-    protected:
-      std::vector<value_type> data;
-    };
-
-
-    // marker class, a generalization of coloring. 
-    //
-    // This class is to provide a generalization of coloring which has
-    // complexity of amortized constant time to set all vertices' color
-    // back to be untagged. It implemented by increasing a tag.
-    //
-    // The colors are:
-    //   not tagged 
-    //   tagged
-    //   multiple_tagged
-    //   done
-    //
-    template <class SignedInteger, class Vertex, class VertexIndexMap>
-    class Marker {
-      typedef SignedInteger value_type;
-      typedef typename std::vector<value_type>::size_type size_type;
-      
-      static value_type done() 
-      { return (std::numeric_limits<value_type>::max)()/2; }
-    public:
-      Marker(size_type _num, VertexIndexMap index_map) 
-        : tag(1 - (std::numeric_limits<value_type>::max)()),
-          data(_num, - (std::numeric_limits<value_type>::max)()),
-          id(index_map) {}
-      
-      void mark_done(Vertex node) { data[get(id, node)] = done(); }
-      
-      bool is_done(Vertex node) { return data[get(id, node)] == done(); }
-      
-      void mark_tagged(Vertex node) { data[get(id, node)] = tag; }
-      
-      void mark_multiple_tagged(Vertex node) { data[get(id, node)] = multiple_tag; }
-  
-      bool is_tagged(Vertex node) const { return data[get(id, node)] >= tag; }
-
-      bool is_not_tagged(Vertex node) const { return data[get(id, node)] < tag; }
-
-      bool is_multiple_tagged(Vertex node) const 
-        { return data[get(id, node)] >= multiple_tag; }
-
-      void increment_tag() {
-        const size_type num = data.size();
-        ++tag;
-        if ( tag >= done() ) {
-          tag = 1 - (std::numeric_limits<value_type>::max)();
-          for (size_type i = 0; i < num; ++i)
-            if ( data[i] < done() ) 
-              data[i] = - (std::numeric_limits<value_type>::max)();
-        }
-      }
-      
-      void set_multiple_tag(value_type mdeg0) 
-      { 
-        const size_type num = data.size();
-        multiple_tag = tag + mdeg0; 
-        
-        if ( multiple_tag >= done() ) {
-          tag = 1-(std::numeric_limits<value_type>::max)();
-          
-          for (size_type i=0; i<num; i++)
-            if ( data[i] < done() ) 
-              data[i] = -(std::numeric_limits<value_type>::max)();
-          
-          multiple_tag = tag + mdeg0; 
-        }
-      }
-      
-      void set_tag_as_multiple_tag() { tag = multiple_tag; }
-      
-    protected:
-      value_type tag;
-      value_type multiple_tag;
-      std::vector<value_type> data;
-      VertexIndexMap id;
-    };
-    
-    template< class Iterator, class SignedInteger, 
-       class Vertex, class VertexIndexMap, int offset = 1 >
-    class Numbering {
-      typedef SignedInteger number_type;
-      number_type num; //start from 1 instead of zero
-      Iterator   data;
-      number_type max_num;
-      VertexIndexMap id;
-    public:
-      Numbering(Iterator _data, number_type _max_num, VertexIndexMap id) 
-        : num(1), data(_data), max_num(_max_num), id(id) {}
-      void operator()(Vertex node) { data[get(id, node)] = -num; }
-      bool all_done(number_type i = 0) const { return num + i > max_num; }
-      void increment(number_type i = 1) { num += i; }
-      bool is_numbered(Vertex node) const {
-        return data[get(id, node)] < 0;
-      }
-      void indistinguishable(Vertex i, Vertex j) {
-        data[get(id, i)] = - (get(id, j) + offset);
-      }
-    };
-
-    template <class SignedInteger, class Vertex, class VertexIndexMap>
-    class degreelists_marker {
-    public:
-      typedef SignedInteger value_type;
-      typedef typename std::vector<value_type>::size_type size_type;
-      degreelists_marker(size_type n, VertexIndexMap id)
-        : marks(n, 0), id(id) {}
-      void mark_need_update(Vertex i) { marks[get(id, i)] = 1;  }
-      bool need_update(Vertex i) { return marks[get(id, i)] == 1; }
-      bool outmatched_or_done (Vertex i) { return marks[get(id, i)] == -1; }
-      void mark(Vertex i) { marks[get(id, i)] = -1; }
-      void unmark(Vertex i) { marks[get(id, i)] = 0; }
-    private:
-      std::vector<value_type> marks;
-      VertexIndexMap id;
-    };
-
-    // Helper function object for edge removal
-    template <class Graph, class MarkerP, class NumberD, class Stack,
-      class VertexIndexMap>
-    class predicateRemoveEdge1 {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-      typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    public:
-      predicateRemoveEdge1(Graph& _g, MarkerP& _marker, 
-                           NumberD _numbering, Stack& n_e, VertexIndexMap id)
-        : g(&_g), marker(&_marker), numbering(_numbering),
-          neighbor_elements(&n_e), id(id) {}
-
-      bool operator()(edge_t e) {
-        vertex_t dist = target(e, *g);
-        if ( marker->is_tagged(dist) )
-          return true;
-        marker->mark_tagged(dist);
-        if (numbering.is_numbered(dist)) {
-          neighbor_elements->push(get(id, dist));
-          return true;
-        }
-        return false;
-      }
-    private:
-      Graph*   g;
-      MarkerP* marker;
-      NumberD  numbering;
-      Stack*   neighbor_elements;
-      VertexIndexMap id;
-    };
-
-    // Helper function object for edge removal
-    template <class Graph, class MarkerP>
-    class predicate_remove_tagged_edges
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-      typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    public:
-      predicate_remove_tagged_edges(Graph& _g, MarkerP& _marker)
-        : g(&_g), marker(&_marker) {}
-
-      bool operator()(edge_t e) {
-        vertex_t dist = target(e, *g);
-        if ( marker->is_tagged(dist) )
-          return true;
-        return false;
-      }
-    private:
-      Graph*   g;
-      MarkerP* marker;
-    };
-
-    template<class Graph, class DegreeMap, 
-             class InversePermutationMap, 
-             class PermutationMap,
-             class SuperNodeMap, 
-             class VertexIndexMap>
-    class mmd_impl
-    {
-      // Typedefs
-      typedef graph_traits<Graph> Traits;
-      typedef typename Traits::vertices_size_type size_type;
-      typedef typename detail::integer_traits<size_type>::difference_type 
-        diff_t;
-      typedef typename Traits::vertex_descriptor vertex_t;
-      typedef typename Traits::adjacency_iterator adj_iter;
-      typedef iterator_property_map<vertex_t*, 
-        identity_property_map, vertex_t, vertex_t&> IndexVertexMap;
-      typedef detail::Stacks<diff_t> Workspace;
-      typedef bucket_sorter<size_type, vertex_t, DegreeMap, VertexIndexMap> 
-        DegreeLists;
-      typedef Numbering<InversePermutationMap, diff_t, vertex_t,VertexIndexMap>
-        NumberingD;
-      typedef degreelists_marker<diff_t, vertex_t, VertexIndexMap> 
-        DegreeListsMarker;
-      typedef Marker<diff_t, vertex_t, VertexIndexMap> MarkerP;
-
-      // Data Members
-
-      // input parameters
-      Graph& G;
-      int delta;
-      DegreeMap degree;
-      InversePermutationMap inverse_perm;
-      PermutationMap perm;
-      SuperNodeMap supernode_size;
-      VertexIndexMap vertex_index_map;
-
-      // internal data-structures
-      std::vector<vertex_t> index_vertex_vec;
-      size_type n;
-      IndexVertexMap index_vertex_map;
-      DegreeLists degreelists;
-      NumberingD numbering;
-      DegreeListsMarker degree_lists_marker;
-      MarkerP marker;
-      Workspace work_space;
-    public:
-      mmd_impl(Graph& g, size_type n_, int delta, DegreeMap degree, 
-               InversePermutationMap inverse_perm, 
-               PermutationMap perm,
-               SuperNodeMap supernode_size, 
-               VertexIndexMap id) 
-        : G(g), delta(delta), degree(degree), 
-        inverse_perm(inverse_perm), 
-        perm(perm), 
-        supernode_size(supernode_size), 
-        vertex_index_map(id),
-        index_vertex_vec(n_), 
-        n(n_),
-        degreelists(n_ + 1, n_, degree, id),
-        numbering(inverse_perm, n_, vertex_index_map),
-        degree_lists_marker(n_, vertex_index_map), 
-        marker(n_, vertex_index_map),
-        work_space(n_)
-      {
-        typename graph_traits<Graph>::vertex_iterator v, vend;
-        size_type vid = 0;
-        for (boost::tie(v, vend) = vertices(G); v != vend; ++v, ++vid)
-          index_vertex_vec[vid] = *v;
-        index_vertex_map = IndexVertexMap(&index_vertex_vec[0]);
-
-        // Initialize degreelists.  Degreelists organizes the nodes
-        // according to their degree.
-        for (boost::tie(v, vend) = vertices(G); v != vend; ++v) {
-          put(degree, *v, out_degree(*v, G));
-          degreelists.push(*v);
-        }
-      }
-
-      void do_mmd()
-      {
-        // Eliminate the isolated nodes -- these are simply the nodes
-        // with no neighbors, which are accessible as a list (really, a
-        // stack) at location 0.  Since these don't affect any other
-        // nodes, we can eliminate them without doing degree updates.
-        typename DegreeLists::stack list_isolated = degreelists[0];
-        while (!list_isolated.empty()) {
-          vertex_t node = list_isolated.top();
-          marker.mark_done(node);
-          numbering(node);
-          numbering.increment();
-          list_isolated.pop();
-        }
-        size_type min_degree = 1;
-        typename DegreeLists::stack list_min_degree = degreelists[min_degree];
-
-        while (list_min_degree.empty()) {
-          ++min_degree;
-          list_min_degree = degreelists[min_degree];
-        }
-
-        // check if the whole eliminating process is done
-        while (!numbering.all_done()) {
-
-          size_type min_degree_limit = min_degree + delta; // WARNING
-          typename Workspace::stack llist = work_space.make_stack();
-
-          // multiple elimination
-          while (delta >= 0) {
-
-            // Find the next non-empty degree
-            for (list_min_degree = degreelists[min_degree]; 
-                 list_min_degree.empty() && min_degree <= min_degree_limit; 
-                 ++min_degree, list_min_degree = degreelists[min_degree])
-              ;
-            if (min_degree > min_degree_limit)
-              break;
-
-            const vertex_t node = list_min_degree.top();
-            const size_type node_id = get(vertex_index_map, node);
-            list_min_degree.pop();
-            numbering(node);
-
-            // check if node is the last one
-            if (numbering.all_done(supernode_size[node])) {
-              numbering.increment(supernode_size[node]);
-              break;
-            }
-            marker.increment_tag();
-            marker.mark_tagged(node);
-
-            this->eliminate(node);
-
-            numbering.increment(supernode_size[node]);
-            llist.push(node_id);
-          } // multiple elimination
-
-          if (numbering.all_done()) 
-            break;
-
-          this->update( llist, min_degree);
-        }
-
-      } // do_mmd()
-
-      void eliminate(vertex_t node)
-      {
-        typename Workspace::stack element_neighbor = work_space.make_stack();
-
-        // Create two function objects for edge removal
-        typedef typename Workspace::stack WorkStack;
-        predicateRemoveEdge1<Graph, MarkerP, NumberingD, 
-                             WorkStack, VertexIndexMap>
-          p(G, marker, numbering, element_neighbor, vertex_index_map);
-
-        predicate_remove_tagged_edges<Graph, MarkerP> p2(G, marker);
-
-        // Reconstruct the adjacent node list, push element neighbor in a List.
-        remove_out_edge_if(node, p, G);
-        //during removal element neighbors are collected.
-
-        while (!element_neighbor.empty()) {
-          // element absorb
-          size_type e_id = element_neighbor.top();
-          vertex_t element = get(index_vertex_map, e_id);
-          adj_iter i, i_end;
-          for (boost::tie(i, i_end) = adjacent_vertices(element, G); i != i_end; ++i){
-            vertex_t i_node = *i;
-            if (!marker.is_tagged(i_node) && !numbering.is_numbered(i_node)) {
-              marker.mark_tagged(i_node);
-              add_edge(node, i_node, G);
-            }
-          }
-          element_neighbor.pop();
-        }
-        adj_iter v, ve;
-        for (boost::tie(v, ve) = adjacent_vertices(node, G); v != ve; ++v) {
-          vertex_t v_node = *v;
-          if (!degree_lists_marker.need_update(v_node) 
-              && !degree_lists_marker.outmatched_or_done(v_node)) {
-            degreelists.remove(v_node);
-          }
-          //update out edges of v_node
-          remove_out_edge_if(v_node, p2, G);
-
-          if ( out_degree(v_node, G) == 0 ) { // indistinguishable nodes
-            supernode_size[node] += supernode_size[v_node];
-            supernode_size[v_node] = 0;
-            numbering.indistinguishable(v_node, node);
-            marker.mark_done(v_node);
-            degree_lists_marker.mark(v_node);
-          } else {                           // not indistinguishable nodes
-            add_edge(v_node, node, G);
-            degree_lists_marker.mark_need_update(v_node);
-          }
-        }
-      } // eliminate()
-
-
-      template <class Stack>
-      void update(Stack llist, size_type& min_degree)
-      {
-        size_type min_degree0 = min_degree + delta + 1;
-
-        while (! llist.empty()) {
-          size_type deg, deg0 = 0;
-
-          marker.set_multiple_tag(min_degree0);
-          typename Workspace::stack q2list = work_space.make_stack();
-          typename Workspace::stack qxlist = work_space.make_stack();
-
-          vertex_t current = get(index_vertex_map, llist.top());
-          adj_iter i, ie;
-          for (boost::tie(i,ie) = adjacent_vertices(current, G); i != ie; ++i) {
-            vertex_t i_node = *i;
-            const size_type i_id = get(vertex_index_map, i_node);
-            if (supernode_size[i_node] != 0) {
-              deg0 += supernode_size[i_node];
-              marker.mark_multiple_tagged(i_node);
-              if (degree_lists_marker.need_update(i_node)) {
-                if (out_degree(i_node, G) == 2)
-                  q2list.push(i_id);
-                else
-                  qxlist.push(i_id);
-              }
-            }
-          }
-
-          while (!q2list.empty()) {
-            const size_type u_id = q2list.top();
-            vertex_t u_node = get(index_vertex_map, u_id);
-            // if u_id is outmatched by others, no need to update degree
-            if (degree_lists_marker.outmatched_or_done(u_node)) {
-              q2list.pop();
-              continue;
-            }
-            marker.increment_tag();
-            deg = deg0;
-
-            adj_iter nu = adjacent_vertices(u_node, G).first;
-            vertex_t neighbor = *nu;
-            if (neighbor == u_node) {
-              ++nu;
-              neighbor = *nu;
-            }
-            if (numbering.is_numbered(neighbor)) {
-              adj_iter i, ie;
-              for (boost::tie(i,ie) = adjacent_vertices(neighbor, G);
-                   i != ie; ++i) {
-                const vertex_t i_node = *i;
-                if (i_node == u_node || supernode_size[i_node] == 0)
-                  continue;
-                if (marker.is_tagged(i_node)) {
-                  if (degree_lists_marker.need_update(i_node)) {
-                    if ( out_degree(i_node, G) == 2 ) { // is indistinguishable
-                      supernode_size[u_node] += supernode_size[i_node];
-                      supernode_size[i_node] = 0;
-                      numbering.indistinguishable(i_node, u_node);
-                      marker.mark_done(i_node);
-                      degree_lists_marker.mark(i_node);
-                    } else                        // is outmatched
-                      degree_lists_marker.mark(i_node);
-                  }
-                } else {
-                  marker.mark_tagged(i_node);
-                  deg += supernode_size[i_node];
-                }
-              }
-            } else
-              deg += supernode_size[neighbor];
-
-            deg -= supernode_size[u_node];
-            degree[u_node] = deg; //update degree
-            degreelists[deg].push(u_node);
-            //u_id has been pushed back into degreelists
-            degree_lists_marker.unmark(u_node);
-            if (min_degree > deg) 
-              min_degree = deg;
-            q2list.pop();
-          } // while (!q2list.empty())
-
-          while (!qxlist.empty()) {
-            const size_type u_id = qxlist.top();
-            const vertex_t u_node = get(index_vertex_map, u_id);
-
-            // if u_id is outmatched by others, no need to update degree
-            if (degree_lists_marker.outmatched_or_done(u_node)) {
-              qxlist.pop();
-              continue;
-            }
-            marker.increment_tag();
-            deg = deg0;
-            adj_iter i, ie;
-            for (boost::tie(i, ie) = adjacent_vertices(u_node, G); i != ie; ++i) {
-              vertex_t i_node = *i;
-              if (marker.is_tagged(i_node)) 
-                continue;
-              marker.mark_tagged(i_node);
-
-              if (numbering.is_numbered(i_node)) {
-                adj_iter j, je;
-                for (boost::tie(j, je) = adjacent_vertices(i_node, G); j != je; ++j) {
-                  const vertex_t j_node = *j;
-                  if (marker.is_not_tagged(j_node)) {
-                    marker.mark_tagged(j_node);
-                    deg += supernode_size[j_node];
-                  }
-                }
-              } else
-                deg += supernode_size[i_node];
-            } // for adjacent vertices of u_node
-            deg -= supernode_size[u_node];
-            degree[u_node] = deg;
-            degreelists[deg].push(u_node);
-            // u_id has been pushed back into degreelists
-            degree_lists_marker.unmark(u_node); 
-            if (min_degree > deg)
-              min_degree = deg;
-            qxlist.pop();
-          } // while (!qxlist.empty()) {
-
-          marker.set_tag_as_multiple_tag();
-          llist.pop();
-        } // while (! llist.empty())
-
-      } // update()
-
-
-      void build_permutation(InversePermutationMap next,
-                             PermutationMap prev) 
-      {
-        // collect the permutation info
-        size_type i;
-        for (i = 0; i < n; ++i) {
-          diff_t size = supernode_size[get(index_vertex_map, i)];
-          if ( size <= 0 ) {
-            prev[i] = next[i];
-            supernode_size[get(index_vertex_map, i)]
-              = next[i] + 1;  // record the supernode info
-          } else
-            prev[i] = - next[i];
-        }
-        for (i = 1; i < n + 1; ++i) {
-          if ( prev[i-1] > 0 )
-            continue;
-          diff_t parent = i;
-          while ( prev[parent - 1] < 0 ) {
-            parent = - prev[parent - 1];
-          }
-
-          diff_t root = parent;
-          diff_t num = prev[root - 1] + 1;
-          next[i-1] = - num;
-          prev[root-1] = num;
-
-          parent = i;
-          diff_t next_node = - prev[parent - 1];
-          while (next_node > 0) {
-            prev[parent-1] = - root;
-            parent = next_node;
-            next_node = - prev[parent - 1];
-          }
-        }
-        for (i = 0; i < n; i++) {
-          diff_t num = - next[i] - 1;
-          next[i] = num;
-          prev[num] = i;
-        }
-      } // build_permutation()
-    };
-
-  } //namespace detail
-
-
-  // MMD algorithm
-  // 
-  //The implementation presently includes the enhancements for mass
-  //elimination, incomplete degree update, multiple elimination, and
-  //external degree.
-  //
-  //Important Note: This implementation requires the BGL graph to be
-  //directed.  Therefore, nonzero entry (i, j) in a symmetrical matrix
-  //A coresponds to two directed edges (i->j and j->i).
-  //
-  //see Alan George and Joseph W. H. Liu, The Evolution of the Minimum
-  //Degree Ordering Algorithm, SIAM Review, 31, 1989, Page 1-19
-  template<class Graph, class DegreeMap, 
-           class InversePermutationMap, 
-           class PermutationMap,
-           class SuperNodeMap, class VertexIndexMap>
-  void minimum_degree_ordering
-    (Graph& G, 
-     DegreeMap degree, 
-     InversePermutationMap inverse_perm, 
-     PermutationMap perm, 
-     SuperNodeMap supernode_size, 
-     int delta, 
-     VertexIndexMap vertex_index_map)
-  {
-    detail::mmd_impl<Graph,DegreeMap,InversePermutationMap,
-      PermutationMap, SuperNodeMap, VertexIndexMap> 
-      impl(G, num_vertices(G), delta, degree, inverse_perm, 
-           perm, supernode_size, vertex_index_map);
-    impl.do_mmd();
-    impl.build_permutation(inverse_perm, perm);
-  }
-
-} // namespace boost
-
-#endif // MINIMUM_DEGREE_ORDERING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/named_function_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/named_function_params.hpp
deleted file mode 100644
index 26d3d5e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/named_function_params.hpp
+++ /dev/null
@@ -1,738 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_NAMED_FUNCTION_PARAMS_HPP
-#define BOOST_GRAPH_NAMED_FUNCTION_PARAMS_HPP
-
-#include <functional>
-#include <vector>
-#include <boost/limits.hpp>
-#include <boost/ref.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/preprocessor.hpp>
-#include <boost/parameter/name.hpp>
-#include <boost/parameter/binding.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/detail/d_ary_heap.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/property_map/shared_array_property_map.hpp>
-
-namespace boost {
-
-  struct parity_map_t { };
-  struct vertex_assignment_map_t { };
-  struct distance_compare_t { };
-  struct distance_combine_t { };
-  struct distance_inf_t { };
-  struct distance_zero_t { };
-  struct buffer_param_t { };
-  struct edge_copy_t { };
-  struct vertex_copy_t { };
-  struct vertex_isomorphism_t { };
-  struct vertex_invariant_t { };
-  struct vertex_invariant1_t { };
-  struct vertex_invariant2_t { };
-  struct edge_compare_t { };
-  struct vertex_max_invariant_t { };
-  struct orig_to_copy_t { };
-  struct root_vertex_t { };
-  struct polling_t { };
-  struct lookahead_t { };
-  struct in_parallel_t { };
-  struct attractive_force_t { };
-  struct repulsive_force_t { };
-  struct force_pairs_t { };
-  struct cooling_t { };
-  struct vertex_displacement_t { };
-  struct iterations_t { };
-  struct diameter_range_t { };
-  struct learning_constant_range_t { };
-  struct vertices_equivalent_t { };
-  struct edges_equivalent_t { };
-  struct index_in_heap_map_t { };
-  struct max_priority_queue_t { };
-
-#define BOOST_BGL_DECLARE_NAMED_PARAMS \
-    BOOST_BGL_ONE_PARAM_CREF(weight_map, edge_weight) \
-    BOOST_BGL_ONE_PARAM_CREF(weight_map2, edge_weight2) \
-    BOOST_BGL_ONE_PARAM_CREF(distance_map, vertex_distance) \
-    BOOST_BGL_ONE_PARAM_CREF(distance_map2, vertex_distance2) \
-    BOOST_BGL_ONE_PARAM_CREF(predecessor_map, vertex_predecessor) \
-    BOOST_BGL_ONE_PARAM_CREF(rank_map, vertex_rank) \
-    BOOST_BGL_ONE_PARAM_CREF(root_map, vertex_root) \
-    BOOST_BGL_ONE_PARAM_CREF(root_vertex, root_vertex) \
-    BOOST_BGL_ONE_PARAM_CREF(edge_centrality_map, edge_centrality) \
-    BOOST_BGL_ONE_PARAM_CREF(centrality_map, vertex_centrality) \
-    BOOST_BGL_ONE_PARAM_CREF(parity_map, parity_map) \
-    BOOST_BGL_ONE_PARAM_CREF(color_map, vertex_color) \
-    BOOST_BGL_ONE_PARAM_CREF(edge_color_map, edge_color) \
-    BOOST_BGL_ONE_PARAM_CREF(capacity_map, edge_capacity) \
-    BOOST_BGL_ONE_PARAM_CREF(residual_capacity_map, edge_residual_capacity) \
-    BOOST_BGL_ONE_PARAM_CREF(reverse_edge_map, edge_reverse) \
-    BOOST_BGL_ONE_PARAM_CREF(discover_time_map, vertex_discover_time) \
-    BOOST_BGL_ONE_PARAM_CREF(lowpoint_map, vertex_lowpoint) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_index_map, vertex_index) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_index1_map, vertex_index1) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_index2_map, vertex_index2) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_assignment_map, vertex_assignment_map) \
-    BOOST_BGL_ONE_PARAM_CREF(visitor, graph_visitor) \
-    BOOST_BGL_ONE_PARAM_CREF(distance_compare, distance_compare) \
-    BOOST_BGL_ONE_PARAM_CREF(distance_combine, distance_combine) \
-    BOOST_BGL_ONE_PARAM_CREF(distance_inf, distance_inf) \
-    BOOST_BGL_ONE_PARAM_CREF(distance_zero, distance_zero) \
-    BOOST_BGL_ONE_PARAM_CREF(edge_copy, edge_copy) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_copy, vertex_copy) \
-    BOOST_BGL_ONE_PARAM_REF(buffer, buffer_param) \
-    BOOST_BGL_ONE_PARAM_CREF(orig_to_copy, orig_to_copy) \
-    BOOST_BGL_ONE_PARAM_CREF(isomorphism_map, vertex_isomorphism) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_invariant, vertex_invariant) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_invariant1, vertex_invariant1) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_invariant2, vertex_invariant2) \
-    BOOST_BGL_ONE_PARAM_CREF(vertex_max_invariant, vertex_max_invariant) \
-    BOOST_BGL_ONE_PARAM_CREF(polling, polling) \
-    BOOST_BGL_ONE_PARAM_CREF(lookahead, lookahead) \
-    BOOST_BGL_ONE_PARAM_CREF(in_parallel, in_parallel) \
-    BOOST_BGL_ONE_PARAM_CREF(displacement_map, vertex_displacement) \
-    BOOST_BGL_ONE_PARAM_CREF(attractive_force, attractive_force) \
-    BOOST_BGL_ONE_PARAM_CREF(repulsive_force, repulsive_force) \
-    BOOST_BGL_ONE_PARAM_CREF(force_pairs, force_pairs) \
-    BOOST_BGL_ONE_PARAM_CREF(cooling, cooling) \
-    BOOST_BGL_ONE_PARAM_CREF(iterations, iterations) \
-    BOOST_BGL_ONE_PARAM_CREF(diameter_range, diameter_range) \
-    BOOST_BGL_ONE_PARAM_CREF(learning_constant_range, learning_constant_range) \
-    BOOST_BGL_ONE_PARAM_CREF(vertices_equivalent, vertices_equivalent) \
-    BOOST_BGL_ONE_PARAM_CREF(edges_equivalent, edges_equivalent) \
-    BOOST_BGL_ONE_PARAM_CREF(index_in_heap_map, index_in_heap_map) \
-    BOOST_BGL_ONE_PARAM_REF(max_priority_queue, max_priority_queue)
-
-  template <typename T, typename Tag, typename Base = no_property>
-  struct bgl_named_params
-  {
-    typedef bgl_named_params self;
-    typedef Base next_type;
-    typedef Tag tag_type;
-    typedef T value_type;
-    bgl_named_params(T v = T()) : m_value(v) { }
-    bgl_named_params(T v, const Base& b) : m_value(v), m_base(b) { }
-    T m_value;
-    Base m_base;
-
-#define BOOST_BGL_ONE_PARAM_REF(name, key) \
-    template <typename PType> \
-    bgl_named_params<boost::reference_wrapper<PType>, BOOST_PP_CAT(key, _t), self> \
-    name(PType& p) const { \
-      typedef bgl_named_params<boost::reference_wrapper<PType>, BOOST_PP_CAT(key, _t), self> Params; \
-      return Params(boost::ref(p), *this); \
-    } \
-
-#define BOOST_BGL_ONE_PARAM_CREF(name, key) \
-    template <typename PType> \
-    bgl_named_params<PType, BOOST_PP_CAT(key, _t), self> \
-    name(const PType& p) const { \
-      typedef bgl_named_params<PType, BOOST_PP_CAT(key, _t), self> Params; \
-      return Params(p, *this); \
-    } \
-
-BOOST_BGL_DECLARE_NAMED_PARAMS
-
-#undef BOOST_BGL_ONE_PARAM_REF
-#undef BOOST_BGL_ONE_PARAM_CREF
-
-    // Duplicate
-    template <typename PType>
-    bgl_named_params<PType, vertex_color_t, self>
-    vertex_color_map(const PType& p) const {return this->color_map(p);}
-  };
-
-#define BOOST_BGL_ONE_PARAM_REF(name, key) \
-    template <typename PType> \
-    bgl_named_params<boost::reference_wrapper<PType>, BOOST_PP_CAT(key, _t)> \
-    name(PType& p) { \
-      typedef bgl_named_params<boost::reference_wrapper<PType>, BOOST_PP_CAT(key, _t)> Params; \
-      return Params(boost::ref(p)); \
-    } \
-
-#define BOOST_BGL_ONE_PARAM_CREF(name, key) \
-    template <typename PType> \
-    bgl_named_params<PType, BOOST_PP_CAT(key, _t)> \
-    name(const PType& p) { \
-      typedef bgl_named_params<PType, BOOST_PP_CAT(key, _t)> Params; \
-      return Params(p); \
-    } \
-
-BOOST_BGL_DECLARE_NAMED_PARAMS
-
-#undef BOOST_BGL_ONE_PARAM_REF
-#undef BOOST_BGL_ONE_PARAM_CREF
-
-  // Duplicate
-  template <typename PType>
-  bgl_named_params<PType, vertex_color_t>
-  vertex_color_map(const PType& p) {return color_map(p);}
-
-  namespace detail {
-    struct unused_tag_type {};
-  }
-  typedef bgl_named_params<char, detail::unused_tag_type> no_named_parameters;
-
-  //===========================================================================
-  // Functions for extracting parameters from bgl_named_params
-
-  template <typename Tag, typename Args>
-  struct lookup_named_param {};
-
-  template <typename T, typename Tag, typename Base>
-  struct lookup_named_param<Tag, bgl_named_params<T, Tag, Base> > {
-    typedef T type;
-    static const T& get(const bgl_named_params<T, Tag, Base>& p) {
-      return p.m_value;
-    }
-  };
-
-  template <typename Tag1, typename T, typename Tag, typename Base>
-  struct lookup_named_param<Tag1, bgl_named_params<T, Tag, Base> > {
-    typedef typename lookup_named_param<Tag1, Base>::type type;
-    static const type& get(const bgl_named_params<T, Tag, Base>& p) {
-      return lookup_named_param<Tag1, Base>::get(p.m_base);
-    }
-  };
-
-  template <typename Tag, typename Args, typename Def>
-  struct lookup_named_param_def {
-    typedef Def type;
-    static const Def& get(const Args&, const Def& def) {return def;}
-  };
-
-  template <typename T, typename Tag, typename Base, typename Def>
-  struct lookup_named_param_def<Tag, bgl_named_params<T, Tag, Base>, Def> {
-    typedef T type;
-    static const type& get(const bgl_named_params<T, Tag, Base>& p, const Def&) {
-      return p.m_value;
-    }
-  };
-
-  template <typename Tag1, typename T, typename Tag, typename Base, typename Def>
-  struct lookup_named_param_def<Tag1, bgl_named_params<T, Tag, Base>, Def> {
-    typedef typename lookup_named_param_def<Tag1, Base, Def>::type type;
-    static const type& get(const bgl_named_params<T, Tag, Base>& p, const Def& def) {
-      return lookup_named_param_def<Tag1, Base, Def>::get(p.m_base, def);
-    }
-  };
-
-  struct param_not_found {};
-
-  template <typename Tag, typename Args>
-  struct get_param_type: 
-    lookup_named_param_def<Tag, Args, param_not_found> {};
-
-  template <class Tag, typename Args>
-  inline
-  const typename lookup_named_param_def<Tag, Args, param_not_found>::type&
-  get_param(const Args& p, Tag) {
-    return lookup_named_param_def<Tag, Args, param_not_found>::get(p, param_not_found());
-  }
-
-  template <class P, class Default> 
-  const P& choose_param(const P& param, const Default&) { 
-    return param;
-  }
-
-  template <class Default>
-  Default choose_param(const param_not_found&, const Default& d) {
-    return d;
-  }
-
-  template <typename T>
-  inline bool is_default_param(const T&) { return false; }
-
-  inline bool is_default_param(const param_not_found&)
-    { return true; }
-
-  namespace detail {
-    template <typename T>
-    struct const_type_as_type {typedef typename T::const_type type;};
-  } // namespace detail
-  
-
-  // Use this function instead of choose_param() when you want
-  // to avoid requiring get(tag, g) when it is not used. 
-  namespace detail {
-    template <typename GraphIsConst, typename Graph, typename Param, typename Tag>
-    struct choose_impl_result:
-      boost::mpl::eval_if<
-        boost::is_same<Param, param_not_found>, 
-        boost::mpl::eval_if<
-          GraphIsConst,
-          detail::const_type_as_type<property_map<Graph, Tag> >,
-          property_map<Graph, Tag> >,
-        boost::mpl::identity<Param> > {};
-
-    // Parameters of f are (GraphIsConst, Graph, Param, Tag)
-    template <bool Found> struct choose_impl_helper;
-
-    template <> struct choose_impl_helper<false> {
-      template <typename Param, typename Graph, typename PropertyTag>
-      static typename property_map<typename boost::remove_const<Graph>::type, PropertyTag>::const_type
-      f(boost::mpl::true_, const Graph& g, const Param&, PropertyTag tag) {
-        return get(tag, g);
-      }
-
-      template <typename Param, typename Graph, typename PropertyTag>
-      static typename property_map<typename boost::remove_const<Graph>::type, PropertyTag>::type
-      f(boost::mpl::false_, Graph& g, const Param&, PropertyTag tag) {
-        return get(tag, g);
-      }
-    };
-
-    template <> struct choose_impl_helper<true> {
-      template <typename GraphIsConst, typename Param, typename Graph, typename PropertyTag>
-      static Param f(GraphIsConst, const Graph&, const Param& p, PropertyTag) {
-        return p;
-      }
-    };
-  }
-
-  template <typename Param, typename Graph, typename PropertyTag>
-  typename detail::choose_impl_result<boost::mpl::true_, Graph, Param, PropertyTag>::type
-  choose_const_pmap(const Param& p, const Graph& g, PropertyTag tag)
-  { 
-    return detail::choose_impl_helper<!boost::is_same<Param, param_not_found>::value>
-             ::f(boost::mpl::true_(), g, p, tag);
-  }
-
-  template <typename Param, typename Graph, typename PropertyTag>
-  typename detail::choose_impl_result<boost::mpl::false_, Graph, Param, PropertyTag>::type
-  choose_pmap(const Param& p, Graph& g, PropertyTag tag)
-  { 
-    return detail::choose_impl_helper<!boost::is_same<Param, param_not_found>::value>
-             ::f(boost::mpl::false_(), g, p, tag);
-  }
-
-  namespace detail {
-
-    // used in the max-flow algorithms
-    template <class Graph, class P, class T, class R>
-    struct edge_capacity_value
-    {
-      typedef bgl_named_params<P, T, R> Params;
-      typedef typename detail::choose_impl_result<boost::mpl::true_, Graph, typename get_param_type<Params, edge_capacity_t>::type, edge_capacity_t>::type CapacityEdgeMap;
-      typedef typename property_traits<CapacityEdgeMap>::value_type type;
-    };
-
-  }
-
-  // Declare all new tags
-  namespace graph {
-    namespace keywords {
-#define BOOST_BGL_ONE_PARAM_REF(name, key) BOOST_PARAMETER_NAME(name)
-#define BOOST_BGL_ONE_PARAM_CREF(name, key) BOOST_PARAMETER_NAME(name)
-      BOOST_BGL_DECLARE_NAMED_PARAMS
-#undef BOOST_BGL_ONE_PARAM_REF
-#undef BOOST_BGL_ONE_PARAM_CREF
-    }
-  }
-
-  namespace detail {
-    template <typename Tag> struct convert_one_keyword {};
-#define BOOST_BGL_ONE_PARAM_REF(name, key) \
-    template <> \
-    struct convert_one_keyword<BOOST_PP_CAT(key, _t)> { \
-      typedef boost::graph::keywords::tag::name type; \
-    };
-#define BOOST_BGL_ONE_PARAM_CREF(name, key) BOOST_BGL_ONE_PARAM_REF(name, key)
-    BOOST_BGL_DECLARE_NAMED_PARAMS
-#undef BOOST_BGL_ONE_PARAM_REF
-#undef BOOST_BGL_ONE_PARAM_CREF
-
-    template <typename T>
-    struct convert_bgl_params_to_boost_parameter {
-      typedef typename convert_one_keyword<typename T::tag_type>::type new_kw;
-      typedef boost::parameter::aux::tagged_argument<new_kw, const typename T::value_type> tagged_arg_type;
-      typedef convert_bgl_params_to_boost_parameter<typename T::next_type> rest_conv;
-      typedef boost::parameter::aux::arg_list<tagged_arg_type, typename rest_conv::type> type;
-      static type conv(const T& x) {
-        return type(tagged_arg_type(x.m_value), rest_conv::conv(x.m_base));
-      }
-    };
-
-    template <typename P, typename R>
-    struct convert_bgl_params_to_boost_parameter<bgl_named_params<P, int, R> > {
-      typedef convert_bgl_params_to_boost_parameter<R> rest_conv;
-      typedef typename rest_conv::type type;
-      static type conv(const bgl_named_params<P, int, R>& x) {
-        return rest_conv::conv(x.m_base);
-      }
-    };
-
-    template <>
-    struct convert_bgl_params_to_boost_parameter<boost::no_property> {
-      typedef boost::parameter::aux::empty_arg_list type;
-      static type conv(const boost::no_property&) {return type();}
-    };
-
-    template <>
-    struct convert_bgl_params_to_boost_parameter<boost::no_named_parameters> {
-      typedef boost::parameter::aux::empty_arg_list type;
-      static type conv(const boost::no_named_parameters&) {return type();}
-    };
-
-    struct bgl_parameter_not_found_type {};
-
-    template <typename ArgPack, typename KeywordType>
-    struct parameter_exists : boost::mpl::not_<boost::is_same<typename boost::parameter::binding<ArgPack, KeywordType, bgl_parameter_not_found_type>::type, bgl_parameter_not_found_type> > {};
-  }
-
-#define BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(old_type, old_var) \
-  typedef typename boost::detail::convert_bgl_params_to_boost_parameter<old_type>::type arg_pack_type; \
-  arg_pack_type arg_pack = boost::detail::convert_bgl_params_to_boost_parameter<old_type>::conv(old_var);
-
-  namespace detail {
-
-    template <typename ArgType, typename Prop, typename Graph, bool Exists>
-    struct override_const_property_t {
-      typedef typename boost::remove_const<ArgType>::type result_type;
-      result_type operator()(const Graph&, const ArgType& a) const {return a;}
-    };
-
-    template <typename ArgType, typename Prop, typename Graph>
-    struct override_const_property_t<ArgType, Prop, Graph, false> {
-      typedef typename boost::property_map<Graph, Prop>::const_type result_type;
-      result_type operator()(const Graph& g, const ArgType&) const {return get(Prop(), g);}
-    };
-
-    template <typename ArgPack, typename Tag, typename Prop, typename Graph>
-    struct override_const_property_result {
-      typedef 
-        typename override_const_property_t<
-                   typename boost::parameter::value_type<ArgPack, Tag, int>::type,
-                   Prop,
-                   Graph,
-                   boost::detail::parameter_exists<ArgPack, Tag>::value
-                 >::result_type
-        type;
-    };
-
-    template <typename ArgPack, typename Tag, typename Prop, typename Graph>
-    typename override_const_property_result<ArgPack, Tag, Prop, Graph>::type
-    override_const_property(const ArgPack& ap, const boost::parameter::keyword<Tag>& t, const Graph& g, Prop) {
-    return override_const_property_t<
-             typename boost::parameter::value_type<ArgPack, Tag, int>::type,
-             Prop,
-             Graph,
-             boost::detail::parameter_exists<ArgPack, Tag>::value
-           >()(g, ap[t | 0]);
-    }
-
-    template <typename ArgType, typename Prop, typename Graph, bool Exists>
-    struct override_property_t {
-      typedef ArgType result_type;
-      result_type operator()(const Graph&, const typename boost::add_reference<ArgType>::type a) const {return a;}
-    };
-
-    template <typename ArgType, typename Prop, typename Graph>
-    struct override_property_t<ArgType, Prop, Graph, false> {
-      typedef typename boost::property_map<Graph, Prop>::type result_type;
-      result_type operator()(const Graph& g, const ArgType&) const {return get(Prop(), g);}
-    };
-
-    template <typename ArgPack, typename Tag, typename Prop, typename Graph>
-    struct override_property_result {
-      typedef 
-        typename override_property_t<
-                   typename boost::parameter::value_type<ArgPack, Tag, int>::type,
-                   Prop,
-                   Graph,
-                   boost::detail::parameter_exists<ArgPack, Tag>::value
-                 >::result_type
-        type;
-    };
-
-    template <typename ArgPack, typename Tag, typename Prop, typename Graph>
-    typename override_property_result<ArgPack, Tag, Prop, Graph>::type
-    override_property(const ArgPack& ap, const boost::parameter::keyword<Tag>& t, const Graph& g, Prop) {
-    return override_property_t<
-             typename boost::parameter::value_type<ArgPack, Tag, int>::type,
-             Prop,
-             Graph,
-             boost::detail::parameter_exists<ArgPack, Tag>::value
-           >()(g, ap[t | 0]);
-    }
-
-    template <typename F> struct make_arg_pack_type;
-    template <> struct make_arg_pack_type<void()> {typedef boost::parameter::aux::empty_arg_list type;};
-    template <typename K, typename A>
-    struct make_arg_pack_type<void(K, A)> {
-      typedef boost::parameter::aux::tagged_argument<K, A> type;
-    };
-
-#define BOOST_GRAPH_OPENING_PART_OF_PAIR(z, i, n) boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<BOOST_PP_CAT(Keyword, BOOST_PP_SUB(n, i)),  BOOST_PP_CAT(Arg, BOOST_PP_SUB(n, i))>,
-#define BOOST_GRAPH_MAKE_PAIR_PARAM(z, i, _) const boost::parameter::aux::tagged_argument<BOOST_PP_CAT(Keyword, i), BOOST_PP_CAT(Arg, i)>& BOOST_PP_CAT(kw, i)
-
-#define BOOST_GRAPH_MAKE_AP_TYPE_SPECIALIZATION(z, i, _) \
-    template <BOOST_PP_ENUM_PARAMS(i, typename Keyword), BOOST_PP_ENUM_PARAMS(i, typename Arg)> \
-    struct make_arg_pack_type<void(BOOST_PP_ENUM_PARAMS(i, Keyword), BOOST_PP_ENUM_PARAMS(i, Arg))> { \
-      typedef \
-        BOOST_PP_REPEAT(i, BOOST_GRAPH_OPENING_PART_OF_PAIR, BOOST_PP_DEC(i)) boost::parameter::aux::empty_arg_list BOOST_PP_REPEAT(i, > BOOST_PP_TUPLE_EAT(3), ~) \
-        type; \
-    };
-    BOOST_PP_REPEAT_FROM_TO(2, 11, BOOST_GRAPH_MAKE_AP_TYPE_SPECIALIZATION, ~)
-#undef BOOST_GRAPH_MAKE_AP_TYPE_SPECIALIZATION
-
-#define BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(name, nfixed, nnamed_max) \
-  /* Entry point for conversion from BGL-style named parameters */ \
-  template <BOOST_PP_ENUM_PARAMS(nfixed, typename Param) BOOST_PP_COMMA_IF(nfixed) typename ArgPack> \
-  typename boost::result_of< \
-             detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>(BOOST_PP_ENUM_PARAMS(nfixed, Param) BOOST_PP_COMMA_IF(nfixed) const ArgPack&) \
-           >::type \
-  BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_BINARY_PARAMS(nfixed, const Param, & param) BOOST_PP_COMMA_IF(nfixed) const ArgPack& arg_pack) { \
-    return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>()(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
-  } \
-  /* Individual functions taking Boost.Parameter-style keyword arguments */ \
-  BOOST_PP_REPEAT(BOOST_PP_INC(nnamed_max), BOOST_GRAPH_MAKE_FORWARDING_FUNCTION_ONE, (name)(nfixed))
-
-#define BOOST_GRAPH_MAKE_FORWARDING_FUNCTION_ONE(z, nnamed, seq) \
-  BOOST_GRAPH_MAKE_FORWARDING_FUNCTION_ONEX(z, nnamed, BOOST_PP_SEQ_ELEM(0, seq), BOOST_PP_SEQ_ELEM(1, seq))
-
-#define BOOST_GRAPH_MAKE_FORWARDING_FUNCTION_ONEX(z, nnamed, name, nfixed) \
-  template <BOOST_PP_ENUM_PARAMS(nfixed, typename Param) BOOST_PP_ENUM_TRAILING_PARAMS(nnamed, typename Keyword) BOOST_PP_ENUM_TRAILING_PARAMS(nnamed, typename Arg)> \
-  typename boost::result_of< \
-             detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)> \
-               (BOOST_PP_ENUM_PARAMS(nfixed, Param) BOOST_PP_COMMA_IF(nfixed) \
-                const typename boost::detail::make_arg_pack_type<void(BOOST_PP_ENUM_PARAMS(nnamed, Keyword) BOOST_PP_COMMA_IF(nnamed) BOOST_PP_ENUM_PARAMS(nnamed, Arg))>::type&) \
-           >::type \
-  name(BOOST_PP_ENUM_BINARY_PARAMS(nfixed, const Param, & param) \
-       BOOST_PP_ENUM_TRAILING(nnamed, BOOST_GRAPH_MAKE_PAIR_PARAM, ~)) { \
-    return detail::BOOST_PP_CAT(name, _impl)<BOOST_PP_ENUM_PARAMS(nfixed, Param)>() \
-             (BOOST_PP_ENUM_PARAMS(nfixed, param), \
-              (boost::parameter::aux::empty_arg_list() BOOST_PP_ENUM_TRAILING_PARAMS(nnamed, kw))); \
-  }
-
-#define BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(name, nfixed) \
-  template <BOOST_PP_ENUM_PARAMS(nfixed, typename Param) BOOST_PP_COMMA_IF(nfixed) class P, class T, class R> \
-  typename boost::result_of< \
-    ::boost::graph::detail::BOOST_PP_CAT(name, _impl) BOOST_PP_EXPR_IF(nfixed, <) BOOST_PP_ENUM_PARAMS(nfixed, Param) BOOST_PP_EXPR_IF(nfixed, >) \
-      (BOOST_PP_ENUM_PARAMS(nfixed, Param) BOOST_PP_COMMA_IF(nfixed) \
-       const typename boost::detail::convert_bgl_params_to_boost_parameter<boost::bgl_named_params<P, T, R> >::type &) \
-    >::type \
-  name(BOOST_PP_ENUM_BINARY_PARAMS(nfixed, const Param, & param) BOOST_PP_COMMA_IF(nfixed) const boost::bgl_named_params<P, T, R>& old_style_params) { \
-    typedef boost::bgl_named_params<P, T, R> old_style_params_type; \
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(old_style_params_type, old_style_params) \
-    return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
-  } \
-  \
-  BOOST_PP_EXPR_IF(nfixed, template <) BOOST_PP_ENUM_PARAMS(nfixed, typename Param) BOOST_PP_EXPR_IF(nfixed, >) \
-  BOOST_PP_EXPR_IF(nfixed, typename) boost::result_of< \
-    ::boost::graph::detail::BOOST_PP_CAT(name, _impl) BOOST_PP_EXPR_IF(nfixed, <) BOOST_PP_ENUM_PARAMS(nfixed, Param) BOOST_PP_EXPR_IF(nfixed, >) \
-      (BOOST_PP_ENUM_PARAMS(nfixed, Param) BOOST_PP_COMMA_IF(nfixed) const boost::parameter::aux::empty_arg_list &) \
-    >::type \
-  name(BOOST_PP_ENUM_BINARY_PARAMS(nfixed, const Param, & param)) { \
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(boost::no_named_parameters, boost::no_named_parameters()) \
-    return ::boost::graph::BOOST_PP_CAT(name, _with_named_params)(BOOST_PP_ENUM_PARAMS(nfixed, param) BOOST_PP_COMMA_IF(nfixed) arg_pack); \
-  }
-
-  }
-
-  namespace detail {
-
-    template <bool Exists, typename Graph, typename ArgPack, typename Value, typename PM>
-    struct map_maker_helper {
-      typedef PM map_type;
-      static PM make_map(const Graph&, Value, const PM& pm, const ArgPack&) {
-        return pm;
-      }
-    };
-
-    template <typename Graph, typename ArgPack, typename Value, typename PM>
-    struct map_maker_helper<false, Graph, ArgPack, Value, PM> {
-      typedef typename boost::remove_const<
-        typename override_const_property_t<
-          typename boost::parameter::value_type<
-            ArgPack, boost::graph::keywords::tag::vertex_index_map, int>::type,
-          boost::vertex_index_t,
-          Graph,
-          boost::detail::parameter_exists<
-            ArgPack, boost::graph::keywords::tag::vertex_index_map>::value
-        >::result_type>::type vi_map_type;
-      typedef
-        boost::shared_array_property_map<Value, vi_map_type>
-        map_type;
-      static map_type make_map(const Graph& g,
-                               Value v,
-                               const PM&,
-                               const ArgPack& ap) {
-        return make_shared_array_property_map(
-                 num_vertices(g), 
-                 v,
-                 override_const_property(
-                   ap,
-                   boost::graph::keywords::_vertex_index_map,
-                   g, vertex_index));
-      }
-    };
-
-    template <typename Graph, typename ArgPack, typename MapTag, typename ValueType>
-    struct map_maker {
-      BOOST_STATIC_CONSTANT(
-        bool,
-        has_map =
-          (parameter_exists<ArgPack, MapTag>
-           ::value));
-      typedef map_maker_helper<has_map, Graph, ArgPack, ValueType,
-                               typename boost::remove_const<
-                                 typename boost::parameter::value_type<
-                                            ArgPack,
-                                            MapTag,
-                                            int
-                                          >::type
-                                        >::type> helper;
-      typedef typename helper::map_type map_type;
-      static map_type make_map(const Graph& g, const ArgPack& ap, ValueType default_value) {
-        return helper::make_map(g, default_value, ap[::boost::parameter::keyword<MapTag>::instance | 0], ap);
-      }
-    };
-
-    template <typename MapTag, typename ValueType = void>
-    class make_property_map_from_arg_pack_gen {
-      ValueType default_value;
-
-      public:
-      make_property_map_from_arg_pack_gen(ValueType default_value)
-        : default_value(default_value) {}
-
-      template <typename Graph, typename ArgPack>
-      typename map_maker<Graph, ArgPack, MapTag, ValueType>::map_type
-      operator()(const Graph& g, const ArgPack& ap) const {
-        return map_maker<Graph, ArgPack, MapTag, ValueType>::make_map(g, ap, default_value);
-      }
-    };
-
-    template <typename MapTag>
-    class make_property_map_from_arg_pack_gen<MapTag, void> {
-      public:
-      template <typename ValueType, typename Graph, typename ArgPack>
-      typename map_maker<Graph, ArgPack, MapTag, ValueType>::map_type
-      operator()(const Graph& g, const ArgPack& ap, ValueType default_value) const {
-        return map_maker<Graph, ArgPack, MapTag, ValueType>::make_map(g, ap, default_value);
-      }
-    };
-
-    static const
-      make_property_map_from_arg_pack_gen<
-        boost::graph::keywords::tag::color_map,
-        default_color_type>
-      make_color_map_from_arg_pack(white_color);
-
-    template <bool Exists, class Graph, class ArgPack, class KeyT, class ValueT, class KeyMapTag, class IndexInHeapMapTag, class Compare, class Q>
-    struct priority_queue_maker_helper {
-      typedef Q priority_queue_type;
-
-      static priority_queue_type
-      make_queue(const Graph&, const ArgPack&, KeyT, const Q& q) {
-        return q;
-      }
-    };
-
-    template <class Graph, class ArgPack, class KeyT, class ValueT, class KeyMapTag, class IndexInHeapMapTag, class Compare, class Q>
-    struct priority_queue_maker_helper<false, Graph, ArgPack, KeyT, ValueT, KeyMapTag, IndexInHeapMapTag, Compare, Q> {
-      typedef typename std::vector<ValueT>::size_type default_index_in_heap_type;
-      typedef typename map_maker<Graph, ArgPack, IndexInHeapMapTag, default_index_in_heap_type>::helper::map_type index_in_heap_map;
-      typedef boost::d_ary_heap_indirect<ValueT, 4, index_in_heap_map, typename map_maker<Graph, ArgPack, KeyMapTag, KeyT>::helper::map_type, Compare> priority_queue_type;
-
-      static priority_queue_type
-      make_queue(const Graph& g, const ArgPack& ap, KeyT defaultKey, const Q&) {
-        return priority_queue_type(
-            map_maker<Graph, ArgPack, KeyMapTag, KeyT>::make_map(g, ap, defaultKey),
-            map_maker<Graph, ArgPack, IndexInHeapMapTag, default_index_in_heap_type>::make_map(g, ap, typename boost::property_traits<index_in_heap_map>::value_type(-1))
-          );
-      }
-    };
-
-    template <class Graph, class ArgPack, class KeyT, class ValueT, class PriorityQueueTag, class KeyMapTag, class IndexInHeapMapTag, class Compare>
-    struct priority_queue_maker {
-      BOOST_STATIC_CONSTANT(
-        bool,
-        g_hasQ =
-          (parameter_exists<ArgPack, PriorityQueueTag>
-           ::value));
-      typedef boost::reference_wrapper<int> int_refw;
-      typedef typename boost::parameter::value_type<
-                         ArgPack,
-                         PriorityQueueTag,
-                         int_refw
-                       >::type
-        param_value_type_wrapper;
-      typedef typename param_value_type_wrapper::type
-        param_value_type;
-      typedef typename boost::remove_const<param_value_type>::type param_value_type_no_const;
-      typedef priority_queue_maker_helper<g_hasQ, Graph, ArgPack, KeyT, ValueT, KeyMapTag, IndexInHeapMapTag, Compare,
-                                          param_value_type_no_const> helper;
-      typedef typename helper::priority_queue_type priority_queue_type;
-
-      static priority_queue_type make_queue(const Graph& g, const ArgPack& ap, KeyT defaultKey) {
-        return helper::make_queue(g, ap, defaultKey, ap[::boost::parameter::keyword<PriorityQueueTag>::instance | 0]);
-      }
-    };
-
-    template <class PriorityQueueTag, class KeyT, class ValueT, class Compare = std::less<KeyT>, class KeyMapTag = boost::graph::keywords::tag::distance_map, class IndexInHeapMapTag = boost::graph::keywords::tag::index_in_heap_map>
-    struct make_priority_queue_from_arg_pack_gen {
-      KeyT defaultKey;
-
-      make_priority_queue_from_arg_pack_gen(KeyT defaultKey_) : defaultKey(defaultKey_) { }
-
-      template <class F>
-      struct result {
-        typedef typename remove_const<typename remove_reference<typename function_traits<F>::arg1_type>::type>::type graph_type;
-        typedef typename remove_const<typename remove_reference<typename function_traits<F>::arg2_type>::type>::type arg_pack_type;
-        typedef typename priority_queue_maker<graph_type, arg_pack_type, KeyT, ValueT, PriorityQueueTag, KeyMapTag, IndexInHeapMapTag, Compare>::priority_queue_type type;
-      };
-
-      template <class Graph, class ArgPack>
-      typename priority_queue_maker<Graph, ArgPack, KeyT, ValueT, PriorityQueueTag, KeyMapTag, IndexInHeapMapTag, Compare>::priority_queue_type
-      operator()(const Graph& g, const ArgPack& ap) const {
-        return priority_queue_maker<Graph, ArgPack, KeyT, ValueT, PriorityQueueTag, KeyMapTag, IndexInHeapMapTag, Compare>::make_queue(g, ap, defaultKey);
-      }
-    };
-
-    template <typename G>
-    typename boost::graph_traits<G>::vertex_descriptor
-    get_null_vertex(const G&) {return boost::graph_traits<G>::null_vertex();}
-
-    template <typename G>
-    typename boost::graph_traits<G>::vertex_descriptor
-    get_default_starting_vertex(const G& g) {
-      std::pair<typename boost::graph_traits<G>::vertex_iterator, typename boost::graph_traits<G>::vertex_iterator> iters = vertices(g);
-      return (iters.first == iters.second) ? boost::graph_traits<G>::null_vertex() : *iters.first;
-    }
-
-    template <typename G>
-    struct get_default_starting_vertex_t {
-      typedef typename boost::graph_traits<G>::vertex_descriptor result_type;
-      const G& g;
-      get_default_starting_vertex_t(const G& g): g(g) {}
-      result_type operator()() const {return get_default_starting_vertex(g);}
-    };
-
-    // Wrapper to avoid instantiating numeric_limits when users provide distance_inf value manually
-    template <typename T>
-    struct get_max {
-      T operator()() const {
-        return (std::numeric_limits<T>::max)();
-      }
-      typedef T result_type;
-    };
-
-  } // namespace detail
-
-} // namespace boost
-
-#undef BOOST_BGL_DECLARE_NAMED_PARAMS
-
-#endif // BOOST_GRAPH_NAMED_FUNCTION_PARAMS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/named_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/named_graph.hpp
deleted file mode 100644
index e4d3314..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/named_graph.hpp
+++ /dev/null
@@ -1,508 +0,0 @@
-// Copyright (C) 2007 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)
-
-// Provides support for named vertices in graphs, allowing one to more
-// easily associate unique external names (URLs, city names, employee
-// ID numbers, etc.) with the vertices of a graph.
-#ifndef BOOST_GRAPH_NAMED_GRAPH_HPP
-#define BOOST_GRAPH_NAMED_GRAPH_HPP
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/functional/hash.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/multi_index/hashed_index.hpp>
-#include <boost/multi_index/member.hpp>
-#include <boost/multi_index_container.hpp>
-#include <boost/optional.hpp>
-#include <boost/pending/property.hpp> // for boost::lookup_one_property
-#include <boost/pending/container_traits.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/tuple/tuple.hpp> // for boost::make_tuple
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <functional> // for std::equal_to
-#include <stdexcept> // for std::runtime_error
-#include <utility> // for std::pair
-
-namespace boost { namespace graph {
-
-/*******************************************************************
- * User-customized traits                                          *
- *******************************************************************/
-
-/**
- * @brief Trait used to extract the internal vertex name from a vertex
- * property.
- *
- * To enable the use of internal vertex names in a graph type,
- * specialize the @c internal_vertex_name trait for your graph
- * property (e.g., @c a City class, which stores information about the
- * vertices in a road map).
- */
-template<typename VertexProperty>
-struct internal_vertex_name
-{
-  /**
-   *  The @c type field provides a function object that extracts a key
-   *  from the @c VertexProperty. The function object type must have a
-   *  nested @c result_type that provides the type of the key. For
-   *  more information, see the @c KeyExtractor concept in the
-   *  Boost.MultiIndex documentation: @c type must either be @c void
-   *  (if @c VertexProperty does not have an internal vertex name) or
-   *  a model of @c KeyExtractor.
-   */
-  typedef void type;
-};
-
-/**
- * Extract the internal vertex name from a @c property structure by
- * looking at its base.
- */
-template<typename Tag, typename T, typename Base>
-struct internal_vertex_name<property<Tag, T, Base> >
-  : internal_vertex_name<Base> { };
-
-/**
- * Construct an instance of @c VertexProperty directly from its
- * name. This function object should be used within the @c
- * internal_vertex_constructor trait.
- */
-template<typename VertexProperty>
-struct vertex_from_name
-{
-private:
-  typedef typename internal_vertex_name<VertexProperty>::type extract_name_type;
-
-  typedef typename remove_cv<
-            typename remove_reference<
-              typename extract_name_type::result_type>::type>::type
-    vertex_name_type;
-
-public:
-  typedef vertex_name_type argument_type;
-  typedef VertexProperty result_type;
-
-  VertexProperty operator()(const vertex_name_type& name)
-  {
-    return VertexProperty(name);
-  }
-};
-
-/**
- * Throw an exception whenever one tries to construct a @c
- * VertexProperty instance from its name.
- */
-template<typename VertexProperty>
-struct cannot_add_vertex
-{
-private:
-  typedef typename internal_vertex_name<VertexProperty>::type extract_name_type;
-
-  typedef typename remove_cv<
-            typename remove_reference<
-              typename extract_name_type::result_type>::type>::type
-    vertex_name_type;
-
-public:
-  typedef vertex_name_type argument_type;
-  typedef VertexProperty result_type;
-
-  VertexProperty operator()(const vertex_name_type&)
-  {
-      boost::throw_exception(std::runtime_error("add_vertex: "
-                                                "unable to create a vertex from its name"));
-  }
-};
-
-/**
- * @brief Trait used to construct an instance of a @c VertexProperty,
- * which is a class type that stores the properties associated with a
- * vertex in a graph, from just the name of that vertex property. This
- * operation is used when an operation is required to map from a
- * vertex name to a vertex descriptor (e.g., to add an edge outgoing
- * from that vertex), but no vertex by the name exists. The function
- * object provided by this trait will be used to add new vertices
- * based only on their names. Since this cannot be done for arbitrary
- * types, the default behavior is to throw an exception when this
- * routine is called, which requires that all named vertices be added
- * before adding any edges by name.
- */
-template<typename VertexProperty>
-struct internal_vertex_constructor
-{
-  /**
-   * The @c type field provides a function object that constructs a
-   * new instance of @c VertexProperty from the name of the vertex (as
-   * determined by @c internal_vertex_name). The function object shall
-   * accept a vertex name and return a @c VertexProperty. Predefined
-   * options include:
-   *
-   *   @c vertex_from_name<VertexProperty>: construct an instance of
-   *   @c VertexProperty directly from the name.
-   *
-   *   @c cannot_add_vertex<VertexProperty>: the default value, which
-   *   throws an @c std::runtime_error if one attempts to add a vertex
-   *   given just the name.
-   */
-  typedef cannot_add_vertex<VertexProperty> type;
-};
-
-/**
- * Extract the internal vertex constructor from a @c property structure by
- * looking at its base.
- */
-template<typename Tag, typename T, typename Base>
-struct internal_vertex_constructor<property<Tag, T, Base> >
-  : internal_vertex_constructor<Base> { };
-
-/*******************************************************************
- * Named graph mixin                                               *
- *******************************************************************/
-
-/**
- * named_graph is a mixin that provides names for the vertices of a
- * graph, including a mapping from names to vertices. Graph types that
- * may or may not be have vertex names (depending on the properties
- * supplied by the user) should use maybe_named_graph.
- *
- * Template parameters:
- *
- *   Graph: the graph type that derives from named_graph
- *
- *   Vertex: the type of a vertex descriptor in Graph. Note: we cannot
- *   use graph_traits here, because the Graph is not yet defined.
- *
- *   VertexProperty: the type stored with each vertex in the Graph.
- */
-template<typename Graph, typename Vertex, typename VertexProperty>
-class named_graph
-{
-public:
-  /// The type of the function object that extracts names from vertex
-  /// properties.
-  typedef typename internal_vertex_name<VertexProperty>::type extract_name_type;
-  /// The type of the "bundled" property, from which the name can be
-  /// extracted.
-  typedef typename lookup_one_property<VertexProperty, vertex_bundle_t>::type
-    bundled_vertex_property_type;
-
-  /// The type of the function object that generates vertex properties
-  /// from names, for the implicit addition of vertices.
-  typedef typename internal_vertex_constructor<VertexProperty>::type
-    vertex_constructor_type;
-
-  /// The type used to name vertices in the graph
-  typedef typename remove_cv<
-            typename remove_reference<
-              typename extract_name_type::result_type>::type>::type
-    vertex_name_type;
-
-  /// The type of vertex descriptors in the graph
-  typedef Vertex vertex_descriptor;
-
-private:
-  /// Key extractor for use with the multi_index_container
-  struct extract_name_from_vertex
-  {
-    typedef vertex_name_type result_type;
-
-    extract_name_from_vertex(Graph& graph, const extract_name_type& extract)
-      : graph(graph), extract(extract) { }
-
-    const result_type& operator()(Vertex vertex) const
-    {
-      return extract(graph[vertex]);
-    }
-
-    Graph& graph;
-    extract_name_type extract;
-  };
-
-public:
-  /// The type that maps names to vertices
-  typedef multi_index::multi_index_container<
-            Vertex,
-            multi_index::indexed_by<
-              multi_index::hashed_unique<multi_index::tag<vertex_name_t>,
-                                         extract_name_from_vertex> >
-          > named_vertices_type;
-
-  /// The set of vertices, indexed by name
-  typedef typename named_vertices_type::template index<vertex_name_t>::type
-    vertices_by_name_type;
-
-  /// Construct an instance of the named graph mixin, using the given
-  /// function object to extract a name from the bundled property
-  /// associated with a vertex.
-  named_graph(const extract_name_type& extract = extract_name_type(),
-              const vertex_constructor_type& vertex_constructor
-                = vertex_constructor_type());
-
-  /// Notify the named_graph that we have added the given vertex. The
-  /// name of the vertex will be added to the mapping.
-  void added_vertex(Vertex vertex);
-
-  /// Notify the named_graph that we are removing the given
-  /// vertex. The name of the vertex will be removed from the mapping.
-  template <typename VertexIterStability>
-  void removing_vertex(Vertex vertex, VertexIterStability);
-
-  /// Notify the named_graph that we are clearing the graph.
-  /// This will clear out all of the name->vertex mappings
-  void clearing_graph();
-
-  /// Retrieve the derived instance
-  Graph&       derived()       { return static_cast<Graph&>(*this); }
-  const Graph& derived() const { return static_cast<const Graph&>(*this); }
-
-  /// Extract the name from a vertex property instance
-  typename extract_name_type::result_type
-  extract_name(const bundled_vertex_property_type& property);
-
-  /// Search for a vertex that has the given property (based on its
-  /// name)
-  optional<vertex_descriptor>
-  vertex_by_property(const bundled_vertex_property_type& property);
-
-  /// Mapping from names to vertices
-  named_vertices_type named_vertices;
-
-  /// Constructs a vertex from the name of that vertex
-  vertex_constructor_type vertex_constructor;
-};
-
-/// Helper macro containing the template parameters of named_graph
-#define BGL_NAMED_GRAPH_PARAMS \
-  typename Graph, typename Vertex, typename VertexProperty
-/// Helper macro containing the named_graph<...> instantiation
-#define BGL_NAMED_GRAPH \
-  named_graph<Graph, Vertex, VertexProperty>
-
-template<BGL_NAMED_GRAPH_PARAMS>
-BGL_NAMED_GRAPH::named_graph(const extract_name_type& extract,
-                             const vertex_constructor_type& vertex_constructor)
-  : named_vertices(
-      typename named_vertices_type::ctor_args_list(
-        boost::make_tuple(
-          boost::make_tuple(
-            0, // initial number of buckets
-            extract_name_from_vertex(derived(), extract),
-            boost::hash<vertex_name_type>(),
-            std::equal_to<vertex_name_type>())))),
-    vertex_constructor(vertex_constructor)
-{
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-inline void BGL_NAMED_GRAPH::added_vertex(Vertex vertex)
-{
-  named_vertices.insert(vertex);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-template<typename VertexIterStability>
-inline void BGL_NAMED_GRAPH::removing_vertex(Vertex vertex, VertexIterStability)
-{
-  BOOST_STATIC_ASSERT_MSG ((boost::is_base_of<boost::graph_detail::stable_tag, VertexIterStability>::value), "Named graphs cannot use vecS as vertex container and remove vertices; the lack of vertex descriptor stability (which iterator stability is a proxy for) means that the name -> vertex mapping would need to be completely rebuilt after each deletion.  See https://svn.boost.org/trac/boost/ticket/7863 for more information and a test case.");
-  typedef typename BGL_NAMED_GRAPH::vertex_name_type vertex_name_type;
-  const vertex_name_type& vertex_name = extract_name(derived()[vertex]);
-  named_vertices.erase(vertex_name);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-inline void BGL_NAMED_GRAPH::clearing_graph()
-{
-  named_vertices.clear();
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-typename BGL_NAMED_GRAPH::extract_name_type::result_type
-BGL_NAMED_GRAPH::extract_name(const bundled_vertex_property_type& property)
-{
-  return named_vertices.key_extractor().extract(property);
-}
-
-template<BGL_NAMED_GRAPH_PARAMS>
-optional<typename BGL_NAMED_GRAPH::vertex_descriptor>
-BGL_NAMED_GRAPH::
-vertex_by_property(const bundled_vertex_property_type& property)
-{
-  return find_vertex(extract_name(property), *this);
-}
-
-/// Retrieve the vertex associated with the given name
-template<BGL_NAMED_GRAPH_PARAMS>
-optional<Vertex>
-find_vertex(typename BGL_NAMED_GRAPH::vertex_name_type const& name,
-            const BGL_NAMED_GRAPH& g)
-{
-  typedef typename BGL_NAMED_GRAPH::vertices_by_name_type
-    vertices_by_name_type;
-
-  // Retrieve the set of vertices indexed by name
-  vertices_by_name_type const& vertices_by_name
-    = g.named_vertices.template get<vertex_name_t>();
-
-  /// Look for a vertex with the given name
-  typename vertices_by_name_type::const_iterator iter
-    = vertices_by_name.find(name);
-
-  if (iter == vertices_by_name.end())
-    return optional<Vertex>(); // vertex not found
-  else
-    return *iter;
-}
-
-/// Retrieve the vertex associated with the given name, or add a new
-/// vertex with that name if no such vertex is available.
-/// Note: This is enabled only when the vertex property type is different
-///       from the vertex name to avoid ambiguous overload problems with
-///       the add_vertex() function that takes a vertex property.
-template<BGL_NAMED_GRAPH_PARAMS>
-    typename disable_if<is_same<
-        typename BGL_NAMED_GRAPH::vertex_name_type,
-        VertexProperty
-    >,
-Vertex>::type
-add_vertex(typename BGL_NAMED_GRAPH::vertex_name_type const& name,
-           BGL_NAMED_GRAPH& g)
-{
-  if (optional<Vertex> vertex = find_vertex(name, g))
-    /// We found the vertex, so return it
-    return *vertex;
-  else
-    /// There is no vertex with the given name, so create one
-    return add_vertex(g.vertex_constructor(name), g.derived());
-}
-
-/// Add an edge using vertex names to refer to the vertices
-template<BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         BGL_NAMED_GRAPH& g)
-{
-  return add_edge(add_vertex(u_name, g.derived()),
-                  add_vertex(v_name, g.derived()),
-                  g.derived());
-}
-
-/// Add an edge using vertex descriptors or names to refer to the vertices
-template<BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-add_edge(typename BGL_NAMED_GRAPH::vertex_descriptor const& u,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         BGL_NAMED_GRAPH& g)
-{
-  return add_edge(u,
-                  add_vertex(v_name, g.derived()),
-                  g.derived());
-}
-
-/// Add an edge using vertex descriptors or names to refer to the vertices
-template<BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_descriptor const& v,
-         BGL_NAMED_GRAPH& g)
-{
-  return add_edge(add_vertex(u_name, g.derived()),
-                  v,
-                  g.derived());
-}
-
-// Overloads to support EdgeMutablePropertyGraph graphs
-template <BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-add_edge(typename BGL_NAMED_GRAPH::vertex_descriptor const& u,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         typename edge_property_type<Graph>::type const& p,
-         BGL_NAMED_GRAPH& g) {
-    return add_edge(u, add_vertex(v_name, g.derived()), p, g.derived());
-}
-
-template <BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_descriptor const& v,
-         typename edge_property_type<Graph>::type const& p,
-         BGL_NAMED_GRAPH& g) {
-    return add_edge(add_vertex(u_name, g.derived()), v, p, g.derived());
-}
-
-template <BGL_NAMED_GRAPH_PARAMS>
-std::pair<typename graph_traits<Graph>::edge_descriptor, bool>
-add_edge(typename BGL_NAMED_GRAPH::vertex_name_type const& u_name,
-         typename BGL_NAMED_GRAPH::vertex_name_type const& v_name,
-         typename edge_property_type<Graph>::type const& p,
-         BGL_NAMED_GRAPH& g) {
-    return add_edge(add_vertex(u_name, g.derived()),
-                    add_vertex(v_name, g.derived()), p, g.derived());
-}
-
-#undef BGL_NAMED_GRAPH
-#undef BGL_NAMED_GRAPH_PARAMS
-
-/*******************************************************************
- * Maybe named graph mixin                                         *
- *******************************************************************/
-
-/**
- * A graph mixin that can provide a mapping from names to vertices,
- * and use that mapping to simplify creation and manipulation of
- * graphs.
- */
-template<typename Graph, typename Vertex, typename VertexProperty,
-         typename ExtractName
-           = typename internal_vertex_name<VertexProperty>::type>
-struct maybe_named_graph : public named_graph<Graph, Vertex, VertexProperty>
-{
-};
-
-/**
- * A graph mixin that can provide a mapping from names to vertices,
- * and use that mapping to simplify creation and manipulation of
- * graphs. This partial specialization turns off this functionality
- * when the @c VertexProperty does not have an internal vertex name.
- */
-template<typename Graph, typename Vertex, typename VertexProperty>
-struct maybe_named_graph<Graph, Vertex, VertexProperty, void>
-{
-  /// The type of the "bundled" property, from which the name can be
-  /// extracted.
-  typedef typename lookup_one_property<VertexProperty, vertex_bundle_t>::type
-    bundled_vertex_property_type;
-
-  /// Notify the named_graph that we have added the given vertex. This
-  /// is a no-op.
-  void added_vertex(Vertex) { }
-
-  /// Notify the named_graph that we are removing the given
-  /// vertex. This is a no-op.
-  template <typename VertexIterStability>
-  void removing_vertex(Vertex, VertexIterStability) { }
-
-  /// Notify the named_graph that we are clearing the graph. This is a
-  /// no-op.
-  void clearing_graph() { }
-
-  /// Search for a vertex that has the given property (based on its
-  /// name). This always returns an empty optional<>
-  optional<Vertex>
-  vertex_by_property(const bundled_vertex_property_type&)
-  {
-    return optional<Vertex>();
-  }
-};
-
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_NAMED_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/neighbor_bfs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/neighbor_bfs.hpp
deleted file mode 100644
index 4830dcc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/neighbor_bfs.hpp
+++ /dev/null
@@ -1,322 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_NEIGHBOR_BREADTH_FIRST_SEARCH_HPP
-#define BOOST_GRAPH_NEIGHBOR_BREADTH_FIRST_SEARCH_HPP
-
-/*
-  Neighbor Breadth First Search
-  Like BFS, but traverses in-edges as well as out-edges.
-  (for directed graphs only. use normal BFS for undirected graphs)
-*/
-#include <boost/config.hpp>
-#include <boost/ref.hpp>
-#include <vector>
-#include <boost/pending/queue.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-  template <class Visitor, class Graph>
-  struct NeighborBFSVisitorConcept {
-    void constraints() {
-      BOOST_CONCEPT_ASSERT(( CopyConstructibleConcept<Visitor> ));
-      vis.initialize_vertex(u, g);
-      vis.discover_vertex(u, g);
-      vis.examine_vertex(u, g);
-      vis.examine_out_edge(e, g);
-      vis.examine_in_edge(e, g);
-      vis.tree_out_edge(e, g);
-      vis.tree_in_edge(e, g);
-      vis.non_tree_out_edge(e, g);
-      vis.non_tree_in_edge(e, g);
-      vis.gray_target(e, g);
-      vis.black_target(e, g);
-      vis.gray_source(e, g);
-      vis.black_source(e, g);
-      vis.finish_vertex(u, g);
-    }
-    Visitor vis;
-    Graph g;
-    typename graph_traits<Graph>::vertex_descriptor u;
-    typename graph_traits<Graph>::edge_descriptor e;
-  };
-
-  template <class Visitors = null_visitor>
-  class neighbor_bfs_visitor {
-  public:
-    neighbor_bfs_visitor(Visitors vis = Visitors()) : m_vis(vis) { }
-
-    template <class Vertex, class Graph>
-    void initialize_vertex(Vertex u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_initialize_vertex());      
-    }
-    template <class Vertex, class Graph>
-    void discover_vertex(Vertex u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_discover_vertex());      
-    }
-    template <class Vertex, class Graph>
-    void examine_vertex(Vertex u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_examine_vertex());
-    }
-    template <class Edge, class Graph>
-    void examine_out_edge(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_examine_edge());
-    }
-    template <class Edge, class Graph>
-    void tree_out_edge(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_tree_edge());      
-    }
-    template <class Edge, class Graph>
-    void non_tree_out_edge(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_non_tree_edge());
-    }
-    template <class Edge, class Graph>
-    void gray_target(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_gray_target());
-    }
-    template <class Edge, class Graph>
-    void black_target(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_black_target());
-    }
-    template <class Edge, class Graph>
-    void examine_in_edge(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_examine_edge());
-    }
-    template <class Edge, class Graph>
-    void tree_in_edge(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_tree_edge());      
-    }
-    template <class Edge, class Graph>
-    void non_tree_in_edge(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_non_tree_edge());
-    }
-    template <class Edge, class Graph>
-    void gray_source(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_gray_target());
-    }
-    template <class Edge, class Graph>
-    void black_source(Edge e, Graph& g) {
-      invoke_visitors(m_vis, e, g, on_black_target());
-    }
-    template <class Vertex, class Graph>
-    void finish_vertex(Vertex u, Graph& g) {
-      invoke_visitors(m_vis, u, g, on_finish_vertex());      
-    }
-  protected:
-    Visitors m_vis;
-  };
-
-  template <class Visitors>
-  neighbor_bfs_visitor<Visitors>
-  make_neighbor_bfs_visitor(Visitors vis) {
-    return neighbor_bfs_visitor<Visitors>(vis);
-  }
-
-  namespace detail {
-
-    template <class BidirectionalGraph, class Buffer, class BFSVisitor, 
-              class ColorMap>
-    void neighbor_bfs_impl
-      (const BidirectionalGraph& g, 
-       typename graph_traits<BidirectionalGraph>::vertex_descriptor s, 
-       Buffer& Q, BFSVisitor vis, ColorMap color)
-
-    {
-      BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<BidirectionalGraph> ));
-      typedef graph_traits<BidirectionalGraph> GTraits;
-      typedef typename GTraits::vertex_descriptor Vertex;
-      typedef typename GTraits::edge_descriptor Edge;
-      BOOST_CONCEPT_ASSERT(( 
-        NeighborBFSVisitorConcept<BFSVisitor, BidirectionalGraph> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
-      typedef typename property_traits<ColorMap>::value_type ColorValue;
-      typedef color_traits<ColorValue> Color;
-      
-      put(color, s, Color::gray());
-      vis.discover_vertex(s, g);
-      Q.push(s);
-      while (! Q.empty()) {
-        Vertex u = Q.top();
-        Q.pop(); // pop before push to avoid problem if Q is priority_queue.
-        vis.examine_vertex(u, g);
-
-        typename GTraits::out_edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-          Edge e = *ei;
-          vis.examine_out_edge(e, g);
-          Vertex v = target(e, g);
-          ColorValue v_color = get(color, v);
-          if (v_color == Color::white()) {
-            vis.tree_out_edge(e, g);
-            put(color, v, Color::gray());
-            vis.discover_vertex(v, g);
-            Q.push(v);
-          } else {
-            vis.non_tree_out_edge(e, g);
-            if (v_color == Color::gray())
-              vis.gray_target(e, g);
-            else
-              vis.black_target(e, g);
-          }
-        } // for out-edges
-
-        typename GTraits::in_edge_iterator in_ei, in_ei_end;
-        for (boost::tie(in_ei, in_ei_end) = in_edges(u, g); 
-             in_ei != in_ei_end; ++in_ei) {
-          Edge e = *in_ei;
-          vis.examine_in_edge(e, g);
-          Vertex v = source(e, g);
-          ColorValue v_color = get(color, v);
-          if (v_color == Color::white()) {
-            vis.tree_in_edge(e, g);
-            put(color, v, Color::gray());
-            vis.discover_vertex(v, g);
-            Q.push(v);
-          } else {
-            vis.non_tree_in_edge(e, g);
-            if (v_color == Color::gray())
-              vis.gray_source(e, g);
-            else
-              vis.black_source(e, g);
-          }
-        } // for in-edges
-
-        put(color, u, Color::black());
-        vis.finish_vertex(u, g);
-      } // while
-    }
-
-    
-    template <class VertexListGraph, class ColorMap, class BFSVisitor,
-      class P, class T, class R>
-    void neighbor_bfs_helper
-      (VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       ColorMap color, 
-       BFSVisitor vis,
-       const bgl_named_params<P, T, R>& params)
-    {
-      typedef graph_traits<VertexListGraph> Traits;
-      // Buffer default
-      typedef typename Traits::vertex_descriptor Vertex;
-      typedef boost::queue<Vertex> queue_t;
-      queue_t Q;
-      // Initialization
-      typedef typename property_traits<ColorMap>::value_type ColorValue;
-      typedef color_traits<ColorValue> Color;
-      typename boost::graph_traits<VertexListGraph>::vertex_iterator i, i_end;
-      for (boost::tie(i, i_end) = vertices(g); i != i_end; ++i) {
-        put(color, *i, Color::white());
-        vis.initialize_vertex(*i, g);
-      }
-      neighbor_bfs_impl
-        (g, s, 
-         choose_param(get_param(params, buffer_param_t()), boost::ref(Q)).get(),
-         vis, color);
-    }
-
-    //-------------------------------------------------------------------------
-    // Choose between default color and color parameters. Using
-    // function dispatching so that we don't require vertex index if
-    // the color default is not being used.
-
-    template <class ColorMap>
-    struct neighbor_bfs_dispatch {
-      template <class VertexListGraph, class P, class T, class R>
-      static void apply
-      (VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       const bgl_named_params<P, T, R>& params,
-       ColorMap color)
-      {
-        neighbor_bfs_helper
-          (g, s, color,
-           choose_param(get_param(params, graph_visitor),
-                        make_neighbor_bfs_visitor(null_visitor())),
-           params);
-      }
-    };
-
-    template <>
-    struct neighbor_bfs_dispatch<param_not_found> {
-      template <class VertexListGraph, class P, class T, class R>
-      static void apply
-      (VertexListGraph& g,
-       typename graph_traits<VertexListGraph>::vertex_descriptor s,
-       const bgl_named_params<P, T, R>& params,
-       param_not_found)
-      {
-        std::vector<default_color_type> color_vec(num_vertices(g));
-        null_visitor null_vis;
-        
-        neighbor_bfs_helper
-          (g, s, 
-           make_iterator_property_map
-           (color_vec.begin(), 
-            choose_const_pmap(get_param(params, vertex_index), 
-                              g, vertex_index), color_vec[0]),
-           choose_param(get_param(params, graph_visitor),
-                        make_neighbor_bfs_visitor(null_vis)),
-           params);
-      }
-    };
-
-  } // namespace detail
-
-
-  // Named Parameter Variant
-  template <class VertexListGraph, class P, class T, class R>
-  void neighbor_breadth_first_search
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s,
-     const bgl_named_params<P, T, R>& params)
-  {
-    // The graph is passed by *const* reference so that graph adaptors
-    // (temporaries) can be passed into this function. However, the
-    // graph is not really const since we may write to property maps
-    // of the graph.
-    VertexListGraph& ng = const_cast<VertexListGraph&>(g);
-    typedef typename get_param_type< vertex_color_t, bgl_named_params<P,T,R> >::type C;
-    detail::neighbor_bfs_dispatch<C>::apply(ng, s, params, 
-                                            get_param(params, vertex_color));
-  }
-
-
-  // This version does not initialize colors, user has to.
-
-  template <class IncidenceGraph, class P, class T, class R>
-  void neighbor_breadth_first_visit
-    (IncidenceGraph& g,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor s,
-     const bgl_named_params<P, T, R>& params)
-  {
-    typedef graph_traits<IncidenceGraph> Traits;
-    // Buffer default
-    typedef boost::queue<typename Traits::vertex_descriptor> queue_t;
-    queue_t Q;
-
-    detail::neighbor_bfs_impl
-      (g, s,
-       choose_param(get_param(params, buffer_param_t()), boost::ref(Q)).get(),
-       choose_param(get_param(params, graph_visitor),
-                    make_neighbor_bfs_visitor(null_visitor())),
-       choose_pmap(get_param(params, vertex_color), g, vertex_color)
-       );
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_NEIGHBOR_BREADTH_FIRST_SEARCH_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/numeric_values.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/numeric_values.hpp
deleted file mode 100644
index ad01837..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/numeric_values.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_NUMERIC_VALUES_HPP
-#define BOOST_GRAPH_NUMERIC_VALUES_HPP
-
-#include <limits>
-
-namespace boost
-{
-
-#define BOOST_GRAPH_SPECIALIZE_NUMERIC_FLOAT(type) \
-    template <> struct numeric_values<type> { \
-        typedef type value_type; \
-        static type zero() { return 0.0; } \
-        static type infinity() { return std::numeric_limits<type>::infinity(); } \
-    };
-
-    /**
-     * This generic type reports various numeric values for some type. In the
-     * general case, numeric values simply treat their maximum value as infinity
-     * and the default-constructed value as 0.
-     *
-     * Specializations of this template can redefine the notions of zero and
-     * infinity for various types. For example, the class is specialized for
-     * floating point types to use the built in notion of infinity.
-     */
-    template <typename T>
-    struct numeric_values
-    {
-        typedef T value_type;
-
-        static T zero()
-        { return T(); }
-
-        static T infinity()
-        { return (std::numeric_limits<T>::max)(); }
-    };
-
-    // Specializations for floating point types refer to 0.0 and their infinity
-    // value defined by numeric_limits.
-    BOOST_GRAPH_SPECIALIZE_NUMERIC_FLOAT(float)
-    BOOST_GRAPH_SPECIALIZE_NUMERIC_FLOAT(double)
-    BOOST_GRAPH_SPECIALIZE_NUMERIC_FLOAT(long double)
-
-#undef BOOST_GRAPH_SPECIALIZE_NUMERIC_VALUE
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/one_bit_color_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/one_bit_color_map.hpp
deleted file mode 100644
index b153b73..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/one_bit_color_map.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright (C) 2005-2010 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-
-// One bit per color property map (gray and black are the same, green is not
-// supported)
-
-#ifndef BOOST_ONE_BIT_COLOR_MAP_HPP
-#define BOOST_ONE_BIT_COLOR_MAP_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/shared_array.hpp>
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <algorithm>
-#include <limits>
-
-namespace boost {
-
-enum one_bit_color_type { 
-  one_bit_white     = 0, 
-  one_bit_not_white  = 1
-};
-
-template <>
-struct color_traits<one_bit_color_type>
-{
-  static one_bit_color_type white() { return one_bit_white; }
-  static one_bit_color_type gray()  { return one_bit_not_white; }
-  static one_bit_color_type black() { return one_bit_not_white; }
-};
-
-
-template<typename IndexMap = identity_property_map>
-struct one_bit_color_map 
-{
-  BOOST_STATIC_CONSTANT(int, bits_per_char = std::numeric_limits<unsigned char>::digits);
-  std::size_t n;
-  IndexMap index;
-  shared_array<unsigned char> data;
-
-  typedef typename property_traits<IndexMap>::key_type key_type;
-  typedef one_bit_color_type value_type;
-  typedef void reference;
-  typedef read_write_property_map_tag category;
-
-  explicit one_bit_color_map(std::size_t n, const IndexMap& index = IndexMap())
-    : n(n), index(index), data(new unsigned char[(n + bits_per_char - 1) / bits_per_char])
-  {
-    // Fill to white
-    std::fill(data.get(), data.get() + (n + bits_per_char - 1) / bits_per_char, 0);
-  }
-};
-
-template<typename IndexMap>
-inline one_bit_color_type
-get(const one_bit_color_map<IndexMap>& pm, 
-    typename property_traits<IndexMap>::key_type key) 
-{
-  BOOST_STATIC_CONSTANT(int, bits_per_char = one_bit_color_map<IndexMap>::bits_per_char);
-  typename property_traits<IndexMap>::value_type i = get(pm.index, key);
-  BOOST_ASSERT ((std::size_t)i < pm.n);
-  return one_bit_color_type((pm.data.get()[i / bits_per_char] >> (i % bits_per_char)) & 1);
-}
-
-template<typename IndexMap>
-inline void
-put(const one_bit_color_map<IndexMap>& pm, 
-    typename property_traits<IndexMap>::key_type key,
-    one_bit_color_type value)
-{
-  BOOST_STATIC_CONSTANT(int, bits_per_char = one_bit_color_map<IndexMap>::bits_per_char);
-  typename property_traits<IndexMap>::value_type i = get(pm.index, key);
-  BOOST_ASSERT ((std::size_t)i < pm.n);
-  BOOST_ASSERT (value >= 0 && value < 2);
-  std::size_t byte_num = i / bits_per_char;
-  std::size_t bit_position = (i % bits_per_char);
-    pm.data.get()[byte_num] =
-      (unsigned char)
-        ((pm.data.get()[byte_num] & ~(1 << bit_position))
-         | (value << bit_position));
-}
-
-template<typename IndexMap>
-inline one_bit_color_map<IndexMap>
-make_one_bit_color_map(std::size_t n, const IndexMap& index_map)
-{
-  return one_bit_color_map<IndexMap>(n, index_map);
-}
-
-} // end namespace boost
-
-#endif // BOOST_ONE_BIT_COLOR_MAP_HPP
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/one_bit_color_map.hpp>
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/overloading.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/overloading.hpp
deleted file mode 100644
index a952e22..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/overloading.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-//
-// This file contains helps that enable concept-based overloading
-// within the Boost Graph Library.
-//
-#ifndef BOOST_GRAPH_OVERLOADING_HPP
-#define BOOST_GRAPH_OVERLOADING_HPP
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost {  namespace graph { namespace detail {
-
-struct no_parameter {};
-
-} } } // end namespace boost::graph::detail
-
-#ifndef BOOST_NO_SFINAE
-
-#define BOOST_GRAPH_ENABLE_IF_MODELS(Graph, Tag, Type)               \
-  typename enable_if_c<(is_base_and_derived<                         \
-                          Tag,                                       \
-                          typename graph_traits<Graph>::traversal_category>::value), \
-                       Type>::type
-
-#define BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, Tag)                   \
-  , BOOST_GRAPH_ENABLE_IF_MODELS(Graph, Tag,                            \
-                                 ::boost::graph::detail::no_parameter)  \
-    = ::boost::graph::detail::no_parameter()
-
-#else
-
-#define BOOST_GRAPH_ENABLE_IF_MODELS(Graph, Tag, Type) Type
-#define BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, Tag)
-
-#endif // no SFINAE support
-
-#endif // BOOST_GRAPH_OVERLOADING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/page_rank.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/page_rank.hpp
deleted file mode 100644
index a898704..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/page_rank.hpp
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2004-5 The Trustees of Indiana University.
-// Copyright 2002 Brad King and 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
-
-#ifndef BOOST_GRAPH_PAGE_RANK_HPP
-#define BOOST_GRAPH_PAGE_RANK_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/overloading.hpp>
-#include <vector>
-
-namespace boost { namespace graph {
-
-struct n_iterations
-{
-  explicit n_iterations(std::size_t n) : n(n) { }
-
-  template<typename RankMap, typename Graph>
-  bool 
-  operator()(const RankMap&, const Graph&)
-  {
-    return n-- == 0;
-  }
-
- private:
-  std::size_t n;
-};
-
-namespace detail {
-  template<typename Graph, typename RankMap, typename RankMap2>
-  void page_rank_step(const Graph& g, RankMap from_rank, RankMap2 to_rank,
-                      typename property_traits<RankMap>::value_type damping,
-                      incidence_graph_tag)
-  {
-    typedef typename property_traits<RankMap>::value_type rank_type;
-
-    // Set new rank maps 
-    BGL_FORALL_VERTICES_T(v, g, Graph) put(to_rank, v, rank_type(1 - damping));
-
-    BGL_FORALL_VERTICES_T(u, g, Graph) {
-      rank_type u_rank_out = damping * get(from_rank, u) / out_degree(u, g);
-      BGL_FORALL_ADJ_T(u, v, g, Graph)
-        put(to_rank, v, get(to_rank, v) + u_rank_out);
-    }
-  }
-
-  template<typename Graph, typename RankMap, typename RankMap2>
-  void page_rank_step(const Graph& g, RankMap from_rank, RankMap2 to_rank,
-                      typename property_traits<RankMap>::value_type damping,
-                      bidirectional_graph_tag)
-  {
-    typedef typename property_traits<RankMap>::value_type damping_type;
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-      typename property_traits<RankMap>::value_type rank(0);
-      BGL_FORALL_INEDGES_T(v, e, g, Graph)
-        rank += get(from_rank, source(e, g)) / out_degree(source(e, g), g);
-      put(to_rank, v, (damping_type(1) - damping) + damping * rank);
-    }
-  }
-} // end namespace detail
-
-template<typename Graph, typename RankMap, typename Done, typename RankMap2>
-void
-page_rank(const Graph& g, RankMap rank_map, Done done, 
-          typename property_traits<RankMap>::value_type damping,
-          typename graph_traits<Graph>::vertices_size_type n,
-          RankMap2 rank_map2
-          BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, vertex_list_graph_tag))
-{
-  typedef typename property_traits<RankMap>::value_type rank_type;
-
-  rank_type initial_rank = rank_type(rank_type(1) / n);
-  BGL_FORALL_VERTICES_T(v, g, Graph) put(rank_map, v, initial_rank);
-
-  bool to_map_2 = true;
-  while ((to_map_2 && !done(rank_map, g)) ||
-         (!to_map_2 && !done(rank_map2, g))) {
-    typedef typename graph_traits<Graph>::traversal_category category;
-
-    if (to_map_2) {
-      detail::page_rank_step(g, rank_map, rank_map2, damping, category());
-    } else {
-      detail::page_rank_step(g, rank_map2, rank_map, damping, category());
-    }
-    to_map_2 = !to_map_2;
-  }
-
-  if (!to_map_2) {
-    BGL_FORALL_VERTICES_T(v, g, Graph) put(rank_map, v, get(rank_map2, v));
-  }
-}
-
-template<typename Graph, typename RankMap, typename Done>
-void
-page_rank(const Graph& g, RankMap rank_map, Done done, 
-          typename property_traits<RankMap>::value_type damping,
-          typename graph_traits<Graph>::vertices_size_type n)
-{
-  typedef typename property_traits<RankMap>::value_type rank_type;
-
-  std::vector<rank_type> ranks2(num_vertices(g));
-  page_rank(g, rank_map, done, damping, n,
-            make_iterator_property_map(ranks2.begin(), get(vertex_index, g)));
-}
-
-template<typename Graph, typename RankMap, typename Done>
-inline void
-page_rank(const Graph& g, RankMap rank_map, Done done, 
-          typename property_traits<RankMap>::value_type damping = 0.85)
-{
-  page_rank(g, rank_map, done, damping, num_vertices(g));
-}
-
-template<typename Graph, typename RankMap>
-inline void
-page_rank(const Graph& g, RankMap rank_map)
-{
-  page_rank(g, rank_map, n_iterations(20));
-}
-
-// TBD: this could be _much_ more efficient, using a queue to store
-// the vertices that should be reprocessed and keeping track of which
-// vertices are in the queue with a property map. Baah, this only
-// applies when we have a bidirectional graph.
-template<typename MutableGraph>
-void
-remove_dangling_links(MutableGraph& g
-                      BOOST_GRAPH_ENABLE_IF_MODELS_PARM(MutableGraph, 
-                                                        vertex_list_graph_tag))
-{
-  typename graph_traits<MutableGraph>::vertices_size_type old_n;
-  do {
-    old_n = num_vertices(g);
-
-    typename graph_traits<MutableGraph>::vertex_iterator vi, vi_end;
-    for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; /* in loop */) {
-      typename graph_traits<MutableGraph>::vertex_descriptor v = *vi++;
-      if (out_degree(v, g) == 0) {
-        clear_vertex(v, g);
-        remove_vertex(v, g);
-      }
-    }
-  } while (num_vertices(g) < old_n);
-}
-
-} } // end namespace boost::graph
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/page_rank.hpp>
-#endif
-
-#endif // BOOST_GRAPH_PAGE_RANK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/algorithm.hpp
deleted file mode 100644
index eed9bf8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/algorithm.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_PARALLEL_ALGORITHM_HPP
-#define BOOST_PARALLEL_ALGORITHM_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/optional.hpp>
-#include <boost/config.hpp> // for BOOST_STATIC_CONSTANT
-#include <vector>
-#include <functional>
-
-namespace boost { namespace parallel {
-  template<typename BinaryOp>
-  struct is_commutative
-  {
-    BOOST_STATIC_CONSTANT(bool, value = false);
-  };
-
-  template<typename T>
-  struct minimum : std::binary_function<T, T, T>
-  {
-    const T& operator()(const T& x, const T& y) const { return x < y? x : y; }
-  };
-
-  template<typename T>
-  struct maximum : std::binary_function<T, T, T>
-  {
-    const T& operator()(const T& x, const T& y) const { return x < y? y : x; }
-  };
-
-  template<typename T>
-  struct sum : std::binary_function<T, T, T>
-  {
-    const T operator()(const T& x, const T& y) const { return x + y; }
-  };
-
-  template<typename ProcessGroup, typename InputIterator,
-           typename OutputIterator, typename BinaryOperation>
-  OutputIterator
-  reduce(ProcessGroup pg, typename ProcessGroup::process_id_type root,
-         InputIterator first, InputIterator last, OutputIterator out,
-         BinaryOperation bin_op);
-
-  template<typename ProcessGroup, typename T, typename BinaryOperation>
-  inline T
-  all_reduce(ProcessGroup pg, const T& value, BinaryOperation bin_op)
-  {
-    T result;
-    all_reduce(pg,
-               const_cast<T*>(&value), const_cast<T*>(&value+1),
-               &result, bin_op);
-    return result;
-  }
-
-  template<typename ProcessGroup, typename T, typename BinaryOperation>
-  inline T
-  scan(ProcessGroup pg, const T& value, BinaryOperation bin_op)
-  {
-    T result;
-    scan(pg,
-         const_cast<T*>(&value), const_cast<T*>(&value+1),
-         &result, bin_op);
-    return result;
-  }
-
-
-  template<typename ProcessGroup, typename InputIterator, typename T>
-  void
-  all_gather(ProcessGroup pg, InputIterator first, InputIterator last,
-             std::vector<T>& out);
-} } // end namespace boost::parallel
-
-#include <boost/graph/parallel/detail/inplace_all_to_all.hpp>
-
-#endif // BOOST_PARALLEL_ALGORITHM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/basic_reduce.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/basic_reduce.hpp
deleted file mode 100644
index 7d1a076..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/basic_reduce.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-// File moved
-#include <boost/property_map/parallel/basic_reduce.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/container_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/container_traits.hpp
deleted file mode 100644
index f4dd0e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/container_traits.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-//
-// This file contains traits that describe 
-//
-#ifndef BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
-#define BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-namespace boost { namespace graph { namespace parallel {
-
-template<typename T>
-struct process_group_type
-{
-  typedef typename T::process_group_type type;
-};
-
-template<typename T>
-inline typename process_group_type<T>::type
-process_group(const T& x)
-{ return x.process_group(); }
-
-// Helper function that algorithms should use to get the process group
-// out of a container.
-template<typename Container>
-inline typename process_group_type<Container>::type
-process_group_adl(const Container& container)
-{
-  return process_group(container);
-}
-
-
-} } } // end namespace boost::graph::parallel 
-
-#endif // BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/inplace_all_to_all.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/inplace_all_to_all.hpp
deleted file mode 100644
index a403ad7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/inplace_all_to_all.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_PARALLEL_INPLACE_ALL_TO_ALL_HPP
-#define BOOST_GRAPH_PARALLEL_INPLACE_ALL_TO_ALL_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-//
-// Implements the inplace all-to-all communication algorithm.
-//
-#include <vector>
-#include <iterator>
-
-namespace boost { namespace parallel { 
-
-template<typename ProcessGroup, typename T>
-// where {LinearProcessGroup<ProcessGroup>, MessagingProcessGroup<ProcessGroup>}
-void 
-inplace_all_to_all(ProcessGroup pg, 
-                   const std::vector<std::vector<T> >& outgoing,
-                   std::vector<std::vector<T> >& incoming)
-{
-  typedef typename std::vector<T>::size_type size_type;
-
-  typedef typename ProcessGroup::process_size_type process_size_type;
-  typedef typename ProcessGroup::process_id_type process_id_type;
-
-  process_size_type p = num_processes(pg);
-
-  // Make sure there are no straggling messages
-  synchronize(pg);
-
-  // Send along the count (always) and the data (if count > 0)
-  for (process_id_type dest = 0; dest < p; ++dest) {
-    if (dest != process_id(pg)) {
-      send(pg, dest, 0, outgoing[dest].size());
-      if (!outgoing[dest].empty())
-        send(pg, dest, 1, &outgoing[dest].front(), outgoing[dest].size());
-    }
-  }
-
-  // Make sure all of the data gets transferred
-  synchronize(pg);
-
-  // Receive the sizes and data
-  for (process_id_type source = 0; source < p; ++source) {
-    if (source != process_id(pg)) {
-      size_type size;
-      receive(pg, source, 0, size);
-      incoming[source].resize(size);
-      if (size > 0)
-        receive(pg, source, 1, &incoming[source].front(), size);
-    } else if (&incoming != &outgoing) {
-      incoming[source] = outgoing[source];
-    }
-  }
-}
-
-template<typename ProcessGroup, typename T>
-// where {LinearProcessGroup<ProcessGroup>, MessagingProcessGroup<ProcessGroup>}
-void 
-inplace_all_to_all(ProcessGroup pg, std::vector<std::vector<T> >& data)
-{
-  inplace_all_to_all(pg, data, data);
-}
-
-} } // end namespace boost::parallel
-
-#endif // BOOST_GRAPH_PARALLEL_INPLACE_ALL_TO_ALL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/property_holders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/property_holders.hpp
deleted file mode 100644
index bbdbeba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/property_holders.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (C) 2007 Douglas Gregor and 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
-//
-// This file contains helper data structures for use in transmitting
-// properties. The basic idea is to optimize away any storage for the
-// properties when no properties are specified.
-#ifndef BOOST_PARALLEL_DETAIL_PROPERTY_HOLDERS_HPP
-#define BOOST_PARALLEL_DETAIL_PROPERTY_HOLDERS_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/mpi/datatype.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/serialization/base_object.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/graph/parallel/detail/untracked_pair.hpp>
-
-namespace boost { namespace detail { namespace parallel {
-
-/**
- * This structure contains an instance of @c Property, unless @c
- * Property is a placeholder for "no property". Always access the
- * property through @c get_property. Typically used as a base class.
- */
-template<typename Property>
-struct maybe_store_property
-{
-  maybe_store_property() {}
-  maybe_store_property(const Property& p) : p(p) {}
-
-  Property&       get_property()       { return p; }
-  const Property& get_property() const { return p; }
-
-private:
-  Property p;
-
-  friend class boost::serialization::access;
-
-  template<typename Archiver>
-  void serialize(Archiver& ar, const unsigned int /*version*/)
-  {
-    ar & p;
-  }
-};
-
-template<>
-struct maybe_store_property<no_property>
-{
-  maybe_store_property() {}
-  maybe_store_property(no_property) {}
-
-  no_property get_property() const { return no_property(); }
-
-private:
-  friend class boost::serialization::access;
-
-  template<typename Archiver>
-  void serialize(Archiver&, const unsigned int /*version*/) { }
-};
-
-/**
- * This structure is a simple pair that also contains a property.
- */
-template<typename T, typename U, typename Property>
-class pair_with_property
-  : public boost::parallel::detail::untracked_pair<T, U>
-  , public maybe_store_property<Property>
-{
-public:
-  typedef boost::parallel::detail::untracked_pair<T, U>           pair_base;
-  typedef maybe_store_property<Property> property_base;
-
-  pair_with_property() { }
-
-  pair_with_property(const T& t, const U& u, const Property& property)
-    : pair_base(t, u), property_base(property) { }
-
-private:
-  friend class boost::serialization::access;
-
-  template<typename Archiver>
-  void serialize(Archiver& ar, const unsigned int /*version*/) 
-  { 
-    ar & boost::serialization::base_object<pair_base>(*this)
-       & boost::serialization::base_object<property_base>(*this);
-  }
-};
-
-template<typename T, typename U, typename Property>
-inline pair_with_property<T, U, Property>
-make_pair_with_property(const T& t, const U& u, const Property& property)
-{
-  return pair_with_property<T, U, Property>(t, u, property);
-}
-
-} } } // end namespace boost::parallel::detail
-
-namespace boost { namespace mpi {
-
-template<> 
-struct is_mpi_datatype<boost::detail::parallel::maybe_store_property<no_property> > : mpl::true_ { };
-
-template<typename Property>
-struct is_mpi_datatype<boost::detail::parallel::maybe_store_property<Property> >
-  : is_mpi_datatype<Property> { };
-
-template<typename T, typename U, typename Property>
-struct is_mpi_datatype<boost::detail::parallel::pair_with_property<T, U, Property> >
-  : boost::mpl::and_<is_mpi_datatype<boost::parallel::detail::untracked_pair<T, U> >,
-                     is_mpi_datatype<Property> > { };
-
-} } // end namespace boost::mpi
-
-BOOST_IS_BITWISE_SERIALIZABLE(boost::detail::parallel::maybe_store_property<no_property>)
-
-namespace boost { namespace serialization {
-
-template<typename Property>
-struct is_bitwise_serializable<boost::detail::parallel::maybe_store_property<Property> >
-  : is_bitwise_serializable<Property> { };
-
-template<typename Property>
-struct implementation_level<boost::detail::parallel::maybe_store_property<Property> >
- : mpl::int_<object_serializable> {} ;
-
-template<typename Property>
-struct tracking_level<boost::detail::parallel::maybe_store_property<Property> >
- : mpl::int_<track_never> {} ;
-
-template<typename T, typename U, typename Property>
-struct is_bitwise_serializable<
-        boost::detail::parallel::pair_with_property<T, U, Property> >
-  : boost::mpl::and_<is_bitwise_serializable<boost::parallel::detail::untracked_pair<T, U> >,
-                     is_bitwise_serializable<Property> > { };
-
-template<typename T, typename U, typename Property>
-struct implementation_level<
-        boost::detail::parallel::pair_with_property<T, U, Property> >
- : mpl::int_<object_serializable> {} ;
-
-template<typename T, typename U, typename Property>
-struct tracking_level<
-        boost::detail::parallel::pair_with_property<T, U, Property> >
- : mpl::int_<track_never> {} ;
-
-} } // end namespace boost::serialization
-
-#endif // BOOST_PARALLEL_DETAIL_PROPERTY_HOLDERS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/untracked_pair.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/untracked_pair.hpp
deleted file mode 100644
index 7c3ca9a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/detail/untracked_pair.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (C) 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
-//
-// This file contains helper data structures for use in transmitting
-// properties. The basic idea is to optimize away any storage for the
-// properties when no properties are specified.
-
-// File moved
-#include <boost/property_map/parallel/detail/untracked_pair.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/distribution.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/distribution.hpp
deleted file mode 100644
index 8256b19..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/distribution.hpp
+++ /dev/null
@@ -1,615 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Peter Gottschling
-//           Andrew Lumsdaine
-#ifndef BOOST_PARALLEL_DISTRIBUTION_HPP
-#define BOOST_PARALLEL_DISTRIBUTION_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <cstddef>
-#include <vector>
-#include <algorithm>
-#include <numeric>
-#include <boost/assert.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/shared_ptr.hpp>
-#include <typeinfo>
-
-namespace boost { namespace parallel {
-
-template<typename ProcessGroup, typename SizeType = std::size_t>
-class variant_distribution
-{
-public:
-  typedef typename ProcessGroup::process_id_type process_id_type;
-  typedef typename ProcessGroup::process_size_type process_size_type;
-  typedef SizeType size_type;
-
-private:
-  struct basic_distribution
-  {
-    virtual ~basic_distribution() {}
-    virtual size_type block_size(process_id_type, size_type) const = 0;
-    virtual process_id_type in_process(size_type) const = 0;
-    virtual size_type local(size_type) const = 0;
-    virtual size_type global(size_type) const = 0;
-    virtual size_type global(process_id_type, size_type) const = 0;
-    virtual void* address() = 0;
-    virtual const void* address() const = 0;
-    virtual const std::type_info& type() const = 0;
-  };
-
-  template<typename Distribution>
-  struct poly_distribution : public basic_distribution
-  {
-    explicit poly_distribution(const Distribution& distribution)
-      : distribution_(distribution) { }
-
-    virtual size_type block_size(process_id_type id, size_type n) const
-    { return distribution_.block_size(id, n); }
-
-    virtual process_id_type in_process(size_type i) const
-    { return distribution_(i); }
-
-    virtual size_type local(size_type i) const
-    { return distribution_.local(i); }
-
-    virtual size_type global(size_type n) const
-    { return distribution_.global(n); }
-
-    virtual size_type global(process_id_type id, size_type n) const
-    { return distribution_.global(id, n); }
-
-    virtual void* address() { return &distribution_; }
-    virtual const void* address() const { return &distribution_; }
-    virtual const std::type_info& type() const { return typeid(Distribution); }
-
-  private:
-    Distribution distribution_;
-  };
-
-public:
-  variant_distribution() { }
-
-  template<typename Distribution>
-  variant_distribution(const Distribution& distribution)
-    : distribution_(new poly_distribution<Distribution>(distribution)) { }
-
-  size_type block_size(process_id_type id, size_type n) const
-  { return distribution_->block_size(id, n); }
-  
-  process_id_type operator()(size_type i) const
-  { return distribution_->in_process(i); }
-  
-  size_type local(size_type i) const
-  { return distribution_->local(i); }
-  
-  size_type global(size_type n) const
-  { return distribution_->global(n); }
-
-  size_type global(process_id_type id, size_type n) const
-  { return distribution_->global(id, n); }
-
-  operator bool() const { return distribution_; }
-
-  void clear() { distribution_.reset(); }
-
-  template<typename T>
-  T* as()
-  {
-    if (distribution_->type() == typeid(T))
-      return static_cast<T*>(distribution_->address());
-    else
-      return 0;
-  }
-
-  template<typename T>
-  const T* as() const
-  {
-    if (distribution_->type() == typeid(T))
-      return static_cast<T*>(distribution_->address());
-    else
-      return 0;
-  }
-
-private:
-  shared_ptr<basic_distribution> distribution_;
-};
-
-struct block
-{
-  template<typename LinearProcessGroup>
-  explicit block(const LinearProcessGroup& pg, std::size_t n) 
-    : id(process_id(pg)), p(num_processes(pg)), n(n) { }
-
-  // If there are n elements in the distributed data structure, returns the number of elements stored locally.
-  template<typename SizeType>
-  SizeType block_size(SizeType n) const
-  { return (n / p) + ((std::size_t)(n % p) > id? 1 : 0); }
-
-  // If there are n elements in the distributed data structure, returns the number of elements stored on processor ID
-  template<typename SizeType, typename ProcessID>
-  SizeType block_size(ProcessID id, SizeType n) const
-  { return (n / p) + ((ProcessID)(n % p) > id? 1 : 0); }
-
-  // Returns the processor on which element with global index i is stored
-  template<typename SizeType>
-  SizeType operator()(SizeType i) const
-  { 
-    SizeType cutoff_processor = n % p;
-    SizeType cutoff = cutoff_processor * (n / p + 1);
-
-    if (i < cutoff) return i / (n / p + 1);
-    else return cutoff_processor + (i - cutoff) / (n / p);
-  }
-
-  // Find the starting index for processor with the given id
-  template<typename ID>
-  std::size_t start(ID id) const
-  {
-    std::size_t estimate = id * (n / p + 1);
-    ID cutoff_processor = n % p;
-    if (id < cutoff_processor) return estimate;
-    else return estimate - (id - cutoff_processor);
-  }
-
-  // Find the local index for the ith global element
-  template<typename SizeType>
-  SizeType local(SizeType i) const
-  { 
-    SizeType owner = (*this)(i);
-    return i - start(owner);
-  }
-
-  // Returns the global index of local element i
-  template<typename SizeType>
-  SizeType global(SizeType i) const
-  { return global(id, i); }
-
-  // Returns the global index of the ith local element on processor id
-  template<typename ProcessID, typename SizeType>
-  SizeType global(ProcessID id, SizeType i) const
-  { return i + start(id); }
-
- private:
-  std::size_t id; //< The ID number of this processor
-  std::size_t p;  //< The number of processors
-  std::size_t n;  //< The size of the problem space
-};
-
-// Block distribution with arbitrary block sizes
-struct uneven_block
-{
-  typedef std::vector<std::size_t>    size_vector;
-
-  template<typename LinearProcessGroup>
-  explicit uneven_block(const LinearProcessGroup& pg, const std::vector<std::size_t>& local_sizes) 
-    : id(process_id(pg)), p(num_processes(pg)), local_sizes(local_sizes)
-  { 
-    BOOST_ASSERT(local_sizes.size() == p);
-    local_starts.resize(p + 1);
-    local_starts[0] = 0;
-    std::partial_sum(local_sizes.begin(), local_sizes.end(), &local_starts[1]);
-    n = local_starts[p];
-  }
-
-  // To do maybe: enter local size in each process and gather in constructor (much handier)
-  // template<typename LinearProcessGroup>
-  // explicit uneven_block(const LinearProcessGroup& pg, std::size_t my_local_size) 
-
-  // If there are n elements in the distributed data structure, returns the number of elements stored locally.
-  template<typename SizeType>
-  SizeType block_size(SizeType) const
-  { return local_sizes[id]; }
-
-  // If there are n elements in the distributed data structure, returns the number of elements stored on processor ID
-  template<typename SizeType, typename ProcessID>
-  SizeType block_size(ProcessID id, SizeType) const
-  { return local_sizes[id]; }
-
-  // Returns the processor on which element with global index i is stored
-  template<typename SizeType>
-  SizeType operator()(SizeType i) const
-  {
-    BOOST_ASSERT (i >= (SizeType) 0 && i < (SizeType) n); // check for valid range
-    size_vector::const_iterator lb = std::lower_bound(local_starts.begin(), local_starts.end(), (std::size_t) i);
-    return ((SizeType)(*lb) == i ? lb : --lb) - local_starts.begin();
-  }
-
-  // Find the starting index for processor with the given id
-  template<typename ID>
-  std::size_t start(ID id) const 
-  {
-    return local_starts[id];
-  }
-
-  // Find the local index for the ith global element
-  template<typename SizeType>
-  SizeType local(SizeType i) const
-  { 
-    SizeType owner = (*this)(i);
-    return i - start(owner);
-  }
-
-  // Returns the global index of local element i
-  template<typename SizeType>
-  SizeType global(SizeType i) const
-  { return global(id, i); }
-
-  // Returns the global index of the ith local element on processor id
-  template<typename ProcessID, typename SizeType>
-  SizeType global(ProcessID id, SizeType i) const
-  { return i + start(id); }
-
- private:
-  std::size_t              id;           //< The ID number of this processor
-  std::size_t              p;            //< The number of processors
-  std::size_t              n;            //< The size of the problem space
-  std::vector<std::size_t> local_sizes;  //< The sizes of all blocks
-  std::vector<std::size_t> local_starts; //< Lowest global index of each block
-};
-
-
-struct oned_block_cyclic
-{
-  template<typename LinearProcessGroup>
-  explicit oned_block_cyclic(const LinearProcessGroup& pg, std::size_t size)
-    : id(process_id(pg)), p(num_processes(pg)), size(size) { }
-      
-  template<typename SizeType>
-  SizeType block_size(SizeType n) const
-  { 
-    return block_size(id, n);
-  }
-
-  template<typename SizeType, typename ProcessID>
-  SizeType block_size(ProcessID id, SizeType n) const
-  {
-    SizeType all_blocks = n / size;
-    SizeType extra_elements = n % size;
-    SizeType everyone_gets = all_blocks / p;
-    SizeType extra_blocks = all_blocks % p;
-    SizeType my_blocks = everyone_gets + (p < extra_blocks? 1 : 0);
-    SizeType my_elements = my_blocks * size 
-                         + (p == extra_blocks? extra_elements : 0);
-    return my_elements;
-  }
-
-  template<typename SizeType>
-  SizeType operator()(SizeType i) const
-  { 
-    return (i / size) % p;
-  }
-
-  template<typename SizeType>
-  SizeType local(SizeType i) const
-  { 
-    return ((i / size) / p) * size + i % size;
-  }
-
-  template<typename SizeType>
-  SizeType global(SizeType i) const
-  { return global(id, i); }
-
-  template<typename ProcessID, typename SizeType>
-  SizeType global(ProcessID id, SizeType i) const
-  { 
-    return ((i / size) * p + id) * size + i % size;
-  }
-
- private:
-  std::size_t id;                   //< The ID number of this processor
-  std::size_t p;                    //< The number of processors
-  std::size_t size;                 //< Block size
-};
-
-struct twod_block_cyclic
-{
-  template<typename LinearProcessGroup>
-  explicit twod_block_cyclic(const LinearProcessGroup& pg,
-                             std::size_t block_rows, std::size_t block_columns,
-                             std::size_t data_columns_per_row)
-    : id(process_id(pg)), p(num_processes(pg)), 
-      block_rows(block_rows), block_columns(block_columns), 
-      data_columns_per_row(data_columns_per_row)
-  { }
-      
-  template<typename SizeType>
-  SizeType block_size(SizeType n) const
-  { 
-    return block_size(id, n);
-  }
-
-  template<typename SizeType, typename ProcessID>
-  SizeType block_size(ProcessID id, SizeType n) const
-  {
-    // TBD: This is really lame :)
-    int result = -1;
-    while (n > 0) {
-      --n;
-      if ((*this)(n) == id && (int)local(n) > result) result = local(n);
-    }
-    ++result;
-
-    //    std::cerr << "Block size of id " << id << " is " << result << std::endl;
-    return result;
-  }
-
-  template<typename SizeType>
-  SizeType operator()(SizeType i) const
-  { 
-    SizeType result = get_block_num(i) % p;
-    //    std::cerr << "Item " << i << " goes on processor " << result << std::endl;
-    return result;
-  }
-
-  template<typename SizeType>
-  SizeType local(SizeType i) const
-  { 
-    // Compute the start of the block
-    std::size_t block_num = get_block_num(i);
-    //    std::cerr << "Item " << i << " is in block #" << block_num << std::endl;
-
-    std::size_t local_block_num = block_num / p;
-    std::size_t block_start = local_block_num * block_rows * block_columns;
-
-    // Compute the offset into the block 
-    std::size_t data_row = i / data_columns_per_row;
-    std::size_t data_col = i % data_columns_per_row;
-    std::size_t block_offset = (data_row % block_rows) * block_columns 
-                             + (data_col % block_columns);    
-
-    //    std::cerr << "Item " << i << " maps to local index " << block_start+block_offset << std::endl;
-    return block_start + block_offset;
-  }
-
-  template<typename SizeType>
-  SizeType global(SizeType i) const
-  { 
-    // Compute the (global) block in which this element resides
-    SizeType local_block_num = i / (block_rows * block_columns);
-    SizeType block_offset = i % (block_rows * block_columns);
-    SizeType block_num = local_block_num * p + id;
-
-    // Compute the position of the start of the block (globally)
-    SizeType block_start = block_num * block_rows * block_columns;
-
-    std::cerr << "Block " << block_num << " starts at index " << block_start
-              << std::endl;
-
-    // Compute the row and column of this block
-    SizeType block_row = block_num / (data_columns_per_row / block_columns);
-    SizeType block_col = block_num % (data_columns_per_row / block_columns);
-
-    SizeType row_in_block = block_offset / block_columns;
-    SizeType col_in_block = block_offset % block_columns;
-
-    std::cerr << "Local index " << i << " is in block at row " << block_row
-              << ", column " << block_col << ", in-block row " << row_in_block
-              << ", in-block col " << col_in_block << std::endl;
-
-    SizeType result = block_row * block_rows + block_col * block_columns
-                    + row_in_block * block_rows + col_in_block;
-
-
-    std::cerr << "global(" << i << "@" << id << ") = " << result 
-              << " =? " << local(result) << std::endl;
-    BOOST_ASSERT(i == local(result));
-    return result;
-  }
-
- private:
-  template<typename SizeType>
-  std::size_t get_block_num(SizeType i) const
-  {
-    std::size_t data_row = i / data_columns_per_row;
-    std::size_t data_col = i % data_columns_per_row;
-    std::size_t block_row = data_row / block_rows;
-    std::size_t block_col = data_col / block_columns;
-    std::size_t blocks_in_row = data_columns_per_row / block_columns;
-    std::size_t block_num = block_col * blocks_in_row + block_row;
-    return block_num;
-  }
-
-  std::size_t id;                   //< The ID number of this processor
-  std::size_t p;                    //< The number of processors
-  std::size_t block_rows;           //< The # of rows in each block
-  std::size_t block_columns;        //< The # of columns in each block
-  std::size_t data_columns_per_row; //< The # of columns per row of data
-};
-
-class twod_random
-{
-  template<typename RandomNumberGen>
-  struct random_int
-  {
-    explicit random_int(RandomNumberGen& gen) : gen(gen) { }
-
-    template<typename T>
-    T operator()(T n) const
-    {
-      uniform_int<T> distrib(0, n-1);
-      return distrib(gen);
-    }
-
-  private:
-    RandomNumberGen& gen;
-  };
-  
- public:
-  template<typename LinearProcessGroup, typename RandomNumberGen>
-  explicit twod_random(const LinearProcessGroup& pg,
-                       std::size_t block_rows, std::size_t block_columns,
-                       std::size_t data_columns_per_row,
-                       std::size_t n,
-                       RandomNumberGen& gen)
-    : id(process_id(pg)), p(num_processes(pg)), 
-      block_rows(block_rows), block_columns(block_columns), 
-      data_columns_per_row(data_columns_per_row),
-      global_to_local(n / (block_rows * block_columns))
-  { 
-    std::copy(make_counting_iterator(std::size_t(0)),
-              make_counting_iterator(global_to_local.size()),
-              global_to_local.begin());
-
-    random_int<RandomNumberGen> rand(gen);
-    std::random_shuffle(global_to_local.begin(), global_to_local.end(), rand);
-  }
-      
-  template<typename SizeType>
-  SizeType block_size(SizeType n) const
-  { 
-    return block_size(id, n);
-  }
-
-  template<typename SizeType, typename ProcessID>
-  SizeType block_size(ProcessID id, SizeType n) const
-  {
-    // TBD: This is really lame :)
-    int result = -1;
-    while (n > 0) {
-      --n;
-      if ((*this)(n) == id && (int)local(n) > result) result = local(n);
-    }
-    ++result;
-
-    //    std::cerr << "Block size of id " << id << " is " << result << std::endl;
-    return result;
-  }
-
-  template<typename SizeType>
-  SizeType operator()(SizeType i) const
-  { 
-    SizeType result = get_block_num(i) % p;
-    //    std::cerr << "Item " << i << " goes on processor " << result << std::endl;
-    return result;
-  }
-
-  template<typename SizeType>
-  SizeType local(SizeType i) const
-  { 
-    // Compute the start of the block
-    std::size_t block_num = get_block_num(i);
-    //    std::cerr << "Item " << i << " is in block #" << block_num << std::endl;
-
-    std::size_t local_block_num = block_num / p;
-    std::size_t block_start = local_block_num * block_rows * block_columns;
-
-    // Compute the offset into the block 
-    std::size_t data_row = i / data_columns_per_row;
-    std::size_t data_col = i % data_columns_per_row;
-    std::size_t block_offset = (data_row % block_rows) * block_columns 
-                             + (data_col % block_columns);    
-
-    //    std::cerr << "Item " << i << " maps to local index " << block_start+block_offset << std::endl;
-    return block_start + block_offset;
-  }
-
- private:
-  template<typename SizeType>
-  std::size_t get_block_num(SizeType i) const
-  {
-    std::size_t data_row = i / data_columns_per_row;
-    std::size_t data_col = i % data_columns_per_row;
-    std::size_t block_row = data_row / block_rows;
-    std::size_t block_col = data_col / block_columns;
-    std::size_t blocks_in_row = data_columns_per_row / block_columns;
-    std::size_t block_num = block_col * blocks_in_row + block_row;
-    return global_to_local[block_num];
-  }
-
-  std::size_t id;                   //< The ID number of this processor
-  std::size_t p;                    //< The number of processors
-  std::size_t block_rows;           //< The # of rows in each block
-  std::size_t block_columns;        //< The # of columns in each block
-  std::size_t data_columns_per_row; //< The # of columns per row of data
-  std::vector<std::size_t> global_to_local;
-};
-
-class random_distribution
-{
-  template<typename RandomNumberGen>
-  struct random_int
-  {
-    explicit random_int(RandomNumberGen& gen) : gen(gen) { }
-
-    template<typename T>
-    T operator()(T n) const
-    {
-      uniform_int<T> distrib(0, n-1);
-      return distrib(gen);
-    }
-
-  private:
-    RandomNumberGen& gen;
-  };
-  
- public:
-  template<typename LinearProcessGroup, typename RandomNumberGen>
-  random_distribution(const LinearProcessGroup& pg, RandomNumberGen& gen,
-                      std::size_t n)
-    : base(pg, n), local_to_global(n), global_to_local(n)
-  {
-    std::copy(make_counting_iterator(std::size_t(0)),
-              make_counting_iterator(n),
-              local_to_global.begin());
-
-    random_int<RandomNumberGen> rand(gen);
-    std::random_shuffle(local_to_global.begin(), local_to_global.end(), rand);
-                        
-
-    for (std::vector<std::size_t>::size_type i = 0; i < n; ++i)
-      global_to_local[local_to_global[i]] = i;
-  }
-
-  template<typename SizeType>
-  SizeType block_size(SizeType n) const
-  { return base.block_size(n); }
-
-  template<typename SizeType, typename ProcessID>
-  SizeType block_size(ProcessID id, SizeType n) const
-  { return base.block_size(id, n); }
-
-  template<typename SizeType>
-  SizeType operator()(SizeType i) const
-  {
-    return base(global_to_local[i]);
-  }
-
-  template<typename SizeType>
-  SizeType local(SizeType i) const
-  { 
-    return base.local(global_to_local[i]);
-  }
-
-  template<typename ProcessID, typename SizeType>
-  SizeType global(ProcessID p, SizeType i) const
-  { 
-    return local_to_global[base.global(p, i)];
-  }
-
-  template<typename SizeType>
-  SizeType global(SizeType i) const
-  { 
-    return local_to_global[base.global(i)];
-  }
-
- private:
-  block base;
-  std::vector<std::size_t> local_to_global;
-  std::vector<std::size_t> global_to_local;
-};
-
-} } // end namespace boost::parallel
-
-#endif // BOOST_PARALLEL_DISTRIBUTION_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/process_group.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/process_group.hpp
deleted file mode 100644
index 92f11e5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/process_group.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-// File moved
-#include <boost/property_map/parallel/process_group.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/properties.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/properties.hpp
deleted file mode 100644
index c6bb0bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/properties.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_PARALLEL_PROPERTIES_HPP
-#define BOOST_GRAPH_PARALLEL_PROPERTIES_HPP
-
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <boost/graph/properties.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-
-namespace boost {
-  /***************************************************************************
-   * Property map reduction operations
-   ***************************************************************************/
-  /**
-   * Metafunction that produces a reduction operation for the given
-   * property. The default behavior merely forwards to @ref
-   * basic_reduce, but it is expected that this class template will be
-   * specified for important properties.
-   */
-  template<typename Property>
-  struct property_reduce
-  {
-    template<typename Value>
-    class apply : public parallel::basic_reduce<Value> {};
-  };
-
-  /**
-   * Reduction of vertex colors can only darken, not lighten, the
-   * color. Black cannot turn black, grey can only turn black, and
-   * white can be changed to either color. The default color is white.
-   */ 
-  template<> 
-  struct property_reduce<vertex_color_t>
-  {
-    template<typename Color>
-    class apply
-    {
-      typedef color_traits<Color> traits;
-      
-    public:
-      BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-
-      template<typename Key>
-      Color operator()(const Key&) const { return traits::white(); }
-      
-      template<typename Key>
-      Color operator()(const Key&, Color local, Color remote) const {
-        if (local == traits::white()) return remote;
-        else if (remote == traits::black()) return remote;
-        else return local;
-      }
-    };
-  };
-
-  /**
-   * Reduction of a distance always takes the shorter distance. The
-   * default distance value is the maximum value for the data type.
-   */
-  template<> 
-  struct property_reduce<vertex_distance_t>
-  {
-    template<typename T>
-    class apply
-    {
-    public:
-      BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-
-      template<typename Key>
-      T operator()(const Key&) const { return (std::numeric_limits<T>::max)(); }
-
-      template<typename Key>
-      T operator()(const Key&, T x, T y) const { return x < y? x : y; }
-    };
-  };
-
-  template<> 
-  struct property_reduce<vertex_predecessor_t>
-  {
-    template<typename T>
-    class apply
-    {
-    public:
-      BOOST_STATIC_CONSTANT(bool, non_default_resolver = true);
-
-      T operator()(T key) const { return key; }
-      T operator()(T key, T, T y) const { return y; }
-    };
-  };
-
-  template<typename Property, typename PropertyMap>
-  inline void set_property_map_role(Property p, PropertyMap pm)
-  {
-    typedef typename property_traits<PropertyMap>::value_type value_type;
-    typedef property_reduce<Property> property_red;
-    typedef typename property_red::template apply<value_type> reduce;
-
-    pm.set_reduce(reduce());
-  }
-
-} // end namespace boost
-#endif // BOOST_GRAPH_PARALLEL_PROPERTIES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/simple_trigger.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/simple_trigger.hpp
deleted file mode 100644
index bcd3b46..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/parallel/simple_trigger.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (C) 2007 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)
-
-// This file contains a simplification of the "trigger" method for
-// process groups. The simple trigger handles the common case where
-// the handler associated with a trigger is a member function bound to
-// a particular pointer.
-
-// File moved
-#include <boost/property_map/parallel/simple_trigger.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_canonical_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_canonical_ordering.hpp
deleted file mode 100644
index d470ee5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_canonical_ordering.hpp
+++ /dev/null
@@ -1,212 +0,0 @@
-//=======================================================================
-// Copyright (c) Aaron Windsor 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)
-//=======================================================================
-
-#ifndef __PLANAR_CANONICAL_ORDERING_HPP__
-#define __PLANAR_CANONICAL_ORDERING_HPP__
-
-#include <vector>
-#include <list>
-#include <boost/config.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-
-
-namespace boost
-{
-
-
-  namespace detail {
-    enum planar_canonical_ordering_state
-         {PCO_PROCESSED, 
-          PCO_UNPROCESSED, 
-          PCO_ONE_NEIGHBOR_PROCESSED, 
-          PCO_READY_TO_BE_PROCESSED};
-  }
-    
-  template<typename Graph, 
-           typename PlanarEmbedding, 
-           typename OutputIterator, 
-           typename VertexIndexMap>
-  void planar_canonical_ordering(const Graph& g, 
-                                 PlanarEmbedding embedding, 
-                                 OutputIterator ordering, 
-                                 VertexIndexMap vm)
-  {
-    
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::adjacency_iterator
-      adjacency_iterator_t;
-    typedef typename property_traits<PlanarEmbedding>::value_type 
-      embedding_value_t;
-    typedef typename embedding_value_t::const_iterator embedding_iterator_t;
-    typedef iterator_property_map
-      <typename std::vector<vertex_t>::iterator, VertexIndexMap> 
-      vertex_to_vertex_map_t;
-    typedef iterator_property_map
-      <typename std::vector<std::size_t>::iterator, VertexIndexMap> 
-      vertex_to_size_t_map_t;
-    
-    std::vector<vertex_t> processed_neighbor_vector(num_vertices(g));
-    vertex_to_vertex_map_t processed_neighbor
-      (processed_neighbor_vector.begin(), vm);
-
-    std::vector<std::size_t> status_vector(num_vertices(g), detail::PCO_UNPROCESSED);
-    vertex_to_size_t_map_t status(status_vector.begin(), vm);
-
-    std::list<vertex_t> ready_to_be_processed;
-    
-    vertex_t first_vertex = *vertices(g).first;
-    vertex_t second_vertex;
-    adjacency_iterator_t ai, ai_end;
-    for(boost::tie(ai,ai_end) = adjacent_vertices(first_vertex,g); ai != ai_end; ++ai)
-      {
-        if (*ai == first_vertex)
-          continue;
-        second_vertex = *ai;
-        break;
-      }
-
-    ready_to_be_processed.push_back(first_vertex);
-    status[first_vertex] = detail::PCO_READY_TO_BE_PROCESSED;
-    ready_to_be_processed.push_back(second_vertex);
-    status[second_vertex] = detail::PCO_READY_TO_BE_PROCESSED;
-
-    while(!ready_to_be_processed.empty())
-      {
-        vertex_t u = ready_to_be_processed.front();
-        ready_to_be_processed.pop_front();
-
-        if (status[u] != detail::PCO_READY_TO_BE_PROCESSED && u != second_vertex)
-          continue;
-
-        embedding_iterator_t ei, ei_start, ei_end;
-        embedding_iterator_t next_edge_itr, prior_edge_itr;
-
-        ei_start = embedding[u].begin();
-        ei_end = embedding[u].end();
-        prior_edge_itr = prior(ei_end);
-        while(source(*prior_edge_itr, g) == target(*prior_edge_itr,g))
-          prior_edge_itr = prior(prior_edge_itr);
-
-        for(ei = ei_start; ei != ei_end; ++ei)
-          {
-            
-            edge_t e(*ei); // e = (u,v)
-            next_edge_itr = boost::next(ei) == ei_end ? ei_start : boost::next(ei);
-            vertex_t v = source(e,g) == u ? target(e,g) : source(e,g);
-
-            vertex_t prior_vertex = source(*prior_edge_itr, g) == u ? 
-              target(*prior_edge_itr, g) : source(*prior_edge_itr, g);
-            vertex_t next_vertex = source(*next_edge_itr, g) == u ? 
-              target(*next_edge_itr, g) : source(*next_edge_itr, g);
-
-            // Need prior_vertex, u, v, and next_vertex to all be
-            // distinct. This is possible, since the input graph is
-            // triangulated. It'll be true all the time in a simple
-            // graph, but loops and parallel edges cause some complications.
-            if (prior_vertex == v || prior_vertex == u)
-              {
-                prior_edge_itr = ei;
-                continue;
-              }
-
-            //Skip any self-loops
-            if (u == v)
-                continue;
-                                                                
-            // Move next_edge_itr (and next_vertex) forwards
-            // past any loops or parallel edges
-            while (next_vertex == v || next_vertex == u)
-              {
-                next_edge_itr = boost::next(next_edge_itr) == ei_end ?
-                  ei_start : boost::next(next_edge_itr);
-                next_vertex = source(*next_edge_itr, g) == u ? 
-                  target(*next_edge_itr, g) : source(*next_edge_itr, g);
-              }
-
-
-            if (status[v] == detail::PCO_UNPROCESSED)
-              {
-                status[v] = detail::PCO_ONE_NEIGHBOR_PROCESSED;
-                processed_neighbor[v] = u;
-              }
-            else if (status[v] == detail::PCO_ONE_NEIGHBOR_PROCESSED)
-              {
-                vertex_t x = processed_neighbor[v];
-                //are edges (v,u) and (v,x) adjacent in the planar
-                //embedding? if so, set status[v] = 1. otherwise, set
-                //status[v] = 2.
-
-                if ((next_vertex == x &&
-                     !(first_vertex == u && second_vertex == x)
-                     )
-                    ||
-                    (prior_vertex == x &&
-                     !(first_vertex == x && second_vertex == u)
-                     )
-                    )
-                  {
-                    status[v] = detail::PCO_READY_TO_BE_PROCESSED;
-                  }
-                else
-                  {
-                    status[v] = detail::PCO_READY_TO_BE_PROCESSED + 1;
-                  }                                                        
-              }
-            else if (status[v] > detail::PCO_ONE_NEIGHBOR_PROCESSED)
-              {
-                //check the two edges before and after (v,u) in the planar
-                //embedding, and update status[v] accordingly
-
-                bool processed_before = false;
-                if (status[prior_vertex] == detail::PCO_PROCESSED)
-                  processed_before = true;
-
-                bool processed_after = false;
-                if (status[next_vertex] == detail::PCO_PROCESSED)
-                  processed_after = true;
-
-                if (!processed_before && !processed_after)
-                    ++status[v];
-
-                else if (processed_before && processed_after)
-                    --status[v];
-
-              }
-
-            if (status[v] == detail::PCO_READY_TO_BE_PROCESSED)
-              ready_to_be_processed.push_back(v);
-
-            prior_edge_itr = ei;
-
-          }
-
-        status[u] = detail::PCO_PROCESSED;
-        *ordering = u;
-        ++ordering;
-        
-      }
-    
-  }
-
-
-  template<typename Graph, typename PlanarEmbedding, typename OutputIterator>
-  void planar_canonical_ordering(const Graph& g, 
-                                 PlanarEmbedding embedding, 
-                                 OutputIterator ordering
-                                 )
-  {
-    planar_canonical_ordering(g, embedding, ordering, get(vertex_index,g));
-  }
- 
-
-} //namespace boost
-
-#endif //__PLANAR_CANONICAL_ORDERING_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/add_edge_visitors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/add_edge_visitors.hpp
deleted file mode 100644
index 9635376..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/add_edge_visitors.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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 __ADD_EDGE_VISITORS_HPP__
-#define __ADD_EDGE_VISITORS_HPP__
-
-#include <boost/property_map/property_map.hpp>
-
-namespace boost
-{
-
-  struct default_add_edge_visitor
-  {
-
-    template <typename Graph, typename Vertex>
-    void visit_vertex_pair(Vertex u, Vertex v, Graph& g)
-    {
-      add_edge(u,v,g);
-    }
-
-  };
-
-  template<typename EdgeIndexMap>
-  struct edge_index_update_visitor
-  {
-
-    typedef typename 
-      property_traits<EdgeIndexMap>::value_type edge_index_value_t;
-
-    edge_index_update_visitor(EdgeIndexMap em, 
-                              edge_index_value_t next_index_available
-                              ) : 
-      m_em(em),
-      m_next_index(next_index_available)
-    {}
-    
-    template <typename Graph, typename Vertex>
-    void visit_vertex_pair(Vertex u, Vertex v, Graph& g)
-    {
-      typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-      std::pair<edge_t, bool> return_value = add_edge(u,v,g);
-      if (return_value.second)
-        put( m_em, return_value.first, m_next_index++);
-    }
-
-  private:
-
-    EdgeIndexMap m_em;
-    edge_index_value_t m_next_index;
-
-  };
-
-} // namespace boost 
-
-#endif //__ADD_EDGE_VISITORS_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/boyer_myrvold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/boyer_myrvold_impl.hpp
deleted file mode 100644
index 41ba2bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/boyer_myrvold_impl.hpp
+++ /dev/null
@@ -1,2012 +0,0 @@
-//=======================================================================
-// Copyright (c) Aaron Windsor 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)
-//=======================================================================
-#ifndef __BOYER_MYRVOLD_IMPL_HPP__
-#define __BOYER_MYRVOLD_IMPL_HPP__
-
-#include <vector>
-#include <list>
-#include <boost/next_prior.hpp>
-#include <boost/config.hpp>    //for std::min macros
-#include <boost/shared_ptr.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/graph/planar_detail/face_handles.hpp>
-#include <boost/graph/planar_detail/face_iterators.hpp>
-#include <boost/graph/planar_detail/bucket_sort.hpp>
-
-
-
-namespace boost
-{
-  namespace detail {
-    enum bm_case_t{BM_NO_CASE_CHOSEN, BM_CASE_A, BM_CASE_B, BM_CASE_C, BM_CASE_D, BM_CASE_E};
-  }
-
-  template<typename LowPointMap, typename DFSParentMap,
-           typename DFSNumberMap, typename LeastAncestorMap,
-           typename DFSParentEdgeMap, typename SizeType>
-  struct planar_dfs_visitor : public dfs_visitor<>
-  {
-    planar_dfs_visitor(LowPointMap lpm, DFSParentMap dfs_p, 
-                       DFSNumberMap dfs_n, LeastAncestorMap lam,
-                       DFSParentEdgeMap dfs_edge) 
-      : low(lpm),
-        parent(dfs_p),
-        df_number(dfs_n),
-        least_ancestor(lam),
-        df_edge(dfs_edge),
-        count(0) 
-    {}
-    
-    
-    template <typename Vertex, typename Graph>
-    void start_vertex(const Vertex& u, Graph&)
-    {
-      put(parent, u, u);
-      put(least_ancestor, u, count);
-    }
-    
-    
-    template <typename Vertex, typename Graph>
-    void discover_vertex(const Vertex& u, Graph&)
-    {
-      put(low, u, count);
-      put(df_number, u, count);
-      ++count;
-    }
-    
-    template <typename Edge, typename Graph>
-    void tree_edge(const Edge& e, Graph& g)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-      vertex_t s(source(e,g));
-      vertex_t t(target(e,g));
-
-      put(parent, t, s);
-      put(df_edge, t, e);
-      put(least_ancestor, t, get(df_number, s));
-    }
-    
-    template <typename Edge, typename Graph>
-    void back_edge(const Edge& e, Graph& g)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-      typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-      
-      vertex_t s(source(e,g));
-      vertex_t t(target(e,g));
-      BOOST_USING_STD_MIN();
-
-      if ( t != get(parent, s) ) {
-        v_size_t s_low_df_number = get(low, s);
-        v_size_t t_df_number = get(df_number, t);
-        v_size_t s_least_ancestor_df_number = get(least_ancestor, s);
-
-        put(low, s, 
-            min BOOST_PREVENT_MACRO_SUBSTITUTION(s_low_df_number,
-                                                 t_df_number)
-            );
-        
-        put(least_ancestor, s, 
-            min BOOST_PREVENT_MACRO_SUBSTITUTION(s_least_ancestor_df_number, 
-                                                 t_df_number
-                                                 )
-            );
-
-      }
-    }
-    
-    template <typename Vertex, typename Graph>
-    void finish_vertex(const Vertex& u, Graph&)
-    {
-      typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-
-      Vertex u_parent = get(parent, u);
-      v_size_t u_parent_lowpoint = get(low, u_parent);
-      v_size_t u_lowpoint = get(low, u);
-      BOOST_USING_STD_MIN();
-
-      if (u_parent != u)
-        {
-          put(low, u_parent, 
-              min BOOST_PREVENT_MACRO_SUBSTITUTION(u_lowpoint, 
-                                                   u_parent_lowpoint
-                                                   )
-              );
-        }
-    }
-    
-    LowPointMap low;
-    DFSParentMap parent;
-    DFSNumberMap df_number;
-    LeastAncestorMap least_ancestor;
-    DFSParentEdgeMap df_edge;
-    SizeType count;
-    
-  };
-
-
-
-
-
-
-  template <typename Graph,
-            typename VertexIndexMap,
-            typename StoreOldHandlesPolicy = graph::detail::store_old_handles,
-            typename StoreEmbeddingPolicy = graph::detail::recursive_lazy_list
-            >
-  class boyer_myrvold_impl
-  {
-
-    typedef typename graph_traits<Graph>::vertices_size_type v_size_t;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::edge_iterator edge_iterator_t;
-    typedef typename graph_traits<Graph>::out_edge_iterator 
-        out_edge_iterator_t;
-    typedef graph::detail::face_handle
-        <Graph, StoreOldHandlesPolicy, StoreEmbeddingPolicy> face_handle_t;
-    typedef std::vector<vertex_t> vertex_vector_t;
-    typedef std::vector<edge_t> edge_vector_t;
-    typedef std::list<vertex_t> vertex_list_t;
-    typedef std::list< face_handle_t > face_handle_list_t;
-    typedef boost::shared_ptr< face_handle_list_t > face_handle_list_ptr_t;
-    typedef boost::shared_ptr< vertex_list_t > vertex_list_ptr_t;
-    typedef boost::tuple<vertex_t, bool, bool> merge_stack_frame_t;
-    typedef std::vector<merge_stack_frame_t> merge_stack_t;
-
-    template <typename T>
-    struct map_vertex_to_
-    {
-      typedef iterator_property_map
-          <typename std::vector<T>::iterator, VertexIndexMap> type;
-    };
-
-    typedef typename map_vertex_to_<v_size_t>::type vertex_to_v_size_map_t;
-    typedef typename map_vertex_to_<vertex_t>::type vertex_to_vertex_map_t;
-    typedef typename map_vertex_to_<edge_t>::type vertex_to_edge_map_t;
-    typedef typename map_vertex_to_<vertex_list_ptr_t>::type 
-        vertex_to_vertex_list_ptr_map_t;
-    typedef typename map_vertex_to_< edge_vector_t >::type 
-        vertex_to_edge_vector_map_t;
-    typedef typename map_vertex_to_<bool>::type vertex_to_bool_map_t;
-    typedef typename map_vertex_to_<face_handle_t>::type 
-        vertex_to_face_handle_map_t;
-    typedef typename map_vertex_to_<face_handle_list_ptr_t>::type 
-        vertex_to_face_handle_list_ptr_map_t;
-    typedef typename map_vertex_to_<typename vertex_list_t::iterator>::type 
-        vertex_to_separated_node_map_t;
-
-    template <typename BicompSideToTraverse = single_side,
-              typename VisitorType = lead_visitor,
-              typename Time = current_iteration>
-    struct face_vertex_iterator
-    {
-      typedef face_iterator<Graph, 
-                            vertex_to_face_handle_map_t, 
-                            vertex_t, 
-                            BicompSideToTraverse, 
-                            VisitorType,
-                            Time>
-      type;
-    };
-
-    template <typename BicompSideToTraverse = single_side,
-              typename Time = current_iteration>
-    struct face_edge_iterator
-    {
-      typedef face_iterator<Graph,
-                            vertex_to_face_handle_map_t,
-                            edge_t,
-                            BicompSideToTraverse,
-                            lead_visitor,
-                            Time>
-      type;
-    };
-
-
-
-  public:
-
- 
-
-    boyer_myrvold_impl(const Graph& arg_g, VertexIndexMap arg_vm):
-      g(arg_g),
-      vm(arg_vm),
-
-      low_point_vector(num_vertices(g)),
-      dfs_parent_vector(num_vertices(g)),
-      dfs_number_vector(num_vertices(g)),
-      least_ancestor_vector(num_vertices(g)),
-      pertinent_roots_vector(num_vertices(g)),
-      backedge_flag_vector(num_vertices(g), num_vertices(g) + 1),
-      visited_vector(num_vertices(g), num_vertices(g) + 1),
-      face_handles_vector(num_vertices(g)),
-      dfs_child_handles_vector(num_vertices(g)),
-      separated_dfs_child_list_vector(num_vertices(g)),
-      separated_node_in_parent_list_vector(num_vertices(g)),
-      canonical_dfs_child_vector(num_vertices(g)),
-      flipped_vector(num_vertices(g), false),
-      backedges_vector(num_vertices(g)),
-      dfs_parent_edge_vector(num_vertices(g)),
-                        
-      vertices_by_dfs_num(num_vertices(g)),
-
-      low_point(low_point_vector.begin(), vm),
-      dfs_parent(dfs_parent_vector.begin(), vm),
-      dfs_number(dfs_number_vector.begin(), vm),
-      least_ancestor(least_ancestor_vector.begin(), vm),
-      pertinent_roots(pertinent_roots_vector.begin(), vm),
-      backedge_flag(backedge_flag_vector.begin(), vm),
-      visited(visited_vector.begin(), vm),
-      face_handles(face_handles_vector.begin(), vm),
-      dfs_child_handles(dfs_child_handles_vector.begin(), vm),
-      separated_dfs_child_list(separated_dfs_child_list_vector.begin(), vm),
-      separated_node_in_parent_list
-          (separated_node_in_parent_list_vector.begin(), vm),
-      canonical_dfs_child(canonical_dfs_child_vector.begin(), vm),
-      flipped(flipped_vector.begin(), vm),
-      backedges(backedges_vector.begin(), vm),
-      dfs_parent_edge(dfs_parent_edge_vector.begin(), vm)
-
-    {
-
-      planar_dfs_visitor
-        <vertex_to_v_size_map_t, vertex_to_vertex_map_t,
-        vertex_to_v_size_map_t, vertex_to_v_size_map_t,
-        vertex_to_edge_map_t, v_size_t> vis
-        (low_point, dfs_parent, dfs_number, least_ancestor, dfs_parent_edge);
-
-      // Perform a depth-first search to find each vertex's low point, least
-      // ancestor, and dfs tree information
-      depth_first_search(g, visitor(vis).vertex_index_map(vm));
-
-      // Sort vertices by their lowpoint - need this later in the constructor
-      vertex_vector_t vertices_by_lowpoint(num_vertices(g));
-      std::copy( vertices(g).first, vertices(g).second, 
-                 vertices_by_lowpoint.begin()
-                 );
-      bucket_sort(vertices_by_lowpoint.begin(), 
-                  vertices_by_lowpoint.end(), 
-                  low_point,
-                  num_vertices(g)
-                  );
-
-      // Sort vertices by their dfs number - need this to iterate by reverse 
-      // DFS number in the main loop.
-      std::copy( vertices(g).first, vertices(g).second, 
-                 vertices_by_dfs_num.begin()
-                 );
-      bucket_sort(vertices_by_dfs_num.begin(), 
-                  vertices_by_dfs_num.end(), 
-                  dfs_number,
-                  num_vertices(g)
-                  );
-
-      // Initialize face handles. A face handle is an abstraction that serves 
-      // two uses in our implementation - it allows us to efficiently move 
-      // along the outer face of embedded bicomps in a partially embedded 
-      // graph, and it provides storage for the planar embedding. Face 
-      // handles are implemented by a sequence of edges and are associated 
-      // with a particular vertex - the sequence of edges represents the 
-      // current embedding of edges around that vertex, and the first and 
-      // last edges in the sequence represent the pair of edges on the outer 
-      // face that are adjacent to the associated vertex. This lets us embed 
-      // edges in the graph by just pushing them on the front or back of the 
-      // sequence of edges held by the face handles.
-      // 
-      // Our algorithm starts with a DFS tree of edges (where every vertex is
-      // an articulation point and every edge is a singleton bicomp) and 
-      // repeatedly merges bicomps by embedding additional edges. Note that 
-      // any bicomp at any point in the algorithm can be associated with a 
-      // unique edge connecting the vertex of that bicomp with the lowest DFS
-      // number (which we refer to as the "root" of the bicomp) with its DFS 
-      // child in the bicomp: the existence of two such edges would contradict
-      // the properties of a DFS tree. We refer to the DFS child of the root 
-      // of a bicomp as the "canonical DFS child" of the bicomp. Note that a 
-      // vertex can be the root of more than one bicomp.
-      //
-      // We move around the external faces of a bicomp using a few property 
-      // maps, which we'll initialize presently:
-      //
-      // - face_handles: maps a vertex to a face handle that can be used to 
-      //   move "up" a bicomp. For a vertex that isn't an articulation point, 
-      //   this holds the face handles that can be used to move around that 
-      //   vertex's unique bicomp. For a vertex that is an articulation point,
-      //   this holds the face handles associated with the unique bicomp that 
-      //   the vertex is NOT the root of. These handles can therefore be used 
-      //   to move from any point on the outer face of the tree of bicomps 
-      //   around the current outer face towards the root of the DFS tree.
-      //
-      // - dfs_child_handles: these are used to hold face handles for 
-      //   vertices that are articulation points - dfs_child_handles[v] holds
-      //   the face handles corresponding to vertex u in the bicomp with root
-      //   u and canonical DFS child v.
-      //
-      // - canonical_dfs_child: this property map allows one to determine the
-      //   canonical DFS child of a bicomp while traversing the outer face.
-      //   This property map is only valid when applied to one of the two 
-      //   vertices adjacent to the root of the bicomp on the outer face. To
-      //   be more precise, if v is the canonical DFS child of a bicomp,
-      //   canonical_dfs_child[dfs_child_handles[v].first_vertex()] == v and 
-      //   canonical_dfs_child[dfs_child_handles[v].second_vertex()] == v.
-      //
-      // - pertinent_roots: given a vertex v, pertinent_roots[v] contains a
-      //   list of face handles pointing to the top of bicomps that need to
-      //   be visited by the current walkdown traversal (since they lead to
-      //   backedges that need to be embedded). These lists are populated by
-      //   the walkup and consumed by the walkdown.
-
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        {
-          vertex_t v(*vi);
-          vertex_t parent = dfs_parent[v];
-
-          if (parent != v)
-            {
-              edge_t parent_edge = dfs_parent_edge[v];
-              add_to_embedded_edges(parent_edge, StoreOldHandlesPolicy());
-              face_handles[v] = face_handle_t(v, parent_edge, g);
-              dfs_child_handles[v] = face_handle_t(parent, parent_edge, g);
-            }
-          else
-            {
-              face_handles[v] = face_handle_t(v);
-              dfs_child_handles[v] = face_handle_t(parent);
-            }
-
-          canonical_dfs_child[v] = v;
-          pertinent_roots[v] = face_handle_list_ptr_t(new face_handle_list_t); 
-          separated_dfs_child_list[v] = vertex_list_ptr_t(new vertex_list_t);
-
-        }
-
-      // We need to create a list of not-yet-merged depth-first children for
-      // each vertex that will be updated as bicomps get merged. We sort each 
-      // list by ascending lowpoint, which allows the externally_active 
-      // function to run in constant time, and we keep a pointer to each 
-      // vertex's representation in its parent's list, which allows merging 
-      //in constant time.
-
-      for(typename vertex_vector_t::iterator itr = 
-            vertices_by_lowpoint.begin();
-          itr != vertices_by_lowpoint.end(); ++itr)
-        {
-          vertex_t v(*itr);
-          vertex_t parent(dfs_parent[v]);
-          if (v != parent)
-            {
-              separated_node_in_parent_list[v] =
-                separated_dfs_child_list[parent]->insert
-                (separated_dfs_child_list[parent]->end(), v);
-            }
-        }    
-
-      // The merge stack holds path information during a walkdown iteration
-      merge_stack.reserve(num_vertices(g));
-
-    }
-
-
-
-
-
-
-    bool is_planar()
-    {
-
-      // This is the main algorithm: starting with a DFS tree of embedded 
-      // edges (which, since it's a tree, is planar), iterate through all 
-      // vertices by reverse DFS number, attempting to embed all backedges
-      // connecting the current vertex to vertices with higher DFS numbers.
-      // 
-      // The walkup is a procedure that examines all such backedges and sets
-      // up the required data structures so that they can be searched by the
-      // walkdown in linear time. The walkdown does the actual work of
-      // embedding edges and flipping bicomps, and can identify when it has
-      // come across a kuratowski subgraph.
-      //
-      // store_old_face_handles caches face handles from the previous
-      // iteration - this is used only for the kuratowski subgraph isolation,
-      // and is therefore dispatched based on the StoreOldHandlesPolicy.
-      //
-      // clean_up_embedding does some clean-up and fills in values that have
-      // to be computed lazily during the actual execution of the algorithm
-      // (for instance, whether or not a bicomp is flipped in the final
-      // embedding). It's dispatched on the the StoreEmbeddingPolicy, since
-      // it's not needed if an embedding isn't desired.
-
-      typename vertex_vector_t::reverse_iterator vi, vi_end;
-
-      vi_end = vertices_by_dfs_num.rend();
-      for(vi = vertices_by_dfs_num.rbegin(); vi != vi_end; ++vi)
-        {
-
-          store_old_face_handles(StoreOldHandlesPolicy());
-
-          vertex_t v(*vi);
-          
-          walkup(v);
-
-          if (!walkdown(v))
-            return false;
-
-        }
-
-      clean_up_embedding(StoreEmbeddingPolicy());
-
-      return true;
-      
-    }
-
-
-
-
-
-
-  private:
-
-
-
-
-
-    void walkup(vertex_t v)
-    {
-
-      // The point of the walkup is to follow all backedges from v to 
-      // vertices with higher DFS numbers, and update pertinent_roots
-      // for the bicomp roots on the path from backedge endpoints up
-      // to v. This will set the stage for the walkdown to efficiently
-      // traverse the graph of bicomps down from v.
-
-      typedef typename face_vertex_iterator<both_sides>::type walkup_iterator_t;
-      
-      out_edge_iterator_t oi, oi_end;
-      for(boost::tie(oi,oi_end) = out_edges(v,g); oi != oi_end; ++oi)
-        {
-          edge_t e(*oi);
-          vertex_t e_source(source(e,g));
-          vertex_t e_target(target(e,g));
-
-          if (e_source == e_target)
-            {
-              self_loops.push_back(e);
-              continue;
-            }
-
-          vertex_t w(e_source == v ? e_target : e_source);
-
-          //continue if not a back edge or already embedded
-          if (dfs_number[w] < dfs_number[v] || e == dfs_parent_edge[w])
-            continue;
-
-          backedges[w].push_back(e);
-
-          v_size_t timestamp = dfs_number[v];         
-          backedge_flag[w] = timestamp;
-
-          walkup_iterator_t walkup_itr(w, face_handles);
-          walkup_iterator_t walkup_end;
-          vertex_t lead_vertex = w;
-
-          while (true)
-            {
-              
-              // Move to the root of the current bicomp or the first visited
-              // vertex on the bicomp by going up each side in parallel
-              
-              while(walkup_itr != walkup_end && 
-                    visited[*walkup_itr] != timestamp
-                    )
-                {
-                  lead_vertex = *walkup_itr;
-                  visited[lead_vertex] = timestamp;
-                  ++walkup_itr;
-                }
-
-              // If we've found the root of a bicomp through a path we haven't
-              // seen before, update pertinent_roots with a handle to the
-              // current bicomp. Otherwise, we've just seen a path we've been 
-              // up before, so break out of the main while loop.
-              
-              if (walkup_itr == walkup_end)
-                {
-                  vertex_t dfs_child = canonical_dfs_child[lead_vertex];
-                  vertex_t parent = dfs_parent[dfs_child];
-
-                  visited[dfs_child_handles[dfs_child].first_vertex()] 
-                    = timestamp;
-                  visited[dfs_child_handles[dfs_child].second_vertex()] 
-                    = timestamp;
-
-                  if (low_point[dfs_child] < dfs_number[v] || 
-                      least_ancestor[dfs_child] < dfs_number[v]
-                      )
-                    {
-                      pertinent_roots[parent]->push_back
-                        (dfs_child_handles[dfs_child]);
-                    }
-                  else
-                    {
-                      pertinent_roots[parent]->push_front
-                        (dfs_child_handles[dfs_child]);
-                    }
-
-                  if (parent != v && visited[parent] != timestamp)
-                    {
-                      walkup_itr = walkup_iterator_t(parent, face_handles);
-                      lead_vertex = parent;
-                    }
-                  else
-                    break;
-                }
-              else
-                break;
-            }
-
-        }      
-      
-    }
-    
-
-
-
-
-
-
-    bool walkdown(vertex_t v)
-    {
-      // This procedure is where all of the action is - pertinent_roots
-      // has already been set up by the walkup, so we just need to move
-      // down bicomps from v until we find vertices that have been
-      // labeled as backedge endpoints. Once we find such a vertex, we
-      // embed the corresponding edge and glue together the bicomps on
-      // the path connecting the two vertices in the edge. This may
-      // involve flipping bicomps along the way.
-
-      vertex_t w; //the other endpoint of the edge we're embedding
-
-      while (!pertinent_roots[v]->empty())
-        {
-          
-          face_handle_t root_face_handle = pertinent_roots[v]->front();
-          face_handle_t curr_face_handle = root_face_handle;
-          pertinent_roots[v]->pop_front();      
-
-          merge_stack.clear();
-
-          while(true)
-            {
-
-              typename face_vertex_iterator<>::type 
-                first_face_itr, second_face_itr, face_end;
-              vertex_t first_side_vertex 
-                = graph_traits<Graph>::null_vertex();
-              vertex_t second_side_vertex;
-              vertex_t first_tail, second_tail;
-
-              first_tail = second_tail = curr_face_handle.get_anchor();
-              first_face_itr = typename face_vertex_iterator<>::type
-                (curr_face_handle, face_handles, first_side());
-              second_face_itr = typename face_vertex_iterator<>::type
-                (curr_face_handle, face_handles, second_side());
-
-              for(; first_face_itr != face_end; ++first_face_itr)
-                {
-                  vertex_t face_vertex(*first_face_itr);
-                  if (pertinent(face_vertex, v) || 
-                      externally_active(face_vertex, v)
-                      )
-                    {
-                      first_side_vertex = face_vertex;
-                      second_side_vertex = face_vertex;
-                      break;
-                    }
-                  first_tail = face_vertex;
-                }
-
-              if (first_side_vertex == graph_traits<Graph>::null_vertex() || 
-                  first_side_vertex == curr_face_handle.get_anchor()
-                  )
-                break;
-
-              for(;second_face_itr != face_end; ++second_face_itr)
-                {
-                  vertex_t face_vertex(*second_face_itr);
-                  if (pertinent(face_vertex, v) || 
-                      externally_active(face_vertex, v)
-                      )
-                    {
-                      second_side_vertex = face_vertex;
-                      break;
-                    }
-                  second_tail = face_vertex;
-                }
-
-              vertex_t chosen;
-              bool chose_first_upper_path;
-              if (internally_active(first_side_vertex, v))
-                {
-                  chosen = first_side_vertex;
-                  chose_first_upper_path = true;
-                }
-              else if (internally_active(second_side_vertex, v))
-                {
-                  chosen = second_side_vertex;
-                  chose_first_upper_path = false;
-                }
-              else if (pertinent(first_side_vertex, v))
-                {
-                  chosen = first_side_vertex;
-                  chose_first_upper_path = true;
-                }
-              else if (pertinent(second_side_vertex, v))
-                {
-                  chosen = second_side_vertex;
-                  chose_first_upper_path = false;
-                }
-              else 
-                {
-
-                  // If there's a pertinent vertex on the lower face 
-                  // between the first_face_itr and the second_face_itr, 
-                  // this graph isn't planar.
-                  for(; 
-                      *first_face_itr != second_side_vertex; 
-                      ++first_face_itr
-                      )
-                    {
-                      vertex_t p(*first_face_itr);
-                      if (pertinent(p,v))
-                        {
-                          //Found a Kuratowski subgraph
-                          kuratowski_v = v;
-                          kuratowski_x = first_side_vertex;
-                          kuratowski_y = second_side_vertex;
-                          return false;
-                        }
-                    }
-                  
-                  // Otherwise, the fact that we didn't find a pertinent 
-                  // vertex on this face is fine - we should set the 
-                  // short-circuit edges and break out of this loop to 
-                  // start looking at a different pertinent root.
-                                    
-                  if (first_side_vertex == second_side_vertex)
-                    {
-                      if (first_tail != v)
-                        {
-                          vertex_t first 
-                            = face_handles[first_tail].first_vertex();
-                          vertex_t second 
-                            = face_handles[first_tail].second_vertex();
-                          boost::tie(first_side_vertex, first_tail) 
-                            = make_tuple(first_tail, 
-                                         first == first_side_vertex ? 
-                                         second : first
-                                         );
-                        }
-                      else if (second_tail != v)
-                        {
-                          vertex_t first 
-                            = face_handles[second_tail].first_vertex();
-                          vertex_t second 
-                            = face_handles[second_tail].second_vertex();
-                          boost::tie(second_side_vertex, second_tail) 
-                            = make_tuple(second_tail,
-                                         first == second_side_vertex ? 
-                                         second : first);
-                        }
-                      else
-                        break;
-                    }
-                  
-                  canonical_dfs_child[first_side_vertex] 
-                    = canonical_dfs_child[root_face_handle.first_vertex()];
-                  canonical_dfs_child[second_side_vertex] 
-                    = canonical_dfs_child[root_face_handle.second_vertex()];
-                  root_face_handle.set_first_vertex(first_side_vertex);
-                  root_face_handle.set_second_vertex(second_side_vertex);
-
-                  if (face_handles[first_side_vertex].first_vertex() == 
-                      first_tail
-                      )
-                    face_handles[first_side_vertex].set_first_vertex(v);
-                  else
-                    face_handles[first_side_vertex].set_second_vertex(v);
-
-                  if (face_handles[second_side_vertex].first_vertex() == 
-                      second_tail
-                      )
-                    face_handles[second_side_vertex].set_first_vertex(v);
-                  else
-                    face_handles[second_side_vertex].set_second_vertex(v);
-                    
-                  break;
-                  
-                }
-
-
-              // When we unwind the stack, we need to know which direction 
-              // we came down from on the top face handle
-              
-              bool chose_first_lower_path = 
-                (chose_first_upper_path && 
-                 face_handles[chosen].first_vertex() == first_tail) 
-                ||
-                (!chose_first_upper_path && 
-                 face_handles[chosen].first_vertex() == second_tail);
-
-              //If there's a backedge at the chosen vertex, embed it now
-              if (backedge_flag[chosen] == dfs_number[v])
-                {
-                  w = chosen;
-                  
-                  backedge_flag[chosen] = num_vertices(g) + 1;
-                  add_to_merge_points(chosen, StoreOldHandlesPolicy());
-                  
-                  typename edge_vector_t::iterator ei, ei_end;
-                  ei_end = backedges[chosen].end();
-                  for(ei = backedges[chosen].begin(); ei != ei_end; ++ei)
-                    {
-                      edge_t e(*ei);
-                      add_to_embedded_edges(e, StoreOldHandlesPolicy());
-
-                      if (chose_first_lower_path)
-                        face_handles[chosen].push_first(e, g);
-                      else
-                        face_handles[chosen].push_second(e, g);
-                    }
-
-                }
-              else
-                {
-                  merge_stack.push_back(make_tuple
-                     (chosen, chose_first_upper_path, chose_first_lower_path)
-                                        );
-                  curr_face_handle = *pertinent_roots[chosen]->begin();
-                  continue;
-                }
-
-              //Unwind the merge stack to the root, merging all bicomps
-      
-              bool bottom_path_follows_first;
-              bool top_path_follows_first;
-              bool next_bottom_follows_first = chose_first_upper_path;
-              face_handle_t top_handle, bottom_handle;
-
-              vertex_t merge_point = chosen;
-
-              while(!merge_stack.empty())
-                {
-
-                  bottom_path_follows_first = next_bottom_follows_first;
-                  boost::tie(merge_point, 
-                             next_bottom_follows_first, 
-                             top_path_follows_first
-                             ) = merge_stack.back();
-                  merge_stack.pop_back();
-
-                  face_handle_t top_handle(face_handles[merge_point]);
-                  face_handle_t bottom_handle
-                    (*pertinent_roots[merge_point]->begin());
-                  
-                  vertex_t bottom_dfs_child = canonical_dfs_child
-                    [pertinent_roots[merge_point]->begin()->first_vertex()];
-
-                  remove_vertex_from_separated_dfs_child_list(
-                       canonical_dfs_child
-                       [pertinent_roots[merge_point]->begin()->first_vertex()]
-                       );
-
-                  pertinent_roots[merge_point]->pop_front();
-
-                  add_to_merge_points(top_handle.get_anchor(), 
-                                      StoreOldHandlesPolicy()
-                                      );
-                  
-                  if (top_path_follows_first && bottom_path_follows_first)
-                    {
-                      bottom_handle.flip();
-                      top_handle.glue_first_to_second(bottom_handle);
-                    }          
-                  else if (!top_path_follows_first && 
-                           bottom_path_follows_first
-                           )
-                    {
-                      flipped[bottom_dfs_child] = true;
-                      top_handle.glue_second_to_first(bottom_handle);
-                    }
-                  else if (top_path_follows_first && 
-                           !bottom_path_follows_first
-                           )
-                    {
-                      flipped[bottom_dfs_child] = true;
-                      top_handle.glue_first_to_second(bottom_handle);
-                    }
-                  else //!top_path_follows_first && !bottom_path_follows_first
-                    {
-                      bottom_handle.flip();
-                      top_handle.glue_second_to_first(bottom_handle);
-                    }
-
-                }
-
-              //Finally, embed all edges (v,w) at their upper end points
-              canonical_dfs_child[w] 
-                = canonical_dfs_child[root_face_handle.first_vertex()];
-              
-              add_to_merge_points(root_face_handle.get_anchor(), 
-                                  StoreOldHandlesPolicy()
-                                  );
-              
-              typename edge_vector_t::iterator ei, ei_end;
-              ei_end = backedges[chosen].end();
-              for(ei = backedges[chosen].begin(); ei != ei_end; ++ei)
-                {              
-                  if (next_bottom_follows_first)
-                    root_face_handle.push_first(*ei, g);
-                  else
-                    root_face_handle.push_second(*ei, g);
-                }
-
-              backedges[chosen].clear();
-              curr_face_handle = root_face_handle;
-
-            }//while(true)
-          
-        }//while(!pertinent_roots[v]->empty())
-
-      return true;
-
-    }
-
-
-
-
-
-
-    void store_old_face_handles(graph::detail::no_old_handles) {}
-
-    void store_old_face_handles(graph::detail::store_old_handles)
-    {
-      for(typename std::vector<vertex_t>::iterator mp_itr 
-            = current_merge_points.begin();
-          mp_itr != current_merge_points.end(); ++mp_itr)
-        {
-          face_handles[*mp_itr].store_old_face_handles();
-        }
-      current_merge_points.clear();
-    }          
-
-
-    void add_to_merge_points(vertex_t, graph::detail::no_old_handles) {}
-
-    void add_to_merge_points(vertex_t v, graph::detail::store_old_handles)
-    {
-      current_merge_points.push_back(v);
-    }
-
-    
-    void add_to_embedded_edges(edge_t, graph::detail::no_old_handles) {}
-
-    void add_to_embedded_edges(edge_t e, graph::detail::store_old_handles)
-    {
-      embedded_edges.push_back(e);
-    }
-
-
-
-
-    void clean_up_embedding(graph::detail::no_embedding) {}
-
-    void clean_up_embedding(graph::detail::store_embedding)
-    {
-
-      // If the graph isn't biconnected, we'll still have entries
-      // in the separated_dfs_child_list for some vertices. Since
-      // these represent articulation points, we can obtain a
-      // planar embedding no matter what order we embed them in.
-
-      vertex_iterator_t xi, xi_end;
-      for(boost::tie(xi,xi_end) = vertices(g); xi != xi_end; ++xi)
-        {
-          if (!separated_dfs_child_list[*xi]->empty())
-            {
-              typename vertex_list_t::iterator yi, yi_end;
-              yi_end = separated_dfs_child_list[*xi]->end();
-              for(yi = separated_dfs_child_list[*xi]->begin(); 
-                  yi != yi_end; ++yi
-                  )
-                {
-                  dfs_child_handles[*yi].flip();
-                  face_handles[*xi].glue_first_to_second
-                    (dfs_child_handles[*yi]);
-                }
-            }
-        }      
-
-      // Up until this point, we've flipped bicomps lazily by setting
-      // flipped[v] to true if the bicomp rooted at v was flipped (the
-      // lazy aspect of this flip is that all descendents of that vertex
-      // need to have their orientations reversed as well). Now, we
-      // traverse the DFS tree by DFS number and perform the actual
-      // flipping as needed
-
-      typedef typename vertex_vector_t::iterator vertex_vector_itr_t;
-      vertex_vector_itr_t vi_end = vertices_by_dfs_num.end();
-      for(vertex_vector_itr_t vi = vertices_by_dfs_num.begin(); 
-          vi != vi_end; ++vi
-          )
-        {
-          vertex_t v(*vi);
-          bool v_flipped = flipped[v];
-          bool p_flipped = flipped[dfs_parent[v]];
-          if (v_flipped && !p_flipped)
-            {
-              face_handles[v].flip();
-            }
-          else if (p_flipped && !v_flipped)
-            {
-              face_handles[v].flip();
-              flipped[v] = true;
-            }
-          else
-            {
-              flipped[v] = false;
-            }
-        }
-
-      // If there are any self-loops in the graph, they were flagged
-      // during the walkup, and we should add them to the embedding now.
-      // Adding a self loop anywhere in the embedding could never 
-      // invalidate the embedding, but they would complicate the traversal
-      // if they were added during the walkup/walkdown.
-
-      typename edge_vector_t::iterator ei, ei_end;
-      ei_end = self_loops.end();
-      for(ei = self_loops.begin(); ei != ei_end; ++ei)
-        {
-          edge_t e(*ei);
-          face_handles[source(e,g)].push_second(e,g);
-        }
-      
-    }
-
-
-
-
-    
-    bool pertinent(vertex_t w, vertex_t v)
-    {
-      // w is pertinent with respect to v if there is a backedge (v,w) or if
-      // w is the root of a bicomp that contains a pertinent vertex.
-
-      return backedge_flag[w] == dfs_number[v] || !pertinent_roots[w]->empty();
-    }
-    
-
-
-    bool externally_active(vertex_t w, vertex_t v)
-    {
-      // Let a be any proper depth-first search ancestor of v. w is externally
-      // active with respect to v if there exists a backedge (a,w) or a 
-      // backedge (a,w_0) for some w_0 in a descendent bicomp of w.
-
-      v_size_t dfs_number_of_v = dfs_number[v];
-      return (least_ancestor[w] < dfs_number_of_v) ||
-        (!separated_dfs_child_list[w]->empty() &&
-         low_point[separated_dfs_child_list[w]->front()] < dfs_number_of_v); 
-   }
-    
-
-      
-    bool internally_active(vertex_t w, vertex_t v)
-    {
-      return pertinent(w,v) && !externally_active(w,v);
-    }    
-      
-
-
-
-    void remove_vertex_from_separated_dfs_child_list(vertex_t v)
-    {
-      typename vertex_list_t::iterator to_delete 
-        = separated_node_in_parent_list[v];
-      garbage.splice(garbage.end(), 
-                     *separated_dfs_child_list[dfs_parent[v]], 
-                     to_delete, 
-                     boost::next(to_delete)
-                     );
-    }
-
-
-
-
-    
-    // End of the implementation of the basic Boyer-Myrvold Algorithm. The rest
-    // of the code below implements the isolation of a Kuratowski subgraph in 
-    // the case that the input graph is not planar. This is by far the most
-    // complicated part of the implementation.
-
-
-
-
-  public:
-
-
-
-
-    template <typename EdgeToBoolPropertyMap, typename EdgeContainer>
-    vertex_t kuratowski_walkup(vertex_t v, 
-                               EdgeToBoolPropertyMap forbidden_edge,
-                               EdgeToBoolPropertyMap goal_edge,
-                               EdgeToBoolPropertyMap is_embedded,
-                               EdgeContainer& path_edges
-                               )
-    {
-      vertex_t current_endpoint;
-      bool seen_goal_edge = false;
-      out_edge_iterator_t oi, oi_end;
-      
-      for(boost::tie(oi,oi_end) = out_edges(v,g); oi != oi_end; ++oi)
-        forbidden_edge[*oi] = true;
-      
-      for(boost::tie(oi,oi_end) = out_edges(v,g); oi != oi_end; ++oi)
-        {
-          path_edges.clear();
-          
-          edge_t e(*oi);
-          current_endpoint = target(*oi,g) == v ? 
-            source(*oi,g) : target(*oi,g);
-          
-          if (dfs_number[current_endpoint] < dfs_number[v] || 
-              is_embedded[e] ||
-              v == current_endpoint //self-loop
-              )
-            {
-              //Not a backedge
-              continue;
-            }
-          
-          path_edges.push_back(e);
-          if (goal_edge[e])
-            {
-              return current_endpoint;
-            }
-
-          typedef typename face_edge_iterator<>::type walkup_itr_t;
-          
-          walkup_itr_t 
-            walkup_itr(current_endpoint, face_handles, first_side());
-          walkup_itr_t walkup_end;
-          
-          seen_goal_edge = false;
-          
-          while (true)
-            {      
-              
-              if (walkup_itr != walkup_end && forbidden_edge[*walkup_itr])
-                break;
-              
-              while(walkup_itr != walkup_end && 
-                    !goal_edge[*walkup_itr] && 
-                    !forbidden_edge[*walkup_itr]
-                    )
-                {
-                  edge_t f(*walkup_itr);
-                  forbidden_edge[f] = true;
-                  path_edges.push_back(f);
-                  current_endpoint = 
-                    source(f, g) == current_endpoint ? 
-                    target(f, g) : 
-                    source(f,g);
-                  ++walkup_itr;
-                }
-
-              if (walkup_itr != walkup_end && goal_edge[*walkup_itr])
-                {
-                  path_edges.push_back(*walkup_itr);
-                  seen_goal_edge = true;
-                  break;
-                }
-
-              walkup_itr 
-                = walkup_itr_t(current_endpoint, face_handles, first_side());
-              
-            }
-          
-          if (seen_goal_edge)
-            break;
-          
-        }
-
-      if (seen_goal_edge)
-        return current_endpoint;
-      else
-        return graph_traits<Graph>::null_vertex();
-
-    }
-
-
-
-
-
-
-
-
-    template <typename OutputIterator, typename EdgeIndexMap>
-    void extract_kuratowski_subgraph(OutputIterator o_itr, EdgeIndexMap em)
-    {
-
-      // If the main algorithm has failed to embed one of the back-edges from
-      // a vertex v, we can use the current state of the algorithm to isolate
-      // a Kuratowksi subgraph. The isolation process breaks down into five
-      // cases, A - E. The general configuration of all five cases is shown in
-      //                  figure 1. There is a vertex v from which the planar
-      //         v        embedding process could not proceed. This means that
-      //         |        there exists some bicomp containing three vertices
-      //       -----      x,y, and z as shown such that x and y are externally
-      //      |     |     active with respect to v (which means that there are
-      //      x     y     two vertices x_0 and y_0 such that (1) both x_0 and  
-      //      |     |     y_0 are proper depth-first search ancestors of v and 
-      //       --z--      (2) there are two disjoint paths, one connecting x 
-      //                  and x_0 and one connecting y and y_0, both consisting
-      //       fig. 1     entirely of unembedded edges). Furthermore, there
-      //                  exists a vertex z_0 such that z is a depth-first
-      // search ancestor of z_0 and (v,z_0) is an unembedded back-edge from v.
-      // x,y and z all exist on the same bicomp, which consists entirely of
-      // embedded edges. The five subcases break down as follows, and are
-      // handled by the algorithm logically in the order A-E: First, if v is
-      // not on the same bicomp as x,y, and z, a K_3_3 can be isolated - this
-      // is case A. So, we'll assume that v is on the same bicomp as x,y, and
-      // z. If z_0 is on a different bicomp than x,y, and z, a K_3_3 can also
-      // be isolated - this is a case B - so we'll assume from now on that v
-      // is on the same bicomp as x, y, and z=z_0. In this case, one can use
-      // properties of the Boyer-Myrvold algorithm to show the existence of an
-      // "x-y path" connecting some vertex on the "left side" of the x,y,z
-      // bicomp with some vertex on the "right side" of the bicomp (where the
-      // left and right are split by a line drawn through v and z.If either of 
-      // the endpoints of the x-y path is above x or y on the bicomp, a K_3_3 
-      // can be isolated - this is a case C. Otherwise, both endpoints are at 
-      // or below x and y on the bicomp. If there is a vertex alpha on the x-y 
-      // path such that alpha is not x or y and there's a path from alpha to v
-      // that's disjoint from any of the edges on the bicomp and the x-y path,
-      // a K_3_3 can be isolated - this is a case D. Otherwise, properties of
-      // the Boyer-Myrvold algorithm can be used to show that another vertex
-      // w exists on the lower half of the bicomp such that w is externally
-      // active with respect to v. w can then be used to isolate a K_5 - this
-      // is the configuration of case E.
-
-      vertex_iterator_t vi, vi_end;
-      edge_iterator_t ei, ei_end;
-      out_edge_iterator_t oei, oei_end;
-      typename std::vector<edge_t>::iterator xi, xi_end;
-
-      // Clear the short-circuit edges - these are needed for the planar 
-      // testing/embedding algorithm to run in linear time, but they'll 
-      // complicate the kuratowski subgraph isolation
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        {
-          face_handles[*vi].reset_vertex_cache();
-          dfs_child_handles[*vi].reset_vertex_cache();
-        }
-
-      vertex_t v = kuratowski_v;
-      vertex_t x = kuratowski_x;
-      vertex_t y = kuratowski_y;
-
-      typedef iterator_property_map
-        <typename std::vector<bool>::iterator, EdgeIndexMap>
-        edge_to_bool_map_t;
-
-      std::vector<bool> is_in_subgraph_vector(num_edges(g), false);
-      edge_to_bool_map_t is_in_subgraph(is_in_subgraph_vector.begin(), em);
-
-      std::vector<bool> is_embedded_vector(num_edges(g), false);
-      edge_to_bool_map_t is_embedded(is_embedded_vector.begin(), em);
-
-      typename std::vector<edge_t>::iterator embedded_itr, embedded_end;
-      embedded_end = embedded_edges.end();
-      for(embedded_itr = embedded_edges.begin(); 
-          embedded_itr != embedded_end; ++embedded_itr
-          )
-        is_embedded[*embedded_itr] = true;
-
-      // upper_face_vertex is true for x,y, and all vertices above x and y in 
-      // the bicomp
-      std::vector<bool> upper_face_vertex_vector(num_vertices(g), false);
-      vertex_to_bool_map_t upper_face_vertex
-        (upper_face_vertex_vector.begin(), vm);
-
-      std::vector<bool> lower_face_vertex_vector(num_vertices(g), false);
-      vertex_to_bool_map_t lower_face_vertex
-        (lower_face_vertex_vector.begin(), vm);
-
-      // These next few variable declarations are all things that we need
-      // to find.
-      vertex_t z; 
-      vertex_t bicomp_root;
-      vertex_t w = graph_traits<Graph>::null_vertex();
-      face_handle_t w_handle;
-      face_handle_t v_dfchild_handle;
-      vertex_t first_x_y_path_endpoint = graph_traits<Graph>::null_vertex();
-      vertex_t second_x_y_path_endpoint = graph_traits<Graph>::null_vertex();
-      vertex_t w_ancestor = v;
-
-      detail::bm_case_t chosen_case = detail::BM_NO_CASE_CHOSEN;
-
-      std::vector<edge_t> x_external_path;
-      std::vector<edge_t> y_external_path;
-      std::vector<edge_t> case_d_edges;
-
-      std::vector<edge_t> z_v_path;
-      std::vector<edge_t> w_path;
-
-      //first, use a walkup to find a path from V that starts with a
-      //backedge from V, then goes up until it hits either X or Y
-      //(but doesn't find X or Y as the root of a bicomp)
-
-      typename face_vertex_iterator<>::type 
-        x_upper_itr(x, face_handles, first_side());
-      typename face_vertex_iterator<>::type 
-        x_lower_itr(x, face_handles, second_side());
-      typename face_vertex_iterator<>::type face_itr, face_end;
-
-      // Don't know which path from x is the upper or lower path - 
-      // we'll find out here
-      for(face_itr = x_upper_itr; face_itr != face_end; ++face_itr)
-        {
-          if (*face_itr == y)
-            {
-              std::swap(x_upper_itr, x_lower_itr);
-              break;
-            }
-        }
-
-      upper_face_vertex[x] = true;
-
-      vertex_t current_vertex = x;
-      vertex_t previous_vertex;
-      for(face_itr = x_upper_itr; face_itr != face_end; ++face_itr)
-        {
-          previous_vertex = current_vertex;
-          current_vertex = *face_itr;
-          upper_face_vertex[current_vertex] = true;
-        }
-
-      v_dfchild_handle 
-        = dfs_child_handles[canonical_dfs_child[previous_vertex]];
-      
-      for(face_itr = x_lower_itr; *face_itr != y; ++face_itr)
-        {
-          vertex_t current_vertex(*face_itr);
-          lower_face_vertex[current_vertex] = true;
-
-          typename face_handle_list_t::iterator roots_itr, roots_end;
-
-          if (w == graph_traits<Graph>::null_vertex()) //haven't found a w yet
-            {
-              roots_end = pertinent_roots[current_vertex]->end();
-              for(roots_itr = pertinent_roots[current_vertex]->begin(); 
-                  roots_itr != roots_end; ++roots_itr
-                  )
-                {
-                  if (low_point[canonical_dfs_child[roots_itr->first_vertex()]]
-                      < dfs_number[v]
-                      )
-                    {
-                      w = current_vertex;
-                      w_handle = *roots_itr;
-                      break;
-                    }
-                }
-            }
-
-        }
-
-      for(; face_itr != face_end; ++face_itr)
-        {
-          vertex_t current_vertex(*face_itr);
-          upper_face_vertex[current_vertex] = true;
-          bicomp_root = current_vertex;
-        }
-
-      typedef typename face_edge_iterator<>::type walkup_itr_t;
-
-      std::vector<bool> outer_face_edge_vector(num_edges(g), false);
-      edge_to_bool_map_t outer_face_edge(outer_face_edge_vector.begin(), em);
-
-      walkup_itr_t walkup_end;
-      for(walkup_itr_t walkup_itr(x, face_handles, first_side()); 
-          walkup_itr != walkup_end; ++walkup_itr
-          )
-        {
-          outer_face_edge[*walkup_itr] = true;
-          is_in_subgraph[*walkup_itr] = true;
-        }
-
-      for(walkup_itr_t walkup_itr(x, face_handles, second_side()); 
-          walkup_itr != walkup_end; ++walkup_itr
-          )
-        {
-          outer_face_edge[*walkup_itr] = true;
-          is_in_subgraph[*walkup_itr] = true;
-        }
-
-      std::vector<bool> forbidden_edge_vector(num_edges(g), false);
-      edge_to_bool_map_t forbidden_edge(forbidden_edge_vector.begin(), em);
-
-      std::vector<bool> goal_edge_vector(num_edges(g), false);
-      edge_to_bool_map_t goal_edge(goal_edge_vector.begin(), em);
-
-
-      //Find external path to x and to y
-
-      for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-        {
-          edge_t e(*ei);
-          goal_edge[e] 
-            = !outer_face_edge[e] && (source(e,g) == x || target(e,g) == x);
-          forbidden_edge[*ei] = outer_face_edge[*ei];
-        }
-
-      vertex_t x_ancestor = v;
-      vertex_t x_endpoint = graph_traits<Graph>::null_vertex();
-      
-      while(x_endpoint == graph_traits<Graph>::null_vertex())
-        { 
-          x_ancestor = dfs_parent[x_ancestor];
-          x_endpoint = kuratowski_walkup(x_ancestor, 
-                                         forbidden_edge, 
-                                         goal_edge,
-                                         is_embedded,
-                                         x_external_path
-                                         );
-          
-        }            
-
-
-      for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-        {
-          edge_t e(*ei);
-          goal_edge[e] 
-            = !outer_face_edge[e] && (source(e,g) == y || target(e,g) == y);
-          forbidden_edge[*ei] = outer_face_edge[*ei];
-        }
-
-      vertex_t y_ancestor = v;
-      vertex_t y_endpoint = graph_traits<Graph>::null_vertex();
-      
-      while(y_endpoint == graph_traits<Graph>::null_vertex())
-        { 
-          y_ancestor = dfs_parent[y_ancestor];
-          y_endpoint = kuratowski_walkup(y_ancestor, 
-                                         forbidden_edge, 
-                                         goal_edge,
-                                         is_embedded,
-                                         y_external_path
-                                         );
-          
-        }            
-      
-
-      vertex_t parent, child;
-      
-      //If v isn't on the same bicomp as x and y, it's a case A
-      if (bicomp_root != v)
-        {
-          chosen_case = detail::BM_CASE_A;
-
-          for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-            if (lower_face_vertex[*vi])
-              for(boost::tie(oei,oei_end) = out_edges(*vi,g); oei != oei_end; ++oei)
-                if(!outer_face_edge[*oei])
-                  goal_edge[*oei] = true;
-          
-          for(boost::tie(ei,ei_end) = edges(g); ei != ei_end; ++ei)
-            forbidden_edge[*ei] = outer_face_edge[*ei];
-          
-          z = kuratowski_walkup
-            (v, forbidden_edge, goal_edge, is_embedded, z_v_path);
-          
-        }
-      else if (w != graph_traits<Graph>::null_vertex())
-        {
-          chosen_case = detail::BM_CASE_B;
-
-          for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-            {
-              edge_t e(*ei);
-              goal_edge[e] = false;
-              forbidden_edge[e] = outer_face_edge[e];
-            }
-          
-          goal_edge[w_handle.first_edge()] = true;
-          goal_edge[w_handle.second_edge()] = true;
-
-          z = kuratowski_walkup(v,
-                                forbidden_edge, 
-                                goal_edge,
-                                is_embedded,
-                                z_v_path
-                                );
-              
-
-          for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-            {
-              forbidden_edge[*ei] = outer_face_edge[*ei];
-            }
-
-          typename std::vector<edge_t>::iterator pi, pi_end;
-          pi_end = z_v_path.end();
-          for(pi = z_v_path.begin(); pi != pi_end; ++pi)
-            {
-              goal_edge[*pi] = true;
-            }
-          
-          w_ancestor = v;
-          vertex_t w_endpoint = graph_traits<Graph>::null_vertex();
-          
-          while(w_endpoint == graph_traits<Graph>::null_vertex())
-            { 
-              w_ancestor = dfs_parent[w_ancestor];
-              w_endpoint = kuratowski_walkup(w_ancestor, 
-                                             forbidden_edge, 
-                                             goal_edge,
-                                             is_embedded,
-                                             w_path
-                                             );
-              
-            }            
-          
-          // We really want both the w walkup and the z walkup to finish on 
-          // exactly the same edge, but for convenience (since we don't have 
-          // control over which side of a bicomp a walkup moves up) we've 
-          // defined the walkup to either end at w_handle.first_edge() or 
-          // w_handle.second_edge(). If both walkups ended at different edges, 
-          // we'll do a little surgery on the w walkup path to make it follow 
-          // the other side of the final bicomp.
-
-          if ((w_path.back() == w_handle.first_edge() && 
-               z_v_path.back() == w_handle.second_edge()) 
-              ||
-              (w_path.back() == w_handle.second_edge() && 
-               z_v_path.back() == w_handle.first_edge())
-              )
-            {
-              walkup_itr_t wi, wi_end;
-              edge_t final_edge = w_path.back();
-              vertex_t anchor 
-                = source(final_edge, g) == w_handle.get_anchor() ? 
-                target(final_edge, g) : source(final_edge, g);
-              if (face_handles[anchor].first_edge() == final_edge)
-                wi = walkup_itr_t(anchor, face_handles, second_side());
-              else
-                wi = walkup_itr_t(anchor, face_handles, first_side());
-
-              w_path.pop_back();
-
-              for(; wi != wi_end; ++wi)
-                {
-                  edge_t e(*wi);
-                  if (w_path.back() == e)
-                    w_path.pop_back();
-                  else
-                    w_path.push_back(e);
-                }
-            }
-
-          
-        }
-      else 
-        {
-
-          //We need to find a valid z, since the x-y path re-defines the lower
-          //face, and the z we found earlier may now be on the upper face.
-
-          chosen_case = detail::BM_CASE_E;
-
-
-          // The z we've used so far is just an externally active vertex on the
-          // lower face path, but may not be the z we need for a case C, D, or
-          // E subgraph. the z we need now is any externally active vertex on 
-          // the lower face path with both old_face_handles edges on the outer
-          // face. Since we know an x-y path exists, such a z must also exist.
-
-          //TODO: find this z in the first place.
-
-          //find the new z
-
-          for(face_itr = x_lower_itr; *face_itr != y; ++face_itr)
-            {
-              vertex_t possible_z(*face_itr);
-              if (pertinent(possible_z,v) && 
-                  outer_face_edge[face_handles[possible_z].old_first_edge()] &&
-                  outer_face_edge[face_handles[possible_z].old_second_edge()]
-                  )
-                {
-                  z = possible_z;
-                  break;
-                }
-            }
-
-          //find x-y path, and a w if one exists.
-
-          if (externally_active(z,v))
-            w = z;
-          
-
-          typedef typename face_edge_iterator
-            <single_side, previous_iteration>::type old_face_iterator_t; 
-
-          old_face_iterator_t 
-            first_old_face_itr(z, face_handles, first_side());
-          old_face_iterator_t 
-            second_old_face_itr(z, face_handles, second_side());
-          old_face_iterator_t old_face_itr, old_face_end;
-
-          std::vector<old_face_iterator_t> old_face_iterators;
-          old_face_iterators.push_back(first_old_face_itr);
-          old_face_iterators.push_back(second_old_face_itr);
-
-          std::vector<bool> x_y_path_vertex_vector(num_vertices(g), false);
-          vertex_to_bool_map_t x_y_path_vertex
-            (x_y_path_vertex_vector.begin(), vm);
-
-          typename std::vector<old_face_iterator_t>::iterator 
-            of_itr, of_itr_end;
-          of_itr_end = old_face_iterators.end(); 
-          for(of_itr = old_face_iterators.begin(); 
-              of_itr != of_itr_end; ++of_itr
-              )
-            {
-
-              old_face_itr = *of_itr;
-
-              vertex_t previous_vertex;
-              bool seen_x_or_y = false;
-              vertex_t current_vertex = z;
-              for(; old_face_itr != old_face_end; ++old_face_itr)
-                {
-                  edge_t e(*old_face_itr);
-                  previous_vertex = current_vertex;
-                  current_vertex = source(e,g) == current_vertex ? 
-                    target(e,g) : source(e,g);
-                  
-                  if (current_vertex == x || current_vertex == y)
-                    seen_x_or_y = true;
-
-                  if (w == graph_traits<Graph>::null_vertex() && 
-                      externally_active(current_vertex,v) &&
-                      outer_face_edge[e] &&
-                      outer_face_edge[*boost::next(old_face_itr)] &&
-                      !seen_x_or_y
-                      )
-                    {
-                      w = current_vertex;
-                    }
-                  
-                  if (!outer_face_edge[e])
-                    {
-                      if (!upper_face_vertex[current_vertex] && 
-                          !lower_face_vertex[current_vertex]
-                          )
-                        {
-                          x_y_path_vertex[current_vertex] = true;
-                        }
-
-                      is_in_subgraph[e] = true;
-                      if (upper_face_vertex[source(e,g)] || 
-                          lower_face_vertex[source(e,g)]
-                          )
-                        {
-                          if (first_x_y_path_endpoint == 
-                              graph_traits<Graph>::null_vertex()
-                              )
-                            first_x_y_path_endpoint = source(e,g);
-                          else
-                            second_x_y_path_endpoint = source(e,g);
-                        }
-                      if (upper_face_vertex[target(e,g)] || 
-                          lower_face_vertex[target(e,g)]
-                          )
-                        {
-                          if (first_x_y_path_endpoint == 
-                              graph_traits<Graph>::null_vertex()
-                              )
-                            first_x_y_path_endpoint = target(e,g);
-                          else
-                            second_x_y_path_endpoint = target(e,g);
-                        }
-
-
-                    }
-                  else if (previous_vertex == x || previous_vertex == y)
-                    {
-                      chosen_case = detail::BM_CASE_C;
-                    }
-              
-                }
-
-            }
-
-          // Look for a case D - one of v's embedded edges will connect to the 
-          // x-y path along an inner face path.
-
-          //First, get a list of all of v's embedded child edges
-
-          out_edge_iterator_t v_edge_itr, v_edge_end;
-          for(boost::tie(v_edge_itr,v_edge_end) = out_edges(v,g); 
-              v_edge_itr != v_edge_end; ++v_edge_itr
-              )
-            {
-              edge_t embedded_edge(*v_edge_itr);
-             
-              if (!is_embedded[embedded_edge] || 
-                  embedded_edge == dfs_parent_edge[v]
-                  )
-                continue;
-
-              case_d_edges.push_back(embedded_edge);
-
-              vertex_t current_vertex 
-                = source(embedded_edge,g) == v ? 
-                target(embedded_edge,g) : source(embedded_edge,g);
-
-              typename face_edge_iterator<>::type 
-                internal_face_itr, internal_face_end;
-              if (face_handles[current_vertex].first_vertex() == v)
-                {
-                  internal_face_itr = typename face_edge_iterator<>::type
-                    (current_vertex, face_handles, second_side());
-                }
-              else
-                {
-                  internal_face_itr = typename face_edge_iterator<>::type
-                    (current_vertex, face_handles, first_side());
-                }
-
-              while(internal_face_itr != internal_face_end &&
-                    !outer_face_edge[*internal_face_itr] && 
-                    !x_y_path_vertex[current_vertex]
-                    )
-                {
-                  edge_t e(*internal_face_itr);
-                  case_d_edges.push_back(e);
-                  current_vertex = 
-                    source(e,g) == current_vertex ? target(e,g) : source(e,g);
-                  ++internal_face_itr;
-                }
-
-              if (x_y_path_vertex[current_vertex])
-                {
-                  chosen_case = detail::BM_CASE_D;
-                  break;
-                }
-              else
-                {
-                  case_d_edges.clear();
-                }
-
-            }
-          
-
-        }
-
-
-
-
-      if (chosen_case != detail::BM_CASE_B && chosen_case != detail::BM_CASE_A)
-        {
-
-          //Finding z and w.
-
-          for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-            {
-              edge_t e(*ei);
-              goal_edge[e] = !outer_face_edge[e] && 
-                (source(e,g) == z || target(e,g) == z);
-              forbidden_edge[e] = outer_face_edge[e];
-            }
-
-          kuratowski_walkup(v,
-                            forbidden_edge, 
-                            goal_edge,
-                            is_embedded,
-                            z_v_path
-                            );
-              
-          if (chosen_case == detail::BM_CASE_E)
-            {
-
-              for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-                {
-                  forbidden_edge[*ei] = outer_face_edge[*ei];
-                  goal_edge[*ei] = !outer_face_edge[*ei] && 
-                    (source(*ei,g) == w || target(*ei,g) == w);
-                }
-
-              for(boost::tie(oei, oei_end) = out_edges(w,g); oei != oei_end; ++oei)
-                {
-                  if (!outer_face_edge[*oei])
-                    goal_edge[*oei] = true;
-                }
-
-              typename std::vector<edge_t>::iterator pi, pi_end;
-              pi_end = z_v_path.end();
-              for(pi = z_v_path.begin(); pi != pi_end; ++pi)
-                {
-                  goal_edge[*pi] = true;
-                }
-          
-              w_ancestor = v;
-              vertex_t w_endpoint = graph_traits<Graph>::null_vertex();
-          
-              while(w_endpoint == graph_traits<Graph>::null_vertex())
-                { 
-                  w_ancestor = dfs_parent[w_ancestor];
-                  w_endpoint = kuratowski_walkup(w_ancestor, 
-                                                 forbidden_edge, 
-                                                 goal_edge,
-                                                 is_embedded,
-                                                 w_path
-                                                 );
-                  
-                }            
- 
-            }
-
-
-        }
-
-
-      //We're done isolating the Kuratowski subgraph at this point -
-      //but there's still some cleaning up to do.
-
-      //Update is_in_subgraph with the paths we just found
-
-      xi_end = x_external_path.end();
-      for(xi = x_external_path.begin(); xi != xi_end; ++xi)
-        is_in_subgraph[*xi] = true;
-
-      xi_end = y_external_path.end();
-      for(xi = y_external_path.begin(); xi != xi_end; ++xi)
-        is_in_subgraph[*xi] = true;
-
-      xi_end = z_v_path.end();
-      for(xi = z_v_path.begin(); xi != xi_end; ++xi)
-        is_in_subgraph[*xi] = true;
-
-      xi_end = case_d_edges.end();
-      for(xi = case_d_edges.begin(); xi != xi_end; ++xi)
-        is_in_subgraph[*xi] = true;
-
-      xi_end = w_path.end();
-      for(xi = w_path.begin(); xi != xi_end; ++xi)
-        is_in_subgraph[*xi] = true;
-      
-      child = bicomp_root;
-      parent = dfs_parent[child];
-      while(child != parent)
-        {
-          is_in_subgraph[dfs_parent_edge[child]] = true;
-          boost::tie(parent, child) = std::make_pair( dfs_parent[parent], parent );
-        }
-
-
-
-
-      // At this point, we've already isolated the Kuratowski subgraph and 
-      // collected all of the edges that compose it in the is_in_subgraph 
-      // property map. But we want the verification of such a subgraph to be 
-      // a deterministic process, and we can simplify the function 
-      // is_kuratowski_subgraph by cleaning up some edges here.
-
-      if (chosen_case == detail::BM_CASE_B)
-        {
-          is_in_subgraph[dfs_parent_edge[v]] = false;
-        }
-      else if (chosen_case == detail::BM_CASE_C)
-        {
-          // In a case C subgraph, at least one of the x-y path endpoints
-          // (call it alpha) is above either x or y on the outer face. The
-          // other endpoint may be attached at x or y OR above OR below. In
-          // any of these three cases, we can form a K_3_3 by removing the 
-          // edge attached to v on the outer face that is NOT on the path to 
-          // alpha.
-
-          typename face_vertex_iterator<single_side, follow_visitor>::type 
-            face_itr, face_end;
-          if (face_handles[v_dfchild_handle.first_vertex()].first_edge() == 
-              v_dfchild_handle.first_edge()
-              )
-            {
-              face_itr = typename face_vertex_iterator
-                <single_side, follow_visitor>::type
-                (v_dfchild_handle.first_vertex(), face_handles, second_side());
-            }
-          else
-            {
-              face_itr = typename face_vertex_iterator
-                <single_side, follow_visitor>::type
-                (v_dfchild_handle.first_vertex(), face_handles, first_side());
-            }
-
-          for(; true; ++face_itr)
-            {
-              vertex_t current_vertex(*face_itr);
-              if (current_vertex == x || current_vertex == y)
-                {
-                  is_in_subgraph[v_dfchild_handle.first_edge()] = false;
-                  break;
-                }
-              else if (current_vertex == first_x_y_path_endpoint ||
-                       current_vertex == second_x_y_path_endpoint)
-                {
-                  is_in_subgraph[v_dfchild_handle.second_edge()] = false;
-                  break;
-                }
-            }
-          
-        }
-      else if (chosen_case == detail::BM_CASE_D)
-        {
-          // Need to remove both of the edges adjacent to v on the outer face.
-          // remove the connecting edges from v to bicomp, then
-          // is_kuratowski_subgraph will shrink vertices of degree 1 
-          // automatically...
-
-          is_in_subgraph[v_dfchild_handle.first_edge()] = false;
-          is_in_subgraph[v_dfchild_handle.second_edge()] = false;
-
-        }
-      else if (chosen_case == detail::BM_CASE_E)
-        {
-          // Similarly to case C, if the endpoints of the x-y path are both 
-          // below x and y, we should remove an edge to allow the subgraph to 
-          // contract to a K_3_3.
-
-
-          if ((first_x_y_path_endpoint != x && first_x_y_path_endpoint != y) ||
-              (second_x_y_path_endpoint != x && second_x_y_path_endpoint != y)
-              )
-            {
-              is_in_subgraph[dfs_parent_edge[v]] = false;              
-
-              vertex_t deletion_endpoint, other_endpoint;
-              if (lower_face_vertex[first_x_y_path_endpoint])
-                {
-                  deletion_endpoint = second_x_y_path_endpoint;
-                  other_endpoint = first_x_y_path_endpoint;
-                }
-              else
-                {                
-                  deletion_endpoint = first_x_y_path_endpoint;
-                  other_endpoint = second_x_y_path_endpoint;
-                }
-
-              typename face_edge_iterator<>::type face_itr, face_end;
-              
-              bool found_other_endpoint = false;
-              for(face_itr = typename face_edge_iterator<>::type
-                    (deletion_endpoint, face_handles, first_side());
-                  face_itr != face_end; ++face_itr
-                  )
-                {
-                  edge_t e(*face_itr);
-                  if (source(e,g) == other_endpoint || 
-                      target(e,g) == other_endpoint
-                      )
-                    {
-                      found_other_endpoint = true;
-                      break;
-                    }
-                }
-
-              if (found_other_endpoint)
-                {
-                  is_in_subgraph[face_handles[deletion_endpoint].first_edge()] 
-                    = false;
-                }
-              else
-                {
-                  is_in_subgraph[face_handles[deletion_endpoint].second_edge()]
-                    = false;
-                }
-            }
-          
-        }
-
-
-      for(boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-        if (is_in_subgraph[*ei])
-          *o_itr = *ei;
-      
-    }
-
-
-
-    template<typename EdgePermutation>
-    void make_edge_permutation(EdgePermutation perm)
-    {
-      vertex_iterator_t vi, vi_end;
-      for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-        {
-          vertex_t v(*vi);
-          perm[v].clear();
-          face_handles[v].get_list(std::back_inserter(perm[v]));
-        }
-    }
-
-
-  private:
-
-    const Graph& g;
-    VertexIndexMap vm;
-
-    vertex_t kuratowski_v;
-    vertex_t kuratowski_x;
-    vertex_t kuratowski_y;
-    
-    vertex_list_t garbage; // we delete items from linked lists by 
-                           // splicing them into garbage
-
-    //only need these two for kuratowski subgraph isolation
-    std::vector<vertex_t> current_merge_points;
-    std::vector<edge_t> embedded_edges;
-    
-    //property map storage
-    std::vector<v_size_t> low_point_vector;
-    std::vector<vertex_t> dfs_parent_vector;
-    std::vector<v_size_t> dfs_number_vector;
-    std::vector<v_size_t> least_ancestor_vector;
-    std::vector<face_handle_list_ptr_t> pertinent_roots_vector;
-    std::vector<v_size_t> backedge_flag_vector;
-    std::vector<v_size_t> visited_vector;
-    std::vector< face_handle_t > face_handles_vector;
-    std::vector< face_handle_t > dfs_child_handles_vector;
-    std::vector< vertex_list_ptr_t > separated_dfs_child_list_vector;
-    std::vector< typename vertex_list_t::iterator > 
-        separated_node_in_parent_list_vector;
-    std::vector<vertex_t> canonical_dfs_child_vector;
-    std::vector<bool> flipped_vector;
-    std::vector<edge_vector_t> backedges_vector;
-    edge_vector_t self_loops;
-    std::vector<edge_t> dfs_parent_edge_vector;
-    vertex_vector_t vertices_by_dfs_num;
-
-    //property maps
-    vertex_to_v_size_map_t low_point;
-    vertex_to_vertex_map_t dfs_parent;
-    vertex_to_v_size_map_t dfs_number;
-    vertex_to_v_size_map_t least_ancestor;
-    vertex_to_face_handle_list_ptr_map_t pertinent_roots;
-    vertex_to_v_size_map_t backedge_flag;
-    vertex_to_v_size_map_t visited;
-    vertex_to_face_handle_map_t face_handles;         
-    vertex_to_face_handle_map_t dfs_child_handles;
-    vertex_to_vertex_list_ptr_map_t separated_dfs_child_list;
-    vertex_to_separated_node_map_t separated_node_in_parent_list;
-    vertex_to_vertex_map_t canonical_dfs_child;      
-    vertex_to_bool_map_t flipped;
-    vertex_to_edge_vector_map_t backedges;
-    vertex_to_edge_map_t dfs_parent_edge; //only need for kuratowski
-
-    merge_stack_t merge_stack;
-    
-  };
-  
-      
-} //namespace boost
-
-#endif //__BOYER_MYRVOLD_IMPL_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/bucket_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/bucket_sort.hpp
deleted file mode 100644
index 4ec95d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/bucket_sort.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-//=======================================================================
-// Copyright 2007 Aaron Windsor
-//
-// Distributed under the 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 __BUCKET_SORT_HPP__
-#define __BUCKET_SORT_HPP__
-
-#include <vector>
-#include <algorithm>
-#include <boost/property_map/property_map.hpp>
-
-
-
-namespace boost
-{
-
-
-  template <typename ItemToRankMap>
-  struct rank_comparison
-  {
-    rank_comparison(ItemToRankMap arg_itrm) : itrm(arg_itrm) {}
-
-    template <typename Item>
-    bool operator() (Item x, Item y) const
-    {
-      return get(itrm, x) < get(itrm, y);
-    }
-    
-  private:
-    ItemToRankMap itrm;
-
-  };
-
-
-  template <typename TupleType, 
-            int N, 
-            typename PropertyMapWrapper = identity_property_map>
-  struct property_map_tuple_adaptor :
-    public put_get_helper< typename PropertyMapWrapper::value_type,
-                           property_map_tuple_adaptor
-                             <TupleType, N, PropertyMapWrapper>
-                           >
-  {
-    typedef typename PropertyMapWrapper::reference reference;
-    typedef typename PropertyMapWrapper::value_type value_type;
-    typedef TupleType key_type;
-    typedef readable_property_map_tag category;
-
-    property_map_tuple_adaptor() {}
-    
-    property_map_tuple_adaptor(PropertyMapWrapper wrapper_map) :
-      m_wrapper_map(wrapper_map)
-    {}
-
-    inline value_type operator[](const key_type& x) const
-    {
-      return get(m_wrapper_map, get<n>(x));
-    }
-
-    static const int n = N;
-    PropertyMapWrapper m_wrapper_map;
-
-  };
-
-
-
-
-  // This function sorts a sequence of n items by their ranks in linear time,
-  // given that all ranks are in the range [0, range). This sort is stable.
-  template <typename ForwardIterator, 
-            typename ItemToRankMap, 
-            typename SizeType>
-  void bucket_sort(ForwardIterator begin, 
-                   ForwardIterator end, 
-                   ItemToRankMap rank,
-                   SizeType range = 0)  
-  {
-#ifdef BOOST_GRAPH_PREFER_STD_LIB
-    std::stable_sort(begin, end, rank_comparison<ItemToRankMap>(rank));
-#else
-    typedef std::vector
-      < typename boost::property_traits<ItemToRankMap>::key_type >
-      vector_of_values_t;
-    typedef std::vector< vector_of_values_t > vector_of_vectors_t;
-
-    if (!range)
-      {
-        rank_comparison<ItemToRankMap> cmp(rank);
-        ForwardIterator max_by_rank = std::max_element(begin, end, cmp);
-        if (max_by_rank == end)
-          return;
-        range = get(rank, *max_by_rank) + 1;
-      }
-
-    vector_of_vectors_t temp_values(range);
-
-    for(ForwardIterator itr = begin; itr != end; ++itr)
-      {
-        temp_values[get(rank, *itr)].push_back(*itr);
-      }
-
-    ForwardIterator orig_seq_itr = begin;
-    typename vector_of_vectors_t::iterator itr_end = temp_values.end();
-    for(typename vector_of_vectors_t::iterator itr = temp_values.begin(); 
-        itr != itr_end; ++itr
-        )
-      {
-        typename vector_of_values_t::iterator jtr_end = itr->end();
-        for(typename vector_of_values_t::iterator jtr = itr->begin(); 
-            jtr != jtr_end; ++jtr
-            )
-        {
-          *orig_seq_itr = *jtr;
-          ++orig_seq_itr;
-        }
-      }
-#endif
-  }
-
-  
-  template <typename ForwardIterator, typename ItemToRankMap>
-  void bucket_sort(ForwardIterator begin, 
-                   ForwardIterator end, 
-                   ItemToRankMap rank)  
-  {
-    bucket_sort(begin, end, rank, 0);
-  }
-
-  template <typename ForwardIterator>
-  void bucket_sort(ForwardIterator begin, 
-                   ForwardIterator end 
-                   )  
-  {
-    bucket_sort(begin, end, identity_property_map());
-  }
-  
-
-} //namespace boost
-
-
-#endif //__BUCKET_SORT_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/face_handles.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/face_handles.hpp
deleted file mode 100644
index 4e28d4a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/face_handles.hpp
+++ /dev/null
@@ -1,497 +0,0 @@
-//=======================================================================
-// Copyright (c) Aaron Windsor 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)
-//=======================================================================
-
-#ifndef __FACE_HANDLES_HPP__
-#define __FACE_HANDLES_HPP__
-
-
-#include <list>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/shared_ptr.hpp>
-
-
-// A "face handle" is an optimization meant to serve two purposes in
-// the implementation of the Boyer-Myrvold planarity test: (1) it holds
-// the partial planar embedding of a particular vertex as it's being
-// constructed, and (2) it allows for efficient traversal around the
-// outer face of the partial embedding at that particular vertex. A face
-// handle is lightweight, just a shared pointer to the actual implementation,
-// since it is passed around/copied liberally in the algorithm. It consists
-// of an "anchor" (the actual vertex it's associated with) as well as a
-// sequence of edges. The functions first_vertex/second_vertex and
-// first_edge/second_edge allow fast access to the beginning and end of the
-// stored sequence, which allows one to traverse the outer face of the partial
-// planar embedding as it's being created. 
-//
-// There are some policies below that define the contents of the face handles:
-// in the case no embedding is needed (for example, if one just wants to use
-// the Boyer-Myrvold algorithm as a true/false test for planarity, the
-// no_embedding class can be passed as the StoreEmbedding policy. Otherwise,
-// either std_list (which uses as std::list) or recursive_lazy_list can be
-// passed as this policy. recursive_lazy_list has the best theoretical
-// performance (O(n) for a sequence of interleaved concatenations and reversals
-// of the underlying list), but I've noticed little difference between std_list
-// and recursive_lazy_list in my tests, even though using std_list changes
-// the worst-case complexity of the planarity test to O(n^2)
-//
-// Another policy is StoreOldHandlesPolicy, which specifies whether or not
-// to keep a record of the previous first/second vertex/edge - this is needed
-// if a Kuratowski subgraph needs to be isolated.
-
-
-namespace boost { namespace graph { namespace detail {
-
-
-  //face handle policies
-  
-  //EmbeddingStorage policy
-  struct store_embedding {};
-  struct recursive_lazy_list : public store_embedding {};
-  struct std_list : public store_embedding {};
-  struct no_embedding {};
-
-  //StoreOldHandlesPolicy
-  struct store_old_handles {};
-  struct no_old_handles {};
-
-
-
-
-  template<typename DataType>
-  struct lazy_list_node
-  {
-    typedef shared_ptr< lazy_list_node<DataType> > ptr_t;
-
-    lazy_list_node(const DataType& data) :
-      m_reversed(false),
-      m_data(data),
-      m_has_data(true)
-    {}
-    
-    lazy_list_node(ptr_t left_child, ptr_t right_child) :
-      m_reversed(false),
-      m_has_data(false),
-      m_left_child(left_child),
-      m_right_child(right_child)
-    {}
-
-    bool m_reversed;
-    DataType m_data;
-    bool m_has_data;
-    shared_ptr<lazy_list_node> m_left_child;
-    shared_ptr<lazy_list_node> m_right_child;
-  };
-  
-
-
-  template <typename StoreOldHandlesPolicy, typename Vertex, typename Edge>
-  struct old_handles_storage;
-
-  template <typename Vertex, typename Edge>
-  struct old_handles_storage<store_old_handles, Vertex, Edge>
-  {
-    Vertex first_vertex;
-    Vertex second_vertex;
-    Edge first_edge;
-    Edge second_edge;
-  };
-
-  template <typename Vertex, typename Edge>
-  struct old_handles_storage<no_old_handles, Vertex, Edge>
-  {};
-
-
-
-
-
-
-  template <typename StoreEmbeddingPolicy, typename Edge>
-  struct edge_list_storage;
-
-
-
-
-
-  template <typename Edge>
-  struct edge_list_storage<no_embedding, Edge>
-  {
-    typedef void type;
-
-    void push_back(Edge) {}
-    void push_front(Edge) {}
-    void reverse() {}
-    void concat_front(edge_list_storage<no_embedding,Edge>) {}
-    void concat_back(edge_list_storage<no_embedding,Edge>) {}
-    template <typename OutputIterator>
-    void get_list(OutputIterator) {}
-  };
-
-
-
-
-
-  template <typename Edge>
-  struct edge_list_storage<recursive_lazy_list, Edge>
-  {
-    typedef lazy_list_node<Edge> node_type;
-    typedef shared_ptr< node_type > type;
-    type value;
-
-    void push_back(Edge e)
-    {
-      type new_node(new node_type(e));
-      value = type(new node_type(value, new_node));
-    }
-
-    void push_front(Edge e)
-    {
-      type new_node(new node_type(e));
-      value = type(new node_type(new_node, value));
-    }
-
-    void reverse()
-    {
-      value->m_reversed = !value->m_reversed;
-    }
-
-    void concat_front(edge_list_storage<recursive_lazy_list, Edge> other)
-    {
-      value = type(new node_type(other.value, value));
-    }
-
-    void concat_back(edge_list_storage<recursive_lazy_list, Edge> other)
-    {
-      value = type(new node_type(value, other.value));
-    }
-
-    template <typename OutputIterator>
-    void get_list(OutputIterator out)
-    {
-      get_list_helper(out, value);
-    }
-
-  private:
-
-    template <typename OutputIterator>
-    void get_list_helper(OutputIterator o_itr, 
-                         type root,
-                         bool flipped = false
-                         )
-    {
-      if (!root)
-        return;
-      
-      if (root->m_has_data)
-        *o_itr = root->m_data;
-      
-      if ((flipped && !root->m_reversed) ||
-          (!flipped && root->m_reversed)
-          )
-        {
-          get_list_helper(o_itr, root->m_right_child, true);
-          get_list_helper(o_itr, root->m_left_child, true);
-        }
-      else
-        {
-          get_list_helper(o_itr, root->m_left_child, false);
-          get_list_helper(o_itr, root->m_right_child, false);
-        }
-      
-    }
-    
-  };
-
-
-
-
-
-  template <typename Edge>
-  struct edge_list_storage<std_list, Edge>
-  {
-    typedef std::list<Edge> type;
-    type value;
-
-    void push_back(Edge e)
-    {
-      value.push_back(e);
-    }
-
-    void push_front(Edge e)
-    {
-      value.push_front(e);
-    }
-
-    void reverse()
-    {
-      value.reverse();
-    }
-
-    void concat_front(edge_list_storage<std_list,Edge> other)
-    {
-      value.splice(value.begin(), other.value);
-    }
-
-    void concat_back(edge_list_storage<std_list, Edge> other)
-    {
-      value.splice(value.end(), other.value);
-    }
-
-    template <typename OutputIterator>
-    void get_list(OutputIterator out)
-    {
-      std::copy(value.begin(), value.end(), out);
-    }
-
-  };
-
-
-
-
-
-
-  
-  template<typename Graph, 
-           typename StoreOldHandlesPolicy, 
-           typename StoreEmbeddingPolicy           
-           >
-  struct face_handle_impl
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename edge_list_storage<StoreEmbeddingPolicy, edge_t>::type 
-      edge_list_storage_t;
-
-
-    face_handle_impl() : 
-      cached_first_vertex(graph_traits<Graph>::null_vertex()),
-      cached_second_vertex(graph_traits<Graph>::null_vertex()),
-      true_first_vertex(graph_traits<Graph>::null_vertex()),
-      true_second_vertex(graph_traits<Graph>::null_vertex()),
-      anchor(graph_traits<Graph>::null_vertex())
-    {
-      initialize_old_vertices_dispatch(StoreOldHandlesPolicy());
-    }
-
-    void initialize_old_vertices_dispatch(store_old_handles)
-    {
-      old_handles.first_vertex = graph_traits<Graph>::null_vertex();
-      old_handles.second_vertex = graph_traits<Graph>::null_vertex();
-    }
-
-    void initialize_old_vertices_dispatch(no_old_handles) {}
-
-    vertex_t cached_first_vertex;
-    vertex_t cached_second_vertex;
-    vertex_t true_first_vertex;
-    vertex_t true_second_vertex;
-    vertex_t anchor;
-    edge_t cached_first_edge;
-    edge_t cached_second_edge;
-
-    edge_list_storage<StoreEmbeddingPolicy, edge_t> edge_list;
-    old_handles_storage<StoreOldHandlesPolicy, vertex_t, edge_t> old_handles;
-
-  };
-
-
-
-
-
-
-
-
-
-
-
-  template <typename Graph, 
-            typename StoreOldHandlesPolicy = store_old_handles, 
-            typename StoreEmbeddingPolicy = recursive_lazy_list
-            >
-  class face_handle 
-  {
-  public:
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef face_handle_impl
-      <Graph, StoreOldHandlesPolicy, StoreEmbeddingPolicy> impl_t;
-    typedef face_handle
-      <Graph, StoreOldHandlesPolicy, StoreEmbeddingPolicy> self_t;
-
-    face_handle(vertex_t anchor = graph_traits<Graph>::null_vertex()) :
-      pimpl(new impl_t())
-    {
-      pimpl->anchor = anchor;
-    }
-
-    face_handle(vertex_t anchor, edge_t initial_edge, const Graph& g) :
-      pimpl(new impl_t())
-    {
-      vertex_t s(source(initial_edge,g));
-      vertex_t t(target(initial_edge,g));
-      vertex_t other_vertex = s == anchor ? t : s;
-      pimpl->anchor = anchor;
-      pimpl->cached_first_edge = initial_edge;
-      pimpl->cached_second_edge = initial_edge;
-      pimpl->cached_first_vertex = other_vertex;
-      pimpl->cached_second_vertex = other_vertex;
-      pimpl->true_first_vertex = other_vertex;
-      pimpl->true_second_vertex = other_vertex;
-
-      pimpl->edge_list.push_back(initial_edge);
-      store_old_face_handles_dispatch(StoreOldHandlesPolicy());
-    }
-
-    //default copy construction, assignment okay.
-    
-    void push_first(edge_t e, const Graph& g) 
-    { 
-      pimpl->edge_list.push_front(e);
-      pimpl->cached_first_vertex = pimpl->true_first_vertex = 
-        source(e, g) == pimpl->anchor ? target(e,g) : source(e,g);
-      pimpl->cached_first_edge = e;
-    }
-  
-    void push_second(edge_t e, const Graph& g) 
-    { 
-      pimpl->edge_list.push_back(e);
-      pimpl->cached_second_vertex = pimpl->true_second_vertex = 
-        source(e, g) == pimpl->anchor ? target(e,g) : source(e,g);
-      pimpl->cached_second_edge = e;
-    }
-
-    inline void store_old_face_handles()
-    {
-      store_old_face_handles_dispatch(StoreOldHandlesPolicy());
-    }
-
-    inline vertex_t first_vertex() const
-    { 
-      return pimpl->cached_first_vertex;
-    }
-    
-    inline vertex_t second_vertex() const 
-    { 
-      return pimpl->cached_second_vertex;
-    }
-
-    inline vertex_t true_first_vertex() const 
-    { 
-      return pimpl->true_first_vertex;
-    }
-
-    inline vertex_t true_second_vertex() const 
-    { 
-      return pimpl->true_second_vertex;
-    }
-
-    inline vertex_t old_first_vertex() const
-    {
-      return pimpl->old_handles.first_vertex;
-    }
-
-    inline vertex_t old_second_vertex() const
-    {
-      return pimpl->old_handles.second_vertex;
-    }
-
-    inline edge_t old_first_edge() const
-    {
-      return pimpl->old_handles.first_edge;
-    }
-
-    inline edge_t old_second_edge() const
-    {
-      return pimpl->old_handles.second_edge;
-    }
-
-    inline edge_t first_edge() const
-    {
-      return pimpl->cached_first_edge;
-    }
-  
-    inline edge_t second_edge() const
-    {
-      return pimpl->cached_second_edge;
-    }
-    
-    inline vertex_t get_anchor() const
-    {
-      return pimpl->anchor;
-    }
-  
-    void glue_first_to_second
-      (face_handle<Graph,StoreOldHandlesPolicy,StoreEmbeddingPolicy>& bottom)
-    {
-      pimpl->edge_list.concat_front(bottom.pimpl->edge_list);
-      pimpl->true_first_vertex = bottom.pimpl->true_first_vertex;
-      pimpl->cached_first_vertex = bottom.pimpl->cached_first_vertex;
-      pimpl->cached_first_edge = bottom.pimpl->cached_first_edge;
-    }
-    
-    void glue_second_to_first
-      (face_handle<Graph,StoreOldHandlesPolicy,StoreEmbeddingPolicy>& bottom)
-    {
-      pimpl->edge_list.concat_back(bottom.pimpl->edge_list);
-      pimpl->true_second_vertex = bottom.pimpl->true_second_vertex;
-      pimpl->cached_second_vertex = bottom.pimpl->cached_second_vertex;
-      pimpl->cached_second_edge = bottom.pimpl->cached_second_edge;
-    }
-  
-    void flip()
-    {
-      pimpl->edge_list.reverse();
-      std::swap(pimpl->true_first_vertex, pimpl->true_second_vertex);
-      std::swap(pimpl->cached_first_vertex, pimpl->cached_second_vertex);
-      std::swap(pimpl->cached_first_edge, pimpl->cached_second_edge);
-    }
-    
-    template <typename OutputIterator>
-    void get_list(OutputIterator o_itr)
-    {
-      pimpl->edge_list.get_list(o_itr);
-    }
-
-    void reset_vertex_cache()
-    {
-      pimpl->cached_first_vertex = pimpl->true_first_vertex;
-      pimpl->cached_second_vertex = pimpl->true_second_vertex;
-    }
-
-    inline void set_first_vertex(vertex_t v)
-    {
-      pimpl->cached_first_vertex = v;
-    }
-
-    inline void set_second_vertex(vertex_t v)
-    {
-      pimpl->cached_second_vertex = v;
-    }
-
-  private:
-
-    void store_old_face_handles_dispatch(store_old_handles)
-    {
-      pimpl->old_handles.first_vertex = pimpl->true_first_vertex;
-      pimpl->old_handles.second_vertex = pimpl->true_second_vertex;
-      pimpl->old_handles.first_edge = pimpl->cached_first_edge;
-      pimpl->old_handles.second_edge = pimpl->cached_second_edge;
-    }
-  
-    void store_old_face_handles_dispatch(no_old_handles) {}
-
-
-
-    boost::shared_ptr<impl_t> pimpl;
-
-  };
-
-
-} /* namespace detail */ } /* namespace graph */ } /* namespace boost */
-
-
-#endif //__FACE_HANDLES_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/face_iterators.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/face_iterators.hpp
deleted file mode 100644
index b5e7ab9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_detail/face_iterators.hpp
+++ /dev/null
@@ -1,375 +0,0 @@
-//=======================================================================
-// Copyright (c) Aaron Windsor 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)
-//=======================================================================
-
-#ifndef __FACE_ITERATORS_HPP__
-#define __FACE_ITERATORS_HPP__
-
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/graph/graph_traits.hpp>
-
-namespace boost 
-{
-
-  //tags for defining traversal properties
-
-  //VisitorType
-  struct lead_visitor {};
-  struct follow_visitor {};
-
-  //TraversalType
-  struct single_side {};
-  struct both_sides {};
-
-  //TraversalSubType
-  struct first_side {}; //for single_side
-  struct second_side {}; //for single_side
-  struct alternating {}; //for both_sides
-
-  //Time
-  struct current_iteration {};
-  struct previous_iteration {};
-
-  // Why TraversalType AND TraversalSubType? TraversalSubType is a function 
-  // template parameter passed in to the constructor of the face iterator, 
-  // whereas TraversalType is a class template parameter. This lets us decide 
-  // at runtime whether to move along the first or second side of a bicomp (by 
-  // assigning a face_iterator that has been constructed with TraversalSubType 
-  // = first_side or second_side to a face_iterator variable) without any of 
-  // the virtual function overhead that comes with implementing this 
-  // functionality as a more structured form of type erasure. It also allows 
-  // a single face_iterator to be the end iterator of two iterators traversing 
-  // both sides of a bicomp.
-
-  //ValueType is either graph_traits<Graph>::vertex_descriptor 
-  //or graph_traits<Graph>::edge_descriptor
-
-  
-  //forward declaration (defining defaults)
-  template <typename Graph,
-            typename FaceHandlesMap,
-            typename ValueType,
-            typename BicompSideToTraverse = single_side,
-            typename VisitorType = lead_visitor,
-            typename Time = current_iteration
-            >
-  class face_iterator;
-  
-
-
-  template <typename Graph, bool StoreEdge>
-  struct edge_storage
-  {};
-
-  template <typename Graph>
-  struct edge_storage <Graph, true>
-  {
-    typename graph_traits<Graph>::edge_descriptor value;
-  };
-
-
-
-
-  //specialization for TraversalType = traverse_vertices
-  template <typename Graph,
-            typename FaceHandlesMap,
-            typename ValueType,
-            typename TraversalType,
-            typename VisitorType,
-            typename Time
-            >
-
-  class face_iterator
-      : public boost::iterator_facade < face_iterator<Graph,
-                                                      FaceHandlesMap,
-                                                      ValueType,
-                                                      TraversalType,
-                                                      VisitorType,
-                                                      Time
-                                                      >,
-                                        ValueType,
-                                        boost::forward_traversal_tag,
-                                        ValueType 
-                                      >
-  {
-  public:
-
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef face_iterator 
-      <Graph,FaceHandlesMap,ValueType,TraversalType,VisitorType,Time> self;
-    typedef typename FaceHandlesMap::value_type face_handle_t;
-
-    face_iterator() : 
-      m_lead(graph_traits<Graph>::null_vertex()),
-      m_follow(graph_traits<Graph>::null_vertex())
-    {}
-
-    template <typename TraversalSubType>
-    face_iterator(face_handle_t anchor_handle, 
-                  FaceHandlesMap face_handles, 
-                  TraversalSubType traversal_type):
-      m_follow(anchor_handle.get_anchor()), 
-      m_face_handles(face_handles)
-    {
-      set_lead_dispatch(anchor_handle, traversal_type);
-    }
-
-    template <typename TraversalSubType>
-    face_iterator(vertex_t anchor, 
-                  FaceHandlesMap face_handles, 
-                  TraversalSubType traversal_type):
-      m_follow(anchor), 
-      m_face_handles(face_handles)
-    {
-      set_lead_dispatch(m_face_handles[anchor], traversal_type);
-    }
-
-  private:
-    
-    friend class boost::iterator_core_access;
-    
-
-
-
-    inline vertex_t get_first_vertex(face_handle_t anchor_handle, 
-                                     current_iteration
-                                     )
-    {
-      return anchor_handle.first_vertex();
-    }
-
-    inline vertex_t get_second_vertex(face_handle_t anchor_handle, 
-                                      current_iteration
-                                      )
-    {
-      return anchor_handle.second_vertex();
-    }
-
-    inline vertex_t get_first_vertex(face_handle_t anchor_handle, 
-                                     previous_iteration
-                                     )
-    {
-      return anchor_handle.old_first_vertex();
-    }
-
-    inline vertex_t get_second_vertex(face_handle_t anchor_handle, 
-                                      previous_iteration
-                                      )
-    {
-      return anchor_handle.old_second_vertex();
-    }
-
-
-
-
-
-    inline void set_lead_dispatch(face_handle_t anchor_handle, first_side)
-    {
-      m_lead = get_first_vertex(anchor_handle, Time());
-      set_edge_to_first_dispatch(anchor_handle, ValueType(), Time());
-    }
-    
-    inline void set_lead_dispatch(face_handle_t anchor_handle, second_side)
-    {
-      m_lead = get_second_vertex(anchor_handle, Time());
-      set_edge_to_second_dispatch(anchor_handle, ValueType(), Time());
-    }
-
-
-
-
-
-    inline void set_edge_to_first_dispatch(face_handle_t anchor_handle, 
-                                           edge_t, 
-                                           current_iteration
-                                           )
-    {
-      m_edge.value = anchor_handle.first_edge();
-    }
-
-    inline void set_edge_to_second_dispatch(face_handle_t anchor_handle, 
-                                            edge_t, 
-                                            current_iteration
-                                            )
-    {
-      m_edge.value = anchor_handle.second_edge();
-    }
-
-    inline void set_edge_to_first_dispatch(face_handle_t anchor_handle, 
-                                           edge_t, 
-                                           previous_iteration
-                                           )
-    {
-      m_edge.value = anchor_handle.old_first_edge();
-    }
-
-    inline void set_edge_to_second_dispatch(face_handle_t anchor_handle, 
-                                            edge_t, 
-                                            previous_iteration
-                                            )
-    {
-      m_edge.value = anchor_handle.old_second_edge();
-    }
-    
-    template<typename T>
-    inline void set_edge_to_first_dispatch(face_handle_t, vertex_t, T)
-    {}
-
-    template<typename T>
-    inline void set_edge_to_second_dispatch(face_handle_t, vertex_t, T)
-    {}
-
-    void increment()
-    {
-      face_handle_t curr_face_handle(m_face_handles[m_lead]);
-      vertex_t first = get_first_vertex(curr_face_handle, Time());
-      vertex_t second = get_second_vertex(curr_face_handle, Time());
-      if (first == m_follow)
-        {
-          m_follow = m_lead;
-          set_edge_to_second_dispatch(curr_face_handle, ValueType(), Time());
-          m_lead = second;
-        }
-      else if (second == m_follow)
-        {
-          m_follow = m_lead;
-          set_edge_to_first_dispatch(curr_face_handle, ValueType(), Time());
-          m_lead = first;
-        }
-      else
-        m_lead = m_follow = graph_traits<Graph>::null_vertex();
-    }
-    
-    bool equal(self const& other) const
-    {
-      return m_lead == other.m_lead && m_follow == other.m_follow;
-    }
-    
-    ValueType dereference() const 
-    { 
-      return dereference_dispatch(VisitorType(), ValueType());
-    }
-    
-    inline ValueType dereference_dispatch(lead_visitor, vertex_t) const 
-    { return m_lead; }
-    
-    inline ValueType dereference_dispatch(follow_visitor, vertex_t) const 
-    { return m_follow; }
-
-    inline ValueType dereference_dispatch(lead_visitor, edge_t) const 
-    { return m_edge.value; }
-
-    inline ValueType dereference_dispatch(follow_visitor, edge_t) const 
-    { return m_edge.value; }
-
-    vertex_t m_lead;
-    vertex_t m_follow;
-    edge_storage<Graph, boost::is_same<ValueType, edge_t>::value > m_edge;
-    FaceHandlesMap m_face_handles;
-  };
-  
-
-
-
-
-
-
-
-
-  template <typename Graph,
-            typename FaceHandlesMap,
-            typename ValueType,
-            typename VisitorType,
-            typename Time
-            >
-  class face_iterator 
-    <Graph, FaceHandlesMap, ValueType, both_sides, VisitorType, Time>
-    : public boost::iterator_facade< face_iterator<Graph,
-                                                   FaceHandlesMap,
-                                                   ValueType,
-                                                   both_sides,
-                                                   VisitorType,
-                                                   Time>,
-                                     ValueType,
-                                     boost::forward_traversal_tag,
-                                     ValueType >
-  {
-  public:
-
-    typedef face_iterator
-      <Graph,FaceHandlesMap,ValueType,both_sides,VisitorType,Time> self;
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename FaceHandlesMap::value_type face_handle_t;
-
-    face_iterator() {}
-
-    face_iterator(face_handle_t anchor_handle, FaceHandlesMap face_handles):
-      first_itr(anchor_handle, face_handles, first_side()),
-      second_itr(anchor_handle, face_handles, second_side()),
-      first_is_active(true),
-      first_increment(true)
-    {}
-
-    face_iterator(vertex_t anchor, FaceHandlesMap face_handles):
-      first_itr(face_handles[anchor], face_handles, first_side()),
-      second_itr(face_handles[anchor], face_handles, second_side()),
-      first_is_active(true),
-      first_increment(true)
-    {}
-    
-  private:
-    
-    friend class boost::iterator_core_access;
-
-    typedef face_iterator
-      <Graph, FaceHandlesMap, ValueType, single_side, follow_visitor, Time> 
-      inner_itr_t;
-    
-    void increment()
-    {
-      if (first_increment)
-        {
-          ++first_itr;
-          ++second_itr;
-          first_increment = false;
-        }
-      else if (first_is_active)
-        ++first_itr;
-      else
-        ++second_itr;
-      first_is_active = !first_is_active;
-    }
-    
-    bool equal(self const& other) const
-    {
-      //Want this iterator to be equal to the "end" iterator when at least
-      //one of the iterators has reached the root of the current bicomp.
-      //This isn't ideal, but it works.
-
-      return (first_itr == other.first_itr || second_itr == other.second_itr);
-    }
-    
-    ValueType dereference() const 
-    { 
-      return first_is_active ? *first_itr : *second_itr;
-    }
-
-    inner_itr_t first_itr;
-    inner_itr_t second_itr;
-    inner_itr_t face_end;
-    bool first_is_active;
-    bool first_increment;
-
-  };
-  
-  
-} /* namespace boost */
-
-
-#endif //__FACE_ITERATORS_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_face_traversal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_face_traversal.hpp
deleted file mode 100644
index 6befa43..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/planar_face_traversal.hpp
+++ /dev/null
@@ -1,213 +0,0 @@
-//=======================================================================
-// Copyright (c) Aaron Windsor 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)
-//=======================================================================
-
-#ifndef __PLANAR_FACE_TRAVERSAL_HPP__
-#define __PLANAR_FACE_TRAVERSAL_HPP__
-
-#include <vector>
-#include <set>
-#include <map>
-#include <boost/next_prior.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-
-
-namespace boost
-{
-
-
-
-
-  struct planar_face_traversal_visitor
-  {
-    void begin_traversal()
-    {}
-
-    void begin_face()
-    {}
-
-    template <typename Edge>
-    void next_edge(Edge)
-    {}
-
-    template <typename Vertex>
-    void next_vertex(Vertex)
-    {}
-
-    void end_face()
-    {}
-
-    void end_traversal()
-    {}
-
-  };
-
-
-
-
-
-  template<typename Graph, 
-           typename PlanarEmbedding, 
-           typename Visitor, 
-           typename EdgeIndexMap>
-  void planar_face_traversal(const Graph& g, 
-                             PlanarEmbedding embedding, 
-                             Visitor& visitor, EdgeIndexMap em
-                             )
-  {
-    typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
-    typedef typename graph_traits<Graph>::edge_descriptor edge_t;
-    typedef typename graph_traits<Graph>::vertex_iterator vertex_iterator_t;
-    typedef typename graph_traits<Graph>::edge_iterator edge_iterator_t;
-    typedef typename 
-      property_traits<PlanarEmbedding>::value_type embedding_value_t;
-    typedef typename embedding_value_t::const_iterator embedding_iterator_t;
-
-    typedef typename 
-      std::vector< std::set<vertex_t> > distinguished_edge_storage_t;
-    typedef typename 
-      std::vector< std::map<vertex_t, edge_t> > 
-      distinguished_edge_to_edge_storage_t;
-
-    typedef typename 
-      boost::iterator_property_map
-        <typename distinguished_edge_storage_t::iterator, EdgeIndexMap>
-      distinguished_edge_map_t;
-
-    typedef typename 
-      boost::iterator_property_map
-        <typename distinguished_edge_to_edge_storage_t::iterator, EdgeIndexMap>
-      distinguished_edge_to_edge_map_t;
-
-    distinguished_edge_storage_t visited_vector(num_edges(g));
-    distinguished_edge_to_edge_storage_t next_edge_vector(num_edges(g));
-
-    distinguished_edge_map_t visited(visited_vector.begin(), em);
-    distinguished_edge_to_edge_map_t next_edge(next_edge_vector.begin(), em);
-
-    vertex_iterator_t vi, vi_end;
-    typename std::vector<edge_t>::iterator ei, ei_end;
-    edge_iterator_t fi, fi_end;
-    embedding_iterator_t pi, pi_begin, pi_end;
-
-    visitor.begin_traversal();
-
-    // Initialize the next_edge property map. This map is initialized from the
-    // PlanarEmbedding so that get(next_edge, e)[v] is the edge that comes
-    // after e in the clockwise embedding around vertex v.
-
-    for(boost::tie(vi,vi_end) = vertices(g); vi != vi_end; ++vi)
-      {
-        vertex_t v(*vi);
-        pi_begin = embedding[v].begin();
-        pi_end = embedding[v].end();
-        for(pi = pi_begin; pi != pi_end; ++pi)
-          {
-            edge_t e(*pi);
-            std::map<vertex_t, edge_t> m = get(next_edge, e);
-            m[v] = boost::next(pi) == pi_end ? *pi_begin : *boost::next(pi);
-            put(next_edge, e, m);
-          } 
-      }
-
-    // Take a copy of the edges in the graph here, since we want to accomodate
-    // face traversals that add edges to the graph (for triangulation, in 
-    // particular) and don't want to use invalidated edge iterators.
-    // Also, while iterating over all edges in the graph, we single out
-    // any self-loops, which need some special treatment in the face traversal.
-
-    std::vector<edge_t> self_loops;
-    std::vector<edge_t> edges_cache;
-    std::vector<vertex_t> vertices_in_edge;
-
-    for(boost::tie(fi,fi_end) = edges(g); fi != fi_end; ++fi)
-      {
-        edge_t e(*fi);
-        edges_cache.push_back(e);
-        if (source(e,g) == target(e,g))
-          self_loops.push_back(e);
-      }
-
-
-    // Iterate over all edges in the graph
-    ei_end = edges_cache.end();
-    for(ei = edges_cache.begin(); ei != ei_end; ++ei)
-      {
-
-        edge_t e(*ei);
-        vertices_in_edge.clear();
-        vertices_in_edge.push_back(source(e,g));
-        vertices_in_edge.push_back(target(e,g));
-
-        typename std::vector<vertex_t>::iterator vi, vi_end;
-        vi_end = vertices_in_edge.end();
-        
-        //Iterate over both vertices in the current edge
-        for(vi = vertices_in_edge.begin(); vi != vi_end; ++vi)
-          {
-
-            vertex_t v(*vi);
-            std::set<vertex_t> e_visited = get(visited, e);
-            typename std::set<vertex_t>::iterator e_visited_found 
-              = e_visited.find(v);
-            
-            if (e_visited_found == e_visited.end())
-              visitor.begin_face();
-            
-            while (e_visited.find(v) == e_visited.end())
-              {
-                visitor.next_vertex(v);
-                visitor.next_edge(e);
-                e_visited.insert(v);
-                put(visited, e, e_visited);
-                v = source(e,g) == v ? target(e,g) : source(e,g);
-                e = get(next_edge, e)[v];
-                e_visited = get(visited, e);
-              }
-            
-            if (e_visited_found == e_visited.end())
-              visitor.end_face();
-            
-          }
-
-      }
-
-    // Iterate over all self-loops, visiting them once separately
-    // (they've already been visited once, this visitation is for
-    // the "inside" of the self-loop)
-    
-    ei_end = self_loops.end();
-    for(ei = self_loops.begin(); ei != ei_end; ++ei)
-      {
-        visitor.begin_face();
-        visitor.next_edge(*ei);
-        visitor.next_vertex(source(*ei,g));
-        visitor.end_face();
-      }
-
-    visitor.end_traversal();
-
-  }
-
-
-
-  template<typename Graph, typename PlanarEmbedding, typename Visitor>
-  inline void planar_face_traversal(const Graph& g, 
-                                    PlanarEmbedding embedding, 
-                                    Visitor& visitor
-                                    )
-  {
-    planar_face_traversal(g, embedding, visitor, get(edge_index, g));
-  }
-
-
-
-
-} //namespace boost
-
-#endif //__PLANAR_FACE_TRAVERSAL_HPP__
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/plod_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/plod_generator.hpp
deleted file mode 100644
index 4e557cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/plod_generator.hpp
+++ /dev/null
@@ -1,253 +0,0 @@
-// Copyright 2004-2006 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PLOD_GENERATOR_HPP
-#define BOOST_GRAPH_PLOD_GENERATOR_HPP
-
-#include <iterator>
-#include <utility>
-#include <boost/random/uniform_int.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <vector>
-#include <map>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-  template<typename RandomGenerator>
-  class out_directed_plod_iterator 
-  {
-  public:
-    typedef std::forward_iterator_tag            iterator_category;
-    typedef std::pair<std::size_t, std::size_t>  value_type;
-    typedef const value_type&                    reference;
-    typedef const value_type*                    pointer;
-    typedef std::ptrdiff_t                       difference_type;
-
-    out_directed_plod_iterator() : gen(0), at_end(true) { }
-
-    out_directed_plod_iterator(RandomGenerator& gen, std::size_t n,  
-                               double alpha, double beta, 
-                               bool allow_self_loops)
-      : gen(&gen), n(n), alpha(alpha), beta(beta), 
-        allow_self_loops(allow_self_loops), at_end(false), degree(0),
-        current(0, 0)
-    {
-      using std::pow;
-
-      uniform_int<std::size_t> x(0, n-1);
-      std::size_t xv = x(gen);
-      degree = (xv == 0? 0 : std::size_t(beta * pow(xv, -alpha)));
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    out_directed_plod_iterator& operator++()
-    { 
-      using std::pow;
-
-      uniform_int<std::size_t> x(0, n-1);
-
-      // Continue stepping through source nodes until the
-      // (out)degree is > 0
-      while (degree == 0) {
-        // Step to the next source node. If we've gone past the
-        // number of nodes we're responsible for, we're done.
-        if (++current.first >= n) {
-          at_end = true;
-          return *this;
-        }
-
-        std::size_t xv = x(*gen);
-        degree = (xv == 0? 0 : std::size_t(beta * pow(xv, -alpha)));      
-      }
-
-      do {
-        current.second = x(*gen);
-      } while (current.first == current.second && !allow_self_loops);
-      --degree;
-
-      return *this;
-    }
-
-    out_directed_plod_iterator operator++(int)
-    {
-      out_directed_plod_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const out_directed_plod_iterator& other) const
-    { 
-      return at_end == other.at_end; 
-    }
-
-    bool operator!=(const out_directed_plod_iterator& other) const
-    { 
-      return !(*this == other); 
-    }
-
-  private:    
-    RandomGenerator* gen;
-    std::size_t n;
-    double alpha;
-    double beta;
-    bool allow_self_loops;
-    bool at_end;
-    std::size_t degree;
-    value_type current;
-  };
-
-  template<typename RandomGenerator>
-  class undirected_plod_iterator 
-  {
-    typedef std::vector<std::pair<std::size_t, std::size_t> > out_degrees_t;
-
-  public:
-    typedef std::input_iterator_tag              iterator_category;
-    typedef std::pair<std::size_t, std::size_t>  value_type;
-    typedef const value_type&                    reference;
-    typedef const value_type*                    pointer;
-    typedef std::ptrdiff_t                       difference_type;
-
-    undirected_plod_iterator() 
-      : gen(0), out_degrees(), degrees_left(0), allow_self_loops(false) { }
-
-    undirected_plod_iterator(RandomGenerator& gen, std::size_t n,  
-                             double alpha, double beta, 
-                             bool allow_self_loops = false)
-      : gen(&gen), n(n), out_degrees(new out_degrees_t),
-        degrees_left(0), allow_self_loops(allow_self_loops)
-    {
-      using std::pow;
-
-      uniform_int<std::size_t> x(0, n-1);
-      for (std::size_t i = 0; i != n; ++i) {
-        std::size_t xv = x(gen);
-        std::size_t degree = (xv == 0? 0 : std::size_t(beta * pow(xv, -alpha)));
-        if (degree == 0) degree = 1;
-        else if (degree >= n) degree = n-1;
-        out_degrees->push_back(std::make_pair(i, degree));
-        degrees_left += degree;
-      }
-
-      next();
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    undirected_plod_iterator& operator++()
-    { 
-      next();
-      return *this;
-    }
-
-    undirected_plod_iterator operator++(int)
-    {
-      undirected_plod_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const undirected_plod_iterator& other) const
-    { 
-      return degrees_left == other.degrees_left; 
-    }
-
-    bool operator!=(const undirected_plod_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-    void next()
-    {
-      std::size_t source, target;
-      while (true) {
-        /* We may get to the point where we can't actually find any
-           new edges, so we just add some random edge and set the
-           degrees left = 0 to signal termination. */
-        if (out_degrees->size() < 2) {
-          uniform_int<std::size_t> x(0, n-1);
-          current.first  = x(*gen);
-          do {
-            current.second = x(*gen);
-          } while (current.first == current.second && !allow_self_loops);
-          degrees_left = 0;
-          out_degrees->clear();
-          return;
-        }
-
-        uniform_int<std::size_t> x(0, out_degrees->size()-1);
-
-        // Select source vertex
-        source = x(*gen);
-        if ((*out_degrees)[source].second == 0) {
-          (*out_degrees)[source] = out_degrees->back();
-          out_degrees->pop_back();
-          continue;
-        } 
-
-        // Select target vertex
-        target = x(*gen);
-        if ((*out_degrees)[target].second == 0) {
-          (*out_degrees)[target] = out_degrees->back();
-          out_degrees->pop_back();
-          continue;
-        } else if (source != target 
-                   || (allow_self_loops && (*out_degrees)[source].second > 2)) {
-          break;
-        }
-      }
-
-      // Update degree counts
-      --(*out_degrees)[source].second;
-      --degrees_left;
-      --(*out_degrees)[target].second;
-      --degrees_left;
-      current.first  = (*out_degrees)[source].first;
-      current.second = (*out_degrees)[target].first;
-    }
-
-    RandomGenerator* gen;
-    std::size_t n;
-    shared_ptr<out_degrees_t> out_degrees;
-    std::size_t degrees_left;
-    bool allow_self_loops;
-    value_type current;
-  };
-
-
-  template<typename RandomGenerator, typename Graph>
-  class plod_iterator
-    : public mpl::if_<is_convertible<
-                        typename graph_traits<Graph>::directed_category,
-                        directed_tag>,
-                      out_directed_plod_iterator<RandomGenerator>,
-                      undirected_plod_iterator<RandomGenerator> >::type
-  {
-    typedef typename mpl::if_<
-                       is_convertible<
-                         typename graph_traits<Graph>::directed_category,
-                         directed_tag>,
-                        out_directed_plod_iterator<RandomGenerator>,
-                        undirected_plod_iterator<RandomGenerator> >::type
-      inherited;
-
-  public:
-    plod_iterator() : inherited() { }
-
-    plod_iterator(RandomGenerator& gen, std::size_t n,  
-                  double alpha, double beta, bool allow_self_loops = false)
-      : inherited(gen, n, alpha, beta, allow_self_loops) { }
-  };
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_PLOD_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/point_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/point_traits.hpp
deleted file mode 100644
index 89da939..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/point_traits.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2004, 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_POINT_TRAITS_HPP
-#define BOOST_GRAPH_POINT_TRAITS_HPP
-
-namespace boost { namespace graph {
-
-template<typename Point>
-struct point_traits
-{
-  // The type of each component of the point
-  typedef typename Point::component_type component_type;
-
-  // The number of dimensions in the point
-  static std::size_t dimensions(const Point& point);
-};
-
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_POINT_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/prim_minimum_spanning_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/prim_minimum_spanning_tree.hpp
deleted file mode 100644
index 79913b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/prim_minimum_spanning_tree.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_MST_PRIM_HPP
-#define BOOST_GRAPH_MST_PRIM_HPP
-
-#include <functional>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-
-namespace boost {
-  
-  namespace detail {
-    // this should be somewhere else in boost...
-    template <class U, class V> struct _project2nd {
-      V operator()(U, V v) const { return v; }
-    };
-  }
-
-  namespace detail {
-
-    // This is Prim's algorithm to calculate the Minimum Spanning Tree
-    // for an undirected graph with weighted edges.
-
-    template <class Graph, class P, class T, class R, class Weight>
-    inline void
-    prim_mst_impl(const Graph& G,
-                  typename graph_traits<Graph>::vertex_descriptor s,
-                  const bgl_named_params<P,T,R>& params,
-                  Weight)
-    {
-      typedef typename property_traits<Weight>::value_type W;
-      std::less<W> compare;
-      detail::_project2nd<W,W> combine;
-      dijkstra_shortest_paths(G, s, params.distance_compare(compare).
-                              distance_combine(combine));
-    }
-  } // namespace detail
-
-  template <class VertexListGraph, class DijkstraVisitor, 
-            class PredecessorMap, class DistanceMap,
-            class WeightMap, class IndexMap>
-  inline void
-  prim_minimum_spanning_tree
-    (const VertexListGraph& g,
-     typename graph_traits<VertexListGraph>::vertex_descriptor s, 
-     PredecessorMap predecessor, DistanceMap distance, WeightMap weight, 
-     IndexMap index_map,
-     DijkstraVisitor vis)
-  {
-    typedef typename property_traits<WeightMap>::value_type W;
-    std::less<W> compare;
-    detail::_project2nd<W,W> combine;
-    dijkstra_shortest_paths(g, s, predecessor, distance, weight, index_map,
-                            compare, combine, (std::numeric_limits<W>::max)(), 0,
-                            vis);
-  }
-
-  template <class VertexListGraph, class PredecessorMap,
-            class P, class T, class R>
-  inline void prim_minimum_spanning_tree
-    (const VertexListGraph& g,
-     PredecessorMap p_map,
-     const bgl_named_params<P,T,R>& params)
-  {
-    detail::prim_mst_impl
-      (g, 
-       choose_param(get_param(params, root_vertex_t()), *vertices(g).first), 
-       params.predecessor_map(p_map),
-       choose_const_pmap(get_param(params, edge_weight), g, edge_weight));
-  }
-
-  template <class VertexListGraph, class PredecessorMap>
-  inline void prim_minimum_spanning_tree
-    (const VertexListGraph& g, PredecessorMap p_map)
-  {
-    detail::prim_mst_impl
-      (g, *vertices(g).first, predecessor_map(p_map).
-       weight_map(get(edge_weight, g)),
-       get(edge_weight, g));
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_MST_PRIM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/profile.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/profile.hpp
deleted file mode 100644
index 1ff99de..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/profile.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-//=======================================================================
-// Copyright 2002 Marc Wintermantel (wintermantel at even-ag.ch)
-// ETH Zurich, Center of Structure Technologies (www.imes.ethz.ch/st)
-//
-// Distributed under the 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_GRAPH_PROFILE_HPP
-#define BOOST_GRAPH_PROFILE_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/detail/numeric_traits.hpp>
-#include <boost/graph/bandwidth.hpp>
-
-namespace boost {
-
-  template <typename Graph, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type
-  profile(const Graph& g, VertexIndexMap index)
-  {
-    typename graph_traits<Graph>::vertices_size_type b = 0;
-    typename graph_traits<Graph>::vertex_iterator i, end;
-    for (boost::tie(i, end) = vertices(g); i != end; ++i){
-      b += ith_bandwidth(*i, g, index) + 1;
-    }
-    
-    return b;
-  }
-
-  template <typename Graph>
-  typename graph_traits<Graph>::vertices_size_type
-  profile(const Graph& g)
-  {
-    return profile(g, get(vertex_index, g));
-  }
- 
-  
-} // namespace boost
-
-#endif // BOOST_GRAPH_PROFILE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/properties.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/properties.hpp
deleted file mode 100644
index ca6a4e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/properties.hpp
+++ /dev/null
@@ -1,363 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_PROPERTIES_HPP
-#define BOOST_GRAPH_PROPERTIES_HPP
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/pending/property.hpp>
-#include <boost/detail/workaround.hpp>
-
-// Include the property map library and extensions in the BGL.
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/property_maps/constant_property_map.hpp>
-#include <boost/graph/property_maps/null_property_map.hpp>
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/limits.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-
-  enum default_color_type { white_color, gray_color, green_color, red_color, black_color };
-
-  template <class ColorValue>
-  struct color_traits {
-    static default_color_type white() { return white_color; }
-    static default_color_type gray() { return gray_color; }
-    static default_color_type green() { return green_color; }
-    static default_color_type red() { return red_color; }
-    static default_color_type black() { return black_color; }
-  };
-
-  // These functions are now obsolete, replaced by color_traits.
-  inline default_color_type white(default_color_type) { return white_color; }
-  inline default_color_type gray(default_color_type) { return gray_color; }
-  inline default_color_type green(default_color_type) { return green_color; }
-  inline default_color_type red(default_color_type) { return red_color; }
-  inline default_color_type black(default_color_type) { return black_color; }
-
-
-  struct graph_property_tag { };
-  struct vertex_property_tag { };
-  struct edge_property_tag { };
-
-  // See examples/edge_property.cpp for how to use this.
-#define BOOST_INSTALL_PROPERTY(KIND, NAME) \
-  template <> struct property_kind<KIND##_##NAME##_t> { \
-    typedef KIND##_property_tag type; \
-  }
-
-#define BOOST_DEF_PROPERTY(KIND, NAME) \
-  enum KIND##_##NAME##_t { KIND##_##NAME }; \
-  BOOST_INSTALL_PROPERTY(KIND, NAME)
-
-  // These three are defined in boost/pending/property.hpp
-  BOOST_INSTALL_PROPERTY(vertex, all);
-  BOOST_INSTALL_PROPERTY(edge, all);
-  BOOST_INSTALL_PROPERTY(graph, all);
-  BOOST_DEF_PROPERTY(vertex, index);
-  BOOST_DEF_PROPERTY(vertex, index1);
-  BOOST_DEF_PROPERTY(vertex, index2);
-  BOOST_DEF_PROPERTY(vertex, root);
-  BOOST_DEF_PROPERTY(edge, index);
-  BOOST_DEF_PROPERTY(edge, name);
-  BOOST_DEF_PROPERTY(edge, weight);
-  BOOST_DEF_PROPERTY(edge, weight2);
-  BOOST_DEF_PROPERTY(edge, color);
-  BOOST_DEF_PROPERTY(vertex, name);
-  BOOST_DEF_PROPERTY(graph, name);
-  BOOST_DEF_PROPERTY(vertex, distance);
-  BOOST_DEF_PROPERTY(vertex, distance2);
-  BOOST_DEF_PROPERTY(vertex, color);
-  BOOST_DEF_PROPERTY(vertex, degree);
-  BOOST_DEF_PROPERTY(vertex, in_degree);
-  BOOST_DEF_PROPERTY(vertex, out_degree);
-  BOOST_DEF_PROPERTY(vertex, current_degree);
-  BOOST_DEF_PROPERTY(vertex, priority);
-  BOOST_DEF_PROPERTY(vertex, discover_time);
-  BOOST_DEF_PROPERTY(vertex, finish_time);
-  BOOST_DEF_PROPERTY(vertex, predecessor);
-  BOOST_DEF_PROPERTY(vertex, rank);
-  BOOST_DEF_PROPERTY(vertex, centrality);
-  BOOST_DEF_PROPERTY(vertex, lowpoint);
-  BOOST_DEF_PROPERTY(vertex, potential);
-  BOOST_DEF_PROPERTY(vertex, update);
-  BOOST_DEF_PROPERTY(vertex, underlying);
-  BOOST_DEF_PROPERTY(edge, reverse);
-  BOOST_DEF_PROPERTY(edge, capacity);
-  BOOST_DEF_PROPERTY(edge, flow);
-  BOOST_DEF_PROPERTY(edge, residual_capacity);
-  BOOST_DEF_PROPERTY(edge, centrality);
-  BOOST_DEF_PROPERTY(edge, discover_time);
-  BOOST_DEF_PROPERTY(edge, update);
-  BOOST_DEF_PROPERTY(edge, finished);
-  BOOST_DEF_PROPERTY(edge, underlying);
-  BOOST_DEF_PROPERTY(graph, visitor);
-
-  // These tags are used for property bundles
-  // These three are defined in boost/pending/property.hpp
-  BOOST_INSTALL_PROPERTY(graph, bundle);
-  BOOST_INSTALL_PROPERTY(vertex, bundle);
-  BOOST_INSTALL_PROPERTY(edge, bundle);
-
-  // These tags are used to denote the owners and local descriptors
-  // for the vertices and edges of a distributed graph.
-  BOOST_DEF_PROPERTY(vertex, global);
-  BOOST_DEF_PROPERTY(vertex, owner);
-  BOOST_DEF_PROPERTY(vertex, local);
-  BOOST_DEF_PROPERTY(edge, global);
-  BOOST_DEF_PROPERTY(edge, owner);
-  BOOST_DEF_PROPERTY(edge, local);
-  BOOST_DEF_PROPERTY(vertex, local_index);
-  BOOST_DEF_PROPERTY(edge, local_index);
-
-#undef BOOST_DEF_PROPERTY
-
-  namespace detail {
-
-    template <typename G, typename Tag>
-    struct property_kind_from_graph: property_kind<Tag> {};
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    template <typename G, typename R, typename T>
-    struct property_kind_from_graph<G, R T::*> {
-      typedef typename boost::mpl::if_<
-                boost::is_base_of<T, typename vertex_bundle_type<G>::type>,
-                vertex_property_tag,
-                typename boost::mpl::if_<
-                  boost::is_base_of<T, typename edge_bundle_type<G>::type>,
-                  edge_property_tag,
-                  typename boost::mpl::if_<
-                    boost::is_base_of<T, typename graph_bundle_type<G>::type>,
-                    graph_property_tag,
-                    void>::type>::type>::type type;
-    };
-#endif
-
-    struct dummy_edge_property_selector {
-      template <class Graph, class Property, class Tag>
-      struct bind_ {
-        typedef identity_property_map type;
-        typedef identity_property_map const_type;
-      };
-    };
-    struct dummy_vertex_property_selector {
-      template <class Graph, class Property, class Tag>
-      struct bind_ {
-        typedef identity_property_map type;
-        typedef identity_property_map const_type;
-      };
-    };
-
-  } // namespace detail
-
-  // Graph classes can either partially specialize property_map
-  // or they can specialize these two selector classes.
-  template <class GraphTag>
-  struct edge_property_selector {
-    typedef detail::dummy_edge_property_selector type;
-  };
-
-  template <class GraphTag>
-  struct vertex_property_selector {
-    typedef detail::dummy_vertex_property_selector type;
-  };
-
-  namespace detail {
-
-    template <typename A> struct return_void {typedef void type;};
-
-    template <typename Graph, typename Enable = void>
-    struct graph_tag_or_void {
-      typedef void type;
-    };
-
-    template <typename Graph>
-    struct graph_tag_or_void<Graph, typename return_void<typename Graph::graph_tag>::type> {
-      typedef typename Graph::graph_tag type;
-    };
-
-    template <class Graph, class PropertyTag>
-    struct edge_property_map
-      : edge_property_selector<
-          typename graph_tag_or_void<Graph>::type
-        >::type::template bind_<
-                            Graph,
-                            typename edge_property_type<Graph>::type,
-                            PropertyTag>
-      {};
-    template <class Graph, class PropertyTag>
-    struct vertex_property_map
-      : vertex_property_selector<
-          typename graph_tag_or_void<Graph>::type
-        >::type::template bind_<
-                            Graph,
-                            typename vertex_property_type<Graph>::type,
-                            PropertyTag>
-      {};
-  } // namespace detail
-
-  template <class Graph, class Property, class Enable = void>
-  struct property_map:
-    mpl::if_<
-      is_same<typename detail::property_kind_from_graph<Graph, Property>::type, edge_property_tag>,
-      detail::edge_property_map<Graph, Property>,
-      detail::vertex_property_map<Graph, Property> >::type
-  {};
-
-  // shortcut for accessing the value type of the property map
-  template <class Graph, class Property>
-  class property_map_value {
-    typedef typename property_map<Graph, Property>::const_type PMap;
-  public:
-    typedef typename property_traits<PMap>::value_type type;
-  };
-
-  template <class Graph, class Property>
-  class graph_property {
-  public:
-    typedef typename property_value<
-      typename boost::graph_property_type<Graph>::type, Property
-    >::type type;
-  };
-
-  template <typename Graph> struct vertex_property: vertex_property_type<Graph> {};
-  template <typename Graph> struct edge_property: edge_property_type<Graph> {};
-
-  template <typename Graph>
-  class degree_property_map
-    : public put_get_helper<typename graph_traits<Graph>::degree_size_type,
-                            degree_property_map<Graph> >
-  {
-  public:
-    typedef typename graph_traits<Graph>::vertex_descriptor key_type;
-    typedef typename graph_traits<Graph>::degree_size_type value_type;
-    typedef value_type reference;
-    typedef readable_property_map_tag category;
-    degree_property_map(const Graph& g) : m_g(g) { }
-    value_type operator[](const key_type& v) const {
-      return degree(v, m_g);
-    }
-  private:
-    const Graph& m_g;
-  };
-  template <typename Graph>
-  inline degree_property_map<Graph>
-  make_degree_map(const Graph& g) {
-    return degree_property_map<Graph>(g);
-  }
-
-  //========================================================================
-  // Iterator Property Map Generating Functions contributed by
-  // Kevin Vanhorn. (see also the property map generating functions
-  // in boost/property_map/property_map.hpp)
-
-#if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-  // A helper function for creating a vertex property map out of a
-  // random access iterator and the internal vertex index map from a
-  // graph.
-  template <class PropertyGraph, class RandomAccessIterator>
-  inline
-  iterator_property_map<
-    RandomAccessIterator,
-    typename property_map<PropertyGraph, vertex_index_t>::type,
-    typename std::iterator_traits<RandomAccessIterator>::value_type,
-    typename std::iterator_traits<RandomAccessIterator>::reference
-  >
-  make_iterator_vertex_map(RandomAccessIterator iter, const PropertyGraph& g)
-  {
-    return make_iterator_property_map(iter, get(vertex_index, g));
-  }
-
-  // Use this next function when vertex_descriptor is known to be an
-  // integer type, with values ranging from 0 to num_vertices(g).
-  //
-  template <class RandomAccessIterator>
-  inline
-  iterator_property_map<
-    RandomAccessIterator,
-    identity_property_map,
-    typename std::iterator_traits<RandomAccessIterator>::value_type,
-    typename std::iterator_traits<RandomAccessIterator>::reference
-  >
-  make_iterator_vertex_map(RandomAccessIterator iter)
-  {
-    return make_iterator_property_map(iter, identity_property_map());
-  }
-#endif
-
-  template <class PropertyGraph, class RandomAccessContainer>
-  inline
-  iterator_property_map<
-    typename RandomAccessContainer::iterator,
-    typename property_map<PropertyGraph, vertex_index_t>::type,
-    typename RandomAccessContainer::value_type,
-    typename RandomAccessContainer::reference
-  >
-  make_container_vertex_map(RandomAccessContainer& c, const PropertyGraph& g)
-  {
-    BOOST_ASSERT(c.size() >= num_vertices(g));
-    return make_iterator_vertex_map(c.begin(), g);
-  }
-
-  template <class RandomAccessContainer> inline
-  iterator_property_map<
-    typename RandomAccessContainer::iterator,
-    identity_property_map,
-    typename RandomAccessContainer::value_type,
-    typename RandomAccessContainer::reference
-  >
-  make_container_vertex_map(RandomAccessContainer& c)
-  {
-    return make_iterator_vertex_map(c.begin());
-  }
-
-
-#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) && !defined (BOOST_GRAPH_NO_BUNDLED_PROPERTIES)
-// This compiler cannot define a partial specialization based on a
-// pointer-to-member type, as seen in boost/graph/subgraph.hpp line 985 (as of
-// trunk r53912)
-#  define BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-#endif
-
-// NOTE: These functions are declared, but never defined since they need to
-// be overloaded by graph implementations. However, we need them to be
-// declared for the functions below.
-template<typename Graph, typename Tag>
-typename graph_property<Graph, graph_bundle_t>::type&
-get_property(Graph& g, Tag);
-
-template<typename Graph, typename Tag>
-typename graph_property<Graph, graph_bundle_t>::type const&
-get_property(Graph const& g, Tag);
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-// NOTE: This operation is a simple adaptor over the overloaded get_property
-// operations.
-template<typename Graph>
-inline typename graph_property<Graph, graph_bundle_t>::type&
-get_property(Graph& g) {
-  return get_property(g, graph_bundle);
-}
-
-template<typename Graph>
-inline typename graph_property<Graph, graph_bundle_t>::type const&
-get_property(const Graph& g) {
-  return get_property(g, graph_bundle);
-}
-#endif
-
-} // namespace boost
-
-#endif /* BOOST_GRAPH_PROPERTIES_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_iter_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_iter_range.hpp
deleted file mode 100644
index 8485fed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_iter_range.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-
-// (C) Copyright Francois Faure, iMAGIS-GRAVIR / UJF, 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)
-//
-// Revision History:
-// 03 May 2001   Jeremy Siek
-//      Generalized the property map iterator and moved that
-//      part to boost/property_map.hpp. Also modified to
-//      differentiate between const/mutable graphs and
-//      added a workaround to avoid partial specialization.
-
-// 02 May 2001   Francois Faure
-//     Initial version.
-
-#ifndef BOOST_GRAPH_PROPERTY_ITER_RANGE_HPP
-#define BOOST_GRAPH_PROPERTY_ITER_RANGE_HPP
-
-#include <boost/property_map/property_map_iterator.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/same_traits.hpp>
-
-namespace boost {
-
-//======================================================================
-// graph property iterator range
-
-  template <class Graph, class PropertyTag>
-  class graph_property_iter_range {
-    typedef typename property_map<Graph, PropertyTag>::type map_type;
-    typedef typename property_map<Graph, PropertyTag>::const_type 
-      const_map_type;
-    typedef typename property_kind<PropertyTag>::type Kind;
-    typedef typename mpl::if_c<is_same<Kind, vertex_property_tag>::value,
-       typename graph_traits<Graph>::vertex_iterator,
-       typename graph_traits<Graph>::edge_iterator>::type iter;
-  public:
-    typedef typename property_map_iterator_generator<map_type, iter>::type 
-      iterator;
-    typedef typename property_map_iterator_generator<const_map_type, iter>
-      ::type const_iterator;
-    typedef std::pair<iterator, iterator> type;
-    typedef std::pair<const_iterator, const_iterator> const_type;
-  };
-
-  namespace detail {
-
-    template<class Graph,class Tag>
-    typename graph_property_iter_range<Graph,Tag>::type
-    get_property_iter_range_kind(Graph& graph, const Tag& tag, 
-                                 const vertex_property_tag& )
-    {
-      typedef typename graph_property_iter_range<Graph,Tag>::iterator iter;
-      return std::make_pair(iter(vertices(graph).first, get(tag, graph)),
-                            iter(vertices(graph).second, get(tag, graph)));
-    }
-
-    template<class Graph,class Tag>
-    typename graph_property_iter_range<Graph,Tag>::const_type
-    get_property_iter_range_kind(const Graph& graph, const Tag& tag, 
-                                 const vertex_property_tag& )
-    {
-      typedef typename graph_property_iter_range<Graph,Tag>
-        ::const_iterator iter;
-      return std::make_pair(iter(vertices(graph).first, get(tag, graph)),
-                            iter(vertices(graph).second, get(tag, graph)));
-    }
-
-
-    template<class Graph,class Tag>
-    typename graph_property_iter_range<Graph,Tag>::type
-    get_property_iter_range_kind(Graph& graph, const Tag& tag, 
-                                 const edge_property_tag& )
-    {
-      typedef typename graph_property_iter_range<Graph,Tag>::iterator iter;
-      return std::make_pair(iter(edges(graph).first, get(tag, graph)),
-                            iter(edges(graph).second, get(tag, graph)));
-    }
-
-    template<class Graph,class Tag>
-    typename graph_property_iter_range<Graph,Tag>::const_type
-    get_property_iter_range_kind(const Graph& graph, const Tag& tag, 
-                                 const edge_property_tag& )
-    {
-      typedef typename graph_property_iter_range<Graph,Tag>
-        ::const_iterator iter;
-      return std::make_pair(iter(edges(graph).first, get(tag, graph)),
-                            iter(edges(graph).second, get(tag, graph)));
-    }
-
-  } // namespace detail
-
-  //======================================================================
-  // get an iterator range of properties
-
-  template<class Graph, class Tag>
-  typename graph_property_iter_range<Graph, Tag>::type
-  get_property_iter_range(Graph& graph, const Tag& tag)
-  {
-    typedef typename property_kind<Tag>::type Kind;
-    return detail::get_property_iter_range_kind(graph, tag, Kind());
-  }
-
-  template<class Graph, class Tag>
-  typename graph_property_iter_range<Graph, Tag>::const_type
-  get_property_iter_range(const Graph& graph, const Tag& tag)
-  {
-    typedef typename property_kind<Tag>::type Kind;
-    return detail::get_property_iter_range_kind(graph, tag, Kind());
-  }
-
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_PROPERTY_ITER_RANGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/constant_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/constant_property_map.hpp
deleted file mode 100644
index 9d83ea1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/constant_property_map.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_CONSTANT_PROPERTY_HPP
-#define BOOST_GRAPH_CONSTANT_PROPERTY_HPP
-
-#include <boost/property_map/property_map.hpp>
-
-
-// TODO: This should really be part of the property maps library rather than
-// the Boost.Graph library.
-
-namespace boost {
-
-/**
- * A constant property is one, that regardless of the edge or vertex given,
- * will always return a constant value.
- */
-template <typename Key, typename Value>
-struct constant_property_map
-    : public boost::put_get_helper<
-            const Value&,
-            constant_property_map<Key, Value>
-    >
-{
-    typedef Key key_type;
-    typedef Value value_type;
-    typedef const Value& reference;
-    typedef boost::readable_property_map_tag category;
-
-    constant_property_map()
-        : m_value()
-    { }
-
-    constant_property_map(const value_type &value)
-        : m_value(value)
-    { }
-
-    constant_property_map(const constant_property_map& copy)
-        : m_value(copy.m_value)
-    { }
-
-    inline reference operator [](const key_type&) const
-    { return m_value; }
-
-    value_type m_value;
-};
-
-template <typename Key, typename Value>
-inline constant_property_map<Key, Value>
-make_constant_property(const Value& value)
-{ return constant_property_map<Key, Value>(value); }
-
-/**
- * Same as above, but pretends to be writable as well.
- */
-template <typename Key, typename Value>
-struct constant_writable_property_map {
-    typedef Key key_type;
-    typedef Value value_type;
-    typedef Value& reference;
-    typedef boost::read_write_property_map_tag category;
-
-    constant_writable_property_map()
-        : m_value()
-    { }
-
-    constant_writable_property_map(const value_type &value)
-        : m_value(value)
-    { }
-
-    constant_writable_property_map(const constant_writable_property_map& copy)
-        : m_value(copy.m_value)
-    { }
-
-    friend Value get(const constant_writable_property_map& me, Key) {return me.m_value;}
-    friend void put(const constant_writable_property_map&, Key, Value) {}
-
-    value_type m_value;
-};
-
-template <typename Key, typename Value>
-inline constant_writable_property_map<Key, Value>
-make_constant_writable_property(const Value& value)
-{ return constant_writable_property_map<Key, Value>(value); }
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/container_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/container_property_map.hpp
deleted file mode 100644
index e07cd33..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/container_property_map.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_CONTAINER_PROPERTY_MAP_HPP
-#define BOOST_GRAPH_CONTAINER_PROPERTY_MAP_HPP
-
-#include <boost/graph/detail/index.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost
-{
-    // This is an adapter built over the iterator property map with
-    // more useful uniform construction semantics. Specifically, this
-    // requires the container rather than the iterator and the graph
-    // rather than the optional index map.
-    template <typename Graph, typename Key, typename Container>
-    struct container_property_map
-        : public boost::put_get_helper<
-                typename iterator_property_map<
-                        typename Container::iterator,
-                        typename property_map<
-                                Graph,
-                                typename detail::choose_indexer<Graph, Key>::index_type
-                            >::type
-                    >::reference,
-                    container_property_map<Graph, Key, Container>
-            >
-    {
-        typedef typename detail::choose_indexer<Graph, Key>::indexer_type indexer_type;
-        typedef typename indexer_type::index_type index_type;
-        typedef iterator_property_map<
-                typename Container::iterator,
-                typename property_map<Graph, index_type>::type
-            > map_type;
-        typedef typename map_type::key_type key_type;
-        typedef typename map_type::value_type value_type;
-        typedef typename map_type::reference reference;
-        typedef typename map_type::category category;
-
-        // The default constructor will *probably* crash if its actually
-        // used for referencing vertices since the underlying iterator
-        // map points past the end of an unknown container.
-        inline container_property_map()
-            : m_map()
-        { }
-
-        // This is the preferred constructor. It is invoked over the container
-        // and the graph explicitly. This requires that the underlying iterator
-        // map use the indices of the vertices in g rather than the default
-        // identity map.
-        //
-        // Note the const-cast this ensures the reference type of the
-        // vertex index map is non-const, which happens to be an
-        // artifact of passing const graph references.
-        inline container_property_map(Container& c, const Graph& g)
-            : m_map(c.begin(), indexer_type::index_map(const_cast<Graph&>(g)))
-        { }
-
-        // Typical copy constructor.
-        inline container_property_map(const container_property_map& x)
-            : m_map(x.m_map)
-        { }
-
-        // The [] operator delegates to the underlying map/
-        inline reference operator [](const key_type& k) const
-        { return m_map[k];  }
-
-        map_type m_map;
-    };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/matrix_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/matrix_property_map.hpp
deleted file mode 100644
index bf4f2c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/matrix_property_map.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_MATRIX_PROPERTY_MAP_HPP
-#define BOOST_GRAPH_MATRIX_PROPERTY_MAP_HPP
-
-#include <boost/graph/property_maps/container_property_map.hpp>
-
-namespace boost
-{
-    // This property map is built specifically for property maps over
-    // matrices. Like the basic property map over a container, this builds
-    // the property abstraction over a matrix (usually a vector of vectors)
-    // and returns property maps over the nested containers.
-    template <typename Graph, typename Key, typename Matrix>
-    struct matrix_property_map
-        : boost::put_get_helper<
-                container_property_map<Graph, Key, typename Matrix::value_type>,
-                matrix_property_map<Graph, Key, Matrix> >
-    {
-        // abstract the indexing keys
-        typedef typename detail::choose_indexer<Graph, Key>::indexer_type indexer_type;
-
-        // aliases for the nested container and its corresponding map
-        typedef typename Matrix::value_type container_type;
-        typedef container_property_map<Graph, Key, container_type> map_type;
-
-        typedef Key key_type;
-
-        // This property map doesn't really provide access to nested containers,
-        // but returns property maps over them. Since property maps are all
-        // copy-constructible (or should be anyways), we never return references.
-        // As such, this property is only readable, but not writable. Curiously,
-        // the inner property map is actually an lvalue pmap.
-        typedef map_type value_type;
-        typedef map_type reference;
-        typedef readable_property_map_tag category;
-
-        matrix_property_map()
-            : m_matrix(0), m_graph(0)
-        { }
-
-        matrix_property_map(Matrix& m, const Graph& g)
-            : m_matrix(&m), m_graph(const_cast<Graph*>(&g))
-        { }
-
-        matrix_property_map(const matrix_property_map& x)
-            : m_matrix(x.m_matrix), m_graph(x.m_graph)
-        { }
-
-        inline reference operator [](key_type k) const
-        {
-            typedef typename indexer_type::value_type Index;
-            Index x = indexer_type::index(k, *m_graph);
-            return map_type((*m_matrix)[x], *m_graph);
-        }
-
-    private:
-        mutable Matrix* m_matrix;
-        mutable Graph* m_graph;
-    };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/null_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/null_property_map.hpp
deleted file mode 100644
index 09ff55e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/property_maps/null_property_map.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-// (C) Copyright Andrew Sutton 2007
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_NULL_PROPERTY_HPP
-#define BOOST_GRAPH_NULL_PROPERTY_HPP
-
-#include <boost/property_map/property_map.hpp>
-
-// TODO: This should really be part of the property maps library rather than
-// the Boost.Graph library.
-
-namespace boost
-{
-    // A null property is somewhat like the inverse of the constant
-    // property map except that instead of returning a single value,
-    // this eats any writes and cannot be read from.
-
-    template <typename Key, typename Value>
-    struct null_property_map
-    {
-        typedef Key key_type;
-        typedef Value value_type;
-        typedef void reference;
-        typedef boost::writable_property_map_tag category;
-    };
-
-    // The null_property_map<K,V> only has a put() function.
-    template <typename K, typename V>
-    void put(null_property_map<K,V>& /*pm*/, const K& /*key*/, const V& /*value*/)
-    { }
-
-    // A helper function for intantiating null property maps.
-    template <typename Key, typename Value>
-    inline null_property_map<Key, Value> make_null_property()
-    { return null_property_map<Key, Value>(); }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/push_relabel_max_flow.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/push_relabel_max_flow.hpp
deleted file mode 100644
index 10215ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/push_relabel_max_flow.hpp
+++ /dev/null
@@ -1,746 +0,0 @@
-//=======================================================================
-// Copyright 2000 University of Notre Dame.
-// Authors: Jeremy G. Siek, Andrew Lumsdaine, Lie-Quan Lee
-//
-// Distributed under the 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_PUSH_RELABEL_MAX_FLOW_HPP
-#define BOOST_PUSH_RELABEL_MAX_FLOW_HPP
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <vector>
-#include <list>
-#include <iosfwd>
-#include <algorithm> // for std::min and std::max
-
-#include <boost/pending/queue.hpp>
-#include <boost/limits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/named_function_params.hpp>
-
-namespace boost {
-
-  namespace detail {
-    
-   // This implementation is based on Goldberg's 
-   // "On Implementing Push-Relabel Method for the Maximum Flow Problem"
-   // by B.V. Cherkassky and A.V. Goldberg, IPCO '95, pp. 157--171
-   // and on the h_prf.c and hi_pr.c code written by the above authors.
-
-   // This implements the highest-label version of the push-relabel method
-   // with the global relabeling and gap relabeling heuristics.
-
-   // The terms "rank", "distance", "height" are synonyms in
-   // Goldberg's implementation, paper and in the CLR.  A "layer" is a
-   // group of vertices with the same distance. The vertices in each
-   // layer are categorized as active or inactive.  An active vertex
-   // has positive excess flow and its distance is less than n (it is
-   // not blocked).
-
-    template <class Vertex>
-    struct preflow_layer {
-      std::list<Vertex> active_vertices;
-      std::list<Vertex> inactive_vertices;
-    };
-
-    template <class Graph, 
-              class EdgeCapacityMap,    // integer value type
-              class ResidualCapacityEdgeMap,
-              class ReverseEdgeMap,
-              class VertexIndexMap,     // vertex_descriptor -> integer
-              class FlowValue>
-    class push_relabel
-    {
-    public:
-      typedef graph_traits<Graph> Traits;
-      typedef typename Traits::vertex_descriptor vertex_descriptor;
-      typedef typename Traits::edge_descriptor edge_descriptor;
-      typedef typename Traits::vertex_iterator vertex_iterator;
-      typedef typename Traits::out_edge_iterator out_edge_iterator;
-      typedef typename Traits::vertices_size_type vertices_size_type;
-      typedef typename Traits::edges_size_type edges_size_type;
-
-      typedef preflow_layer<vertex_descriptor> Layer;
-      typedef std::vector< Layer > LayerArray;
-      typedef typename LayerArray::iterator layer_iterator;
-      typedef typename LayerArray::size_type distance_size_type;
-
-      typedef color_traits<default_color_type> ColorTraits;
-
-      //=======================================================================
-      // Some helper predicates
-
-      inline bool is_admissible(vertex_descriptor u, vertex_descriptor v) {
-        return get(distance, u) == get(distance, v) + 1;
-      }
-      inline bool is_residual_edge(edge_descriptor a) {
-        return 0 < get(residual_capacity, a);
-      }
-      inline bool is_saturated(edge_descriptor a) {
-        return get(residual_capacity, a) == 0;
-      }
-
-      //=======================================================================
-      // Layer List Management Functions
-
-      typedef typename std::list<vertex_descriptor>::iterator list_iterator;
-
-      void add_to_active_list(vertex_descriptor u, Layer& layer) {
-        BOOST_USING_STD_MIN();
-        BOOST_USING_STD_MAX();
-        layer.active_vertices.push_front(u);
-        max_active = max BOOST_PREVENT_MACRO_SUBSTITUTION(get(distance, u), max_active);
-        min_active = min BOOST_PREVENT_MACRO_SUBSTITUTION(get(distance, u), min_active);
-        layer_list_ptr[u] = layer.active_vertices.begin();
-      }
-      void remove_from_active_list(vertex_descriptor u) {
-        layers[get(distance, u)].active_vertices.erase(layer_list_ptr[u]);    
-      }
-
-      void add_to_inactive_list(vertex_descriptor u, Layer& layer) {
-        layer.inactive_vertices.push_front(u);
-        layer_list_ptr[u] = layer.inactive_vertices.begin();
-      }
-      void remove_from_inactive_list(vertex_descriptor u) {
-        layers[get(distance, u)].inactive_vertices.erase(layer_list_ptr[u]);    
-      }
-
-      //=======================================================================
-      // initialization
-      push_relabel(Graph& g_, 
-                   EdgeCapacityMap cap,
-                   ResidualCapacityEdgeMap res,
-                   ReverseEdgeMap rev,
-                   vertex_descriptor src_, 
-                   vertex_descriptor sink_,
-                   VertexIndexMap idx)
-        : g(g_), n(num_vertices(g_)), capacity(cap), src(src_), sink(sink_), 
-          index(idx),
-          excess_flow_data(num_vertices(g_)),
-          excess_flow(excess_flow_data.begin(), idx),
-          current_data(num_vertices(g_), out_edges(*vertices(g_).first, g_)),
-          current(current_data.begin(), idx),
-          distance_data(num_vertices(g_)),
-          distance(distance_data.begin(), idx),
-          color_data(num_vertices(g_)),
-          color(color_data.begin(), idx),
-          reverse_edge(rev),
-          residual_capacity(res),
-          layers(num_vertices(g_)),
-          layer_list_ptr_data(num_vertices(g_), 
-                              layers.front().inactive_vertices.end()),
-          layer_list_ptr(layer_list_ptr_data.begin(), idx),
-          push_count(0), update_count(0), relabel_count(0), 
-          gap_count(0), gap_node_count(0),
-          work_since_last_update(0)
-      {
-        vertex_iterator u_iter, u_end;
-        // Don't count the reverse edges
-        edges_size_type m = num_edges(g) / 2;
-        nm = alpha() * n + m;
-
-        // Initialize flow to zero which means initializing
-        // the residual capacity to equal the capacity.
-        out_edge_iterator ei, e_end;
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter)
-          for (boost::tie(ei, e_end) = out_edges(*u_iter, g); ei != e_end; ++ei) {
-            put(residual_capacity, *ei, get(capacity, *ei));
-          }
-
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          vertex_descriptor u = *u_iter;
-          put(excess_flow, u, 0);
-          current[u] = out_edges(u, g);
-        }
-
-        bool overflow_detected = false;
-        FlowValue test_excess = 0;
-
-        out_edge_iterator a_iter, a_end;
-        for (boost::tie(a_iter, a_end) = out_edges(src, g); a_iter != a_end; ++a_iter)
-          if (target(*a_iter, g) != src)
-            test_excess += get(residual_capacity, *a_iter);
-        if (test_excess > (std::numeric_limits<FlowValue>::max)())
-          overflow_detected = true;
-
-        if (overflow_detected)
-          put(excess_flow, src, (std::numeric_limits<FlowValue>::max)());
-        else {
-          put(excess_flow, src, 0);
-          for (boost::tie(a_iter, a_end) = out_edges(src, g); 
-               a_iter != a_end; ++a_iter) {
-            edge_descriptor a = *a_iter;
-            vertex_descriptor tgt = target(a, g);
-            if (tgt != src) {
-              ++push_count;
-              FlowValue delta = get(residual_capacity, a);
-              put(residual_capacity, a, get(residual_capacity, a) - delta);
-              edge_descriptor rev = get(reverse_edge, a);
-              put(residual_capacity, rev, get(residual_capacity, rev) + delta);
-              put(excess_flow, tgt, get(excess_flow, tgt) + delta);
-            }
-          }
-        }
-        max_distance = num_vertices(g) - 1;
-        max_active = 0;
-        min_active = n;
-
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          vertex_descriptor u = *u_iter;
-          if (u == sink) {
-            put(distance, u, 0);
-            continue;
-          } else if (u == src && !overflow_detected)
-            put(distance, u, n);
-          else
-            put(distance, u, 1);
-
-          if (get(excess_flow, u) > 0)
-            add_to_active_list(u, layers[1]);
-          else if (get(distance, u) < n)
-            add_to_inactive_list(u, layers[1]);
-        }       
-
-      } // push_relabel constructor
-
-      //=======================================================================
-      // This is a breadth-first search over the residual graph
-      // (well, actually the reverse of the residual graph).
-      // Would be cool to have a graph view adaptor for hiding certain
-      // edges, like the saturated (non-residual) edges in this case.
-      // Goldberg's implementation abused "distance" for the coloring.
-      void global_distance_update()
-      {
-        BOOST_USING_STD_MAX();
-        ++update_count;
-        vertex_iterator u_iter, u_end;
-        for (boost::tie(u_iter,u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          put(color, *u_iter, ColorTraits::white());
-          put(distance, *u_iter, n);
-        }
-        put(color, sink, ColorTraits::gray());
-        put(distance, sink, 0);
-        
-        for (distance_size_type l = 0; l <= max_distance; ++l) {
-          layers[l].active_vertices.clear();
-          layers[l].inactive_vertices.clear();
-        }
-        
-        max_distance = max_active = 0;
-        min_active = n;
-
-        Q.push(sink);
-        while (! Q.empty()) {
-          vertex_descriptor u = Q.top();
-          Q.pop();
-          distance_size_type d_v = get(distance, u) + 1;
-
-          out_edge_iterator ai, a_end;
-          for (boost::tie(ai, a_end) = out_edges(u, g); ai != a_end; ++ai) {
-            edge_descriptor a = *ai;
-            vertex_descriptor v = target(a, g);
-            if (get(color, v) == ColorTraits::white()
-                && is_residual_edge(get(reverse_edge, a))) {
-              put(distance, v, d_v);
-              put(color, v, ColorTraits::gray());
-              current[v] = out_edges(v, g);
-              max_distance = max BOOST_PREVENT_MACRO_SUBSTITUTION(d_v, max_distance);
-
-              if (get(excess_flow, v) > 0)
-                add_to_active_list(v, layers[d_v]);
-              else
-                add_to_inactive_list(v, layers[d_v]);
-
-              Q.push(v);
-            }
-          }
-        }
-      } // global_distance_update()
-
-      //=======================================================================
-      // This function is called "push" in Goldberg's h_prf implementation,
-      // but it is called "discharge" in the paper and in hi_pr.c.
-      void discharge(vertex_descriptor u)
-      {
-        BOOST_ASSERT(get(excess_flow, u) > 0);
-        while (1) {
-          out_edge_iterator ai, ai_end;
-          for (boost::tie(ai, ai_end) = current[u]; ai != ai_end; ++ai) {
-            edge_descriptor a = *ai;
-            if (is_residual_edge(a)) {
-              vertex_descriptor v = target(a, g);
-              if (is_admissible(u, v)) {
-                ++push_count;
-                if (v != sink && get(excess_flow, v) == 0) {
-                  remove_from_inactive_list(v);
-                  add_to_active_list(v, layers[get(distance, v)]);
-                }
-                push_flow(a);
-                if (get(excess_flow, u) == 0)
-                  break;
-              } 
-            } 
-          } // for out_edges of i starting from current
-
-          Layer& layer = layers[get(distance, u)];
-          distance_size_type du = get(distance, u);
-
-          if (ai == ai_end) {   // i must be relabeled
-            relabel_distance(u);
-            if (layer.active_vertices.empty()
-                && layer.inactive_vertices.empty())
-              gap(du);
-            if (get(distance, u) == n)
-              break;
-          } else {              // i is no longer active
-            current[u].first = ai;
-            add_to_inactive_list(u, layer);
-            break;
-          }
-        } // while (1)
-      } // discharge()
-
-      //=======================================================================
-      // This corresponds to the "push" update operation of the paper,
-      // not the "push" function in Goldberg's h_prf.c implementation.
-      // The idea is to push the excess flow from from vertex u to v.
-      void push_flow(edge_descriptor u_v)
-      {
-        vertex_descriptor
-          u = source(u_v, g),
-          v = target(u_v, g);
-        
-        BOOST_USING_STD_MIN();
-        FlowValue flow_delta
-          = min BOOST_PREVENT_MACRO_SUBSTITUTION(get(excess_flow, u), get(residual_capacity, u_v));
-
-        put(residual_capacity, u_v, get(residual_capacity, u_v) - flow_delta);
-        edge_descriptor rev = get(reverse_edge, u_v);
-        put(residual_capacity, rev, get(residual_capacity, rev) + flow_delta);
-
-        put(excess_flow, u, get(excess_flow, u) - flow_delta);
-        put(excess_flow, v, get(excess_flow, v) + flow_delta);
-      } // push_flow()
-
-      //=======================================================================
-      // The main purpose of this routine is to set distance[v]
-      // to the smallest value allowed by the valid labeling constraints,
-      // which are:
-      // distance[t] = 0
-      // distance[u] <= distance[v] + 1   for every residual edge (u,v)
-      //
-      distance_size_type relabel_distance(vertex_descriptor u)
-      {
-        BOOST_USING_STD_MAX();
-        ++relabel_count;
-        work_since_last_update += beta();
-
-        distance_size_type min_distance = num_vertices(g);
-        put(distance, u, min_distance);
-
-        // Examine the residual out-edges of vertex i, choosing the
-        // edge whose target vertex has the minimal distance.
-        out_edge_iterator ai, a_end, min_edge_iter;
-        for (boost::tie(ai, a_end) = out_edges(u, g); ai != a_end; ++ai) {
-          ++work_since_last_update;
-          edge_descriptor a = *ai;
-          vertex_descriptor v = target(a, g);
-          if (is_residual_edge(a) && get(distance, v) < min_distance) {
-            min_distance = get(distance, v);
-            min_edge_iter = ai;
-          }
-        }
-        ++min_distance;
-        if (min_distance < n) {
-          put(distance, u, min_distance);     // this is the main action
-          current[u].first = min_edge_iter;
-          max_distance = max BOOST_PREVENT_MACRO_SUBSTITUTION(min_distance, max_distance);
-        }
-        return min_distance;
-      } // relabel_distance()
-
-      //=======================================================================
-      // cleanup beyond the gap
-      void gap(distance_size_type empty_distance)
-      {
-        ++gap_count;
-
-        distance_size_type r; // distance of layer before the current layer
-        r = empty_distance - 1;
-
-        // Set the distance for the vertices beyond the gap to "infinity".
-        for (layer_iterator l = layers.begin() + empty_distance + 1;
-             l < layers.begin() + max_distance; ++l) {
-          list_iterator i;
-          for (i = l->inactive_vertices.begin(); 
-               i != l->inactive_vertices.end(); ++i) {
-            put(distance, *i, n);
-            ++gap_node_count;
-          }
-          l->inactive_vertices.clear();
-        }
-        max_distance = r;
-        max_active = r;
-      }
-
-      //=======================================================================
-      // This is the core part of the algorithm, "phase one".
-      FlowValue maximum_preflow()
-      {
-        work_since_last_update = 0;
-
-        while (max_active >= min_active) { // "main" loop
-
-          Layer& layer = layers[max_active];
-          list_iterator u_iter = layer.active_vertices.begin();
-
-          if (u_iter == layer.active_vertices.end())
-            --max_active;
-          else {
-            vertex_descriptor u = *u_iter;
-            remove_from_active_list(u);
-            
-            discharge(u);
-
-            if (work_since_last_update * global_update_frequency() > nm) {
-              global_distance_update();
-              work_since_last_update = 0;
-            }
-          }
-        } // while (max_active >= min_active)
-
-        return get(excess_flow, sink);
-      } // maximum_preflow()
-
-      //=======================================================================
-      // remove excess flow, the "second phase"
-      // This does a DFS on the reverse flow graph of nodes with excess flow.
-      // If a cycle is found, cancel it.
-      // Return the nodes with excess flow in topological order.
-      //
-      // Unlike the prefl_to_flow() implementation, we use
-      //   "color" instead of "distance" for the DFS labels
-      //   "parent" instead of nl_prev for the DFS tree
-      //   "topo_next" instead of nl_next for the topological ordering
-      void convert_preflow_to_flow()
-      {
-        vertex_iterator u_iter, u_end;
-        out_edge_iterator ai, a_end;
-
-        vertex_descriptor r, restart, u;
-
-        std::vector<vertex_descriptor> parent(n);
-        std::vector<vertex_descriptor> topo_next(n);
-
-        vertex_descriptor tos(parent[0]), 
-          bos(parent[0]); // bogus initialization, just to avoid warning
-        bool bos_null = true;
-
-        // handle self-loops
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter)
-          for (boost::tie(ai, a_end) = out_edges(*u_iter, g); ai != a_end; ++ai)
-            if (target(*ai, g) == *u_iter)
-              put(residual_capacity, *ai, get(capacity, *ai));
-
-        // initialize
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          u = *u_iter;
-          put(color, u, ColorTraits::white());
-          parent[get(index, u)] = u;
-          current[u] = out_edges(u, g);
-        }
-        // eliminate flow cycles and topologically order the vertices
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          u = *u_iter;
-          if (get(color, u) == ColorTraits::white() 
-              && get(excess_flow, u) > 0
-              && u != src && u != sink ) {
-            r = u;
-            put(color, r, ColorTraits::gray());
-            while (1) {
-              for (; current[u].first != current[u].second; ++current[u].first) {
-                edge_descriptor a = *current[u].first;
-                if (get(capacity, a) == 0 && is_residual_edge(a)) {
-                  vertex_descriptor v = target(a, g);
-                  if (get(color, v) == ColorTraits::white()) {
-                    put(color, v, ColorTraits::gray());
-                    parent[get(index, v)] = u;
-                    u = v;
-                    break;
-                  } else if (get(color, v) == ColorTraits::gray()) {
-                    // find minimum flow on the cycle
-                    FlowValue delta = get(residual_capacity, a);
-                    while (1) {
-                      BOOST_USING_STD_MIN();
-                      delta = min BOOST_PREVENT_MACRO_SUBSTITUTION(delta, get(residual_capacity, *current[v].first));
-                      if (v == u)
-                        break;
-                      else
-                        v = target(*current[v].first, g);
-                    }
-                    // remove delta flow units
-                    v = u;
-                    while (1) {
-                      a = *current[v].first;
-                      put(residual_capacity, a, get(residual_capacity, a) - delta);
-                      edge_descriptor rev = get(reverse_edge, a);
-                      put(residual_capacity, rev, get(residual_capacity, rev) + delta);
-                      v = target(a, g);
-                      if (v == u)
-                        break;
-                    }
-
-                    // back-out of DFS to the first saturated edge
-                    restart = u;
-                    for (v = target(*current[u].first, g); v != u; v = target(a, g)){
-                      a = *current[v].first;
-                      if (get(color, v) == ColorTraits::white() 
-                          || is_saturated(a)) {
-                        put(color, target(*current[v].first, g), ColorTraits::white());
-                        if (get(color, v) != ColorTraits::white())
-                          restart = v;
-                      }
-                    }
-                    if (restart != u) {
-                      u = restart;
-                      ++current[u].first;
-                      break;
-                    }
-                  } // else if (color[v] == ColorTraits::gray())
-                } // if (get(capacity, a) == 0 ...
-              } // for out_edges(u, g)  (though "u" changes during loop)
-              
-              if ( current[u].first == current[u].second ) {
-                // scan of i is complete
-                put(color, u, ColorTraits::black());
-                if (u != src) {
-                  if (bos_null) {
-                    bos = u;
-                    bos_null = false;
-                    tos = u;
-                  } else {
-                    topo_next[get(index, u)] = tos;
-                    tos = u;
-                  }
-                }
-                if (u != r) {
-                  u = parent[get(index, u)];
-                  ++current[u].first;
-                } else
-                  break;
-              }
-            } // while (1)
-          } // if (color[u] == white && excess_flow[u] > 0 & ...)
-        } // for all vertices in g
-
-        // return excess flows
-        // note that the sink is not on the stack
-        if (! bos_null) {
-          for (u = tos; u != bos; u = topo_next[get(index, u)]) {
-            boost::tie(ai, a_end) = out_edges(u, g);
-            while (get(excess_flow, u) > 0 && ai != a_end) {
-              if (get(capacity, *ai) == 0 && is_residual_edge(*ai))
-                push_flow(*ai);
-              ++ai;
-            }
-          }
-          // do the bottom
-          u = bos;
-          boost::tie(ai, a_end) = out_edges(u, g);
-          while (get(excess_flow, u) > 0 && ai != a_end) {
-            if (get(capacity, *ai) == 0 && is_residual_edge(*ai))
-              push_flow(*ai);
-            ++ai;
-          }
-        }
-        
-      } // convert_preflow_to_flow()
-
-      //=======================================================================
-      inline bool is_flow()
-      {
-        vertex_iterator u_iter, u_end;
-        out_edge_iterator ai, a_end;
-
-        // check edge flow values
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          for (boost::tie(ai, a_end) = out_edges(*u_iter, g); ai != a_end; ++ai) {
-            edge_descriptor a = *ai;
-            if (get(capacity, a) > 0)
-              if ((get(residual_capacity, a) + get(residual_capacity, get(reverse_edge, a))
-                   != get(capacity, a) + get(capacity, get(reverse_edge, a)))
-                  || (get(residual_capacity, a) < 0)
-                  || (get(residual_capacity, get(reverse_edge, a)) < 0))
-              return false;
-          }
-        }
-        
-        // check conservation
-        FlowValue sum;  
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-          vertex_descriptor u = *u_iter;
-          if (u != src && u != sink) {
-            if (get(excess_flow, u) != 0)
-              return false;
-            sum = 0;
-            for (boost::tie(ai, a_end) = out_edges(u, g); ai != a_end; ++ai) 
-              if (get(capacity, *ai) > 0)
-                sum -= get(capacity, *ai) - get(residual_capacity, *ai);
-              else
-                sum += get(residual_capacity, *ai);
-
-            if (get(excess_flow, u) != sum)
-              return false;
-          }
-        }
-
-        return true;
-      } // is_flow()
-
-      bool is_optimal() {
-        // check if mincut is saturated...
-        global_distance_update();
-        return get(distance, src) >= n;
-      }
-
-      void print_statistics(std::ostream& os) const {
-        os << "pushes:     " << push_count << std::endl
-           << "relabels:   " << relabel_count << std::endl
-           << "updates:    " << update_count << std::endl
-           << "gaps:       " << gap_count << std::endl
-           << "gap nodes:  " << gap_node_count << std::endl
-           << std::endl;
-      }
-
-      void print_flow_values(std::ostream& os) const {
-        os << "flow values" << std::endl;
-        vertex_iterator u_iter, u_end;
-        out_edge_iterator ei, e_end;
-        for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter)
-          for (boost::tie(ei, e_end) = out_edges(*u_iter, g); ei != e_end; ++ei)
-            if (get(capacity, *ei) > 0)
-              os << *u_iter << " " << target(*ei, g) << " " 
-                 << (get(capacity, *ei) - get(residual_capacity, *ei)) << std::endl;
-        os << std::endl;
-      }
-
-      //=======================================================================
-
-      Graph& g;
-      vertices_size_type n;
-      vertices_size_type nm;
-      EdgeCapacityMap capacity;
-      vertex_descriptor src;
-      vertex_descriptor sink;
-      VertexIndexMap index;
-
-      // will need to use random_access_property_map with these
-      std::vector< FlowValue > excess_flow_data;
-      iterator_property_map<typename std::vector<FlowValue>::iterator, VertexIndexMap> excess_flow;
-      std::vector< std::pair<out_edge_iterator, out_edge_iterator> > current_data;
-      iterator_property_map<
-        typename std::vector< std::pair<out_edge_iterator, out_edge_iterator> >::iterator,
-        VertexIndexMap> current;
-      std::vector< distance_size_type > distance_data;
-      iterator_property_map<
-        typename std::vector< distance_size_type >::iterator,
-        VertexIndexMap> distance;
-      std::vector< default_color_type > color_data;
-      iterator_property_map<
-        std::vector< default_color_type >::iterator,
-        VertexIndexMap> color;
-
-      // Edge Property Maps that must be interior to the graph
-      ReverseEdgeMap reverse_edge;
-      ResidualCapacityEdgeMap residual_capacity;
-
-      LayerArray layers;
-      std::vector< list_iterator > layer_list_ptr_data;
-      iterator_property_map<typename std::vector< list_iterator >::iterator, VertexIndexMap> layer_list_ptr;
-      distance_size_type max_distance;  // maximal distance
-      distance_size_type max_active;    // maximal distance with active node
-      distance_size_type min_active;    // minimal distance with active node
-      boost::queue<vertex_descriptor> Q;
-
-      // Statistics counters
-      long push_count;
-      long update_count;
-      long relabel_count;
-      long gap_count;
-      long gap_node_count;
-
-      inline double global_update_frequency() { return 0.5; }
-      inline vertices_size_type alpha() { return 6; }
-      inline long beta() { return 12; }
-
-      long work_since_last_update;
-    };
-
-  } // namespace detail
-  
-  template <class Graph, 
-            class CapacityEdgeMap, class ResidualCapacityEdgeMap,
-            class ReverseEdgeMap, class VertexIndexMap>
-  typename property_traits<CapacityEdgeMap>::value_type
-  push_relabel_max_flow
-    (Graph& g, 
-     typename graph_traits<Graph>::vertex_descriptor src,
-     typename graph_traits<Graph>::vertex_descriptor sink,
-     CapacityEdgeMap cap, ResidualCapacityEdgeMap res,
-     ReverseEdgeMap rev, VertexIndexMap index_map)
-  {
-    typedef typename property_traits<CapacityEdgeMap>::value_type FlowValue;
-    
-    detail::push_relabel<Graph, CapacityEdgeMap, ResidualCapacityEdgeMap, 
-      ReverseEdgeMap, VertexIndexMap, FlowValue>
-      algo(g, cap, res, rev, src, sink, index_map);
-    
-    FlowValue flow = algo.maximum_preflow();
-    
-    algo.convert_preflow_to_flow();
-    
-    BOOST_ASSERT(algo.is_flow());
-    BOOST_ASSERT(algo.is_optimal());
-    
-    return flow;
-  } // push_relabel_max_flow()
-  
-  template <class Graph, class P, class T, class R>
-  typename detail::edge_capacity_value<Graph, P, T, R>::type
-  push_relabel_max_flow
-    (Graph& g, 
-     typename graph_traits<Graph>::vertex_descriptor src,
-     typename graph_traits<Graph>::vertex_descriptor sink,
-     const bgl_named_params<P, T, R>& params)
-  {
-    return push_relabel_max_flow
-      (g, src, sink,
-       choose_const_pmap(get_param(params, edge_capacity), g, edge_capacity),
-       choose_pmap(get_param(params, edge_residual_capacity), 
-                   g, edge_residual_capacity),
-       choose_const_pmap(get_param(params, edge_reverse), g, edge_reverse),
-       choose_const_pmap(get_param(params, vertex_index), g, vertex_index)
-       );
-  }
-
-  template <class Graph>
-  typename property_traits<
-    typename property_map<Graph, edge_capacity_t>::const_type
-  >::value_type
-  push_relabel_max_flow
-    (Graph& g, 
-     typename graph_traits<Graph>::vertex_descriptor src,
-     typename graph_traits<Graph>::vertex_descriptor sink)
-  {
-    bgl_named_params<int, buffer_param_t> params(0); // bogus empty param
-    return push_relabel_max_flow(g, src, sink, params);
-  }
-
-} // namespace boost
-
-#endif // BOOST_PUSH_RELABEL_MAX_FLOW_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/r_c_shortest_paths.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/r_c_shortest_paths.hpp
deleted file mode 100644
index afa50cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/r_c_shortest_paths.hpp
+++ /dev/null
@@ -1,782 +0,0 @@
-// r_c_shortest_paths.hpp header file
-
-// Copyright Michael Drexl 2005, 2006.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_GRAPH_R_C_SHORTEST_PATHS_HPP
-#define BOOST_GRAPH_R_C_SHORTEST_PATHS_HPP
-
-#include <map>
-#include <queue>
-#include <vector>
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-// r_c_shortest_paths_label struct
-template<class Graph, class Resource_Container>
-struct r_c_shortest_paths_label
-{
-  r_c_shortest_paths_label
-  ( const unsigned long n, 
-    const Resource_Container& rc = Resource_Container(), 
-    const r_c_shortest_paths_label* const pl = 0, 
-    const typename graph_traits<Graph>::edge_descriptor& ed = 
-      graph_traits<Graph>::edge_descriptor(), 
-    const typename graph_traits<Graph>::vertex_descriptor& vd = 
-      graph_traits<Graph>::vertex_descriptor() )
-  : num( n ), 
-    cumulated_resource_consumption( rc ), 
-    p_pred_label( pl ), 
-    pred_edge( ed ), 
-    resident_vertex( vd ), 
-    b_is_dominated( false ), 
-    b_is_processed( false ),
-    b_is_valid( true )
-  {}
-  r_c_shortest_paths_label& operator=( const r_c_shortest_paths_label& other )
-  {
-    if( this == &other )
-      return *this;
-    this->~r_c_shortest_paths_label();
-    new( this ) r_c_shortest_paths_label( other );
-    return *this;
-  }
-  const unsigned long num;
-  Resource_Container cumulated_resource_consumption;
-  const r_c_shortest_paths_label* const p_pred_label;
-  const typename graph_traits<Graph>::edge_descriptor pred_edge;
-  const typename graph_traits<Graph>::vertex_descriptor resident_vertex;
-  bool b_is_dominated;
-  bool b_is_processed;
-  bool b_is_valid;
-}; // r_c_shortest_paths_label
-
-template<class Graph, class Resource_Container>
-inline bool operator==
-( const r_c_shortest_paths_label<Graph, Resource_Container>& l1, 
-  const r_c_shortest_paths_label<Graph, Resource_Container>& l2 )
-{
-  assert (l1.b_is_valid && l2.b_is_valid);
-  return 
-    l1.cumulated_resource_consumption == l2.cumulated_resource_consumption;
-}
-
-template<class Graph, class Resource_Container>
-inline bool operator!=
-( const r_c_shortest_paths_label<Graph, Resource_Container>& l1, 
-  const r_c_shortest_paths_label<Graph, Resource_Container>& l2 )
-{
-  assert (l1.b_is_valid && l2.b_is_valid);
-  return 
-    !( l1 == l2 );
-}
-
-template<class Graph, class Resource_Container>
-inline bool operator<
-( const r_c_shortest_paths_label<Graph, Resource_Container>& l1, 
-  const r_c_shortest_paths_label<Graph, Resource_Container>& l2 )
-{
-  assert (l1.b_is_valid && l2.b_is_valid);
-  return 
-    l1.cumulated_resource_consumption < l2.cumulated_resource_consumption;
-}
-
-template<class Graph, class Resource_Container>
-inline bool operator>
-( const r_c_shortest_paths_label<Graph, Resource_Container>& l1, 
-  const r_c_shortest_paths_label<Graph, Resource_Container>& l2 )
-{
-  assert (l1.b_is_valid && l2.b_is_valid);
-  return 
-    l2.cumulated_resource_consumption < l1.cumulated_resource_consumption;
-}
-
-template<class Graph, class Resource_Container>
-inline bool operator<=
-( const r_c_shortest_paths_label<Graph, Resource_Container>& l1, 
-  const r_c_shortest_paths_label<Graph, Resource_Container>& l2 )
-{
-  assert (l1.b_is_valid && l2.b_is_valid);
-  return 
-    l1 < l2 || l1 == l2;
-}
-
-template<class Graph, class Resource_Container>
-inline bool operator>=
-( const r_c_shortest_paths_label<Graph, Resource_Container>& l1, 
-  const r_c_shortest_paths_label<Graph, Resource_Container>& l2 )
-{
-  assert (l1.b_is_valid && l2.b_is_valid);
-  return l2 < l1 || l1 == l2;
-}
-
-namespace detail {
-
-// ks_smart_pointer class
-// from:
-// Kuhlins, S.; Schader, M. (1999):
-// Die C++-Standardbibliothek
-// Springer, Berlin
-// p. 333 f.
-template<class T>
-class ks_smart_pointer
-{
-public:
-  ks_smart_pointer( T* ptt = 0 ) : pt( ptt ) {}
-  ks_smart_pointer( const ks_smart_pointer& other ) : pt( other.pt ) {}
-  ks_smart_pointer& operator=( const ks_smart_pointer& other )
-    { pt = other.pt; return *this; }
-  ~ks_smart_pointer() {}
-  T& operator*() const { return *pt; }
-  T* operator->() const { return pt; }
-  T* get() const { return pt; }
-  operator T*() const { return pt; }
-  friend bool operator==( const ks_smart_pointer& t, 
-                          const ks_smart_pointer& u )
-    { return *t.pt == *u.pt; }
-  friend bool operator!=( const ks_smart_pointer& t, 
-                          const ks_smart_pointer& u )
-    { return *t.pt != *u.pt; }
-  friend bool operator<( const ks_smart_pointer& t, 
-                         const ks_smart_pointer& u )
-    { return *t.pt < *u.pt; }
-  friend bool operator>( const ks_smart_pointer& t, 
-                         const ks_smart_pointer& u )
-    { return *t.pt > *u.pt; }
-  friend bool operator<=( const ks_smart_pointer& t, 
-                          const ks_smart_pointer& u )
-    { return *t.pt <= *u.pt; }
-  friend bool operator>=( const ks_smart_pointer& t, 
-                          const ks_smart_pointer& u )
-    { return *t.pt >= *u.pt; }
-private:
-  T* pt;
-}; // ks_smart_pointer
-
-
-// r_c_shortest_paths_dispatch function (body/implementation)
-template<class Graph, 
-         class VertexIndexMap, 
-         class EdgeIndexMap, 
-         class Resource_Container, 
-         class Resource_Extension_Function, 
-         class Dominance_Function, 
-         class Label_Allocator, 
-         class Visitor>
-void r_c_shortest_paths_dispatch
-( const Graph& g, 
-  const VertexIndexMap& vertex_index_map, 
-  const EdgeIndexMap& /*edge_index_map*/, 
-  typename graph_traits<Graph>::vertex_descriptor s, 
-  typename graph_traits<Graph>::vertex_descriptor t, 
-  // each inner vector corresponds to a pareto-optimal path
-  std::vector
-    <std::vector
-      <typename graph_traits
-        <Graph>::edge_descriptor> >& pareto_optimal_solutions, 
-  std::vector
-    <Resource_Container>& pareto_optimal_resource_containers, 
-  bool b_all_pareto_optimal_solutions, 
-  // to initialize the first label/resource container 
-  // and to carry the type information
-  const Resource_Container& rc, 
-  Resource_Extension_Function& ref, 
-  Dominance_Function& dominance, 
-  // to specify the memory management strategy for the labels
-  Label_Allocator /*la*/, 
-  Visitor vis )
-{
-  pareto_optimal_resource_containers.clear();
-  pareto_optimal_solutions.clear();
-
-  size_t i_label_num = 0;
-  typedef 
-    typename 
-      Label_Allocator::template rebind
-        <r_c_shortest_paths_label
-          <Graph, Resource_Container> >::other LAlloc;
-  LAlloc l_alloc;
-  typedef 
-    ks_smart_pointer
-      <r_c_shortest_paths_label<Graph, Resource_Container> > Splabel;
-  std::priority_queue<Splabel, std::vector<Splabel>, std::greater<Splabel> > 
-    unprocessed_labels;
-
-  bool b_feasible = true;
-  r_c_shortest_paths_label<Graph, Resource_Container>* first_label = 
-    l_alloc.allocate( 1 );
-  l_alloc.construct
-    ( first_label, 
-      r_c_shortest_paths_label
-        <Graph, Resource_Container>( i_label_num++, 
-                                     rc, 
-                                     0, 
-                                     typename graph_traits<Graph>::
-                                       edge_descriptor(), 
-                                     s ) );
-
-  Splabel splabel_first_label = Splabel( first_label );
-  unprocessed_labels.push( splabel_first_label );
-  std::vector<std::list<Splabel> > vec_vertex_labels_data( num_vertices( g ) );
-  iterator_property_map<typename std::vector<std::list<Splabel> >::iterator,
-                        VertexIndexMap>
-    vec_vertex_labels(vec_vertex_labels_data.begin(), vertex_index_map);
-  vec_vertex_labels[s].push_back( splabel_first_label );
-  typedef
-    std::vector<typename std::list<Splabel>::iterator> 
-    vec_last_valid_positions_for_dominance_data_type;
-  vec_last_valid_positions_for_dominance_data_type
-    vec_last_valid_positions_for_dominance_data( num_vertices( g ) );
-  iterator_property_map<
-      typename vec_last_valid_positions_for_dominance_data_type::iterator,
-      VertexIndexMap>
-    vec_last_valid_positions_for_dominance
-      (vec_last_valid_positions_for_dominance_data.begin(),
-       vertex_index_map);
-  BGL_FORALL_VERTICES_T(v, g, Graph) {
-    put(vec_last_valid_positions_for_dominance, v, vec_vertex_labels[v].begin());
-  }
-  std::vector<size_t> vec_last_valid_index_for_dominance_data( num_vertices( g ), 0 );
-  iterator_property_map<std::vector<size_t>::iterator, VertexIndexMap>
-    vec_last_valid_index_for_dominance
-      (vec_last_valid_index_for_dominance_data.begin(), vertex_index_map);
-  std::vector<bool> 
-    b_vec_vertex_already_checked_for_dominance_data( num_vertices( g ), false );
-  iterator_property_map<std::vector<bool>::iterator, VertexIndexMap>
-    b_vec_vertex_already_checked_for_dominance
-      (b_vec_vertex_already_checked_for_dominance_data.begin(),
-       vertex_index_map);
-
-  while( !unprocessed_labels.empty()  && vis.on_enter_loop(unprocessed_labels, g) )
-  {
-    Splabel cur_label = unprocessed_labels.top();
-    assert (cur_label->b_is_valid);
-    unprocessed_labels.pop();
-    vis.on_label_popped( *cur_label, g );
-    // an Splabel object in unprocessed_labels and the respective Splabel 
-    // object in the respective list<Splabel> of vec_vertex_labels share their 
-    // embedded r_c_shortest_paths_label object
-    // to avoid memory leaks, dominated 
-    // r_c_shortest_paths_label objects are marked and deleted when popped 
-    // from unprocessed_labels, as they can no longer be deleted at the end of 
-    // the function; only the Splabel object in unprocessed_labels still 
-    // references the r_c_shortest_paths_label object
-    // this is also for efficiency, because the else branch is executed only 
-    // if there is a chance that extending the 
-    // label leads to new undominated labels, which in turn is possible only 
-    // if the label to be extended is undominated
-    assert (cur_label->b_is_valid);
-    if( !cur_label->b_is_dominated )
-    {
-      typename boost::graph_traits<Graph>::vertex_descriptor
-        i_cur_resident_vertex = cur_label->resident_vertex;
-      std::list<Splabel>& list_labels_cur_vertex = 
-        get(vec_vertex_labels, i_cur_resident_vertex);
-      if( list_labels_cur_vertex.size() >= 2 
-          && vec_last_valid_index_for_dominance[i_cur_resident_vertex] 
-               < list_labels_cur_vertex.size() )
-      {
-        typename std::list<Splabel>::iterator outer_iter = 
-          list_labels_cur_vertex.begin();
-        bool b_outer_iter_at_or_beyond_last_valid_pos_for_dominance = false;
-        while( outer_iter != list_labels_cur_vertex.end() )
-        {
-          Splabel cur_outer_splabel = *outer_iter;
-          assert (cur_outer_splabel->b_is_valid);
-          typename std::list<Splabel>::iterator inner_iter = outer_iter;
-          if( !b_outer_iter_at_or_beyond_last_valid_pos_for_dominance 
-              && outer_iter == 
-                   get(vec_last_valid_positions_for_dominance,
-                       i_cur_resident_vertex) )
-            b_outer_iter_at_or_beyond_last_valid_pos_for_dominance = true;
-          if( !get(b_vec_vertex_already_checked_for_dominance, i_cur_resident_vertex)
-              || b_outer_iter_at_or_beyond_last_valid_pos_for_dominance )
-          {
-            ++inner_iter;
-          }
-          else
-          {
-            inner_iter = 
-              get(vec_last_valid_positions_for_dominance,
-                  i_cur_resident_vertex);
-            ++inner_iter;
-          }
-          bool b_outer_iter_erased = false;
-          while( inner_iter != list_labels_cur_vertex.end() )
-          {
-            Splabel cur_inner_splabel = *inner_iter;
-            assert (cur_inner_splabel->b_is_valid);
-            if( dominance( cur_outer_splabel->
-                             cumulated_resource_consumption, 
-                           cur_inner_splabel->
-                             cumulated_resource_consumption ) )
-            {
-              typename std::list<Splabel>::iterator buf = inner_iter;
-              ++inner_iter;
-              list_labels_cur_vertex.erase( buf );
-              if( cur_inner_splabel->b_is_processed )
-              {
-                cur_inner_splabel->b_is_valid = false;
-                l_alloc.destroy( cur_inner_splabel.get() );
-                l_alloc.deallocate( cur_inner_splabel.get(), 1 );
-              }
-              else
-                cur_inner_splabel->b_is_dominated = true;
-              continue;
-            }
-            else
-              ++inner_iter;
-            if( dominance( cur_inner_splabel->
-                             cumulated_resource_consumption, 
-                           cur_outer_splabel->
-                             cumulated_resource_consumption ) )
-            {
-              typename std::list<Splabel>::iterator buf = outer_iter;
-              ++outer_iter;
-              list_labels_cur_vertex.erase( buf );
-              b_outer_iter_erased = true;
-              assert (cur_outer_splabel->b_is_valid);
-              if( cur_outer_splabel->b_is_processed )
-              {
-                cur_outer_splabel->b_is_valid = false;
-                l_alloc.destroy( cur_outer_splabel.get() );
-                l_alloc.deallocate( cur_outer_splabel.get(), 1 );
-              }
-              else
-                cur_outer_splabel->b_is_dominated = true;
-              break;
-            }
-          }
-          if( !b_outer_iter_erased )
-            ++outer_iter;
-        }
-        if( list_labels_cur_vertex.size() > 1 )
-          put(vec_last_valid_positions_for_dominance, i_cur_resident_vertex,
-            (--(list_labels_cur_vertex.end())));
-        else
-          put(vec_last_valid_positions_for_dominance, i_cur_resident_vertex,
-            list_labels_cur_vertex.begin());
-        put(b_vec_vertex_already_checked_for_dominance,
-            i_cur_resident_vertex, true);
-        put(vec_last_valid_index_for_dominance, i_cur_resident_vertex,
-          list_labels_cur_vertex.size() - 1);
-      }
-    }
-    assert (b_all_pareto_optimal_solutions || cur_label->b_is_valid);
-    if( !b_all_pareto_optimal_solutions && cur_label->resident_vertex == t )
-    {
-      // the devil don't sleep
-      if( cur_label->b_is_dominated )
-      {
-        cur_label->b_is_valid = false;
-        l_alloc.destroy( cur_label.get() );
-        l_alloc.deallocate( cur_label.get(), 1 );
-      }
-      while( unprocessed_labels.size() )
-      {
-        Splabel l = unprocessed_labels.top();
-        assert (l->b_is_valid);
-        unprocessed_labels.pop();
-        // delete only dominated labels, because nondominated labels are 
-        // deleted at the end of the function
-        if( l->b_is_dominated )
-        {
-          l->b_is_valid = false;
-          l_alloc.destroy( l.get() );
-          l_alloc.deallocate( l.get(), 1 );
-        }
-      }
-      break;
-    }
-    if( !cur_label->b_is_dominated )
-    {
-      cur_label->b_is_processed = true;
-      vis.on_label_not_dominated( *cur_label, g );
-      typename graph_traits<Graph>::vertex_descriptor cur_vertex = 
-        cur_label->resident_vertex;
-      typename graph_traits<Graph>::out_edge_iterator oei, oei_end;
-      for( boost::tie( oei, oei_end ) = out_edges( cur_vertex, g ); 
-           oei != oei_end; 
-           ++oei )
-      {
-        b_feasible = true;
-        r_c_shortest_paths_label<Graph, Resource_Container>* new_label = 
-          l_alloc.allocate( 1 );
-        l_alloc.construct( new_label, 
-                           r_c_shortest_paths_label
-                             <Graph, Resource_Container>
-                               ( i_label_num++, 
-                                 cur_label->cumulated_resource_consumption, 
-                                 cur_label.get(), 
-                                 *oei, 
-                                 target( *oei, g ) ) );
-        b_feasible = 
-          ref( g, 
-               new_label->cumulated_resource_consumption, 
-               new_label->p_pred_label->cumulated_resource_consumption, 
-               new_label->pred_edge );
-
-        if( !b_feasible )
-        {
-          vis.on_label_not_feasible( *new_label, g );
-          new_label->b_is_valid = false;
-          l_alloc.destroy( new_label );
-          l_alloc.deallocate( new_label, 1 );
-        }
-        else
-        {
-          const r_c_shortest_paths_label<Graph, Resource_Container>& 
-            ref_new_label = *new_label;
-          vis.on_label_feasible( ref_new_label, g );
-          Splabel new_sp_label( new_label );
-          vec_vertex_labels[new_sp_label->resident_vertex].
-            push_back( new_sp_label );
-          unprocessed_labels.push( new_sp_label );
-        }
-      }
-    }
-    else
-    {
-      assert (cur_label->b_is_valid);
-      vis.on_label_dominated( *cur_label, g );
-      cur_label->b_is_valid = false;
-      l_alloc.destroy( cur_label.get() );
-      l_alloc.deallocate( cur_label.get(), 1 );
-    }
-  }
-  std::list<Splabel> dsplabels = get(vec_vertex_labels, t);
-  typename std::list<Splabel>::const_iterator csi = dsplabels.begin();
-  typename std::list<Splabel>::const_iterator csi_end = dsplabels.end();
-  // if d could be reached from o
-  if( !dsplabels.empty() )
-  {
-    for( ; csi != csi_end; ++csi )
-    {
-      std::vector<typename graph_traits<Graph>::edge_descriptor> 
-        cur_pareto_optimal_path;
-      const r_c_shortest_paths_label<Graph, Resource_Container>* p_cur_label = 
-        (*csi).get();
-      assert (p_cur_label->b_is_valid);
-      pareto_optimal_resource_containers.
-        push_back( p_cur_label->cumulated_resource_consumption );
-      while( p_cur_label->num != 0 )
-      {
-        cur_pareto_optimal_path.push_back( p_cur_label->pred_edge );
-        p_cur_label = p_cur_label->p_pred_label;
-        assert (p_cur_label->b_is_valid);
-      }
-      pareto_optimal_solutions.push_back( cur_pareto_optimal_path );
-      if( !b_all_pareto_optimal_solutions )
-        break;
-    }
-  }
-
-  BGL_FORALL_VERTICES_T(i, g, Graph) {
-    const std::list<Splabel>& list_labels_cur_vertex = vec_vertex_labels[i];
-    csi_end = list_labels_cur_vertex.end();
-    for( csi = list_labels_cur_vertex.begin(); csi != csi_end; ++csi )
-    {
-      assert ((*csi)->b_is_valid);
-      (*csi)->b_is_valid = false;
-      l_alloc.destroy( (*csi).get() );
-      l_alloc.deallocate( (*csi).get(), 1 );
-    }
-  }
-} // r_c_shortest_paths_dispatch
-
-} // detail
-
-// default_r_c_shortest_paths_visitor struct
-struct default_r_c_shortest_paths_visitor
-{
-  template<class Label, class Graph>
-  void on_label_popped( const Label&, const Graph& ) {}
-  template<class Label, class Graph>
-  void on_label_feasible( const Label&, const Graph& ) {}
-  template<class Label, class Graph>
-  void on_label_not_feasible( const Label&, const Graph& ) {}
-  template<class Label, class Graph>
-  void on_label_dominated( const Label&, const Graph& ) {}
-  template<class Label, class Graph>
-  void on_label_not_dominated( const Label&, const Graph& ) {}
-  template<class Queue, class Graph>             
-  bool on_enter_loop(const Queue& queue, const Graph& graph) {return true;}
-}; // default_r_c_shortest_paths_visitor
-
-
-// default_r_c_shortest_paths_allocator
-typedef 
-  std::allocator<int> default_r_c_shortest_paths_allocator;
-// default_r_c_shortest_paths_allocator
-
-
-// r_c_shortest_paths functions (handle/interface)
-// first overload:
-// - return all pareto-optimal solutions
-// - specify Label_Allocator and Visitor arguments
-template<class Graph, 
-         class VertexIndexMap, 
-         class EdgeIndexMap, 
-         class Resource_Container, 
-         class Resource_Extension_Function, 
-         class Dominance_Function, 
-         class Label_Allocator, 
-         class Visitor>
-void r_c_shortest_paths
-( const Graph& g, 
-  const VertexIndexMap& vertex_index_map, 
-  const EdgeIndexMap& edge_index_map, 
-  typename graph_traits<Graph>::vertex_descriptor s, 
-  typename graph_traits<Graph>::vertex_descriptor t, 
-  // each inner vector corresponds to a pareto-optimal path
-  std::vector<std::vector<typename graph_traits<Graph>::edge_descriptor> >& 
-    pareto_optimal_solutions, 
-  std::vector<Resource_Container>& pareto_optimal_resource_containers, 
-  // to initialize the first label/resource container 
-  // and to carry the type information
-  const Resource_Container& rc, 
-  const Resource_Extension_Function& ref, 
-  const Dominance_Function& dominance, 
-  // to specify the memory management strategy for the labels
-  Label_Allocator la, 
-  Visitor vis )
-{
-  r_c_shortest_paths_dispatch( g, 
-                               vertex_index_map, 
-                               edge_index_map, 
-                               s, 
-                               t, 
-                               pareto_optimal_solutions, 
-                               pareto_optimal_resource_containers, 
-                               true, 
-                               rc, 
-                               ref, 
-                               dominance, 
-                               la, 
-                               vis );
-}
-
-// second overload:
-// - return only one pareto-optimal solution
-// - specify Label_Allocator and Visitor arguments
-template<class Graph, 
-         class VertexIndexMap, 
-         class EdgeIndexMap, 
-         class Resource_Container, 
-         class Resource_Extension_Function, 
-         class Dominance_Function, 
-         class Label_Allocator, 
-         class Visitor>
-void r_c_shortest_paths
-( const Graph& g, 
-  const VertexIndexMap& vertex_index_map, 
-  const EdgeIndexMap& edge_index_map, 
-  typename graph_traits<Graph>::vertex_descriptor s, 
-  typename graph_traits<Graph>::vertex_descriptor t, 
-  std::vector<typename graph_traits<Graph>::edge_descriptor>& 
-    pareto_optimal_solution, 
-  Resource_Container& pareto_optimal_resource_container, 
-  // to initialize the first label/resource container 
-  // and to carry the type information
-  const Resource_Container& rc, 
-  const Resource_Extension_Function& ref, 
-  const Dominance_Function& dominance, 
-  // to specify the memory management strategy for the labels
-  Label_Allocator la, 
-  Visitor vis )
-{
-  // each inner vector corresponds to a pareto-optimal path
-  std::vector<std::vector<typename graph_traits<Graph>::edge_descriptor> > 
-    pareto_optimal_solutions;
-  std::vector<Resource_Container> pareto_optimal_resource_containers;
-  r_c_shortest_paths_dispatch( g, 
-                               vertex_index_map, 
-                               edge_index_map, 
-                               s, 
-                               t, 
-                               pareto_optimal_solutions, 
-                               pareto_optimal_resource_containers, 
-                               false, 
-                               rc, 
-                               ref, 
-                               dominance, 
-                               la, 
-                               vis );
-  if (!pareto_optimal_solutions.empty()) {
-    pareto_optimal_solution = pareto_optimal_solutions[0];
-    pareto_optimal_resource_container = pareto_optimal_resource_containers[0];
-  }
-}
-
-// third overload:
-// - return all pareto-optimal solutions
-// - use default Label_Allocator and Visitor
-template<class Graph, 
-         class VertexIndexMap, 
-         class EdgeIndexMap, 
-         class Resource_Container, 
-         class Resource_Extension_Function, 
-         class Dominance_Function>
-void r_c_shortest_paths
-( const Graph& g, 
-  const VertexIndexMap& vertex_index_map, 
-  const EdgeIndexMap& edge_index_map, 
-  typename graph_traits<Graph>::vertex_descriptor s, 
-  typename graph_traits<Graph>::vertex_descriptor t, 
-  // each inner vector corresponds to a pareto-optimal path
-  std::vector<std::vector<typename graph_traits<Graph>::edge_descriptor> >& 
-    pareto_optimal_solutions, 
-  std::vector<Resource_Container>& pareto_optimal_resource_containers, 
-  // to initialize the first label/resource container 
-  // and to carry the type information
-  const Resource_Container& rc, 
-  const Resource_Extension_Function& ref, 
-  const Dominance_Function& dominance )
-{
-  r_c_shortest_paths_dispatch( g, 
-                               vertex_index_map, 
-                               edge_index_map, 
-                               s, 
-                               t, 
-                               pareto_optimal_solutions, 
-                               pareto_optimal_resource_containers, 
-                               true, 
-                               rc, 
-                               ref, 
-                               dominance, 
-                               default_r_c_shortest_paths_allocator(), 
-                               default_r_c_shortest_paths_visitor() );
-}
-
-// fourth overload:
-// - return only one pareto-optimal solution
-// - use default Label_Allocator and Visitor
-template<class Graph, 
-         class VertexIndexMap, 
-         class EdgeIndexMap, 
-         class Resource_Container, 
-         class Resource_Extension_Function, 
-         class Dominance_Function>
-void r_c_shortest_paths
-( const Graph& g, 
-  const VertexIndexMap& vertex_index_map, 
-  const EdgeIndexMap& edge_index_map, 
-  typename graph_traits<Graph>::vertex_descriptor s, 
-  typename graph_traits<Graph>::vertex_descriptor t, 
-  std::vector<typename graph_traits<Graph>::edge_descriptor>& 
-    pareto_optimal_solution, 
-  Resource_Container& pareto_optimal_resource_container, 
-  // to initialize the first label/resource container 
-  // and to carry the type information
-  const Resource_Container& rc, 
-  const Resource_Extension_Function& ref, 
-  const Dominance_Function& dominance )
-{
-  // each inner vector corresponds to a pareto-optimal path
-  std::vector<std::vector<typename graph_traits<Graph>::edge_descriptor> > 
-    pareto_optimal_solutions;
-  std::vector<Resource_Container> pareto_optimal_resource_containers;
-  r_c_shortest_paths_dispatch( g, 
-                               vertex_index_map, 
-                               edge_index_map, 
-                               s, 
-                               t, 
-                               pareto_optimal_solutions, 
-                               pareto_optimal_resource_containers, 
-                               false, 
-                               rc, 
-                               ref, 
-                               dominance, 
-                               default_r_c_shortest_paths_allocator(), 
-                               default_r_c_shortest_paths_visitor() );
-  if (!pareto_optimal_solutions.empty()) {
-    pareto_optimal_solution = pareto_optimal_solutions[0];
-    pareto_optimal_resource_container = pareto_optimal_resource_containers[0];
-  }
-}
-// r_c_shortest_paths
-
-
-// check_r_c_path function
-template<class Graph, 
-         class Resource_Container, 
-         class Resource_Extension_Function>
-void check_r_c_path( const Graph& g, 
-                     const std::vector
-                       <typename graph_traits
-                         <Graph>::edge_descriptor>& ed_vec_path, 
-                     const Resource_Container& initial_resource_levels, 
-                     // if true, computed accumulated final resource levels must 
-                     // be equal to desired_final_resource_levels
-                     // if false, computed accumulated final resource levels must 
-                     // be less than or equal to desired_final_resource_levels
-                     bool b_result_must_be_equal_to_desired_final_resource_levels, 
-                     const Resource_Container& desired_final_resource_levels, 
-                     Resource_Container& actual_final_resource_levels, 
-                     const Resource_Extension_Function& ref, 
-                     bool& b_is_a_path_at_all, 
-                     bool& b_feasible, 
-                     bool& b_correctly_extended, 
-                     typename graph_traits<Graph>::edge_descriptor& 
-                       ed_last_extended_arc )
-{
-  size_t i_size_ed_vec_path = ed_vec_path.size();
-  std::vector<typename graph_traits<Graph>::edge_descriptor> buf_path;
-  if( i_size_ed_vec_path == 0 )
-    b_feasible = true;
-  else
-  {
-    if( i_size_ed_vec_path == 1 
-        || target( ed_vec_path[0], g ) == source( ed_vec_path[1], g ) )
-      buf_path = ed_vec_path;
-    else
-      for( size_t i = i_size_ed_vec_path ; i > 0; --i )
-        buf_path.push_back( ed_vec_path[i - 1] );
-    for( size_t i = 0; i < i_size_ed_vec_path - 1; ++i )
-    {
-      if( target( buf_path[i], g ) != source( buf_path[i + 1], g ) )
-      {
-        b_is_a_path_at_all = false;
-        b_feasible = false;
-        b_correctly_extended = false;
-        return;
-      }
-    }
-  }
-  b_is_a_path_at_all = true;
-  b_feasible = true;
-  b_correctly_extended = false;
-  Resource_Container current_resource_levels = initial_resource_levels;
-  actual_final_resource_levels = current_resource_levels;
-  for( size_t i = 0; i < i_size_ed_vec_path; ++i )
-  {
-    ed_last_extended_arc = buf_path[i];
-    b_feasible = ref( g, 
-                      actual_final_resource_levels, 
-                      current_resource_levels, 
-                      buf_path[i] );
-    current_resource_levels = actual_final_resource_levels;
-    if( !b_feasible )
-      return;
-  }
-  if( b_result_must_be_equal_to_desired_final_resource_levels )
-    b_correctly_extended = 
-     actual_final_resource_levels == desired_final_resource_levels ? 
-       true : false;
-  else
-  {
-    if( actual_final_resource_levels < desired_final_resource_levels 
-        || actual_final_resource_levels == desired_final_resource_levels )
-      b_correctly_extended = true;
-  }
-} // check_path
-
-} // namespace
-
-#endif // BOOST_GRAPH_R_C_SHORTEST_PATHS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/random.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/random.hpp
deleted file mode 100644
index f0153b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/random.hpp
+++ /dev/null
@@ -1,264 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright (C) Vladimir Prus 2003
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_RANDOM_HPP
-#define BOOST_GRAPH_RANDOM_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/uniform_real.hpp>
-#include <boost/random/variate_generator.hpp>
-
-#include <boost/pending/property.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/next_prior.hpp>
-
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/copy.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-#include <iostream>
-#include <boost/assert.hpp>
-
-namespace boost {
-
-  // grab a random vertex from the graph's vertex set
-  template <class Graph, class RandomNumGen>
-  typename graph_traits<Graph>::vertex_descriptor
-  random_vertex(Graph& g, RandomNumGen& gen)
-  {
-    if (num_vertices(g) > 1) {
-    #if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581))
-      std::size_t n = std::random( num_vertices(g) );
-    #else
-      uniform_int<> distrib(0, num_vertices(g)-1);
-      variate_generator<RandomNumGen&, uniform_int<> > rand_gen(gen, distrib);
-      std::size_t n = rand_gen();
-    #endif
-      typename graph_traits<Graph>::vertex_iterator
-        i = vertices(g).first;
-      return *(boost::next(i, n));
-    } else
-      return *vertices(g).first;
-  }
-
-  template <class Graph, class RandomNumGen>
-  typename graph_traits<Graph>::edge_descriptor
-  random_edge(Graph& g, RandomNumGen& gen) {
-    if (num_edges(g) > 1) {
-    #if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581))
-      typename graph_traits<Graph>::edges_size_type
-        n = std::random( num_edges(g) );
-    #else
-      uniform_int<> distrib(0, num_edges(g)-1);
-      variate_generator<RandomNumGen&, uniform_int<> > rand_gen(gen, distrib);
-      typename graph_traits<Graph>::edges_size_type
-        n = rand_gen();
-    #endif
-      typename graph_traits<Graph>::edge_iterator
-        i = edges(g).first;
-      return *(boost::next(i, n));
-    } else
-      return *edges(g).first;
-  }
-
-  template <typename Graph, typename RandomNumGen>
-  typename graph_traits<Graph>::edge_descriptor
-  random_out_edge(Graph& g, typename graph_traits<Graph>::vertex_descriptor src, RandomNumGen& gen) {
-    typedef typename graph_traits<Graph>::degree_size_type degree_size_type;
-    typedef boost::uniform_int<degree_size_type> ui_type;
-    ui_type ui(0, out_degree(src, g) - 1);
-    boost::variate_generator<RandomNumGen&, ui_type>
-      variate(gen, ui);
-    typename graph_traits<Graph>::out_edge_iterator it = out_edges(src, g).first;
-    std::advance(it, variate());
-    return *it;
-  }
-
-  template <typename Graph, typename WeightMap, typename RandomNumGen>
-  typename graph_traits<Graph>::edge_descriptor
-  weighted_random_out_edge(Graph& g, typename graph_traits<Graph>::vertex_descriptor src, WeightMap weight, RandomNumGen& gen) {
-    typedef typename property_traits<WeightMap>::value_type weight_type;
-    weight_type weight_sum(0);
-    BGL_FORALL_OUTEDGES_T(src, e, g, Graph) {weight_sum += get(weight, e);}
-    typedef boost::uniform_real<> ur_type;
-    ur_type ur(0, weight_sum);
-    boost::variate_generator<RandomNumGen&, ur_type>
-      variate(gen, ur);
-    weight_type chosen_weight = variate();
-    BGL_FORALL_OUTEDGES_T(src, e, g, Graph) {
-      weight_type w = get(weight, e);
-      if (chosen_weight < w) {
-        return e;
-      } else {
-        chosen_weight -= w;
-      }
-    }
-    BOOST_ASSERT (false); // Should not get here
-  }
-
-  namespace detail {
-    class dummy_property_copier {
-    public:
-      template<class V1, class V2>
-      void operator()(const V1&, const V2&) const {}
-    };
-  }
-
-  template <typename MutableGraph, class RandNumGen>
-  void generate_random_graph1
-    (MutableGraph& g,
-     typename graph_traits<MutableGraph>::vertices_size_type V,
-     typename graph_traits<MutableGraph>::vertices_size_type E,
-     RandNumGen& gen,
-     bool allow_parallel = true,
-     bool self_edges = false)
-  {
-    typedef graph_traits<MutableGraph> Traits;
-    typedef typename Traits::edge_descriptor edge_t;
-    typedef typename Traits::vertices_size_type v_size_t;
-    typedef typename Traits::edges_size_type e_size_t;
-    typedef typename Traits::vertex_descriptor vertex_descriptor;
-
-    // When parallel edges are not allowed, we create a new graph which
-    // does not allow parallel edges, construct it and copy back.
-    // This is not efficient if 'g' already disallow parallel edges,
-    // but that's task for later.
-    if (!allow_parallel) {
-
-      typedef typename boost::graph_traits<MutableGraph>::directed_category dir;
-      typedef typename mpl::if_<is_convertible<dir, directed_tag>,
-          directedS, undirectedS>::type select;
-      adjacency_list<setS, vecS, select> g2;
-      generate_random_graph1(g2, V, E, gen, true, self_edges);
-
-      copy_graph(g2, g, vertex_copy(detail::dummy_property_copier()).
-                        edge_copy(detail::dummy_property_copier()));
-
-    } else {
-
-      for (v_size_t i = 0; i < V; ++i)
-        add_vertex(g);
-
-      e_size_t not_inserted_counter = 0; /* Number of edge insertion failures */
-      e_size_t num_vertices_squared = num_vertices(g) * num_vertices(g);
-      for (e_size_t j = 0; j < E; /* Increment in body */) {
-        vertex_descriptor a = random_vertex(g, gen), b;
-        do {
-          b = random_vertex(g, gen);
-        } while (self_edges == false && a == b);
-        edge_t e; bool inserted;
-        boost::tie(e, inserted) = add_edge(a, b, g);
-        if (inserted) {
-          ++j;
-        } else {
-          ++not_inserted_counter;
-        }
-        if (not_inserted_counter >= num_vertices_squared) {
-          return; /* Rather than looping forever on complete graph */
-        }
-      }
-    }
-  }
-
-  template <typename MutableGraph, class RandNumGen>
-  void generate_random_graph
-    (MutableGraph& g,
-     typename graph_traits<MutableGraph>::vertices_size_type V,
-     typename graph_traits<MutableGraph>::vertices_size_type E,
-     RandNumGen& gen,
-     bool allow_parallel = true,
-     bool self_edges = false)
-  {
-      generate_random_graph1(g, V, E, gen, allow_parallel, self_edges);
-  }
-
-  template <typename MutableGraph, typename RandNumGen,
-            typename VertexOutputIterator, typename EdgeOutputIterator>
-  void generate_random_graph
-    (MutableGraph& g,
-     typename graph_traits<MutableGraph>::vertices_size_type V,
-     typename graph_traits<MutableGraph>::vertices_size_type E,
-     RandNumGen& gen,
-     VertexOutputIterator vertex_out,
-     EdgeOutputIterator edge_out,
-     bool self_edges = false)
-  {
-    typedef graph_traits<MutableGraph> Traits;
-    typedef typename Traits::vertices_size_type v_size_t;
-    typedef typename Traits::edges_size_type e_size_t;
-    typedef typename Traits::vertex_descriptor vertex_t;
-    typedef typename Traits::edge_descriptor edge_t;
-
-    for (v_size_t i = 0; i < V; ++i)
-      *vertex_out++ = add_vertex(g);
-
-    e_size_t not_inserted_counter = 0; /* Number of edge insertion failures */
-    e_size_t num_vertices_squared = num_vertices(g) * num_vertices(g);
-    for (e_size_t j = 0; j < E; /* Increment in body */) {
-      vertex_t a = random_vertex(g, gen), b;
-      do {
-        b = random_vertex(g, gen);
-      } while (self_edges == false && a == b);
-      edge_t e; bool inserted;
-      boost::tie(e, inserted) = add_edge(a, b, g);
-      if (inserted) {
-        *edge_out++ = std::make_pair(source(e, g), target(e, g));
-        ++j;
-      } else {
-        ++not_inserted_counter;
-      }
-      if (not_inserted_counter >= num_vertices_squared) {
-        return; /* Rather than looping forever on complete graph */
-      }
-    }
-  }
-
-  namespace detail {
-
-    template<class Property, class G, class RandomGenerator>
-    void randomize_property(G& g, RandomGenerator& rg,
-                            Property, vertex_property_tag)
-    {
-      typename property_map<G, Property>::type pm = get(Property(), g);
-      typename graph_traits<G>::vertex_iterator vi, ve;
-      for (boost::tie(vi, ve) = vertices(g); vi != ve; ++vi) {
-        pm[*vi] = rg();
-      }
-    }
-
-    template<class Property, class G, class RandomGenerator>
-    void randomize_property(G& g, RandomGenerator& rg,
-                            Property, edge_property_tag)
-    {
-      typename property_map<G, Property>::type pm = get(Property(), g);
-      typename graph_traits<G>::edge_iterator ei, ee;
-      for (boost::tie(ei, ee) = edges(g); ei != ee; ++ei) {
-        pm[*ei] = rg();
-      }
-    }
-  }
-
-  template<class Property, class G, class RandomGenerator>
-  void randomize_property(G& g, RandomGenerator& rg)
-  {
-    detail::randomize_property
-        (g, rg, Property(), typename property_kind<Property>::type());
-  }
-
-
-
-  
-}
-
-#include <boost/graph/iteration_macros_undef.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/random_layout.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/random_layout.hpp
deleted file mode 100644
index 4cd16f2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/random_layout.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_RANDOM_LAYOUT_HPP
-#define BOOST_GRAPH_RANDOM_LAYOUT_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/uniform_real.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/graph/iteration_macros.hpp>
-
-namespace boost {
-
-template<typename Topology,
-         typename Graph, typename PositionMap>
-void
-random_graph_layout
- (const Graph& g, PositionMap position_map,
-  const Topology& topology)
-{
-  BGL_FORALL_VERTICES_T(v, g, Graph) {
-    put(position_map, v, topology.random_point());
-  }
-}
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_RANDOM_LAYOUT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/random_spanning_tree.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/random_spanning_tree.hpp
deleted file mode 100644
index 76dc7f2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/random_spanning_tree.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2010 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)
-
-//  Authors: Jeremiah Willcock
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_RANDOM_SPANNING_TREE_HPP
-#define BOOST_GRAPH_RANDOM_SPANNING_TREE_HPP
-
-#include <vector>
-#include <boost/assert.hpp>
-#include <boost/graph/loop_erased_random_walk.hpp>
-#include <boost/graph/random.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/named_function_params.hpp>
-
-namespace boost {
-
-  namespace detail {
-    // Use Wilson's algorithm (based on loop-free random walks) to generate a
-    // random spanning tree.  The distribution of edges used is controlled by
-    // the next_edge() function, so this version allows either weighted or
-    // unweighted selection of trees.
-    // Algorithm is from http://en.wikipedia.org/wiki/Uniform_spanning_tree
-    template <typename Graph, typename PredMap, typename ColorMap, typename NextEdge>
-    void random_spanning_tree_internal(const Graph& g, typename graph_traits<Graph>::vertex_descriptor s, PredMap pred, ColorMap color, NextEdge next_edge) {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-
-      BOOST_ASSERT (num_vertices(g) >= 1); // g must also be undirected (or symmetric) and connected
-
-      typedef color_traits<typename property_traits<ColorMap>::value_type> color_gen;
-      BGL_FORALL_VERTICES_T(v, g, Graph) put(color, v, color_gen::white());
-
-      std::vector<vertex_descriptor> path;
-
-      put(color, s, color_gen::black());
-      put(pred, s, graph_traits<Graph>::null_vertex());
-
-      BGL_FORALL_VERTICES_T(v, g, Graph) {
-        if (get(color, v) != color_gen::white()) continue;
-        loop_erased_random_walk(g, v, next_edge, color, path);
-        for (typename std::vector<vertex_descriptor>::const_reverse_iterator i = path.rbegin();
-             boost::next(i) !=
-               (typename std::vector<vertex_descriptor>::const_reverse_iterator)path.rend();
-             ++i) {
-          typename std::vector<vertex_descriptor>::const_reverse_iterator j = i;
-          ++j;
-          BOOST_ASSERT (get(color, *j) == color_gen::gray());
-          put(color, *j, color_gen::black());
-          put(pred, *j, *i);
-        }
-      }
-    }
-  }
-
-  // Compute a uniformly-distributed spanning tree on a graph.  Use Wilson's algorithm:
-  // @inproceedings{wilson96generating,
-  //    author = {Wilson, David Bruce},
-  //    title = {Generating random spanning trees more quickly than the cover time},
-  //    booktitle = {STOC '96: Proceedings of the twenty-eighth annual ACM symposium on Theory of computing},
-  //    year = {1996},
-  //    isbn = {0-89791-785-5},
-  //    pages = {296--303},
-  //    location = {Philadelphia, Pennsylvania, United States},
-  //    doi = {http://doi.acm.org/10.1145/237814.237880},
-  //    publisher = {ACM},
-  //    address = {New York, NY, USA},
-  //  }
-  //
-  template <typename Graph, typename Gen, typename PredMap, typename ColorMap>
-  void random_spanning_tree(const Graph& g, Gen& gen, typename graph_traits<Graph>::vertex_descriptor root,
-                            PredMap pred, static_property_map<double>, ColorMap color) {
-    unweighted_random_out_edge_gen<Graph, Gen> random_oe(gen);
-    detail::random_spanning_tree_internal(g, root, pred, color, random_oe);
-  }
-
-  // Compute a weight-distributed spanning tree on a graph.
-  template <typename Graph, typename Gen, typename PredMap, typename WeightMap, typename ColorMap>
-  void random_spanning_tree(const Graph& g, Gen& gen, typename graph_traits<Graph>::vertex_descriptor root,
-                            PredMap pred, WeightMap weight, ColorMap color) {
-    weighted_random_out_edge_gen<Graph, WeightMap, Gen> random_oe(weight, gen);
-    detail::random_spanning_tree_internal(g, root, pred, color, random_oe);
-  }
-
-  template <typename Graph, typename Gen, typename P, typename T, typename R>
-  void random_spanning_tree(const Graph& g, Gen& gen, const bgl_named_params<P, T, R>& params) {
-    using namespace boost::graph::keywords;
-    typedef bgl_named_params<P, T, R> params_type;
-    BOOST_GRAPH_DECLARE_CONVERTED_PARAMETERS(params_type, params)
-    random_spanning_tree(g,
-                         gen,
-                         arg_pack[_root_vertex | *vertices(g).first],
-                         arg_pack[_predecessor_map],
-                         arg_pack[_weight_map | static_property_map<double>(1.)],
-                         boost::detail::make_color_map_from_arg_pack(g, arg_pack));
-  }
-}
-
-#include <boost/graph/iteration_macros_undef.hpp>
-
-#endif // BOOST_GRAPH_RANDOM_SPANNING_TREE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/read_dimacs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/read_dimacs.hpp
deleted file mode 100644
index 0297744..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/read_dimacs.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Jeremy G. Siek, Andrew Lumsdaine, Lie-Quan Lee
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//=======================================================================
-
-/*
-  Reads maximal flow problem in extended DIMACS format.
-  This works, but could use some polishing.
-*/
-
-/* ----------------------------------------------------------------- */
-
-#ifndef BOOST_GRAPH_READ_DIMACS_HPP
-#define BOOST_GRAPH_READ_DIMACS_HPP
-
-#include <vector>
-#include <iostream>
-#include <string>
-#include <cstdio>
-#include <cstring>
-#include <cstdlib>
-
-#include <boost/graph/graph_traits.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-template <class Graph, class CapacityMap, class ReverseEdgeMap>
-int read_dimacs_max_flow_internal(Graph& g,
-                                  CapacityMap capacity,
-                                  ReverseEdgeMap reverse_edge,
-                                  typename graph_traits<Graph>::vertex_descriptor& src,
-                                  typename graph_traits<Graph>::vertex_descriptor& sink,
-                                  std::istream& in,
-                                  bool require_source_and_sink,
-                                  const std::string& problem_type)
-{
-  //  const int MAXLINE = 100;      /* max line length in the input file */
-  const int ARC_FIELDS = 3;     /* no of fields in arc line  */
-  const int NODE_FIELDS = 2;    /* no of fields in node line  */
-  const int P_FIELDS = 3;       /* no of fields in problem line */
-
-  typedef typename graph_traits<Graph>::vertex_descriptor vertex_descriptor;
-  typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-
-  std::vector<vertex_descriptor> verts;
-
-  long m, n,                    /*  number of edges and nodes */
-    i, head, tail, cap;
-
-  long no_lines=0,              /* no of current input line */
-    no_plines=0,                /* no of problem-lines */
-    no_nslines=0,               /* no of node-source-lines */
-    no_nklines=0,               /* no of node-source-lines */
-    no_alines=0;                /* no of arc-lines */
-
-  std::string in_line;          /* for reading input line */
-  char pr_type[4];              /* for reading type of the problem */
-  char nd;                      /* source (s) or sink (t) */
-
-  int k,                        /* temporary */
-    err_no;                     /* no of detected error */
-
-  /* -------------- error numbers & error messages ---------------- */
-  const int EN1   = 0;
-  const int EN2   = 1;
-  const int EN3   = 2;
-  const int EN4   = 3;
-  //  const int EN6   = 4;
-  //  const int EN10  = 5;
-  //  const int EN7   = 6;
-  const int EN8   = 7;
-  const int EN9   = 8;
-  const int EN11  = 9;
-  const int EN12 = 10;
-  //  const int EN13 = 11;
-  const int EN14 = 12;
-  const int EN16 = 13;
-  const int EN15 = 14;
-  const int EN17 = 15;
-  const int EN18 = 16;
-  const int EN21 = 17;
-  const int EN19 = 18;
-  const int EN20 = 19;
-  const int EN22 = 20;
-
-  static const char *err_message[] =
-  {
-    /* 0*/    "more than one problem line.",
-    /* 1*/    "wrong number of parameters in the problem line.",
-    /* 2*/    "it is not a Max Flow problem line.",
-    /* 3*/    "bad value of a parameter in the problem line.",
-    /* 4*/    "can't obtain enough memory to solve this problem.",
-    /* 5*/    "more than one line with the problem name.",
-    /* 6*/    "can't read problem name.",
-    /* 7*/    "problem description must be before node description.",
-    /* 8*/    "this parser doesn't support multiply sources and sinks.",
-    /* 9*/    "wrong number of parameters in the node line.",
-    /*10*/    "wrong value of parameters in the node line.",
-    /*11*/    " ",
-    /*12*/    "source and sink descriptions must be before arc descriptions.",
-    /*13*/    "too many arcs in the input.",
-    /*14*/    "wrong number of parameters in the arc line.",
-    /*15*/    "wrong value of parameters in the arc line.",
-    /*16*/    "unknown line type in the input.",
-    /*17*/    "reading error.",
-    /*18*/    "not enough arcs in the input.",
-    /*19*/    "source or sink doesn't have incident arcs.",
-    /*20*/    "can't read anything from the input file."
-  };
-  /* --------------------------------------------------------------- */
-
-  /* The main loop:
-     -  reads the line of the input,
-     -  analyses its type,
-     -  checks correctness of parameters,
-     -  puts data to the arrays,
-     -  does service functions
-  */
-
-  while (std::getline(in, in_line)) {
-    ++no_lines;
-
-    switch (in_line[0]) {
-    case 'c':                  /* skip lines with comments */
-    case '\n':                 /* skip empty lines   */
-    case '\0':                 /* skip empty lines at the end of file */
-      break;
-
-    case 'p':                  /* problem description      */
-      if ( no_plines > 0 )
-        /* more than one problem line */
-        { err_no = EN1 ; goto error; }
-
-      no_plines = 1;
-
-      if (
-          /* reading problem line: type of problem, no of nodes, no of arcs */
-          std::sscanf ( in_line.c_str(), "%*c %3s %ld %ld", pr_type, &n, &m )
-          != P_FIELDS
-          )
-        /*wrong number of parameters in the problem line*/
-        { err_no = EN2; goto error; }
-
-      if ( pr_type != problem_type )
-        /*wrong problem type*/
-        { err_no = EN3; goto error; }
-
-      if ( n <= 0  || m <= 0 )
-        /*wrong value of no of arcs or nodes*/
-        { err_no = EN4; goto error; }
-
-      {
-        for (long vi = 0; vi < n; ++vi)
-          verts.push_back(add_vertex(g));
-      }
-      break;
-
-    case 'n':                    /* source(s) description */
-      if ( no_plines == 0 )
-        /* there was not problem line above */
-        { err_no = EN8; goto error; }
-
-      /* reading source  or sink */
-      k = std::sscanf ( in_line.c_str(),"%*c %ld %c", &i, &nd );
-      --i; // index from 0
-      if ( k < NODE_FIELDS )
-        /* node line is incorrect */
-        { err_no = EN11; goto error; }
-
-      if ( i < 0 || i > n )
-        /* wrong value of node */
-        { err_no = EN12; goto error; }
-
-      switch (nd) {
-      case 's':  /* source line */
-
-        if ( no_nslines != 0)
-          /* more than one source line */
-          { err_no = EN9; goto error; }
-
-        no_nslines = 1;
-        src = verts[i];
-        break;
-
-      case 't':  /* sink line */
-
-        if ( no_nklines != 0)
-          /* more than one sink line */
-          { err_no = EN9; goto error; }
-
-        no_nklines = 1;
-        sink = verts[i];
-        break;
-
-      default:
-        /* wrong type of node-line */
-        err_no = EN12; goto error;
-      }
-      break;
-
-    case 'a':                    /* arc description */
-      if ( require_source_and_sink && (no_nslines == 0 || no_nklines == 0) )
-        /* there was not source and sink description above */
-        { err_no = EN14; goto error; }
-
-      if ( no_alines >= m )
-        /*too many arcs on input*/
-        { err_no = EN16; goto error; }
-
-      if (
-          /* reading an arc description */
-          std::sscanf ( in_line.c_str(),"%*c %ld %ld %ld",
-                        &tail, &head, &cap )
-          != ARC_FIELDS
-          )
-        /* arc description is not correct */
-        { err_no = EN15; goto error; }
-
-      --tail; // index from 0, not 1
-      --head;
-      if ( tail < 0  ||  tail > n  ||
-           head < 0  ||  head > n
-           )
-        /* wrong value of nodes */
-        { err_no = EN17; goto error; }
-
-      {
-        edge_descriptor e1, e2;
-        bool in1, in2;
-        boost::tie(e1, in1) = add_edge(verts[tail], verts[head], g);
-        boost::tie(e2, in2) = add_edge(verts[head], verts[tail], g);
-        if (!in1 || !in2) {
-          std::cerr << "unable to add edge (" << head << "," << tail << ")"
-                    << std::endl;
-          return -1;
-        }
-        capacity[e1] = cap;
-        capacity[e2] = 0;
-        reverse_edge[e1] = e2;
-        reverse_edge[e2] = e1;
-      }
-      ++no_alines;
-      break;
-
-    default:
-      /* unknown type of line */
-      err_no = EN18; goto error;
-
-    } /* end of switch */
-  }     /* end of input loop */
-
-  /* ----- all is red  or  error while reading ----- */
-
-  if ( in.eof() == 0 ) /* reading error */
-    { err_no=EN21; goto error; }
-
-  if ( no_lines == 0 ) /* empty input */
-    { err_no = EN22; goto error; }
-
-  if ( no_alines < m ) /* not enough arcs */
-    { err_no = EN19; goto error; }
-
-  if ( require_source_and_sink &&
-       (out_degree(src, g) == 0 || out_degree(sink, g) == 0) )
-    /* no arc goes out of the source */
-    { err_no = EN20; goto error; }
-
-  /* Thanks God! all is done */
-  return (0);
-
-  /* ---------------------------------- */
- error:  /* error found reading input */
-
-  std::printf ( "\nline %ld of input - %s\n",
-                no_lines, err_message[err_no] );
-
-  return -1;
-}
-/* --------------------   end of parser  -------------------*/
-
-  } // namespace detail
-
-template <class Graph, class CapacityMap, class ReverseEdgeMap>
-int read_dimacs_max_flow(Graph& g,
-                         CapacityMap capacity,
-                         ReverseEdgeMap reverse_edge,
-                         typename graph_traits<Graph>::vertex_descriptor& src,
-                         typename graph_traits<Graph>::vertex_descriptor& sink,
-                         std::istream& in = std::cin) {
-  return detail::read_dimacs_max_flow_internal(g, capacity, reverse_edge, src, sink, in, true, "max");
-}
-
-template <class Graph, class CapacityMap, class ReverseEdgeMap>
-int read_dimacs_min_cut(Graph& g,
-                        CapacityMap capacity,
-                        ReverseEdgeMap reverse_edge,
-                        std::istream& in = std::cin) {
-  typename graph_traits<Graph>::vertex_descriptor dummy_src, dummy_sink; // Not filled in
-  return detail::read_dimacs_max_flow_internal(g, capacity, reverse_edge, dummy_src, dummy_sink, in, false, "cut");
-}
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_READ_DIMACS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/relax.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/relax.hpp
deleted file mode 100644
index e3866df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/relax.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek,
-//
-// Distributed under the 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_GRAPH_RELAX_HPP
-#define BOOST_GRAPH_RELAX_HPP
-
-#include <functional>
-#include <boost/limits.hpp> // for numeric limits
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-    // The following version of the plus functor prevents
-    // problems due to overflow at positive infinity.
-
-    template <class T>
-    struct closed_plus
-    {
-      const T inf;
-
-      closed_plus() : inf((std::numeric_limits<T>::max)()) { }
-      closed_plus(T inf) : inf(inf) { }
-
-      T operator()(const T& a, const T& b) const {
-        using namespace std;
-       if (a == inf) return inf;
-       if (b == inf) return inf;
-       return a + b;
-      }
-    };
-    
-    template <class Graph, class WeightMap, 
-            class PredecessorMap, class DistanceMap, 
-            class BinaryFunction, class BinaryPredicate>
-    bool relax(typename graph_traits<Graph>::edge_descriptor e, 
-               const Graph& g, const WeightMap& w, 
-               PredecessorMap& p, DistanceMap& d, 
-               const BinaryFunction& combine, const BinaryPredicate& compare)
-    {
-      typedef typename graph_traits<Graph>::directed_category DirCat;
-      bool is_undirected = is_same<DirCat, undirected_tag>::value;
-      typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-      Vertex u = source(e, g), v = target(e, g);
-      typedef typename property_traits<DistanceMap>::value_type D;
-      typedef typename property_traits<WeightMap>::value_type W;
-      const D d_u = get(d, u);
-      const D d_v = get(d, v);
-      const W& w_e = get(w, e);
-      
-      // The seemingly redundant comparisons after the distance puts are to
-      // ensure that extra floating-point precision in x87 registers does not
-      // lead to relax() returning true when the distance did not actually
-      // change.
-      if ( compare(combine(d_u, w_e), d_v) ) {
-        put(d, v, combine(d_u, w_e));
-        if (compare(get(d, v), d_v)) {
-          put(p, v, u);
-          return true;
-        } else {
-          return false;
-        }
-      } else if (is_undirected && compare(combine(d_v, w_e), d_u)) {
-        put(d, u, combine(d_v, w_e));
-        if (compare(get(d, u), d_u)) {
-          put(p, u, v);
-          return true;
-        } else {
-          return false;
-        }
-      } else
-        return false;
-    }
-    
-    template <class Graph, class WeightMap, 
-      class PredecessorMap, class DistanceMap>
-    bool relax(typename graph_traits<Graph>::edge_descriptor e,
-               const Graph& g, WeightMap w, PredecessorMap p, DistanceMap d)
-    {
-      typedef typename property_traits<DistanceMap>::value_type D;
-      typedef closed_plus<D> Combine;
-      typedef std::less<D> Compare;
-      return relax(e, g, w, p, d, Combine(), Compare());
-    }
-
-} // namespace boost
-
-#endif /* BOOST_GRAPH_RELAX_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/reverse_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/reverse_graph.hpp
deleted file mode 100644
index 24eb1c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/reverse_graph.hpp
+++ /dev/null
@@ -1,520 +0,0 @@
-//  (C) Copyright David Abrahams 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)
-
-#ifndef REVERSE_GRAPH_DWA092300_H_
-# define REVERSE_GRAPH_DWA092300_H_
-
-#include <boost/graph/adjacency_iterator.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-
-struct reverse_graph_tag { };
-
-  namespace detail {
-
-    template <typename EdgeDesc>
-    class reverse_graph_edge_descriptor {
-      public:
-      EdgeDesc underlying_descx; // Odd name is because this needs to be public but shouldn't be exposed to users anymore
-
-      private:
-      typedef EdgeDesc base_descriptor_type;
-
-      public:
-      explicit reverse_graph_edge_descriptor(const EdgeDesc& underlying_descx = EdgeDesc())
-        : underlying_descx(underlying_descx) {}
-
-      friend bool operator==(const reverse_graph_edge_descriptor& a, const reverse_graph_edge_descriptor& b) {
-        return a.underlying_descx == b.underlying_descx;
-      }
-      friend bool operator!=(const reverse_graph_edge_descriptor& a, const reverse_graph_edge_descriptor& b) {
-        return a.underlying_descx != b.underlying_descx;
-      }
-      friend bool operator<(const reverse_graph_edge_descriptor& a, const reverse_graph_edge_descriptor& b) {
-        return a.underlying_descx < b.underlying_descx;
-      }
-      friend bool operator>(const reverse_graph_edge_descriptor& a, const reverse_graph_edge_descriptor& b) {
-        return a.underlying_descx > b.underlying_descx;
-      }
-      friend bool operator<=(const reverse_graph_edge_descriptor& a, const reverse_graph_edge_descriptor& b) {
-        return a.underlying_descx <= b.underlying_descx;
-      }
-      friend bool operator>=(const reverse_graph_edge_descriptor& a, const reverse_graph_edge_descriptor& b) {
-        return a.underlying_descx >= b.underlying_descx;
-      }
-    };
-
-    template <typename EdgeDesc>
-    struct reverse_graph_edge_descriptor_maker {
-      typedef reverse_graph_edge_descriptor<EdgeDesc> result_type;
-
-      reverse_graph_edge_descriptor<EdgeDesc> operator()(const EdgeDesc& ed) const {
-        return reverse_graph_edge_descriptor<EdgeDesc>(ed);
-      }
-    };
-
-    template <typename EdgeDesc, typename Iter>
-    std::pair<transform_iterator<reverse_graph_edge_descriptor_maker<EdgeDesc>, Iter>,
-              transform_iterator<reverse_graph_edge_descriptor_maker<EdgeDesc>, Iter> >
-    reverse_edge_iter_pair(const std::pair<Iter, Iter>& ip) {
-      return std::make_pair(make_transform_iterator(ip.first, reverse_graph_edge_descriptor_maker<EdgeDesc>()),
-                            make_transform_iterator(ip.second, reverse_graph_edge_descriptor_maker<EdgeDesc>()));
-    }
-
-    // Get the underlying descriptor from a vertex or edge descriptor
-    template <typename Desc>
-    struct get_underlying_descriptor_from_reverse_descriptor {
-      typedef Desc type;
-      static Desc convert(const Desc& d) {return d;}
-    };
-    template <typename Desc>
-    struct get_underlying_descriptor_from_reverse_descriptor<reverse_graph_edge_descriptor<Desc> > {
-      typedef Desc type;
-      static Desc convert(const reverse_graph_edge_descriptor<Desc>& d) {return d.underlying_descx;}
-    };
-
-    template <bool isEdgeList> struct choose_rev_edge_iter { };
-    template <> struct choose_rev_edge_iter<true> {
-      template <class G> struct bind_ {
-        typedef transform_iterator<reverse_graph_edge_descriptor_maker<typename graph_traits<G>::edge_descriptor>, typename graph_traits<G>::edge_iterator> type;
-      };
-    };
-    template <> struct choose_rev_edge_iter<false> {
-      template <class G> struct bind_ {
-        typedef void type;
-      };
-    };
-
-  } // namespace detail
-
-template <class BidirectionalGraph, class GraphRef = const BidirectionalGraph&>
-class reverse_graph {
-    typedef reverse_graph<BidirectionalGraph, GraphRef> Self;
-    typedef graph_traits<BidirectionalGraph> Traits;
- public:
-    typedef BidirectionalGraph base_type;
-    typedef GraphRef base_ref_type;
-
-    // Constructor
-    reverse_graph(GraphRef g) : m_g(g) {}
-    // Conversion from reverse_graph on non-const reference to one on const reference
-    reverse_graph(const reverse_graph<BidirectionalGraph, BidirectionalGraph&>& o): m_g(o.m_g) {}
-
-    // Graph requirements
-    typedef typename Traits::vertex_descriptor vertex_descriptor;
-    typedef detail::reverse_graph_edge_descriptor<typename Traits::edge_descriptor> edge_descriptor;
-    typedef typename Traits::directed_category directed_category;
-    typedef typename Traits::edge_parallel_category edge_parallel_category;
-    typedef typename Traits::traversal_category traversal_category;
-
-    // IncidenceGraph requirements
-    typedef transform_iterator<detail::reverse_graph_edge_descriptor_maker<typename Traits::edge_descriptor>, typename Traits::in_edge_iterator> out_edge_iterator;
-    typedef typename Traits::degree_size_type degree_size_type;
-
-    // BidirectionalGraph requirements
-    typedef transform_iterator<detail::reverse_graph_edge_descriptor_maker<typename Traits::edge_descriptor>, typename Traits::out_edge_iterator> in_edge_iterator;
-
-    // AdjacencyGraph requirements
-    typedef typename adjacency_iterator_generator<Self, vertex_descriptor, out_edge_iterator>::type adjacency_iterator;
-
-    // VertexListGraph requirements
-    typedef typename Traits::vertex_iterator vertex_iterator;
-
-    // EdgeListGraph requirements
-    enum { is_edge_list = is_convertible<traversal_category,
-           edge_list_graph_tag>::value };
-    typedef detail::choose_rev_edge_iter<is_edge_list> ChooseEdgeIter;
-    typedef typename ChooseEdgeIter::
-      template bind_<BidirectionalGraph>::type   edge_iterator;
-    typedef typename Traits::vertices_size_type vertices_size_type;
-    typedef typename Traits::edges_size_type edges_size_type;
-
-    typedef reverse_graph_tag graph_tag;
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    // Bundled properties support
-    template<typename Descriptor>
-    typename graph::detail::bundled_result<
-               BidirectionalGraph,
-               typename detail::get_underlying_descriptor_from_reverse_descriptor<Descriptor>::type
-             >::type&
-    operator[](Descriptor x)
-    { return m_g[detail::get_underlying_descriptor_from_reverse_descriptor<Descriptor>::convert(x)]; }
-
-    template<typename Descriptor>
-    typename graph::detail::bundled_result<
-               BidirectionalGraph,
-               typename detail::get_underlying_descriptor_from_reverse_descriptor<Descriptor>::type
-             >::type const&
-    operator[](Descriptor x) const
-    { return m_g[detail::get_underlying_descriptor_from_reverse_descriptor<Descriptor>::convert(x)]; }
-#endif // BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-
-    static vertex_descriptor null_vertex()
-    { return Traits::null_vertex(); }
-
-    // would be private, but template friends aren't portable enough.
- // private:
-    GraphRef m_g;
-};
-
-
-// These are separate so they are not instantiated unless used (see bug 1021)
-template <class BidirectionalGraph, class GraphRef>
-struct vertex_property_type<reverse_graph<BidirectionalGraph, GraphRef> > {
-  typedef typename boost::vertex_property_type<BidirectionalGraph>::type type;
-};
-
-template <class BidirectionalGraph, class GraphRef>
-struct edge_property_type<reverse_graph<BidirectionalGraph, GraphRef> > {
-  typedef typename boost::edge_property_type<BidirectionalGraph>::type type;
-};
-
-template <class BidirectionalGraph, class GraphRef>
-struct graph_property_type<reverse_graph<BidirectionalGraph, GraphRef> > {
-  typedef typename boost::graph_property_type<BidirectionalGraph>::type type;
-};
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-  template<typename Graph, typename GraphRef>
-  struct vertex_bundle_type<reverse_graph<Graph, GraphRef> >
-    : vertex_bundle_type<Graph> { };
-
-  template<typename Graph, typename GraphRef>
-  struct edge_bundle_type<reverse_graph<Graph, GraphRef> >
-    : edge_bundle_type<Graph> { };
-
-  template<typename Graph, typename GraphRef>
-  struct graph_bundle_type<reverse_graph<Graph, GraphRef> >
-    : graph_bundle_type<Graph> { };
-#endif // BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-
-template <class BidirectionalGraph>
-inline reverse_graph<BidirectionalGraph>
-make_reverse_graph(const BidirectionalGraph& g)
-{
-    return reverse_graph<BidirectionalGraph>(g);
-}
-
-template <class BidirectionalGraph>
-inline reverse_graph<BidirectionalGraph, BidirectionalGraph&>
-make_reverse_graph(BidirectionalGraph& g)
-{
-    return reverse_graph<BidirectionalGraph, BidirectionalGraph&>(g);
-}
-
-template <class BidirectionalGraph, class GRef>
-std::pair<typename reverse_graph<BidirectionalGraph>::vertex_iterator,
-          typename reverse_graph<BidirectionalGraph>::vertex_iterator>
-vertices(const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return vertices(g.m_g);
-}
-
-template <class BidirectionalGraph, class GRef>
-std::pair<typename reverse_graph<BidirectionalGraph>::edge_iterator,
-          typename reverse_graph<BidirectionalGraph>::edge_iterator>
-edges(const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return detail::reverse_edge_iter_pair<typename graph_traits<BidirectionalGraph>::edge_descriptor>(edges(g.m_g));
-}
-
-template <class BidirectionalGraph, class GRef>
-inline std::pair<typename reverse_graph<BidirectionalGraph>::out_edge_iterator,
-                 typename reverse_graph<BidirectionalGraph>::out_edge_iterator>
-out_edges(const typename graph_traits<BidirectionalGraph>::vertex_descriptor u,
-          const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return detail::reverse_edge_iter_pair<typename graph_traits<BidirectionalGraph>::edge_descriptor>(in_edges(u, g.m_g));
-}
-
-template <class BidirectionalGraph, class GRef>
-inline typename graph_traits<BidirectionalGraph>::vertices_size_type
-num_vertices(const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return num_vertices(g.m_g);
-}
-
-template <class BidirectionalGraph, class GRef>
-inline typename reverse_graph<BidirectionalGraph>::edges_size_type
-num_edges(const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return num_edges(g.m_g);
-}
-
-template <class BidirectionalGraph, class GRef>
-inline typename graph_traits<BidirectionalGraph>::degree_size_type
-out_degree(const typename graph_traits<BidirectionalGraph>::vertex_descriptor u,
-           const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return in_degree(u, g.m_g);
-}
-
-template <class BidirectionalGraph, class GRef>
-inline typename graph_traits<BidirectionalGraph>::vertex_descriptor
-vertex(const typename graph_traits<BidirectionalGraph>::vertices_size_type v,
-       const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return vertex(v, g.m_g);
-}
-
-template <class BidirectionalGraph, class GRef>
-inline std::pair< typename graph_traits<reverse_graph<BidirectionalGraph,GRef> >::edge_descriptor,
-                  bool>
-edge(const typename graph_traits<BidirectionalGraph>::vertex_descriptor u,
-     const typename graph_traits<BidirectionalGraph>::vertex_descriptor v,
-     const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    typedef typename graph_traits<BidirectionalGraph>::edge_descriptor underlying_edge_descriptor;
-    std::pair<underlying_edge_descriptor, bool> e = edge(v, u, g.m_g);
-    return std::make_pair(detail::reverse_graph_edge_descriptor<underlying_edge_descriptor>(e.first), e.second);
-}
-
-template <class BidirectionalGraph, class GRef>
-inline std::pair<typename reverse_graph<BidirectionalGraph>::in_edge_iterator,
-                 typename reverse_graph<BidirectionalGraph>::in_edge_iterator>
-in_edges(const typename graph_traits<BidirectionalGraph>::vertex_descriptor u,
-         const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return detail::reverse_edge_iter_pair<typename graph_traits<BidirectionalGraph>::edge_descriptor>(out_edges(u, g.m_g));
-}
-
-template <class BidirectionalGraph, class GRef>
-inline std::pair<typename reverse_graph<BidirectionalGraph,GRef>::adjacency_iterator,
-    typename reverse_graph<BidirectionalGraph,GRef>::adjacency_iterator>
-adjacent_vertices(typename graph_traits<BidirectionalGraph>::vertex_descriptor u,
-                  const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    typedef reverse_graph<BidirectionalGraph,GRef> Graph;
-    typename graph_traits<Graph>::out_edge_iterator first, last;
-    boost::tie(first, last) = out_edges(u, g);
-    typedef typename graph_traits<Graph>::adjacency_iterator adjacency_iterator;
-    return std::make_pair(adjacency_iterator(first, const_cast<Graph*>(&g)),
-                          adjacency_iterator(last, const_cast<Graph*>(&g)));
-}
-
-template <class BidirectionalGraph, class GRef>
-inline typename graph_traits<BidirectionalGraph>::degree_size_type
-in_degree(const typename graph_traits<BidirectionalGraph>::vertex_descriptor u,
-          const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return out_degree(u, g.m_g);
-}
-
-template <class Edge, class BidirectionalGraph, class GRef>
-inline typename graph_traits<BidirectionalGraph>::vertex_descriptor
-source(const detail::reverse_graph_edge_descriptor<Edge>& e, const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return target(e.underlying_descx, g.m_g);
-}
-
-template <class Edge, class BidirectionalGraph, class GRef>
-inline typename graph_traits<BidirectionalGraph>::vertex_descriptor
-target(const detail::reverse_graph_edge_descriptor<Edge>& e, const reverse_graph<BidirectionalGraph,GRef>& g)
-{
-    return source(e.underlying_descx, g.m_g);
-}
-
-
-namespace detail {
-
-  template <typename PM>
-  struct reverse_graph_edge_property_map {
-    private:
-    PM underlying_pm;
-
-    public:
-    typedef reverse_graph_edge_descriptor<typename property_traits<PM>::key_type> key_type;
-    typedef typename property_traits<PM>::value_type value_type;
-    typedef typename property_traits<PM>::reference reference;
-    typedef typename property_traits<PM>::category category;
-
-    explicit reverse_graph_edge_property_map(const PM& pm): underlying_pm(pm) {}
-
-    friend reference
-    get(const reverse_graph_edge_property_map& m,
-        const key_type& e) {
-      return get(m.underlying_pm, e.underlying_descx);
-    }
-
-    friend void
-    put(const reverse_graph_edge_property_map& m,
-        const key_type& e,
-        const value_type& v) {
-      put(m.underlying_pm, e.underlying_descx, v);
-    }
-
-    reference operator[](const key_type& k) const {
-      return (this->underlying_pm)[k.underlying_descx];
-    }
-  };
-
-} // namespace detail
-
-template <class BidirGraph, class GRef, class Property>
-struct property_map<reverse_graph<BidirGraph, GRef>, Property> {
-  typedef boost::is_same<typename detail::property_kind_from_graph<BidirGraph, Property>::type, edge_property_tag> is_edge_prop;
-  typedef boost::is_const<typename boost::remove_reference<GRef>::type> is_ref_const;
-  typedef typename boost::mpl::if_<
-                     is_ref_const,
-                     typename property_map<BidirGraph, Property>::const_type,
-                     typename property_map<BidirGraph, Property>::type>::type
-    orig_type;
-  typedef typename property_map<BidirGraph, Property>::const_type orig_const_type;
-  typedef typename boost::mpl::if_<is_edge_prop, detail::reverse_graph_edge_property_map<orig_type>, orig_type>::type type;
-  typedef typename boost::mpl::if_<is_edge_prop, detail::reverse_graph_edge_property_map<orig_const_type>, orig_const_type>::type const_type;
-};
-
-template <class BidirGraph, class GRef, class Property>
-struct property_map<const reverse_graph<BidirGraph, GRef>, Property> {
-  typedef boost::is_same<typename detail::property_kind_from_graph<BidirGraph, Property>::type, edge_property_tag> is_edge_prop;
-  typedef typename property_map<BidirGraph, Property>::const_type orig_const_type;
-  typedef typename boost::mpl::if_<is_edge_prop, detail::reverse_graph_edge_property_map<orig_const_type>, orig_const_type>::type const_type;
-  typedef const_type type;
-};
-
-template <class BidirGraph, class GRef, class Property>
-typename disable_if<
-  is_same<Property, edge_underlying_t>,
-  typename property_map<reverse_graph<BidirGraph,GRef>, Property>::type>::type
-get(Property p, reverse_graph<BidirGraph,GRef>& g)
-{
-  return typename property_map<reverse_graph<BidirGraph,GRef>, Property>::type(get(p, g.m_g));
-}
-
-template <class BidirGraph, class GRef, class Property>
-typename disable_if<
-  is_same<Property, edge_underlying_t>,
-  typename property_map<reverse_graph<BidirGraph,GRef>, Property>::const_type>::type
-get(Property p, const reverse_graph<BidirGraph,GRef>& g)
-{
-  const BidirGraph& gref = g.m_g; // in case GRef is non-const
-  return typename property_map<reverse_graph<BidirGraph,GRef>, Property>::const_type(get(p, gref));
-}
-
-template <class BidirectionalGraph, class GRef, class Property, class Key>
-typename disable_if<
-  is_same<Property, edge_underlying_t>,
-  typename property_traits<
-    typename property_map<reverse_graph<BidirectionalGraph, GRef>, Property>::const_type
-  >::value_type>::type
-get(Property p, const reverse_graph<BidirectionalGraph,GRef>& g, const Key& k)
-{
-  return get(get(p, g), k);
-}
-
-template <class BidirectionalGraph, class GRef, class Property, class Key, class Value>
-void
-put(Property p, reverse_graph<BidirectionalGraph,GRef>& g, const Key& k,
-    const Value& val)
-{
-  put(get(p, g), k, val);
-}
-
-// Get the underlying descriptor from a reverse_graph's wrapped edge descriptor
-
-namespace detail {
-  template <class E>
-  struct underlying_edge_desc_map_type {
-    E operator[](const reverse_graph_edge_descriptor<E>& k) const {
-      return k.underlying_descx;
-    }
-  };
-
-  template <class E>
-  E
-  get(underlying_edge_desc_map_type<E> m,
-      const reverse_graph_edge_descriptor<E>& k)
-  {
-    return m[k];
-  }
-}
-
-template <class E>
-struct property_traits<detail::underlying_edge_desc_map_type<E> > {
-  typedef detail::reverse_graph_edge_descriptor<E> key_type;
-  typedef E value_type;
-  typedef const E& reference;
-  typedef readable_property_map_tag category;
-};
-
-template <class Graph, class GRef>
-struct property_map<reverse_graph<Graph, GRef>, edge_underlying_t> {
-  private:
-  typedef typename graph_traits<Graph>::edge_descriptor ed;
-
-  public:
-  typedef detail::underlying_edge_desc_map_type<ed> type;
-  typedef detail::underlying_edge_desc_map_type<ed> const_type;
-};
-
-template <typename T> struct is_reverse_graph: boost::mpl::false_ {};
-template <typename G, typename R> struct is_reverse_graph<reverse_graph<G, R> >: boost::mpl::true_ {};
-
-template <class G>
-typename enable_if<is_reverse_graph<G>,
-  detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor> >::type
-get(edge_underlying_t,
-    G&)
-{
-  return detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor>();
-}
-
-template <class G>
-typename enable_if<is_reverse_graph<G>, typename graph_traits<typename G::base_type>::edge_descriptor>::type
-get(edge_underlying_t,
-    G&,
-    const typename graph_traits<G>::edge_descriptor& k)
-{
-  return k.underlying_descx;
-}
-
-template <class G>
-typename enable_if<is_reverse_graph<G>, detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor> >::type
-get(edge_underlying_t,
-    const G&)
-{
-  return detail::underlying_edge_desc_map_type<typename graph_traits<typename G::base_type>::edge_descriptor>();
-}
-
-template <class G>
-typename enable_if<is_reverse_graph<G>, typename graph_traits<typename G::base_type>::edge_descriptor>::type
-get(edge_underlying_t,
-    const G&,
-    const typename graph_traits<G>::edge_descriptor& k)
-{
-  return k.underlying_descx;
-}
-
-// Access to wrapped graph's graph properties
-
-template<typename BidirectionalGraph, typename GRef, typename Tag,
-         typename Value>
-inline void
-set_property(const reverse_graph<BidirectionalGraph,GRef>& g, Tag tag,
-             const Value& value)
-{
-  set_property(g.m_g, tag, value);
-}
-
-template<typename BidirectionalGraph, typename GRef, typename Tag>
-inline
-typename boost::mpl::if_<
-           boost::is_const<typename boost::remove_reference<GRef>::type>,
-           const typename graph_property<BidirectionalGraph, Tag>::type&,
-           typename graph_property<BidirectionalGraph, Tag>::type& >::type
-get_property(const reverse_graph<BidirectionalGraph,GRef>& g, Tag tag)
-{
-  return get_property(g.m_g, tag);
-}
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/rmat_graph_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/rmat_graph_generator.hpp
deleted file mode 100644
index f083fc5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/rmat_graph_generator.hpp
+++ /dev/null
@@ -1,595 +0,0 @@
-// Copyright 2004, 2005 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: Nick Edmonds
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_RMAT_GENERATOR_HPP
-#define BOOST_GRAPH_RMAT_GENERATOR_HPP
-
-#include <math.h>
-#include <iterator>
-#include <utility>
-#include <vector>
-#include <queue>
-#include <map>
-#include <boost/shared_ptr.hpp>
-#include <boost/assert.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-// #include <boost/test/floating_point_comparison.hpp>
-
-using boost::shared_ptr;
-using boost::uniform_01;
-
-// Returns floor(log_2(n)), and -1 when n is 0
-template <typename IntegerType>
-inline int int_log2(IntegerType n) {
-  int l = 0;
-  while (n > 0) {++l; n >>= 1;}
-  return l - 1;
-}
-
-struct keep_all_edges {
-  template <typename T>
-  bool operator()(const T&, const T&) { return true; }
-};
-
-template <typename Distribution, typename ProcessId>
-struct keep_local_edges {
-
-  keep_local_edges(const Distribution& distrib, const ProcessId& id)
-    : distrib(distrib), id(id)
-  { }
-
-  template <typename T>
-  bool operator()(const T& x, const T& y)
-  { return distrib(x) == id || distrib(y) == id; }
-
-private:
-  const Distribution& distrib;
-  const ProcessId&    id;
-};
-
-template <typename RandomGenerator, typename T>
-void
-generate_permutation_vector(RandomGenerator& gen, std::vector<T>& vertexPermutation, T n)
-{
-  using boost::uniform_int;
-
-  vertexPermutation.resize(n);
-
-  // Generate permutation map of vertex numbers
-  uniform_int<T> rand_vertex(0, n-1);
-  for (T i = 0; i < n; ++i)
-    vertexPermutation[i] = i;
-
-  // Can't use std::random_shuffle unless we create another (synchronized) PRNG
-  for (T i = 0; i < n; ++i)
-    std::swap(vertexPermutation[i], vertexPermutation[rand_vertex(gen)]);
-}
-
-template <typename RandomGenerator, typename T>
-std::pair<T,T>
-generate_edge(shared_ptr<uniform_01<RandomGenerator> > prob, T n,
-              unsigned int SCALE, double a, double b, double c, double d)
-{
-  T u = 0, v = 0;
-  T step = n/2;
-  for (unsigned int j = 0; j < SCALE; ++j) {
-    double p = (*prob)();
-
-    if (p < a)
-      ;
-    else if (p >= a && p < a + b)
-      v += step;
-    else if (p >= a + b && p < a + b + c)
-      u += step;
-    else { // p > a + b + c && p < a + b + c + d
-      u += step;
-      v += step;
-    }
-
-    step /= 2;
-
-    // 0.2 and 0.9 are hardcoded in the reference SSCA implementation.
-    // The maximum change in any given value should be less than 10%
-    a *= 0.9 + 0.2 * (*prob)();
-    b *= 0.9 + 0.2 * (*prob)();
-    c *= 0.9 + 0.2 * (*prob)();
-    d *= 0.9 + 0.2 * (*prob)();
-
-    double S = a + b + c + d;
-
-    a /= S; b /= S; c /= S;
-    // d /= S;
-    // Ensure all values add up to 1, regardless of floating point errors
-    d = 1. - a - b - c;
-  }
-
-  return std::make_pair(u, v);
-}
-
-namespace boost {
-
-  /*
-    Chakrabarti's R-MAT scale free generator.
-
-    For all flavors of the R-MAT iterator a+b+c+d must equal 1 and for the
-    unique_rmat_iterator 'm' << 'n^2'.  If 'm' is too close to 'n^2' the
-    generator may be unable to generate sufficient unique edges
-
-    To get a true scale free distribution {a, b, c, d : a > b, a > c, a > d}
-  */
-
-  template<typename RandomGenerator, typename Graph>
-  class rmat_iterator
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef std::ptrdiff_t difference_type; // Not used
-
-    // No argument constructor, set to terminating condition
-    rmat_iterator()
-      : gen(), edge(0) { }
-
-    // Initialize for edge generation
-    rmat_iterator(RandomGenerator& gen, vertices_size_type n,
-                  edges_size_type m, double a, double b, double c,
-                  double d, bool permute_vertices = true)
-      : gen(), n(n), a(a), b(b), c(c), d(d), edge(m),
-        permute_vertices(permute_vertices),
-        SCALE(int_log2(n))
-
-    {
-      this->gen.reset(new uniform_01<RandomGenerator>(gen));
-
-      // BOOST_ASSERT(boost::test_tools::check_is_close(a + b + c + d, 1., 1.e-5));
-
-      if (permute_vertices)
-        generate_permutation_vector(gen, vertexPermutation, n);
-
-      // TODO: Generate the entire adjacency matrix then "Clip and flip" if undirected graph
-
-      // Generate the first edge
-      vertices_size_type u, v;
-      boost::tie(u, v) = generate_edge(this->gen, n, SCALE, a, b, c, d);
-
-      if (permute_vertices)
-        current = std::make_pair(vertexPermutation[u],
-                                 vertexPermutation[v]);
-      else
-        current = std::make_pair(u, v);
-
-      --edge;
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    rmat_iterator& operator++()
-    {
-      vertices_size_type u, v;
-      boost::tie(u, v) = generate_edge(this->gen, n, SCALE, a, b, c, d);
-
-      if (permute_vertices)
-        current = std::make_pair(vertexPermutation[u],
-                                 vertexPermutation[v]);
-      else
-        current = std::make_pair(u, v);
-
-      --edge;
-
-      return *this;
-    }
-
-    rmat_iterator operator++(int)
-    {
-      rmat_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const rmat_iterator& other) const
-    {
-      return edge == other.edge;
-    }
-
-    bool operator!=(const rmat_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-
-    // Parameters
-    shared_ptr<uniform_01<RandomGenerator> > gen;
-    vertices_size_type n;
-    double a, b, c, d;
-    int edge;
-    bool permute_vertices;
-    int SCALE;
-
-    // Internal data structures
-    std::vector<vertices_size_type> vertexPermutation;
-    value_type current;
-  };
-
-  // Sorted version for CSR
-  template <typename T>
-  struct sort_pair {
-    bool operator() (const std::pair<T,T>& x, const std::pair<T,T>& y)
-    {
-      if (x.first == y.first)
-        return x.second > y.second;
-      else
-        return x.first > y.first;
-    }
-  };
-
-  template<typename RandomGenerator, typename Graph,
-           typename EdgePredicate = keep_all_edges>
-  class sorted_rmat_iterator
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef std::ptrdiff_t difference_type; // Not used
-
-    // No argument constructor, set to terminating condition
-    sorted_rmat_iterator()
-      : gen(), values(sort_pair<vertices_size_type>()), done(true)
-    { }
-
-    // Initialize for edge generation
-    sorted_rmat_iterator(RandomGenerator& gen, vertices_size_type n,
-                         edges_size_type m, double a, double b, double c,
-                         double d, bool permute_vertices = true,
-                         EdgePredicate ep = keep_all_edges())
-      : gen(), permute_vertices(permute_vertices),
-        values(sort_pair<vertices_size_type>()), done(false)
-
-    {
-      // BOOST_ASSERT(boost::test_tools::check_is_close(a + b + c + d, 1., 1.e-5));
-
-      this->gen.reset(new uniform_01<RandomGenerator>(gen));
-
-      std::vector<vertices_size_type> vertexPermutation;
-      if (permute_vertices)
-        generate_permutation_vector(gen, vertexPermutation, n);
-
-      // TODO: "Clip and flip" if undirected graph
-      int SCALE = int_log2(n);
-
-      for (edges_size_type i = 0; i < m; ++i) {
-
-        vertices_size_type u, v;
-        boost::tie(u, v) = generate_edge(this->gen, n, SCALE, a, b, c, d);
-
-        if (permute_vertices) {
-          if (ep(vertexPermutation[u], vertexPermutation[v]))
-            values.push(std::make_pair(vertexPermutation[u], vertexPermutation[v]));
-        } else {
-          if (ep(u, v))
-            values.push(std::make_pair(u, v));
-        }
-
-      }
-
-      current = values.top();
-      values.pop();
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    sorted_rmat_iterator& operator++()
-    {
-      if (!values.empty()) {
-        current = values.top();
-        values.pop();
-      } else
-        done = true;
-
-      return *this;
-    }
-
-    sorted_rmat_iterator operator++(int)
-    {
-      sorted_rmat_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const sorted_rmat_iterator& other) const
-    {
-      return values.empty() && other.values.empty() && done && other.done;
-    }
-
-    bool operator!=(const sorted_rmat_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-
-    // Parameters
-    shared_ptr<uniform_01<RandomGenerator> > gen;
-    bool permute_vertices;
-
-    // Internal data structures
-    std::priority_queue<value_type, std::vector<value_type>, sort_pair<vertices_size_type> > values;
-    value_type current;
-    bool       done;
-  };
-
-
-  // This version is slow but guarantees unique edges
-  template<typename RandomGenerator, typename Graph,
-           typename EdgePredicate = keep_all_edges>
-  class unique_rmat_iterator
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef std::ptrdiff_t difference_type; // Not used
-
-    // No argument constructor, set to terminating condition
-    unique_rmat_iterator()
-        : gen(), done(true)
-    { }
-
-    // Initialize for edge generation
-    unique_rmat_iterator(RandomGenerator& gen, vertices_size_type n,
-                         edges_size_type m, double a, double b, double c,
-                         double d, bool permute_vertices = true,
-                         EdgePredicate ep = keep_all_edges())
-      : gen(), done(false)
-
-    {
-      // BOOST_ASSERT(boost::test_tools::check_is_close(a + b + c + d, 1., 1.e-5));
-
-      this->gen.reset(new uniform_01<RandomGenerator>(gen));
-
-      std::vector<vertices_size_type> vertexPermutation;
-      if (permute_vertices)
-        generate_permutation_vector(gen, vertexPermutation, n);
-
-      int SCALE = int_log2(n);
-
-      std::map<value_type, bool> edge_map;
-
-      edges_size_type edges = 0;
-      do {
-        vertices_size_type u, v;
-        boost::tie(u, v) = generate_edge(this->gen, n, SCALE, a, b, c, d);
-
-        // Lowest vertex number always comes first
-        // (this means we don't have to worry about i->j and j->i being in the edge list)
-        if (u > v && is_same<directed_category, undirected_tag>::value)
-          std::swap(u, v);
-
-        if (edge_map.find(std::make_pair(u, v)) == edge_map.end()) {
-          edge_map[std::make_pair(u, v)] = true;
-
-          if (permute_vertices) {
-            if (ep(vertexPermutation[u], vertexPermutation[v]))
-              values.push_back(std::make_pair(vertexPermutation[u], vertexPermutation[v]));
-          } else {
-            if (ep(u, v))
-              values.push_back(std::make_pair(u, v));
-          }
-
-          edges++;
-        }
-      } while (edges < m);
-      // NGE - Asking for more than n^2 edges will result in an infinite loop here
-      //       Asking for a value too close to n^2 edges may as well
-
-      current = values.back();
-      values.pop_back();
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    unique_rmat_iterator& operator++()
-    {
-      if (!values.empty()) {
-        current = values.back();
-        values.pop_back();
-      } else
-        done = true;
-
-      return *this;
-    }
-
-    unique_rmat_iterator operator++(int)
-    {
-      unique_rmat_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const unique_rmat_iterator& other) const
-    {
-      return values.empty() && other.values.empty() && done && other.done;
-    }
-
-    bool operator!=(const unique_rmat_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-
-    // Parameters
-    shared_ptr<uniform_01<RandomGenerator> > gen;
-
-    // Internal data structures
-    std::vector<value_type> values;
-    value_type              current;
-    bool                    done;
-  };
-
-  // This version is slow but guarantees unique edges
-  template<typename RandomGenerator, typename Graph,
-           typename EdgePredicate = keep_all_edges>
-  class sorted_unique_rmat_iterator
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type vertices_size_type;
-    typedef typename graph_traits<Graph>::edges_size_type edges_size_type;
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef std::ptrdiff_t difference_type; // Not used
-
-    // No argument constructor, set to terminating condition
-    sorted_unique_rmat_iterator()
-      : gen(), values(sort_pair<vertices_size_type>()), done(true) { }
-
-    // Initialize for edge generation
-    sorted_unique_rmat_iterator(RandomGenerator& gen, vertices_size_type n,
-                                edges_size_type m, double a, double b, double c,
-                                double d, bool bidirectional = false,
-                                bool permute_vertices = true,
-                                EdgePredicate ep = keep_all_edges())
-      : gen(), bidirectional(bidirectional),
-        values(sort_pair<vertices_size_type>()), done(false)
-
-    {
-      // BOOST_ASSERT(boost::test_tools::check_is_close(a + b + c + d, 1., 1.e-5));
-
-      this->gen.reset(new uniform_01<RandomGenerator>(gen));
-
-      std::vector<vertices_size_type> vertexPermutation;
-      if (permute_vertices)
-        generate_permutation_vector(gen, vertexPermutation, n);
-
-      int SCALE = int_log2(n);
-
-      std::map<value_type, bool> edge_map;
-
-      edges_size_type edges = 0;
-      do {
-
-        vertices_size_type u, v;
-        boost::tie(u, v) = generate_edge(this->gen, n, SCALE, a, b, c, d);
-
-        if (bidirectional) {
-          if (edge_map.find(std::make_pair(u, v)) == edge_map.end()) {
-            edge_map[std::make_pair(u, v)] = true;
-            edge_map[std::make_pair(v, u)] = true;
-
-            if (ep(u, v)) {
-              if (permute_vertices) {
-                values.push(std::make_pair(vertexPermutation[u], vertexPermutation[v]));
-                values.push(std::make_pair(vertexPermutation[v], vertexPermutation[u]));
-              } else {
-                values.push(std::make_pair(u, v));
-                values.push(std::make_pair(v, u));
-              }
-           }
-
-            ++edges;
-          }
-        } else {
-          // Lowest vertex number always comes first
-          // (this means we don't have to worry about i->j and j->i being in the edge list)
-          if (u > v && is_same<directed_category, undirected_tag>::value)
-            std::swap(u, v);
-
-          if (edge_map.find(std::make_pair(u, v)) == edge_map.end()) {
-            edge_map[std::make_pair(u, v)] = true;
-
-            if (permute_vertices) {
-              if (ep(vertexPermutation[u], vertexPermutation[v]))
-                values.push(std::make_pair(vertexPermutation[u], vertexPermutation[v]));
-            } else {
-              if (ep(u, v))
-                values.push(std::make_pair(u, v));
-            }
-
-            ++edges;
-          }
-        }
-
-      } while (edges < m);
-      // NGE - Asking for more than n^2 edges will result in an infinite loop here
-      //       Asking for a value too close to n^2 edges may as well
-
-      current = values.top();
-      values.pop();
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    sorted_unique_rmat_iterator& operator++()
-    {
-      if (!values.empty()) {
-        current = values.top();
-        values.pop();
-      } else
-        done = true;
-
-      return *this;
-    }
-
-    sorted_unique_rmat_iterator operator++(int)
-    {
-      sorted_unique_rmat_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const sorted_unique_rmat_iterator& other) const
-    {
-      return values.empty() && other.values.empty() && done && other.done;
-    }
-
-    bool operator!=(const sorted_unique_rmat_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-
-    // Parameters
-    shared_ptr<uniform_01<RandomGenerator> > gen;
-    bool             bidirectional;
-
-    // Internal data structures
-    std::priority_queue<value_type, std::vector<value_type>,
-                        sort_pair<vertices_size_type> > values;
-    value_type current;
-    bool       done;
-  };
-
-} // end namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#include <boost/graph/distributed/rmat_graph_generator.hpp>
-#endif // BOOST_GRAPH_USE_MPI
-
-#endif // BOOST_GRAPH_RMAT_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/sequential_vertex_coloring.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/sequential_vertex_coloring.hpp
deleted file mode 100644
index 6bca084..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/sequential_vertex_coloring.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2004 The Trustees of Indiana University
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_SEQUENTIAL_VERTEX_COLORING_HPP
-#define BOOST_GRAPH_SEQUENTIAL_VERTEX_COLORING_HPP
-
-#include <vector>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/limits.hpp>
-
-#ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  include <iterator>
-#endif
-
-/* This algorithm is to find coloring of a graph
-
-   Algorithm: 
-   Let G = (V,E) be a graph with vertices (somehow) ordered v_1, v_2, ...,
-   v_n. For k = 1, 2, ..., n the sequential algorithm assigns v_k to the
-   smallest possible color. 
-
-   Reference:
-
-   Thomas F. Coleman and Jorge J. More, Estimation of sparse Jacobian
-   matrices and graph coloring problems. J. Numer. Anal. V20, P187-209, 1983
-
-   v_k is stored as o[k] here. 
-
-   The color of the vertex v will be stored in color[v].
-   i.e., vertex v belongs to coloring color[v] */
-
-namespace boost {
-  template <class VertexListGraph, class OrderPA, class ColorMap>
-  typename property_traits<ColorMap>::value_type
-  sequential_vertex_coloring(const VertexListGraph& G, OrderPA order, 
-                             ColorMap color)
-  {
-    typedef graph_traits<VertexListGraph> GraphTraits;
-    typedef typename GraphTraits::vertex_descriptor Vertex;
-    typedef typename property_traits<ColorMap>::value_type size_type;
-    
-    size_type max_color = 0;
-    const size_type V = num_vertices(G);
-
-    // We need to keep track of which colors are used by
-    // adjacent vertices. We do this by marking the colors
-    // that are used. The mark array contains the mark
-    // for each color. The length of mark is the
-    // number of vertices since the maximum possible number of colors
-    // is the number of vertices.
-    std::vector<size_type> mark(V, 
-                                std::numeric_limits<size_type>::max BOOST_PREVENT_MACRO_SUBSTITUTION());
-    
-    //Initialize colors 
-    typename GraphTraits::vertex_iterator v, vend;
-    for (boost::tie(v, vend) = vertices(G); v != vend; ++v)
-      put(color, *v, V-1);
-    
-    //Determine the color for every vertex one by one
-    for ( size_type i = 0; i < V; i++) {
-      Vertex current = get(order,i);
-      typename GraphTraits::adjacency_iterator v, vend;
-      
-      //Mark the colors of vertices adjacent to current.
-      //i can be the value for marking since i increases successively
-      for (boost::tie(v,vend) = adjacent_vertices(current, G); v != vend; ++v)
-        mark[get(color,*v)] = i; 
-      
-      //Next step is to assign the smallest un-marked color
-      //to the current vertex.
-      size_type j = 0;
-
-      //Scan through all useable colors, find the smallest possible
-      //color that is not used by neighbors.  Note that if mark[j]
-      //is equal to i, color j is used by one of the current vertex's
-      //neighbors.
-      while ( j < max_color && mark[j] == i ) 
-        ++j;
-      
-      if ( j == max_color )  //All colors are used up. Add one more color
-        ++max_color;
-
-      //At this point, j is the smallest possible color
-      put(color, current, j);  //Save the color of vertex current
-    }
-    
-    return max_color;
-  }
-
-  template<class VertexListGraph, class ColorMap>
-  typename property_traits<ColorMap>::value_type
-  sequential_vertex_coloring(const VertexListGraph& G, ColorMap color)
-  {
-    typedef typename graph_traits<VertexListGraph>::vertex_descriptor
-      vertex_descriptor;
-    typedef typename graph_traits<VertexListGraph>::vertex_iterator
-      vertex_iterator;
-
-    std::pair<vertex_iterator, vertex_iterator> v = vertices(G);
-#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-    std::vector<vertex_descriptor> order(v.first, v.second);
-#else
-    std::vector<vertex_descriptor> order;
-    order.reserve(std::distance(v.first, v.second));
-    while (v.first != v.second) order.push_back(*v.first++);
-#endif
-    return sequential_vertex_coloring
-             (G, 
-              make_iterator_property_map
-              (order.begin(), identity_property_map(), 
-               graph_traits<VertexListGraph>::null_vertex()), 
-              color);
-  }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/simple_point.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/simple_point.hpp
deleted file mode 100644
index 5f19c75..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/simple_point.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//=======================================================================
-// Copyright 2005 Trustees of Indiana University
-// Authors: Andrew Lumsdaine, 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)
-//=======================================================================
-#ifndef BOOST_GRAPH_SIMPLE_POINT_HPP
-#define BOOST_GRAPH_SIMPLE_POINT_HPP
-
-namespace boost {
-
-template<typename T>
-struct simple_point
-{
-  T x;
-  T y;
-};
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_SIMPLE_POINT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/sloan_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/sloan_ordering.hpp
deleted file mode 100644
index 88ad1b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/sloan_ordering.hpp
+++ /dev/null
@@ -1,449 +0,0 @@
-//
-//=======================================================================
-// Copyright 2002 Marc Wintermantel (wintermantel at even-ag.ch)
-// ETH Zurich, Center of Structure Technologies (www.imes.ethz.ch/st)
-//
-// Distributed under the 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_GRAPH_SLOAN_HPP
-#define BOOST_GRAPH_SLOAN_HPP
-
-#define WEIGHT1 1               //default weight for the distance in the Sloan algorithm
-#define WEIGHT2 2               //default weight for the degree in the Sloan algorithm
-
-#include <boost/config.hpp>
-#include <vector>
-#include <queue>
-#include <algorithm>
-#include <limits>
-#include <boost/pending/queue.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/breadth_first_search.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/cuthill_mckee_ordering.hpp>
-
-
-////////////////////////////////////////////////////////////
-//
-//Sloan-Algorithm for graph reordering
-//(optimzes profile and wavefront, not primiraly bandwidth
-//
-////////////////////////////////////////////////////////////
-
-namespace boost {
-        
-  /////////////////////////////////////////////////////////////////////////
-  // Function that returns the maximum depth of 
-  // a rooted level strucutre (RLS)
-  //
-  /////////////////////////////////////////////////////////////////////////
-  template<class Distance>
-  typename Distance::value_type RLS_depth(Distance& d)
-  {
-    typename Distance::value_type h_s = 0;
-    typename Distance::iterator iter;
-    
-    for (iter = d.begin(); iter != d.end(); ++iter)
-      {
-        if(*iter > h_s)
-          {
-            h_s = *iter;
-          }
-      }
-    
-    return h_s;
-  }
-
-
-    
-  /////////////////////////////////////////////////////////////////////////
-  // Function that returns the width of the largest level of 
-  // a rooted level strucutre (RLS)
-  //
-  /////////////////////////////////////////////////////////////////////////
-  template<class Distance, class my_int>
-  typename Distance::value_type RLS_max_width(Distance& d, my_int depth)
-  {
-
-      typedef typename Distance::value_type Degree;
-    
-      //Searching for the maximum width of a level
-      std::vector<Degree> dummy_width(depth+1, 0);
-      typename std::vector<Degree>::iterator my_it;
-      typename Distance::iterator iter;
-      Degree w_max = 0;
-      
-      for (iter = d.begin(); iter != d.end(); ++iter)
-      {
-          dummy_width[*iter]++;
-      }
-      
-      for(my_it = dummy_width.begin(); my_it != dummy_width.end(); ++my_it)
-      {
-          if(*my_it > w_max) w_max = *my_it;
-      }
-      
-      return w_max;
-      
-  }
-    
-
-  /////////////////////////////////////////////////////////////////////////
-  // Function for finding a good starting node for Sloan algorithm
-  //
-  // This is to find a good starting node. "good" is in the sense
-  // of the ordering generated. 
-  /////////////////////////////////////////////////////////////////////////
-  template <class Graph, class ColorMap, class DegreeMap> 
-  typename graph_traits<Graph>::vertex_descriptor 
-  sloan_start_end_vertices(Graph& G, 
-                           typename graph_traits<Graph>::vertex_descriptor &s, 
-                           ColorMap color, 
-                           DegreeMap degree)
-  {
-    typedef typename property_traits<DegreeMap>::value_type Degree;
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename std::vector< typename graph_traits<Graph>::vertices_size_type>::iterator vec_iter;
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-    
-    typedef typename property_map<Graph, vertex_index_t>::const_type VertexID;
-    
-    s = *(vertices(G).first);
-    Vertex e = s;
-    Vertex i;
-    Degree my_degree = get(degree, s ); 
-    Degree dummy, h_i, h_s, w_i, w_e;
-    bool new_start = true;
-    Degree maximum_degree = 0;
-    
-    //Creating a std-vector for storing the distance from the start vertex in dist
-    std::vector<typename graph_traits<Graph>::vertices_size_type> dist(num_vertices(G), 0);
-
-    //Wrap a property_map_iterator around the std::iterator
-    boost::iterator_property_map<vec_iter, VertexID, size_type, size_type&> dist_pmap(dist.begin(), get(vertex_index, G));
-    
-    //Creating a property_map for the indices of a vertex
-    typename property_map<Graph, vertex_index_t>::type index_map = get(vertex_index, G);
-    
-    //Creating a priority queue
-    typedef indirect_cmp<DegreeMap, std::greater<Degree> > Compare;
-    Compare comp(degree);
-    std::priority_queue<Vertex, std::vector<Vertex>, Compare> degree_queue(comp);
-    
-    //step 1
-    //Scan for the vertex with the smallest degree and the maximum degree
-    typename graph_traits<Graph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(G); ui != ui_end; ++ui)
-    {
-      dummy = get(degree, *ui);
-      
-      if(dummy < my_degree)
-      {
-        my_degree = dummy;
-        s = *ui;
-      }
-      
-      if(dummy > maximum_degree)
-      {
-        maximum_degree = dummy;
-      }
-    }
-    //end 1
-    
-    do{  
-      new_start = false;     //Setting the loop repetition status to false
-      
-      //step 2
-      //initialize the the disance std-vector with 0
-      for(typename std::vector<typename graph_traits<Graph>::vertices_size_type>::iterator iter = dist.begin(); iter != dist.end(); ++iter) *iter = 0;
-      
-      //generating the RLS (rooted level structure)
-      breadth_first_search
-        (G, s, visitor
-         (
-           make_bfs_visitor(record_distances(dist_pmap, on_tree_edge() ) )
-           )
-          );
-      
-      //end 2
-      
-      //step 3
-      //calculating the depth of the RLS
-      h_s = RLS_depth(dist);
-      
-      //step 4
-      //pushing one node of each degree in an ascending manner into degree_queue
-      std::vector<bool> shrink_trace(maximum_degree, false);
-      for (boost::tie(ui, ui_end) = vertices(G); ui != ui_end; ++ui)
-      {
-        dummy = get(degree, *ui);
-        
-        if( (dist[index_map[*ui]] == h_s ) && ( !shrink_trace[ dummy ] ) )
-        {
-          degree_queue.push(*ui);
-          shrink_trace[ dummy ] = true;
-        }
-      }
-      
-      //end 3 & 4
-
-      
-      // step 5
-      // Initializing w
-      w_e = (std::numeric_limits<Degree>::max)();
-      //end 5
-      
-      
-      //step 6
-      //Testing for termination
-      while( !degree_queue.empty() )
-      {
-        i = degree_queue.top();       //getting the node with the lowest degree from the degree queue
-        degree_queue.pop();           //ereasing the node with the lowest degree from the degree queue
-        
-        //generating a RLS          
-        for(typename std::vector<typename graph_traits<Graph>::vertices_size_type>::iterator iter = dist.begin(); iter != dist.end(); ++iter) *iter = 0;
-        
-        breadth_first_search
-          (G, i, boost::visitor
-           (
-             make_bfs_visitor(record_distances(dist_pmap, on_tree_edge() ) )
-             )
-            );
-        
-        //Calculating depth and width of the rooted level
-        h_i = RLS_depth(dist);
-        w_i = RLS_max_width(dist, h_i);
-        
-        //Testing for termination
-        if( (h_i > h_s) && (w_i < w_e) ) 
-        {
-          h_s = h_i;
-          s = i;
-          while(!degree_queue.empty()) degree_queue.pop();
-          new_start = true;         
-        }
-        else if(w_i < w_e)
-        { 
-          w_e = w_i;
-          e = i;
-        }
-      }
-      //end 6
-        
-    }while(new_start);
-    
-    return e;
-  }
-
-  //////////////////////////////////////////////////////////////////////////
-  // Sloan algorithm with a given starting Vertex.
-  //
-  // This algorithm requires user to provide a starting vertex to
-  // compute Sloan ordering.
-  //////////////////////////////////////////////////////////////////////////
-  template <class Graph, class OutputIterator,
-            class ColorMap, class DegreeMap,
-            class PriorityMap, class Weight>
-  OutputIterator
-  sloan_ordering(Graph& g,
-                 typename graph_traits<Graph>::vertex_descriptor s,
-                 typename graph_traits<Graph>::vertex_descriptor e,
-                 OutputIterator permutation, 
-                 ColorMap color, 
-                 DegreeMap degree, 
-                 PriorityMap priority, 
-                 Weight W1, 
-                 Weight W2)
-  {
-    //typedef typename property_traits<DegreeMap>::value_type Degree;
-    typedef typename property_traits<PriorityMap>::value_type Degree;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename std::vector<typename graph_traits<Graph>::vertices_size_type>::iterator vec_iter;
-    typedef typename graph_traits<Graph>::vertices_size_type size_type;
-
-    typedef typename property_map<Graph, vertex_index_t>::const_type VertexID;
-
-    
-    //Creating a std-vector for storing the distance from the end vertex in it
-    typename std::vector<typename graph_traits<Graph>::vertices_size_type> dist(num_vertices(g), 0);
-    
-    //Wrap a property_map_iterator around the std::iterator
-    boost::iterator_property_map<vec_iter, VertexID, size_type, size_type&> dist_pmap(dist.begin(), get(vertex_index, g)); 
-    
-    breadth_first_search
-      (g, e, visitor
-       (
-           make_bfs_visitor(record_distances(dist_pmap, on_tree_edge() ) )
-        )
-       );
-    
-    //Creating a property_map for the indices of a vertex
-    typename property_map<Graph, vertex_index_t>::type index_map = get(vertex_index, g);
-    
-    //Sets the color and priority to their initial status
-    Degree cdeg;    
-    typename graph_traits<Graph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui)
-    {
-        put(color, *ui, Color::white());
-        cdeg=get(degree, *ui)+1;
-        put(priority, *ui, W1*dist[index_map[*ui]]-W2*cdeg );  
-    }
-    
-    //Priority list
-    typedef indirect_cmp<PriorityMap, std::greater<Degree> > Compare;
-    Compare comp(priority);
-    std::list<Vertex> priority_list;
-
-    //Some more declarations
-    typename graph_traits<Graph>::out_edge_iterator ei, ei_end, ei2, ei2_end;
-    Vertex u, v, w;
-
-    put(color, s, Color::green());      //Sets the color of the starting vertex to gray
-    priority_list.push_front(s);                 //Puts s into the priority_list
-    
-    while ( !priority_list.empty() ) 
-    {  
-      priority_list.sort(comp);         //Orders the elements in the priority list in an ascending manner
-      
-      u = priority_list.front();           //Accesses the last element in the priority list
-      priority_list.pop_front();               //Removes the last element in the priority list
-      
-      if(get(color, u) == Color::green() )
-      {
-        //for-loop over all out-edges of vertex u
-        for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) 
-        {
-          v = target(*ei, g);
-          
-          put( priority, v, get(priority, v) + W2 ); //updates the priority
-          
-          if (get(color, v) == Color::white() )      //test if the vertex is inactive
-          {
-            put(color, v, Color::green() );        //giving the vertex a preactive status
-            priority_list.push_front(v);                     //writing the vertex in the priority_queue
-          }           
-        }
-      }
-      
-      //Here starts step 8
-      *permutation++ = u;                      //Puts u to the first position in the permutation-vector
-      put(color, u, Color::black() );          //Gives u an inactive status
-      
-      //for loop over all the adjacent vertices of u
-      for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-        
-        v = target(*ei, g);     
-        
-        if (get(color, v) == Color::green() ) {      //tests if the vertex is inactive
-          
-          put(color, v, Color::red() );        //giving the vertex an active status
-          put(priority, v, get(priority, v)+W2);  //updates the priority        
-          
-          //for loop over alll adjacent vertices of v
-          for (boost::tie(ei2, ei2_end) = out_edges(v, g); ei2 != ei2_end; ++ei2) {
-            w = target(*ei2, g);
-            
-            if(get(color, w) != Color::black() ) {     //tests if vertex is postactive
-              
-              put(priority, w, get(priority, w)+W2);  //updates the priority
-              
-              if(get(color, w) == Color::white() ){
-                
-                put(color, w, Color::green() );   // gives the vertex a preactive status
-                priority_list.push_front(w);           // puts the vertex into the priority queue
-                
-              } //end if
-              
-            } //end if
-            
-          } //end for
-          
-        } //end if
-        
-      } //end for
-      
-    } //end while
-    
-    
-    return permutation;
-  }  
-  
-  /////////////////////////////////////////////////////////////////////////////////////////
-  // Same algorithm as before, but without the weights given (taking default weights
-  template <class Graph, class OutputIterator,
-            class ColorMap, class DegreeMap,
-            class PriorityMap>
-  OutputIterator
-  sloan_ordering(Graph& g,
-                 typename graph_traits<Graph>::vertex_descriptor s,
-                 typename graph_traits<Graph>::vertex_descriptor e,
-                 OutputIterator permutation, 
-                 ColorMap color, 
-                 DegreeMap degree, 
-                 PriorityMap priority)
-  {
-    return sloan_ordering(g, s, e, permutation, color, degree, priority, WEIGHT1, WEIGHT2); 
-  }
-
-
-  //////////////////////////////////////////////////////////////////////////
-  // Sloan algorithm without a given starting Vertex.
-  //
-  // This algorithm finds a good starting vertex itself to
-  // compute Sloan-ordering.
-  //////////////////////////////////////////////////////////////////////////
- 
-
-
-  template < class Graph, class OutputIterator, 
-             class Color, class Degree,
-             class Priority, class Weight>
-  inline OutputIterator
-  sloan_ordering(Graph& G, 
-                 OutputIterator permutation, 
-                 Color color, 
-                 Degree degree, 
-                 Priority priority, 
-                 Weight W1, 
-                 Weight W2 )
-  {
-    typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
-    
-    Vertex s, e;
-    e = sloan_start_end_vertices(G, s, color, degree);
-    
-    return sloan_ordering(G, s, e, permutation, color, degree, priority, W1, W2);
-  }
-
-  /////////////////////////////////////////////////////////////////////////////////////////
-  // Same as before, but without given weights (default weights are taken instead)
-  template < class Graph, class OutputIterator, 
-             class Color, class Degree,
-             class Priority >
-  inline OutputIterator
-  sloan_ordering(Graph& G, 
-                 OutputIterator permutation, 
-                 Color color, 
-                 Degree degree, 
-                 Priority priority)
-  { 
-    return sloan_ordering(G, permutation, color, degree, priority, WEIGHT1, WEIGHT2);
-  }
-  
-  
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_SLOAN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/small_world_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/small_world_generator.hpp
deleted file mode 100644
index 4822e26..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/small_world_generator.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2004 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)
-
-//  Authors: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_SMALL_WORLD_GENERATOR_HPP
-#define BOOST_GRAPH_SMALL_WORLD_GENERATOR_HPP
-
-#include <iterator>
-#include <utility>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/uniform_int.hpp>
-
-namespace boost {
-
-  // Assumes undirected
-  template<typename RandomGenerator, typename Graph>
-  class small_world_iterator
-  {
-    typedef typename graph_traits<Graph>::vertices_size_type
-      vertices_size_type;
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef void difference_type;
-
-    small_world_iterator() : gen(0) {}
-    small_world_iterator(RandomGenerator& gen, vertices_size_type n,
-                         vertices_size_type k, double prob = 0.0,
-                         bool allow_self_loops = false)
-      : gen(&gen), n(n), k(k), prob(prob), source(0),
-        target(allow_self_loops? 0 : 1),
-        allow_self_loops(allow_self_loops),
-        current(0, allow_self_loops? 0 : 1)
-    { }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-
-    small_world_iterator& operator++()
-    {
-      target = (target + 1) % n;
-      if (target == (source + k/2 + 1) % n) {
-        ++source;
-        if (allow_self_loops) target = source;
-        else target = (source + 1) % n;
-      }
-      current.first = source;
-
-      uniform_01<RandomGenerator, double> rand01(*gen);
-      uniform_int<vertices_size_type> rand_vertex_gen(0, n-1);
-      double x = rand01();
-      *gen = rand01.base(); // GRRRR
-      if (x < prob) {
-        vertices_size_type lower = (source + n - k/2) % n;
-        vertices_size_type upper = (source + k/2) % n;
-        do {
-          current.second = rand_vertex_gen(*gen);
-        } while ((current.second >= lower && current.second <= upper)
-                 || (upper < lower
-                     && (current.second >= lower || current.second <= upper)));
-      } else {
-        current.second = target;
-      }
-      return *this;
-    }
-
-    small_world_iterator operator++(int)
-    {
-      small_world_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const small_world_iterator& other) const
-    {
-      if (!gen && other.gen) return other == *this;
-      else if (gen && !other.gen) return source == n;
-      else if (!gen && !other.gen) return true;
-      return source == other.source && target == other.target;
-    }
-
-    bool operator!=(const small_world_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-    void next()
-    {
-      uniform_int<vertices_size_type> rand_vertex(0, n-1);
-      current.first = rand_vertex(*gen);
-      do {
-        current.second = rand_vertex(*gen);
-      } while (current.first == current.second && !allow_self_loops);
-    }
-
-    RandomGenerator* gen;
-    vertices_size_type n;
-    vertices_size_type k;
-    double prob;
-    vertices_size_type source;
-    vertices_size_type target;
-    bool allow_self_loops;
-    value_type current;
-  };
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_SMALL_WORLD_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/smallest_last_ordering.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/smallest_last_ordering.hpp
deleted file mode 100644
index 210bb53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/smallest_last_ordering.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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:
-//   17 March 2006: Fixed a bug: when updating the degree a vertex 
-//                  could be moved to a wrong bucket. (Roman Dementiev) 
-//
-
-
-
-#ifndef BOOST_SMALLEST_LAST_VERTEX_ORDERING_HPP
-#define BOOST_SMALLEST_LAST_VERTEX_ORDERING_HPP
-/*
-   The smallest-last ordering is defined for the loopless graph G with
-   vertices a(j), j = 1,2,...,n where a(j) is the j-th column of A and
-   with edge (a(i),a(j)) if and only if columns i and j have a
-   non-zero in the same row position.  The smallest-last ordering is
-   determined recursively by letting list(k), k = n,...,1 be a column
-   with least degree in the subgraph spanned by the un-ordered
-   columns.
- */
-#include <vector>
-#include <algorithm>
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/bucket_sorter.hpp>
-
-namespace boost {
-
-  template <class VertexListGraph, class Order, class Degree, class Marker>
-  void 
-  smallest_last_vertex_ordering(const VertexListGraph& G, Order order, 
-                                Degree degree, Marker marker) {
-    typedef typename boost::graph_traits<VertexListGraph> GraphTraits;
-    typedef typename GraphTraits::vertex_descriptor Vertex;
-    //typedef typename GraphTraits::size_type size_type;
-    typedef std::size_t size_type;
-    
-    const size_type num = num_vertices(G);
-    
-    typedef typename boost::property_map<VertexListGraph, vertex_index_t>::type ID;
-    typedef bucket_sorter<size_type, Vertex, Degree, ID> BucketSorter;
-    
-    BucketSorter degree_bucket_sorter(num, num, degree,  
-                                      get(vertex_index,G));
-
-    smallest_last_vertex_ordering(G, order, degree, marker, degree_bucket_sorter);
-  }
-
-  template <class VertexListGraph, class Order, class Degree, 
-            class Marker, class BucketSorter>
-  void 
-  smallest_last_vertex_ordering(const VertexListGraph& G, Order order, 
-                                Degree degree, Marker marker,
-                                BucketSorter& degree_buckets) {
-    typedef typename boost::graph_traits<VertexListGraph> GraphTraits;
-    typedef typename GraphTraits::vertex_descriptor Vertex;
-    //typedef typename GraphTraits::size_type size_type;
-    typedef std::size_t size_type;
-
-    const size_type num = num_vertices(G);
-    
-    typename GraphTraits::vertex_iterator v, vend;
-    for (boost::tie(v, vend) = vertices(G); v != vend; ++v) {
-      put(marker, *v, num);
-      put(degree, *v, out_degree(*v, G));
-      degree_buckets.push(*v);
-    }
- 
-    size_type minimum_degree = 0;
-    size_type current_order = num - 1;
-    
-    while ( 1 ) {
-      typedef typename BucketSorter::stack MDStack;
-      MDStack minimum_degree_stack = degree_buckets[minimum_degree];
-      while (minimum_degree_stack.empty())
-        minimum_degree_stack = degree_buckets[++minimum_degree];
-      
-      Vertex node = minimum_degree_stack.top();
-      put(order, current_order, node);
-      
-      if ( current_order == 0 ) //find all vertices
-        break;
-      
-      minimum_degree_stack.pop();
-      put(marker, node, 0); //node has been ordered.
-      
-      typename GraphTraits::adjacency_iterator v, vend;
-      for (boost::tie(v,vend) = adjacent_vertices(node, G); v != vend; ++v)
-        
-        if ( get(marker,*v) > current_order ) { //*v is unordered vertex
-          put(marker, *v, current_order);  //mark the columns adjacent to node
-
-          //delete *v from the bucket sorter         
-          degree_buckets.remove(*v);
- 
-          //It is possible minimum degree goes down
-          //Here we keep tracking it.
-          put(degree, *v, get(degree, *v) - 1); 
-          BOOST_USING_STD_MIN();
-          minimum_degree = min BOOST_PREVENT_MACRO_SUBSTITUTION(minimum_degree, get(degree, *v)); 
-          
-          //reinsert *v in the bucket sorter with the new degree
-          degree_buckets.push(*v);
-        }
-
-      current_order--;
-    }
-    
-    //at this point, order[i] = v_i;
-  }
-  
-  template <class VertexListGraph, class Order>
-  void 
-  smallest_last_vertex_ordering(const VertexListGraph& G, Order order) {
-    typedef typename graph_traits<VertexListGraph>::vertex_descriptor vertex_descriptor;
-    typedef typename graph_traits<VertexListGraph>::degree_size_type degree_size_type;
-    smallest_last_vertex_ordering(G, order,
-                                  make_shared_array_property_map(num_vertices(G), degree_size_type(0), get(vertex_index, G)),
-                                  make_shared_array_property_map(num_vertices(G), (std::size_t)(0), get(vertex_index, G)));
-  }
-
-  template <class VertexListGraph>
-  std::vector<typename graph_traits<VertexListGraph>::vertex_descriptor>
-  smallest_last_vertex_ordering(const VertexListGraph& G) {
-    std::vector<typename graph_traits<VertexListGraph>::vertex_descriptor> o(num_vertices(G));
-    smallest_last_vertex_ordering(G, make_iterator_property_map(o.begin(), typed_identity_property_map<std::size_t>()));
-    return o;
-  }
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/ssca_graph_generator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/ssca_graph_generator.hpp
deleted file mode 100644
index 18d4a23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/ssca_graph_generator.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2004, 2005 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: Nick Edmonds
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_SSCA_GENERATOR_HPP
-#define BOOST_GRAPH_SSCA_GENERATOR_HPP
-
-#include <iterator>
-#include <utility>
-#include <vector>
-#include <queue>
-#include <boost/config.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-enum Direction {FORWARD = 1, BACKWARD = 2, BOTH = FORWARD | BACKWARD};
-
-namespace boost {
-
-  // This generator generates graphs according to the method specified
-  // in SSCA 1.1.  Current versions of SSCA use R-MAT graphs
-
-  template<typename RandomGenerator, typename Graph>
-  class ssca_iterator
-  {
-    typedef typename graph_traits<Graph>::directed_category directed_category;
-    typedef typename graph_traits<Graph>::vertices_size_type 
-      vertices_size_type;
-
-  public:
-    typedef std::input_iterator_tag iterator_category;
-    typedef std::pair<vertices_size_type, vertices_size_type> value_type;
-    typedef const value_type& reference;
-    typedef const value_type* pointer;
-    typedef void difference_type;
-
-    // No argument constructor, set to terminating condition
-    ssca_iterator()
-      : gen(), verticesRemaining(0) { }
-
-    // Initialize for edge generation
-    ssca_iterator(RandomGenerator& gen, vertices_size_type totVertices, 
-                  vertices_size_type maxCliqueSize, double probUnidirectional, 
-                  int maxParallelEdges, double probIntercliqueEdges) 
-      : gen(&gen), totVertices(totVertices), maxCliqueSize(maxCliqueSize), 
-        probUnidirectional(probUnidirectional), maxParallelEdges(maxParallelEdges),
-        probIntercliqueEdges(probIntercliqueEdges), currentClique(0), 
-        verticesRemaining(totVertices)
-    { 
-      cliqueNum = std::vector<int>(totVertices, -1);
-      current = std::make_pair(0,0);
-    }
-
-    reference operator*() const { return current; }
-    pointer operator->() const { return ¤t; }
-    
-    ssca_iterator& operator++()
-    {
-      BOOST_USING_STD_MIN();
-      while (values.empty() && verticesRemaining > 0) { // If there are no values left, generate a new clique
-        uniform_int<vertices_size_type> clique_size(1, maxCliqueSize);
-        uniform_int<vertices_size_type> rand_vertex(0, totVertices-1);
-        uniform_int<int> num_parallel_edges(1, maxParallelEdges);
-        uniform_int<short> direction(0,1);
-        uniform_01<RandomGenerator> prob(*gen);
-        std::vector<vertices_size_type> cliqueVertices;
-
-        cliqueVertices.clear();
-        vertices_size_type size = min BOOST_PREVENT_MACRO_SUBSTITUTION (clique_size(*gen), verticesRemaining);
-        while (cliqueVertices.size() < size) {
-          vertices_size_type v = rand_vertex(*gen);
-          if (cliqueNum[v] == -1) {
-            cliqueNum[v] = currentClique;
-            cliqueVertices.push_back(v);
-            verticesRemaining--;
-          }
-        }  // Nick: This is inefficient when only a few vertices remain...
-           //       I should probably just select the remaining vertices 
-           //       in order when only a certain fraction remain.
-
-        typename std::vector<vertices_size_type>::iterator first, second;
-        for (first = cliqueVertices.begin(); first != cliqueVertices.end(); ++first)
-          for (second = first+1; second != cliqueVertices.end(); ++second) {
-            Direction d;
-            int edges;
-
-            d = prob() < probUnidirectional ? (direction(*gen) == 0 ? FORWARD : BACKWARD) : BOTH;
-
-            if (d & FORWARD) {
-              edges = num_parallel_edges(*gen);
-              for (int i = 0; i < edges; ++i)
-                values.push(std::make_pair(*first, *second));
-            }
-              
-            if (d & BACKWARD) {
-              edges = num_parallel_edges(*gen);
-              for (int i = 0; i < edges; ++i)
-                values.push(std::make_pair(*second, *first));
-            }
-          }
-
-        if (verticesRemaining == 0) {
-          // Generate interclique edges
-          for (vertices_size_type i = 0; i < totVertices; ++i) {
-            double p = probIntercliqueEdges;
-            for (vertices_size_type d = 2; d < totVertices/2; d *= 2, p/= 2) {
-              vertices_size_type j = (i+d) % totVertices;
-              if (cliqueNum[j] != cliqueNum[i] && prob() < p) {
-                int edges = num_parallel_edges(*gen);
-                for (int i = 0; i < edges; ++i)
-                  values.push(std::make_pair(i, j));
-              }
-            }
-          }
-        }
-
-        currentClique++;
-      } 
-
-      if (!values.empty()) { // If we're not done return a value
-        current = values.front();
-        values.pop();
-      }
-
-      return *this;
-    }
-
-    ssca_iterator operator++(int)
-    {
-      ssca_iterator temp(*this);
-      ++(*this);
-      return temp;
-    }
-
-    bool operator==(const ssca_iterator& other) const
-    {
-      return verticesRemaining == other.verticesRemaining && values.empty() && other.values.empty();
-    }
-
-    bool operator!=(const ssca_iterator& other) const
-    { return !(*this == other); }
-
-  private:
-
-    // Parameters
-    RandomGenerator* gen;
-    vertices_size_type totVertices;
-    vertices_size_type maxCliqueSize;
-    double probUnidirectional;
-    int maxParallelEdges;
-    double probIntercliqueEdges;
-
-    // Internal data structures
-    std::vector<int> cliqueNum;
-    std::queue<value_type> values;
-    int currentClique;
-    vertices_size_type verticesRemaining;
-    value_type current;
-  };
-
-} // end namespace boost
-
-#endif // BOOST_GRAPH_SSCA_GENERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/st_connected.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/st_connected.hpp
deleted file mode 100644
index 9801a27..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/st_connected.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_DISTRIBUTED_ST_CONNECTED_HPP
-#define BOOST_GRAPH_DISTRIBUTED_ST_CONNECTED_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/two_bit_color_map.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/pending/queue.hpp>
-
-namespace boost { namespace graph {
-
-template<typename Graph, typename ColorMap>
-bool 
-st_connected(const Graph& g, 
-             typename graph_traits<Graph>::vertex_descriptor s,
-             typename graph_traits<Graph>::vertex_descriptor t,
-             ColorMap color)
-{
-  typedef typename property_traits<ColorMap>::value_type Color;
-  typedef color_traits<Color> ColorTraits;
-  typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-  // Set all vertices to white (unvisited)
-  BGL_FORALL_VERTICES_T(v, g, Graph)
-    put(color, v, ColorTraits::white());
-
-  // Vertices found from the source are grey
-  put(color, s, ColorTraits::gray());
-
-  // Vertices found from the target are greeen
-  put(color, t, ColorTraits::green());
-  queue<Vertex> Q;
-  Q.push(s);
-  Q.push(t);
-
-  while (!Q.empty()) {
-    Vertex u = Q.top(); Q.pop();
-    Color u_color = get(color, u);
-
-    BGL_FORALL_OUTEDGES_T(u, e, g, Graph) {
-      Vertex v = target(e, g);
-      Color v_color = get(color, v);
-      if (v_color == ColorTraits::white()) {
-        // We have not seen "v" before; mark it with the same color as u
-        Color u_color = get(color, u);
-        put(color, v, u_color);
-        
-        // Push it on the queue
-        Q.push(v);
-      } else if (v_color != ColorTraits::black() && u_color != v_color) {
-        // Colors have collided. We're done!
-        return true;
-      }
-    }
-    // u is done, so mark it black
-    put(color, u, ColorTraits::black());
-  }
-
-  return false;
-}
-
-template<typename Graph>
-inline bool 
-st_connected(const Graph& g, 
-             typename graph_traits<Graph>::vertex_descriptor s,
-             typename graph_traits<Graph>::vertex_descriptor t)
-{
-  return st_connected(g, s, t, 
-                      make_two_bit_color_map(num_vertices(g),
-                                             get(vertex_index, g)));
-}
-
-} } // end namespace boost::graph
-
-#endif // BOOST_GRAPH_DISTRIBUTED_ST_CONNECTED_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/stanford_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/stanford_graph.hpp
deleted file mode 100644
index b2d3987..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/stanford_graph.hpp
+++ /dev/null
@@ -1,523 +0,0 @@
-//=======================================================================
-// Copyright 1997-2001 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_SGB_GRAPH_HPP
-#define BOOST_GRAPH_SGB_GRAPH_HPP
-
-#include <boost/config.hpp>
-#include <boost/iterator.hpp>
-#include <boost/operators.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-
-// Thanks to Andreas Scherer for numerous suggestions and fixes!
-
-// This file adapts a Stanford GraphBase (SGB) Graph pointer into a
-// VertexListGraph. Note that a graph adaptor class is not needed, 
-// SGB's Graph* is used as is. The VertexListGraph concept is fulfilled by
-// defining the appropriate non-member functions for Graph*.
-//
-// The PROTOTYPES change file extensions to SGB must be applied so
-// that the SGB functions have real prototypes which are necessary for
-// the C++ compiler. To apply the PROTOTYPES extensions, before you do
-// "make tests install" for SGB do "ln -s PROTOTYPES/* ." to the SGB
-// root directory (or just copy all the files from the PROTOTYPES
-// directory to the SGB root directory).
-//
-extern "C" {
-        // We include all global definitions for the general stuff
-        // of The Stanford GraphBase and its various graph generator
-        // functions by reading all SGB headerfiles as in section 2 of
-        // the "test_sample" program.
-#include <gb_graph.h> /* SGB data structures */
-#include <gb_io.h> /* SGB input/output routines */
-#include <gb_flip.h> /* random number generator */
-#include <gb_dijk.h> /* routines for shortest paths */
-#include <gb_basic.h> /* the basic graph operations */
-#undef empty /* avoid name clash with C++ standard library */
-        inline Graph* empty( long n ) /* and provide workaround */
-        { return board(n,0L,0L,0L,2L,0L,0L); }
-#include <gb_books.h> /* graphs based on literature */
-#include <gb_econ.h> /* graphs based on economic data */
-#include <gb_games.h> /* graphs based on football scores */
-#include <gb_gates.h> /* graphs based on logic circuits */
-#undef val /* avoid name clash with g++ headerfile stl_tempbuf.h */
-        // val ==> Vertex::x.I
-#include <gb_lisa.h> /* graphs based on Mona Lisa */
-#include <gb_miles.h> /* graphs based on mileage data */
-#include <gb_plane.h> /* planar graphs */
-#include <gb_raman.h> /* Ramanujan graphs */
-#include <gb_rand.h> /* random graphs */
-#include <gb_roget.h> /* graphs based on Roget's Thesaurus */
-#include <gb_save.h> /* we save results in ASCII format */
-#include <gb_words.h> /* five-letter-word graphs */
-#undef weight /* avoid name clash with BGL parameter */
-        // weight ==> Vertex::u.I
-}
-
-namespace boost {
-  class sgb_edge;
-}
-
-class sgb_out_edge_iterator;
-class sgb_adj_iterator;
-class sgb_vertex_iterator;
-
-namespace boost {
-  typedef Graph* sgb_graph_ptr;
-  typedef const Graph* sgb_const_graph_ptr;
-
-  struct sgb_traversal_tag :
-    public virtual vertex_list_graph_tag,
-    public virtual incidence_graph_tag,
-    public virtual adjacency_graph_tag { };
-
-  template <> struct graph_traits<sgb_graph_ptr> {
-    typedef Vertex* vertex_descriptor;
-    typedef boost::sgb_edge edge_descriptor;
-    typedef sgb_out_edge_iterator out_edge_iterator;
-    typedef void in_edge_iterator;
-    typedef sgb_adj_iterator adjacency_iterator;
-    typedef sgb_vertex_iterator vertex_iterator;
-    typedef void edge_iterator;
-    typedef long vertices_size_type;
-    typedef long edge_size_type;
-    typedef long degree_size_type;
-    typedef directed_tag directed_category;
-    typedef sgb_traversal_tag traversal_category;
-    typedef allow_parallel_edge_tag edge_parallel_category;
-  };
-  template <> struct graph_traits<sgb_const_graph_ptr> {
-    typedef Vertex* vertex_descriptor;
-    typedef boost::sgb_edge edge_descriptor;
-    typedef sgb_out_edge_iterator out_edge_iterator;
-    typedef void in_edge_iterator;
-    typedef sgb_adj_iterator adjacency_iterator;
-    typedef sgb_vertex_iterator vertex_iterator;
-    typedef void edge_iterator;
-    typedef long vertices_size_type;
-    typedef long edge_size_type;
-    typedef long degree_size_type;
-    typedef directed_tag directed_category;
-    typedef sgb_traversal_tag traversal_category;
-    typedef allow_parallel_edge_tag edge_parallel_category;
-  };
-}
-
-namespace boost {
-
-  struct edge_length_t {
-    typedef edge_property_tag kind;
-  };
-
-  // We could just use Arc* as the edge descriptor type, but
-  // we want to add the source(e,g) function which requires
-  // that we carry along a pointer to the source vertex.
-  class sgb_edge {
-    typedef sgb_edge self;
-  public:
-    sgb_edge() : _arc(0), _src(0) { }
-    sgb_edge(Arc* a, Vertex* s) : _arc(a), _src(s) { }
-    friend Vertex* source(self e, sgb_const_graph_ptr) { return e._src; }
-    friend Vertex* target(self e, sgb_const_graph_ptr) { return e._arc->tip; }
-    friend bool operator==(const self& a, const self& b) {
-      return a._arc == b._arc; }
-    friend bool operator!=(const self& a, const self& b) {
-      return a._arc != b._arc; }
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-    template <class Ref> friend class sgb_edge_length_map;
-    template <class Tag, class Ref> friend class sgb_edge_util_map;
-    friend long get(edge_length_t, const sgb_graph_ptr&, const sgb_edge& key);
-    friend long get(edge_length_t, const sgb_const_graph_ptr&, const sgb_edge& key);
-    friend void put(edge_length_t, sgb_graph_ptr&, const sgb_edge& key, long value);
-  protected:
-#endif
-    Arc* _arc;
-    Vertex* _src;
-  };
-} // namespace boost
-
-  class sgb_out_edge_iterator
-    : public boost::forward_iterator_helper<
-        sgb_out_edge_iterator, boost::sgb_edge, 
-        std::ptrdiff_t, boost::sgb_edge*, boost::sgb_edge>
-  {
-    typedef sgb_out_edge_iterator self;
-  public:
-    sgb_out_edge_iterator() : _src(0), _arc(0) {}
-    sgb_out_edge_iterator(Vertex* s, Arc* d) : _src(s), _arc(d) {}
-    boost::sgb_edge operator*() { return boost::sgb_edge(_arc, _src); }
-    self& operator++() { _arc = _arc->next; return *this; }
-    friend bool operator==(const self& x, const self& y) {
-      return x._arc == y._arc; }
-  protected:
-    Vertex* _src;
-    Arc* _arc;
-  };
-
-  class sgb_adj_iterator
-    : public boost::forward_iterator_helper<
-        sgb_adj_iterator, Vertex*, std::ptrdiff_t, Vertex**,Vertex*>
-  {
-    typedef sgb_adj_iterator self;
-  public:
-    sgb_adj_iterator() : _arc(0) {}
-    sgb_adj_iterator(Arc* d) : _arc(d) {}
-    Vertex* operator*() { return _arc->tip; }
-    self& operator++() { _arc = _arc->next; return *this; }
-    friend bool operator==(const self& x, const self& y) {
-      return x._arc == y._arc; }
-  protected:
-    Arc* _arc;
-  };
-
-  // The reason we have this instead of just using Vertex* is that we
-  // want to use Vertex* as the vertex_descriptor instead of just
-  // Vertex, which avoids problems with boost passing vertex descriptors
-  // by value and how that interacts with the sgb_vertex_id_map.
-  class sgb_vertex_iterator
-    : public boost::forward_iterator_helper<
-        sgb_vertex_iterator, Vertex*, std::ptrdiff_t, Vertex**, Vertex*>
-  {
-    typedef sgb_vertex_iterator self;
-  public:
-    sgb_vertex_iterator() : _v(0) { }
-    sgb_vertex_iterator(Vertex* v) : _v(v) { }
-    Vertex* operator*() { return _v; }
-    self& operator++() { ++_v; return *this; }
-    friend bool operator==(const self& x, const self& y) {
-      return x._v == y._v; }
-  protected:
-    Vertex* _v;
-  };
-
-namespace boost {
-
-  inline std::pair<sgb_vertex_iterator,sgb_vertex_iterator>
-  vertices(sgb_const_graph_ptr g)
-  {
-    return std::make_pair(sgb_vertex_iterator(g->vertices),
-                          sgb_vertex_iterator(g->vertices + g->n));
-  }
-
-  inline std::pair<sgb_out_edge_iterator,sgb_out_edge_iterator>
-  out_edges(Vertex* u, sgb_const_graph_ptr)
-  {
-    return std::make_pair( sgb_out_edge_iterator(u, u->arcs),
-                           sgb_out_edge_iterator(u, 0) );
-  }
-
-  inline boost::graph_traits<sgb_graph_ptr>::degree_size_type
-  out_degree(Vertex* u, sgb_const_graph_ptr g)
-  {
-    boost::graph_traits<sgb_graph_ptr>::out_edge_iterator i, i_end;
-    boost::tie(i, i_end) = out_edges(u, g);
-    return std::distance(i, i_end);
-  }
-
-  // in_edges?
-
-  inline std::pair<sgb_adj_iterator,sgb_adj_iterator>
-  adjacent_vertices(Vertex* u, sgb_const_graph_ptr)
-  {
-    return std::make_pair( sgb_adj_iterator(u->arcs),
-                           sgb_adj_iterator(0) );
-  }
-
-  inline long num_vertices(sgb_const_graph_ptr g) { return g->n; }
-  inline long num_edges(sgb_const_graph_ptr g) { return g->m; }
-
-  inline Vertex* vertex(long v, sgb_const_graph_ptr g)
-    { return g->vertices + v; }
-
-  // Various Property Maps
-
-  // Vertex ID
-  class sgb_vertex_id_map
-    : public boost::put_get_helper<long, sgb_vertex_id_map>
-  {
-  public:
-    typedef boost::readable_property_map_tag category;
-    typedef long value_type;
-    typedef long reference;
-    typedef Vertex* key_type;
-    sgb_vertex_id_map() : _g(0) { }
-    sgb_vertex_id_map(sgb_graph_ptr g) : _g(g) { }
-    long operator[](Vertex* v) const { return v - _g->vertices; }
-  protected:
-    sgb_graph_ptr _g;
-  };
-  inline sgb_vertex_id_map get(vertex_index_t, sgb_graph_ptr g) {
-    return sgb_vertex_id_map(g);
-  }
-
-  // Vertex Name  
-  class sgb_vertex_name_map
-    : public boost::put_get_helper<char*, sgb_vertex_name_map>
-  {
-  public:
-    typedef boost::readable_property_map_tag category;
-    typedef char* value_type;
-    typedef char* reference;
-    typedef Vertex* key_type;
-    char* operator[](Vertex* v) const { return v->name; }
-  };
-  inline sgb_vertex_name_map get(vertex_name_t, sgb_graph_ptr) {
-    return sgb_vertex_name_map();
-  }
-
-  // Vertex Property Tags
-#define SGB_PROPERTY_TAG(KIND,TAG) \
-  template <class T> struct TAG##_property { \
-    typedef KIND##_property_tag kind; \
-    typedef T type; \
-  };
-  SGB_PROPERTY_TAG(vertex, u)
-  SGB_PROPERTY_TAG(vertex, v)
-  SGB_PROPERTY_TAG(vertex, w)
-  SGB_PROPERTY_TAG(vertex, x)
-  SGB_PROPERTY_TAG(vertex, y)
-  SGB_PROPERTY_TAG(vertex, z)
- 
-  // Edge Property Tags
-  SGB_PROPERTY_TAG(edge, a)
-  SGB_PROPERTY_TAG(edge, b)
-
-  // Various Utility Maps
-
-  // helpers
-  inline Vertex*& get_util(util& u, Vertex*) { return u.V; }
-  inline Arc*& get_util(util& u, Arc*) { return u.A; }
-  inline sgb_graph_ptr& get_util(util& u, sgb_graph_ptr) { return u.G; }
-  inline char*& get_util(util& u, char*) { return u.S; }
-  inline long& get_util(util& u, long) { return u.I; }
-
-#define SGB_GET_UTIL_FIELD(KIND,X) \
-  template <class T> \
-  inline T& get_util_field(KIND* k, X##_property<T>) { \
-    return get_util(k->X, T());  }
-
-  SGB_GET_UTIL_FIELD(Vertex, u)
-  SGB_GET_UTIL_FIELD(Vertex, v)
-  SGB_GET_UTIL_FIELD(Vertex, w)
-  SGB_GET_UTIL_FIELD(Vertex, x)
-  SGB_GET_UTIL_FIELD(Vertex, y)
-  SGB_GET_UTIL_FIELD(Vertex, z)
-
-  SGB_GET_UTIL_FIELD(Arc, a)
-  SGB_GET_UTIL_FIELD(Arc, b)
-
-  // Vertex Utility Map
-  template <class Tag, class Ref>
-  class sgb_vertex_util_map
-    : public boost::put_get_helper<Ref, sgb_vertex_util_map<Tag, Ref> >
-  {
-    Tag tag;
-  public:
-    explicit sgb_vertex_util_map(Tag tag = Tag()): tag(tag) {}
-    typedef boost::lvalue_property_map_tag category;
-    typedef typename Tag::type value_type;
-    typedef Vertex* key_type;
-    typedef Ref reference;
-    reference operator[](Vertex* v) const {
-      return get_util_field(v, tag); 
-    }
-  };
-
-  // Edge Utility Map
-  template <class Tag, class Ref>
-  class sgb_edge_util_map
-    : public boost::put_get_helper<Ref, sgb_edge_util_map<Tag, Ref> >
-  {
-    Tag tag;
-  public:
-    explicit sgb_edge_util_map(Tag tag = Tag()): tag(tag) {}
-    typedef boost::lvalue_property_map_tag category;
-    typedef typename Tag::type value_type;
-    typedef Vertex* key_type;
-    typedef Ref reference;
-    reference operator[](const sgb_edge& e) const {
-      return get_util_field(e._arc, tag); 
-    }
-  };
-
-
-  template <class Tag>
-  inline sgb_vertex_util_map<Tag, const typename Tag::type&>
-  get_property_map(Tag, const sgb_graph_ptr& g, vertex_property_tag) {
-    return sgb_vertex_util_map<Tag, const typename Tag::type&>();
-  }
-  template <class Tag>
-  inline sgb_vertex_util_map<Tag, typename Tag::type&>
-  get_property_map(Tag, sgb_graph_ptr& g, vertex_property_tag) {
-    return sgb_vertex_util_map<Tag, typename Tag::type&>();
-  }
-
-  template <class Tag>
-  inline sgb_edge_util_map<Tag, const typename Tag::type&> 
-  get_property_map(Tag, const sgb_graph_ptr& g, edge_property_tag) {
-    return sgb_edge_util_map<Tag, const typename Tag::type&>();
-  }
-  template <class Tag>
-  inline sgb_edge_util_map<Tag, typename Tag::type&> 
-  get_property_map(Tag, sgb_graph_ptr& g, edge_property_tag) {
-    return sgb_edge_util_map<Tag, typename Tag::type&>();
-  }
-
-
-  // Edge Length Access
-  template <class Ref>
-  class sgb_edge_length_map
-    : public boost::put_get_helper<Ref, sgb_edge_length_map<Ref> >
-  {
-  public:
-    typedef boost::lvalue_property_map_tag category;
-    typedef long value_type;
-    typedef sgb_edge key_type;
-    typedef Ref reference;
-    reference operator[](const sgb_edge& e) const { 
-      return e._arc->len; 
-    }
-  };
-
-  inline sgb_edge_length_map<const long&>
-  get(edge_length_t, const sgb_graph_ptr&) { 
-    return sgb_edge_length_map<const long&>(); 
-  }
-  inline sgb_edge_length_map<const long&>
-  get(edge_length_t, const sgb_const_graph_ptr&) { 
-    return sgb_edge_length_map<const long&>(); 
-  }
-  inline sgb_edge_length_map<long&>
-  get(edge_length_t, sgb_graph_ptr&) { 
-    return sgb_edge_length_map<long&>(); 
-  }
-  inline long
-  get(edge_length_t, const sgb_graph_ptr&, const sgb_edge& key) {
-    return key._arc->len;
-  }
-  inline long
-  get(edge_length_t, const sgb_const_graph_ptr&, const sgb_edge& key) {
-    return key._arc->len;
-  }
-  inline void
-  put(edge_length_t, sgb_graph_ptr&, const sgb_edge& key, long value)
-  {
-    key._arc->len = value;
-  }
-
-  // Property Map Traits Classes
-  template <>
-  struct property_map<sgb_graph_ptr, edge_length_t> {
-    typedef sgb_edge_length_map<long&> type;
-    typedef sgb_edge_length_map<const long&> const_type;
-  };
-  template <>
-  struct property_map<sgb_graph_ptr, vertex_index_t> {
-    typedef sgb_vertex_id_map type;
-    typedef sgb_vertex_id_map const_type;
-  };
-  template <>
-  struct property_map<sgb_graph_ptr, vertex_name_t> {
-    typedef sgb_vertex_name_map type;
-    typedef sgb_vertex_name_map const_type;
-  };
-
-  template <>
-  struct property_map<sgb_const_graph_ptr, edge_length_t> {
-    typedef sgb_edge_length_map<const long&> const_type;
-  };
-  template <>
-  struct property_map<sgb_const_graph_ptr, vertex_index_t> {
-    typedef sgb_vertex_id_map const_type;
-  };
-  template <>
-  struct property_map<sgb_const_graph_ptr, vertex_name_t> {
-    typedef sgb_vertex_name_map const_type;
-  };
-
-
-  namespace detail {
-    template <class Kind, class PropertyTag>
-    struct sgb_choose_property_map { };
-    template <class PropertyTag>
-    struct sgb_choose_property_map<vertex_property_tag, PropertyTag> {
-      typedef typename PropertyTag::type value_type;
-      typedef sgb_vertex_util_map<PropertyTag, value_type&> type;
-      typedef sgb_vertex_util_map<PropertyTag, const value_type&> const_type;
-    };
-    template <class PropertyTag>
-    struct sgb_choose_property_map<edge_property_tag, PropertyTag> {
-      typedef typename PropertyTag::type value_type;
-      typedef sgb_edge_util_map<PropertyTag, value_type&> type;
-      typedef sgb_edge_util_map<PropertyTag, const value_type&> const_type;
-    };
-  } // namespace detail
-  template <class PropertyTag>
-  struct property_map<sgb_graph_ptr, PropertyTag> {
-    typedef typename property_kind<PropertyTag>::type Kind;
-    typedef detail::sgb_choose_property_map<Kind, PropertyTag> Choice;
-    typedef typename Choice::type type;
-    typedef typename Choice::const_type const_type;
-  };
-  template <class PropertyTag>
-  struct property_map<sgb_const_graph_ptr, PropertyTag> {
-    typedef typename property_kind<PropertyTag>::type Kind;
-    typedef detail::sgb_choose_property_map<Kind, PropertyTag> Choice;
-    typedef typename Choice::const_type const_type;
-  };
-
-#define SGB_UTIL_ACCESSOR(KIND,X) \
-  template <class T> \
-  inline sgb_##KIND##_util_map< X##_property<T>, T&> \
-  get(X##_property<T>, sgb_graph_ptr&) { \
-    return sgb_##KIND##_util_map< X##_property<T>, T&>(); \
-  } \
-  template <class T> \
-  inline sgb_##KIND##_util_map< X##_property<T>, const T&> \
-  get(X##_property<T>, const sgb_graph_ptr&) { \
-    return sgb_##KIND##_util_map< X##_property<T>, const T&>(); \
-  } \
-  template <class T> \
-  inline sgb_##KIND##_util_map< X##_property<T>, const T&> \
-  get(X##_property<T>, const sgb_const_graph_ptr&) { \
-    return sgb_##KIND##_util_map< X##_property<T>, const T&>(); \
-  } \
-  template <class T, class Key> \
-  inline typename \
-  sgb_##KIND##_util_map< X##_property<T>, const T&>::value_type \
-  get(X##_property<T>, const sgb_graph_ptr&, const Key& key) { \
-    return sgb_##KIND##_util_map< X##_property<T>, const T&>()[key]; \
-  } \
-  template <class T, class Key> \
-  inline typename \
-  sgb_##KIND##_util_map< X##_property<T>, const T&>::value_type \
-  get(X##_property<T>, const sgb_const_graph_ptr&, const Key& key) { \
-    return sgb_##KIND##_util_map< X##_property<T>, const T&>()[key]; \
-  } \
-  template <class T, class Key, class Value> \
-  inline  void \
-  put(X##_property<T>, sgb_graph_ptr&, const Key& key, const Value& value) { \
-    sgb_##KIND##_util_map< X##_property<T>, T&>()[key] = value; \
-  }
-
-
-  SGB_UTIL_ACCESSOR(vertex, u)
-  SGB_UTIL_ACCESSOR(vertex, v)
-  SGB_UTIL_ACCESSOR(vertex, w)
-  SGB_UTIL_ACCESSOR(vertex, x)
-  SGB_UTIL_ACCESSOR(vertex, y)
-  SGB_UTIL_ACCESSOR(vertex, z)
-
-  SGB_UTIL_ACCESSOR(edge, a)
-  SGB_UTIL_ACCESSOR(edge, b)
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_SGB_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/stoer_wagner_min_cut.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/stoer_wagner_min_cut.hpp
deleted file mode 100644
index eb5998c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/stoer_wagner_min_cut.hpp
+++ /dev/null
@@ -1,250 +0,0 @@
-//            Copyright Daniel Trebbien 2010.
-// Distributed under the Boost Software License, Version 1.0.
-//   (See accompanying file LICENSE_1_0.txt or the copy at
-//         http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_GRAPH_STOER_WAGNER_MIN_CUT_HPP
-#define BOOST_GRAPH_STOER_WAGNER_MIN_CUT_HPP 1
-
-#include <boost/assert.hpp>
-#include <set>
-#include <vector>
-#include <boost/concept_check.hpp>
-#include <boost/concept/assert.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/buffer_concepts.hpp>
-#include <boost/graph/exception.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/maximum_adjacency_search.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/one_bit_color_map.hpp>
-#include <boost/graph/detail/d_ary_heap.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/graph/iteration_macros.hpp>
-
-namespace boost {
-
-  namespace detail {
-    template < typename ParityMap, typename WeightMap, typename IndexMap >
-    class mas_min_cut_visitor : public boost::default_mas_visitor {
-      typedef one_bit_color_map <IndexMap> InternalParityMap;
-      typedef typename boost::property_traits<WeightMap>::value_type weight_type;
-    public:
-      template < typename Graph >
-      mas_min_cut_visitor(const Graph& g,
-                          ParityMap parity,
-                          weight_type& cutweight,
-                          const WeightMap& weight_map, 
-                          IndexMap index_map)
-        : m_bestParity(parity),
-          m_parity(make_one_bit_color_map(num_vertices(g), index_map)),
-          m_bestWeight(cutweight),
-          m_cutweight(0),
-          m_visited(0),
-          m_weightMap(weight_map)
-      {
-        // set here since the init list sets the reference
-        m_bestWeight = (std::numeric_limits<weight_type>::max)();
-      }
-
-      template < typename Vertex, typename Graph >
-      void initialize_vertex(Vertex u, const Graph & g)
-      {
-        typedef typename boost::property_traits<ParityMap>::value_type parity_type;
-        typedef typename boost::property_traits<InternalParityMap>::value_type internal_parity_type;
-
-        put(m_parity, u, internal_parity_type(0));
-        put(m_bestParity, u, parity_type(0));
-      }
-
-      template < typename Edge, typename Graph >
-      void examine_edge(Edge e, const Graph & g)
-      {
-        weight_type w = get(m_weightMap, e);
-
-        // if the target of e is already marked then decrease cutweight
-        // otherwise, increase it
-        if (get(m_parity, boost::target(e, g))) {
-          m_cutweight -= w;
-        } else {
-          m_cutweight += w;
-        }
-      }
-
-      template < typename Vertex, typename Graph >
-      void finish_vertex(Vertex u, const Graph & g)
-      {
-        typedef typename boost::property_traits<InternalParityMap>::value_type internal_parity_type;
-
-        ++m_visited;
-        put(m_parity, u, internal_parity_type(1));
-
-        if (m_cutweight < m_bestWeight && m_visited < num_vertices(g)) {
-          m_bestWeight = m_cutweight;
-          BGL_FORALL_VERTICES_T(i, g, Graph) {
-            put(m_bestParity,i, get(m_parity,i));
-          }
-        }
-      }
-
-      inline void clear() {
-        m_bestWeight = (std::numeric_limits<weight_type>::max)();
-        m_visited = 0;
-        m_cutweight = 0;
-      }
-
-    private:
-      ParityMap m_bestParity;
-      InternalParityMap m_parity;
-      weight_type& m_bestWeight;
-      weight_type m_cutweight;
-      unsigned m_visited;
-      const WeightMap& m_weightMap;
-    };
-
-    /**
-     * \brief Computes a min-cut of the input graph
-     *
-     * Computes a min-cut of the input graph using the Stoer-Wagner algorithm.
-     *
-     * \pre \p g is a connected, undirected graph
-     * \pre <code>pq.empty()</code>
-     * \param[in] g the input graph
-     * \param[in] weights a readable property map from each edge to its weight (a non-negative value)
-     * \param[out] parities a writable property map from each vertex to a bool type object for
-     *     distinguishing the two vertex sets of the min-cut
-     * \param[out] assignments a read/write property map from each vertex to a \c vertex_descriptor object. This
-     *     map serves as work space, and no particular meaning should be derived from property values
-     *     after completion of the algorithm.
-     * \param[out] pq a keyed, updatable max-priority queue
-     * \returns the cut weight of the min-cut
-     * \see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.114.6687&rep=rep1&type=pdf
-     * \see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.31.614&rep=rep1&type=pdf
-     *
-     * \author Daniel Trebbien
-     * \date 2010-09-11
-     */
-    template <class UndirectedGraph, class WeightMap, class ParityMap, class VertexAssignmentMap, class KeyedUpdatablePriorityQueue, class IndexMap>
-    typename boost::property_traits<WeightMap>::value_type
-    stoer_wagner_min_cut(const UndirectedGraph& g, WeightMap weights, ParityMap parities, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue& pq, IndexMap index_map) {
-      typedef typename boost::graph_traits<UndirectedGraph>::vertex_descriptor vertex_descriptor;
-      typedef typename boost::property_traits<WeightMap>::value_type weight_type;
-
-      typename graph_traits<UndirectedGraph>::vertex_iterator u_iter, u_end;
-
-      weight_type bestW = (std::numeric_limits<weight_type>::max)();
-      weight_type bestThisTime = (std::numeric_limits<weight_type>::max)();
-      vertex_descriptor bestStart = boost::graph_traits<UndirectedGraph>::null_vertex();
-
-      detail::mas_min_cut_visitor<ParityMap, WeightMap, IndexMap>
-        vis(g, parities, bestThisTime, weights, index_map);
-
-      // for each node in the graph,
-      for (boost::tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) {
-        // run the MAS and find the min cut
-        vis.clear();
-        boost::maximum_adjacency_search(g,
-            boost::weight_map(weights).
-            visitor(vis).
-            root_vertex(*u_iter).
-            vertex_assignment_map(assignments).
-            max_priority_queue(pq));
-        if (bestThisTime < bestW) {
-          bestW = bestThisTime;
-          bestStart = *u_iter;
-        }
-      }
-
-      // Run one more time, starting from the best start location, to
-      // ensure the visitor has the best values.
-      vis.clear();
-      boost::maximum_adjacency_search(g,
-        boost::vertex_assignment_map(assignments).
-        weight_map(weights).
-        visitor(vis).
-        root_vertex(bestStart).
-        max_priority_queue(pq));
-
-      return bestW;
-    }
-  } // end `namespace detail` within `namespace boost`
-
-    template <class UndirectedGraph, class WeightMap, class ParityMap, class VertexAssignmentMap, class KeyedUpdatablePriorityQueue, class IndexMap>
-    typename boost::property_traits<WeightMap>::value_type
-    stoer_wagner_min_cut(const UndirectedGraph& g, WeightMap weights, ParityMap parities, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue& pq, IndexMap index_map) {
-      BOOST_CONCEPT_ASSERT((boost::IncidenceGraphConcept<UndirectedGraph>));
-      BOOST_CONCEPT_ASSERT((boost::VertexListGraphConcept<UndirectedGraph>));
-      typedef typename boost::graph_traits<UndirectedGraph>::vertex_descriptor vertex_descriptor;
-      typedef typename boost::graph_traits<UndirectedGraph>::vertices_size_type vertices_size_type;
-      typedef typename boost::graph_traits<UndirectedGraph>::edge_descriptor edge_descriptor;
-      BOOST_CONCEPT_ASSERT((boost::Convertible<typename boost::graph_traits<UndirectedGraph>::directed_category, boost::undirected_tag>));
-      BOOST_CONCEPT_ASSERT((boost::ReadablePropertyMapConcept<WeightMap, edge_descriptor>));
-      // typedef typename boost::property_traits<WeightMap>::value_type weight_type;
-      BOOST_CONCEPT_ASSERT((boost::WritablePropertyMapConcept<ParityMap, vertex_descriptor>));
-      // typedef typename boost::property_traits<ParityMap>::value_type parity_type;
-      BOOST_CONCEPT_ASSERT((boost::ReadWritePropertyMapConcept<VertexAssignmentMap, vertex_descriptor>));
-      BOOST_CONCEPT_ASSERT((boost::Convertible<vertex_descriptor, typename boost::property_traits<VertexAssignmentMap>::value_type>));
-      BOOST_CONCEPT_ASSERT((boost::KeyedUpdatableQueueConcept<KeyedUpdatablePriorityQueue>));
-
-      vertices_size_type n = num_vertices(g);
-      if (n < 2)
-        throw boost::bad_graph("the input graph must have at least two vertices.");
-      else if (!pq.empty())
-        throw std::invalid_argument("the max-priority queue must be empty initially.");
-
-      return detail::stoer_wagner_min_cut(g, weights,
-                                          parities, assignments, pq, index_map);
-    }
-
-namespace graph {
-  namespace detail {
-    template <class UndirectedGraph, class WeightMap>
-    struct stoer_wagner_min_cut_impl {
-      typedef typename boost::property_traits<WeightMap>::value_type result_type;
-      template <typename ArgPack>
-      result_type operator() (const UndirectedGraph& g, WeightMap weights, const ArgPack& arg_pack) const {
-        using namespace boost::graph::keywords;
-        typedef typename boost::graph_traits<UndirectedGraph>::vertex_descriptor vertex_descriptor;
-        typedef typename boost::property_traits<WeightMap>::value_type weight_type;
-
-        typedef boost::detail::make_priority_queue_from_arg_pack_gen<boost::graph::keywords::tag::max_priority_queue, weight_type, vertex_descriptor, std::greater<weight_type> > gen_type;
-
-        gen_type gen(choose_param(get_param(arg_pack, boost::distance_zero_t()), weight_type(0)));
-
-        typename boost::result_of<gen_type(const UndirectedGraph&, const ArgPack&)>::type pq = gen(g, arg_pack);
-
-        return boost::stoer_wagner_min_cut(g,
-          weights,
-          arg_pack [_parity_map | boost::dummy_property_map()],
-          boost::detail::make_property_map_from_arg_pack_gen<tag::vertex_assignment_map, vertex_descriptor>(vertex_descriptor())(g, arg_pack),
-          pq,
-          boost::detail::override_const_property(arg_pack, _vertex_index_map, g, vertex_index)
-        );
-      }
-    };
-  }
-  BOOST_GRAPH_MAKE_FORWARDING_FUNCTION(stoer_wagner_min_cut,2,4)
-}
-
-  // Named parameter interface
-  BOOST_GRAPH_MAKE_OLD_STYLE_PARAMETER_FUNCTION(stoer_wagner_min_cut, 2)
-namespace graph {
-    // version without IndexMap kept for backwards compatibility
-    // (but requires vertex_index_t to be defined in the graph)
-    // Place after the macro to avoid compilation errors
-    template <class UndirectedGraph, class WeightMap, class ParityMap, class VertexAssignmentMap, class KeyedUpdatablePriorityQueue>
-    typename boost::property_traits<WeightMap>::value_type
-    stoer_wagner_min_cut(const UndirectedGraph& g, WeightMap weights, ParityMap parities, VertexAssignmentMap assignments, KeyedUpdatablePriorityQueue& pq) {
-
-      return stoer_wagner_min_cut(g, weights,
-                                  parities, assignments, pq,
-                                  get(vertex_index, g));
-    }
-} // end `namespace graph`
-} // end `namespace boost`
-
-#include <boost/graph/iteration_macros_undef.hpp>
-
-#endif // !BOOST_GRAPH_STOER_WAGNER_MIN_CUT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/strong_components.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/strong_components.hpp
deleted file mode 100644
index 61345bd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/strong_components.hpp
+++ /dev/null
@@ -1,342 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_STRONG_COMPONENTS_HPP
-#define BOOST_GRAPH_STRONG_COMPONENTS_HPP
-
-#include <stack>
-#include <boost/config.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/type_traits/conversion_traits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/graph/overloading.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-  //==========================================================================
-  // This is Tarjan's algorithm for strongly connected components
-  // from his paper "Depth first search and linear graph algorithms".
-  // It calculates the components in a single application of DFS.
-  // We implement the algorithm as a dfs-visitor.
-
-  namespace detail {
-    
-    template <typename ComponentMap, typename RootMap, typename DiscoverTime,
-              typename Stack>
-    class tarjan_scc_visitor : public dfs_visitor<> 
-    {
-      typedef typename property_traits<ComponentMap>::value_type comp_type;
-      typedef typename property_traits<DiscoverTime>::value_type time_type;
-    public:
-      tarjan_scc_visitor(ComponentMap comp_map, RootMap r, DiscoverTime d, 
-                         comp_type& c_, Stack& s_)
-        : c(c_), comp(comp_map), root(r), discover_time(d),
-          dfs_time(time_type()), s(s_) { }
-
-      template <typename Graph>
-      void discover_vertex(typename graph_traits<Graph>::vertex_descriptor v,
-                           const Graph&) {
-        put(root, v, v);
-        put(comp, v, (std::numeric_limits<comp_type>::max)());
-        put(discover_time, v, dfs_time++);
-        s.push(v);
-      }
-      template <typename Graph>
-      void finish_vertex(typename graph_traits<Graph>::vertex_descriptor v,
-                         const Graph& g) {
-        typename graph_traits<Graph>::vertex_descriptor w;
-        typename graph_traits<Graph>::out_edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = out_edges(v, g); ei != ei_end; ++ei) {
-          w = target(*ei, g);
-          if (get(comp, w) == (std::numeric_limits<comp_type>::max)())
-            put(root, v, this->min_discover_time(get(root,v), get(root,w)));
-        }
-        if (get(root, v) == v) {
-          do {
-            w = s.top(); s.pop();
-            put(comp, w, c);
-          } while (w != v);
-          ++c;
-        }
-      }
-    private:
-      template <typename Vertex>
-      Vertex min_discover_time(Vertex u, Vertex v) {
-        return get(discover_time, u) < get(discover_time,v) ? u : v;
-      }
-
-      comp_type& c;
-      ComponentMap comp;
-      RootMap root;
-      DiscoverTime discover_time;
-      time_type dfs_time;
-      Stack& s;
-    };
-    
-    template <class Graph, class ComponentMap, class RootMap,
-              class DiscoverTime, class P, class T, class R>
-    typename property_traits<ComponentMap>::value_type
-    strong_components_impl
-      (const Graph& g,    // Input
-       ComponentMap comp, // Output
-       // Internal record keeping
-       RootMap root, 
-       DiscoverTime discover_time,
-       const bgl_named_params<P, T, R>& params)
-    {
-      typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ComponentMap, Vertex> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<RootMap, Vertex> ));
-      typedef typename property_traits<RootMap>::value_type RootV;
-      BOOST_CONCEPT_ASSERT(( ConvertibleConcept<RootV, Vertex> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<DiscoverTime, Vertex> ));
-
-      typename property_traits<ComponentMap>::value_type total = 0;
-
-      std::stack<Vertex> s;
-      detail::tarjan_scc_visitor<ComponentMap, RootMap, DiscoverTime, 
-        std::stack<Vertex> > 
-        vis(comp, root, discover_time, total, s);
-      depth_first_search(g, params.visitor(vis));
-      return total;
-    }
-
-    //-------------------------------------------------------------------------
-    // The dispatch functions handle the defaults for the rank and discover
-    // time property maps.
-    // dispatch with class specialization to avoid VC++ bug
-
-    template <class DiscoverTimeMap>
-    struct strong_comp_dispatch2 {
-      template <class Graph, class ComponentMap, class RootMap, class P, class T, class R>
-      inline static typename property_traits<ComponentMap>::value_type
-      apply(const Graph& g,
-            ComponentMap comp,
-            RootMap r_map,
-            const bgl_named_params<P, T, R>& params,
-            DiscoverTimeMap time_map)
-      {
-        return strong_components_impl(g, comp, r_map, time_map, params);
-      }
-    };
-
-
-    template <>
-    struct strong_comp_dispatch2<param_not_found> {
-      template <class Graph, class ComponentMap, class RootMap,
-                class P, class T, class R>
-      inline static typename property_traits<ComponentMap>::value_type
-      apply(const Graph& g,
-            ComponentMap comp,
-            RootMap r_map,
-            const bgl_named_params<P, T, R>& params,
-            param_not_found)
-      {
-        typedef typename graph_traits<Graph>::vertices_size_type size_type;
-        size_type       n = num_vertices(g) > 0 ? num_vertices(g) : 1;
-        std::vector<size_type> time_vec(n);
-        return strong_components_impl
-          (g, comp, r_map,
-           make_iterator_property_map(time_vec.begin(), choose_const_pmap
-                                      (get_param(params, vertex_index),
-                                       g, vertex_index), time_vec[0]),
-           params);
-      }
-    };
-
-    template <class Graph, class ComponentMap, class RootMap,
-              class P, class T, class R, class DiscoverTimeMap>
-    inline typename property_traits<ComponentMap>::value_type
-    scc_helper2(const Graph& g,
-                ComponentMap comp,
-                RootMap r_map,
-                const bgl_named_params<P, T, R>& params,
-                DiscoverTimeMap time_map)
-    {
-      return strong_comp_dispatch2<DiscoverTimeMap>::apply(g, comp, r_map, params, time_map);
-    }
-
-    template <class RootMap>
-    struct strong_comp_dispatch1 {
-
-      template <class Graph, class ComponentMap, class P, class T, class R>
-      inline static typename property_traits<ComponentMap>::value_type
-      apply(const Graph& g,
-            ComponentMap comp,
-            const bgl_named_params<P, T, R>& params,
-            RootMap r_map)
-      {
-        return scc_helper2(g, comp, r_map, params, get_param(params, vertex_discover_time));
-      }
-    };
-    template <>
-    struct strong_comp_dispatch1<param_not_found> {
-
-      template <class Graph, class ComponentMap, 
-                class P, class T, class R>
-      inline static typename property_traits<ComponentMap>::value_type
-      apply(const Graph& g,
-            ComponentMap comp,
-            const bgl_named_params<P, T, R>& params,
-            param_not_found)
-      {
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        typename std::vector<Vertex>::size_type
-          n = num_vertices(g) > 0 ? num_vertices(g) : 1;
-        std::vector<Vertex> root_vec(n);
-        return scc_helper2
-          (g, comp, 
-           make_iterator_property_map(root_vec.begin(), choose_const_pmap
-                                      (get_param(params, vertex_index),
-                                       g, vertex_index), root_vec[0]),
-           params, 
-           get_param(params, vertex_discover_time));
-      }
-    };
-
-    template <class Graph, class ComponentMap, class RootMap,
-              class P, class T, class R>
-    inline typename property_traits<ComponentMap>::value_type
-    scc_helper1(const Graph& g,
-               ComponentMap comp,
-               const bgl_named_params<P, T, R>& params,
-               RootMap r_map)
-    {
-      return detail::strong_comp_dispatch1<RootMap>::apply(g, comp, params,
-                                                           r_map);
-    }
-
-  } // namespace detail 
-
-  template <class Graph, class ComponentMap, 
-            class P, class T, class R>
-  inline typename property_traits<ComponentMap>::value_type
-  strong_components(const Graph& g, ComponentMap comp,
-                    const bgl_named_params<P, T, R>& params
-                    BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, vertex_list_graph_tag))
-  {
-    typedef typename graph_traits<Graph>::directed_category DirCat;
-    BOOST_STATIC_ASSERT((is_convertible<DirCat*, directed_tag*>::value == true));
-    return detail::scc_helper1(g, comp, params, 
-                               get_param(params, vertex_root_t()));
-  }
-
-  template <class Graph, class ComponentMap>
-  inline typename property_traits<ComponentMap>::value_type
-  strong_components(const Graph& g, ComponentMap comp
-                    BOOST_GRAPH_ENABLE_IF_MODELS_PARM(Graph, vertex_list_graph_tag))
-  {
-    typedef typename graph_traits<Graph>::directed_category DirCat;
-    BOOST_STATIC_ASSERT((is_convertible<DirCat*, directed_tag*>::value == true));
-    bgl_named_params<int, int> params(0);
-    return strong_components(g, comp, params);
-  }
-
-  template <typename Graph, typename ComponentMap, typename ComponentLists>
-  void build_component_lists
-    (const Graph& g,
-     typename graph_traits<Graph>::vertices_size_type num_scc,
-     ComponentMap component_number,
-     ComponentLists& components)
-  {
-    components.resize(num_scc);
-    typename graph_traits<Graph>::vertex_iterator vi, vi_end;
-    for (boost::tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi)
-      components[component_number[*vi]].push_back(*vi);
-  }
-
-
-} // namespace boost
-
-#include <queue>
-#include <vector>
-#include <boost/graph/transpose_graph.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/graph/connected_components.hpp> // for components_recorder
-
-namespace boost {
-
-  //==========================================================================
-  // This is the version of strongly connected components from
-  // "Intro. to Algorithms" by Cormen, Leiserson, Rivest, which was
-  // adapted from "Data Structure and Algorithms" by Aho, Hopcroft,
-  // and Ullman, who credit the algorithm to S.R. Kosaraju and M. Sharir.
-  // The algorithm is based on computing DFS forests the graph
-  // and its transpose.
-
-  // This algorithm is slower than Tarjan's by a constant factor, uses
-  // more memory, and puts more requirements on the graph type.
-
-  template <class Graph, class DFSVisitor, class ComponentsMap,
-            class DiscoverTime, class FinishTime,
-            class ColorMap>
-  typename property_traits<ComponentsMap>::value_type
-  kosaraju_strong_components(Graph& G, ComponentsMap c,
-                             FinishTime finish_time, ColorMap color)
-  {
-    BOOST_CONCEPT_ASSERT(( MutableGraphConcept<Graph> ));
-    // ...
-    
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename property_traits<ColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-    typename property_traits<FinishTime>::value_type time = 0;
-    depth_first_search
-     (G, make_dfs_visitor(stamp_times(finish_time, time, on_finish_vertex())),
-      color);
-
-    Graph G_T(num_vertices(G));
-    transpose_graph(G, G_T);
-
-    typedef typename property_traits<ComponentsMap>::value_type count_type;
-
-    count_type c_count(0);
-    detail::components_recorder<ComponentsMap>
-      vis(c, c_count);
-
-    // initialize G_T
-    typename graph_traits<Graph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(G_T); ui != ui_end; ++ui)
-      put(color, *ui, Color::white());
-
-    typedef typename property_traits<FinishTime>::value_type D;
-    typedef indirect_cmp< FinishTime, std::less<D> > Compare;
-
-    Compare fl(finish_time);
-    std::priority_queue<Vertex, std::vector<Vertex>, Compare > Q(fl);
-
-    typename graph_traits<Graph>::vertex_iterator i, j, iend, jend;
-    boost::tie(i, iend) = vertices(G_T);
-    boost::tie(j, jend) = vertices(G);
-    for ( ; i != iend; ++i, ++j) {
-      put(finish_time, *i, get(finish_time, *j));
-       Q.push(*i);
-    }
-
-    while ( !Q.empty() ) {
-      Vertex u = Q.top();
-      Q.pop();
-      if  (get(color, u) == Color::white()) {
-        depth_first_visit(G_T, u, vis, color);
-        ++c_count; 
-      }
-    }
-    return c_count;
-  }
-
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/strong_components.hpp>
-#endif
-
-#endif // BOOST_GRAPH_STRONG_COMPONENTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/subgraph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/subgraph.hpp
deleted file mode 100644
index 22706bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/subgraph.hpp
+++ /dev/null
@@ -1,1070 +0,0 @@
-//=======================================================================
-// Copyright 2001 University of Notre Dame.
-// Authors: Jeremy G. Siek and Lie-Quan Lee
-//
-// Distributed under the 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_SUBGRAPH_HPP
-#define BOOST_SUBGRAPH_HPP
-
-// UNDER CONSTRUCTION
-
-#include <boost/config.hpp>
-#include <list>
-#include <vector>
-#include <map>
-#include <boost/assert.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_mutability_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/iterator/indirect_iterator.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/or.hpp>
-
-namespace boost {
-
-struct subgraph_tag { };
-
-/** @name Property Lookup
- * The local_property and global_property functions are used to create
- * structures that determine the lookup strategy for properties in subgraphs.
- * Note that the nested kind member is used to help interoperate with actual
- * Property types.
- */
-//@{
-template <typename T>
-struct local_property
-{
-    typedef T kind;
-    local_property(T x) : value(x) { }
-    T value;
-};
-
-template <typename T>
-inline local_property<T> local(T x)
-{ return local_property<T>(x); }
-
-template <typename T>
-struct global_property
-{
-    typedef T kind;
-    global_property(T x) : value(x) { }
-    T value;
-};
-
-template <typename T>
-inline global_property<T> global(T x)
-{ return global_property<T>(x); }
-//@}
-
-// Invariants of an induced subgraph:
-//   - If vertex u is in subgraph g, then u must be in g.parent().
-//   - If edge e is in subgraph g, then e must be in g.parent().
-//   - If edge e=(u,v) is in the root graph, then edge e
-//     is also in any subgraph that contains both vertex u and v.
-
-// The Graph template parameter must have a vertex_index and edge_index
-// internal property. It is assumed that the vertex indices are assigned
-// automatically by the graph during a call to add_vertex(). It is not
-// assumed that the edge vertices are assigned automatically, they are
-// explicitly assigned here.
-
-template <typename Graph>
-class subgraph {
-    typedef graph_traits<Graph> Traits;
-    typedef std::list<subgraph<Graph>*> ChildrenList;
-public:
-    // Graph requirements
-    typedef typename Traits::vertex_descriptor         vertex_descriptor;
-    typedef typename Traits::edge_descriptor           edge_descriptor;
-    typedef typename Traits::directed_category         directed_category;
-    typedef typename Traits::edge_parallel_category    edge_parallel_category;
-    typedef typename Traits::traversal_category        traversal_category;
-
-    // IncidenceGraph requirements
-    typedef typename Traits::out_edge_iterator         out_edge_iterator;
-    typedef typename Traits::degree_size_type          degree_size_type;
-
-    // AdjacencyGraph requirements
-    typedef typename Traits::adjacency_iterator        adjacency_iterator;
-
-    // VertexListGraph requirements
-    typedef typename Traits::vertex_iterator           vertex_iterator;
-    typedef typename Traits::vertices_size_type        vertices_size_type;
-
-    // EdgeListGraph requirements
-    typedef typename Traits::edge_iterator             edge_iterator;
-    typedef typename Traits::edges_size_type           edges_size_type;
-
-    typedef typename Traits::in_edge_iterator          in_edge_iterator;
-
-    typedef typename edge_property_type<Graph>::type   edge_property_type;
-    typedef typename vertex_property_type<Graph>::type vertex_property_type;
-    typedef subgraph_tag                               graph_tag;
-    typedef Graph                                      graph_type;
-    typedef typename graph_property_type<Graph>::type  graph_property_type;
-
-    // Create the main graph, the root of the subgraph tree
-    subgraph()
-        : m_parent(0), m_edge_counter(0)
-    { }
-
-    subgraph(const graph_property_type& p)
-        : m_graph(p), m_parent(0), m_edge_counter(0)
-    { }
-
-    subgraph(vertices_size_type n, const graph_property_type& p = graph_property_type())
-        : m_graph(n, p), m_parent(0), m_edge_counter(0), m_global_vertex(n)
-    {
-        typename Graph::vertex_iterator v, v_end;
-        vertices_size_type i = 0;
-        for(boost::tie(v, v_end) = vertices(m_graph); v != v_end; ++v)
-            m_global_vertex[i++] = *v;
-    }
-
-    // copy constructor
-    subgraph(const subgraph& x)
-        : m_parent(x.m_parent), m_edge_counter(x.m_edge_counter)
-        , m_global_vertex(x.m_global_vertex), m_global_edge(x.m_global_edge)
-    {
-        if(x.is_root())
-        {
-         m_graph = x.m_graph;
-        }
-        // Do a deep copy (recursive).
-        // Only the root graph is copied, the subgraphs contain
-        // only references to the global vertices they own.
-        typename subgraph<Graph>::children_iterator i,i_end;
-        boost::tie(i,i_end) = x.children();
-        for(; i != i_end; ++i)
-        {         
-         subgraph<Graph> child = this->create_subgraph();
-         child = *i;
-         vertex_iterator vi,vi_end;   
-         boost::tie(vi,vi_end) = vertices(*i);
-         for (;vi!=vi_end;++vi)  
-         {
-          add_vertex(*vi,child);
-         }
-       }
-    }
-
-
-    ~subgraph() {
-      for(typename ChildrenList::iterator i = m_children.begin();
-          i != m_children.end(); ++i)
-        {
-            delete *i;
-        }
-    }
-
-    // Return a null vertex descriptor for the graph.
-    static vertex_descriptor null_vertex()
-    { return Traits::null_vertex(); }
-
-
-    // Create a subgraph
-    subgraph<Graph>& create_subgraph() {
-        m_children.push_back(new subgraph<Graph>());
-        m_children.back()->m_parent = this;
-        return *m_children.back();
-    }
-
-    // Create a subgraph with the specified vertex set.
-    template <typename VertexIterator>
-    subgraph<Graph>& create_subgraph(VertexIterator first, VertexIterator last) {
-        m_children.push_back(new subgraph<Graph>());
-        m_children.back()->m_parent = this;
-        for(; first != last; ++first) {
-            add_vertex(*first, *m_children.back());
-        }
-        return *m_children.back();
-    }
-
-    // local <-> global descriptor conversion functions
-    vertex_descriptor local_to_global(vertex_descriptor u_local) const
-    { return is_root() ? u_local : m_global_vertex[u_local]; }
-
-    vertex_descriptor global_to_local(vertex_descriptor u_global) const {
-        vertex_descriptor u_local; bool in_subgraph;
-        if (is_root()) return u_global;
-        boost::tie(u_local, in_subgraph) = this->find_vertex(u_global);
-        BOOST_ASSERT(in_subgraph == true);
-        return u_local;
-    }
-
-    edge_descriptor local_to_global(edge_descriptor e_local) const
-    { return is_root() ? e_local : m_global_edge[get(get(edge_index, m_graph), e_local)]; }
-
-    edge_descriptor global_to_local(edge_descriptor e_global) const
-    { return is_root() ? e_global : (*m_local_edge.find(get(get(edge_index, root().m_graph), e_global))).second; }
-
-    // Is vertex u (of the root graph) contained in this subgraph?
-    // If so, return the matching local vertex.
-    std::pair<vertex_descriptor, bool>
-    find_vertex(vertex_descriptor u_global) const {
-        if (is_root()) return std::make_pair(u_global, true);
-        typename LocalVertexMap::const_iterator i = m_local_vertex.find(u_global);
-        bool valid = i != m_local_vertex.end();
-        return std::make_pair((valid ? (*i).second : null_vertex()), valid);
-    }
-
-    // Is edge e (of the root graph) contained in this subgraph?
-    // If so, return the matching local edge.
-    std::pair<edge_descriptor, bool>
-    find_edge(edge_descriptor e_global) const {
-        if (is_root()) return std::make_pair(e_global, true);
-        typename LocalEdgeMap::const_iterator i =
-          m_local_edge.find(get(get(edge_index, root().m_graph), e_global));
-        bool valid = i != m_local_edge.end();
-        return std::make_pair((valid ? (*i).second : edge_descriptor()), valid);
-    }
-
-    // Return the parent graph.
-    subgraph& parent() { return *m_parent; }
-    const subgraph& parent() const { return *m_parent; }
-
-    // Return true if this is the root subgraph
-    bool is_root() const { return m_parent == 0; }
-
-    // Return the root graph of the subgraph tree.
-    subgraph& root()
-    { return is_root() ? *this : m_parent->root(); }
-
-    const subgraph& root() const
-    { return is_root() ? *this : m_parent->root(); }
-
-    // Return the children subgraphs of this graph/subgraph.
-    // Use a list of pointers because the VC++ std::list doesn't like
-    // storing incomplete type.
-    typedef indirect_iterator<
-        typename ChildrenList::const_iterator
-      , subgraph<Graph>
-      , std::bidirectional_iterator_tag
-    >
-    children_iterator;
-
-    typedef indirect_iterator<
-        typename ChildrenList::const_iterator
-      , subgraph<Graph> const
-      , std::bidirectional_iterator_tag
-    >
-    const_children_iterator;
-
-    std::pair<const_children_iterator, const_children_iterator> children() const {
-      return std::make_pair(const_children_iterator(m_children.begin()),
-                            const_children_iterator(m_children.end()));
-    }
-
-    std::pair<children_iterator, children_iterator> children() {
-      return std::make_pair(children_iterator(m_children.begin()),
-                            children_iterator(m_children.end()));
-    }
-
-    std::size_t num_children() const { return m_children.size(); }
-
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    // Defualt property access delegates the lookup to global properties.
-    template <typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type&
-    operator[](Descriptor x)
-    { return is_root() ? m_graph[x] : root().m_graph[local_to_global(x)]; }
-
-    template <typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type const&
-    operator[](Descriptor x) const
-    { return is_root() ? m_graph[x] : root().m_graph[local_to_global(x)]; }
-
-    // Local property access returns the local property of the given descripor.
-    template <typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type&
-    operator[](local_property<Descriptor> x)
-    { return m_graph[x.value]; }
-
-    template <typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type const&
-    operator[](local_property<Descriptor> x) const
-    { return m_graph[x.value]; }
-
-    // Global property access returns the global property associated with the
-    // given descriptor. This is an alias for the default bundled property
-    // access operations.
-    template <typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type&
-    operator[](global_property<Descriptor> x)
-    { return (*this)[x.value]; }
-
-    template <typename Descriptor>
-    typename graph::detail::bundled_result<Graph, Descriptor>::type const&
-    operator[](global_property<Descriptor> x) const
-    { return (*this)[x.value]; }
-
-#endif // BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-
-    //  private:
-    typedef typename property_map<Graph, edge_index_t>::type EdgeIndexMap;
-    typedef typename property_traits<EdgeIndexMap>::value_type edge_index_type;
-    BOOST_STATIC_ASSERT((!is_same<edge_index_type,
-                        boost::detail::error_property_not_found>::value));
-
-private:
-    typedef std::vector<vertex_descriptor> GlobalVertexList;
-    typedef std::vector<edge_descriptor> GlobalEdgeList;
-    typedef std::map<vertex_descriptor, vertex_descriptor> LocalVertexMap;
-    typedef std::map<edge_index_type, edge_descriptor> LocalEdgeMap;
-    // TODO: Should the LocalVertexMap be: map<index_type, descriptor>?
-    // TODO: Can we relax the indexing requirement if both descriptors are
-    // LessThanComparable?
-    // TODO: Should we really be using unorderd_map for improved lookup times?
-
-public: // Probably shouldn't be public....
-    Graph m_graph;
-    subgraph<Graph>* m_parent;
-    edge_index_type m_edge_counter; // for generating unique edge indices
-    ChildrenList m_children;
-    GlobalVertexList m_global_vertex; // local -> global
-    LocalVertexMap m_local_vertex;  // global -> local
-    GlobalEdgeList m_global_edge;              // local -> global
-    LocalEdgeMap m_local_edge; // global -> local
-
-    edge_descriptor local_add_edge(vertex_descriptor u_local,
-                                   vertex_descriptor v_local,
-                                   edge_descriptor e_global)
-    {
-        edge_descriptor e_local;
-        bool inserted;
-        boost::tie(e_local, inserted) = add_edge(u_local, v_local, m_graph);
-        put(edge_index, m_graph, e_local, m_edge_counter++);
-        m_global_edge.push_back(e_global);
-        m_local_edge[get(get(edge_index, this->root()), e_global)] = e_local;
-        return e_local;
-    }
-};
-
-template <typename Graph>
-struct vertex_bundle_type<subgraph<Graph> >
-    : vertex_bundle_type<Graph>
-{ };
-
-template<typename Graph>
-struct edge_bundle_type<subgraph<Graph> >
-    : edge_bundle_type<Graph>
-{ };
-
-template<typename Graph>
-struct graph_bundle_type<subgraph<Graph> >
-    : graph_bundle_type<Graph>
-{ };
-
-//===========================================================================
-// Functions special to the Subgraph Class
-
-template <typename G>
-typename subgraph<G>::vertex_descriptor
-add_vertex(typename subgraph<G>::vertex_descriptor u_global,
-           subgraph<G>& g)
-{
-    BOOST_ASSERT(!g.is_root());
-    typename subgraph<G>::vertex_descriptor u_local, v_global;
-    typename subgraph<G>::edge_descriptor e_global;
-
-    u_local = add_vertex(g.m_graph);
-    g.m_global_vertex.push_back(u_global);
-    g.m_local_vertex[u_global] = u_local;
-
-    subgraph<G>& r = g.root();
-
-    // remember edge global and local maps
-    {
-        typename subgraph<G>::out_edge_iterator ei, ei_end;
-        for (boost::tie(ei, ei_end) = out_edges(u_global, r);
-            ei != ei_end; ++ei) {
-            e_global = *ei;
-            v_global = target(e_global, r);
-            if (g.find_vertex(v_global).second == true)
-            g.local_add_edge(u_local, g.global_to_local(v_global), e_global);
-        }
-    }
-    if (is_directed(g)) { // not necessary for undirected graph
-        typename subgraph<G>::vertex_iterator vi, vi_end;
-        typename subgraph<G>::out_edge_iterator ei, ei_end;
-        for(boost::tie(vi, vi_end) = vertices(r); vi != vi_end; ++vi) {
-            v_global = *vi;
-            if (v_global == u_global)
-                continue; // don't insert self loops twice!
-            if (!g.find_vertex(v_global).second)
-                continue; // not a subgraph vertex => try next one
-            for(boost::tie(ei, ei_end) = out_edges(*vi, r); ei != ei_end; ++ei) {
-                e_global = *ei;
-                if(target(e_global, r) == u_global) {
-                    g.local_add_edge(g.global_to_local(v_global), u_local, e_global);
-                }
-            }
-        }
-    }
-
-    return u_local;
-}
-
-// NOTE: Descriptors are local unless otherwise noted.
-
-//===========================================================================
-// Functions required by the IncidenceGraph concept
-
-template <typename G>
-std::pair<typename graph_traits<G>::out_edge_iterator,
-          typename graph_traits<G>::out_edge_iterator>
-out_edges(typename graph_traits<G>::vertex_descriptor v, const subgraph<G>& g)
-{ return out_edges(v, g.m_graph); }
-
-template <typename G>
-typename graph_traits<G>::degree_size_type
-out_degree(typename graph_traits<G>::vertex_descriptor v, const subgraph<G>& g)
-{ return out_degree(v, g.m_graph); }
-
-template <typename G>
-typename graph_traits<G>::vertex_descriptor
-source(typename graph_traits<G>::edge_descriptor e, const subgraph<G>& g)
-{ return source(e, g.m_graph); }
-
-template <typename G>
-typename graph_traits<G>::vertex_descriptor
-target(typename graph_traits<G>::edge_descriptor e, const subgraph<G>& g)
-{ return target(e, g.m_graph); }
-
-//===========================================================================
-// Functions required by the BidirectionalGraph concept
-
-template <typename G>
-std::pair<typename graph_traits<G>::in_edge_iterator,
-          typename graph_traits<G>::in_edge_iterator>
-in_edges(typename graph_traits<G>::vertex_descriptor v, const subgraph<G>& g)
-{ return in_edges(v, g.m_graph); }
-
-template <typename G>
-typename graph_traits<G>::degree_size_type
-in_degree(typename graph_traits<G>::vertex_descriptor v, const subgraph<G>& g)
-{ return in_degree(v, g.m_graph); }
-
-template <typename G>
-typename graph_traits<G>::degree_size_type
-degree(typename graph_traits<G>::vertex_descriptor v, const subgraph<G>& g)
-{ return degree(v, g.m_graph); }
-
-//===========================================================================
-// Functions required by the AdjacencyGraph concept
-
-template <typename G>
-std::pair<typename subgraph<G>::adjacency_iterator,
-          typename subgraph<G>::adjacency_iterator>
-adjacent_vertices(typename subgraph<G>::vertex_descriptor v, const subgraph<G>& g)
-{ return adjacent_vertices(v, g.m_graph); }
-
-//===========================================================================
-// Functions required by the VertexListGraph concept
-
-template <typename G>
-std::pair<typename subgraph<G>::vertex_iterator,
-          typename subgraph<G>::vertex_iterator>
-vertices(const subgraph<G>& g)
-{ return vertices(g.m_graph); }
-
-template <typename G>
-typename subgraph<G>::vertices_size_type
-num_vertices(const subgraph<G>& g)
-{ return num_vertices(g.m_graph); }
-
-//===========================================================================
-// Functions required by the EdgeListGraph concept
-
-template <typename G>
-std::pair<typename subgraph<G>::edge_iterator,
-          typename subgraph<G>::edge_iterator>
-edges(const subgraph<G>& g)
-{ return edges(g.m_graph); }
-
-template <typename G>
-typename subgraph<G>::edges_size_type
-num_edges(const subgraph<G>& g)
-{ return num_edges(g.m_graph); }
-
-//===========================================================================
-// Functions required by the AdjacencyMatrix concept
-
-template <typename G>
-std::pair<typename subgraph<G>::edge_descriptor, bool>
-edge(typename subgraph<G>::vertex_descriptor u,
-     typename subgraph<G>::vertex_descriptor v,
-     const subgraph<G>& g)
-{ return edge(u, v, g.m_graph); }
-
-//===========================================================================
-// Functions required by the MutableGraph concept
-
-namespace detail {
-
-    template <typename Vertex, typename Edge, typename Graph>
-    void add_edge_recur_down(Vertex u_global, Vertex v_global, Edge e_global,
-                             subgraph<Graph>& g);
-
-    template <typename Vertex, typename Edge, typename Children, typename G>
-    void children_add_edge(Vertex u_global, Vertex v_global, Edge e_global,
-                           Children& c, subgraph<G>* orig)
-    {
-        for(typename Children::iterator i = c.begin(); i != c.end(); ++i) {
-            if ((*i)->find_vertex(u_global).second &&
-                (*i)->find_vertex(v_global).second)
-            {
-                add_edge_recur_down(u_global, v_global, e_global, **i, orig);
-            }
-        }
-    }
-
-    template <typename Vertex, typename Edge, typename Graph>
-    void add_edge_recur_down(Vertex u_global, Vertex v_global, Edge e_global,
-                             subgraph<Graph>& g, subgraph<Graph>* orig)
-    {
-        if(&g != orig ) {
-            // add local edge only if u_global and v_global are in subgraph g
-            Vertex u_local, v_local;
-            bool u_in_subgraph, v_in_subgraph;
-            boost::tie(u_local, u_in_subgraph) = g.find_vertex(u_global);
-            boost::tie(v_local, v_in_subgraph) = g.find_vertex(v_global);
-            if(u_in_subgraph && v_in_subgraph) {
-                g.local_add_edge(u_local, v_local, e_global);
-            }
-        }
-        children_add_edge(u_global, v_global, e_global, g.m_children, orig);
-    }
-
-    template <typename Vertex, typename Graph>
-    std::pair<typename subgraph<Graph>::edge_descriptor, bool>
-    add_edge_recur_up(Vertex u_global, Vertex v_global,
-                      const typename Graph::edge_property_type& ep,
-                      subgraph<Graph>& g, subgraph<Graph>* orig)
-    {
-        if(g.is_root()) {
-            typename subgraph<Graph>::edge_descriptor e_global;
-            bool inserted;
-            boost::tie(e_global, inserted) = add_edge(u_global, v_global, ep, g.m_graph);
-            put(edge_index, g.m_graph, e_global, g.m_edge_counter++);
-            g.m_global_edge.push_back(e_global);
-            children_add_edge(u_global, v_global, e_global, g.m_children, orig);
-            return std::make_pair(e_global, inserted);
-        } else {
-            return add_edge_recur_up(u_global, v_global, ep, *g.m_parent, orig);
-        }
-    }
-
-} // namespace detail
-
-// Add an edge to the subgraph g, specified by the local vertex descriptors u
-// and v. In addition, the edge will be added to any (all) other subgraphs that
-// contain vertex descriptors u and v.
-
-template <typename G>
-std::pair<typename subgraph<G>::edge_descriptor, bool>
-add_edge(typename subgraph<G>::vertex_descriptor u,
-         typename subgraph<G>::vertex_descriptor v,
-         const typename G::edge_property_type& ep,
-         subgraph<G>& g)
-{
-    if (g.is_root()) {
-        // u and v are really global
-        return detail::add_edge_recur_up(u, v, ep, g, &g);
-    } else {
-        typename subgraph<G>::edge_descriptor e_local, e_global;
-        bool inserted;
-        boost::tie(e_global, inserted) =
-            detail::add_edge_recur_up(g.local_to_global(u),
-                                      g.local_to_global(v),
-                                      ep, g, &g);
-        e_local = g.local_add_edge(u, v, e_global);
-        return std::make_pair(e_local, inserted);
-    }
-}
-
-template <typename G>
-std::pair<typename subgraph<G>::edge_descriptor, bool>
-add_edge(typename subgraph<G>::vertex_descriptor u,
-         typename subgraph<G>::vertex_descriptor v,
-         subgraph<G>& g)
-{ return add_edge(u, v, typename G::edge_property_type(), g); }
-
-namespace detail {
-    //-------------------------------------------------------------------------
-    // implementation of remove_edge(u,v,g)
-    template <typename Vertex, typename Graph>
-    void remove_edge_recur_down(Vertex u_global, Vertex v_global,
-                                subgraph<Graph>& g);
-
-    template <typename Vertex, typename Children>
-    void children_remove_edge(Vertex u_global, Vertex v_global,
-                              Children& c)
-    {
-        for(typename Children::iterator i = c.begin(); i != c.end(); ++i) {
-            if((*i)->find_vertex(u_global).second &&
-               (*i)->find_vertex(v_global).second)
-            {
-                remove_edge_recur_down(u_global, v_global, **i);
-            }
-        }
-    }
-
-    template <typename Vertex, typename Graph>
-    void remove_edge_recur_down(Vertex u_global, Vertex v_global,
-                                subgraph<Graph>& g)
-    {
-        Vertex u_local, v_local;
-        u_local = g.m_local_vertex[u_global];
-        v_local = g.m_local_vertex[v_global];
-        remove_edge(u_local, v_local, g.m_graph);
-        children_remove_edge(u_global, v_global, g.m_children);
-    }
-
-    template <typename Vertex, typename Graph>
-    void remove_edge_recur_up(Vertex u_global, Vertex v_global,
-                              subgraph<Graph>& g)
-    {
-        if(g.is_root()) {
-            remove_edge(u_global, v_global, g.m_graph);
-            children_remove_edge(u_global, v_global, g.m_children);
-        } else {
-            remove_edge_recur_up(u_global, v_global, *g.m_parent);
-        }
-    }
-
-    //-------------------------------------------------------------------------
-    // implementation of remove_edge(e,g)
-
-    template <typename G, typename Edge, typename Children>
-    void children_remove_edge(Edge e_global, Children& c)
-    {
-        for(typename Children::iterator i = c.begin(); i != c.end(); ++i) {
-            std::pair<typename subgraph<G>::edge_descriptor, bool> found =
-              (*i)->find_edge(e_global);
-            if (!found.second) {
-              continue;
-            }
-            children_remove_edge<G>(e_global, (*i)->m_children);
-            remove_edge(found.first, (*i)->m_graph);
-        }
-    }
-
-} // namespace detail
-
-template <typename G>
-void
-remove_edge(typename subgraph<G>::vertex_descriptor u,
-            typename subgraph<G>::vertex_descriptor v,
-            subgraph<G>& g)
-{
-    if(g.is_root()) {
-        detail::remove_edge_recur_up(u, v, g);
-    } else {
-        detail::remove_edge_recur_up(g.local_to_global(u),
-                                     g.local_to_global(v), g);
-    }
-}
-
-template <typename G>
-void
-remove_edge(typename subgraph<G>::edge_descriptor e, subgraph<G>& g)
-{
-    typename subgraph<G>::edge_descriptor e_global = g.local_to_global(e);
-#ifndef NDEBUG
-    std::pair<typename subgraph<G>::edge_descriptor, bool> fe = g.find_edge(e_global);
-    BOOST_ASSERT(fe.second && fe.first == e);
-#endif //NDEBUG
-    subgraph<G> &root = g.root(); // chase to root
-    detail::children_remove_edge<G>(e_global, root.m_children);
-    remove_edge(e_global, root.m_graph); // kick edge from root
-}
-
-// This is slow, but there may not be a good way to do it safely otherwise
-template <typename Predicate, typename G>
-void
-remove_edge_if(Predicate p, subgraph<G>& g) {
-  while (true) {
-    bool any_removed = false;
-    typedef typename subgraph<G>::edge_iterator ei_type;
-    for (std::pair<ei_type, ei_type> ep = edges(g);
-         ep.first != ep.second; ++ep.first) {
-      if (p(*ep.first)) {
-        any_removed = true;
-        remove_edge(*ep.first, g);
-        break; /* Since iterators may be invalidated */
-      }
-    }
-    if (!any_removed) break;
-  }
-}
-
-template <typename G>
-void
-clear_vertex(typename subgraph<G>::vertex_descriptor v, subgraph<G>& g) {
-  while (true) {
-    typedef typename subgraph<G>::out_edge_iterator oei_type;
-    std::pair<oei_type, oei_type> p = out_edges(v, g);
-    if (p.first == p.second) break;
-    remove_edge(*p.first, g);
-  }
-}
-
-namespace detail {
-    template <typename G>
-    typename subgraph<G>::vertex_descriptor
-    add_vertex_recur_up(subgraph<G>& g)
-    {
-        typename subgraph<G>::vertex_descriptor u_local, u_global;
-        if (g.is_root()) {
-            u_global = add_vertex(g.m_graph);
-            g.m_global_vertex.push_back(u_global);
-        } else {
-            u_global = add_vertex_recur_up(*g.m_parent);
-            u_local = add_vertex(g.m_graph);
-            g.m_global_vertex.push_back(u_global);
-            g.m_local_vertex[u_global] = u_local;
-        }
-        return u_global;
-    }
-} // namespace detail
-
-template <typename G>
-typename subgraph<G>::vertex_descriptor
-add_vertex(subgraph<G>& g)
-{
-    typename subgraph<G>::vertex_descriptor  u_local, u_global;
-    if(g.is_root()) {
-        u_global = add_vertex(g.m_graph);
-        g.m_global_vertex.push_back(u_global);
-        u_local = u_global;
-    } else {
-        u_global = detail::add_vertex_recur_up(g.parent());
-        u_local = add_vertex(g.m_graph);
-        g.m_global_vertex.push_back(u_global);
-        g.m_local_vertex[u_global] = u_local;
-    }
-    return u_local;
-}
-
-
-#if 0
-// TODO: Under Construction
-template <typename G>
-void remove_vertex(typename subgraph<G>::vertex_descriptor u, subgraph<G>& g)
-{ BOOST_ASSERT(false); }
-#endif
-
-//===========================================================================
-// Functions required by the PropertyGraph concept
-
-/**
- * The global property map returns the global properties associated with local
- * descriptors.
- */
-template <typename GraphPtr, typename PropertyMap, typename Tag>
-class subgraph_global_property_map
-    : public put_get_helper<
-        typename property_traits<PropertyMap>::reference,
-        subgraph_global_property_map<GraphPtr, PropertyMap, Tag>
-    >
-{
-    typedef property_traits<PropertyMap> Traits;
-public:
-    typedef typename mpl::if_<is_const<typename remove_pointer<GraphPtr>::type>,
-                              readable_property_map_tag,
-                              typename Traits::category>::type
-      category;
-    typedef typename Traits::value_type value_type;
-    typedef typename Traits::key_type key_type;
-    typedef typename Traits::reference reference;
-
-    subgraph_global_property_map()
-    { }
-
-    subgraph_global_property_map(GraphPtr g, Tag tag)
-        : m_g(g), m_tag(tag)
-    { }
-
-    reference operator[](key_type e) const {
-        PropertyMap pmap = get(m_tag, m_g->root().m_graph);
-        return m_g->is_root()
-            ? pmap[e]
-            : pmap[m_g->local_to_global(e)];
-    }
-
-    GraphPtr m_g;
-    Tag m_tag;
-};
-
-/**
- * The local property map returns the local property associated with the local
- * descriptors.
- */
-template <typename GraphPtr, typename PropertyMap, typename Tag>
-class subgraph_local_property_map
-    : public put_get_helper<
-        typename property_traits<PropertyMap>::reference,
-        subgraph_local_property_map<GraphPtr, PropertyMap, Tag>
-    >
-{
-    typedef property_traits<PropertyMap> Traits;
-public:
-    typedef typename mpl::if_<is_const<typename remove_pointer<GraphPtr>::type>,
-                              readable_property_map_tag,
-                              typename Traits::category>::type
-      category;
-    typedef typename Traits::value_type value_type;
-    typedef typename Traits::key_type key_type;
-    typedef typename Traits::reference reference;
-
-    typedef Tag tag;
-    typedef PropertyMap pmap;
-
-    subgraph_local_property_map()
-    { }
-
-    subgraph_local_property_map(GraphPtr g, Tag tag)
-        : m_g(g), m_tag(tag)
-    { }
-
-    reference operator[](key_type e) const {
-        // Get property map on the underlying graph.
-        PropertyMap pmap = get(m_tag, m_g->m_graph);
-        return pmap[e];
-    }
-
-    GraphPtr m_g;
-    Tag m_tag;
-};
-
-namespace detail {
-    // Extract the actual tags from local or global property maps so we don't
-    // try to find non-properties.
-    template <typename P> struct extract_lg_tag { typedef P type; };
-    template <typename P> struct extract_lg_tag< local_property<P> > {
-        typedef P type;
-    };
-    template <typename P> struct extract_lg_tag< global_property<P> > {
-        typedef P type;
-    };
-
-    // NOTE: Mysterious Property template parameter unused in both metafunction
-    // classes.
-    struct subgraph_global_pmap {
-        template <class Tag, class SubGraph, class Property>
-        struct bind_ {
-            typedef typename SubGraph::graph_type Graph;
-            typedef SubGraph* SubGraphPtr;
-            typedef const SubGraph* const_SubGraphPtr;
-            typedef typename extract_lg_tag<Tag>::type TagType;
-            typedef typename property_map<Graph, TagType>::type PMap;
-            typedef typename property_map<Graph, TagType>::const_type const_PMap;
-        public:
-            typedef subgraph_global_property_map<SubGraphPtr, PMap, TagType> type;
-            typedef subgraph_global_property_map<const_SubGraphPtr, const_PMap, TagType>
-            const_type;
-        };
-    };
-
-    struct subgraph_local_pmap {
-        template <class Tag, class SubGraph, class Property>
-        struct bind_ {
-            typedef typename SubGraph::graph_type Graph;
-            typedef SubGraph* SubGraphPtr;
-            typedef const SubGraph* const_SubGraphPtr;
-            typedef typename extract_lg_tag<Tag>::type TagType;
-            typedef typename property_map<Graph, TagType>::type PMap;
-            typedef typename property_map<Graph, TagType>::const_type const_PMap;
-        public:
-            typedef subgraph_local_property_map<SubGraphPtr, PMap, TagType> type;
-            typedef subgraph_local_property_map<const_SubGraphPtr, const_PMap, TagType>
-            const_type;
-        };
-    };
-
-    // These metafunctions select the corresponding metafunctions above, and
-    // are used by the choose_pmap metafunction below to specialize the choice
-    // of local/global property map. By default, we defer to the global
-    // property.
-    template <class Tag>
-    struct subgraph_choose_pmap_helper {
-        typedef subgraph_global_pmap type;
-    };
-    template <class Tag>
-    struct subgraph_choose_pmap_helper< local_property<Tag> > {
-        typedef subgraph_local_pmap type;
-    };
-    template <class Tag>
-    struct subgraph_choose_pmap_helper< global_property<Tag> > {
-        typedef subgraph_global_pmap type;
-    };
-
-    // As above, unless we're requesting vertex_index_t. Then it's always a
-    // local property map. This enables the correct translation of descriptors
-    // between local and global layers.
-    template <>
-    struct subgraph_choose_pmap_helper<vertex_index_t> {
-        typedef subgraph_local_pmap type;
-    };
-    template <>
-    struct subgraph_choose_pmap_helper< local_property<vertex_index_t> > {
-        typedef subgraph_local_pmap type;
-    };
-    template <>
-    struct subgraph_choose_pmap_helper< global_property<vertex_index_t> > {
-        typedef subgraph_local_pmap type;
-    };
-
-    // Determine the kind of property. If SameType<Tag, vertex_index_t>, then
-    // the property lookup is always local. Otherwise, the lookup is global.
-    // NOTE: Property parameter is basically unused.
-    template <class Tag, class Graph, class Property>
-    struct subgraph_choose_pmap {
-        typedef typename subgraph_choose_pmap_helper<Tag>::type Helper;
-        typedef typename Helper::template bind_<Tag, Graph, Property> Bind;
-        typedef typename Bind::type type;
-        typedef typename Bind::const_type const_type;
-    };
-
-    // Used by the vertex/edge property selectors to determine the kind(s) of
-    // property maps used by the property_map type generator.
-    struct subgraph_property_generator {
-        template <class SubGraph, class Property, class Tag>
-        struct bind_ {
-            typedef subgraph_choose_pmap<Tag, SubGraph, Property> Choice;
-            typedef typename Choice::type type;
-            typedef typename Choice::const_type const_type;
-        };
-    };
-
-  } // namespace detail
-
-template <>
-struct vertex_property_selector<subgraph_tag> {
-    typedef detail::subgraph_property_generator type;
-};
-
-template <>
-struct edge_property_selector<subgraph_tag> {
-    typedef detail::subgraph_property_generator type;
-};
-
-// ==================================================
-// get(p, g), get(p, g, k), and put(p, g, k, v)
-// ==================================================
-template <typename G, typename Property>
-typename property_map<subgraph<G>, Property>::type
-get(Property p, subgraph<G>& g) {
-    typedef typename property_map< subgraph<G>, Property>::type PMap;
-    return PMap(&g, p);
-}
-
-template <typename G, typename Property>
-typename property_map<subgraph<G>, Property>::const_type
-get(Property p, const subgraph<G>& g) {
-    typedef typename property_map< subgraph<G>, Property>::const_type PMap;
-    return PMap(&g, p);
-}
-
-template <typename G, typename Property, typename Key>
-typename property_traits<
-    typename property_map<subgraph<G>, Property>::const_type
->::value_type
-get(Property p, const subgraph<G>& g, const Key& k) {
-    typedef typename property_map< subgraph<G>, Property>::const_type PMap;
-    PMap pmap(&g, p);
-    return pmap[k];
-}
-
-template <typename G, typename Property, typename Key, typename Value>
-void put(Property p, subgraph<G>& g, const Key& k, const Value& val) {
-    typedef typename property_map< subgraph<G>, Property>::type PMap;
-    PMap pmap(&g, p);
-    pmap[k] = val;
-}
-
-// ==================================================
-// get(global(p), g)
-// NOTE: get(global(p), g, k) and put(global(p), g, k, v) not supported
-// ==================================================
-template <typename G, typename Property>
-typename property_map<subgraph<G>, global_property<Property> >::type
-get(global_property<Property> p, subgraph<G>& g) {
-    typedef typename property_map<
-        subgraph<G>, global_property<Property>
-    >::type Map;
-    return Map(&g, p.value);
-}
-
-template <typename G, typename Property>
-typename property_map<subgraph<G>, global_property<Property> >::const_type
-get(global_property<Property> p, const subgraph<G>& g) {
-    typedef typename property_map<
-        subgraph<G>, global_property<Property>
-    >::const_type Map;
-    return Map(&g, p.value);
-}
-
-// ==================================================
-// get(local(p), g)
-// NOTE: get(local(p), g, k) and put(local(p), g, k, v) not supported
-// ==================================================
-template <typename G, typename Property>
-typename property_map<subgraph<G>, local_property<Property> >::type
-get(local_property<Property> p, subgraph<G>& g) {
-    typedef typename property_map<
-        subgraph<G>, local_property<Property>
-    >::type Map;
-    return Map(&g, p.value);
-}
-
-template <typename G, typename Property>
-typename property_map<subgraph<G>, local_property<Property> >::const_type
-get(local_property<Property> p, const subgraph<G>& g) {
-    typedef typename property_map<
-        subgraph<G>, local_property<Property>
-    >::const_type Map;
-    return Map(&g, p.value);
-}
-
-template <typename G, typename Tag>
-inline typename graph_property<G, Tag>::type&
-get_property(subgraph<G>& g, Tag tag) {
-    return get_property(g.m_graph, tag);
-}
-
-template <typename G, typename Tag>
-inline const typename graph_property<G, Tag>::type&
-get_property(const subgraph<G>& g, Tag tag) {
-    return get_property(g.m_graph, tag);
-}
-
-//===========================================================================
-// Miscellaneous Functions
-
-template <typename G>
-typename subgraph<G>::vertex_descriptor
-vertex(typename subgraph<G>::vertices_size_type n, const subgraph<G>& g)
-{ return vertex(n, g.m_graph); }
-
-//===========================================================================
-// Mutability Traits
-// Just pull the mutability traits form the underlying graph. Note that this
-// will probably fail (badly) for labeled graphs.
-template <typename G>
-struct graph_mutability_traits< subgraph<G> > {
-    typedef typename graph_mutability_traits<G>::category category;
-};
-
-} // namespace boost
-
-#endif // BOOST_SUBGRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/successive_shortest_path_nonnegative_weights.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/successive_shortest_path_nonnegative_weights.hpp
deleted file mode 100644
index 72b1512..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/successive_shortest_path_nonnegative_weights.hpp
+++ /dev/null
@@ -1,261 +0,0 @@
-//=======================================================================
-// Copyright 2013 University of Warsaw.
-// Authors: Piotr Wygocki 
-//
-// Distributed under the 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 algorithm is described in "Network Flows: Theory, Algorithms, and Applications"
-// by Ahuja, Magnanti, Orlin.
-
-#ifndef BOOST_GRAPH_SUCCESSIVE_SHORTEST_PATH_HPP
-#define BOOST_GRAPH_SUCCESSIVE_SHORTEST_PATH_HPP 
-
-#include <numeric>
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/pending/indirect_cmp.hpp>
-#include <boost/pending/relaxed_heap.hpp>
-#include <boost/graph/dijkstra_shortest_paths.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/graph/iteration_macros.hpp>
-#include <boost/graph/detail/augment.hpp>
-
-namespace boost {
-
-
-namespace detail {
-    
-template <class Graph, class Weight, class Distance, class Reversed>
-class MapReducedWeight : 
-    public put_get_helper<typename property_traits<Weight>::value_type, MapReducedWeight<Graph, Weight, Distance, Reversed> > {
-    typedef graph_traits<Graph> gtraits;
-public:
-    typedef boost::readable_property_map_tag category;
-    typedef typename property_traits<Weight>::value_type value_type;
-    typedef value_type reference;
-    typedef typename gtraits::edge_descriptor key_type;
-    MapReducedWeight(const Graph & g, Weight w, Distance d, Reversed r) : 
-        g_(g), weight_(w), distance_(d), rev_(r) {}
-
-    reference operator[](key_type v) const {
-        return get(distance_, source(v, g_)) - get(distance_,target(v, g_)) + get(weight_, v); 
-    }
-private:
-    const Graph & g_;
-    Weight weight_;
-    Distance distance_;
-    Reversed rev_;
-};
-
-template <class Graph, class Weight, class Distance, class Reversed>
-MapReducedWeight<Graph, Weight, Distance, Reversed> 
-make_mapReducedWeight(const Graph & g, Weight w, Distance d, Reversed r)  {
-    return MapReducedWeight<Graph, Weight, Distance, Reversed>(g, w, d, r);
-}
-
-}//detail
-
-
-template <class Graph, class Capacity, class ResidualCapacity, class Reversed, class Pred, class Weight, class Distance, class Distance2, class VertexIndex>
-void successive_shortest_path_nonnegative_weights(
-        const Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight, 
-        Reversed rev,
-        VertexIndex index,
-        Pred pred, 
-        Distance distance,
-        Distance2 distance_prev) {
-    filtered_graph<const Graph, is_residual_edge<ResidualCapacity> >
-        gres = detail::residual_graph(g, residual_capacity);
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    
-    BGL_FORALL_EDGES_T(e, g, Graph) {
-        put(residual_capacity, e, get(capacity, e));
-    }
-
-    BGL_FORALL_VERTICES_T(v, g, Graph) {
-        put(distance_prev, v, 0);
-    }
-
-    while(true) {
-        BGL_FORALL_VERTICES_T(v, g, Graph) {
-            put(pred, v, edge_descriptor());
-        }
-        dijkstra_shortest_paths(gres, s, 
-                weight_map(detail::make_mapReducedWeight(gres, weight, distance_prev, rev)).
-                distance_map(distance).
-                vertex_index_map(index).
-                visitor(make_dijkstra_visitor(record_edge_predecessors(pred, on_edge_relaxed()))));
-
-        if(get(pred, t) == edge_descriptor()) {
-            break;
-        }
-
-        BGL_FORALL_VERTICES_T(v, g, Graph) {
-            put(distance_prev, v, get(distance_prev, v) + get(distance, v));
-        }
-
-        detail::augment(g, s, t, pred, residual_capacity, rev);
-    }
-}
-
-//in this namespace argument dispatching tak place
-namespace detail {
-
-template <class Graph, class Capacity, class ResidualCapacity, class Weight, class Reversed, class Pred, class Distance, class Distance2, class VertexIndex>
-void successive_shortest_path_nonnegative_weights_dispatch3(
-        const Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight,
-        Reversed rev,
-        VertexIndex index,
-        Pred pred,
-        Distance dist,
-        Distance2 dist_pred) {
-    successive_shortest_path_nonnegative_weights(g, s, t, capacity, residual_capacity, weight, rev, index, pred, dist, dist_pred);
-}
-
-//setting default distance map
-template <class Graph, class Capacity, class ResidualCapacity, class Weight, class Reversed, class Pred, class Distance, class VertexIndex>
-void successive_shortest_path_nonnegative_weights_dispatch3(
-        Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight,
-        Reversed rev,
-        VertexIndex index,
-        Pred pred,
-        Distance dist,
-        param_not_found) {
-    typedef typename property_traits<Weight>::value_type D;
-
-    std::vector<D> d_map(num_vertices(g));
-
-    successive_shortest_path_nonnegative_weights(g, s, t, capacity, residual_capacity, weight, rev, index, pred, dist,
-                             make_iterator_property_map(d_map.begin(), index));
-}
-
-template <class Graph, class P, class T, class R, class Capacity, class ResidualCapacity, class Weight, class Reversed, class Pred, class Distance, class VertexIndex>
-void successive_shortest_path_nonnegative_weights_dispatch2(
-        Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight,
-        Reversed rev,
-        VertexIndex index,
-        Pred pred,
-        Distance dist,
-        const bgl_named_params<P, T, R>& params) {
-    successive_shortest_path_nonnegative_weights_dispatch3(g, s, t, capacity, residual_capacity, weight, rev, index, pred, dist, get_param(params, vertex_distance2));
-}
-
-//setting default distance map
-template <class Graph, class P, class T, class R, class Capacity, class ResidualCapacity, class Weight, class Reversed, class Pred, class VertexIndex>
-void successive_shortest_path_nonnegative_weights_dispatch2(
-        Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight,
-        Reversed rev,
-        VertexIndex index,
-        Pred pred,
-        param_not_found, 
-        const bgl_named_params<P, T, R>& params) {
-    typedef typename property_traits<Weight>::value_type D;
-
-    std::vector<D> d_map(num_vertices(g));
-
-    successive_shortest_path_nonnegative_weights_dispatch3(g, s, t, capacity, residual_capacity, weight, rev, index, pred,
-            make_iterator_property_map(d_map.begin(), index),
-            get_param(params, vertex_distance2));
-}
-
-template <class Graph, class P, class T, class R, class Capacity, class ResidualCapacity, class Weight, class Reversed, class Pred, class VertexIndex>
-void successive_shortest_path_nonnegative_weights_dispatch1(
-        Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight, 
-        Reversed rev,
-        VertexIndex index,
-        Pred pred,
-        const bgl_named_params<P, T, R>& params) {
-    successive_shortest_path_nonnegative_weights_dispatch2(g, s, t, capacity, residual_capacity, weight,  rev, index, pred,
-                                get_param(params, vertex_distance), params);
-}
-
-//setting default predecessors map
-template <class Graph, class P, class T, class R, class Capacity, class ResidualCapacity, class Weight, class Reversed, class VertexIndex>
-void successive_shortest_path_nonnegative_weights_dispatch1(
-        Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        Capacity capacity,
-        ResidualCapacity residual_capacity,
-        Weight weight, 
-        Reversed rev,
-        VertexIndex index,
-        param_not_found,
-        const bgl_named_params<P, T, R>& params) {
-    typedef typename graph_traits<Graph>::edge_descriptor edge_descriptor;
-    std::vector<edge_descriptor> pred_vec(num_vertices(g));
-
-    successive_shortest_path_nonnegative_weights_dispatch2(g, s, t, capacity, residual_capacity, weight, rev, index, 
-            make_iterator_property_map(pred_vec.begin(), index),
-            get_param(params, vertex_distance), params); 
-}
-
-}//detail
-
-
-template <class Graph, class P, class T, class R>
-void successive_shortest_path_nonnegative_weights(
-        Graph &g, 
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t,
-        const bgl_named_params<P, T, R>& params) {
-           
-    return detail::successive_shortest_path_nonnegative_weights_dispatch1(g, s, t, 
-           choose_const_pmap(get_param(params, edge_capacity), g, edge_capacity),
-           choose_pmap(get_param(params, edge_residual_capacity), 
-                       g, edge_residual_capacity),
-           choose_const_pmap(get_param(params, edge_weight), g, edge_weight),
-           choose_const_pmap(get_param(params, edge_reverse), g, edge_reverse),
-           choose_const_pmap(get_param(params, vertex_index), g, vertex_index),
-           get_param(params, vertex_predecessor), 
-           params);
-}
-
-template <class Graph>
-void successive_shortest_path_nonnegative_weights(
-        Graph &g,
-        typename graph_traits<Graph>::vertex_descriptor s, 
-        typename graph_traits<Graph>::vertex_descriptor t) {
-    bgl_named_params<int, buffer_param_t> params(0);
-    successive_shortest_path_nonnegative_weights(g, s, t, params);
-}
-
-
-}//boost
-#endif /* BOOST_GRAPH_SUCCESSIVE_SHORTEST_PATH_HPP */
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/tiernan_all_cycles.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/tiernan_all_cycles.hpp
deleted file mode 100644
index d4527d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/tiernan_all_cycles.hpp
+++ /dev/null
@@ -1,376 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_CYCLE_HPP
-#define BOOST_GRAPH_CYCLE_HPP
-
-#include <vector>
-
-#include <boost/config.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/concept/assert.hpp>
-
-#include <boost/concept/detail/concept_def.hpp>
-namespace boost {
-    namespace concepts {
-        BOOST_concept(CycleVisitor,(Visitor)(Path)(Graph))
-        {
-            BOOST_CONCEPT_USAGE(CycleVisitor)
-            {
-                vis.cycle(p, g);
-            }
-        private:
-            Visitor vis;
-            Graph g;
-            Path p;
-        };
-    } /* namespace concepts */
-using concepts::CycleVisitorConcept;
-} /* namespace boost */
-#include <boost/concept/detail/concept_undef.hpp>
-
-
-namespace boost
-{
-
-// The implementation of this algorithm is a reproduction of the Teirnan
-// approach for directed graphs: bibtex follows
-//
-//     @article{362819,
-//         author = {James C. Tiernan},
-//         title = {An efficient search algorithm to find the elementary circuits of a graph},
-//         journal = {Commun. ACM},
-//         volume = {13},
-//         number = {12},
-//         year = {1970},
-//         issn = {0001-0782},
-//         pages = {722--726},
-//         doi = {http://doi.acm.org/10.1145/362814.362819},
-//             publisher = {ACM Press},
-//             address = {New York, NY, USA},
-//         }
-//
-// It should be pointed out that the author does not provide a complete analysis for
-// either time or space. This is in part, due to the fact that it's a fairly input
-// sensitive problem related to the density and construction of the graph, not just
-// its size.
-//
-// I've also taken some liberties with the interpretation of the algorithm - I've
-// basically modernized it to use real data structures (no more arrays and matrices).
-// Oh... and there's explicit control structures - not just gotos.
-//
-// The problem is definitely NP-complete, an unbounded implementation of this
-// will probably run for quite a while on a large graph. The conclusions
-// of this paper also reference a Paton algorithm for undirected graphs as being
-// much more efficient (apparently based on spanning trees). Although not implemented,
-// it can be found here:
-//
-//     @article{363232,
-//         author = {Keith Paton},
-//         title = {An algorithm for finding a fundamental set of cycles of a graph},
-//         journal = {Commun. ACM},
-//         volume = {12},
-//         number = {9},
-//         year = {1969},
-//         issn = {0001-0782},
-//         pages = {514--518},
-//         doi = {http://doi.acm.org/10.1145/363219.363232},
-//             publisher = {ACM Press},
-//             address = {New York, NY, USA},
-//         }
-
-/**
- * The default cycle visitor provides an empty visit function for cycle
- * visitors.
- */
-struct cycle_visitor
-{
-    template <typename Path, typename Graph>
-    inline void cycle(const Path& p, const Graph& g)
-    { }
-};
-
-/**
- * The min_max_cycle_visitor simultaneously records the minimum and maximum
- * cycles in a graph.
- */
-struct min_max_cycle_visitor
-{
-    min_max_cycle_visitor(std::size_t& min_, std::size_t& max_)
-        : minimum(min_), maximum(max_)
-    { }
-
-    template <typename Path, typename Graph>
-    inline void cycle(const Path& p, const Graph& g)
-    {
-        BOOST_USING_STD_MIN();
-        BOOST_USING_STD_MAX();
-        std::size_t len = p.size();
-        minimum = min BOOST_PREVENT_MACRO_SUBSTITUTION (minimum, len);
-        maximum = max BOOST_PREVENT_MACRO_SUBSTITUTION (maximum, len);
-    }
-    std::size_t& minimum;
-    std::size_t& maximum;
-};
-
-inline min_max_cycle_visitor
-find_min_max_cycle(std::size_t& min_, std::size_t& max_)
-{ return min_max_cycle_visitor(min_, max_); }
-
-namespace detail
-{
-    template <typename Graph, typename Path>
-    inline bool
-    is_vertex_in_path(const Graph&,
-                        typename graph_traits<Graph>::vertex_descriptor v,
-                        const Path& p)
-    {
-        return (std::find(p.begin(), p.end(), v) != p.end());
-    }
-
-    template <typename Graph, typename ClosedMatrix>
-    inline bool
-    is_path_closed(const Graph& g,
-                    typename graph_traits<Graph>::vertex_descriptor u,
-                    typename graph_traits<Graph>::vertex_descriptor v,
-                    const ClosedMatrix& closed)
-    {
-        // the path from u to v is closed if v can be found in the list
-        // of closed vertices associated with u.
-        typedef typename ClosedMatrix::const_reference Row;
-        Row r = closed[get(vertex_index, g, u)];
-        if(find(r.begin(), r.end(), v) != r.end()) {
-            return true;
-        }
-        return false;
-    }
-
-    template <typename Graph, typename Path, typename ClosedMatrix>
-    inline bool
-    can_extend_path(const Graph& g,
-                    typename graph_traits<Graph>::edge_descriptor e,
-                    const Path& p,
-                    const ClosedMatrix& m)
-    {
-        BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-        BOOST_CONCEPT_ASSERT(( VertexIndexGraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-        // get the vertices in question
-        Vertex
-            u = source(e, g),
-            v = target(e, g);
-
-        // conditions for allowing a traversal along this edge are:
-        // 1. the index of v must be greater than that at which the
-        //    path is rooted (p.front()).
-        // 2. the vertex v cannot already be in the path
-        // 3. the vertex v cannot be closed to the vertex u
-
-        bool indices = get(vertex_index, g, p.front()) < get(vertex_index, g, v);
-        bool path = !is_vertex_in_path(g, v, p);
-        bool closed = !is_path_closed(g, u, v, m);
-        return indices && path && closed;
-    }
-
-    template <typename Graph, typename Path>
-    inline bool
-    can_wrap_path(const Graph& g, const Path& p)
-    {
-        BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        typedef typename graph_traits<Graph>::out_edge_iterator OutIterator;
-
-        // iterate over the out-edges of the back, looking for the
-        // front of the path. also, we can't travel along the same
-        // edge that we did on the way here, but we don't quite have the
-        // stringent requirements that we do in can_extend_path().
-        Vertex
-            u = p.back(),
-            v = p.front();
-        OutIterator i, end;
-        for(boost::tie(i, end) = out_edges(u, g); i != end; ++i) {
-            if((target(*i, g) == v)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    template <typename Graph,
-        typename Path,
-        typename ClosedMatrix>
-    inline typename graph_traits<Graph>::vertex_descriptor
-    extend_path(const Graph& g,
-                Path& p,
-                ClosedMatrix& closed)
-    {
-        BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        typedef typename graph_traits<Graph>::out_edge_iterator OutIterator;
-
-        // get the current vertex
-        Vertex u = p.back();
-        Vertex ret = graph_traits<Graph>::null_vertex();
-
-        // AdjacencyIterator i, end;
-        OutIterator i, end;
-        for(boost::tie(i, end) = out_edges(u, g); i != end; ++i) {
-            Vertex v = target(*i, g);
-
-            // if we can actually extend along this edge,
-            // then that's what we want to do
-            if(can_extend_path(g, *i, p, closed)) {
-                p.push_back(v);         // add the vertex to the path
-                ret = v;
-                break;
-            }
-        }
-        return ret;
-    }
-
-    template <typename Graph, typename Path, typename ClosedMatrix>
-    inline bool
-    exhaust_paths(const Graph& g, Path& p, ClosedMatrix& closed)
-    {
-        BOOST_CONCEPT_ASSERT(( GraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-
-        // if there's more than one vertex in the path, this closes
-        // of some possible routes and returns true. otherwise, if there's
-        // only one vertex left, the vertex has been used up
-        if(p.size() > 1) {
-            // get the last and second to last vertices, popping the last
-            // vertex off the path
-            Vertex last, prev;
-            last = p.back();
-            p.pop_back();
-            prev = p.back();
-
-            // reset the closure for the last vertex of the path and
-            // indicate that the last vertex in p is now closed to
-            // the next-to-last vertex in p
-            closed[get(vertex_index, g, last)].clear();
-            closed[get(vertex_index, g, prev)].push_back(last);
-            return true;
-        }
-        else {
-            return false;
-        }
-    }
-
-    template <typename Graph, typename Visitor>
-    inline void
-    all_cycles_from_vertex(const Graph& g,
-                            typename graph_traits<Graph>::vertex_descriptor v,
-                            Visitor vis,
-                            std::size_t minlen,
-                            std::size_t maxlen)
-    {
-        BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-        typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-        typedef std::vector<Vertex> Path;
-        BOOST_CONCEPT_ASSERT(( CycleVisitorConcept<Visitor,Path,Graph> ));
-        typedef std::vector<Vertex> VertexList;
-        typedef std::vector<VertexList> ClosedMatrix;
-
-        Path p;
-        ClosedMatrix closed(num_vertices(g), VertexList());
-        Vertex null = graph_traits<Graph>::null_vertex();
-
-        // each path investigation starts at the ith vertex
-        p.push_back(v);
-
-        while(1) {
-            // extend the path until we've reached the end or the
-            // maxlen-sized cycle
-            Vertex j = null;
-            while(((j = detail::extend_path(g, p, closed)) != null)
-                    && (p.size() < maxlen))
-                ; // empty loop
-
-            // if we're done extending the path and there's an edge
-            // connecting the back to the front, then we should have
-            // a cycle.
-            if(detail::can_wrap_path(g, p) && p.size() >= minlen) {
-                vis.cycle(p, g);
-            }
-
-            if(!detail::exhaust_paths(g, p, closed)) {
-                break;
-            }
-        }
-    }
-
-    // Select the minimum allowable length of a cycle based on the directedness
-    // of the graph - 2 for directed, 3 for undirected.
-    template <typename D> struct min_cycles { enum { value = 2 }; };
-    template <> struct min_cycles<undirected_tag> { enum { value = 3 }; };
-} /* namespace detail */
-
-template <typename Graph, typename Visitor>
-inline void
-tiernan_all_cycles(const Graph& g,
-                    Visitor vis,
-                    std::size_t minlen,
-                    std::size_t maxlen)
-{
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph> ));
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-
-    VertexIterator i, end;
-    for(boost::tie(i, end) = vertices(g); i != end; ++i) {
-        detail::all_cycles_from_vertex(g, *i, vis, minlen, maxlen);
-    }
-}
-
-template <typename Graph, typename Visitor>
-inline void
-tiernan_all_cycles(const Graph& g, Visitor vis, std::size_t maxlen)
-{
-    typedef typename graph_traits<Graph>::directed_category Dir;
-    tiernan_all_cycles(g, vis, detail::min_cycles<Dir>::value, maxlen);
-}
-
-template <typename Graph, typename Visitor>
-inline void
-tiernan_all_cycles(const Graph& g, Visitor vis)
-{
-    typedef typename graph_traits<Graph>::directed_category Dir;
-    tiernan_all_cycles(g, vis, detail::min_cycles<Dir>::value,
-                       (std::numeric_limits<std::size_t>::max)());
-}
-
-template <typename Graph>
-inline std::pair<std::size_t, std::size_t>
-tiernan_girth_and_circumference(const Graph& g)
-{
-    std::size_t
-        min_ = (std::numeric_limits<std::size_t>::max)(),
-        max_ = 0;
-    tiernan_all_cycles(g, find_min_max_cycle(min_, max_));
-
-    // if this is the case, the graph is acyclic...
-    if(max_ == 0) max_ = min_;
-
-    return std::make_pair(min_, max_);
-}
-
-template <typename Graph>
-inline std::size_t
-tiernan_girth(const Graph& g)
-{ return tiernan_girth_and_circumference(g).first; }
-
-template <typename Graph>
-inline std::size_t
-tiernan_circumference(const Graph& g)
-{ return tiernan_girth_and_circumference(g).second; }
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/topological_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/topological_sort.hpp
deleted file mode 100644
index 08baf69..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/topological_sort.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_TOPOLOGICAL_SORT_HPP
-#define BOOST_GRAPH_TOPOLOGICAL_SORT_HPP
-
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/depth_first_search.hpp>
-#include <boost/graph/visitors.hpp>
-#include <boost/graph/exception.hpp>
-#include <boost/throw_exception.hpp>
-
-namespace boost { 
-
-
-  // Topological sort visitor
-  //
-  // This visitor merely writes the linear ordering into an
-  // OutputIterator. The OutputIterator could be something like an
-  // ostream_iterator, or it could be a back/front_insert_iterator.
-  // Note that if it is a back_insert_iterator, the recorded order is
-  // the reverse topological order. On the other hand, if it is a
-  // front_insert_iterator, the recorded order is the topological
-  // order.
-  //
-  template <typename OutputIterator>
-  struct topo_sort_visitor : public dfs_visitor<>
-  {
-    topo_sort_visitor(OutputIterator _iter)
-      : m_iter(_iter) { }
-    
-    template <typename Edge, typename Graph>
-    void back_edge(const Edge&, Graph&) { BOOST_THROW_EXCEPTION(not_a_dag()); }
-    
-    template <typename Vertex, typename Graph> 
-    void finish_vertex(const Vertex& u, Graph&) { *m_iter++ = u; }
-    
-    OutputIterator m_iter;
-  };
-
-
-  // Topological Sort
-  //
-  // The topological sort algorithm creates a linear ordering
-  // of the vertices such that if edge (u,v) appears in the graph,
-  // then u comes before v in the ordering. The graph must
-  // be a directed acyclic graph (DAG). The implementation
-  // consists mainly of a call to depth-first search.
-  //
-
-  template <typename VertexListGraph, typename OutputIterator,
-    typename P, typename T, typename R>
-  void topological_sort(VertexListGraph& g, OutputIterator result,
-                        const bgl_named_params<P, T, R>& params)
-  {
-    typedef topo_sort_visitor<OutputIterator> TopoVisitor;
-    depth_first_search(g, params.visitor(TopoVisitor(result)));
-  }
-
-  template <typename VertexListGraph, typename OutputIterator>
-  void topological_sort(VertexListGraph& g, OutputIterator result)
-  {
-    topological_sort(g, result, 
-                     bgl_named_params<int, buffer_param_t>(0)); // bogus
-  }
-
-} // namespace boost
-
-#endif /*BOOST_GRAPH_TOPOLOGICAL_SORT_H*/
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/topology.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/topology.hpp
deleted file mode 100644
index ada36d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/topology.hpp
+++ /dev/null
@@ -1,598 +0,0 @@
-// Copyright 2009 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_GRAPH_TOPOLOGY_HPP
-#define BOOST_GRAPH_TOPOLOGY_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <cmath>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/linear_congruential.hpp>
-#include <boost/math/constants/constants.hpp> // For root_two
-#include <boost/algorithm/minmax.hpp>
-#include <boost/config.hpp> // For BOOST_STATIC_CONSTANT
-#include <boost/math/special_functions/hypot.hpp>
-
-// Classes and concepts to represent points in a space, with distance and move
-// operations (used for Gurson-Atun layout), plus other things like bounding
-// boxes used for other layout algorithms.
-
-namespace boost {
-
-/***********************************************************
- * Topologies                                              *
- ***********************************************************/
-template<std::size_t Dims>
-class convex_topology 
-{
-  public: // For VisualAge C++
-  struct point 
-  {
-    BOOST_STATIC_CONSTANT(std::size_t, dimensions = Dims);
-    point() { }
-    double& operator[](std::size_t i) {return values[i];}
-    const double& operator[](std::size_t i) const {return values[i];}
-
-  private:
-    double values[Dims];
-  };
-
-  public: // For VisualAge C++
-  struct point_difference
-  {
-    BOOST_STATIC_CONSTANT(std::size_t, dimensions = Dims);
-    point_difference() {
-      for (std::size_t i = 0; i < Dims; ++i) values[i] = 0.;
-    }
-    double& operator[](std::size_t i) {return values[i];}
-    const double& operator[](std::size_t i) const {return values[i];}
-
-    friend point_difference operator+(const point_difference& a, const point_difference& b) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = a[i] + b[i];
-      return result;
-    }
-
-    friend point_difference& operator+=(point_difference& a, const point_difference& b) {
-      for (std::size_t i = 0; i < Dims; ++i)
-        a[i] += b[i];
-      return a;
-    }
-
-    friend point_difference operator-(const point_difference& a) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = -a[i];
-      return result;
-    }
-
-    friend point_difference operator-(const point_difference& a, const point_difference& b) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = a[i] - b[i];
-      return result;
-    }
-
-    friend point_difference& operator-=(point_difference& a, const point_difference& b) {
-      for (std::size_t i = 0; i < Dims; ++i)
-        a[i] -= b[i];
-      return a;
-    }
-
-    friend point_difference operator*(const point_difference& a, const point_difference& b) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = a[i] * b[i];
-      return result;
-    }
-
-    friend point_difference operator*(const point_difference& a, double b) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = a[i] * b;
-      return result;
-    }
-
-    friend point_difference operator*(double a, const point_difference& b) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = a * b[i];
-      return result;
-    }
-
-    friend point_difference operator/(const point_difference& a, const point_difference& b) {
-      point_difference result;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result[i] = (b[i] == 0.) ? 0. : a[i] / b[i];
-      return result;
-    }
-
-    friend double dot(const point_difference& a, const point_difference& b) {
-      double result = 0;
-      for (std::size_t i = 0; i < Dims; ++i)
-        result += a[i] * b[i];
-      return result;
-    }
-
-  private:
-    double values[Dims];
-  };
-
- public:
-  typedef point point_type;
-  typedef point_difference point_difference_type;
-
-  double distance(point a, point b) const 
-  {
-    double dist = 0.;
-    for (std::size_t i = 0; i < Dims; ++i) {
-      double diff = b[i] - a[i];
-      dist = boost::math::hypot(dist, diff);
-    }
-    // Exact properties of the distance are not important, as long as
-    // < on what this returns matches real distances; l_2 is used because
-    // Fruchterman-Reingold also uses this code and it relies on l_2.
-    return dist;
-  }
-
-  point move_position_toward(point a, double fraction, point b) const 
-  {
-    point result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = a[i] + (b[i] - a[i]) * fraction;
-    return result;
-  }
-
-  point_difference difference(point a, point b) const {
-    point_difference result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = a[i] - b[i];
-    return result;
-  }
-
-  point adjust(point a, point_difference delta) const {
-    point result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = a[i] + delta[i];
-    return result;
-  }
-
-  point pointwise_min(point a, point b) const {
-    BOOST_USING_STD_MIN();
-    point result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = min BOOST_PREVENT_MACRO_SUBSTITUTION (a[i], b[i]);
-    return result;
-  }
-
-  point pointwise_max(point a, point b) const {
-    BOOST_USING_STD_MAX();
-    point result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = max BOOST_PREVENT_MACRO_SUBSTITUTION (a[i], b[i]);
-    return result;
-  }
-
-  double norm(point_difference delta) const {
-    double n = 0.;
-    for (std::size_t i = 0; i < Dims; ++i)
-      n = boost::math::hypot(n, delta[i]);
-    return n;
-  }
-
-  double volume(point_difference delta) const {
-    double n = 1.;
-    for (std::size_t i = 0; i < Dims; ++i)
-      n *= delta[i];
-    return n;
-  }
-
-};
-
-template<std::size_t Dims,
-         typename RandomNumberGenerator = minstd_rand>
-class hypercube_topology : public convex_topology<Dims>
-{
-  typedef uniform_01<RandomNumberGenerator, double> rand_t;
-
- public:
-  typedef typename convex_topology<Dims>::point_type point_type;
-  typedef typename convex_topology<Dims>::point_difference_type point_difference_type;
-
-  explicit hypercube_topology(double scaling = 1.0) 
-    : gen_ptr(new RandomNumberGenerator), rand(new rand_t(*gen_ptr)), 
-      scaling(scaling) 
-  { }
-
-  hypercube_topology(RandomNumberGenerator& gen, double scaling = 1.0) 
-    : gen_ptr(), rand(new rand_t(gen)), scaling(scaling) { }
-                     
-  point_type random_point() const 
-  {
-    point_type p;
-    for (std::size_t i = 0; i < Dims; ++i)
-      p[i] = (*rand)() * scaling;
-    return p;
-  }
-
-  point_type bound(point_type a) const
-  {
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-    point_type p;
-    for (std::size_t i = 0; i < Dims; ++i)
-      p[i] = min BOOST_PREVENT_MACRO_SUBSTITUTION (scaling, max BOOST_PREVENT_MACRO_SUBSTITUTION (-scaling, a[i]));
-    return p;
-  }
-
-  double distance_from_boundary(point_type a) const
-  {
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-#ifndef BOOST_NO_STDC_NAMESPACE
-    using std::abs;
-#endif
-    BOOST_STATIC_ASSERT (Dims >= 1);
-    double dist = abs(scaling - a[0]);
-    for (std::size_t i = 1; i < Dims; ++i)
-      dist = min BOOST_PREVENT_MACRO_SUBSTITUTION (dist, abs(scaling - a[i]));
-    return dist;
-  }
-
-  point_type center() const {
-    point_type result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = scaling * .5;
-    return result;
-  }
-
-  point_type origin() const {
-    point_type result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = 0;
-    return result;
-  }
-
-  point_difference_type extent() const {
-    point_difference_type result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = scaling;
-    return result;
-  }
-
- private:
-  shared_ptr<RandomNumberGenerator> gen_ptr;
-  shared_ptr<rand_t> rand;
-  double scaling;
-};
-
-template<typename RandomNumberGenerator = minstd_rand>
-class square_topology : public hypercube_topology<2, RandomNumberGenerator>
-{
-  typedef hypercube_topology<2, RandomNumberGenerator> inherited;
-
- public:
-  explicit square_topology(double scaling = 1.0) : inherited(scaling) { }
-  
-  square_topology(RandomNumberGenerator& gen, double scaling = 1.0) 
-    : inherited(gen, scaling) { }
-};
-
-template<typename RandomNumberGenerator = minstd_rand>
-class rectangle_topology : public convex_topology<2>
-{
-  typedef uniform_01<RandomNumberGenerator, double> rand_t;
-
-  public:
-  rectangle_topology(double left, double top, double right, double bottom)
-    : gen_ptr(new RandomNumberGenerator), rand(new rand_t(*gen_ptr)),
-      left(std::min BOOST_PREVENT_MACRO_SUBSTITUTION (left, right)),
-      top(std::min BOOST_PREVENT_MACRO_SUBSTITUTION (top, bottom)),
-      right(std::max BOOST_PREVENT_MACRO_SUBSTITUTION (left, right)),
-      bottom(std::max BOOST_PREVENT_MACRO_SUBSTITUTION (top, bottom)) { }
-
-  rectangle_topology(RandomNumberGenerator& gen, double left, double top, double right, double bottom)
-    : gen_ptr(), rand(new rand_t(gen)),
-      left(std::min BOOST_PREVENT_MACRO_SUBSTITUTION (left, right)),
-      top(std::min BOOST_PREVENT_MACRO_SUBSTITUTION (top, bottom)),
-      right(std::max BOOST_PREVENT_MACRO_SUBSTITUTION (left, right)),
-      bottom(std::max BOOST_PREVENT_MACRO_SUBSTITUTION (top, bottom)) { }
-
-  typedef typename convex_topology<2>::point_type point_type;
-  typedef typename convex_topology<2>::point_difference_type point_difference_type;
-
-  point_type random_point() const 
-  {
-    point_type p;
-    p[0] = (*rand)() * (right - left) + left;
-    p[1] = (*rand)() * (bottom - top) + top;
-    return p;
-  }
-
-  point_type bound(point_type a) const
-  {
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-    point_type p;
-    p[0] = min BOOST_PREVENT_MACRO_SUBSTITUTION (right, max BOOST_PREVENT_MACRO_SUBSTITUTION (left, a[0]));
-    p[1] = min BOOST_PREVENT_MACRO_SUBSTITUTION (bottom, max BOOST_PREVENT_MACRO_SUBSTITUTION (top, a[1]));
-    return p;
-  }
-
-  double distance_from_boundary(point_type a) const
-  {
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-#ifndef BOOST_NO_STDC_NAMESPACE
-    using std::abs;
-#endif
-    double dist = abs(left - a[0]);
-    dist = min BOOST_PREVENT_MACRO_SUBSTITUTION (dist, abs(right - a[0]));
-    dist = min BOOST_PREVENT_MACRO_SUBSTITUTION (dist, abs(top - a[1]));
-    dist = min BOOST_PREVENT_MACRO_SUBSTITUTION (dist, abs(bottom - a[1]));
-    return dist;
-  }
-
-  point_type center() const {
-    point_type result;
-    result[0] = (left + right) / 2.;
-    result[1] = (top + bottom) / 2.;
-    return result;
-  }
-
-  point_type origin() const {
-    point_type result;
-    result[0] = left;
-    result[1] = top;
-    return result;
-  }
-
-  point_difference_type extent() const {
-    point_difference_type result;
-    result[0] = right - left;
-    result[1] = bottom - top;
-    return result;
-  }
-
- private:
-  shared_ptr<RandomNumberGenerator> gen_ptr;
-  shared_ptr<rand_t> rand;
-  double left, top, right, bottom;
-};
-
-template<typename RandomNumberGenerator = minstd_rand>
-class cube_topology : public hypercube_topology<3, RandomNumberGenerator>
-{
-  typedef hypercube_topology<3, RandomNumberGenerator> inherited;
-
- public:
-  explicit cube_topology(double scaling = 1.0) : inherited(scaling) { }
-  
-  cube_topology(RandomNumberGenerator& gen, double scaling = 1.0) 
-    : inherited(gen, scaling) { }
-};
-
-template<std::size_t Dims,
-         typename RandomNumberGenerator = minstd_rand>
-class ball_topology : public convex_topology<Dims>
-{
-  typedef uniform_01<RandomNumberGenerator, double> rand_t;
-
- public:
-  typedef typename convex_topology<Dims>::point_type point_type;
-  typedef typename convex_topology<Dims>::point_difference_type point_difference_type;
-
-  explicit ball_topology(double radius = 1.0) 
-    : gen_ptr(new RandomNumberGenerator), rand(new rand_t(*gen_ptr)), 
-      radius(radius) 
-  { }
-
-  ball_topology(RandomNumberGenerator& gen, double radius = 1.0) 
-    : gen_ptr(), rand(new rand_t(gen)), radius(radius) { }
-                     
-  point_type random_point() const 
-  {
-    point_type p;
-    double dist_sum;
-    do {
-      dist_sum = 0.0;
-      for (std::size_t i = 0; i < Dims; ++i) {
-        double x = (*rand)() * 2*radius - radius;
-        p[i] = x;
-        dist_sum += x * x;
-      }
-    } while (dist_sum > radius*radius);
-    return p;
-  }
-
-  point_type bound(point_type a) const
-  {
-    BOOST_USING_STD_MIN();
-    BOOST_USING_STD_MAX();
-    double r = 0.;
-    for (std::size_t i = 0; i < Dims; ++i)
-      r = boost::math::hypot(r, a[i]);
-    if (r <= radius) return a;
-    double scaling_factor = radius / r;
-    point_type p;
-    for (std::size_t i = 0; i < Dims; ++i)
-      p[i] = a[i] * scaling_factor;
-    return p;
-  }
-
-  double distance_from_boundary(point_type a) const
-  {
-    double r = 0.;
-    for (std::size_t i = 0; i < Dims; ++i)
-      r = boost::math::hypot(r, a[i]);
-    return radius - r;
-  }
-
-  point_type center() const {
-    point_type result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = 0;
-    return result;
-  }
-
-  point_type origin() const {
-    point_type result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = -radius;
-    return result;
-  }
-
-  point_difference_type extent() const {
-    point_difference_type result;
-    for (std::size_t i = 0; i < Dims; ++i)
-      result[i] = 2. * radius;
-    return result;
-  }
-
- private:
-  shared_ptr<RandomNumberGenerator> gen_ptr;
-  shared_ptr<rand_t> rand;
-  double radius;
-};
-
-template<typename RandomNumberGenerator = minstd_rand>
-class circle_topology : public ball_topology<2, RandomNumberGenerator>
-{
-  typedef ball_topology<2, RandomNumberGenerator> inherited;
-
- public:
-  explicit circle_topology(double radius = 1.0) : inherited(radius) { }
-  
-  circle_topology(RandomNumberGenerator& gen, double radius = 1.0) 
-    : inherited(gen, radius) { }
-};
-
-template<typename RandomNumberGenerator = minstd_rand>
-class sphere_topology : public ball_topology<3, RandomNumberGenerator>
-{
-  typedef ball_topology<3, RandomNumberGenerator> inherited;
-
- public:
-  explicit sphere_topology(double radius = 1.0) : inherited(radius) { }
-  
-  sphere_topology(RandomNumberGenerator& gen, double radius = 1.0) 
-    : inherited(gen, radius) { }
-};
-
-template<typename RandomNumberGenerator = minstd_rand>
-class heart_topology 
-{
-  // Heart is defined as the union of three shapes:
-  // Square w/ corners (+-1000, -1000), (0, 0), (0, -2000)
-  // Circle centered at (-500, -500) radius 500*sqrt(2)
-  // Circle centered at (500, -500) radius 500*sqrt(2)
-  // Bounding box (-1000, -2000) - (1000, 500*(sqrt(2) - 1))
-
-  struct point 
-  {
-    point() { values[0] = 0.0; values[1] = 0.0; }
-    point(double x, double y) { values[0] = x; values[1] = y; }
-
-    double& operator[](std::size_t i)       { return values[i]; }
-    double  operator[](std::size_t i) const { return values[i]; }
-
-  private:
-    double values[2];
-  };
-
-  bool in_heart(point p) const 
-  {
-#ifndef BOOST_NO_STDC_NAMESPACE
-    using std::abs;
-#endif
-
-    if (p[1] < abs(p[0]) - 2000) return false; // Bottom
-    if (p[1] <= -1000) return true; // Diagonal of square
-    if (boost::math::hypot(p[0] - -500, p[1] - -500) <= 500. * boost::math::constants::root_two<double>())
-      return true; // Left circle
-    if (boost::math::hypot(p[0] - 500, p[1] - -500) <= 500. * boost::math::constants::root_two<double>())
-      return true; // Right circle
-    return false;
-  }
-
-  bool segment_within_heart(point p1, point p2) const 
-  {
-    // Assumes that p1 and p2 are within the heart
-    if ((p1[0] < 0) == (p2[0] < 0)) return true; // Same side of symmetry line
-    if (p1[0] == p2[0]) return true; // Vertical
-    double slope = (p2[1] - p1[1]) / (p2[0] - p1[0]);
-    double intercept = p1[1] - p1[0] * slope;
-    if (intercept > 0) return false; // Crosses between circles
-    return true;
-  }
-
-  typedef uniform_01<RandomNumberGenerator, double> rand_t;
-
- public:
-  typedef point point_type;
-
-  heart_topology() 
-    : gen_ptr(new RandomNumberGenerator), rand(new rand_t(*gen_ptr)) { }
-
-  heart_topology(RandomNumberGenerator& gen) 
-    : gen_ptr(), rand(new rand_t(gen)) { }
-
-  point random_point() const 
-  {
-    point result;
-    do {
-      result[0] = (*rand)() * (1000 + 1000 * boost::math::constants::root_two<double>()) - (500 + 500 * boost::math::constants::root_two<double>());
-      result[1] = (*rand)() * (2000 + 500 * (boost::math::constants::root_two<double>() - 1)) - 2000;
-    } while (!in_heart(result));
-    return result;
-  }
-
-  // Not going to provide clipping to bounding region or distance from boundary
-
-  double distance(point a, point b) const 
-  {
-    if (segment_within_heart(a, b)) {
-      // Straight line
-      return boost::math::hypot(b[0] - a[0], b[1] - a[1]);
-    } else {
-      // Straight line bending around (0, 0)
-      return boost::math::hypot(a[0], a[1]) + boost::math::hypot(b[0], b[1]);
-    }
-  }
-
-  point move_position_toward(point a, double fraction, point b) const 
-  {
-    if (segment_within_heart(a, b)) {
-      // Straight line
-      return point(a[0] + (b[0] - a[0]) * fraction,
-                   a[1] + (b[1] - a[1]) * fraction);
-    } else {
-      double distance_to_point_a = boost::math::hypot(a[0], a[1]);
-      double distance_to_point_b = boost::math::hypot(b[0], b[1]);
-      double location_of_point = distance_to_point_a / 
-                                   (distance_to_point_a + distance_to_point_b);
-      if (fraction < location_of_point)
-        return point(a[0] * (1 - fraction / location_of_point), 
-                     a[1] * (1 - fraction / location_of_point));
-      else
-        return point(
-          b[0] * ((fraction - location_of_point) / (1 - location_of_point)),
-          b[1] * ((fraction - location_of_point) / (1 - location_of_point)));
-    }
-  }
-
- private:
-  shared_ptr<RandomNumberGenerator> gen_ptr;
-  shared_ptr<rand_t> rand;
-};
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_TOPOLOGY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/transitive_closure.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/transitive_closure.hpp
deleted file mode 100644
index 4f81349..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/transitive_closure.hpp
+++ /dev/null
@@ -1,373 +0,0 @@
-// Copyright (C) 2001 Vladimir Prus <ghost at cs.msu.su>
-// Copyright (C) 2001 Jeremy Siek <jsiek at cs.indiana.edu>
-// Distributed under the 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 final is generated by libs/graph/doc/transitive_closure.w
-
-#ifndef BOOST_GRAPH_TRANSITIVE_CLOSURE_HPP
-#define BOOST_GRAPH_TRANSITIVE_CLOSURE_HPP
-
-#include <vector>
-#include <algorithm> // for std::min and std::max
-#include <functional>
-#include <boost/config.hpp>
-#include <boost/bind.hpp>
-#include <boost/graph/strong_components.hpp>
-#include <boost/graph/topological_sort.hpp>
-#include <boost/graph/graph_concepts.hpp>
-#include <boost/graph/named_function_params.hpp>
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/concept/assert.hpp>
-
-namespace boost
-{
-
-  namespace detail
-  {
-    inline void
-      union_successor_sets(const std::vector < std::size_t > &s1,
-                           const std::vector < std::size_t > &s2,
-                           std::vector < std::size_t > &s3)
-    {
-      BOOST_USING_STD_MIN();
-      for (std::size_t k = 0; k < s1.size(); ++k)
-        s3[k] = min BOOST_PREVENT_MACRO_SUBSTITUTION(s1[k], s2[k]);
-    }
-  }                             // namespace detail
-
-  namespace detail
-  {
-    template < typename TheContainer, typename ST = std::size_t,
-      typename VT = typename TheContainer::value_type >
-      struct subscript_t:public std::unary_function < ST, VT >
-    {
-      typedef VT& result_type;
-
-      subscript_t(TheContainer & c):container(&c)
-      {
-      }
-      VT & operator() (const ST & i) const
-      {
-        return (*container)[i];
-      }
-    protected:
-        TheContainer * container;
-    };
-    template < typename TheContainer >
-      subscript_t < TheContainer > subscript(TheContainer & c) {
-      return subscript_t < TheContainer > (c);
-    }
-  }                             // namespace detail
-
-  template < typename Graph, typename GraphTC,
-    typename G_to_TC_VertexMap,
-    typename VertexIndexMap >
-    void transitive_closure(const Graph & g, GraphTC & tc,
-                            G_to_TC_VertexMap g_to_tc_map,
-                            VertexIndexMap index_map)
-  {
-    if (num_vertices(g) == 0)
-      return;
-    typedef typename graph_traits < Graph >::vertex_descriptor vertex;
-    typedef typename graph_traits < Graph >::vertex_iterator vertex_iterator;
-    typedef typename property_traits < VertexIndexMap >::value_type size_type;
-    typedef typename graph_traits <
-      Graph >::adjacency_iterator adjacency_iterator;
-
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept < Graph > ));
-    BOOST_CONCEPT_ASSERT(( AdjacencyGraphConcept < Graph > ));
-    BOOST_CONCEPT_ASSERT(( VertexMutableGraphConcept < GraphTC > ));
-    BOOST_CONCEPT_ASSERT(( EdgeMutableGraphConcept < GraphTC > ));
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept < VertexIndexMap,
-      vertex > ));
-
-    typedef size_type cg_vertex;
-    std::vector < cg_vertex > component_number_vec(num_vertices(g));
-    iterator_property_map < cg_vertex *, VertexIndexMap, cg_vertex, cg_vertex& >
-      component_number(&component_number_vec[0], index_map);
-
-    int num_scc = strong_components(g, component_number,
-                                    vertex_index_map(index_map));
-
-    std::vector < std::vector < vertex > >components;
-    build_component_lists(g, num_scc, component_number, components);
-
-    typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS> CG_t;
-    CG_t CG(num_scc);
-    for (cg_vertex s = 0; s < components.size(); ++s) {
-      std::vector < cg_vertex > adj;
-      for (size_type i = 0; i < components[s].size(); ++i) {
-        vertex u = components[s][i];
-        adjacency_iterator v, v_end;
-        for (boost::tie(v, v_end) = adjacent_vertices(u, g); v != v_end; ++v) {
-          cg_vertex t = component_number[*v];
-          if (s != t)           // Avoid loops in the condensation graph
-            adj.push_back(t);
-        }
-      }
-      std::sort(adj.begin(), adj.end());
-      typename std::vector<cg_vertex>::iterator di =
-        std::unique(adj.begin(), adj.end());
-      if (di != adj.end())
-        adj.erase(di, adj.end());
-      for (typename std::vector<cg_vertex>::const_iterator i = adj.begin();
-           i != adj.end(); ++i) {
-        add_edge(s, *i, CG);
-      }
-    }
-
-    std::vector<cg_vertex> topo_order;
-    std::vector<cg_vertex> topo_number(num_vertices(CG));
-    topological_sort(CG, std::back_inserter(topo_order),
-                     vertex_index_map(identity_property_map()));
-    std::reverse(topo_order.begin(), topo_order.end());
-    size_type n = 0;
-    for (typename std::vector<cg_vertex>::iterator iter = topo_order.begin();
-         iter != topo_order.end(); ++iter)
-      topo_number[*iter] = n++;
-
-    std::vector<std::vector<cg_vertex> > CG_vec(num_vertices(CG));
-    for (size_type i = 0; i < num_vertices(CG); ++i) {
-      typedef typename boost::graph_traits<CG_t>::adjacency_iterator cg_adj_iter;
-      std::pair<cg_adj_iter, cg_adj_iter> pr = adjacent_vertices(i, CG);
-      CG_vec[i].assign(pr.first, pr.second);
-      std::sort(CG_vec[i].begin(), CG_vec[i].end(),
-                boost::bind(std::less<cg_vertex>(),
-                            boost::bind(detail::subscript(topo_number), _1),
-                            boost::bind(detail::subscript(topo_number), _2)));
-    }
-
-    std::vector<std::vector<cg_vertex> > chains;
-    {
-      std::vector<cg_vertex> in_a_chain(CG_vec.size());
-      for (typename std::vector<cg_vertex>::iterator i = topo_order.begin();
-           i != topo_order.end(); ++i) {
-        cg_vertex v = *i;
-        if (!in_a_chain[v]) {
-          chains.resize(chains.size() + 1);
-          std::vector<cg_vertex>& chain = chains.back();
-          for (;;) {
-            chain.push_back(v);
-            in_a_chain[v] = true;
-            typename std::vector<cg_vertex>::const_iterator next
-              = std::find_if(CG_vec[v].begin(), CG_vec[v].end(),
-                             std::not1(detail::subscript(in_a_chain)));
-            if (next != CG_vec[v].end())
-              v = *next;
-            else
-              break;            // end of chain, dead-end
-
-          }
-        }
-      }
-    }
-    std::vector<size_type> chain_number(CG_vec.size());
-    std::vector<size_type> pos_in_chain(CG_vec.size());
-    for (size_type i = 0; i < chains.size(); ++i)
-      for (size_type j = 0; j < chains[i].size(); ++j) {
-        cg_vertex v = chains[i][j];
-        chain_number[v] = i;
-        pos_in_chain[v] = j;
-      }
-
-    cg_vertex inf = (std::numeric_limits< cg_vertex >::max)();
-    std::vector<std::vector<cg_vertex> > successors(CG_vec.size(),
-                                                    std::vector<cg_vertex>
-                                                    (chains.size(), inf));
-    for (typename std::vector<cg_vertex>::reverse_iterator
-           i = topo_order.rbegin(); i != topo_order.rend(); ++i) {
-      cg_vertex u = *i;
-      typename std::vector<cg_vertex>::const_iterator adj, adj_last;
-      for (adj = CG_vec[u].begin(), adj_last = CG_vec[u].end();
-           adj != adj_last; ++adj) {
-        cg_vertex v = *adj;
-        if (topo_number[v] < successors[u][chain_number[v]]) {
-          // Succ(u) = Succ(u) U Succ(v)
-          detail::union_successor_sets(successors[u], successors[v],
-                                       successors[u]);
-          // Succ(u) = Succ(u) U {v}
-          successors[u][chain_number[v]] = topo_number[v];
-        }
-      }
-    }
-
-    for (size_type i = 0; i < CG_vec.size(); ++i)
-      CG_vec[i].clear();
-    for (size_type i = 0; i < CG_vec.size(); ++i)
-      for (size_type j = 0; j < chains.size(); ++j) {
-        size_type topo_num = successors[i][j];
-        if (topo_num < inf) {
-          cg_vertex v = topo_order[topo_num];
-          for (size_type k = pos_in_chain[v]; k < chains[j].size(); ++k)
-            CG_vec[i].push_back(chains[j][k]);
-        }
-      }
-
-
-    // Add vertices to the transitive closure graph
-    {
-      vertex_iterator i, i_end;
-      for (boost::tie(i, i_end) = vertices(g); i != i_end; ++i)
-        g_to_tc_map[*i] = add_vertex(tc);
-    }
-    // Add edges between all the vertices in two adjacent SCCs
-    typename std::vector<std::vector<cg_vertex> >::const_iterator si, si_end;
-    for (si = CG_vec.begin(), si_end = CG_vec.end(); si != si_end; ++si) {
-      cg_vertex s = si - CG_vec.begin();
-      typename std::vector<cg_vertex>::const_iterator i, i_end;
-      for (i = CG_vec[s].begin(), i_end = CG_vec[s].end(); i != i_end; ++i) {
-        cg_vertex t = *i;
-        for (size_type k = 0; k < components[s].size(); ++k)
-          for (size_type l = 0; l < components[t].size(); ++l)
-            add_edge(g_to_tc_map[components[s][k]],
-                     g_to_tc_map[components[t][l]], tc);
-      }
-    }
-    // Add edges connecting all vertices in a SCC
-    for (size_type i = 0; i < components.size(); ++i)
-      if (components[i].size() > 1)
-        for (size_type k = 0; k < components[i].size(); ++k)
-          for (size_type l = 0; l < components[i].size(); ++l) {
-            vertex u = components[i][k], v = components[i][l];
-            add_edge(g_to_tc_map[u], g_to_tc_map[v], tc);
-          }
-
-    // Find loopbacks in the original graph.
-    // Need to add it to transitive closure.
-    {
-      vertex_iterator i, i_end;
-      for (boost::tie(i, i_end) = vertices(g); i != i_end; ++i)
-        {
-          adjacency_iterator ab, ae;
-          for (boost::tie(ab, ae) = adjacent_vertices(*i, g); ab != ae; ++ab)
-            {
-              if (*ab == *i)
-                if (components[component_number[*i]].size() == 1)
-                  add_edge(g_to_tc_map[*i], g_to_tc_map[*i], tc);
-            }
-        }
-    }
-  }
-
-  template <typename Graph, typename GraphTC>
-  void transitive_closure(const Graph & g, GraphTC & tc)
-  {
-    if (num_vertices(g) == 0)
-      return;
-    typedef typename property_map<Graph, vertex_index_t>::const_type
-      VertexIndexMap;
-    VertexIndexMap index_map = get(vertex_index, g);
-
-    typedef typename graph_traits<GraphTC>::vertex_descriptor tc_vertex;
-    std::vector<tc_vertex> to_tc_vec(num_vertices(g));
-    iterator_property_map < tc_vertex *, VertexIndexMap, tc_vertex, tc_vertex&>
-      g_to_tc_map(&to_tc_vec[0], index_map);
-
-    transitive_closure(g, tc, g_to_tc_map, index_map);
-  }
-
-  namespace detail
-  {
-    template < typename Graph, typename GraphTC, typename G_to_TC_VertexMap,
-      typename VertexIndexMap>
-    void transitive_closure_dispatch
-      (const Graph & g, GraphTC & tc,
-       G_to_TC_VertexMap g_to_tc_map, VertexIndexMap index_map)
-    {
-      typedef typename graph_traits < GraphTC >::vertex_descriptor tc_vertex;
-      typename std::vector < tc_vertex >::size_type
-        n = is_default_param(g_to_tc_map) ? num_vertices(g) : 1;
-      std::vector < tc_vertex > to_tc_vec(n);
-
-      transitive_closure
-        (g, tc,
-         choose_param(g_to_tc_map, make_iterator_property_map
-                      (to_tc_vec.begin(), index_map, to_tc_vec[0])),
-         index_map);
-    }
-  }                             // namespace detail
-
-  template < typename Graph, typename GraphTC,
-    typename P, typename T, typename R >
-    void transitive_closure(const Graph & g, GraphTC & tc,
-                            const bgl_named_params < P, T, R > &params)
-  {
-    if (num_vertices(g) == 0)
-      return;
-    detail::transitive_closure_dispatch
-      (g, tc, get_param(params, orig_to_copy_t()),
-       choose_const_pmap(get_param(params, vertex_index), g, vertex_index) );
-  }
-
-
-  template < typename G > void warshall_transitive_closure(G & g)
-  {
-    typedef typename graph_traits < G >::vertex_iterator vertex_iterator;
-
-    BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept < G > ));
-    BOOST_CONCEPT_ASSERT(( EdgeMutableGraphConcept < G > ));
-
-    // Matrix form:
-    // for k
-    //  for i
-    //    if A[i,k]
-    //      for j
-    //        A[i,j] = A[i,j] | A[k,j]
-    vertex_iterator ki, ke, ii, ie, ji, je;
-    for (boost::tie(ki, ke) = vertices(g); ki != ke; ++ki)
-      for (boost::tie(ii, ie) = vertices(g); ii != ie; ++ii)
-        if (edge(*ii, *ki, g).second)
-          for (boost::tie(ji, je) = vertices(g); ji != je; ++ji)
-            if (!edge(*ii, *ji, g).second && edge(*ki, *ji, g).second) {
-              add_edge(*ii, *ji, g);
-            }
-  }
-
-
-  template < typename G > void warren_transitive_closure(G & g)
-  {
-    using namespace boost;
-    typedef typename graph_traits < G >::vertex_iterator vertex_iterator;
-
-    BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept < G > ));
-    BOOST_CONCEPT_ASSERT(( EdgeMutableGraphConcept < G > ));
-
-    // Make sure second loop will work
-    if (num_vertices(g) == 0)
-      return;
-
-    // for i = 2 to n
-    //    for k = 1 to i - 1
-    //      if A[i,k]
-    //        for j = 1 to n
-    //          A[i,j] = A[i,j] | A[k,j]
-
-    vertex_iterator ic, ie, jc, je, kc, ke;
-    for (boost::tie(ic, ie) = vertices(g), ++ic; ic != ie; ++ic)
-      for (boost::tie(kc, ke) = vertices(g); *kc != *ic; ++kc)
-        if (edge(*ic, *kc, g).second)
-          for (boost::tie(jc, je) = vertices(g); jc != je; ++jc)
-            if (!edge(*ic, *jc, g).second && edge(*kc, *jc, g).second) {
-              add_edge(*ic, *jc, g);
-            }
-    //  for i = 1 to n - 1
-    //    for k = i + 1 to n
-    //      if A[i,k]
-    //        for j = 1 to n
-    //          A[i,j] = A[i,j] | A[k,j]
-
-    for (boost::tie(ic, ie) = vertices(g), --ie; ic != ie; ++ic)
-      for (kc = ic, ke = ie, ++kc; kc != ke; ++kc)
-        if (edge(*ic, *kc, g).second)
-          for (boost::tie(jc, je) = vertices(g); jc != je; ++jc)
-            if (!edge(*ic, *jc, g).second && edge(*kc, *jc, g).second) {
-              add_edge(*ic, *jc, g);
-            }
-  }
-
-
-}                               // namespace boost
-
-#endif // BOOST_GRAPH_TRANSITIVE_CLOSURE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/transitive_reduction.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/transitive_reduction.hpp
deleted file mode 100644
index f7cb34b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/transitive_reduction.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// (C) Copyright 2009 Eric Bose-Wolf
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_TRANSITIVE_REDUCTION_HPP
-#define BOOST_GRAPH_TRANSITIVE_REDUCTION_HPP
-
-#include <vector>
-#include <algorithm> //std::find
-#include <boost/concept/requires.hpp>
-#include <boost/concept_check.hpp>
-
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/topological_sort.hpp>
-
-// also I didn't got all of the concepts thin. Am I suppose to check
-// for all concepts, which are needed for functions I call? (As if I
-// wouldn't do that, the users would see the functions called by
-// complaining about missings concepts, which would be clearly an error
-// message revealing internal implementation and should therefore be avoided?)
-
-// the pseudocode which I followed implementing this algorithmn was taken
-// from the german book Algorithmische Graphentheorie by Volker Turau
-// it is proposed to be of O(n + nm_red ) where n is the number
-// of vertices and m_red is the number of edges in the transitive
-// reduction, but I think my implementation spoiled this up at some point
-// indicated below.
-
-namespace boost {
-
-template <
-    typename Graph, typename GraphTR, typename G_to_TR_VertexMap,
-    typename VertexIndexMap
->
-BOOST_CONCEPT_REQUIRES(
-                      ((VertexListGraphConcept< Graph >))
-                      ((IncidenceGraphConcept< Graph >))
-                      ((MutableGraphConcept< GraphTR >))
-                      ((ReadablePropertyMapConcept< VertexIndexMap,
-                          typename graph_traits<Graph>::vertex_descriptor >))
-                      ((Integer< typename
-                          property_traits< VertexIndexMap >::value_type >))
-                      ((LvaluePropertyMapConcept< G_to_TR_VertexMap,
-                          typename graph_traits<Graph>::vertex_descriptor >)),
-                       (void))
-transitive_reduction(const Graph& g, GraphTR& tr,
-                     G_to_TR_VertexMap g_to_tr_map,
-                     VertexIndexMap g_index_map )
-{
-    typedef typename graph_traits<Graph>::vertex_descriptor Vertex;
-    typedef typename graph_traits<Graph>::vertex_iterator VertexIterator;
-    typedef typename std::vector<Vertex>::size_type size_type;
-
-    std::vector<Vertex> topo_order;
-    topological_sort(g, std::back_inserter(topo_order));
-
-    std::vector<size_type> topo_number_storage(num_vertices(g));
-
-    iterator_property_map<size_type*, VertexIndexMap,
-    size_type, size_type&> topo_number( &topo_number_storage[0], g_index_map );
-
-    {
-        typename std::vector<Vertex>::reverse_iterator it = topo_order.rbegin();
-        size_type n = 0;
-        for(; it != topo_order.rend(); ++it,++n ) {
-            topo_number[ *it ] = n;
-        }
-    }
-
-    std::vector< std::vector< bool > > edge_in_closure(num_vertices(g),
-                                            std::vector<bool>( num_vertices(g), false));
-    {
-        typename std::vector<Vertex>::reverse_iterator it = topo_order.rbegin();
-            for( ; it != topo_order.rend(); ++it ) {
-            g_to_tr_map[*it] = add_vertex(tr);
-        }
-    }
-
-    typename std::vector<Vertex>::iterator
-        it = topo_order.begin(),
-        end = topo_order.end();
-    for( ; it != end; ++it ) {
-        size_type i = topo_number[ *it ];
-        edge_in_closure[i][i] = true;
-        std::vector<Vertex> neighbors;
-
-        //I have to collect the successors of *it and traverse them in
-        //ascending topological order. I didn't know a better way, how to
-        //do that. So what I'm doint is, collection the successors of *it here
-        {
-            typename Graph::out_edge_iterator oi,oi_end;
-            for( boost::tie(oi, oi_end) = out_edges( *it, g ); oi != oi_end; ++oi ) {
-                neighbors.push_back( target( *oi, g ) );
-            }
-        }
-
-        {
-            //and run through all vertices in topological order
-            typename std::vector<Vertex>::reverse_iterator
-                rit = topo_order.rbegin(),
-                rend = topo_order.rend();
-            for(; rit != rend; ++rit ) {
-                //looking if they are successors of *it
-                if( std::find( neighbors.begin(), neighbors.end(), *rit) != neighbors.end() ) {
-                    size_type j = topo_number[ *rit ];
-                    if( not edge_in_closure[i][j] ) {
-                    for(size_type k = j; k < num_vertices(g); ++k) {
-                        if( not edge_in_closure[i][k] ) {
-                        //here we need edge_in_closure to be in topological order,
-                        edge_in_closure[i][k] = edge_in_closure[j][k];
-                        }
-                    }
-                    //therefore we only access edge_in_closure only through
-                    //topo_number property_map
-                    add_edge(g_to_tr_map[*it], g_to_tr_map[*rit], tr);
-                    } //if ( not edge_in_
-                } //if (find (
-            } //for( typename vector<Vertex>::reverse_iterator
-        } // {
-
-    } //for( typename vector<Vertex>::iterator
-
-} //void transitive_reduction
-
-} // namespace boost
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/transpose_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/transpose_graph.hpp
deleted file mode 100644
index b12ba10..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/transpose_graph.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_TRANSPOSE_HPP
-#define BOOST_GRAPH_TRANSPOSE_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/reverse_graph.hpp>
-#include <boost/graph/copy.hpp>
-
-
-namespace boost {
-
-  template <class VertexListGraph, class MutableGraph> 
-  void transpose_graph(const VertexListGraph& G, MutableGraph& G_T)
-  {
-    reverse_graph<VertexListGraph> R(G);
-    copy_graph(R, G_T);
-  }
-  
-  template <class VertexListGraph, class MutableGraph, 
-    class P, class T, class R> 
-  void transpose_graph(const VertexListGraph& G, MutableGraph& G_T,
-                       const bgl_named_params<P, T, R>& params)
-  {
-    reverse_graph<VertexListGraph> Rev(G);
-    copy_graph(Rev, G_T, params);
-  }
-
-} // namespace boost
-
-#endif // BOOST_GRAPH_TRANSPOSE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/tree_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/tree_traits.hpp
deleted file mode 100644
index 0843628..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/tree_traits.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//  (C) Copyright Jeremy Siek 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)
-
-#ifndef BOOST_TREE_STRUCTURE_HPP
-#define BOOST_TREE_STRUCTURE_HPP
-
-namespace boost {
-
-  template <class T>
-  struct tree_traits {
-    typedef typename T::node_descriptor node_descriptor;    
-    typedef typename T::children_iterator children_iterator;    
-  };
-
-
-  template <class Tree, class TreeVisitor>
-  void traverse_tree(typename tree_traits<Tree>::node_descriptor v,
-                     Tree& t, TreeVisitor visitor)
-  {
-    visitor.preorder(v, t);
-    typename tree_traits<Tree>::children_iterator i, end;
-    boost::tie(i, end) = children(v, t);
-    if (i != end) {
-      traverse_tree(*i++, t, visitor);
-      visitor.inorder(v, t);
-      while (i != end)
-        traverse_tree(*i++, t, visitor);
-    } else
-      visitor.inorder(v, t);
-    visitor.postorder(v, t);
-  }
-
-  struct null_tree_visitor {
-    template <typename Node, typename Tree> void preorder(Node, Tree&) { }
-    template <typename Node, typename Tree> void inorder(Node, Tree&) { }
-    template <typename Node, typename Tree> void postorder(Node, Tree&) { }
-  };
-
-} /* namespace boost */
-
-#endif /* BOOST_TREE_STRUCTURE_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/two_bit_color_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/two_bit_color_map.hpp
deleted file mode 100644
index 3d55eab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/two_bit_color_map.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright (C) 2005-2006 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)
-
-//  Authors: Jeremiah Willcock
-//           Douglas Gregor
-//           Andrew Lumsdaine
-
-// Two bit per color property map
-
-#ifndef BOOST_TWO_BIT_COLOR_MAP_HPP
-#define BOOST_TWO_BIT_COLOR_MAP_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/shared_array.hpp>
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <algorithm>
-#include <limits>
-
-namespace boost {
-
-enum two_bit_color_type { 
-  two_bit_white = 0, 
-  two_bit_gray  = 1, 
-  two_bit_green = 2, 
-  two_bit_black = 3 
-};
-
-template <>
-struct color_traits<two_bit_color_type>
-{
-  static two_bit_color_type white() { return two_bit_white; }
-  static two_bit_color_type gray()  { return two_bit_gray; }
-  static two_bit_color_type green() { return two_bit_green; }
-  static two_bit_color_type black() { return two_bit_black; }
-};
-
-
-template<typename IndexMap = identity_property_map>
-struct two_bit_color_map 
-{
-  std::size_t n;
-  IndexMap index;
-  shared_array<unsigned char> data;
-
-  BOOST_STATIC_CONSTANT(int, bits_per_char = std::numeric_limits<unsigned char>::digits);
-  BOOST_STATIC_CONSTANT(int, elements_per_char = bits_per_char / 2);
-  typedef typename property_traits<IndexMap>::key_type key_type;
-  typedef two_bit_color_type value_type;
-  typedef void reference;
-  typedef read_write_property_map_tag category;
-
-  explicit two_bit_color_map(std::size_t n, const IndexMap& index = IndexMap())
-    : n(n), index(index), data(new unsigned char[(n + elements_per_char - 1) / elements_per_char])
-  {
-    // Fill to white
-    std::fill(data.get(), data.get() + (n + elements_per_char - 1) / elements_per_char, 0);
-  }
-};
-
-template<typename IndexMap>
-inline two_bit_color_type
-get(const two_bit_color_map<IndexMap>& pm, 
-    typename property_traits<IndexMap>::key_type key) 
-{
-  BOOST_STATIC_CONSTANT(int, elements_per_char = two_bit_color_map<IndexMap>::elements_per_char);
-  typename property_traits<IndexMap>::value_type i = get(pm.index, key);
-  BOOST_ASSERT ((std::size_t)i < pm.n);
-  std::size_t byte_num = i / elements_per_char;
-  std::size_t bit_position = ((i % elements_per_char) * 2);
-  return two_bit_color_type((pm.data.get()[byte_num] >> bit_position) & 3);
-}
-
-template<typename IndexMap>
-inline void
-put(const two_bit_color_map<IndexMap>& pm, 
-    typename property_traits<IndexMap>::key_type key,
-    two_bit_color_type value)
-{
-  BOOST_STATIC_CONSTANT(int, elements_per_char = two_bit_color_map<IndexMap>::elements_per_char);
-  typename property_traits<IndexMap>::value_type i = get(pm.index, key);
-  BOOST_ASSERT ((std::size_t)i < pm.n);
-  BOOST_ASSERT (value >= 0 && value < 4);
-  std::size_t byte_num = i / elements_per_char;
-  std::size_t bit_position = ((i % elements_per_char) * 2);
-    pm.data.get()[byte_num] =
-      (unsigned char)
-        ((pm.data.get()[byte_num] & ~(3 << bit_position))
-         | (value << bit_position));
-}
-
-template<typename IndexMap>
-inline two_bit_color_map<IndexMap>
-make_two_bit_color_map(std::size_t n, const IndexMap& index_map)
-{
-  return two_bit_color_map<IndexMap>(n, index_map);
-}
-
-} // end namespace boost
-
-#endif // BOOST_TWO_BIT_COLOR_MAP_HPP
-
-#ifdef BOOST_GRAPH_USE_MPI
-#  include <boost/graph/distributed/two_bit_color_map.hpp>
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/two_graphs_common_spanning_trees.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/two_graphs_common_spanning_trees.hpp
deleted file mode 100644
index 48f80df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/two_graphs_common_spanning_trees.hpp
+++ /dev/null
@@ -1,863 +0,0 @@
-//          Copyright (C) 2012, Michele Caini.
-// Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//          http://www.boost.org/LICENSE_1_0.txt)
-
-//          Two Graphs Common Spanning Trees Algorithm
-//      Based on academic article of Mint, Read and Tarjan
-//     Efficient Algorithm for Common Spanning Tree Problem
-// Electron. Lett., 28 April 1983, Volume 19, Issue 9, p.346-347
-
-
-#ifndef BOOST_GRAPH_TWO_GRAPHS_COMMON_SPANNING_TREES_HPP
-#define BOOST_GRAPH_TWO_GRAPHS_COMMON_SPANNING_TREES_HPP
-
-
-#include <boost/config.hpp>
-
-#include <boost/bimap.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/concept/requires.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/undirected_dfs.hpp>
-#include <boost/graph/connected_components.hpp>
-#include <boost/graph/filtered_graph.hpp>
-#include <vector>
-#include <stack>
-#include <map>
-
-
-namespace boost
-{
-
-
-namespace detail {
-
-
-  template
-    <
-      typename TreeMap,
-      typename PredMap,
-      typename DistMap,
-      typename LowMap,
-      typename Buffer
-    >
-  struct bridges_visitor: public default_dfs_visitor
-  {
-    bridges_visitor(
-        TreeMap tree,
-        PredMap pred,
-        DistMap dist,
-        LowMap low,
-        Buffer& buffer
-      ): mTree(tree), mPred(pred), mDist(dist), mLow(low), mBuffer(buffer)
-    { mNum = -1; }
-
-    template <typename Vertex, typename Graph>
-    void initialize_vertex(const Vertex& u, const Graph& g)
-    {
-      put(mPred, u, u);
-      put(mDist, u, -1);
-    }
-
-    template <typename Vertex, typename Graph>
-    void discover_vertex(const Vertex& u, const Graph& g)
-    {
-      put(mDist, u, ++mNum);
-      put(mLow, u, get(mDist, u));
-    }
-
-    template <typename Edge, typename Graph>
-    void tree_edge(const Edge& e, const Graph& g)
-    {
-      put(mPred, target(e, g), source(e, g));
-      put(mTree, target(e, g), e);
-    }
-
-    template <typename Edge, typename Graph>
-    void back_edge(const Edge& e, const Graph& g)
-    {
-      put(mLow, source(e, g),
-        (std::min)(get(mLow, source(e, g)), get(mDist, target(e, g))));
-    }
-
-    template <typename Vertex, typename Graph>
-    void finish_vertex(const Vertex& u, const Graph& g)
-    {
-      Vertex parent = get(mPred, u);
-      if(get(mLow, u) > get(mDist, parent))
-        mBuffer.push(get(mTree, u));
-      put(mLow, parent,
-        (std::min)(get(mLow, parent), get(mLow, u)));
-    }
-
-    TreeMap mTree;
-    PredMap mPred;
-    DistMap mDist;
-    LowMap mLow;
-    Buffer& mBuffer;
-    int mNum;
-  };
-
-
-  template <typename Buffer>
-  struct cycle_finder: public base_visitor< cycle_finder<Buffer> >
-  {
-    typedef on_back_edge event_filter;
-    cycle_finder(): mBuffer(0) { }
-    cycle_finder(Buffer* buffer)
-      : mBuffer(buffer) { }
-    template <typename Edge, typename Graph>
-    void operator()(const Edge& e, const Graph& g)
-      {
-        if(mBuffer)
-          mBuffer->push(e);
-      }
-    Buffer* mBuffer;
-  };
-
-
-  template <typename DeletedMap>
-  struct deleted_edge_status
-  {
-    deleted_edge_status() { }
-    deleted_edge_status(DeletedMap map): mMap(map) { }
-    template <typename Edge>
-    bool operator()(const Edge& e) const
-      { return (!get(mMap, e)); }
-    DeletedMap mMap;
-  };
-
-
-  template <typename InLMap>
-  struct inL_edge_status
-  {
-    inL_edge_status() { }
-    inL_edge_status(InLMap map): mMap(map) { }
-    template <typename Edge>
-    bool operator()(const Edge& e) const
-      { return get(mMap, e); }
-    InLMap mMap;
-  };
-
-
-  template <
-    typename Graph,
-    typename Func,
-    typename Seq,
-    typename Map
-  >
-  void rec_two_graphs_common_spanning_trees
-    (
-      const Graph& iG,
-      bimap<
-          bimaps::set_of<int>,
-          bimaps::set_of< typename graph_traits<Graph>::edge_descriptor >
-        > iG_bimap,
-      Map aiG_inL,
-      Map diG,
-      const Graph& vG,
-      bimap<
-          bimaps::set_of<int>,
-          bimaps::set_of< typename graph_traits<Graph>::edge_descriptor >
-        > vG_bimap,
-      Map avG_inL,
-      Map dvG,
-      Func func,
-      Seq inL
-    )
-  {
-    typedef graph_traits<Graph> GraphTraits;
-
-    typedef typename GraphTraits::vertex_descriptor vertex_descriptor;
-    typedef typename GraphTraits::edge_descriptor edge_descriptor;
-
-    typedef typename Seq::size_type seq_size_type;
-
-    int edges = num_vertices(iG) - 1;
-//
-//  [ Michele Caini ]
-//
-//  Using the condition (edges != 0) leads to the accidental submission of
-//    sub-graphs ((V-1+1)-fake-tree, named here fat-tree).
-//  Remove this condition is a workaround for the problem of fat-trees.
-//  Please do not add that condition, even if it improves performance.
-//
-//  Here is proposed the previous guard (that was wrong):
-//     for(seq_size_type i = 0; (i < inL.size()) && (edges != 0); ++i)
-//
-    {
-      for(seq_size_type i = 0; i < inL.size(); ++i)
-        if(inL[i])
-          --edges;
-
-      if(edges < 0)
-        return;
-    }
-
-    bool is_tree = (edges == 0);
-    if(is_tree) {
-      func(inL);
-    } else {
-      std::map<vertex_descriptor, default_color_type> vertex_color;
-      std::map<edge_descriptor, default_color_type> edge_color;
-
-      std::stack<edge_descriptor> iG_buf, vG_buf;
-      bool found = false;
-
-      seq_size_type m;
-      for(seq_size_type j = 0; j < inL.size() && !found; ++j) {
-        if(!inL[j]
-            && !get(diG, iG_bimap.left.at(j))
-            && !get(dvG, vG_bimap.left.at(j)))
-        {
-          put(aiG_inL, iG_bimap.left.at(j), true);
-          put(avG_inL, vG_bimap.left.at(j), true);
-
-          undirected_dfs(
-              make_filtered_graph(iG,
-                detail::inL_edge_status< associative_property_map<
-                  std::map<edge_descriptor, bool> > >(aiG_inL)),
-              make_dfs_visitor(
-                detail::cycle_finder< std::stack<edge_descriptor> > (&iG_buf)),
-              associative_property_map<
-                std::map<vertex_descriptor, default_color_type> >(vertex_color),
-              associative_property_map<
-                std::map<edge_descriptor, default_color_type> >(edge_color)
-            );
-          undirected_dfs(
-              make_filtered_graph(vG,
-                detail::inL_edge_status< associative_property_map<
-                  std::map<edge_descriptor, bool> > >(avG_inL)),
-              make_dfs_visitor(
-                detail::cycle_finder< std::stack<edge_descriptor> > (&vG_buf)),
-              associative_property_map<
-                std::map<vertex_descriptor, default_color_type> >(vertex_color),
-              associative_property_map<
-                std::map<edge_descriptor, default_color_type> >(edge_color)
-            );
-
-          if(iG_buf.empty() && vG_buf.empty()) {
-            inL[j] = true;
-            found = true;
-            m = j;
-          } else {
-            while(!iG_buf.empty()) iG_buf.pop();
-            while(!vG_buf.empty()) vG_buf.pop();
-            put(aiG_inL, iG_bimap.left.at(j), false);
-            put(avG_inL, vG_bimap.left.at(j), false);
-          }
-        }
-      }
-
-      if(found) {
-
-        std::stack<edge_descriptor> iG_buf_copy, vG_buf_copy;
-        for(seq_size_type j = 0; j < inL.size(); ++j) {
-          if(!inL[j]
-              && !get(diG, iG_bimap.left.at(j))
-              && !get(dvG, vG_bimap.left.at(j)))
-          {
-
-            put(aiG_inL, iG_bimap.left.at(j), true);
-            put(avG_inL, vG_bimap.left.at(j), true);
-
-            undirected_dfs(
-                make_filtered_graph(iG,
-                  detail::inL_edge_status< associative_property_map<
-                    std::map<edge_descriptor, bool> > >(aiG_inL)),
-                make_dfs_visitor(
-                  detail::cycle_finder<
-                    std::stack<edge_descriptor> > (&iG_buf)),
-               associative_property_map< std::map<
-                  vertex_descriptor, default_color_type> >(vertex_color),
-                associative_property_map<
-                  std::map<edge_descriptor, default_color_type> >(edge_color)
-              );
-            undirected_dfs(
-                make_filtered_graph(vG,
-                  detail::inL_edge_status< associative_property_map<
-                    std::map<edge_descriptor, bool> > >(avG_inL)),
-                make_dfs_visitor(
-                  detail::cycle_finder<
-                    std::stack<edge_descriptor> > (&vG_buf)),
-                associative_property_map< std::map<
-                  vertex_descriptor, default_color_type> >(vertex_color),
-                associative_property_map<
-                  std::map<edge_descriptor, default_color_type> >(edge_color)
-              );
-
-            if(!iG_buf.empty() || !vG_buf.empty()) {
-              while(!iG_buf.empty()) iG_buf.pop();
-              while(!vG_buf.empty()) vG_buf.pop();
-              put(diG, iG_bimap.left.at(j), true);
-              put(dvG, vG_bimap.left.at(j), true);
-              iG_buf_copy.push(iG_bimap.left.at(j));
-              vG_buf_copy.push(vG_bimap.left.at(j));
-            }
-
-            put(aiG_inL, iG_bimap.left.at(j), false);
-            put(avG_inL, vG_bimap.left.at(j), false);
-          }
-        }
-
-        // REC
-        detail::rec_two_graphs_common_spanning_trees<Graph, Func, Seq, Map>
-          (iG, iG_bimap, aiG_inL, diG, vG, vG_bimap, aiG_inL, dvG, func, inL);
-
-        while(!iG_buf_copy.empty()) {
-          put(diG, iG_buf_copy.top(), false);
-          put(dvG, vG_bimap.left.at(
-            iG_bimap.right.at(iG_buf_copy.top())), false);
-          iG_buf_copy.pop();
-        }
-        while(!vG_buf_copy.empty()) {
-          put(dvG, vG_buf_copy.top(), false);
-          put(diG, iG_bimap.left.at(
-            vG_bimap.right.at(vG_buf_copy.top())), false);
-          vG_buf_copy.pop();
-        }
-
-        inL[m] = false;
-        put(aiG_inL, iG_bimap.left.at(m), false);
-        put(avG_inL, vG_bimap.left.at(m), false);
-
-        put(diG, iG_bimap.left.at(m), true);
-        put(dvG, vG_bimap.left.at(m), true);
-
-        std::map<vertex_descriptor, edge_descriptor> tree_map;
-        std::map<vertex_descriptor, vertex_descriptor> pred_map;
-        std::map<vertex_descriptor, int> dist_map, low_map;
-
-        detail::bridges_visitor<
-            associative_property_map<
-                std::map<vertex_descriptor, edge_descriptor>
-              >,
-            associative_property_map<
-                std::map<vertex_descriptor, vertex_descriptor>
-              >,
-            associative_property_map< std::map<vertex_descriptor, int> >,
-            associative_property_map< std::map<vertex_descriptor, int> >,
-            std::stack<edge_descriptor>
-          >
-        iG_vis(
-            associative_property_map<
-              std::map< vertex_descriptor, edge_descriptor> >(tree_map),
-            associative_property_map<
-              std::map< vertex_descriptor, vertex_descriptor> >(pred_map),
-            associative_property_map<
-              std::map< vertex_descriptor, int> >(dist_map),
-            associative_property_map<
-              std::map< vertex_descriptor, int> >(low_map),
-            iG_buf
-          ),
-        vG_vis(
-            associative_property_map<
-              std::map< vertex_descriptor, edge_descriptor> >(tree_map),
-            associative_property_map<
-              std::map< vertex_descriptor, vertex_descriptor> >(pred_map),
-            associative_property_map<
-              std::map< vertex_descriptor, int> >(dist_map),
-            associative_property_map<
-              std::map< vertex_descriptor, int> >(low_map),
-            vG_buf
-          );
-
-        undirected_dfs(make_filtered_graph(iG,
-              detail::deleted_edge_status< associative_property_map<
-              std::map<edge_descriptor, bool> > >(diG)),
-            iG_vis,
-            associative_property_map<
-              std::map<vertex_descriptor, default_color_type> >(vertex_color),
-            associative_property_map<
-              std::map<edge_descriptor, default_color_type> >(edge_color)
-          );
-        undirected_dfs(make_filtered_graph(vG,
-              detail::deleted_edge_status< associative_property_map<
-              std::map<edge_descriptor, bool> > >(dvG)),
-            vG_vis,
-            associative_property_map<
-              std::map<vertex_descriptor, default_color_type> >(vertex_color),
-            associative_property_map<
-              std::map<edge_descriptor, default_color_type> >(edge_color)
-          );
-
-        found = false;
-        std::stack<edge_descriptor> iG_buf_tmp, vG_buf_tmp;
-        while(!iG_buf.empty() && !found) {
-          if(!inL[iG_bimap.right.at(iG_buf.top())]) {
-            put(aiG_inL, iG_buf.top(), true);
-            put(avG_inL, vG_bimap.left.at(
-              iG_bimap.right.at(iG_buf.top())), true);
-
-            undirected_dfs(
-                make_filtered_graph(iG,
-                  detail::inL_edge_status< associative_property_map<
-                    std::map<edge_descriptor, bool> > >(aiG_inL)),
-                make_dfs_visitor(
-                  detail::cycle_finder<
-                    std::stack<edge_descriptor> > (&iG_buf_tmp)),
-                associative_property_map<
-                  std::map<
-                    vertex_descriptor, default_color_type> >(vertex_color),
-                associative_property_map<
-                  std::map<edge_descriptor, default_color_type> >(edge_color)
-              );
-            undirected_dfs(
-                make_filtered_graph(vG,
-                  detail::inL_edge_status< associative_property_map<
-                    std::map<edge_descriptor, bool> > >(avG_inL)),
-                make_dfs_visitor(
-                  detail::cycle_finder<
-                    std::stack<edge_descriptor> > (&vG_buf_tmp)),
-                associative_property_map<
-                  std::map<
-                    vertex_descriptor, default_color_type> >(vertex_color),
-                associative_property_map<
-                  std::map<edge_descriptor, default_color_type> >(edge_color)
-              );
-
-            if(!iG_buf_tmp.empty() || !vG_buf_tmp.empty()) {
-              found = true;
-            } else {
-              while(!iG_buf_tmp.empty()) iG_buf_tmp.pop();
-              while(!vG_buf_tmp.empty()) vG_buf_tmp.pop();
-              iG_buf_copy.push(iG_buf.top());
-            }
-
-            put(aiG_inL, iG_buf.top(), false);
-            put(avG_inL, vG_bimap.left.at(
-              iG_bimap.right.at(iG_buf.top())), false);
-          }
-          iG_buf.pop();
-        }
-        while(!vG_buf.empty() && !found) {
-          if(!inL[vG_bimap.right.at(vG_buf.top())]) {
-            put(avG_inL, vG_buf.top(), true);
-            put(aiG_inL, iG_bimap.left.at(
-              vG_bimap.right.at(vG_buf.top())), true);
-
-            undirected_dfs(
-                make_filtered_graph(iG,
-                  detail::inL_edge_status< associative_property_map<
-                    std::map<edge_descriptor, bool> > >(aiG_inL)),
-                make_dfs_visitor(
-                  detail::cycle_finder<
-                    std::stack<edge_descriptor> > (&iG_buf_tmp)),
-                associative_property_map<
-                  std::map<
-                    vertex_descriptor, default_color_type> >(vertex_color),
-                associative_property_map<
-                  std::map<edge_descriptor, default_color_type> >(edge_color)
-              );
-            undirected_dfs(
-                make_filtered_graph(vG,
-                  detail::inL_edge_status< associative_property_map<
-                    std::map<edge_descriptor, bool> > >(avG_inL)),
-                make_dfs_visitor(
-                  detail::cycle_finder<
-                    std::stack<edge_descriptor> > (&vG_buf_tmp)),
-                associative_property_map<
-                  std::map<
-                    vertex_descriptor, default_color_type> >(vertex_color),
-                associative_property_map<
-                  std::map<edge_descriptor, default_color_type> >(edge_color)
-              );
-
-            if(!iG_buf_tmp.empty() || !vG_buf_tmp.empty()) {
-              found = true;
-            } else {
-              while(!iG_buf_tmp.empty()) iG_buf_tmp.pop();
-              while(!vG_buf_tmp.empty()) vG_buf_tmp.pop();
-              vG_buf_copy.push(vG_buf.top());
-            }
-
-            put(avG_inL, vG_buf.top(), false);
-            put(aiG_inL, iG_bimap.left.at(
-              vG_bimap.right.at(vG_buf.top())), false);
-          }
-          vG_buf.pop();
-        }
-
-        if(!found) {
-
-          while(!iG_buf_copy.empty()) {
-            inL[iG_bimap.right.at(iG_buf_copy.top())] = true;
-            put(aiG_inL, iG_buf_copy.top(), true);
-            put(avG_inL, vG_bimap.left.at(
-              iG_bimap.right.at(iG_buf_copy.top())), true);
-            iG_buf.push(iG_buf_copy.top());
-            iG_buf_copy.pop();
-          }
-          while(!vG_buf_copy.empty()) {
-            inL[vG_bimap.right.at(vG_buf_copy.top())] = true;
-            put(avG_inL, vG_buf_copy.top(), true);
-            put(aiG_inL, iG_bimap.left.at(
-              vG_bimap.right.at(vG_buf_copy.top())), true);
-            vG_buf.push(vG_buf_copy.top());
-            vG_buf_copy.pop();
-          }
-
-          // REC
-          detail::rec_two_graphs_common_spanning_trees<
-              Graph, Func, Seq, Map>
-            (iG, iG_bimap, aiG_inL, diG, vG, vG_bimap, aiG_inL, dvG, func, inL);
-
-          while(!iG_buf.empty()) {
-            inL[iG_bimap.right.at(iG_buf.top())] = false;
-            put(aiG_inL, iG_buf.top(), false);
-            put(avG_inL, vG_bimap.left.at(
-              iG_bimap.right.at(iG_buf.top())), false);
-            iG_buf.pop();
-          }
-          while(!vG_buf.empty()) {
-            inL[vG_bimap.right.at(vG_buf.top())] = false;
-            put(avG_inL, vG_buf.top(), false);
-            put(aiG_inL, iG_bimap.left.at(
-              vG_bimap.right.at(vG_buf.top())), false);
-            vG_buf.pop();
-          }
-
-        }
-
-        put(diG, iG_bimap.left.at(m), false);
-        put(dvG, vG_bimap.left.at(m), false);
-
-      }
-    }
-  }
-
-} // namespace detail
-
-
-
-template <typename Coll, typename Seq>
-struct tree_collector
-{
-
-public:
-  BOOST_CONCEPT_ASSERT((BackInsertionSequence<Coll>));
-  BOOST_CONCEPT_ASSERT((RandomAccessContainer<Seq>));
-  BOOST_CONCEPT_ASSERT((CopyConstructible<Seq>));
-
-  typedef typename Coll::value_type coll_value_type;
-  typedef typename Seq::value_type seq_value_type;
-
-  BOOST_STATIC_ASSERT((is_same<coll_value_type, Seq>::value));
-  BOOST_STATIC_ASSERT((is_same<seq_value_type, bool>::value));
-
-  tree_collector(Coll& seqs): mSeqs(seqs) { }
-
-  inline void operator()(Seq seq)
-    { mSeqs.push_back(seq); }
-
-private:
-  Coll& mSeqs;
-
-};
-
-
-
-template <
-  typename Graph,
-  typename Order,
-  typename Func,
-  typename Seq
->
-BOOST_CONCEPT_REQUIRES(
-  ((RandomAccessContainer<Order>))
-  ((IncidenceGraphConcept<Graph>))
-  ((UnaryFunction<Func, void, Seq>))
-  ((Mutable_RandomAccessContainer<Seq>))
-  ((VertexAndEdgeListGraphConcept<Graph>)),
-  (void)
-)
-two_graphs_common_spanning_trees
-  (
-    const Graph& iG,
-    Order iG_map,
-    const Graph& vG,
-    Order vG_map,
-    Func func,
-    Seq inL
-  )
-{
-  typedef graph_traits<Graph> GraphTraits;
-
-  typedef typename GraphTraits::directed_category directed_category;
-  typedef typename GraphTraits::vertex_descriptor vertex_descriptor;
-  typedef typename GraphTraits::edge_descriptor edge_descriptor;
-
-  typedef typename GraphTraits::edges_size_type edges_size_type;
-  typedef typename GraphTraits::edge_iterator edge_iterator;
-
-  typedef typename Seq::value_type seq_value_type;
-  typedef typename Seq::size_type seq_size_type;
-
-  typedef typename Order::value_type order_value_type;
-  typedef typename Order::size_type order_size_type;
-
-  BOOST_STATIC_ASSERT((is_same<order_value_type, edge_descriptor>::value));
-  BOOST_CONCEPT_ASSERT((Convertible<order_size_type, edges_size_type>));
-
-  BOOST_CONCEPT_ASSERT((Convertible<seq_size_type, edges_size_type>));
-  BOOST_STATIC_ASSERT((is_same<seq_value_type, bool>::value));
-
-  BOOST_STATIC_ASSERT((is_same<directed_category, undirected_tag>::value));
-
-  if(num_vertices(iG) != num_vertices(vG))
-    return;
-
-  if(inL.size() != num_edges(iG)
-      || inL.size() != num_edges(vG))
-    return;
-
-  if(iG_map.size() != num_edges(iG)
-      || vG_map.size() != num_edges(vG))
-    return;
-
-  typedef bimaps::bimap<
-      bimaps::set_of< int >,
-      bimaps::set_of< order_value_type >
-    > bimap_type;
-  typedef typename bimap_type::value_type bimap_value;
-
-  bimap_type iG_bimap, vG_bimap;
-  for(order_size_type i = 0; i < iG_map.size(); ++i)
-    iG_bimap.insert(bimap_value(i, iG_map[i]));
-  for(order_size_type i = 0; i < vG_map.size(); ++i)
-    vG_bimap.insert(bimap_value(i, vG_map[i]));
-
-  edge_iterator current, last;
-  boost::tuples::tie(current, last) = edges(iG);
-  for(; current != last; ++current)
-    if(iG_bimap.right.find(*current) == iG_bimap.right.end())
-      return;
-  boost::tuples::tie(current, last) = edges(vG);
-  for(; current != last; ++current)
-    if(vG_bimap.right.find(*current) == vG_bimap.right.end())
-      return;
-
-  std::stack<edge_descriptor> iG_buf, vG_buf;
-
-  std::map<vertex_descriptor, edge_descriptor> tree_map;
-  std::map<vertex_descriptor, vertex_descriptor> pred_map;
-  std::map<vertex_descriptor, int> dist_map, low_map;
-
-  detail::bridges_visitor<
-      associative_property_map<
-          std::map<vertex_descriptor, edge_descriptor>
-        >,
-      associative_property_map<
-          std::map<vertex_descriptor, vertex_descriptor>
-        >,
-      associative_property_map< std::map<vertex_descriptor, int> >,
-      associative_property_map< std::map<vertex_descriptor, int> >,
-      std::stack<edge_descriptor>
-    >
-  iG_vis(
-      associative_property_map<
-        std::map< vertex_descriptor, edge_descriptor> >(tree_map),
-      associative_property_map<
-        std::map< vertex_descriptor, vertex_descriptor> >(pred_map),
-      associative_property_map<std::map< vertex_descriptor, int> >(dist_map),
-      associative_property_map<std::map< vertex_descriptor, int> >(low_map),
-      iG_buf
-    ),
-  vG_vis(
-      associative_property_map<
-        std::map< vertex_descriptor, edge_descriptor> >(tree_map),
-      associative_property_map<
-        std::map< vertex_descriptor, vertex_descriptor> >(pred_map),
-      associative_property_map<std::map< vertex_descriptor, int> >(dist_map),
-      associative_property_map<std::map< vertex_descriptor, int> >(low_map),
-      vG_buf
-    );
-
-  std::map<vertex_descriptor, default_color_type> vertex_color;
-  std::map<edge_descriptor, default_color_type> edge_color;
-
-  undirected_dfs(iG, iG_vis,
-      associative_property_map<
-        std::map<vertex_descriptor, default_color_type> >(vertex_color),
-      associative_property_map<
-        std::map<edge_descriptor, default_color_type> >(edge_color)
-    );
-  undirected_dfs(vG, vG_vis,
-      associative_property_map<
-        std::map<vertex_descriptor, default_color_type> >(vertex_color),
-      associative_property_map<
-        std::map<edge_descriptor, default_color_type> >(edge_color)
-    );
-
-  while(!iG_buf.empty()) {
-    inL[iG_bimap.right.at(iG_buf.top())] = true;
-    iG_buf.pop();
-  }
-  while(!vG_buf.empty()) {
-    inL[vG_bimap.right.at(vG_buf.top())] = true;
-    vG_buf.pop();
-  }
-
-  std::map<edge_descriptor, bool> iG_inL, vG_inL;
-  associative_property_map< std::map<edge_descriptor, bool> >
-    aiG_inL(iG_inL), avG_inL(vG_inL);
-
-  for(seq_size_type i = 0; i < inL.size(); ++i)
-  {
-    if(inL[i]) {
-      put(aiG_inL, iG_bimap.left.at(i), true);
-      put(avG_inL, vG_bimap.left.at(i), true);
-    } else {
-      put(aiG_inL, iG_bimap.left.at(i), false);
-      put(avG_inL, vG_bimap.left.at(i), false);
-    }
-  }
-
-  undirected_dfs(
-      make_filtered_graph(iG,
-        detail::inL_edge_status< associative_property_map<
-          std::map<edge_descriptor, bool> > >(aiG_inL)),
-      make_dfs_visitor(
-        detail::cycle_finder< std::stack<edge_descriptor> > (&iG_buf)),
-      associative_property_map<
-        std::map<vertex_descriptor, default_color_type> >(vertex_color),
-      associative_property_map<
-        std::map<edge_descriptor, default_color_type> >(edge_color)
-    );
-  undirected_dfs(
-      make_filtered_graph(vG,
-        detail::inL_edge_status< associative_property_map<
-          std::map<edge_descriptor, bool> > >(avG_inL)),
-      make_dfs_visitor(
-        detail::cycle_finder< std::stack<edge_descriptor> > (&vG_buf)),
-      associative_property_map<
-        std::map<vertex_descriptor, default_color_type> >(vertex_color),
-      associative_property_map<
-        std::map<edge_descriptor, default_color_type> >(edge_color)
-    );
-
-  if(iG_buf.empty() && vG_buf.empty()) {
-
-    std::map<edge_descriptor, bool> iG_deleted, vG_deleted;
-    associative_property_map< std::map<edge_descriptor, bool> > diG(iG_deleted);
-    associative_property_map< std::map<edge_descriptor, bool> > dvG(vG_deleted);
-
-    boost::tuples::tie(current, last) = edges(iG);
-    for(; current != last; ++current)
-      put(diG, *current, false);
-    boost::tuples::tie(current, last) = edges(vG);
-    for(; current != last; ++current)
-      put(dvG, *current, false);
-
-    for(seq_size_type j = 0; j < inL.size(); ++j) {
-      if(!inL[j]) {
-        put(aiG_inL, iG_bimap.left.at(j), true);
-        put(avG_inL, vG_bimap.left.at(j), true);
-
-        undirected_dfs(
-            make_filtered_graph(iG,
-              detail::inL_edge_status< associative_property_map<
-                std::map<edge_descriptor, bool> > >(aiG_inL)),
-            make_dfs_visitor(
-              detail::cycle_finder< std::stack<edge_descriptor> > (&iG_buf)),
-            associative_property_map<
-              std::map<vertex_descriptor, default_color_type> >(vertex_color),
-            associative_property_map<
-              std::map<edge_descriptor, default_color_type> >(edge_color)
-          );
-        undirected_dfs(
-            make_filtered_graph(vG,
-              detail::inL_edge_status< associative_property_map<
-                std::map<edge_descriptor, bool> > >(avG_inL)),
-            make_dfs_visitor(
-              detail::cycle_finder< std::stack<edge_descriptor> > (&vG_buf)),
-            associative_property_map<
-              std::map<vertex_descriptor, default_color_type> >(vertex_color),
-            associative_property_map<
-              std::map<edge_descriptor, default_color_type> >(edge_color)
-          );
-
-        if(!iG_buf.empty() || !vG_buf.empty()) {
-          while(!iG_buf.empty()) iG_buf.pop();
-          while(!vG_buf.empty()) vG_buf.pop();
-          put(diG, iG_bimap.left.at(j), true);
-          put(dvG, vG_bimap.left.at(j), true);
-        }
-
-        put(aiG_inL, iG_bimap.left.at(j), false);
-        put(avG_inL, vG_bimap.left.at(j), false);
-      }
-    }
-
-    int cc = 0;
-
-    std::map<vertex_descriptor, int> com_map;
-    cc += connected_components(
-        make_filtered_graph(iG,
-          detail::deleted_edge_status<associative_property_map<
-            std::map<edge_descriptor, bool> > >(diG)),
-        associative_property_map<std::map<vertex_descriptor, int> >(com_map)
-      );
-    cc += connected_components(
-        make_filtered_graph(vG,
-          detail::deleted_edge_status<associative_property_map<
-            std::map<edge_descriptor, bool> > >(dvG)),
-        associative_property_map< std::map<vertex_descriptor, int> >(com_map)
-      );
-
-    if(cc != 2)
-      return;
-
-    // REC
-    detail::rec_two_graphs_common_spanning_trees<Graph, Func, Seq,
-        associative_property_map< std::map<edge_descriptor, bool> > >
-      (iG, iG_bimap, aiG_inL, diG, vG, vG_bimap, aiG_inL, dvG, func, inL);
-
-  }
-
-}
-
-
-template <
-  typename Graph,
-  typename Func,
-  typename Seq
->
-BOOST_CONCEPT_REQUIRES(
-  ((IncidenceGraphConcept<Graph>))
-  ((EdgeListGraphConcept<Graph>)),
-  (void)
-)
-two_graphs_common_spanning_trees
-  (
-    const Graph& iG,
-    const Graph& vG,
-    Func func,
-    Seq inL
-  )
-{
-  typedef graph_traits<Graph> GraphTraits;
-
-  typedef typename GraphTraits::edge_descriptor edge_descriptor;
-  typedef typename GraphTraits::edge_iterator edge_iterator;
-
-  std::vector<edge_descriptor> iGO, vGO;
-  edge_iterator curr, last;
-
-  boost::tuples::tie(curr, last) = edges(iG);
-  for(; curr != last; ++curr)
-    iGO.push_back(*curr);
-
-  boost::tuples::tie(curr, last) = edges(vG);
-  for(; curr != last; ++curr)
-    vGO.push_back(*curr);
-
-  two_graphs_common_spanning_trees(iG, iGO, vG, vGO, func, inL);
-}
-
-
-} // namespace boost
-
-
-#endif // BOOST_GRAPH_TWO_GRAPHS_COMMON_SPANNING_TREES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/undirected_dfs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/undirected_dfs.hpp
deleted file mode 100644
index 89cb10f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/undirected_dfs.hpp
+++ /dev/null
@@ -1,255 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_UNDIRECTED_DFS_HPP
-#define BOOST_GRAPH_UNDIRECTED_DFS_HPP
-
-#include <boost/graph/depth_first_search.hpp>
-#include <vector>
-#include <boost/concept/assert.hpp>
-
-namespace boost {
-
-  namespace detail {
-
-// Define BOOST_RECURSIVE_DFS to use older, recursive version.
-// It is retained for a while in order to perform performance
-// comparison.
-#ifndef BOOST_RECURSIVE_DFS
-
-    template <typename IncidenceGraph, typename DFSVisitor, 
-              typename VertexColorMap, typename EdgeColorMap>
-    void undir_dfv_impl
-      (const IncidenceGraph& g,
-       typename graph_traits<IncidenceGraph>::vertex_descriptor u, 
-       DFSVisitor& vis,
-       VertexColorMap vertex_color,
-       EdgeColorMap edge_color)
-    {
-      BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
-      BOOST_CONCEPT_ASSERT(( DFSVisitorConcept<DFSVisitor, IncidenceGraph> ));
-      typedef typename graph_traits<IncidenceGraph>::vertex_descriptor Vertex;
-      typedef typename graph_traits<IncidenceGraph>::edge_descriptor Edge;
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<VertexColorMap,Vertex> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<EdgeColorMap,Edge> ));
-      typedef typename property_traits<VertexColorMap>::value_type ColorValue;
-      typedef typename property_traits<EdgeColorMap>::value_type EColorValue;
-      BOOST_CONCEPT_ASSERT(( ColorValueConcept<ColorValue> ));
-      BOOST_CONCEPT_ASSERT(( ColorValueConcept<EColorValue> ));
-      typedef color_traits<ColorValue> Color;
-      typedef color_traits<EColorValue> EColor;
-      typedef typename graph_traits<IncidenceGraph>::out_edge_iterator Iter;
-      typedef std::pair<Vertex, std::pair<boost::optional<Edge>, std::pair<Iter, Iter> > > VertexInfo;
-
-      std::vector<VertexInfo> stack;
-
-      put(vertex_color, u, Color::gray());
-      vis.discover_vertex(u, g);
-      stack.push_back(std::make_pair(u, std::make_pair(boost::optional<Edge>(), out_edges(u, g))));
-      while (!stack.empty()) {
-        VertexInfo& back = stack.back();
-        u = back.first;
-        boost::optional<Edge> src_e = back.second.first;
-        Iter ei = back.second.second.first, ei_end = back.second.second.second;
-        stack.pop_back();
-        while (ei != ei_end) {
-          Vertex v = target(*ei, g);
-          vis.examine_edge(*ei, g);
-          ColorValue v_color = get(vertex_color, v);
-          EColorValue uv_color = get(edge_color, *ei);
-          put(edge_color, *ei, EColor::black());
-          if (v_color == Color::white()) {
-            vis.tree_edge(*ei, g);
-            src_e = *ei;
-            stack.push_back(std::make_pair(u, std::make_pair(src_e, std::make_pair(++ei, ei_end))));
-            u = v;
-            put(vertex_color, u, Color::gray());
-            vis.discover_vertex(u, g);
-            boost::tie(ei, ei_end) = out_edges(u, g);
-          } else if (v_color == Color::gray()) {
-            if (uv_color == EColor::white()) vis.back_edge(*ei, g);
-            call_finish_edge(vis, *ei, g);
-            ++ei;
-          } else { // if (v_color == Color::black())
-            call_finish_edge(vis, *ei, g);
-            ++ei;
-          }
-        }
-        put(vertex_color, u, Color::black());
-        vis.finish_vertex(u, g);
-        if (src_e) call_finish_edge(vis, src_e.get(), g);
-      }
-    }
-
-#else // BOOST_RECURSIVE_DFS
-
-    template <typename IncidenceGraph, typename DFSVisitor, 
-              typename VertexColorMap, typename EdgeColorMap>
-    void undir_dfv_impl
-      (const IncidenceGraph& g,
-       typename graph_traits<IncidenceGraph>::vertex_descriptor u, 
-       DFSVisitor& vis,  // pass-by-reference here, important!
-       VertexColorMap vertex_color,
-       EdgeColorMap edge_color)
-    {
-      BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
-      BOOST_CONCEPT_ASSERT(( DFSVisitorConcept<DFSVisitor, IncidenceGraph> ));
-      typedef typename graph_traits<IncidenceGraph>::vertex_descriptor Vertex;
-      typedef typename graph_traits<IncidenceGraph>::edge_descriptor Edge;
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<VertexColorMap,Vertex> ));
-      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<EdgeColorMap,Edge> ));
-      typedef typename property_traits<VertexColorMap>::value_type ColorValue;
-      typedef typename property_traits<EdgeColorMap>::value_type EColorValue;
-      BOOST_CONCEPT_ASSERT(( ColorValueConcept<ColorValue> ));
-      BOOST_CONCEPT_ASSERT(( ColorValueConcept<EColorValue> ));
-      typedef color_traits<ColorValue> Color;
-      typedef color_traits<EColorValue> EColor;
-      typename graph_traits<IncidenceGraph>::out_edge_iterator ei, ei_end;
-
-      put(vertex_color, u, Color::gray());   vis.discover_vertex(u, g);
-      for (boost::tie(ei, ei_end) = out_edges(u, g); ei != ei_end; ++ei) {
-        Vertex v = target(*ei, g);           vis.examine_edge(*ei, g);
-        ColorValue v_color = get(vertex_color, v);
-        EColorValue uv_color = get(edge_color, *ei);
-        put(edge_color, *ei, EColor::black());
-        if (v_color == Color::white()) {     vis.tree_edge(*ei, g);
-          undir_dfv_impl(g, v, vis, vertex_color, edge_color);
-        } else if (v_color == Color::gray() && uv_color == EColor::white())
-                                             vis.back_edge(*ei, g);
-                                             call_finish_edge(vis, *ei, g);
-      }
-      put(vertex_color, u, Color::black());  vis.finish_vertex(u, g);
-    }
-
-#endif // ! BOOST_RECURSIVE_DFS
-
-  } // namespace detail
-
-  template <typename Graph, typename DFSVisitor, 
-            typename VertexColorMap, typename EdgeColorMap, 
-            typename Vertex>
-  void
-  undirected_dfs(const Graph& g, DFSVisitor vis, 
-                 VertexColorMap vertex_color, EdgeColorMap edge_color,
-                 Vertex start_vertex)
-  {
-    BOOST_CONCEPT_ASSERT(( DFSVisitorConcept<DFSVisitor, Graph> ));
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph> ));
-
-    typedef typename property_traits<VertexColorMap>::value_type ColorValue;
-    typedef color_traits<ColorValue> Color;
-
-    typename graph_traits<Graph>::vertex_iterator ui, ui_end;
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      put(vertex_color, *ui, Color::white());   vis.initialize_vertex(*ui, g);
-    }
-    typename graph_traits<Graph>::edge_iterator ei, ei_end;
-    for (boost::tie(ei, ei_end) = edges(g); ei != ei_end; ++ei)
-      put(edge_color, *ei, Color::white());
-
-    if (start_vertex != *vertices(g).first){ vis.start_vertex(start_vertex, g);
-      detail::undir_dfv_impl(g, start_vertex, vis, vertex_color, edge_color);
-    }
-
-    for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) {
-      ColorValue u_color = get(vertex_color, *ui);
-      if (u_color == Color::white()) {       vis.start_vertex(*ui, g);
-        detail::undir_dfv_impl(g, *ui, vis, vertex_color, edge_color);
-      }
-    }
-  }
-
-  template <typename Graph, typename DFSVisitor, typename VertexColorMap,
-    typename EdgeColorMap>
-  void
-  undirected_dfs(const Graph& g, DFSVisitor vis, 
-                 VertexColorMap vertex_color, EdgeColorMap edge_color)
-  {
-    undirected_dfs(g, vis, vertex_color, edge_color, *vertices(g).first);
-  }
-
-  namespace detail {
-    template <typename VertexColorMap>
-    struct udfs_dispatch {
-
-      template <typename Graph, typename Vertex, 
-                typename DFSVisitor, typename EdgeColorMap,
-                typename P, typename T, typename R>
-      static void
-      apply(const Graph& g, DFSVisitor vis, Vertex start_vertex,
-            const bgl_named_params<P, T, R>&,
-            EdgeColorMap edge_color,
-            VertexColorMap vertex_color)
-      {
-        undirected_dfs(g, vis, vertex_color, edge_color, start_vertex);
-      }
-    };
-
-    template <>
-    struct udfs_dispatch<param_not_found> {
-      template <typename Graph, typename Vertex, typename DFSVisitor,
-                typename EdgeColorMap,
-                typename P, typename T, typename R>
-      static void
-      apply(const Graph& g, DFSVisitor vis, Vertex start_vertex,
-            const bgl_named_params<P, T, R>& params,
-            EdgeColorMap edge_color,
-            param_not_found)
-      {
-        std::vector<default_color_type> color_vec(num_vertices(g));
-        default_color_type c = white_color; // avoid warning about un-init
-        undirected_dfs
-          (g, vis, make_iterator_property_map
-           (color_vec.begin(),
-            choose_const_pmap(get_param(params, vertex_index),
-                              g, vertex_index), c),
-           edge_color,
-           start_vertex);
-      }
-    };
-
-  } // namespace detail
-  
-
-  // Named Parameter Variant
-  template <typename Graph, typename P, typename T, typename R>
-  void
-  undirected_dfs(const Graph& g, 
-                 const bgl_named_params<P, T, R>& params)
-  {
-    typedef typename get_param_type< vertex_color_t, bgl_named_params<P, T, R> >::type C;
-    detail::udfs_dispatch<C>::apply
-      (g,
-       choose_param(get_param(params, graph_visitor),
-                    make_dfs_visitor(null_visitor())),
-       choose_param(get_param(params, root_vertex_t()),
-                    *vertices(g).first),
-       params,
-       get_param(params, edge_color),
-       get_param(params, vertex_color)
-       );
-  }
-  
-
-  template <typename IncidenceGraph, typename DFSVisitor, 
-    typename VertexColorMap, typename EdgeColorMap>
-  void undirected_depth_first_visit
-    (const IncidenceGraph& g,
-     typename graph_traits<IncidenceGraph>::vertex_descriptor u, 
-     DFSVisitor vis, VertexColorMap vertex_color, EdgeColorMap edge_color)
-  {
-    detail::undir_dfv_impl(g, u, vis, vertex_color, edge_color);
-  }
-
-
-} // namespace boost
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/undirected_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/undirected_graph.hpp
deleted file mode 100644
index 1db21a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/undirected_graph.hpp
+++ /dev/null
@@ -1,710 +0,0 @@
-// (C) Copyright 2007-2009 Andrew Sutton
-//
-// Use, modification and distribution are 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)
-
-#ifndef BOOST_GRAPH_UNDIRECTED_GRAPH_HPP
-#define BOOST_GRAPH_UNDIRECTED_GRAPH_HPP
-
-#include <boost/graph/adjacency_list.hpp>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/property.hpp>
-#include <boost/property_map/transform_value_property_map.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost
-{
-struct undirected_graph_tag { };
-
-/**
- * The undirected_graph class template is a simplified version of the BGL
- * adjacency list. This class is provided for ease of use, but may not
- * perform as well as custom-defined adjacency list classes. Instances of
- * this template model the VertexIndexGraph, and EdgeIndexGraph concepts. The
- * graph is also fully mutable, supporting both insertions and removals of
- * vertices and edges.
- *
- * @note Special care must be taken when removing vertices or edges since
- * those operations can invalidate the numbering of vertices.
- */
-template <
-    typename VertexProp = no_property,
-    typename EdgeProp = no_property,
-    typename GraphProp = no_property>
-class undirected_graph
-{
-public:
-    typedef GraphProp graph_property_type;
-    typedef VertexProp vertex_property_type;
-    typedef EdgeProp edge_property_type;
-    typedef typename lookup_one_property<GraphProp, graph_bundle_t>::type graph_bundled;
-    typedef typename lookup_one_property<VertexProp, vertex_bundle_t>::type vertex_bundled;
-    typedef typename lookup_one_property<EdgeProp, edge_bundle_t>::type edge_bundled;
-
-public:
-    // Embed indices into the vertex type.
-    typedef property<vertex_index_t, unsigned, vertex_property_type> internal_vertex_property;
-    typedef property<edge_index_t, unsigned, edge_property_type> internal_edge_property;
-public:
-    typedef adjacency_list<listS,
-                listS,
-                undirectedS,
-                internal_vertex_property,
-                internal_edge_property,
-                GraphProp,
-                listS> graph_type;
-private:
-    // storage selectors
-    typedef typename graph_type::vertex_list_selector vertex_list_selector;
-    typedef typename graph_type::edge_list_selector edge_list_selector;
-    typedef typename graph_type::out_edge_list_selector out_edge_list_selector;
-    typedef typename graph_type::directed_selector directed_selector;
-
-public:
-    // more commonly used graph types
-    typedef typename graph_type::stored_vertex stored_vertex;
-    typedef typename graph_type::vertices_size_type vertices_size_type;
-    typedef typename graph_type::edges_size_type edges_size_type;
-    typedef typename graph_type::degree_size_type degree_size_type;
-    typedef typename graph_type::vertex_descriptor vertex_descriptor;
-    typedef typename graph_type::edge_descriptor edge_descriptor;
-
-    // iterator types
-    typedef typename graph_type::vertex_iterator vertex_iterator;
-    typedef typename graph_type::edge_iterator edge_iterator;
-    typedef typename graph_type::out_edge_iterator out_edge_iterator;
-    typedef typename graph_type::in_edge_iterator in_edge_iterator;
-    typedef typename graph_type::adjacency_iterator adjacency_iterator;
-
-    // miscellaneous types
-    typedef undirected_graph_tag graph_tag;
-    typedef typename graph_type::directed_category directed_category;
-    typedef typename graph_type::edge_parallel_category edge_parallel_category;
-    typedef typename graph_type::traversal_category traversal_category;
-
-    typedef std::size_t vertex_index_type;
-    typedef std::size_t edge_index_type;
-
-    inline undirected_graph(GraphProp const& p = GraphProp())
-        : m_graph(p), m_num_vertices(0), m_num_edges(0), m_max_vertex_index(0)
-        , m_max_edge_index(0)
-    { }
-
-    inline undirected_graph(undirected_graph const& x)
-        : m_graph(x.m_graph), m_num_vertices(x.m_num_vertices), m_num_edges(x.m_num_edges)
-        , m_max_vertex_index(x.m_max_vertex_index), m_max_edge_index(x.m_max_edge_index)
-    { }
-
-    inline undirected_graph(vertices_size_type n,
-                            GraphProp const& p = GraphProp())
-        : m_graph(n, p), m_num_vertices(n), m_num_edges(0), m_max_vertex_index(n)
-        , m_max_edge_index(0)
-    { renumber_vertex_indices(); }
-
-    template <typename EdgeIterator>
-    inline undirected_graph(EdgeIterator f,
-                            EdgeIterator l,
-                            vertices_size_type n,
-                            edges_size_type m = 0,
-                            GraphProp const& p = GraphProp())
-        : m_graph(f, l, n, m, p), m_num_vertices(n), m_num_edges(0)
-        , m_max_vertex_index(n), m_max_edge_index(0)
-    {
-        // Unfortunately, we have to renumber to ensure correct indexing.
-        renumber_indices();
-
-        // Can't always guarantee that the number of edges is actually
-        // m if distance(f, l) != m (or is undefined).
-        m_num_edges = m_max_edge_index = boost::num_edges(m_graph);
-    }
-
-    undirected_graph& operator =(undirected_graph const& g) {
-        if(&g != this) {
-            m_graph = g.m_graph;
-            m_num_vertices = g.m_num_vertices;
-            m_num_edges = g.m_num_edges;
-            m_max_vertex_index = g.m_max_vertex_index;
-        }
-        return *this;
-    }
-
-    // The impl_() methods are not part of the public interface.
-    graph_type& impl()
-    { return m_graph; }
-
-    graph_type const& impl() const
-    { return m_graph; }
-
-    // The following methods are not part of the public interface
-    vertices_size_type num_vertices() const
-    { return m_num_vertices; }
-
-
-private:
-    // This helper function manages the attribution of vertex indices.
-    vertex_descriptor make_index(vertex_descriptor v) {
-        boost::put(vertex_index, m_graph, v, m_max_vertex_index);
-        m_num_vertices++;
-        m_max_vertex_index++;
-        return v;
-    }
-public:
-    vertex_descriptor add_vertex()
-    { return make_index(boost::add_vertex(m_graph)); }
-
-    vertex_descriptor add_vertex(vertex_property_type const& p)
-    { return make_index(boost::add_vertex(internal_vertex_property(0u, p), m_graph)); }
-
-    void clear_vertex(vertex_descriptor v) {
-        std::pair<out_edge_iterator, out_edge_iterator>
-        p = boost::out_edges(v, m_graph);
-        m_num_edges -= std::distance(p.first, p.second);
-        boost::clear_vertex(v, m_graph);
-    }
-
-    void remove_vertex(vertex_descriptor v) {
-        boost::remove_vertex(v, m_graph);
-        --m_num_vertices;
-    }
-
-    edges_size_type num_edges() const
-    { return m_num_edges; }
-
-private:
-    // A helper fucntion for managing edge index attributes.
-    std::pair<edge_descriptor, bool> const&
-    make_index(std::pair<edge_descriptor, bool> const& x)
-    {
-        if(x.second) {
-            boost::put(edge_index, m_graph, x.first, m_max_edge_index);
-            ++m_num_edges;
-            ++m_max_edge_index;
-        }
-        return x;
-    }
-public:
-    std::pair<edge_descriptor, bool>
-    add_edge(vertex_descriptor u, vertex_descriptor v)
-    { return make_index(boost::add_edge(u, v, m_graph)); }
-
-    std::pair<edge_descriptor, bool>
-    add_edge(vertex_descriptor u, vertex_descriptor v,
-             edge_property_type const& p)
-    { return make_index(boost::add_edge(u, v, internal_edge_property(0u, p), m_graph)); }
-
-    void remove_edge(vertex_descriptor u, vertex_descriptor v) {
-        // find all edges, (u, v)
-        std::vector<edge_descriptor> edges;
-        out_edge_iterator i, i_end;
-        for(boost::tie(i, i_end) = boost::out_edges(u, m_graph); i != i_end; ++i) {
-            if(boost::target(*i, m_graph) == v) {
-                edges.push_back(*i);
-            }
-        }
-        // remove all edges, (u, v)
-        typename std::vector<edge_descriptor>::iterator
-        j = edges.begin(), j_end = edges.end();
-        for( ; j != j_end; ++j) {
-            remove_edge(*j);
-        }
-    }
-
-    void remove_edge(edge_iterator i) {
-        remove_edge(*i);
-    }
-
-    void remove_edge(edge_descriptor e) {
-        boost::remove_edge(e, m_graph);
-        --m_num_edges;
-    }
-
-    vertex_index_type max_vertex_index() const
-    { return m_max_vertex_index; }
-
-    void renumber_vertex_indices() {
-        vertex_iterator i, i_end;
-        boost::tie(i, i_end) = vertices(m_graph);
-        m_max_vertex_index = renumber_vertex_indices(i, i_end, 0);
-    }
-
-    void remove_vertex_and_renumber_indices(vertex_iterator i) {
-        vertex_iterator j = next(i), end = vertices(m_graph).second;
-        vertex_index_type n = get(vertex_index, m_graph, *i);
-
-        // remove the offending vertex and renumber everything after
-        remove_vertex(*i);
-        m_max_vertex_index = renumber_vertex_indices(j, end, n);
-    }
-
-
-    edge_index_type max_edge_index() const
-    { return m_max_edge_index; }
-
-    void renumber_edge_indices() {
-        edge_iterator i, end;
-        boost::tie(i, end) = edges(m_graph);
-        m_max_edge_index = renumber_edge_indices(i, end, 0);
-    }
-
-    void remove_edge_and_renumber_indices(edge_iterator i) {
-        edge_iterator j = next(i), end = edges(m_graph.second);
-        edge_index_type n = get(edge_index, m_graph, *i);
-
-        // remove the edge and renumber everything after it
-        remove_edge(*i);
-        m_max_edge_index = renumber_edge_indices(j, end, n);
-    }
-
-    void renumber_indices() {
-        renumber_vertex_indices();
-        renumber_edge_indices();
-    }
-
-    // bundled property support
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-    vertex_bundled& operator[](vertex_descriptor v)
-    { return m_graph[v]; }
-
-    vertex_bundled const& operator[](vertex_descriptor v) const
-    { return m_graph[v]; }
-
-    edge_bundled& operator[](edge_descriptor e)
-    { return m_graph[e]; }
-
-    edge_bundled const& operator[](edge_descriptor e) const
-    { return m_graph[e]; }
-
-    graph_bundled& operator[](graph_bundle_t)
-    { return get_property(*this); }
-
-    graph_bundled const& operator[](graph_bundle_t) const
-    { return get_property(*this); }
-#endif
-
-    // Graph concepts
-    static vertex_descriptor null_vertex()
-    { return graph_type::null_vertex(); }
-
-    void clear() {
-        m_graph.clear();
-        m_num_vertices = m_max_vertex_index = 0;
-        m_num_edges = m_max_edge_index = 0;
-    }
-
-    void swap(undirected_graph& g) {
-        m_graph.swap(g.m_graph);
-        std::swap(m_num_vertices, g.m_num_vertices);
-        std::swap(m_max_vertex_index, g.m_max_vertex_index);
-        std::swap(m_num_edges, g.m_num_edges);
-        std::swap(m_max_edge_index, g.m_max_edge_index);
-    }
-
-private:
-    vertices_size_type renumber_vertex_indices(vertex_iterator i,
-                                               vertex_iterator end,
-                                               vertices_size_type n)
-    {
-        typedef typename property_map<graph_type, vertex_index_t>::type IndexMap;
-        IndexMap indices = get(vertex_index, m_graph);
-        for( ; i != end; ++i) {
-            indices[*i] = n++;
-        }
-        return n;
-    }
-
-    edges_size_type renumber_edge_indices(edge_iterator i,
-                                          edge_iterator end,
-                                          edges_size_type n)
-    {
-        typedef typename property_map<graph_type, edge_index_t>::type IndexMap;
-        IndexMap indices = get(edge_index, m_graph);
-        for( ; i != end; ++i) {
-            indices[*i] = n++;
-        }
-        return n;
-    }
-
-    graph_type m_graph;
-    vertices_size_type m_num_vertices;
-    edges_size_type m_num_edges;
-    vertex_index_type m_max_vertex_index;
-    edge_index_type m_max_edge_index;
-};
-
-#define UNDIRECTED_GRAPH_PARAMS typename VP, typename EP, typename GP
-#define UNDIRECTED_GRAPH undirected_graph<VP,EP,GP>
-
-// IncidenceGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::vertex_descriptor
-source(typename UNDIRECTED_GRAPH::edge_descriptor e,
-       UNDIRECTED_GRAPH const& g)
-{ return source(e, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::vertex_descriptor
-target(typename UNDIRECTED_GRAPH::edge_descriptor e,
-       UNDIRECTED_GRAPH const& g)
-{ return target(e, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::degree_size_type
-out_degree(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-           UNDIRECTED_GRAPH const& g)
-{ return out_degree(v, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename UNDIRECTED_GRAPH::out_edge_iterator,
-    typename UNDIRECTED_GRAPH::out_edge_iterator
->
-out_edges(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-          UNDIRECTED_GRAPH const& g)
-{ return out_edges(v, g.impl()); }
-
-// BidirectionalGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::degree_size_type
-in_degree(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-          UNDIRECTED_GRAPH const& g)
-{ return in_degree(v, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename UNDIRECTED_GRAPH::in_edge_iterator,
-    typename UNDIRECTED_GRAPH::in_edge_iterator
->
-in_edges(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-         UNDIRECTED_GRAPH const& g)
-{ return in_edges(v, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename UNDIRECTED_GRAPH::out_edge_iterator,
-    typename UNDIRECTED_GRAPH::out_edge_iterator
->
-incident_edges(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-               UNDIRECTED_GRAPH const& g)
-{ return out_edges(v, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::degree_size_type
-degree(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-       UNDIRECTED_GRAPH const& g)
-{ return degree(v, g.impl()); }
-
-// AdjacencyGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename UNDIRECTED_GRAPH::adjacency_iterator,
-    typename UNDIRECTED_GRAPH::adjacency_iterator
-    >
-adjacent_vertices(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-                  UNDIRECTED_GRAPH const& g)
-{ return adjacent_vertices(v, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-typename UNDIRECTED_GRAPH::vertex_descriptor
-vertex(typename UNDIRECTED_GRAPH::vertices_size_type n,
-       UNDIRECTED_GRAPH const& g)
-{ return vertex(n, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-std::pair<typename UNDIRECTED_GRAPH::edge_descriptor, bool>
-edge(typename UNDIRECTED_GRAPH::vertex_descriptor u,
-    typename UNDIRECTED_GRAPH::vertex_descriptor v,
-    UNDIRECTED_GRAPH const& g)
-{ return edge(u, v, g.impl()); }
-
-// VertexListGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::vertices_size_type
-num_vertices(UNDIRECTED_GRAPH const& g)
-{ return g.num_vertices(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename UNDIRECTED_GRAPH::vertex_iterator,
-    typename UNDIRECTED_GRAPH::vertex_iterator
->
-vertices(UNDIRECTED_GRAPH const& g)
-{ return vertices(g.impl()); }
-
-// EdgeListGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::edges_size_type
-num_edges(UNDIRECTED_GRAPH const& g)
-{ return g.num_edges(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<
-    typename UNDIRECTED_GRAPH::edge_iterator,
-    typename UNDIRECTED_GRAPH::edge_iterator
->
-edges(UNDIRECTED_GRAPH const& g)
-{ return edges(g.impl()); }
-
-// MutableGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::vertex_descriptor
-add_vertex(UNDIRECTED_GRAPH& g)
-{ return g.add_vertex(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::vertex_descriptor
-add_vertex(typename UNDIRECTED_GRAPH::vertex_property_type const& p,
-           UNDIRECTED_GRAPH& g)
-{ return g.add_vertex(p); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-clear_vertex(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-             UNDIRECTED_GRAPH& g)
-{ return g.clear_vertex(v); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-remove_vertex(typename UNDIRECTED_GRAPH::vertex_descriptor v, UNDIRECTED_GRAPH& g)
-{ return g.remove_vertex(v); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<typename UNDIRECTED_GRAPH::edge_descriptor, bool>
-add_edge(typename UNDIRECTED_GRAPH::vertex_descriptor u,
-         typename UNDIRECTED_GRAPH::vertex_descriptor v,
-         UNDIRECTED_GRAPH& g)
-{ return g.add_edge(u, v); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline std::pair<typename UNDIRECTED_GRAPH::edge_descriptor, bool>
-add_edge(typename UNDIRECTED_GRAPH::vertex_descriptor u,
-         typename UNDIRECTED_GRAPH::vertex_descriptor v,
-         typename UNDIRECTED_GRAPH::edge_property_type const& p,
-         UNDIRECTED_GRAPH& g)
-{ return g.add_edge(u, v, p); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-remove_edge(typename UNDIRECTED_GRAPH::vertex_descriptor u,
-            typename UNDIRECTED_GRAPH::vertex_descriptor v,
-            UNDIRECTED_GRAPH& g)
-{ return g.remove_edge(u, v); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-remove_edge(typename UNDIRECTED_GRAPH::edge_descriptor e, UNDIRECTED_GRAPH& g)
-{ return g.remove_edge(e); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-remove_edge(typename UNDIRECTED_GRAPH::edge_iterator i, UNDIRECTED_GRAPH& g)
-{ return g.remove_edge(i); }
-
-template <UNDIRECTED_GRAPH_PARAMS, class Predicate>
-inline void remove_edge_if(Predicate pred, UNDIRECTED_GRAPH& g)
-{ return remove_edge_if(pred, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS, class Predicate>
-inline void
-remove_incident_edge_if(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-                        Predicate pred,
-                        UNDIRECTED_GRAPH& g)
-{ return remove_out_edge_if(v, pred, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS, class Predicate>
-inline void
-remove_out_edge_if(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-                   Predicate pred,
-                   UNDIRECTED_GRAPH& g)
-{ return remove_out_edge_if(v, pred, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS, class Predicate>
-inline void
-remove_in_edge_if(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-                  Predicate pred,
-                  UNDIRECTED_GRAPH& g)
-{ return remove_in_edge_if(v, pred, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Property>
-struct property_map<UNDIRECTED_GRAPH, Property>: property_map<typename UNDIRECTED_GRAPH::graph_type, Property> {};
-
-template <UNDIRECTED_GRAPH_PARAMS>
-struct property_map<UNDIRECTED_GRAPH, vertex_all_t> {
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename UNDIRECTED_GRAPH::graph_type, vertex_all_t>::const_type>
-    const_type;
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename UNDIRECTED_GRAPH::graph_type, vertex_all_t>::type>
-    type;
-};
-
-template <UNDIRECTED_GRAPH_PARAMS>
-struct property_map<UNDIRECTED_GRAPH, edge_all_t> {
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename UNDIRECTED_GRAPH::graph_type, edge_all_t>::const_type>
-    const_type;
-  typedef transform_value_property_map<
-            detail::remove_first_property,
-            typename property_map<typename UNDIRECTED_GRAPH::graph_type, edge_all_t>::type>
-    type;
-};
-
-// PropertyGraph concepts
-template <UNDIRECTED_GRAPH_PARAMS, typename Property>
-inline typename property_map<UNDIRECTED_GRAPH, Property>::type
-get(Property p, UNDIRECTED_GRAPH& g)
-{ return get(p, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Property>
-inline typename property_map<UNDIRECTED_GRAPH, Property>::const_type
-get(Property p, UNDIRECTED_GRAPH const& g)
-{ return get(p, g.impl()); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename property_map<UNDIRECTED_GRAPH, vertex_all_t>::type
-get(vertex_all_t, UNDIRECTED_GRAPH& g)
-{ return typename property_map<UNDIRECTED_GRAPH, vertex_all_t>::type(detail::remove_first_property(), get(vertex_all, g.impl())); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename property_map<UNDIRECTED_GRAPH, vertex_all_t>::const_type
-get(vertex_all_t, UNDIRECTED_GRAPH const& g)
-{ return typename property_map<UNDIRECTED_GRAPH, vertex_all_t>::const_type(detail::remove_first_property(), get(vertex_all, g.impl())); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename property_map<UNDIRECTED_GRAPH, edge_all_t>::type
-get(edge_all_t, UNDIRECTED_GRAPH& g)
-{ return typename property_map<UNDIRECTED_GRAPH, edge_all_t>::type(detail::remove_first_property(), get(edge_all, g.impl())); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename property_map<UNDIRECTED_GRAPH, edge_all_t>::const_type
-get(edge_all_t, UNDIRECTED_GRAPH const& g)
-{ return typename property_map<UNDIRECTED_GRAPH, edge_all_t>::const_type(detail::remove_first_property(), get(edge_all, g.impl())); }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Property, typename Key>
-inline typename property_traits<
-    typename property_map<
-        typename UNDIRECTED_GRAPH::graph_type, Property
-    >::const_type
->::value_type
-get(Property p, UNDIRECTED_GRAPH const& g, Key const& k)
-{ return get(p, g.impl(), k); }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Key>
-inline typename property_traits<
-    typename property_map<
-        typename UNDIRECTED_GRAPH::graph_type, vertex_all_t
-    >::const_type
->::value_type
-get(vertex_all_t, UNDIRECTED_GRAPH const& g, Key const& k)
-{ return get(vertex_all, g.impl(), k).m_base; }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Key>
-inline typename property_traits<
-    typename property_map<
-        typename UNDIRECTED_GRAPH::graph_type, edge_all_t
-    >::const_type
->::value_type
-get(edge_all_t, UNDIRECTED_GRAPH const& g, Key const& k)
-{ return get(edge_all, g.impl(), k).m_base; }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Property, typename Key, typename Value>
-inline void put(Property p, UNDIRECTED_GRAPH& g, Key const& k, Value const& v)
-{ put(p, g.impl(), k, v); }
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Key, typename Value>
-inline void put(vertex_all_t, UNDIRECTED_GRAPH& g, Key const& k, Value const& v)
-{ put(vertex_all, g.impl(), k,
-      typename UNDIRECTED_GRAPH::internal_vertex_property(get(vertex_index, g.impl(), k), v));
-}
-
-template <UNDIRECTED_GRAPH_PARAMS, typename Key, typename Value>
-inline void put(edge_all_t, UNDIRECTED_GRAPH& g, Key const& k, Value const& v)
-{ put(edge_all, g.impl(), k,
-      typename UNDIRECTED_GRAPH::internal_vertex_property(get(edge_index, g.impl(), k), v));
-}
-
-template <UNDIRECTED_GRAPH_PARAMS, class Property>
-inline typename graph_property<UNDIRECTED_GRAPH, Property>::type&
-get_property(UNDIRECTED_GRAPH& g, Property p)
-{ return get_property(g.impl(), p); }
-
-template <UNDIRECTED_GRAPH_PARAMS, class Property>
-inline typename graph_property<UNDIRECTED_GRAPH, Property>::type const&
-get_property(UNDIRECTED_GRAPH const& g, Property p)
-{ return get_property(g.impl(), p); }
-
-template <UNDIRECTED_GRAPH_PARAMS, class Property, class Value>
-inline void set_property(UNDIRECTED_GRAPH& g, Property p, Value v)
-{ return set_property(g.impl(), p, v); }
-
-// Indexed Vertex graph
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::vertex_index_type
-get_vertex_index(typename UNDIRECTED_GRAPH::vertex_descriptor v,
-                 UNDIRECTED_GRAPH const& g)
-{ return get(vertex_index, g, v); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-typename UNDIRECTED_GRAPH::vertex_index_type
-max_vertex_index(UNDIRECTED_GRAPH const& g)
-{ return g.max_vertex_index(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-renumber_vertex_indices(UNDIRECTED_GRAPH& g)
-{ g.renumber_vertex_indices(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-remove_vertex_and_renumber_indices(typename UNDIRECTED_GRAPH::vertex_iterator i,
-                                   UNDIRECTED_GRAPH& g)
-{ g.remove_vertex_and_renumber_indices(i); }
-
-
-// Edge index management
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline typename UNDIRECTED_GRAPH::edge_index_type
-get_edge_index(typename UNDIRECTED_GRAPH::edge_descriptor v,
-               UNDIRECTED_GRAPH const& g)
-{ return get(edge_index, g, v); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-typename UNDIRECTED_GRAPH::edge_index_type
-max_edge_index(UNDIRECTED_GRAPH const& g)
-{ return g.max_edge_index(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-renumber_edge_indices(UNDIRECTED_GRAPH& g)
-{ g.renumber_edge_indices(); }
-
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-remove_edge_and_renumber_indices(typename UNDIRECTED_GRAPH::edge_iterator i,
-                                 UNDIRECTED_GRAPH& g)
-{ g.remove_edge_and_renumber_indices(i); }
-
-// Index management
-template <UNDIRECTED_GRAPH_PARAMS>
-inline void
-renumber_indices(UNDIRECTED_GRAPH& g)
-{ g.renumber_indices(); }
-
-// Mutability Traits
-template <UNDIRECTED_GRAPH_PARAMS>
-struct graph_mutability_traits<UNDIRECTED_GRAPH> {
-    typedef mutable_property_graph_tag category;
-};
-
-#undef UNDIRECTED_GRAPH_PARAMS
-#undef UNDIRECTED_GRAPH
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/use_mpi.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/use_mpi.hpp
deleted file mode 100644
index b77f9c0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/use_mpi.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2004-2009 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: Nick Edmonds
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_USE_MPI_HPP
-#define BOOST_GRAPH_USE_MPI_HPP
-
-#define BOOST_GRAPH_USE_MPI
-
-#endif // BOOST_GRAPH_USE_MPI_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/vector_as_graph.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/vector_as_graph.hpp
deleted file mode 100644
index b771eaf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/vector_as_graph.hpp
+++ /dev/null
@@ -1,326 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Copyright 2006 The Trustees of Indiana University.
-// Copyright (C) 2001 Vladimir Prus <ghost at cs.msu.su>
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek, 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)
-//=======================================================================
-
-// The mutating functions (add_edge, etc.) were added by Vladimir Prus.
-
-#ifndef BOOST_VECTOR_AS_GRAPH_HPP
-#define BOOST_VECTOR_AS_GRAPH_HPP
-
-#include <cassert>
-#include <utility>
-#include <vector>
-#include <cstddef>
-#include <boost/iterator.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-#include <boost/range/irange.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/properties.hpp>
-#include <algorithm>
-
-/*
-  This module implements the VertexListGraph concept using a
-  std::vector as the "back-bone" of the graph (the vector *is* the
-  graph object). The edge-lists type of the graph is templated, so the
-  user can choose any STL container, so long as the value_type of the
-  container is convertible to the size_type of the vector. For now any
-  graph properties must be stored seperately.
-
-  This module requires the C++ compiler to support partial
-  specialization for the graph_traits class, so this is not portable
-  to VC++.
-
-*/
-
-
-
-namespace boost {
-  namespace detail {
-    template <class EdgeList> struct val_out_edge_ret;
-    template <class EdgeList> struct val_out_edge_iter;
-    template <class EdgeList> struct val_edge;
-  }
-}
-
-namespace boost {
-
-  struct vector_as_graph_traversal_tag
-    : public vertex_list_graph_tag,
-      public adjacency_graph_tag,
-      public incidence_graph_tag { };
-
-  template <class EdgeList>
-  struct graph_traits< std::vector<EdgeList> >
-  {
-    typedef typename EdgeList::value_type V;
-    typedef V vertex_descriptor;
-    typedef typename detail::val_edge<EdgeList>::type edge_descriptor;
-    typedef typename EdgeList::const_iterator adjacency_iterator;
-    typedef typename detail::val_out_edge_iter<EdgeList>::type
-      out_edge_iterator;
-    typedef void in_edge_iterator;
-    typedef void edge_iterator;
-    typedef counting_iterator<V> vertex_iterator;
-    typedef directed_tag directed_category;
-    typedef allow_parallel_edge_tag edge_parallel_category;
-    typedef vector_as_graph_traversal_tag traversal_category;
-    typedef typename std::vector<EdgeList>::size_type vertices_size_type;
-    typedef void edges_size_type;
-    typedef typename EdgeList::size_type degree_size_type;
-    static V null_vertex() {return V(-1);}
-  };
-  template <class EdgeList>
-  struct edge_property_type< std::vector<EdgeList> >
-  {
-    typedef void type;
-  };
-  template <class EdgeList>
-  struct vertex_property_type< std::vector<EdgeList> >
-  {
-    typedef void type;
-  };
-  template <class EdgeList>
-  struct graph_property_type< std::vector<EdgeList> >
-  {
-    typedef void type;
-  };
-}
-
-namespace boost {
-
-  namespace detail {
-
-    // "val" is short for Vector Adjacency List
-
-    template <class EdgeList>
-    struct val_edge
-    {
-      typedef typename EdgeList::value_type V;
-      typedef std::pair<V,V> type;
-    };
-
-    // need rewrite this using boost::iterator_adaptor
-    template <class V, class Iter>
-    class val_out_edge_iterator
-      : public boost::iterator<std::input_iterator_tag, std::pair<V,V>,
-         std::ptrdiff_t, std::pair<V,V>*, const std::pair<V,V> >
-    {
-      typedef val_out_edge_iterator self;
-      typedef std::pair<V,V> Edge;
-    public:
-      val_out_edge_iterator() { }
-      val_out_edge_iterator(V s, Iter i) : _source(s), _iter(i) { }
-      Edge operator*() const { return Edge(_source, *_iter); }
-      self& operator++() { ++_iter; return *this; }
-      self operator++(int) { self t = *this; ++_iter; return t; }
-      bool operator==(const self& x) const { return _iter == x._iter; }
-      bool operator!=(const self& x) const { return _iter != x._iter; }
-    protected:
-      V _source;
-      Iter _iter;
-    };
-
-    template <class EdgeList>
-    struct val_out_edge_iter
-    {
-      typedef typename EdgeList::value_type V;
-      typedef typename EdgeList::const_iterator Iter;
-      typedef val_out_edge_iterator<V,Iter> type;
-    };
-
-    template <class EdgeList>
-    struct val_out_edge_ret
-    {
-      typedef typename val_out_edge_iter<EdgeList>::type IncIter;
-      typedef std::pair<IncIter,IncIter> type;
-    };
-
-  } // namesapce detail
-
-  template <class EdgeList, class Alloc>
-  typename detail::val_out_edge_ret<EdgeList>::type
-  out_edges(typename EdgeList::value_type v,
-            const std::vector<EdgeList, Alloc>& g)
-  {
-    typedef typename detail::val_out_edge_iter<EdgeList>::type Iter;
-    typedef typename detail::val_out_edge_ret<EdgeList>::type return_type;
-    return return_type(Iter(v, g[v].begin()), Iter(v, g[v].end()));
-  }
-
-  template <class EdgeList, class Alloc>
-  typename EdgeList::size_type
-  out_degree(typename EdgeList::value_type v,
-             const std::vector<EdgeList, Alloc>& g)
-  {
-    return g[v].size();
-  }
-
-  template <class EdgeList, class Alloc>
-  std::pair<typename EdgeList::const_iterator,
-            typename EdgeList::const_iterator>
-  adjacent_vertices(typename EdgeList::value_type v,
-                    const std::vector<EdgeList, Alloc>& g)
-  {
-    return std::make_pair(g[v].begin(), g[v].end());
-  }
-
-  // source() and target() already provided for pairs in graph_traits.hpp
-
-  template <class EdgeList, class Alloc>
-  std::pair<boost::counting_iterator<typename EdgeList::value_type>,
-            boost::counting_iterator<typename EdgeList::value_type> >
-  vertices(const std::vector<EdgeList, Alloc>& v)
-  {
-    typedef boost::counting_iterator<typename EdgeList::value_type> Iter;
-    return std::make_pair(Iter(0), Iter(v.size()));
-  }
-
-  template <class EdgeList, class Alloc>
-  typename std::vector<EdgeList, Alloc>::size_type
-  num_vertices(const std::vector<EdgeList, Alloc>& v)
-  {
-    return v.size();
-  }
-
-  template<class EdgeList, class Allocator>
-  typename std::pair<typename detail::val_edge<EdgeList>::type, bool>
-  add_edge(typename EdgeList::value_type u, typename EdgeList::value_type v,
-           std::vector<EdgeList, Allocator>& g)
-  {
-    typedef typename detail::val_edge<EdgeList>::type edge_type;
-    g[u].insert(g[u].end(), v);
-    return std::make_pair(edge_type(u, v), true);
-  }
-
-  template<class EdgeList, class Allocator>
-  typename std::pair<typename detail::val_edge<EdgeList>::type, bool>
-  edge(typename EdgeList::value_type u, typename EdgeList::value_type v,
-       std::vector<EdgeList, Allocator>& g)
-  {
-    typedef typename detail::val_edge<EdgeList>::type edge_type;
-    typename EdgeList::iterator i = g[u].begin(), end = g[u].end();
-    for (; i != end; ++i)
-      if (*i == v)
-        return std::make_pair(edge_type(u, v), true);
-    return std::make_pair(edge_type(), false);
-  }
-
-  template<class EdgeList, class Allocator>
-  void
-  remove_edge(typename EdgeList::value_type u, typename EdgeList::value_type v,
-              std::vector<EdgeList, Allocator>& g)
-  {
-    typename EdgeList::iterator i = std::remove(g[u].begin(), g[u].end(), v);
-    if (i != g[u].end())
-      g[u].erase(i, g[u].end());
-  }
-
-  template<class EdgeList, class Allocator>
-  void
-  remove_edge(typename detail::val_edge<EdgeList>::type e,
-              std::vector<EdgeList, Allocator>& g)
-  {
-    typename EdgeList::value_type u, v;
-    u = e.first;
-    v = e.second;
-    // FIXME: edge type does not fully specify the edge to be deleted
-    typename EdgeList::iterator i = std::remove(g[u].begin(), g[u].end(), v);
-    if (i != g[u].end())
-      g[u].erase(i, g[u].end());
-  }
-
-  template<class EdgeList, class Allocator, class Predicate>
-  void
-  remove_edge_if(Predicate p,
-                 std::vector<EdgeList, Allocator>& g)
-  {
-      for (std::size_t u = 0; u < g.size(); ++u) {
-          // Oops! gcc gets internal compiler error on compose_.......
-
-          typedef typename EdgeList::iterator iterator;
-          iterator b = g[u].begin(), e = g[u].end();
-
-          if (!g[u].empty()) {
-
-              for(; b != e;) {
-                  if (p(std::make_pair(u, *b))) {
-                      --e;
-                      if (b == e)
-                          break;
-                      else
-                          iter_swap(b, e);
-                  } else {
-                      ++b;
-                  }
-              }
-          }
-
-          if (e != g[u].end())
-              g[u].erase(e, g[u].end());
-      }
-  }
-
-  template<class EdgeList, class Allocator>
-  typename EdgeList::value_type
-  add_vertex(std::vector<EdgeList, Allocator>& g)
-  {
-    g.resize(g.size()+1);
-    return g.size()-1;
-  }
-
-  template<class EdgeList, class Allocator>
-  void
-  clear_vertex(typename EdgeList::value_type u,
-               std::vector<EdgeList, Allocator>& g)
-  {
-    g[u].clear();
-    for (std::size_t i = 0; i < g.size(); ++i)
-      remove_edge(i, u, g);
-  }
-
-  template<class EdgeList, class Allocator>
-  void
-  remove_vertex(typename EdgeList::value_type u,
-                std::vector<EdgeList, Allocator>& g)
-  {
-    typedef typename EdgeList::iterator iterator;
-    clear_vertex(u, g);
-    g.erase(g.begin() + u);
-    for (std::size_t i = 0; i < g.size(); ++i)
-      for ( iterator it = g[i].begin(); it != g[i].end(); ++it )
-        // after clear_vertex *it is never equal to u
-        if ( *it > u )
-          --*it;
-  }
-
-  template<typename EdgeList, typename Allocator>
-  struct property_map<std::vector<EdgeList, Allocator>, vertex_index_t>
-  {
-    typedef identity_property_map type;
-    typedef type const_type;
-  };
-
-  template<typename EdgeList, typename Allocator>
-  identity_property_map
-  get(vertex_index_t, const std::vector<EdgeList, Allocator>&)
-  {
-    return identity_property_map();
-  }
-
-  template<typename EdgeList, typename Allocator>
-  identity_property_map
-  get(vertex_index_t, std::vector<EdgeList, Allocator>&)
-  {
-    return identity_property_map();
-  }
-} // namespace boost
-
-#endif // BOOST_VECTOR_AS_GRAPH_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/vertex_and_edge_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/vertex_and_edge_range.hpp
deleted file mode 100644
index bcba2bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/vertex_and_edge_range.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-#ifndef BOOST_GRAPH_VERTEX_AND_EDGE_RANGE_HPP
-#define BOOST_GRAPH_VERTEX_AND_EDGE_RANGE_HPP
-
-#include <boost/graph/graph_traits.hpp>
-#include <iterator>
-
-namespace boost { 
-
-namespace graph {
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  class vertex_and_edge_range
-  {
-    typedef graph_traits<Graph> traits_type;
-
-  public:
-    typedef typename traits_type::directed_category directed_category;
-    typedef typename traits_type::edge_parallel_category
-      edge_parallel_category;
-    struct traversal_category 
-      : public virtual vertex_list_graph_tag,
-        public virtual edge_list_graph_tag { };
-
-    typedef std::size_t vertices_size_type;
-    typedef VertexIterator vertex_iterator;
-    typedef typename std::iterator_traits<VertexIterator>::value_type 
-      vertex_descriptor;
-
-    typedef EdgeIterator edge_iterator;
-    typedef typename std::iterator_traits<EdgeIterator>::value_type
-      edge_descriptor;
-
-    typedef std::size_t edges_size_type;
-
-    typedef void adjacency_iterator;
-    typedef void out_edge_iterator;
-    typedef void in_edge_iterator;
-    typedef void degree_size_type;
-
-    static vertex_descriptor null_vertex() 
-    { return traits_type::null_vertex(); }
-
-    vertex_and_edge_range(const Graph& g,
-                          VertexIterator first_v, VertexIterator last_v,
-                          vertices_size_type n,
-                          EdgeIterator first_e, EdgeIterator last_e,
-                          edges_size_type m)
-      : g(&g), 
-        first_vertex(first_v), last_vertex(last_v), m_num_vertices(n),
-        first_edge(first_e), last_edge(last_e), m_num_edges(m)
-    {
-    }
-
-    vertex_and_edge_range(const Graph& g, 
-                          VertexIterator first_v, VertexIterator last_v,
-                          EdgeIterator first_e, EdgeIterator last_e)
-      : g(&g), 
-        first_vertex(first_v), last_vertex(last_v),
-        first_edge(first_e), last_edge(last_e)
-    {
-      m_num_vertices = std::distance(first_v, last_v);
-      m_num_edges = std::distance(first_e, last_e);
-    }
-
-    const Graph* g;
-    vertex_iterator first_vertex;
-    vertex_iterator last_vertex;
-    vertices_size_type m_num_vertices;
-    edge_iterator first_edge;
-    edge_iterator last_edge;
-    edges_size_type m_num_edges;
-  };
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline std::pair<VertexIterator, VertexIterator>
-  vertices(const vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>& g)
-  { return std::make_pair(g.first_vertex, g.last_vertex); }
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline typename vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-                    ::vertices_size_type
-  num_vertices(const vertex_and_edge_range<Graph, VertexIterator, 
-                                           EdgeIterator>& g)
-  { return g.m_num_vertices; }
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline std::pair<EdgeIterator, EdgeIterator>
-  edges(const vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>& g)
-  { return std::make_pair(g.first_edge, g.last_edge); }
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline typename vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-                    ::edges_size_type
-  num_edges(const vertex_and_edge_range<Graph, VertexIterator, 
-                                        EdgeIterator>& g)
-  { return g.m_num_edges; }
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline typename vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-                    ::vertex_descriptor
-  source(typename vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-                    ::edge_descriptor e,
-         const vertex_and_edge_range<Graph, VertexIterator, 
-                                        EdgeIterator>& g)
-  { return source(e, *g.g); }
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline typename vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-                    ::vertex_descriptor
-  target(typename vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-                    ::edge_descriptor e,
-         const vertex_and_edge_range<Graph, VertexIterator, 
-                                        EdgeIterator>& g)
-  { return target(e, *g.g); }
-
-  template<typename Graph, typename VertexIterator, typename EdgeIterator>
-  inline vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-  make_vertex_and_edge_range(const Graph& g,
-                             VertexIterator first_v, VertexIterator last_v,
-                             EdgeIterator first_e, EdgeIterator last_e)
-  { 
-    typedef vertex_and_edge_range<Graph, VertexIterator, EdgeIterator>
-      result_type;
-    return result_type(g, first_v, last_v, first_e, last_e);
-  }
-
-} // end namespace graph
-
-using graph::vertex_and_edge_range;
-using graph::make_vertex_and_edge_range;
-
-} // end namespace boost
-#endif // BOOST_GRAPH_VERTEX_AND_EDGE_RANGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/vf2_sub_graph_iso.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/vf2_sub_graph_iso.hpp
deleted file mode 100644
index f86b6ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/vf2_sub_graph_iso.hpp
+++ /dev/null
@@ -1,1233 +0,0 @@
-//=======================================================================
-// Copyright (C) 2012 Flavio De Lorenzi (fdlorenzi at gmail.com)
-// Copyright (C) 2013 Jakob Lykke Andersen, University of Southern Denmark (jlandersen at imada.sdu.dk)
-//
-// The algorithm implemented here is derived from original ideas by 
-// Pasquale Foggia and colaborators. For further information see 
-// e.g. Cordella et al. 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)
-//=======================================================================
-
-// Revision History:
-//   8 April 2013: Fixed a typo in vf2_print_callback. (Flavio De Lorenzi) 
-
-#ifndef BOOST_VF2_SUB_GRAPH_ISO_HPP
-#define BOOST_VF2_SUB_GRAPH_ISO_HPP
-
-#include <iostream>
-#include <iomanip>
-#include <iterator>
-#include <vector>
-#include <utility>
-
-#include <boost/assert.hpp>
-#include <boost/concept/assert.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/graph/graph_utility.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/graph/mcgregor_common_subgraphs.hpp> // for always_equivalent
-#include <boost/graph/named_function_params.hpp>
-#include <boost/type_traits/has_less.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/range/algorithm/sort.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#ifndef BOOST_GRAPH_ITERATION_MACROS_HPP
-#define BOOST_ISO_INCLUDED_ITER_MACROS // local macro, see bottom of file
-#include <boost/graph/iteration_macros.hpp>
-#endif
-
-namespace boost {
-  
-  // Default print_callback
-  template <typename Graph1,
-            typename Graph2>
-  struct vf2_print_callback {
-    
-    vf2_print_callback(const Graph1& graph1, const Graph2& graph2) 
-      : graph1_(graph1), graph2_(graph2) {}
-    
-    template <typename CorrespondenceMap1To2,
-              typename CorrespondenceMap2To1>
-    bool operator()(CorrespondenceMap1To2 f, CorrespondenceMap2To1) const {
-      
-      // Print (sub)graph isomorphism map
-      BGL_FORALL_VERTICES_T(v, graph1_, Graph1) 
-        std::cout << '(' << get(vertex_index_t(), graph1_, v) << ", " 
-                  << get(vertex_index_t(), graph2_, get(f, v)) << ") ";
-      
-      std::cout << std::endl;
-      
-      return true;
-    }
-    
-  private:
-    const Graph1& graph1_;
-    const Graph2& graph2_;
-  };
-  
-  namespace detail {
-    
-    // State associated with a single graph (graph_this)
-    template<typename GraphThis,
-             typename GraphOther,
-             typename IndexMapThis,
-             typename IndexMapOther>
-    class base_state {
-      
-      typedef typename graph_traits<GraphThis>::vertex_descriptor vertex_this_type;
-      typedef typename graph_traits<GraphOther>::vertex_descriptor vertex_other_type;
-      
-      typedef typename graph_traits<GraphThis>::vertices_size_type size_type;
-      
-      const GraphThis& graph_this_;
-      const GraphOther& graph_other_;
-      
-      IndexMapThis index_map_this_;
-      IndexMapOther index_map_other_;
-      
-      std::vector<vertex_other_type> core_vec_;
-      typedef iterator_property_map<typename std::vector<vertex_other_type>::iterator,
-                                    IndexMapThis, vertex_other_type, 
-                                    vertex_other_type&> core_map_type;
-      core_map_type core_;
-    
-      std::vector<size_type> in_vec_, out_vec_;
-      typedef iterator_property_map<typename std::vector<size_type>::iterator,
-                                    IndexMapThis, size_type, size_type&> in_out_map_type;
-      in_out_map_type in_, out_;
-
-      size_type term_in_count_, term_out_count_, term_both_count_, core_count_;
-
-      // Forbidden 
-      base_state(const base_state&);
-      base_state& operator=(const base_state&);
-
-    public:
-
-      base_state(const GraphThis& graph_this, const GraphOther& graph_other,
-                 IndexMapThis index_map_this, IndexMapOther index_map_other)
-        : graph_this_(graph_this), graph_other_(graph_other), 
-          index_map_this_(index_map_this), index_map_other_(index_map_other), 
-          term_in_count_(0), term_out_count_(0), term_both_count_(0), core_count_(0) {
-
-        core_vec_.resize(num_vertices(graph_this_), graph_traits<GraphOther>::null_vertex());
-        core_ = make_iterator_property_map(core_vec_.begin(), index_map_this_);
-
-        in_vec_.resize(num_vertices(graph_this_), 0);
-        in_ = make_iterator_property_map(in_vec_.begin(), index_map_this_);
-
-        out_vec_.resize(num_vertices(graph_this_), 0);
-        out_ = make_iterator_property_map(out_vec_.begin(), index_map_this_);
-      }
-
-      // Adds a vertex pair to the state of graph graph_this
-      void push(const vertex_this_type& v_this, const vertex_other_type& v_other) {
-
-        ++core_count_;
-
-        put(core_, v_this, v_other);
-
-        if (!get(in_, v_this)) {   
-          put(in_, v_this, core_count_);
-          ++term_in_count_;
-          if (get(out_, v_this))
-            ++term_both_count_;
-        }
-
-        if (!get(out_, v_this)) {   
-          put(out_, v_this, core_count_);
-          ++term_out_count_;
-          if (get(in_, v_this))
-            ++term_both_count_;
-        }
-
-        BGL_FORALL_INEDGES_T(v_this, e, graph_this_, GraphThis) {
-          vertex_this_type w = source(e, graph_this_);
-          if (!get(in_, w)) {
-            put(in_, w, core_count_);
-            ++term_in_count_;
-            if (get(out_, w))
-              ++term_both_count_;
-          }
-        }
-        
-        BGL_FORALL_OUTEDGES_T(v_this, e, graph_this_, GraphThis) {
-          vertex_this_type w = target(e, graph_this_);
-          if (!get(out_, w)) {
-            put(out_, w, core_count_);
-            ++term_out_count_;
-            if (get(in_, w))
-              ++term_both_count_;                        
-          }
-        }
-        
-      }
-
-      // Removes vertex pair from state of graph_this
-      void pop(const vertex_this_type& v_this, const vertex_other_type&) {
-        
-        if (!core_count_) return;
-        
-        if (get(in_, v_this) == core_count_) {
-          put(in_, v_this, 0);
-          --term_in_count_;
-          if (get(out_, v_this))
-            --term_both_count_;
-        }
-
-        BGL_FORALL_INEDGES_T(v_this, e, graph_this_, GraphThis) {
-          vertex_this_type w = source(e, graph_this_);
-          if (get(in_, w) == core_count_) {
-            put(in_, w, 0);
-            --term_in_count_;
-            if (get(out_, w))
-              --term_both_count_;
-          }
-        }
-
-        if (get(out_, v_this) == core_count_) {
-          put(out_, v_this, 0);
-          --term_out_count_;
-          if (get(in_, v_this))
-            --term_both_count_;
-        }
-
-        BGL_FORALL_OUTEDGES_T(v_this, e, graph_this_, GraphThis) {
-          vertex_this_type w = target(e, graph_this_);
-          if (get(out_, w) == core_count_) {
-            put(out_, w, 0);
-            --term_out_count_;
-            if (get(in_, w))
-              --term_both_count_;
-          }
-        }
-        put(core_, v_this, graph_traits<GraphOther>::null_vertex());
-
-        --core_count_;
-        
-      }
-            
-      // Returns true if the in-terminal set is not empty  
-      bool term_in() const {
-        return core_count_ < term_in_count_ ;
-      }
-
-      // Returns true if vertex belongs to the in-terminal set
-      bool term_in(const vertex_this_type& v) const {
-        return (get(in_, v) > 0) &&
-               (get(core_, v) == graph_traits<GraphOther>::null_vertex());
-      }
-            
-      // Returns true if the out-terminal set is not empty  
-      bool term_out() const {
-        return core_count_ < term_out_count_;
-      }
-
-      // Returns true if vertex belongs to the out-terminal set
-      bool term_out(const vertex_this_type& v) const {
-        return (get(out_, v) > 0) && 
-               (get(core_, v) == graph_traits<GraphOther>::null_vertex());
-      }
-
-      // Returns true of both (in- and out-terminal) sets are not empty
-      bool term_both() const {
-        return core_count_ < term_both_count_;
-      }
-
-      // Returns true if vertex belongs to both (in- and out-terminal) sets
-      bool term_both(const vertex_this_type& v) const {
-        return (get(in_, v) > 0) && (get(out_, v) > 0) && 
-               (get(core_, v) == graph_traits<GraphOther>::null_vertex());
-      }
-
-      // Returns true if vertex belongs to the core map, i.e. it is in the 
-      // present mapping
-      bool in_core(const vertex_this_type& v) const {
-        return get(core_, v) != graph_traits<GraphOther>::null_vertex();
-      }
-
-      // Returns the number of vertices in the mapping
-      size_type count() const {
-        return core_count_;
-      }            
-
-      // Returns the image (in graph_other) of vertex v (in graph_this)
-      vertex_other_type core(const vertex_this_type& v) const {
-        return get(core_, v);
-      }
-
-      // Returns the mapping
-      core_map_type get_map() const {
-        return core_;
-      }
-
-      // Returns the "time" (or depth) when vertex was added to the in-terminal set
-      size_type in_depth(const vertex_this_type& v) const {
-        return get(in_, v);
-      }
-
-      // Returns the "time" (or depth) when vertex was added to the out-terminal set
-      size_type out_depth(const vertex_this_type& v) const {
-        return get(out_, v);
-      }            
-
-      // Returns the terminal set counts
-      boost::tuple<size_type, size_type, size_type>
-      term_set() const {
-        return boost::make_tuple(term_in_count_, term_out_count_, 
-                                 term_both_count_);
-      }
-      
-    };
-
-
-    // Function object that checks whether a valid edge
-    // exists. For multi-graphs matched edges are excluded  
-    template <typename Graph, typename Enable = void>
-    struct equivalent_edge_exists {
-      typedef typename boost::graph_traits<Graph>::edge_descriptor edge_type;
-
-      BOOST_CONCEPT_ASSERT(( LessThanComparable<edge_type> ));
-
-      template<typename EdgePredicate>
-      bool operator()(typename graph_traits<Graph>::vertex_descriptor s,
-                      typename graph_traits<Graph>::vertex_descriptor t, 
-                      EdgePredicate is_valid_edge, const Graph& g) {
-        
-        BGL_FORALL_OUTEDGES_T(s, e, g, Graph) {
-          if ((target(e, g) == t) && is_valid_edge(e) && 
-              (matched_edges_.find(e) == matched_edges_.end())) {
-            matched_edges_.insert(e);
-            return true;
-          }
-        }
-
-        return false;
-      }
-
-    private:
-      
-      std::set<edge_type> matched_edges_;
-    };
-    
-    template <typename Graph>
-    struct equivalent_edge_exists<Graph, typename boost::disable_if<is_multigraph<Graph> >::type> {
-      template<typename EdgePredicate>
-      bool operator()(typename graph_traits<Graph>::vertex_descriptor s,
-                      typename graph_traits<Graph>::vertex_descriptor t, 
-                      EdgePredicate is_valid_edge, const Graph& g) {
-        
-        typename graph_traits<Graph>::edge_descriptor e;
-        bool found;
-        boost::tie(e, found) = edge(s, t, g);
-        if (!found)
-          return false;
-        else if (is_valid_edge(e))
-          return true;
-        
-        return false;
-      }
-      
-    };
-
-
-    // Generates a predicate for edge e1 given  a binary predicate and a 
-    // fixed edge e2
-    template <typename Graph1,
-              typename Graph2,
-              typename EdgeEquivalencePredicate>
-    struct edge1_predicate {
-      
-      edge1_predicate(EdgeEquivalencePredicate edge_comp, 
-                      typename graph_traits<Graph2>::edge_descriptor e2)
-        : edge_comp_(edge_comp), e2_(e2) {}
-      
-      bool operator()(typename graph_traits<Graph1>::edge_descriptor e1) {
-        return edge_comp_(e1, e2_);
-      }
-
-      EdgeEquivalencePredicate edge_comp_;
-      typename graph_traits<Graph2>::edge_descriptor e2_;
-    };
-
-
-    // Generates a predicate for edge e2 given given a binary predicate and a
-    // fixed edge e1
-    template <typename Graph1,
-              typename Graph2,
-              typename EdgeEquivalencePredicate>
-    struct edge2_predicate {
-      
-      edge2_predicate(EdgeEquivalencePredicate edge_comp, 
-                      typename graph_traits<Graph1>::edge_descriptor e1)
-        : edge_comp_(edge_comp), e1_(e1) {}
-
-      bool operator()(typename graph_traits<Graph2>::edge_descriptor e2) {
-        return edge_comp_(e1_, e2);
-      }
-
-      EdgeEquivalencePredicate edge_comp_;
-      typename graph_traits<Graph1>::edge_descriptor e1_;
-    };
-
-
-    enum problem_selector {subgraph_mono, subgraph_iso, isomorphism };
-    
-    // The actual state associated with both graphs
-    template<typename Graph1,
-             typename Graph2,
-             typename IndexMap1,
-             typename IndexMap2,
-             typename EdgeEquivalencePredicate,
-             typename VertexEquivalencePredicate,
-             typename SubGraphIsoMapCallback,
-             problem_selector problem_selection>
-    class state {
-
-      typedef typename graph_traits<Graph1>::vertex_descriptor vertex1_type;
-      typedef typename graph_traits<Graph2>::vertex_descriptor vertex2_type;
-
-      typedef typename graph_traits<Graph1>::edge_descriptor edge1_type;
-      typedef typename graph_traits<Graph2>::edge_descriptor edge2_type;
-
-      typedef typename graph_traits<Graph1>::vertices_size_type graph1_size_type;
-      typedef typename graph_traits<Graph2>::vertices_size_type graph2_size_type;
-
-      const Graph1& graph1_;
-      const Graph2& graph2_;
-      
-      IndexMap1 index_map1_;
-      
-      EdgeEquivalencePredicate edge_comp_;
-      VertexEquivalencePredicate vertex_comp_;
-                
-      base_state<Graph1, Graph2, IndexMap1, IndexMap2> state1_;
-      base_state<Graph2, Graph1, IndexMap2, IndexMap1> state2_;
-
-      // Three helper functions used in Feasibility and Valid functions to test
-      // terminal set counts when testing for:
-      // - graph sub-graph monomorphism, or
-      inline bool comp_term_sets(graph1_size_type a, 
-                                 graph2_size_type b,
-                                 boost::mpl::int_<subgraph_mono>) const {
-        return a <= b;
-      }
-
-      // - graph sub-graph isomorphism, or
-      inline bool comp_term_sets(graph1_size_type a, 
-                                 graph2_size_type b,
-                                 boost::mpl::int_<subgraph_iso>) const {
-        return a <= b;
-      }
-
-      // - graph isomorphism
-      inline bool comp_term_sets(graph1_size_type a, 
-                                 graph2_size_type b,
-                                 boost::mpl::int_<isomorphism>) const {
-        return a == b;
-      }
-      
-      // Forbidden 
-      state(const state&);
-      state& operator=(const state&);
-
-    public:
-
-      state(const Graph1& graph1, const Graph2& graph2, 
-            IndexMap1 index_map1, IndexMap2 index_map2, 
-            EdgeEquivalencePredicate edge_comp,
-            VertexEquivalencePredicate vertex_comp)
-        : graph1_(graph1), graph2_(graph2), 
-          index_map1_(index_map1), 
-          edge_comp_(edge_comp), vertex_comp_(vertex_comp),
-          state1_(graph1, graph2, index_map1, index_map2), 
-          state2_(graph2, graph1, index_map2, index_map1) {}
-      
-            // Add vertex pair to the state
-      void push(const vertex1_type& v, const vertex2_type& w) {
-        state1_.push(v, w);
-        state2_.push(w, v);
-      }
-      
-      // Remove vertex pair from state
-      void pop(const vertex1_type& v, const vertex2_type&) {
-        vertex2_type w = state1_.core(v);
-        state1_.pop(v, w);
-        state2_.pop(w, v);
-      }
-           
-      // Checks the feasibility of a new vertex pair
-      bool feasible(const vertex1_type& v_new, const vertex2_type& w_new) {
-        
-        if (!vertex_comp_(v_new, w_new)) return false;
-        
-        // graph1
-        graph1_size_type term_in1_count = 0, term_out1_count = 0, rest1_count = 0;
-        
-        {
-          equivalent_edge_exists<Graph2> edge2_exists;
-          
-          BGL_FORALL_INEDGES_T(v_new, e1, graph1_, Graph1) {
-            vertex1_type v = source(e1, graph1_);
-            
-            if (state1_.in_core(v) || (v == v_new)) {
-              vertex2_type w = w_new;
-              if (v != v_new)
-                w = state1_.core(v);
-              if (!edge2_exists(w, w_new,
-                                edge2_predicate<Graph1, Graph2, EdgeEquivalencePredicate>(edge_comp_, e1), 
-                                graph2_))
-                return false;
-              
-            } else {
-              if (0 < state1_.in_depth(v))
-                ++term_in1_count;
-              if (0 < state1_.out_depth(v))
-                ++term_out1_count;
-              if ((state1_.in_depth(v) == 0) && (state1_.out_depth(v) == 0))
-                ++rest1_count;
-            }
-          }
-        }
-        
-        {
-          equivalent_edge_exists<Graph2> edge2_exists;
-          
-          BGL_FORALL_OUTEDGES_T(v_new, e1, graph1_, Graph1) {
-            vertex1_type v = target(e1, graph1_);
-            if (state1_.in_core(v) || (v == v_new)) {
-              vertex2_type w = w_new;
-              if (v != v_new)
-                w = state1_.core(v);
-              
-              if (!edge2_exists(w_new, w,
-                                edge2_predicate<Graph1, Graph2, EdgeEquivalencePredicate>(edge_comp_, e1), 
-                                graph2_))
-                return false;
-              
-            } else {
-              if (0 < state1_.in_depth(v))
-                ++term_in1_count;
-              if (0 < state1_.out_depth(v))
-                ++term_out1_count;
-              if ((state1_.in_depth(v) == 0) && (state1_.out_depth(v) == 0))
-                ++rest1_count;
-            }
-          }
-        }
-        
-        // graph2
-        graph2_size_type term_out2_count = 0, term_in2_count = 0, rest2_count = 0;
-        
-        {
-          equivalent_edge_exists<Graph1> edge1_exists;
-          
-          BGL_FORALL_INEDGES_T(w_new, e2, graph2_, Graph2) {
-            vertex2_type w = source(e2, graph2_);
-            if (state2_.in_core(w) || (w == w_new)) {
-              if (problem_selection != subgraph_mono) {
-                vertex1_type v = v_new;
-                if (w != w_new)
-                  v = state2_.core(w);
-              
-                if (!edge1_exists(v, v_new,
-                                  edge1_predicate<Graph1, Graph2, EdgeEquivalencePredicate>(edge_comp_, e2), 
-                                  graph1_))
-                  return false;
-              }
-            } else {
-              if (0 < state2_.in_depth(w))
-                ++term_in2_count;
-              if (0 < state2_.out_depth(w))
-                ++term_out2_count;
-              if ((state2_.in_depth(w) == 0) && (state2_.out_depth(w) == 0))
-                ++rest2_count;
-            }
-          }
-        }
-
-        {
-          equivalent_edge_exists<Graph1> edge1_exists;
-          
-          BGL_FORALL_OUTEDGES_T(w_new, e2, graph2_, Graph2) {
-            vertex2_type w = target(e2, graph2_);
-            if (state2_.in_core(w) || (w == w_new)) {
-              if (problem_selection != subgraph_mono) {
-                vertex1_type v = v_new;
-                if (w != w_new)
-                  v = state2_.core(w);
-              
-                if (!edge1_exists(v_new, v,
-                                  edge1_predicate<Graph1, Graph2, EdgeEquivalencePredicate>(edge_comp_, e2), 
-                                  graph1_))
-                  return false;
-              }
-            } else {
-              if (0 < state2_.in_depth(w))
-                ++term_in2_count;
-              if (0 < state2_.out_depth(w))
-                ++term_out2_count;
-              if ((state2_.in_depth(w) == 0) && (state2_.out_depth(w) == 0))
-                ++rest2_count;
-            }
-          }
-        }
-
-        if (problem_selection != subgraph_mono) { // subgraph_iso and isomorphism
-          return comp_term_sets(term_in1_count, term_in2_count,
-                                boost::mpl::int_<problem_selection>()) &&
-                 comp_term_sets(term_out1_count, term_out2_count, 
-                                boost::mpl::int_<problem_selection>()) &&
-                 comp_term_sets(rest1_count, rest2_count, 
-                                boost::mpl::int_<problem_selection>());
-        } else { // subgraph_mono
-          return comp_term_sets(term_in1_count, term_in2_count,
-                                boost::mpl::int_<problem_selection>()) &&
-                 comp_term_sets(term_out1_count, term_out2_count, 
-                                boost::mpl::int_<problem_selection>()) &&
-                 comp_term_sets(term_in1_count + term_out1_count + rest1_count,
-                                term_in2_count + term_out2_count + rest2_count, 
-                                boost::mpl::int_<problem_selection>());
-        }
-      }
-      
-      // Returns true if vertex v in graph1 is a possible candidate to
-      // be added to the current state
-      bool possible_candidate1(const vertex1_type& v) const {
-        if (state1_.term_both() && state2_.term_both()) 
-          return state1_.term_both(v);
-        else if (state1_.term_out() && state2_.term_out())
-          return state1_.term_out(v);
-        else if (state1_.term_in() && state2_.term_in())
-          return state1_.term_in(v);
-        else
-          return !state1_.in_core(v);
-      }
-
-      // Returns true if vertex w in graph2 is a possible candidate to
-      // be added to the current state
-      bool possible_candidate2(const vertex2_type& w) const {
-        if (state1_.term_both() && state2_.term_both()) 
-          return state2_.term_both(w);
-        else if (state1_.term_out() && state2_.term_out())
-          return state2_.term_out(w);
-        else if (state1_.term_in() && state2_.term_in())
-          return state2_.term_in(w);
-        else
-          return !state2_.in_core(w);
-      }
-
-      // Returns true if a mapping was found
-      bool success() const {
-        return state1_.count() == num_vertices(graph1_);
-      }
- 
-      // Returns true if a state is valid
-      bool valid() const {
-        boost::tuple<graph1_size_type, graph1_size_type, graph1_size_type> term1;
-        boost::tuple<graph2_size_type, graph2_size_type, graph2_size_type> term2;
-        
-        term1 = state1_.term_set();
-        term2 = state2_.term_set();
-        
-        return comp_term_sets(boost::get<0>(term1), boost::get<0>(term2),
-                              boost::mpl::int_<problem_selection>()) &&
-               comp_term_sets(boost::get<1>(term1), boost::get<1>(term2),
-                              boost::mpl::int_<problem_selection>()) &&
-               comp_term_sets(boost::get<2>(term1), boost::get<2>(term2),
-                              boost::mpl::int_<problem_selection>()); 
-      }
-      
-      // Calls the user_callback with a graph (sub)graph mapping 
-      bool call_back(SubGraphIsoMapCallback user_callback) const {
-        return user_callback(state1_.get_map(), state2_.get_map());
-      }
-      
-    };
-
-    
-    // Data structure to keep info used for back tracking during
-    // matching process
-    template<typename Graph1,
-             typename Graph2,
-             typename VertexOrder1>
-    struct vf2_match_continuation {
-      typename VertexOrder1::const_iterator graph1_verts_iter;
-      typename graph_traits<Graph2>::vertex_iterator graph2_verts_iter;
-    };
-
-    // Non-recursive method that explores state space using a depth-first
-    // search strategy.  At each depth possible pairs candidate are compute
-    // and tested for feasibility to extend the mapping. If a complete
-    // mapping is found, the mapping is output to user_callback in the form
-    // of a correspondence map (graph1 to graph2). Returning false from the
-    // user_callback will terminate the search. Function match will return
-    // true if the entire search space was explored.
-    template<typename Graph1,
-             typename Graph2,
-             typename IndexMap1,
-             typename IndexMap2,
-             typename VertexOrder1,
-             typename EdgeEquivalencePredicate,
-             typename VertexEquivalencePredicate, 
-             typename SubGraphIsoMapCallback,
-             problem_selector problem_selection>
-    bool match(const Graph1& graph1, const Graph2& graph2, 
-               SubGraphIsoMapCallback user_callback, const VertexOrder1& vertex_order1, 
-               state<Graph1, Graph2, IndexMap1, IndexMap2,
-               EdgeEquivalencePredicate, VertexEquivalencePredicate,
-               SubGraphIsoMapCallback, problem_selection>& s) {
-      
-      typename VertexOrder1::const_iterator graph1_verts_iter;
-
-      typedef typename graph_traits<Graph2>::vertex_iterator vertex2_iterator_type;
-      vertex2_iterator_type graph2_verts_iter, graph2_verts_iter_end;
-    
-      typedef vf2_match_continuation<Graph1, Graph2, VertexOrder1> match_continuation_type;
-      std::vector<match_continuation_type> k;
-      bool found_match = false;
-  
-      recur:
-      if (s.success()) {
-        if (!s.call_back(user_callback)) 
-          return true;
-        found_match = true;
-
-        goto back_track;
-      }
- 
-      if (!s.valid())
-        goto back_track;
-
-      graph1_verts_iter = vertex_order1.begin();
-      while (graph1_verts_iter != vertex_order1.end() && 
-             !s.possible_candidate1(*graph1_verts_iter)) {
-        ++graph1_verts_iter;
-      }
-
-      boost::tie(graph2_verts_iter, graph2_verts_iter_end) = vertices(graph2);
-      while (graph2_verts_iter != graph2_verts_iter_end) {
-        if (s.possible_candidate2(*graph2_verts_iter)) {
-          if (s.feasible(*graph1_verts_iter, *graph2_verts_iter)) {
-            match_continuation_type kk;
-            kk.graph1_verts_iter = graph1_verts_iter;
-            kk.graph2_verts_iter = graph2_verts_iter;
-            k.push_back(kk);
-            
-            s.push(*graph1_verts_iter, *graph2_verts_iter);
-            goto recur;
-          }
-        }
-        graph2_loop: ++graph2_verts_iter;
-      }
-
-      back_track:
-      if (k.empty()) 
-        return found_match;    
-      
-      const match_continuation_type kk = k.back();
-      graph1_verts_iter = kk.graph1_verts_iter;
-      graph2_verts_iter = kk.graph2_verts_iter;
-      k.pop_back();
-      
-      s.pop(*graph1_verts_iter, *graph2_verts_iter);
-      
-      goto graph2_loop;
-    }
-
-
-    // Used to sort nodes by in/out degrees
-    template<typename Graph>
-    struct vertex_in_out_degree_cmp {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_type;
-
-      vertex_in_out_degree_cmp(const Graph& graph)
-        : graph_(graph) {}
-
-      bool operator()(const vertex_type& v, const vertex_type& w) const {
-        // lexicographical comparison
-        return std::make_pair(in_degree(v, graph_), out_degree(v, graph_)) <
-               std::make_pair(in_degree(w, graph_), out_degree(w, graph_));
-      }
-
-      const Graph& graph_;
-    };
-
-
-    // Used to sort nodes by multiplicity of in/out degrees
-    template<typename Graph,
-             typename FrequencyMap>
-    struct vertex_frequency_degree_cmp {
-      typedef typename graph_traits<Graph>::vertex_descriptor vertex_type;
-      
-      vertex_frequency_degree_cmp(const Graph& graph, FrequencyMap freq)
-        : graph_(graph), freq_(freq) {}
-      
-      bool operator()(const vertex_type& v, const vertex_type& w) const {
-        // lexicographical comparison
-        return std::make_pair(freq_[v], in_degree(v, graph_)+out_degree(v, graph_)) <
-               std::make_pair(freq_[w], in_degree(w, graph_)+out_degree(w, graph_));
-      }
-
-      const Graph& graph_;
-      FrequencyMap freq_;
-    };
-
-    
-    // Sorts vertices of a graph by multiplicity of in/out degrees 
-    template<typename Graph,
-             typename IndexMap,
-             typename VertexOrder>
-    void sort_vertices(const Graph& graph, IndexMap index_map, VertexOrder& order) {
-      typedef typename graph_traits<Graph>::vertices_size_type size_type;
-
-      boost::range::sort(order, vertex_in_out_degree_cmp<Graph>(graph));
-
-      std::vector<size_type> freq_vec(num_vertices(graph), 0);
-      typedef iterator_property_map<typename std::vector<size_type>::iterator,
-                                    IndexMap, size_type, size_type&> frequency_map_type;
-                
-      frequency_map_type freq = make_iterator_property_map(freq_vec.begin(), index_map);
-
-      typedef typename VertexOrder::iterator order_iterator;
-
-      for (order_iterator order_iter = order.begin(); order_iter != order.end(); ) {
-        size_type count = 0;
-        for (order_iterator count_iter = order_iter;
-             (count_iter != order.end()) &&
-             (in_degree(*order_iter, graph) == in_degree(*count_iter, graph)) &&
-             (out_degree(*order_iter, graph) == out_degree(*count_iter, graph)); 
-             ++count_iter)
-          ++count;
-      
-        for (size_type i = 0; i < count; ++i) {
-          freq[*order_iter] = count;
-          ++order_iter;
-        }
-      }
-
-      boost::range::sort(order, vertex_frequency_degree_cmp<Graph, frequency_map_type>(graph, freq));
-
-    }
-
-    // Enumerates all graph sub-graph mono-/iso-morphism mappings between graphs
-    // graph_small and graph_large. Continues until user_callback returns true or the
-    // search space has been fully explored.
-    template <problem_selector problem_selection,
-              typename GraphSmall,
-              typename GraphLarge,
-              typename IndexMapSmall,
-              typename IndexMapLarge,
-              typename VertexOrderSmall,
-              typename EdgeEquivalencePredicate,
-              typename VertexEquivalencePredicate,
-              typename SubGraphIsoMapCallback>
-    bool vf2_subgraph_morphism(const GraphSmall& graph_small, const GraphLarge& graph_large,
-                          SubGraphIsoMapCallback user_callback,
-                          IndexMapSmall index_map_small, IndexMapLarge index_map_large, 
-                          const VertexOrderSmall& vertex_order_small,
-                          EdgeEquivalencePredicate edge_comp,
-                          VertexEquivalencePredicate vertex_comp) {
-
-      // Graph requirements
-      BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<GraphSmall> ));
-      BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<GraphSmall> ));
-      BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<GraphSmall> ));
-      BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<GraphSmall> ));
-
-      BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<GraphLarge> ));
-      BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<GraphLarge> ));
-      BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<GraphLarge> ));
-      BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<GraphLarge> ));
-
-      typedef typename graph_traits<GraphSmall>::vertex_descriptor vertex_small_type;
-      typedef typename graph_traits<GraphLarge>::vertex_descriptor vertex_large_type;
-
-      typedef typename graph_traits<GraphSmall>::vertices_size_type size_type_small;
-      typedef typename graph_traits<GraphLarge>::vertices_size_type size_type_large;
-        
-      // Property map requirements
-      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMapSmall, vertex_small_type> ));
-      typedef typename property_traits<IndexMapSmall>::value_type IndexMapSmallValue;
-      BOOST_STATIC_ASSERT(( is_convertible<IndexMapSmallValue, size_type_small>::value ));
-        
-      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMapLarge, vertex_large_type> ));
-      typedef typename property_traits<IndexMapLarge>::value_type IndexMapLargeValue;
-      BOOST_STATIC_ASSERT(( is_convertible<IndexMapLargeValue, size_type_large>::value ));
-
-      // Edge & vertex requirements
-      typedef typename graph_traits<GraphSmall>::edge_descriptor edge_small_type;
-      typedef typename graph_traits<GraphLarge>::edge_descriptor edge_large_type;
-
-      BOOST_CONCEPT_ASSERT(( BinaryPredicateConcept<EdgeEquivalencePredicate, 
-                             edge_small_type, edge_large_type> ));
-
-      BOOST_CONCEPT_ASSERT(( BinaryPredicateConcept<VertexEquivalencePredicate, 
-                             vertex_small_type, vertex_large_type> ));
-
-      // Vertex order requirements
-      BOOST_CONCEPT_ASSERT(( ContainerConcept<VertexOrderSmall> )); 
-      typedef typename VertexOrderSmall::value_type order_value_type;
-      BOOST_STATIC_ASSERT(( is_same<vertex_small_type, order_value_type>::value ));
-      BOOST_ASSERT( num_vertices(graph_small) == vertex_order_small.size() );
-
-      if (num_vertices(graph_small) > num_vertices(graph_large))
-        return false;
-
-      typename graph_traits<GraphSmall>::edges_size_type num_edges_small = num_edges(graph_small);
-      typename graph_traits<GraphLarge>::edges_size_type num_edges_large = num_edges(graph_large);
-
-      // Double the number of edges for undirected graphs: each edge counts as
-      // in-edge and out-edge
-      if (is_undirected(graph_small)) num_edges_small *= 2;
-      if (is_undirected(graph_large)) num_edges_large *= 2;
-      if (num_edges_small > num_edges_large)
-        return false;
-    
-      detail::state<GraphSmall, GraphLarge, IndexMapSmall, IndexMapLarge,
-                    EdgeEquivalencePredicate, VertexEquivalencePredicate,
-                    SubGraphIsoMapCallback, problem_selection> 
-        s(graph_small, graph_large, index_map_small, index_map_large, edge_comp, vertex_comp);
-
-      return detail::match(graph_small, graph_large, user_callback, vertex_order_small, s);
-    }
-
-  } // namespace detail
-
-
-  // Returns vertex order (vertices sorted by multiplicity of in/out degrees)
-  template<typename Graph>
-  std::vector<typename graph_traits<Graph>::vertex_descriptor> 
-    vertex_order_by_mult(const Graph& graph) {
-
-    std::vector<typename graph_traits<Graph>::vertex_descriptor> vertex_order;
-    std::copy(vertices(graph).first, vertices(graph).second, std::back_inserter(vertex_order));
-
-    detail::sort_vertices(graph, get(vertex_index, graph), vertex_order);
-    return vertex_order;
-  }
-
-
-  // Enumerates all graph sub-graph monomorphism mappings between graphs
-  // graph_small and graph_large. Continues until user_callback returns true or the
-  // search space has been fully explored.
-  template <typename GraphSmall,
-            typename GraphLarge,
-            typename IndexMapSmall,
-            typename IndexMapLarge,
-            typename VertexOrderSmall,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename SubGraphIsoMapCallback>
-  bool vf2_subgraph_mono(const GraphSmall& graph_small, const GraphLarge& graph_large,
-                         SubGraphIsoMapCallback user_callback,
-                         IndexMapSmall index_map_small, IndexMapLarge index_map_large, 
-                         const VertexOrderSmall& vertex_order_small,
-                         EdgeEquivalencePredicate edge_comp,
-                         VertexEquivalencePredicate vertex_comp) {
-    return detail::vf2_subgraph_morphism<detail::subgraph_mono>
-                                        (graph_small, graph_large,
-                                         user_callback,
-                                         index_map_small, index_map_large,
-                                         vertex_order_small,
-                                         edge_comp,
-                                         vertex_comp);
-  }
-
-
-  // All default interface for vf2_subgraph_iso
-  template <typename GraphSmall,
-            typename GraphLarge,
-            typename SubGraphIsoMapCallback>
-  bool vf2_subgraph_mono(const GraphSmall& graph_small, const GraphLarge& graph_large, 
-                         SubGraphIsoMapCallback user_callback) {
-    return vf2_subgraph_mono(graph_small, graph_large, user_callback, 
-                             get(vertex_index, graph_small), get(vertex_index, graph_large),
-                             vertex_order_by_mult(graph_small),
-                             always_equivalent(), always_equivalent());
-  }
-
-
-  // Named parameter interface of vf2_subgraph_iso
-  template <typename GraphSmall,
-            typename GraphLarge,
-            typename VertexOrderSmall,
-            typename SubGraphIsoMapCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  bool vf2_subgraph_mono(const GraphSmall& graph_small, const GraphLarge& graph_large,
-                         SubGraphIsoMapCallback user_callback,
-                         const VertexOrderSmall& vertex_order_small,
-                         const bgl_named_params<Param, Tag, Rest>& params) {
-    return vf2_subgraph_mono(graph_small, graph_large, user_callback,
-                             choose_const_pmap(get_param(params, vertex_index1),
-                                               graph_small, vertex_index),
-                             choose_const_pmap(get_param(params, vertex_index2),
-                                               graph_large, vertex_index),
-                             vertex_order_small,
-                             choose_param(get_param(params, edges_equivalent_t()),
-                                          always_equivalent()),
-                             choose_param(get_param(params, vertices_equivalent_t()),
-                                          always_equivalent())
-                             );
-  }
-  
-  
-  // Enumerates all graph sub-graph isomorphism mappings between graphs
-  // graph_small and graph_large. Continues until user_callback returns true or the
-  // search space has been fully explored.
-  template <typename GraphSmall,
-            typename GraphLarge,
-            typename IndexMapSmall,
-            typename IndexMapLarge,
-            typename VertexOrderSmall,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename SubGraphIsoMapCallback>
-  bool vf2_subgraph_iso(const GraphSmall& graph_small, const GraphLarge& graph_large,
-                        SubGraphIsoMapCallback user_callback,
-                        IndexMapSmall index_map_small, IndexMapLarge index_map_large, 
-                        const VertexOrderSmall& vertex_order_small,
-                        EdgeEquivalencePredicate edge_comp,
-                        VertexEquivalencePredicate vertex_comp) {
-    return detail::vf2_subgraph_morphism<detail::subgraph_iso>
-                                        (graph_small, graph_large,
-                                         user_callback,
-                                         index_map_small, index_map_large,
-                                         vertex_order_small,
-                                         edge_comp,
-                                         vertex_comp);
-  }
-
-
-  // All default interface for vf2_subgraph_iso
-  template <typename GraphSmall,
-            typename GraphLarge,
-            typename SubGraphIsoMapCallback>
-  bool vf2_subgraph_iso(const GraphSmall& graph_small, const GraphLarge& graph_large, 
-                        SubGraphIsoMapCallback user_callback) {
-
-    return vf2_subgraph_iso(graph_small, graph_large, user_callback, 
-                            get(vertex_index, graph_small), get(vertex_index, graph_large),
-                            vertex_order_by_mult(graph_small),
-                            always_equivalent(), always_equivalent());
-  }
-
-
-  // Named parameter interface of vf2_subgraph_iso
-  template <typename GraphSmall,
-            typename GraphLarge,
-            typename VertexOrderSmall,
-            typename SubGraphIsoMapCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  bool vf2_subgraph_iso(const GraphSmall& graph_small, const GraphLarge& graph_large,
-                        SubGraphIsoMapCallback user_callback,
-                        const VertexOrderSmall& vertex_order_small,
-                        const bgl_named_params<Param, Tag, Rest>& params) {
-    
-    return vf2_subgraph_iso(graph_small, graph_large, user_callback,
-                            choose_const_pmap(get_param(params, vertex_index1),
-                                              graph_small, vertex_index),
-                            choose_const_pmap(get_param(params, vertex_index2),
-                                              graph_large, vertex_index),
-                            vertex_order_small,
-                            choose_param(get_param(params, edges_equivalent_t()),
-                                         always_equivalent()),
-                            choose_param(get_param(params, vertices_equivalent_t()),
-                                         always_equivalent())
-                            );
-
-  }
-
-
-  // Enumerates all isomorphism mappings between graphs graph1_ and graph2_.
-  // Continues until user_callback returns true or the search space has been
-  // fully explored.
-  template <typename Graph1,
-            typename Graph2,
-            typename IndexMap1,
-            typename IndexMap2,
-            typename VertexOrder1,
-            typename EdgeEquivalencePredicate,
-            typename VertexEquivalencePredicate,
-            typename GraphIsoMapCallback>
-  bool vf2_graph_iso(const Graph1& graph1, const Graph2& graph2,
-                     GraphIsoMapCallback user_callback,
-                     IndexMap1 index_map1, IndexMap2 index_map2, 
-                     const VertexOrder1& vertex_order1,
-                     EdgeEquivalencePredicate edge_comp,
-                     VertexEquivalencePredicate vertex_comp) {
-
-    // Graph requirements
-    BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph1> ));
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph1> ));
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph1> ));
-    BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph1> ));
-
-    BOOST_CONCEPT_ASSERT(( BidirectionalGraphConcept<Graph2> ));
-    BOOST_CONCEPT_ASSERT(( VertexListGraphConcept<Graph2> ));
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph2> ));
-    BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph2> ));
- 
-        
-    typedef typename graph_traits<Graph1>::vertex_descriptor vertex1_type;
-    typedef typename graph_traits<Graph2>::vertex_descriptor vertex2_type;
-    
-    typedef typename graph_traits<Graph1>::vertices_size_type size_type1;
-    typedef typename graph_traits<Graph2>::vertices_size_type size_type2;
-        
-    // Property map requirements
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMap1, vertex1_type> ));
-    typedef typename property_traits<IndexMap1>::value_type IndexMap1Value;
-    BOOST_STATIC_ASSERT(( is_convertible<IndexMap1Value, size_type1>::value ));
-        
-    BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<IndexMap2, vertex2_type> ));
-    typedef typename property_traits<IndexMap2>::value_type IndexMap2Value;
-    BOOST_STATIC_ASSERT(( is_convertible<IndexMap2Value, size_type2>::value ));
-
-    // Edge & vertex requirements
-    typedef typename graph_traits<Graph1>::edge_descriptor edge1_type;
-    typedef typename graph_traits<Graph2>::edge_descriptor edge2_type;
-
-    BOOST_CONCEPT_ASSERT(( BinaryPredicateConcept<EdgeEquivalencePredicate, 
-                           edge1_type, edge2_type> ));
-
-    BOOST_CONCEPT_ASSERT(( BinaryPredicateConcept<VertexEquivalencePredicate, 
-                           vertex1_type, vertex2_type> ));
-    
-    // Vertex order requirements
-    BOOST_CONCEPT_ASSERT(( ContainerConcept<VertexOrder1> )); 
-    typedef typename VertexOrder1::value_type order_value_type;
-    BOOST_STATIC_ASSERT(( is_same<vertex1_type, order_value_type>::value ));
-    BOOST_ASSERT( num_vertices(graph1) == vertex_order1.size() );
-
-    if (num_vertices(graph1) != num_vertices(graph2))
-      return false;
-
-    typename graph_traits<Graph1>::edges_size_type num_edges1 = num_edges(graph1);
-    typename graph_traits<Graph2>::edges_size_type num_edges2 = num_edges(graph2);
-
-    // Double the number of edges for undirected graphs: each edge counts as
-    // in-edge and out-edge
-    if (is_undirected(graph1)) num_edges1 *= 2;
-    if (is_undirected(graph2)) num_edges2 *= 2;
-    if (num_edges1 != num_edges2)
-      return false;
-
-    detail::state<Graph1, Graph2, IndexMap1, IndexMap2,
-                  EdgeEquivalencePredicate, VertexEquivalencePredicate,
-                  GraphIsoMapCallback, detail::isomorphism> 
-      s(graph1, graph2, index_map1, index_map2, edge_comp, vertex_comp);
-
-    return detail::match(graph1, graph2, user_callback, vertex_order1, s);
-  }
-
-
-  // All default interface for vf2_graph_iso
-  template <typename Graph1,
-            typename Graph2,
-            typename GraphIsoMapCallback>
-  bool vf2_graph_iso(const Graph1& graph1, const Graph2& graph2, 
-                     GraphIsoMapCallback user_callback) {
-    
-    return vf2_graph_iso(graph1, graph2, user_callback, 
-                         get(vertex_index, graph1), get(vertex_index, graph2),
-                         vertex_order_by_mult(graph1),
-                         always_equivalent(), always_equivalent());
-  }
-
-
-  // Named parameter interface of vf2_graph_iso
-  template <typename Graph1,
-            typename Graph2,
-            typename VertexOrder1,
-            typename GraphIsoMapCallback,
-            typename Param,
-            typename Tag,
-            typename Rest>
-  bool vf2_graph_iso(const Graph1& graph1, const Graph2& graph2,
-                     GraphIsoMapCallback user_callback,
-                     const VertexOrder1& vertex_order1,
-                     const bgl_named_params<Param, Tag, Rest>& params) {
-    
-    return vf2_graph_iso(graph1, graph2, user_callback,
-                         choose_const_pmap(get_param(params, vertex_index1),
-                                           graph1, vertex_index),
-                         choose_const_pmap(get_param(params, vertex_index2),
-                                           graph2, vertex_index),
-                         vertex_order1,
-                         choose_param(get_param(params, edges_equivalent_t()),
-                                always_equivalent()),
-                         choose_param(get_param(params, vertices_equivalent_t()),
-                                      always_equivalent())
-                         );
-
-  }
-
-
-  // Verifies a graph (sub)graph isomorphism map 
-  template<typename Graph1,
-           typename Graph2,
-           typename CorresponenceMap1To2,
-           typename EdgeEquivalencePredicate,
-           typename VertexEquivalencePredicate>
-  inline bool verify_vf2_subgraph_iso(const Graph1& graph1, const Graph2& graph2, 
-                                      const CorresponenceMap1To2 f,
-                                      EdgeEquivalencePredicate edge_comp, 
-                                      VertexEquivalencePredicate vertex_comp) {
-        
-    BOOST_CONCEPT_ASSERT(( EdgeListGraphConcept<Graph1> ));
-    BOOST_CONCEPT_ASSERT(( AdjacencyMatrixConcept<Graph2> ));
-
-    detail::equivalent_edge_exists<Graph2> edge2_exists;
-
-    BGL_FORALL_EDGES_T(e1, graph1, Graph1) {
-      typename graph_traits<Graph1>::vertex_descriptor s1, t1;
-      typename graph_traits<Graph2>::vertex_descriptor s2, t2;
-      
-      s1 = source(e1, graph1); t1 = target(e1, graph1);
-      s2 = get(f, s1); t2 = get(f, t1);
-      
-      if (!vertex_comp(s1, s2) || !vertex_comp(t1, t2))
-        return false;
-
-      typename graph_traits<Graph2>::edge_descriptor e2;
-      
-      if (!edge2_exists(s2, t2,
-                        detail::edge2_predicate<Graph1, Graph2, EdgeEquivalencePredicate>(edge_comp, e1), 
-                        graph2))
-        return false;
-      
-    }
-  
-    return true;
-  }
-
-  // Variant of verify_subgraph_iso with all default parameters
-  template<typename Graph1,
-           typename Graph2,
-           typename CorresponenceMap1To2>
-  inline bool verify_vf2_subgraph_iso(const Graph1& graph1, const Graph2& graph2, 
-                                      const CorresponenceMap1To2 f) {
-    return verify_vf2_subgraph_iso(graph1, graph2, f, 
-                                   always_equivalent(), always_equivalent());
-  }
-
-
-
-} // namespace boost
-
-#ifdef BOOST_ISO_INCLUDED_ITER_MACROS
-#undef BOOST_ISO_INCLUDED_ITER_MACROS
-#include <boost/graph/iteration_macros_undef.hpp>
-#endif
-
-#endif // BOOST_VF2_SUB_GRAPH_ISO_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/visitors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/visitors.hpp
deleted file mode 100644
index 120314f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/visitors.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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:
-//   01 April 2001: Modified to use new <boost/limits.hpp> header. (JMaddock)
-//
-#ifndef BOOST_GRAPH_GRAPH_SEARCH_VISITORS_HPP
-#define BOOST_GRAPH_GRAPH_SEARCH_VISITORS_HPP
-
-#include <iosfwd>
-#include <boost/config.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/limits.hpp>
-
-namespace boost {
-
-  // This is a bit more convenient than std::numeric_limits because
-  // you don't have to explicitly provide type T.
-  template <class T>
-  inline T numeric_limits_max(T) { return (std::numeric_limits<T>::max)(); }
-
-  //========================================================================
-  // Event Tags
-
-  namespace detail {
-    // For partial specialization workaround
-    enum event_visitor_enum
-    { on_no_event_num,
-      on_initialize_vertex_num, on_start_vertex_num,
-      on_discover_vertex_num, on_finish_vertex_num, on_examine_vertex_num,
-      on_examine_edge_num, on_tree_edge_num, on_non_tree_edge_num,
-      on_gray_target_num, on_black_target_num,
-      on_forward_or_cross_edge_num, on_back_edge_num, on_finish_edge_num,
-      on_edge_relaxed_num, on_edge_not_relaxed_num,
-      on_edge_minimized_num, on_edge_not_minimized_num
-    };
-
-    template<typename Event, typename Visitor>
-    struct functor_to_visitor : Visitor
-    {
-      typedef Event event_filter;
-      functor_to_visitor(const Visitor& visitor) : Visitor(visitor) {}
-    };
-
-  } // namespace detail
-
-  struct on_no_event { enum { num = detail::on_no_event_num }; };
-
-  struct on_initialize_vertex {
-    enum { num = detail::on_initialize_vertex_num }; };
-  struct on_start_vertex { enum { num = detail::on_start_vertex_num }; };
-  struct on_discover_vertex { enum { num = detail::on_discover_vertex_num }; };
-  struct on_examine_vertex { enum { num = detail::on_examine_vertex_num }; };
-  struct on_finish_vertex { enum { num = detail::on_finish_vertex_num }; };
-
-  struct on_examine_edge { enum { num = detail::on_examine_edge_num }; };
-  struct on_tree_edge { enum { num = detail::on_tree_edge_num }; };
-  struct on_non_tree_edge { enum { num = detail::on_non_tree_edge_num }; };
-  struct on_gray_target { enum { num = detail::on_gray_target_num }; };
-  struct on_black_target { enum { num = detail::on_black_target_num }; };
-  struct on_forward_or_cross_edge {
-    enum { num = detail::on_forward_or_cross_edge_num }; };
-  struct on_back_edge { enum { num = detail::on_back_edge_num }; };
-  struct on_finish_edge { enum { num = detail::on_finish_edge_num }; };
-
-  struct on_edge_relaxed { enum { num = detail::on_edge_relaxed_num }; };
-  struct on_edge_not_relaxed {
-    enum { num = detail::on_edge_not_relaxed_num }; };
-  struct on_edge_minimized { enum { num = detail::on_edge_minimized_num }; };
-  struct on_edge_not_minimized {
-    enum { num = detail::on_edge_not_minimized_num }; };
-
-  //========================================================================
-  // base_visitor and null_visitor
-
-  // needed for MSVC workaround
-  template <class Visitor>
-  struct base_visitor {
-    typedef on_no_event event_filter;
-    template <class T, class Graph>
-    void operator()(T, Graph&) { }
-  };
-
-  struct null_visitor : public base_visitor<null_visitor> {
-    typedef on_no_event event_filter;
-    template <class T, class Graph>
-    void operator()(T, Graph&) { }
-  };
-
-  //========================================================================
-  // The invoke_visitors() function
-
-  namespace detail {
-    template <class Visitor, class T, class Graph>
-    inline void invoke_dispatch(Visitor& v, T x, Graph& g, mpl::true_) {
-       v(x, g);
-    }
-
-    template <class Visitor, class T, class Graph>
-    inline void invoke_dispatch(Visitor&, T, Graph&, mpl::false_)
-    { }
-  } // namespace detail
-
-  template <class Visitor, class Rest, class T, class Graph, class Tag>
-  inline void
-  invoke_visitors(std::pair<Visitor, Rest>& vlist, T x, Graph& g, Tag tag) {
-    typedef typename Visitor::event_filter Category;
-    typedef typename is_same<Category, Tag>::type IsSameTag;
-    detail::invoke_dispatch(vlist.first, x, g, IsSameTag());
-    invoke_visitors(vlist.second, x, g, tag);
-  }
-  template <class Visitor, class T, class Graph, class Tag>
-  inline void
-  invoke_visitors(Visitor& v, T x, Graph& g, Tag) {
-    typedef typename Visitor::event_filter Category;
-    typedef typename is_same<Category, Tag>::type IsSameTag;
-    detail::invoke_dispatch(v, x, g, IsSameTag());
-  }
-
-  //========================================================================
-  // predecessor_recorder
-
-  template <class PredecessorMap, class Tag>
-  struct predecessor_recorder
-    : public base_visitor<predecessor_recorder<PredecessorMap, Tag> >
-  {
-    typedef Tag event_filter;
-    predecessor_recorder(PredecessorMap pa) : m_predecessor(pa) { }
-    template <class Edge, class Graph>
-    void operator()(Edge e, const Graph& g) {
-      put(m_predecessor, target(e, g), source(e, g));
-    }
-    PredecessorMap m_predecessor;
-  };
-  template <class PredecessorMap, class Tag>
-  predecessor_recorder<PredecessorMap, Tag>
-  record_predecessors(PredecessorMap pa, Tag) {
-    return predecessor_recorder<PredecessorMap, Tag> (pa);
-  }
-
-  //========================================================================
-  // edge_predecessor_recorder
-
-  template <class PredEdgeMap, class Tag>
-  struct edge_predecessor_recorder
-    : public base_visitor<edge_predecessor_recorder<PredEdgeMap, Tag> >
-  {
-    typedef Tag event_filter;
-    edge_predecessor_recorder(PredEdgeMap pa) : m_predecessor(pa) { }
-    template <class Edge, class Graph>
-    void operator()(Edge e, const Graph& g) {
-      put(m_predecessor, target(e, g), e);
-    }
-    PredEdgeMap m_predecessor;
-  };
-  template <class PredEdgeMap, class Tag>
-  edge_predecessor_recorder<PredEdgeMap, Tag>
-  record_edge_predecessors(PredEdgeMap pa, Tag) {
-    return edge_predecessor_recorder<PredEdgeMap, Tag> (pa);
-  }
-
-  //========================================================================
-  // distance_recorder
-
-  template <class DistanceMap, class Tag>
-  struct distance_recorder
-    : public base_visitor<distance_recorder<DistanceMap, Tag> >
-  {
-    typedef Tag event_filter;
-    distance_recorder(DistanceMap pa) : m_distance(pa) { }
-    template <class Edge, class Graph>
-    void operator()(Edge e, const Graph& g) {
-      typename graph_traits<Graph>::vertex_descriptor
-        u = source(e, g), v = target(e, g);
-      put(m_distance, v, get(m_distance, u) + 1);
-    }
-    DistanceMap m_distance;
-  };
-  template <class DistanceMap, class Tag>
-  distance_recorder<DistanceMap, Tag>
-  record_distances(DistanceMap pa, Tag) {
-    return distance_recorder<DistanceMap, Tag> (pa);
-  }
-
-  //========================================================================
-  // time_stamper
-
-
-  template <class TimeMap, class TimeT, class Tag>
-  struct time_stamper
-    : public base_visitor<time_stamper<TimeMap, TimeT, Tag> >
-  {
-    typedef Tag event_filter;
-    time_stamper(TimeMap pa, TimeT& t) : m_time_pa(pa), m_time(t) { }
-    template <class Vertex, class Graph>
-    void operator()(Vertex u, const Graph&) {
-      put(m_time_pa, u, ++m_time);
-    }
-    TimeMap m_time_pa;
-    TimeT& m_time;
-  };
-  template <class TimeMap, class TimeT, class Tag>
-  time_stamper<TimeMap, TimeT, Tag>
-  stamp_times(TimeMap pa, TimeT& time_counter, Tag) {
-    return time_stamper<TimeMap, TimeT, Tag>(pa, time_counter);
-  }
-
-  //========================================================================
-  // property_writer
-
-  template <class PA, class OutputIterator, class Tag>
-  struct property_writer
-    : public base_visitor<property_writer<PA, OutputIterator, Tag> >
-  {
-    typedef Tag event_filter;
-
-    property_writer(PA pa, OutputIterator out) : m_pa(pa), m_out(out) { }
-
-    template <class T, class Graph>
-    void operator()(T x, Graph&) { *m_out++ = get(m_pa, x); }
-    PA m_pa;
-    OutputIterator m_out;
-  };
-  template <class PA, class OutputIterator, class Tag>
-  property_writer<PA, OutputIterator, Tag>
-  write_property(PA pa, OutputIterator out, Tag) {
-    return property_writer<PA, OutputIterator, Tag>(pa, out);
-  }
-
-  //========================================================================
-  // property_put
-
-    /**
-     * Functor which just sets a given value to a vertex or edge in a property map.
-     */
-
-  template <typename PropertyMap, typename EventTag>
-  struct property_put
-  {
-    typedef EventTag event_filter;
-    
-    property_put (PropertyMap property_map,
-                  typename property_traits <PropertyMap>::value_type value) :
-      property_map_ (property_map), value_ (value)
-    {}
-
-    template <typename VertexOrEdge, typename Graph>
-    void operator() (VertexOrEdge v, const Graph&)
-    {
-      put (property_map_, v, value_);
-    }
-
-  private:
-    PropertyMap property_map_;
-    typename property_traits <PropertyMap>::value_type value_;
-  };
-
-  /**
-   * Creates a property_put functor which just sets a given value to a vertex or edge.
-   * 
-   * @param property_map Given writeable property map 
-   * @param value Fixed value of the map
-   * @param tag Event Filter
-   * @return The functor.
-   */
-
-    template <typename PropertyMap, typename EventTag>
-    inline property_put <PropertyMap, EventTag>
-    put_property (PropertyMap property_map,
-                  typename property_traits <PropertyMap>::value_type value,
-                  EventTag)
-    {
-      return property_put <PropertyMap, EventTag> (property_map, value);
-    }
-
-#define BOOST_GRAPH_EVENT_STUB(Event,Kind)                                 \
-    typedef ::boost::Event Event##_type;                                   \
-    template<typename Visitor>                                             \
-    Kind##_visitor<std::pair<detail::functor_to_visitor<Event##_type,      \
-                                                     Visitor>, Visitors> > \
-    do_##Event(Visitor visitor)                                            \
-    {                                                                      \
-      typedef std::pair<detail::functor_to_visitor<Event##_type, Visitor>, \
-                        Visitors> visitor_list;                            \
-      typedef Kind##_visitor<visitor_list> result_type;                    \
-      return result_type(visitor_list(visitor, m_vis));                    \
-    }
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/wavefront.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/wavefront.hpp
deleted file mode 100644
index 4d9c909..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/wavefront.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-//
-//=======================================================================
-// Copyright 2002 Marc Wintermantel (wintermantel at even-ag.ch)
-// ETH Zurich, Center of Structure Technologies (www.imes.ethz.ch/st)
-//
-// Distributed under the 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_GRAPH_WAVEFRONT_HPP
-#define BOOST_GRAPH_WAVEFRONT_HPP
-
-#include <boost/config.hpp>
-#include <boost/graph/graph_traits.hpp>
-#include <boost/detail/numeric_traits.hpp>
-#include <boost/graph/bandwidth.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <vector>
-#include <algorithm> // for std::min and std::max
-
-namespace boost {
-
-  template <typename Graph, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type
-  ith_wavefront(typename graph_traits<Graph>::vertex_descriptor i,
-                const Graph& g,
-                VertexIndexMap index)
-  {
-    typename graph_traits<Graph>::vertex_descriptor v, w;
-    typename graph_traits<Graph>::vertices_size_type b = 1;
-    typename graph_traits<Graph>::out_edge_iterator edge_it2, edge_it2_end; 
-    typename graph_traits<Graph>::vertices_size_type index_i = index[i];
-    std::vector<bool> rows_active(num_vertices(g), false);
-
-    rows_active[index_i] = true;
-      
-      typename graph_traits<Graph>::vertex_iterator ui, ui_end;
-      for (boost::tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui)
-      {
-        v = *ui;
-          if(index[v] <= index_i)
-            {
-              for (boost::tie(edge_it2, edge_it2_end) = out_edges(v, g); edge_it2 != edge_it2_end; ++edge_it2)
-              {
-                w = target(*edge_it2, g);
-                if( (index[w] >= index_i) && (!rows_active[index[w]]) )
-                  {
-                    b++;
-                    rows_active[index[w]] = true;
-                  }
-              }
-            }
-      }
- 
-    return b;
-  }
-
-
-  template <typename Graph>
-  typename graph_traits<Graph>::vertices_size_type
-  ith_wavefront(typename graph_traits<Graph>::vertex_descriptor i,
-                const Graph& g)
-  {
-    return ith_wavefront(i, g, get(vertex_index, g));
-  }
-
-
-  template <typename Graph, typename VertexIndexMap>
-  typename graph_traits<Graph>::vertices_size_type
-  max_wavefront(const Graph& g, VertexIndexMap index)
-  {
-    BOOST_USING_STD_MAX();
-    typename graph_traits<Graph>::vertices_size_type b = 0;
-    typename graph_traits<Graph>::vertex_iterator i, end;
-    for (boost::tie(i, end) = vertices(g); i != end; ++i)
-      b = max BOOST_PREVENT_MACRO_SUBSTITUTION(b, ith_wavefront(*i, g, index));
-    return b;
-  }
-
-  template <typename Graph>
-  typename graph_traits<Graph>::vertices_size_type
-  max_wavefront(const Graph& g)
-  {
-    return max_wavefront(g, get(vertex_index, g));
-  }
-
-
-  template <typename Graph, typename VertexIndexMap>
-  double
-  aver_wavefront(const Graph& g, VertexIndexMap index)
-  {
-    double b = 0;
-    typename graph_traits<Graph>::vertex_iterator i, end;
-    for (boost::tie(i, end) = vertices(g); i != end; ++i)
-      b += ith_wavefront(*i, g, index);
-
-    b /= num_vertices(g);
-    return b;
-  }
-
-  template <typename Graph>
-  double
-  aver_wavefront(const Graph& g)
-  {
-    return aver_wavefront(g, get(vertex_index, g));
-  }
-
-
-  template <typename Graph, typename VertexIndexMap>
-  double
-  rms_wavefront(const Graph& g, VertexIndexMap index)
-  {
-    double b = 0;
-    typename graph_traits<Graph>::vertex_iterator i, end;
-    for (boost::tie(i, end) = vertices(g); i != end; ++i)
-      b += std::pow(double ( ith_wavefront(*i, g, index) ), 2.0);
-
-    b /= num_vertices(g);
-
-    return std::sqrt(b);
-  }
-
-  template <typename Graph>
-  double
-  rms_wavefront(const Graph& g)
-  {
-    return rms_wavefront(g, get(vertex_index, g));
-  }
- 
-  
-} // namespace boost
-
-#endif // BOOST_GRAPH_WAVEFRONT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/graph/write_dimacs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/graph/write_dimacs.hpp
deleted file mode 100644
index a4a5777..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/graph/write_dimacs.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  Copyright (c) 2006, Stephan Diederich
-//
-//  This code may be used under either of the following two licences:
-//
-//    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. OF SUCH DAMAGE.
-//
-//  Or:
-//
-//    Distributed under the Boost Software License, Version 1.0.
-//    (See accompanying file LICENSE_1_0.txt or copy at
-//    http://www.boost.org/LICENSE_1_0.txt)
-
-/*
-  Writes maximal flow problem in extended DIMACS format to an OutputIterator
-  Vertex indices are read from an IndexMap and shiftet by 1.
-  so their new range is [1..num_vertices(g)]
-*/
-
-/* ----------------------------------------------------------------- */
-
-#include <vector>
-#include <string>
-#include <ostream>
-
-namespace boost {
-
-template <class Graph, class CapacityMap, class IndexMap>
-void write_dimacs_max_flow(const Graph& g,
-                         CapacityMap capacity, 
-                         IndexMap idx,
-                         typename graph_traits<Graph>::vertex_descriptor src,
-                         typename graph_traits<Graph>::vertex_descriptor sink,
-                         std::ostream& out)
-{
-  typedef typename graph_traits<Graph>::edge_iterator edge_iterator;
-   
-  out << "c DIMACS max-flow file generated from boost::write_dimacs_max_flow" << std::endl;
-  out << "p max " << num_vertices(g) << " " << num_edges(g) << std::endl; //print problem description "max" and number of verts and edges
-  out << "n " << get(idx, src) + 1 << " s" << std::endl;; //say which one is source
-  out << "n " << get(idx, sink) + 1 << " t" << std::endl; //say which one is sink
-  
-  //output the edges
-  edge_iterator ei, e_end;
-  for(boost::tie(ei,e_end) = edges(g); ei!=e_end; ++ei){
-    out << "a " << idx[ source(*ei, g) ] + 1 << " " << idx[ target(*ei, g) ] + 1 << " " << get(capacity,*ei) << std::endl;
-  }
-}
-
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/hana.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/hana.hpp
deleted file mode 100644
index 0739e5e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/hana.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/*!
- at file
-Includes all the library components except the adapters for external
-libraries.
-
- at copyright Louis Dionne 2013-2016
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
- */
-
-#ifndef BOOST_HANA_HPP
-#define BOOST_HANA_HPP
-
-//! @defgroup group-concepts Concepts
-//! Concepts provided by the library.
-
-//! @defgroup group-datatypes Data types
-//! General purpose data types provided by the library.
-
-//! @defgroup group-functional Functional
-//! General purpose function objects.
-
-//! @defgroup group-core Core
-//! Core utilities of the library.
-
-//! @defgroup group-experimental Experimental features
-//! Experimental features that may or may not make it into the library.
-//! These features should not expected to be stable.
-
-//! @defgroup group-ext External adapters
-//! Adapters for external libraries.
-
-//! @defgroup group-config Configuration options
-//! Configurable options to tweak the global behavior of the library.
-
-//! @defgroup group-assertions Assertions
-//! Macros to perform different kinds of assertions.
-
-//! @defgroup group-details Details
-//! Implementation details. Do not rely on anything here, even if it is
-//! documented.
-
-// Include config.hpp first, so that warning messages about compiler support
-// appear as soon as possible.
-#include <boost/hana/config.hpp>
-
-
-#ifdef BOOST_HANA_DOXYGEN_INVOKED
-namespace boost {
-    //! Namespace containing everything in the library.
-    namespace hana {
-        //! Namespace containing C++14 user-defined literals provided by Hana.
-        namespace literals {}
-    }
-}
-#endif
-
-#include <boost/hana/accessors.hpp>
-#include <boost/hana/adapt_adt.hpp>
-#include <boost/hana/adapt_struct.hpp>
-#include <boost/hana/adjust.hpp>
-#include <boost/hana/adjust_if.hpp>
-#include <boost/hana/all.hpp>
-#include <boost/hana/all_of.hpp>
-#include <boost/hana/and.hpp>
-#include <boost/hana/any.hpp>
-#include <boost/hana/any_of.hpp>
-#include <boost/hana/ap.hpp>
-#include <boost/hana/append.hpp>
-#include <boost/hana/assert.hpp>
-#include <boost/hana/at.hpp>
-#include <boost/hana/at_key.hpp>
-#include <boost/hana/back.hpp>
-#include <boost/hana/basic_tuple.hpp>
-#include <boost/hana/bool.hpp>
-#include <boost/hana/cartesian_product.hpp>
-#include <boost/hana/chain.hpp>
-#include <boost/hana/comparing.hpp>
-#include <boost/hana/concat.hpp>
-#include <boost/hana/concept.hpp>
-#include <boost/hana/contains.hpp>
-#include <boost/hana/core.hpp>
-#include <boost/hana/count.hpp>
-#include <boost/hana/count_if.hpp>
-#include <boost/hana/cycle.hpp>
-#include <boost/hana/define_struct.hpp>
-#include <boost/hana/difference.hpp>
-#include <boost/hana/div.hpp>
-#include <boost/hana/drop_back.hpp>
-#include <boost/hana/drop_front.hpp>
-#include <boost/hana/drop_front_exactly.hpp>
-#include <boost/hana/drop_while.hpp>
-#include <boost/hana/duplicate.hpp>
-#include <boost/hana/empty.hpp>
-#include <boost/hana/equal.hpp>
-#include <boost/hana/erase_key.hpp>
-#include <boost/hana/eval.hpp>
-#include <boost/hana/eval_if.hpp>
-#include <boost/hana/extend.hpp>
-#include <boost/hana/extract.hpp>
-#include <boost/hana/fill.hpp>
-#include <boost/hana/filter.hpp>
-#include <boost/hana/find.hpp>
-#include <boost/hana/find_if.hpp>
-#include <boost/hana/first.hpp>
-#include <boost/hana/flatten.hpp>
-#include <boost/hana/fold.hpp>
-#include <boost/hana/fold_left.hpp>
-#include <boost/hana/fold_right.hpp>
-#include <boost/hana/for_each.hpp>
-#include <boost/hana/front.hpp>
-#include <boost/hana/functional.hpp>
-#include <boost/hana/fuse.hpp>
-#include <boost/hana/greater.hpp>
-#include <boost/hana/greater_equal.hpp>
-#include <boost/hana/group.hpp>
-#include <boost/hana/if.hpp>
-#include <boost/hana/insert.hpp>
-#include <boost/hana/insert_range.hpp>
-#include <boost/hana/integral_constant.hpp>
-#include <boost/hana/intersection.hpp>
-#include <boost/hana/intersperse.hpp>
-#include <boost/hana/is_disjoint.hpp>
-#include <boost/hana/is_empty.hpp>
-#include <boost/hana/is_subset.hpp>
-#include <boost/hana/keys.hpp>
-#include <boost/hana/lazy.hpp>
-#include <boost/hana/length.hpp>
-#include <boost/hana/less.hpp>
-#include <boost/hana/less_equal.hpp>
-#include <boost/hana/lexicographical_compare.hpp>
-#include <boost/hana/lift.hpp>
-#include <boost/hana/map.hpp>
-#include <boost/hana/max.hpp>
-#include <boost/hana/maximum.hpp>
-#include <boost/hana/members.hpp>
-#include <boost/hana/min.hpp>
-#include <boost/hana/minimum.hpp>
-#include <boost/hana/minus.hpp>
-#include <boost/hana/mod.hpp>
-#include <boost/hana/monadic_compose.hpp>
-#include <boost/hana/monadic_fold_left.hpp>
-#include <boost/hana/monadic_fold_right.hpp>
-#include <boost/hana/mult.hpp>
-#include <boost/hana/negate.hpp>
-#include <boost/hana/none.hpp>
-#include <boost/hana/none_of.hpp>
-#include <boost/hana/not.hpp>
-#include <boost/hana/not_equal.hpp>
-#include <boost/hana/one.hpp>
-#include <boost/hana/optional.hpp>
-#include <boost/hana/or.hpp>
-#include <boost/hana/ordering.hpp>
-#include <boost/hana/pair.hpp>
-#include <boost/hana/partition.hpp>
-#include <boost/hana/permutations.hpp>
-#include <boost/hana/plus.hpp>
-#include <boost/hana/power.hpp>
-#include <boost/hana/prefix.hpp>
-#include <boost/hana/prepend.hpp>
-#include <boost/hana/product.hpp>
-#include <boost/hana/range.hpp>
-#include <boost/hana/remove.hpp>
-#include <boost/hana/remove_at.hpp>
-#include <boost/hana/remove_if.hpp>
-#include <boost/hana/remove_range.hpp>
-#include <boost/hana/repeat.hpp>
-#include <boost/hana/replace.hpp>
-#include <boost/hana/replace_if.hpp>
-#include <boost/hana/replicate.hpp>
-#include <boost/hana/reverse.hpp>
-#include <boost/hana/reverse_fold.hpp>
-#include <boost/hana/scan_left.hpp>
-#include <boost/hana/scan_right.hpp>
-#include <boost/hana/second.hpp>
-#include <boost/hana/set.hpp>
-#include <boost/hana/size.hpp>
-#include <boost/hana/slice.hpp>
-#include <boost/hana/sort.hpp>
-#include <boost/hana/span.hpp>
-#include <boost/hana/string.hpp>
-#include <boost/hana/suffix.hpp>
-#include <boost/hana/sum.hpp>
-#include <boost/hana/symmetric_difference.hpp>
-#include <boost/hana/take_back.hpp>
-#include <boost/hana/take_front.hpp>
-#include <boost/hana/take_while.hpp>
-#include <boost/hana/tap.hpp>
-#include <boost/hana/then.hpp>
-#include <boost/hana/traits.hpp>
-#include <boost/hana/transform.hpp>
-#include <boost/hana/tuple.hpp>
-#include <boost/hana/type.hpp>
-#include <boost/hana/unfold_left.hpp>
-#include <boost/hana/unfold_right.hpp>
-#include <boost/hana/union.hpp>
-#include <boost/hana/unique.hpp>
-#include <boost/hana/unpack.hpp>
-#include <boost/hana/value.hpp>
-#include <boost/hana/version.hpp>
-#include <boost/hana/while.hpp>
-#include <boost/hana/zero.hpp>
-#include <boost/hana/zip.hpp>
-#include <boost/hana/zip_shortest.hpp>
-#include <boost/hana/zip_shortest_with.hpp>
-#include <boost/hana/zip_with.hpp>
-
-#endif // !BOOST_HANA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/implicit_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/implicit_cast.hpp
deleted file mode 100644
index d82db76..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/implicit_cast.hpp
+++ /dev/null
@@ -1,36 +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
-
-namespace boost {
-
-namespace detail {
-
-template<class T> struct icast_identity
-{
-    typedef T type;
-};
-
-} // namespace detail
-
-// 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 boost::detail::icast_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/rbgl_trimmed_boost_1_61_0/boost/indirect_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/indirect_reference.hpp
deleted file mode 100644
index 3279cd0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/integer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer.hpp
deleted file mode 100644
index 9fa0019..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer.hpp
+++ /dev/null
@@ -1,262 +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
-#include <boost/static_assert.hpp>
-
-//
-// 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
-  template< int Category > struct uint_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 uint_least_helper<1> { typedef boost::ulong_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
-  template<> struct uint_least_helper<1> { typedef unsigned __int64 least; };
-#endif
-  template<> struct uint_least_helper<2> { typedef unsigned long least; };
-  template<> struct uint_least_helper<3> { typedef unsigned int least; };
-  template<> struct uint_least_helper<4> { typedef unsigned short least; };
-  template<> struct uint_least_helper<5> { 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 && ( !defined __TI_COMPILER_VERSION__ || \
-    ( __TI_COMPILER_VERSION__ >= 7000000 && !defined __TI_40BIT_LONG__ ) )
-  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 boost::detail::exact_signed_base_helper<Bits>
-  {
-      BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(boost::intmax_t) * CHAR_BIT),
-         "No suitable signed integer type with the requested number of bits is available.");
-      typedef typename boost::detail::int_least_helper
-        <
-#ifdef BOOST_HAS_LONG_LONG
-          (Bits <= (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 boost::detail::exact_unsigned_base_helper<Bits>
-  {
-     BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(boost::uintmax_t) * CHAR_BIT),
-         "No suitable unsigned integer type with the requested number of bits is available.");
-#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 boost::detail::uint_least_helper
-        <
-#ifdef BOOST_HAS_LONG_LONG
-          (Bits <= (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_NO_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 boost::detail::int_least_helper
-        <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_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_NO_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 boost::detail::int_least_helper
-        <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_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 =
-           1 +
-          (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 =
-           1 +
-          (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::uint_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;
-#endif // BOOST_NO_INTEGRAL_INT64_T
-#else
-      typedef typename boost::detail::uint_least_helper
-        <
-#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/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor.hpp
deleted file mode 100644
index fab9199..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//  Boost common_factor.hpp header file  -------------------------------------//
-
-//  (C) Copyright 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 for updates, documentation, and revision history. 
-
-#ifndef BOOST_INTEGER_COMMON_FACTOR_HPP
-#define BOOST_INTEGER_COMMON_FACTOR_HPP
-
-#include <boost/integer/common_factor_ct.hpp>
-#include <boost/integer/common_factor_rt.hpp>
-
-#endif  // BOOST_INTEGER_COMMON_FACTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor_ct.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor_ct.hpp
deleted file mode 100644
index 0671d16..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor_ct.hpp
+++ /dev/null
@@ -1,102 +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_INTEGER_COMMON_FACTOR_CT_HPP
-#define BOOST_INTEGER_COMMON_FACTOR_CT_HPP
-
-#include <boost/integer_fwd.hpp>  // self include
-#include <boost/config.hpp>  // for BOOST_STATIC_CONSTANT, etc.
-
-namespace boost
-{
-namespace integer
-{
-
-//  Implementation details  --------------------------------------------------//
-
-namespace detail
-{
-    // 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 );
-    };
-
-    // 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 );
-    };
-
-}  // namespace detail
-
-
-//  Compile-time greatest common divisor evaluator class declaration  --------//
-
-template < static_gcd_type Value1, static_gcd_type Value2 > struct static_gcd
-{
-    BOOST_STATIC_CONSTANT( static_gcd_type, value = (detail::static_gcd_helper_t<Value1, Value2>::value) );
-};  // boost::integer::static_gcd
-
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-template< static_gcd_type Value1, static_gcd_type Value2 > static_gcd_type const static_gcd< Value1, Value2 >::value;
-#endif
-
-//  Compile-time least common multiple evaluator class declaration  ----------//
-
-template < static_gcd_type Value1, static_gcd_type Value2 > struct static_lcm
-{
-    BOOST_STATIC_CONSTANT( static_gcd_type, value = (detail::static_lcm_helper_t<Value1, Value2>::value) );
-};  // boost::integer::static_lcm
-
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-template< static_gcd_type Value1, static_gcd_type Value2 > static_gcd_type const static_lcm< Value1, Value2 >::value;
-#endif
-
-}  // namespace integer
-}  // namespace boost
-
-
-#endif  // BOOST_INTEGER_COMMON_FACTOR_CT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor_rt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor_rt.hpp
deleted file mode 100644
index c2b54db..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer/common_factor_rt.hpp
+++ /dev/null
@@ -1,460 +0,0 @@
-//  Boost common_factor_rt.hpp header file  ----------------------------------//
-
-//  (C) Copyright Daryle Walker and Paul Moore 2001-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. 
-
-// boostinspect:nolicense (don't complain about the lack of a Boost license)
-// (Paul Moore hasn't been in contact for years, so there's no way to change the
-// license.)
-
-//  See http://www.boost.org for updates, documentation, and revision history. 
-
-#ifndef BOOST_INTEGER_COMMON_FACTOR_RT_HPP
-#define BOOST_INTEGER_COMMON_FACTOR_RT_HPP
-
-#include <boost/integer_fwd.hpp>  // self include
-
-#include <boost/config.hpp>  // for BOOST_NESTED_TEMPLATE, etc.
-#include <boost/limits.hpp>  // for std::numeric_limits
-#include <climits>           // for CHAR_MIN
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4127 4244)  // Conditional expression is constant
-#endif
-
-namespace boost
-{
-namespace integer
-{
-
-
-//  Forward declarations for function templates  -----------------------------//
-
-template < typename IntegerType >
-    IntegerType  gcd( IntegerType const &a, IntegerType const &b );
-
-template < typename IntegerType >
-    IntegerType  lcm( IntegerType const &a, IntegerType const &b );
-
-
-//  Greatest common divisor evaluator class declaration  ---------------------//
-
-template < typename IntegerType >
-class gcd_evaluator
-{
-public:
-    // Types
-    typedef IntegerType  result_type, first_argument_type, second_argument_type;
-
-    // Function object interface
-    result_type  operator ()( first_argument_type const &a,
-     second_argument_type const &b ) const;
-
-};  // boost::integer::gcd_evaluator
-
-
-//  Least common multiple evaluator class declaration  -----------------------//
-
-template < typename IntegerType >
-class lcm_evaluator
-{
-public:
-    // Types
-    typedef IntegerType  result_type, first_argument_type, second_argument_type;
-
-    // Function object interface
-    result_type  operator ()( first_argument_type const &a,
-     second_argument_type const &b ) const;
-
-};  // boost::integer::lcm_evaluator
-
-
-//  Implementation details  --------------------------------------------------//
-
-namespace detail
-{
-    // Greatest common divisor for rings (including unsigned integers)
-    template < typename RingType >
-    RingType
-    gcd_euclidean
-    (
-        RingType a,
-        RingType b
-    )
-    {
-        // Avoid repeated construction
-        #ifndef __BORLANDC__
-        RingType const  zero = static_cast<RingType>( 0 );
-        #else
-        RingType  zero = static_cast<RingType>( 0 );
-        #endif
-
-        // Reduce by GCD-remainder property [GCD(a,b) == GCD(b,a MOD b)]
-        while ( true )
-        {
-            if ( a == zero )
-                return b;
-            b %= a;
-
-            if ( b == zero )
-                return a;
-            a %= b;
-        }
-    }
-
-    // Greatest common divisor for (signed) integers
-    template < typename IntegerType >
-    inline
-    IntegerType
-    gcd_integer
-    (
-        IntegerType const &  a,
-        IntegerType const &  b
-    )
-    {
-        // Avoid repeated construction
-        IntegerType const  zero = static_cast<IntegerType>( 0 );
-        IntegerType const  result = gcd_euclidean( a, b );
-
-        return ( result < zero ) ? static_cast<IntegerType>(-result) : result;
-    }
-
-    // Greatest common divisor for unsigned binary integers
-    template < typename BuiltInUnsigned >
-    BuiltInUnsigned
-    gcd_binary
-    (
-        BuiltInUnsigned  u,
-        BuiltInUnsigned  v
-    )
-    {
-        if ( u && v )
-        {
-            // Shift out common factors of 2
-            unsigned  shifts = 0;
-
-            while ( !(u & 1u) && !(v & 1u) )
-            {
-                ++shifts;
-                u >>= 1;
-                v >>= 1;
-            }
-
-            // Start with the still-even one, if any
-            BuiltInUnsigned  r[] = { u, v };
-            unsigned         which = static_cast<bool>( u & 1u );
-
-            // Whittle down the values via their differences
-            do
-            {
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-                while ( !(r[ which ] & 1u) )
-                {
-                    r[ which ] = (r[which] >> 1);
-                }
-#else
-                // Remove factors of two from the even one
-                while ( !(r[ which ] & 1u) )
-                {
-                    r[ which ] >>= 1;
-                }
-#endif
-
-                // Replace the larger of the two with their difference
-                if ( r[!which] > r[which] )
-                {
-                    which ^= 1u;
-                }
-
-                r[ which ] -= r[ !which ];
-            }
-            while ( r[which] );
-
-            // Shift-in the common factor of 2 to the residues' GCD
-            return r[ !which ] << shifts;
-        }
-        else
-        {
-            // At least one input is zero, return the other
-            // (adding since zero is the additive identity)
-            // or zero if both are zero.
-            return u + v;
-        }
-    }
-
-    // Least common multiple for rings (including unsigned integers)
-    template < typename RingType >
-    inline
-    RingType
-    lcm_euclidean
-    (
-        RingType const &  a,
-        RingType const &  b
-    )
-    {
-        RingType const  zero = static_cast<RingType>( 0 );
-        RingType const  temp = gcd_euclidean( a, b );
-
-        return ( temp != zero ) ? ( a / temp * b ) : zero;
-    }
-
-    // Least common multiple for (signed) integers
-    template < typename IntegerType >
-    inline
-    IntegerType
-    lcm_integer
-    (
-        IntegerType const &  a,
-        IntegerType const &  b
-    )
-    {
-        // Avoid repeated construction
-        IntegerType const  zero = static_cast<IntegerType>( 0 );
-        IntegerType const  result = lcm_euclidean( a, b );
-
-        return ( result < zero ) ? static_cast<IntegerType>(-result) : result;
-    }
-
-    // Function objects to find the best way of computing GCD or LCM
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-    template < typename T, bool IsSpecialized, bool IsSigned >
-    struct gcd_optimal_evaluator_helper_t
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            return gcd_euclidean( a, b );
-        }
-    };
-
-    template < typename T >
-    struct gcd_optimal_evaluator_helper_t< T, true, true >
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            return gcd_integer( a, b );
-        }
-    };
-
-    template < typename T >
-    struct gcd_optimal_evaluator
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            typedef ::std::numeric_limits<T>  limits_type;
-
-            typedef gcd_optimal_evaluator_helper_t<T,
-             limits_type::is_specialized, limits_type::is_signed>  helper_type;
-
-            helper_type  solver;
-
-            return solver( a, b );
-        }
-    };
-#else // BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-    template < typename T >
-    struct gcd_optimal_evaluator
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            return gcd_integer( a, b );
-        }
-    };
-#endif
-
-    // Specialize for the built-in integers
-#define BOOST_PRIVATE_GCD_UF( Ut )                  \
-    template < >  struct gcd_optimal_evaluator<Ut>  \
-    {  Ut  operator ()( Ut a, Ut b ) const  { return gcd_binary( a, b ); }  }
-
-    BOOST_PRIVATE_GCD_UF( unsigned char );
-    BOOST_PRIVATE_GCD_UF( unsigned short );
-    BOOST_PRIVATE_GCD_UF( unsigned );
-    BOOST_PRIVATE_GCD_UF( unsigned long );
-
-#ifdef BOOST_HAS_LONG_LONG
-    BOOST_PRIVATE_GCD_UF( boost::ulong_long_type );
-#elif defined(BOOST_HAS_MS_INT64)
-    BOOST_PRIVATE_GCD_UF( unsigned __int64 );
-#endif
-
-#if CHAR_MIN == 0
-    BOOST_PRIVATE_GCD_UF( char ); // char is unsigned
-#endif
-
-#undef BOOST_PRIVATE_GCD_UF
-
-#define BOOST_PRIVATE_GCD_SF( St, Ut )                            \
-    template < >  struct gcd_optimal_evaluator<St>                \
-    {  St  operator ()( St a, St b ) const  { Ut const  a_abs =   \
-    static_cast<Ut>( a < 0 ? -a : +a ), b_abs = static_cast<Ut>(  \
-    b < 0 ? -b : +b ); return static_cast<St>(                    \
-    gcd_optimal_evaluator<Ut>()(a_abs, b_abs) ); }  }
-
-    BOOST_PRIVATE_GCD_SF( signed char, unsigned char );
-    BOOST_PRIVATE_GCD_SF( short, unsigned short );
-    BOOST_PRIVATE_GCD_SF( int, unsigned );
-    BOOST_PRIVATE_GCD_SF( long, unsigned long );
-
-#if CHAR_MIN < 0
-    BOOST_PRIVATE_GCD_SF( char, unsigned char ); // char is signed
-#endif
-
-#ifdef BOOST_HAS_LONG_LONG
-    BOOST_PRIVATE_GCD_SF( boost::long_long_type, boost::ulong_long_type );
-#elif defined(BOOST_HAS_MS_INT64)
-    BOOST_PRIVATE_GCD_SF( __int64, unsigned __int64 );
-#endif
-
-#undef BOOST_PRIVATE_GCD_SF
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-    template < typename T, bool IsSpecialized, bool IsSigned >
-    struct lcm_optimal_evaluator_helper_t
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            return lcm_euclidean( a, b );
-        }
-    };
-
-    template < typename T >
-    struct lcm_optimal_evaluator_helper_t< T, true, true >
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            return lcm_integer( a, b );
-        }
-    };
-
-    template < typename T >
-    struct lcm_optimal_evaluator
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            typedef ::std::numeric_limits<T>  limits_type;
-
-            typedef lcm_optimal_evaluator_helper_t<T,
-             limits_type::is_specialized, limits_type::is_signed>  helper_type;
-
-            helper_type  solver;
-
-            return solver( a, b );
-        }
-    };
-#else // BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-    template < typename T >
-    struct lcm_optimal_evaluator
-    {
-        T  operator ()( T const &a, T const &b )
-        {
-            return lcm_integer( a, b );
-        }
-    };
-#endif
-
-    // Functions to find the GCD or LCM in the best way
-    template < typename T >
-    inline
-    T
-    gcd_optimal
-    (
-        T const &  a,
-        T const &  b
-    )
-    {
-        gcd_optimal_evaluator<T>  solver;
-
-        return solver( a, b );
-    }
-
-    template < typename T >
-    inline
-    T
-    lcm_optimal
-    (
-        T const &  a,
-        T const &  b
-    )
-    {
-        lcm_optimal_evaluator<T>  solver;
-
-        return solver( a, b );
-    }
-
-}  // namespace detail
-
-
-//  Greatest common divisor evaluator member function definition  ------------//
-
-template < typename IntegerType >
-inline
-typename gcd_evaluator<IntegerType>::result_type
-gcd_evaluator<IntegerType>::operator ()
-(
-    first_argument_type const &   a,
-    second_argument_type const &  b
-) const
-{
-    return detail::gcd_optimal( a, b );
-}
-
-
-//  Least common multiple evaluator member function definition  --------------//
-
-template < typename IntegerType >
-inline
-typename lcm_evaluator<IntegerType>::result_type
-lcm_evaluator<IntegerType>::operator ()
-(
-    first_argument_type const &   a,
-    second_argument_type const &  b
-) const
-{
-    return detail::lcm_optimal( a, b );
-}
-
-
-//  Greatest common divisor and least common multiple function definitions  --//
-
-template < typename IntegerType >
-inline
-IntegerType
-gcd
-(
-    IntegerType const &  a,
-    IntegerType const &  b
-)
-{
-    gcd_evaluator<IntegerType>  solver;
-
-    return solver( a, b );
-}
-
-template < typename IntegerType >
-inline
-IntegerType
-lcm
-(
-    IntegerType const &  a,
-    IntegerType const &  b
-)
-{
-    lcm_evaluator<IntegerType>  solver;
-
-    return solver( a, b );
-}
-
-
-}  // namespace integer
-}  // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif  // BOOST_INTEGER_COMMON_FACTOR_RT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/integer/integer_log2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/integer_log2.hpp
deleted file mode 100644
index 8b34ce7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer/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_INTEGER_LOG2_HPP
-#define BOOST_INTEGER_INTEGER_LOG2_HPP
-
-#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/rbgl_trimmed_boost_1_61_0/boost/integer/integer_mask.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/integer_mask.hpp
deleted file mode 100644
index 2acf7f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/integer/static_log2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/static_log2.hpp
deleted file mode 100644
index 56c7a00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/integer/static_min_max.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer/static_min_max.hpp
deleted file mode 100644
index ee76fd4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer/static_min_max.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  Boost integer/static_min_max.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_STATIC_MIN_MAX_HPP
-#define BOOST_INTEGER_STATIC_MIN_MAX_HPP
-
-#include <boost/integer_fwd.hpp>  // self include
-
-namespace boost
-{
-
-//  Compile-time extrema class declarations  ---------------------------------//
-//  Get the minimum or maximum of two values, signed or unsigned.
-
-template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
-struct static_signed_min
-{
-    BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 > Value2) ? Value2 : Value1 );
-};
-
-template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
-struct static_signed_max
-{
-    BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 < Value2) ? Value2 : Value1 );
-};
-
-template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
-struct static_unsigned_min
-{
-    BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value
-     = (Value1 > Value2) ? Value2 : Value1 );
-};
-
-template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
-struct static_unsigned_max
-{
-    BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value
-     = (Value1 < Value2) ? Value2 : Value1 );
-};
-
-
-}  // namespace boost
-
-
-#endif  // BOOST_INTEGER_STATIC_MIN_MAX_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/integer_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer_fwd.hpp
deleted file mode 100644
index 10577ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer_fwd.hpp
+++ /dev/null
@@ -1,187 +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;
-
-
-//  From <boost/integer/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/integer/common_factor_rt.hpp>
-
-template < typename IntegerType >
-    class gcd_evaluator;
-template < typename IntegerType >
-    class lcm_evaluator;
-
-
-}  // namespace boost
-
-
-#endif  // BOOST_INTEGER_FWD_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/integer_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/integer_traits.hpp
deleted file mode 100644
index 94eb00d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/integer_traits.hpp
+++ /dev/null
@@ -1,256 +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$
- *
- * 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>
-#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/rbgl_trimmed_boost_1_61_0/boost/intrusive_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/intrusive_ptr.hpp
deleted file mode 100644
index 63036dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/io_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/io_fwd.hpp
deleted file mode 100644
index 417b81e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/is_placeholder.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/is_placeholder.hpp
deleted file mode 100644
index 5f1b544..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator.hpp
deleted file mode 100644
index c9c6197..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//  (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)
-
-#ifndef BOOST_ITERATOR_HPP
-#define BOOST_ITERATOR_HPP
-
-// This header is obsolete and will be deprecated.
-
-#include <iterator>
-#include <cstddef>           // std::ptrdiff_t
-
-namespace boost
-{
-
-using std::iterator;
-
-} // namespace boost
-
-#endif // BOOST_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/counting_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/counting_iterator.hpp
deleted file mode 100644
index d90980e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/counting_iterator.hpp
+++ /dev/null
@@ -1,220 +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 COUNTING_ITERATOR_DWA200348_HPP
-# define COUNTING_ITERATOR_DWA200348_HPP
-
-# include <boost/iterator/iterator_adaptor.hpp>
-# include <boost/detail/numeric_traits.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/eval_if.hpp>
-
-namespace boost {
-namespace iterators {
-
-template <
-    class Incrementable
-  , class CategoryOrTraversal
-  , class Difference
->
-class counting_iterator;
-
-namespace detail
-{
-  // Try to detect numeric types at compile time in ways compatible
-  // with the limitations of the compiler and library.
-  template <class T>
-  struct is_numeric_impl
-  {
-      // For a while, this wasn't true, but we rely on it below. This is a regression assert.
-      BOOST_STATIC_ASSERT(::boost::is_integral<char>::value);
-
-# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
-      BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<T>::is_specialized);
-
-# else
-
-#  if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-      BOOST_STATIC_CONSTANT(
-          bool, value = (
-              boost::is_convertible<int,T>::value
-           && boost::is_convertible<T,int>::value
-      ));
-#  else
-    BOOST_STATIC_CONSTANT(bool, value = ::boost::is_arithmetic<T>::value);
-#  endif
-
-# endif
-  };
-
-  template <class T>
-  struct is_numeric
-    : mpl::bool_<(::boost::iterators::detail::is_numeric_impl<T>::value)>
-  {};
-
-#  if defined(BOOST_HAS_LONG_LONG)
-  template <>
-  struct is_numeric< ::boost::long_long_type>
-    : mpl::true_ {};
-
-  template <>
-  struct is_numeric< ::boost::ulong_long_type>
-    : mpl::true_ {};
-#  endif
-
-  // Some compilers fail to have a numeric_limits specialization
-  template <>
-  struct is_numeric<wchar_t>
-    : mpl::true_ {};
-
-  template <class T>
-  struct numeric_difference
-  {
-      typedef typename boost::detail::numeric_traits<T>::difference_type type;
-  };
-
-  BOOST_STATIC_ASSERT(is_numeric<int>::value);
-
-  template <class Incrementable, class CategoryOrTraversal, class Difference>
-  struct counting_iterator_base
-  {
-      typedef typename detail::ia_dflt_help<
-          CategoryOrTraversal
-        , mpl::eval_if<
-              is_numeric<Incrementable>
-            , mpl::identity<random_access_traversal_tag>
-            , iterator_traversal<Incrementable>
-          >
-      >::type traversal;
-
-      typedef typename detail::ia_dflt_help<
-          Difference
-        , mpl::eval_if<
-              is_numeric<Incrementable>
-            , numeric_difference<Incrementable>
-            , iterator_difference<Incrementable>
-          >
-      >::type difference;
-
-      typedef iterator_adaptor<
-          counting_iterator<Incrementable, CategoryOrTraversal, Difference> // self
-        , Incrementable                                           // Base
-        , Incrementable                                           // Value
-# ifndef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-          const  // MSVC won't strip this.  Instead we enable Thomas'
-                 // criterion (see boost/iterator/detail/facade_iterator_category.hpp)
-# endif
-        , traversal
-        , Incrementable const&                                    // reference
-        , difference
-      > type;
-  };
-
-  // Template class distance_policy_select -- choose a policy for computing the
-  // distance between counting_iterators at compile-time based on whether or not
-  // the iterator wraps an integer or an iterator, using "poor man's partial
-  // specialization".
-
-  template <bool is_integer> struct distance_policy_select;
-
-  // A policy for wrapped iterators
-  template <class Difference, class Incrementable1, class Incrementable2>
-  struct iterator_distance
-  {
-      static Difference distance(Incrementable1 x, Incrementable2 y)
-      {
-          return y - x;
-      }
-  };
-
-  // A policy for wrapped numbers
-  template <class Difference, class Incrementable1, class Incrementable2>
-  struct number_distance
-  {
-      static Difference distance(Incrementable1 x, Incrementable2 y)
-      {
-          return boost::detail::numeric_distance(x, y);
-      }
-  };
-}
-
-template <
-    class Incrementable
-  , class CategoryOrTraversal = use_default
-  , class Difference = use_default
->
-class counting_iterator
-  : public detail::counting_iterator_base<
-        Incrementable, CategoryOrTraversal, Difference
-    >::type
-{
-    typedef typename detail::counting_iterator_base<
-        Incrementable, CategoryOrTraversal, Difference
-    >::type super_t;
-
-    friend class iterator_core_access;
-
- public:
-    typedef typename super_t::difference_type difference_type;
-
-    counting_iterator() { }
-
-    counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {}
-
-    counting_iterator(Incrementable x)
-      : super_t(x)
-    {
-    }
-
-# if 0
-    template<class OtherIncrementable>
-    counting_iterator(
-        counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& t
-      , typename enable_if_convertible<OtherIncrementable, Incrementable>::type* = 0
-    )
-      : super_t(t.base())
-    {}
-# endif
-
- private:
-
-    typename super_t::reference dereference() const
-    {
-        return this->base_reference();
-    }
-
-    template <class OtherIncrementable>
-    difference_type
-    distance_to(counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& y) const
-    {
-      typedef typename mpl::if_<
-          detail::is_numeric<Incrementable>
-        , detail::number_distance<difference_type, Incrementable, OtherIncrementable>
-        , detail::iterator_distance<difference_type, Incrementable, OtherIncrementable>
-      >::type d;
-
-      return d::distance(this->base(), y.base());
-    }
-};
-
-// Manufacture a counting iterator for an arbitrary incrementable type
-template <class Incrementable>
-inline counting_iterator<Incrementable>
-make_counting_iterator(Incrementable x)
-{
-  typedef counting_iterator<Incrementable> result_t;
-  return result_t(x);
-}
-
-} // namespace iterators
-
-using iterators::counting_iterator;
-using iterators::make_counting_iterator;
-
-} // namespace boost
-
-#endif // COUNTING_ITERATOR_DWA200348_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/any_conversion_eater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/any_conversion_eater.hpp
deleted file mode 100644
index 429421f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/any_conversion_eater.hpp
+++ /dev/null
@@ -1,21 +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 ANY_CONVERSION_EATER_DWA20031117_HPP
-# define ANY_CONVERSION_EATER_DWA20031117_HPP
-
-namespace boost {
-namespace iterators {
-namespace detail {
-
-// This type can be used in traits to "eat" up the one user-defined
-// implicit conversion allowed.
-struct any_conversion_eater
-{
-    template <class T>
-    any_conversion_eater(T const&);
-};
-
-}}} // namespace boost::iterators::detail
-
-#endif // ANY_CONVERSION_EATER_DWA20031117_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/config_def.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/config_def.hpp
deleted file mode 100644
index 117e75a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/config_def.hpp
+++ /dev/null
@@ -1,128 +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(__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__, == 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(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-// GCC-2.95 (obsolete) 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/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/config_undef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/config_undef.hpp
deleted file mode 100644
index bf1b8d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/config_undef.hpp
+++ /dev/null
@@ -1,24 +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_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/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/enable_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/enable_if.hpp
deleted file mode 100644
index 071f5fe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/enable_if.hpp
+++ /dev/null
@@ -1,83 +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
-    {
-    };
-
-  } // namespace iterators
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ENABLE_IF_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/facade_iterator_category.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/facade_iterator_category.hpp
deleted file mode 100644
index 67fdf44..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/facade_iterator_category.hpp
+++ /dev/null
@@ -1,193 +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
-//
-
-namespace boost {
-namespace iterators {
-
-// forward declaration
-struct use_default;
-
-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.
-//
-// Due to changeset 21683, this now never results in a category convertible
-// to output_iterator_tag.
-//
-// Change at: https://svn.boost.org/trac/boost/changeset/21683
-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
-{
-    // 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
-};
-
-// 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
-{
-    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
-
-    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::iterators::detail
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/minimum_category.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/minimum_category.hpp
deleted file mode 100644
index 748c0d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/detail/minimum_category.hpp
+++ /dev/null
@@ -1,19 +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 MINIMUM_CATEGORY_DWA20031119_HPP
-# define MINIMUM_CATEGORY_DWA20031119_HPP
-
-# include <boost/iterator/minimum_category.hpp>
-
-namespace boost {
-
-// This import below (as well as the whole header) is for backward compatibility
-// with boost/token_iterator.hpp. It should be removed as soon as that header is fixed.
-namespace detail {
-using iterators::minimum_category;
-} // namespace detail
-
-} // namespace boost
-
-#endif // MINIMUM_CATEGORY_DWA20031119_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/filter_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/filter_iterator.hpp
deleted file mode 100644
index 58aea33..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/filter_iterator.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)
-#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 {
-namespace iterators {
-
-  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>
-  inline 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>
-  inline filter_iterator<Predicate,Iterator>
-  make_filter_iterator(
-      typename iterators::enable_if<
-          is_class<Predicate>
-        , Iterator
-      >::type x
-    , Iterator end = Iterator())
-  {
-      return filter_iterator<Predicate,Iterator>(x,end);
-  }
-
-} // namespace iterators
-
-using iterators::filter_iterator;
-using iterators::make_filter_iterator;
-
-} // namespace boost
-
-#endif // BOOST_FILTER_ITERATOR_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/function_input_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/function_input_iterator.hpp
deleted file mode 100644
index 8a793df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/function_input_iterator.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2009 (C) Dean Michael Berris <me at deanberris.com>
-// Copyright 2012 (C) Google, Inc.
-// Copyright 2012 (C) Jeffrey Lee Hellrung, Jr.
-// Distributed under the 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_FUNCTION_INPUT_ITERATOR
-#define BOOST_FUNCTION_INPUT_ITERATOR
-
-#include <boost/assert.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/function_types/is_function_pointer.hpp>
-#include <boost/function_types/is_function_reference.hpp>
-#include <boost/function_types/result_type.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/none.hpp>
-#include <boost/optional/optional.hpp>
-
-namespace boost {
-
-namespace iterators {
-
-    namespace impl {
-
-        template <class Function, class Input>
-        class function_input_iterator
-            : public iterator_facade<
-            function_input_iterator<Function, Input>,
-            typename Function::result_type,
-            single_pass_traversal_tag,
-            typename Function::result_type const &
-            >
-        {
-        public:
-            function_input_iterator() {}
-            function_input_iterator(Function & f_, Input state_ = Input())
-                : f(&f_), state(state_) {}
-
-            void increment() {
-                if(value)
-                    value = none;
-                else
-                    (*f)();
-                ++state;
-            }
-
-            typename Function::result_type const &
-                dereference() const {
-                    return (value ? value : value = (*f)()).get();
-            }
-
-            bool equal(function_input_iterator const & other) const {
-                return f == other.f && state == other.state;
-            }
-
-        private:
-            Function * f;
-            Input state;
-            mutable optional<typename Function::result_type> value;
-        };
-
-        template <class Function, class Input>
-        class function_pointer_input_iterator
-            : public iterator_facade<
-            function_pointer_input_iterator<Function, Input>,
-            typename function_types::result_type<Function>::type,
-            single_pass_traversal_tag,
-            typename function_types::result_type<Function>::type const &
-            >
-        {
-        public:
-            function_pointer_input_iterator() {}
-            function_pointer_input_iterator(Function &f_, Input state_ = Input())
-                : f(f_), state(state_) {}
-
-            void increment() {
-                if(value)
-                    value = none;
-                else
-                    (*f)();
-                ++state;
-            }
-
-            typename function_types::result_type<Function>::type const &
-                dereference() const {
-                    return (value ? value : value = (*f)()).get();
-            }
-
-            bool equal(function_pointer_input_iterator const & other) const {
-                return f == other.f && state == other.state;
-            }
-
-        private:
-            Function f;
-            Input state;
-            mutable optional<typename function_types::result_type<Function>::type> value;
-        };
-
-        template <class Function, class Input>
-        class function_reference_input_iterator
-            : public function_pointer_input_iterator<Function*,Input>
-        {
-        public:
-            function_reference_input_iterator(Function & f_, Input state_ = Input())
-                : function_pointer_input_iterator<Function*,Input>(&f_, state_)
-            {}
-        };
-
-    } // namespace impl
-
-    template <class Function, class Input>
-    class function_input_iterator
-        : public mpl::if_<
-            function_types::is_function_pointer<Function>,
-            impl::function_pointer_input_iterator<Function,Input>,
-            typename mpl::if_<
-                function_types::is_function_reference<Function>,
-                impl::function_reference_input_iterator<Function,Input>,
-                impl::function_input_iterator<Function,Input>
-            >::type
-        >::type
-    {
-        typedef typename mpl::if_<
-            function_types::is_function_pointer<Function>,
-            impl::function_pointer_input_iterator<Function,Input>,
-            typename mpl::if_<
-                function_types::is_function_reference<Function>,
-                impl::function_reference_input_iterator<Function,Input>,
-                impl::function_input_iterator<Function,Input>
-            >::type
-        >::type base_type;
-    public:
-        function_input_iterator(Function & f, Input i)
-            : base_type(f, i) {}
-    };
-
-    template <class Function, class Input>
-    inline function_input_iterator<Function, Input>
-        make_function_input_iterator(Function & f, Input state) {
-            typedef function_input_iterator<Function, Input> result_t;
-            return result_t(f, state);
-    }
-
-    template <class Function, class Input>
-    inline function_input_iterator<Function*, Input>
-        make_function_input_iterator(Function * f, Input state) {
-            typedef function_input_iterator<Function*, Input> result_t;
-            return result_t(f, state);
-    }
-
-    struct infinite {
-        infinite & operator++() { return *this; }
-        infinite & operator++(int) { return *this; }
-        bool operator==(infinite &) const { return false; };
-        bool operator==(infinite const &) const { return false; };
-    };
-
-} // namespace iterators
-
-using iterators::function_input_iterator;
-using iterators::make_function_input_iterator;
-using iterators::infinite;
-
-} // namespace boost
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/indirect_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/indirect_iterator.hpp
deleted file mode 100644
index c16eb84..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/indirect_iterator.hpp
+++ /dev/null
@@ -1,145 +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_INDIRECT_ITERATOR_23022003THW_HPP
-#define BOOST_INDIRECT_ITERATOR_23022003THW_HPP
-
-#include <boost/iterator.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-#include <boost/pointee.hpp>
-#include <boost/indirect_reference.hpp>
-#include <boost/detail/iterator.hpp>
-
-#include <boost/detail/indirect_traits.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/has_xxx.hpp>
-
-#ifdef BOOST_MPL_CFG_NO_HAS_XXX
-# include <boost/shared_ptr.hpp>
-# include <boost/scoped_ptr.hpp>
-# include <boost/mpl/bool.hpp>
-# include <memory>
-#endif
-
-#include <boost/iterator/detail/config_def.hpp> // must be last #include
-
-namespace boost {
-namespace iterators {
-
-  template <class Iter, class Value, class Category, class Reference, class Difference>
-  class indirect_iterator;
-
-  namespace detail
-  {
-    template <class Iter, class Value, class Category, class Reference, class Difference>
-    struct indirect_base
-    {
-        typedef typename boost::detail::iterator_traits<Iter>::value_type dereferenceable;
-
-        typedef iterator_adaptor<
-            indirect_iterator<Iter, Value, Category, Reference, Difference>
-          , Iter
-          , typename ia_dflt_help<
-                Value, pointee<dereferenceable>
-            >::type
-          , Category
-          , typename ia_dflt_help<
-                Reference
-              , mpl::eval_if<
-                    is_same<Value,use_default>
-                  , indirect_reference<dereferenceable>
-                  , add_reference<Value>
-                >
-            >::type
-          , Difference
-        > type;
-    };
-
-    template <>
-    struct indirect_base<int, int, int, int, int> {};
-  } // namespace detail
-
-
-  template <
-      class Iterator
-    , class Value = use_default
-    , class Category = use_default
-    , class Reference = use_default
-    , class Difference = use_default
-  >
-  class indirect_iterator
-    : public detail::indirect_base<
-        Iterator, Value, Category, Reference, Difference
-      >::type
-  {
-      typedef typename detail::indirect_base<
-          Iterator, Value, Category, Reference, Difference
-      >::type super_t;
-
-      friend class iterator_core_access;
-
-   public:
-      indirect_iterator() {}
-
-      indirect_iterator(Iterator iter)
-        : super_t(iter) {}
-
-      template <
-          class Iterator2, class Value2, class Category2
-        , class Reference2, class Difference2
-      >
-      indirect_iterator(
-          indirect_iterator<
-               Iterator2, Value2, Category2, Reference2, Difference2
-          > const& y
-        , typename enable_if_convertible<Iterator2, Iterator>::type* = 0
-      )
-        : super_t(y.base())
-      {}
-
-  private:
-      typename super_t::reference dereference() const
-      {
-# if BOOST_WORKAROUND(__BORLANDC__, < 0x5A0 )
-          return const_cast<super_t::reference>(**this->base());
-# else
-          return **this->base();
-# endif
-      }
-  };
-
-  template <class Iter>
-  inline
-  indirect_iterator<Iter> make_indirect_iterator(Iter x)
-  {
-    return indirect_iterator<Iter>(x);
-  }
-
-  template <class Traits, class Iter>
-  inline
-  indirect_iterator<Iter,Traits> make_indirect_iterator(Iter x, Traits* = 0)
-  {
-    return indirect_iterator<Iter, Traits>(x);
-  }
-
-} // namespace iterators
-
-using iterators::indirect_iterator;
-using iterators::make_indirect_iterator;
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_INDIRECT_ITERATOR_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/interoperable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/interoperable.hpp
deleted file mode 100644
index 6f3c872..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/interoperable.hpp
+++ /dev/null
@@ -1,54 +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 {
-namespace iterators {
-
-  //
-  // 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 iterators
-
-using iterators::is_interoperable;
-
-} // namespace boost
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_INTEROPERABLE_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/is_lvalue_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/is_lvalue_iterator.hpp
deleted file mode 100644
index e821da9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/is_lvalue_iterator.hpp
+++ /dev/null
@@ -1,165 +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 IS_LVALUE_ITERATOR_DWA2003112_HPP
-# define IS_LVALUE_ITERATOR_DWA2003112_HPP
-
-#include <boost/iterator.hpp>
-
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/iterator.hpp>
-
-#include <boost/type_traits/add_lvalue_reference.hpp>
-#include <boost/iterator/detail/any_conversion_eater.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-// should be the last #includes
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/iterator/detail/config_def.hpp>
-
-#ifndef BOOST_NO_IS_CONVERTIBLE
-
-namespace boost {
-
-namespace iterators {
-
-namespace detail
-{
-#ifndef BOOST_NO_LVALUE_RETURN_DETECTION
-  // Calling lvalue_preserver( <expression>, 0 ) returns a reference
-  // to the expression's result if <expression> is an lvalue, or
-  // not_an_lvalue() otherwise.
-  struct not_an_lvalue {};
-
-  template <class T>
-  T& lvalue_preserver(T&, int);
-
-  template <class U>
-  not_an_lvalue lvalue_preserver(U const&, ...);
-
-# define BOOST_LVALUE_PRESERVER(expr) detail::lvalue_preserver(expr,0)
-
-#else
-
-# define BOOST_LVALUE_PRESERVER(expr) expr
-
-#endif
-
-  // Guts of is_lvalue_iterator.  Value is the iterator's value_type
-  // and the result is computed in the nested rebind template.
-  template <class Value>
-  struct is_lvalue_iterator_impl
-  {
-      // Eat implicit conversions so we don't report true for things
-      // convertible to Value const&
-      struct conversion_eater
-      {
-          conversion_eater(typename add_lvalue_reference<Value>::type);
-      };
-
-      static char tester(conversion_eater, int);
-      static char (& tester(any_conversion_eater, ...) )[2];
-
-      template <class It>
-      struct rebind
-      {
-          static It& x;
-
-          BOOST_STATIC_CONSTANT(
-              bool
-            , value = (
-                sizeof(
-                    is_lvalue_iterator_impl<Value>::tester(
-                        BOOST_LVALUE_PRESERVER(*x), 0
-                    )
-                ) == 1
-            )
-          );
-      };
-  };
-
-#undef BOOST_LVALUE_PRESERVER
-
-  //
-  // void specializations to handle std input and output iterators
-  //
-  template <>
-  struct is_lvalue_iterator_impl<void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-  template <>
-  struct is_lvalue_iterator_impl<const void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-
-  template <>
-  struct is_lvalue_iterator_impl<volatile void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-
-  template <>
-  struct is_lvalue_iterator_impl<const volatile void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-#endif
-
-  //
-  // This level of dispatching is required for Borland.  We might save
-  // an instantiation by removing it for others.
-  //
-  template <class It>
-  struct is_readable_lvalue_iterator_impl
-    : is_lvalue_iterator_impl<
-          BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type const
-      >::template rebind<It>
-  {};
-
-  template <class It>
-  struct is_non_const_lvalue_iterator_impl
-    : is_lvalue_iterator_impl<
-          BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type
-      >::template rebind<It>
-  {};
-} // namespace detail
-
-template< typename T > struct is_lvalue_iterator
-: public ::boost::integral_constant<bool,::boost::iterators::detail::is_readable_lvalue_iterator_impl<T>::value>
-{
-public:
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_lvalue_iterator,(T))
-};
-
-template< typename T > struct is_non_const_lvalue_iterator
-: public ::boost::integral_constant<bool,::boost::iterators::detail::is_non_const_lvalue_iterator_impl<T>::value>
-{
-public:
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_non_const_lvalue_iterator,(T))
-};
-
-} // namespace iterators
-
-using iterators::is_lvalue_iterator;
-using iterators::is_non_const_lvalue_iterator;
-
-} // namespace boost
-
-#endif
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // IS_LVALUE_ITERATOR_DWA2003112_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/is_readable_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/is_readable_iterator.hpp
deleted file mode 100644
index 5bc2339..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/is_readable_iterator.hpp
+++ /dev/null
@@ -1,118 +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 IS_READABLE_ITERATOR_DWA2003112_HPP
-# define IS_READABLE_ITERATOR_DWA2003112_HPP
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/detail/iterator.hpp>
-#include <boost/type_traits/add_lvalue_reference.hpp>
-
-#include <boost/iterator/detail/any_conversion_eater.hpp>
-
-// should be the last #include
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/iterator/detail/config_def.hpp>
-
-#ifndef BOOST_NO_IS_CONVERTIBLE
-
-namespace boost {
-
-namespace iterators {
-
-namespace detail
-{
-  // Guts of is_readable_iterator.  Value is the iterator's value_type
-  // and the result is computed in the nested rebind template.
-  template <class Value>
-  struct is_readable_iterator_impl
-  {
-      static char tester(typename add_lvalue_reference<Value>::type, int);
-      static char (& tester(any_conversion_eater, ...) )[2];
-
-      template <class It>
-      struct rebind
-      {
-          static It& x;
-
-          BOOST_STATIC_CONSTANT(
-              bool
-            , value = (
-                sizeof(
-                    is_readable_iterator_impl<Value>::tester(*x, 1)
-                ) == 1
-            )
-          );
-      };
-  };
-
-#undef BOOST_READABLE_PRESERVER
-
-  //
-  // void specializations to handle std input and output iterators
-  //
-  template <>
-  struct is_readable_iterator_impl<void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-  template <>
-  struct is_readable_iterator_impl<const void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-
-  template <>
-  struct is_readable_iterator_impl<volatile void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-
-  template <>
-  struct is_readable_iterator_impl<const volatile void>
-  {
-      template <class It>
-      struct rebind : boost::mpl::false_
-      {};
-  };
-#endif
-
-  //
-  // This level of dispatching is required for Borland.  We might save
-  // an instantiation by removing it for others.
-  //
-  template <class It>
-  struct is_readable_iterator_impl2
-    : is_readable_iterator_impl<
-          BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type const
-      >::template rebind<It>
-  {};
-} // namespace detail
-
-template< typename T > struct is_readable_iterator
-: public ::boost::integral_constant<bool,::boost::iterators::detail::is_readable_iterator_impl2<T>::value>
-{
-public:
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_readable_iterator,(T))
-};
-
-} // namespace iterators
-
-using iterators::is_readable_iterator;
-
-} // namespace boost
-
-#endif
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // IS_READABLE_ITERATOR_DWA2003112_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_adaptor.hpp
deleted file mode 100644
index 87cfd05..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_adaptor.hpp
+++ /dev/null
@@ -1,360 +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 {
-namespace iterators {
-
-  // 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;
-
-} // namespace iterators
-
-using iterators::use_default;
-
-// 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_ {};
-
-namespace iterators {
-
-  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 defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE)
-
-  template <class From, class To>
-  struct enable_if_convertible
-  {
-      typedef boost::iterators::detail::enable_type type;
-  };
-
-#  elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292))
-
-  // 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::iterators::detail::enable_type
-    >
-  {};
-
-#  else
-
-  template<typename From, typename To>
-  struct enable_if_convertible
-    : iterators::enable_if<
-          is_convertible<From, To>
-        , boost::iterators::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::iterators::detail::ia_dflt_help<
-                Value
-              , mpl::eval_if<
-                    is_same<Reference,use_default>
-                  , iterator_value<Base>
-                  , remove_reference<Reference>
-                >
-            >::type
-# else
-          , typename boost::iterators::detail::ia_dflt_help<
-                Value, iterator_value<Base>
-            >::type
-# endif
-
-          , typename boost::iterators::detail::ia_dflt_help<
-                Traversal
-              , iterator_traversal<Base>
-            >::type
-
-          , typename boost::iterators::detail::ia_dflt_help<
-                Reference
-              , mpl::eval_if<
-                    is_same<Value,use_default>
-                  , iterator_reference<Base>
-                  , add_reference<Value>
-                >
-            >::type
-
-          , typename boost::iterators::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::iterators::detail::iterator_adaptor_base<
-        Derived, Base, Value, Traversal, Reference, Difference
-      >::type
-  {
-      friend class iterator_core_access;
-
-   protected:
-      typedef typename boost::iterators::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::iterators::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 iterators
-
-using iterators::iterator_adaptor;
-using iterators::enable_if_convertible;
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_archetypes.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_archetypes.hpp
deleted file mode 100644
index 3e9d444..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_archetypes.hpp
+++ /dev/null
@@ -1,509 +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_ARCHETYPES_HPP
-#define BOOST_ITERATOR_ARCHETYPES_HPP
-
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/operators.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/iterator.hpp>
-
-#include <boost/iterator/detail/facade_iterator_category.hpp>
-
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-#include <boost/concept_archetype.hpp>
-
-#include <boost/mpl/bitand.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <cstddef>
-
-namespace boost {
-namespace iterators {
-
-template <class Value, class AccessCategory>
-struct access_archetype;
-
-template <class Derived, class Value, class AccessCategory, class TraversalCategory>
-struct traversal_archetype;
-
-namespace archetypes
-{
-  enum {
-      readable_iterator_bit = 1
-    , writable_iterator_bit = 2
-    , swappable_iterator_bit = 4
-    , lvalue_iterator_bit = 8
-  };
-
-  // Not quite tags, since dispatching wouldn't work.
-  typedef mpl::int_<readable_iterator_bit>::type readable_iterator_t;
-  typedef mpl::int_<writable_iterator_bit>::type writable_iterator_t;
-
-  typedef mpl::int_<
-      (readable_iterator_bit|writable_iterator_bit)
-          >::type readable_writable_iterator_t;
-
-  typedef mpl::int_<
-      (readable_iterator_bit|lvalue_iterator_bit)
-          >::type readable_lvalue_iterator_t;
-
-  typedef mpl::int_<
-      (lvalue_iterator_bit|writable_iterator_bit)
-          >::type writable_lvalue_iterator_t;
-
-  typedef mpl::int_<swappable_iterator_bit>::type swappable_iterator_t;
-  typedef mpl::int_<lvalue_iterator_bit>::type lvalue_iterator_t;
-
-  template <class Derived, class Base>
-  struct has_access
-    : mpl::equal_to<
-          mpl::bitand_<Derived,Base>
-        , Base
-      >
-  {};
-}
-
-namespace detail
-{
-  template <class T>
-  struct assign_proxy
-  {
-      assign_proxy& operator=(T) { return *this; }
-  };
-
-  template <class T>
-  struct read_proxy
-  {
-      operator T() { return static_object<T>::get(); }
-  };
-
-  template <class T>
-  struct read_write_proxy
-    : read_proxy<T> // Use to inherit from assign_proxy, but that doesn't work. -JGS
-  {
-      read_write_proxy& operator=(T) { return *this; }
-  };
-
-  template <class T>
-  struct arrow_proxy
-  {
-      T const* operator->() const { return 0; }
-  };
-
-  struct no_operator_brackets {};
-
-  template <class ValueType>
-  struct readable_operator_brackets
-  {
-      read_proxy<ValueType> operator[](std::ptrdiff_t n) const { return read_proxy<ValueType>(); }
-  };
-
-  template <class ValueType>
-  struct writable_operator_brackets
-  {
-      read_write_proxy<ValueType> operator[](std::ptrdiff_t n) const { return read_write_proxy<ValueType>(); }
-  };
-
-  template <class Value, class AccessCategory, class TraversalCategory>
-  struct operator_brackets
-    : mpl::eval_if<
-          is_convertible<TraversalCategory, random_access_traversal_tag>
-        , mpl::eval_if<
-              archetypes::has_access<
-                  AccessCategory
-                , archetypes::writable_iterator_t
-              >
-            , mpl::identity<writable_operator_brackets<Value> >
-            , mpl::if_<
-                  archetypes::has_access<
-                      AccessCategory
-                    , archetypes::readable_iterator_t
-                  >
-                , readable_operator_brackets<Value>
-                , no_operator_brackets
-              >
-          >
-        , mpl::identity<no_operator_brackets>
-      >::type
-  {};
-
-  template <class TraversalCategory>
-  struct traversal_archetype_impl
-  {
-      template <class Derived,class Value> struct archetype;
-  };
-
-  // Constructor argument for those iterators that
-  // are not default constructible
-  struct ctor_arg {};
-
-  template <class Derived, class Value, class TraversalCategory>
-  struct traversal_archetype_
-    : traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
-  {
-      typedef typename
-        traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
-      base;
-
-      traversal_archetype_() {}
-
-      traversal_archetype_(ctor_arg arg)
-        : base(arg)
-      {}
-  };
-
-  template <>
-  struct traversal_archetype_impl<incrementable_traversal_tag>
-  {
-      template<class Derived, class Value>
-      struct archetype
-      {
-          explicit archetype(ctor_arg) {}
-
-          struct bogus { }; // This use to be void, but that causes trouble for iterator_facade. Need more research. -JGS
-          typedef bogus difference_type;
-
-          Derived& operator++() { return (Derived&)static_object<Derived>::get(); }
-          Derived  operator++(int) const { return (Derived&)static_object<Derived>::get(); }
-      };
-  };
-
-  template <>
-  struct traversal_archetype_impl<single_pass_traversal_tag>
-  {
-      template<class Derived, class Value>
-      struct archetype
-        : public equality_comparable< traversal_archetype_<Derived, Value, single_pass_traversal_tag> >,
-          public traversal_archetype_<Derived, Value, incrementable_traversal_tag>
-      {
-          explicit archetype(ctor_arg arg)
-            : traversal_archetype_<Derived, Value, incrementable_traversal_tag>(arg)
-          {}
-
-          typedef std::ptrdiff_t difference_type;
-      };
-  };
-
-  template <class Derived, class Value>
-  bool operator==(traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&,
-                  traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&) { return true; }
-
-  template <>
-  struct traversal_archetype_impl<forward_traversal_tag>
-  {
-      template<class Derived, class Value>
-      struct archetype
-        : public traversal_archetype_<Derived, Value, single_pass_traversal_tag>
-      {
-          archetype()
-            : traversal_archetype_<Derived, Value, single_pass_traversal_tag>(ctor_arg())
-          {}
-      };
-  };
-
-  template <>
-  struct traversal_archetype_impl<bidirectional_traversal_tag>
-  {
-      template<class Derived, class Value>
-      struct archetype
-        : public traversal_archetype_<Derived, Value, forward_traversal_tag>
-      {
-          Derived& operator--() { return static_object<Derived>::get(); }
-          Derived  operator--(int) const { return static_object<Derived>::get(); }
-      };
-  };
-
-  template <>
-  struct traversal_archetype_impl<random_access_traversal_tag>
-  {
-      template<class Derived, class Value>
-      struct archetype
-        : public traversal_archetype_<Derived, Value, bidirectional_traversal_tag>
-      {
-          Derived& operator+=(std::ptrdiff_t) { return static_object<Derived>::get(); }
-          Derived& operator-=(std::ptrdiff_t) { return static_object<Derived>::get(); }
-      };
-  };
-
-  template <class Derived, class Value>
-  Derived& operator+(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                     std::ptrdiff_t) { return static_object<Derived>::get(); }
-
-  template <class Derived, class Value>
-  Derived& operator+(std::ptrdiff_t,
-                     traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
-      { return static_object<Derived>::get(); }
-
-  template <class Derived, class Value>
-  Derived& operator-(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                     std::ptrdiff_t)
-      { return static_object<Derived>::get(); }
-
-  template <class Derived, class Value>
-  std::ptrdiff_t operator-(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                           traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
-      { return 0; }
-
-  template <class Derived, class Value>
-  bool operator<(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
-      { return true; }
-
-  template <class Derived, class Value>
-  bool operator>(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
-      { return true; }
-
-  template <class Derived, class Value>
-  bool operator<=(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
-      { return true; }
-
-  template <class Derived, class Value>
-  bool operator>=(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
-                 traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
-      { return true; }
-
-  struct bogus_type;
-
-  template <class Value>
-  struct convertible_type
-    : mpl::if_< is_const<Value>,
-                typename remove_const<Value>::type,
-                bogus_type >
-  {};
-
-} // namespace detail
-
-
-template <class> struct undefined;
-
-template <class AccessCategory>
-struct iterator_access_archetype_impl
-{
-    template <class Value> struct archetype;
-};
-
-template <class Value, class AccessCategory>
-struct iterator_access_archetype
-  : iterator_access_archetype_impl<
-        AccessCategory
-    >::template archetype<Value>
-{
-};
-
-template <>
-struct iterator_access_archetype_impl<
-    archetypes::readable_iterator_t
->
-{
-    template <class Value>
-    struct archetype
-    {
-        typedef typename remove_cv<Value>::type value_type;
-        typedef Value                           reference;
-        typedef Value*                          pointer;
-
-        value_type operator*() const { return static_object<value_type>::get(); }
-
-        detail::arrow_proxy<Value> operator->() const { return detail::arrow_proxy<Value>(); }
-    };
-};
-
-template <>
-struct iterator_access_archetype_impl<
-    archetypes::writable_iterator_t
->
-{
-    template <class Value>
-    struct archetype
-    {
-        BOOST_STATIC_ASSERT(!is_const<Value>::value);
-        typedef void value_type;
-        typedef void reference;
-        typedef void pointer;
-
-        detail::assign_proxy<Value> operator*() const { return detail::assign_proxy<Value>(); }
-    };
-};
-
-template <>
-struct iterator_access_archetype_impl<
-    archetypes::readable_writable_iterator_t
->
-{
-    template <class Value>
-    struct archetype
-      : public virtual iterator_access_archetype<
-            Value, archetypes::readable_iterator_t
-        >
-    {
-        typedef detail::read_write_proxy<Value>    reference;
-
-        detail::read_write_proxy<Value> operator*() const { return detail::read_write_proxy<Value>(); }
-    };
-};
-
-template <>
-struct iterator_access_archetype_impl<archetypes::readable_lvalue_iterator_t>
-{
-    template <class Value>
-    struct archetype
-      : public virtual iterator_access_archetype<
-            Value, archetypes::readable_iterator_t
-        >
-    {
-        typedef Value&    reference;
-
-        Value& operator*() const { return static_object<Value>::get(); }
-        Value* operator->() const { return 0; }
-    };
-};
-
-template <>
-struct iterator_access_archetype_impl<archetypes::writable_lvalue_iterator_t>
-{
-    template <class Value>
-    struct archetype
-      : public virtual iterator_access_archetype<
-            Value, archetypes::readable_lvalue_iterator_t
-        >
-    {
-        BOOST_STATIC_ASSERT((!is_const<Value>::value));
-    };
-};
-
-
-template <class Value, class AccessCategory, class TraversalCategory>
-struct iterator_archetype;
-
-template <class Value, class AccessCategory, class TraversalCategory>
-struct traversal_archetype_base
-  : detail::operator_brackets<
-        typename remove_cv<Value>::type
-      , AccessCategory
-      , TraversalCategory
-    >
-  , detail::traversal_archetype_<
-        iterator_archetype<Value, AccessCategory, TraversalCategory>
-      , Value
-      , TraversalCategory
-    >
-{
-};
-
-namespace detail
-{
-  template <class Value, class AccessCategory, class TraversalCategory>
-  struct iterator_archetype_base
-    : iterator_access_archetype<Value, AccessCategory>
-    , traversal_archetype_base<Value, AccessCategory, TraversalCategory>
-  {
-      typedef iterator_access_archetype<Value, AccessCategory> access;
-
-      typedef typename detail::facade_iterator_category<
-          TraversalCategory
-        , typename mpl::eval_if<
-              archetypes::has_access<
-                  AccessCategory, archetypes::writable_iterator_t
-              >
-            , remove_const<Value>
-            , add_const<Value>
-          >::type
-        , typename access::reference
-      >::type iterator_category;
-
-      // Needed for some broken libraries (see below)
-      typedef boost::iterator<
-          iterator_category
-        , Value
-        , typename traversal_archetype_base<
-              Value, AccessCategory, TraversalCategory
-          >::difference_type
-        , typename access::pointer
-        , typename access::reference
-      > workaround_iterator_base;
-  };
-}
-
-template <class Value, class AccessCategory, class TraversalCategory>
-struct iterator_archetype
-  : public detail::iterator_archetype_base<Value, AccessCategory, TraversalCategory>
-
-    // These broken libraries require derivation from std::iterator
-    // (or related magic) in order to handle iter_swap and other
-    // iterator operations
-# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310)           \
-    || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101))
-  , public detail::iterator_archetype_base<
-        Value, AccessCategory, TraversalCategory
-    >::workaround_iterator_base
-# endif
-{
-    // Derivation from std::iterator above caused references to nested
-    // types to be ambiguous, so now we have to redeclare them all
-    // here.
-# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310)           \
-    || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101))
-
-    typedef detail::iterator_archetype_base<
-        Value,AccessCategory,TraversalCategory
-    > base;
-
-    typedef typename base::value_type value_type;
-    typedef typename base::reference reference;
-    typedef typename base::pointer pointer;
-    typedef typename base::difference_type difference_type;
-    typedef typename base::iterator_category iterator_category;
-# endif
-
-    iterator_archetype() { }
-    iterator_archetype(iterator_archetype const& x)
-      : detail::iterator_archetype_base<
-            Value
-          , AccessCategory
-          , TraversalCategory
-        >(x)
-    {}
-
-    iterator_archetype& operator=(iterator_archetype const&)
-        { return *this; }
-
-# if 0
-    // Optional conversion from mutable
-    iterator_archetype(
-        iterator_archetype<
-        typename detail::convertible_type<Value>::type
-      , AccessCategory
-      , TraversalCategory> const&
-    );
-# endif
-};
-
-} // namespace iterators
-
-// Backward compatibility names
-namespace iterator_archetypes = iterators::archetypes;
-using iterators::access_archetype;
-using iterators::traversal_archetype;
-using iterators::iterator_archetype;
-using iterators::undefined;
-using iterators::iterator_access_archetype_impl;
-using iterators::traversal_archetype_base;
-
-} // namespace boost
-
-#endif // BOOST_ITERATOR_ARCHETYPES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_categories.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_categories.hpp
deleted file mode 100644
index 71202c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_categories.hpp
+++ /dev/null
@@ -1,215 +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 {
-namespace iterators {
-
-//
-// 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
-                      >
-                  >
-              >
-          >
-      >
-  {};
-
-} // 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::iterators::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
-
-//
-// Convert an iterator traversal to one of the traversal tags.
-//
-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
-                    >
-                >
-            >
-        >
-    >
-{
-};
-
-//
-// Trait to retrieve one of the iterator traversal tags from the iterator category or traversal.
-//
-template <class Iterator = mpl::_1>
-struct pure_iterator_traversal
-  : pure_traversal_tag<typename iterator_traversal<Iterator>::type>
-{};
-
-# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-template <>
-struct pure_iterator_traversal<mpl::_1>
-{
-    template <class T>
-    struct apply : pure_iterator_traversal<T>
-    {};
-};
-template <>
-struct pure_iterator_traversal<mpl::_>
-  : pure_iterator_traversal<mpl::_1>
-{};
-# endif
-
-} // namespace iterators
-
-using iterators::no_traversal_tag;
-using iterators::incrementable_traversal_tag;
-using iterators::single_pass_traversal_tag;
-using iterators::forward_traversal_tag;
-using iterators::bidirectional_traversal_tag;
-using iterators::random_access_traversal_tag;
-using iterators::iterator_category_to_traversal;
-using iterators::iterator_traversal;
-
-// This import is needed for backward compatibility with Boost.Range:
-// boost/range/detail/demote_iterator_traversal_tag.hpp
-// It should be removed when that header is fixed.
-namespace detail {
-using iterators::pure_traversal_tag;
-} // namespace detail
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_CATEGORIES_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_concepts.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_concepts.hpp
deleted file mode 100644
index 1a9f7d6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_concepts.hpp
+++ /dev/null
@@ -1,275 +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::iterators::pure_iterator_traversal<Iterator>::type traversal_category;
-      typedef typename boost::iterators::pure_iterator_traversal<ConstIterator>::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/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_facade.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_facade.hpp
deleted file mode 100644
index 7b11d0a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_facade.hpp
+++ /dev/null
@@ -1,980 +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/config.hpp>
-#include <boost/iterator.hpp>
-#include <boost/iterator/interoperable.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-
-#include <boost/iterator/detail/facade_iterator_category.hpp>
-#include <boost/iterator/detail/enable_if.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/utility/addressof.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/add_lvalue_reference.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 {
-namespace iterators {
-
-  // 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;
-        };
-    };
-
-    // The type trait checks if the category or traversal is at least as advanced as the specified required traversal
-    template< typename CategoryOrTraversal, typename Required >
-    struct is_traversal_at_least :
-        public boost::is_convertible< typename iterator_category_to_traversal< CategoryOrTraversal >::type, Required >
-    {};
-
-    //
-    // enable if for use in operator implementation.
-    //
-    template <
-        class Facade1
-      , class Facade2
-      , class Return
-    >
-    struct enable_if_interoperable :
-        public boost::iterators::enable_if<
-            is_interoperable< Facade1, Facade2 >
-          , Return
-        >
-    {};
-
-    //
-    // enable if for use in implementation of operators specific for random access traversal.
-    //
-    template <
-        class Facade1
-      , class Facade2
-      , class Return
-    >
-    struct enable_if_interoperable_and_random_access_traversal :
-        public boost::iterators::enable_if<
-            mpl::and_<
-                is_interoperable< Facade1, Facade2 >
-              , is_traversal_at_least< typename iterator_category< Facade1 >::type, random_access_traversal_tag >
-              , is_traversal_at_least< typename iterator_category< Facade2 >::type, random_access_traversal_tag >
-            >
-          , Return
-        >
-    {};
-
-    //
-    // 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::iterators::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 that
-        // (*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
-                    // Use add_lvalue_reference to form `reference to Value` due to
-                    // some (strict) C++03 compilers (e.g. `gcc -std=c++03`) reject
-                    // 'reference-to-reference' in the template which described in CWG
-                    // DR106.
-                    // http://www.open-std.org/Jtc1/sc22/wg21/docs/cwg_defects.html#106
-                  , typename add_lvalue_reference<Value const>::type
-                >
-
-                // 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 an lvalue to which a pointer can be formed.  We do that by
-    // returning a proxy object containing an instance of the reference object.
-    template <class Reference, class Pointer>
-    struct operator_arrow_dispatch // proxy references
-    {
-        struct proxy
-        {
-            explicit proxy(Reference const & x) : m_ref(x) {}
-            Reference* operator->() { return boost::addressof(m_ref); }
-            // This function is needed for MWCW and BCC, which won't call
-            // operator-> again automatically per 13.3.1.2 para 8
-            operator Reference*() { return boost::addressof(m_ref); }
-            Reference m_ref;
-        };
-        typedef proxy result_type;
-        static result_type apply(Reference const & x)
-        {
-            return result_type(x);
-        }
-    };
-
-    template <class T, class Pointer>
-    struct operator_arrow_dispatch<T&, Pointer> // "real" references
-    {
-        typedef Pointer result_type;
-        static result_type apply(T& x)
-        {
-            return boost::addressof(x);
-        }
-    };
-
-    // 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>
-# else
-          mpl::eval_if<
-              is_convertible<I2,I1>
-            , iterator_difference<I1>
-            , iterator_difference<I2>
-          >
-# endif
-        {};
-
-    };
-
-    template <
-        class Derived
-      , class Value
-      , class CategoryOrTraversal
-      , class Reference
-      , class Difference
-      , bool IsBidirectionalTraversal
-      , bool IsRandomAccessTraversal
-    >
-    class iterator_facade_base;
-
-  } // namespace detail
-
-
-  // Macros which describe the declarations of binary operators
-# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, enabler)       \
-    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_IMPL(prefix, op, result_type, enabler)   \
-    template <                                                          \
-        class Derived1, class V1, class TC1, class Reference1, class Difference1 \
-      , class Derived2, class V2, class TC2, class Reference2, class Difference2 \
-    >                                                                   \
-    prefix typename enabler<                                            \
-        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_INTEROP_HEAD(prefix, op, result_type)       \
-    BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, boost::iterators::detail::enable_if_interoperable)
-
-#  define BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(prefix, op, result_type)       \
-    BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, boost::iterators::detail::enable_if_interoperable_and_random_access_traversal)
-
-#  define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args)              \
-    template <class Derived, class V, class TC, class R, class D>   \
-    prefix typename boost::iterators::enable_if<                    \
-        boost::iterators::detail::is_traversal_at_least< TC, boost::iterators::random_access_traversal_tag >,  \
-        Derived                                                     \
-    >::type 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;
-      template <class I, class V, class TC, class R, class D, bool IsBidirectionalTraversal, bool IsRandomAccessTraversal>
-      friend class detail::iterator_facade_base;
-
-#  define BOOST_ITERATOR_FACADE_RELATION(op)                                \
-      BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, boost::iterators::detail::always_bool2);
-
-      BOOST_ITERATOR_FACADE_RELATION(==)
-      BOOST_ITERATOR_FACADE_RELATION(!=)
-
-#  undef BOOST_ITERATOR_FACADE_RELATION
-
-#  define BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(op)                                \
-      BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(friend,op, boost::iterators::detail::always_bool2);
-
-      BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<)
-      BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>)
-      BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<=)
-      BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>=)
-
-#  undef BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION
-
-      BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(
-          friend, -, boost::iterators::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);
-      }
-
-      // objects of this class are useless
-      BOOST_DELETED_FUNCTION(iterator_core_access())
-  };
-
-  namespace detail {
-
-    // Implementation for forward traversal iterators
-    template <
-        class Derived
-      , class Value
-      , class CategoryOrTraversal
-      , class Reference
-      , class Difference
-    >
-    class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false >
-# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
-        : public boost::iterators::detail::iterator_facade_types<
-             Value, CategoryOrTraversal, Reference, Difference
-          >::base
-#  undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
-# endif
-    {
-    private:
-        typedef boost::iterators::detail::iterator_facade_types<
-            Value, CategoryOrTraversal, Reference, Difference
-        > associated_types;
-
-        typedef boost::iterators::detail::operator_arrow_dispatch<
-            Reference
-          , typename associated_types::pointer
-        > operator_arrow_dispatch_;
-
-    public:
-        typedef typename associated_types::value_type value_type;
-        typedef Reference reference;
-        typedef Difference difference_type;
-
-        typedef typename operator_arrow_dispatch_::result_type pointer;
-
-        typedef typename associated_types::iterator_category iterator_category;
-
-    public:
-        reference operator*() const
-        {
-            return iterator_core_access::dereference(this->derived());
-        }
-
-        pointer operator->() const
-        {
-            return operator_arrow_dispatch_::apply(*this->derived());
-        }
-
-        Derived& operator++()
-        {
-            iterator_core_access::increment(this->derived());
-            return this->derived();
-        }
-
-    protected:
-        //
-        // Curiously Recurring Template interface.
-        //
-        Derived& derived()
-        {
-            return *static_cast<Derived*>(this);
-        }
-
-        Derived const& derived() const
-        {
-            return *static_cast<Derived const*>(this);
-        }
-    };
-
-    // Implementation for bidirectional traversal iterators
-    template <
-        class Derived
-      , class Value
-      , class CategoryOrTraversal
-      , class Reference
-      , class Difference
-    >
-    class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > :
-        public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false >
-    {
-    public:
-        Derived& operator--()
-        {
-            iterator_core_access::decrement(this->derived());
-            return this->derived();
-        }
-
-        Derived operator--(int)
-        {
-            Derived tmp(this->derived());
-            --*this;
-            return tmp;
-        }
-    };
-
-    // Implementation for random access traversal iterators
-    template <
-        class Derived
-      , class Value
-      , class CategoryOrTraversal
-      , class Reference
-      , class Difference
-    >
-    class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, true > :
-        public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false >
-    {
-    private:
-        typedef iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > base_type;
-
-    public:
-        typedef typename base_type::reference reference;
-        typedef typename base_type::difference_type difference_type;
-
-    public:
-        typename boost::iterators::detail::operator_brackets_result<Derived, Value, reference>::type
-        operator[](difference_type n) const
-        {
-            typedef boost::iterators::detail::use_operator_brackets_proxy<Value, Reference> use_proxy;
-
-            return boost::iterators::detail::make_operator_brackets_result<Derived>(
-                this->derived() + n
-              , use_proxy()
-            );
-        }
-
-        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;
-        }
-    };
-
-  } // namespace detail
-
-  //
-  // 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 :
-      public detail::iterator_facade_base<
-          Derived,
-          Value,
-          CategoryOrTraversal,
-          Reference,
-          Difference,
-          detail::is_traversal_at_least< CategoryOrTraversal, bidirectional_traversal_tag >::value,
-          detail::is_traversal_at_least< CategoryOrTraversal, random_access_traversal_tag >::value
-      >
-  {
-  protected:
-      // For use by derived classes
-      typedef iterator_facade<Derived,Value,CategoryOrTraversal,Reference,Difference> iterator_facade_;
-  };
-
-  template <class I, class V, class TC, class R, class D>
-  inline typename boost::iterators::detail::postfix_increment_result<I,V,R,TC>::type
-  operator++(
-      iterator_facade<I,V,TC,R,D>& i
-    , int
-  )
-  {
-      typename boost::iterators::detail::postfix_increment_result<I,V,R,TC>::type
-          tmp(*static_cast<I*>(&i));
-
-      ++i;
-
-      return tmp;
-  }
-
-
-  //
-  // 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::iterators::detail::always_bool2                                   \
-    , return_prefix                                                 \
-    , base_op                                                       \
-  )
-
-  BOOST_ITERATOR_FACADE_RELATION(==, return, equal)
-  BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
-
-# undef BOOST_ITERATOR_FACADE_RELATION
-
-
-# define BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(op, result_type, return_prefix, base_op) \
-  BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(inline, op, result_type)                   \
-  {                                                                             \
-      /* For those compilers that do not support enable_if */                   \
-      BOOST_STATIC_ASSERT((                                                     \
-          is_interoperable< Derived1, Derived2 >::value &&                      \
-          boost::iterators::detail::is_traversal_at_least< typename iterator_category< Derived1 >::type, random_access_traversal_tag >::value && \
-          boost::iterators::detail::is_traversal_at_least< typename iterator_category< Derived2 >::type, random_access_traversal_tag >::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_RANDOM_ACCESS_RELATION(op, return_prefix, base_op) \
-  BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(                                    \
-      op                                                            \
-    , boost::iterators::detail::always_bool2                                   \
-    , return_prefix                                                 \
-    , base_op                                                       \
-  )
-
-  BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<, return 0 >, distance_from)
-  BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>, return 0 <, distance_from)
-  BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<=, return 0 >=, distance_from)
-  BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>=, return 0 <=, distance_from)
-
-# undef BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION
-
-  // operator- requires an additional part in the static assertion
-  BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(
-      -
-    , boost::iterators::detail::choose_difference_type
-    , return
-    , distance_from
-  )
-
-# undef BOOST_ITERATOR_FACADE_INTEROP
-# undef BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS
-
-# 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
-
-# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD
-# undef BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD
-# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL
-
-} // namespace iterators
-
-using iterators::iterator_core_access;
-using iterators::iterator_facade;
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_traits.hpp
deleted file mode 100644
index 1a5f1e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/iterator_traits.hpp
+++ /dev/null
@@ -1,60 +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 {
-namespace iterators {
-
-// Macro for supporting old compilers, no longer needed but kept
-// for backwards compatibility (it was documented).
-#define BOOST_ITERATOR_CATEGORY iterator_category
-
-
-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 iterator_category
-{
-    typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;
-};
-
-} // namespace iterators
-
-using iterators::iterator_value;
-using iterators::iterator_reference;
-using iterators::iterator_pointer;
-using iterators::iterator_difference;
-using iterators::iterator_category;
-
-} // namespace boost
-
-#endif // ITERATOR_TRAITS_DWA200347_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/minimum_category.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/minimum_category.hpp
deleted file mode 100644
index 15679bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/minimum_category.hpp
+++ /dev/null
@@ -1,95 +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 BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_
-# define BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_
-
-# include <boost/static_assert.hpp>
-# include <boost/type_traits/is_convertible.hpp>
-# include <boost/type_traits/is_same.hpp>
-
-# include <boost/mpl/placeholders.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost {
-namespace iterators {
-namespace detail {
-
-template <bool GreaterEqual, bool LessEqual>
-struct minimum_category_impl;
-
-template <class T1, class T2>
-struct error_not_related_by_convertibility;
-
-template <>
-struct minimum_category_impl<true,false>
-{
-    template <class T1, class T2> struct apply
-    {
-        typedef T2 type;
-    };
-};
-
-template <>
-struct minimum_category_impl<false,true>
-{
-    template <class T1, class T2> struct apply
-    {
-        typedef T1 type;
-    };
-};
-
-template <>
-struct minimum_category_impl<true,true>
-{
-    template <class T1, class T2> struct apply
-    {
-        BOOST_STATIC_ASSERT((is_same<T1,T2>::value));
-        typedef T1 type;
-    };
-};
-
-template <>
-struct minimum_category_impl<false,false>
-{
-    template <class T1, class T2> struct apply
-      : error_not_related_by_convertibility<T1,T2>
-    {
-    };
-};
-
-} // namespace detail
-
-//
-// Returns the minimum category type or fails to compile
-// if T1 and T2 are unrelated.
-//
-template <class T1 = mpl::_1, class T2 = mpl::_2>
-struct minimum_category
-{
-    typedef boost::iterators::detail::minimum_category_impl<
-        ::boost::is_convertible<T1,T2>::value
-      , ::boost::is_convertible<T2,T1>::value
-    > outer;
-
-    typedef typename outer::template apply<T1,T2> inner;
-    typedef typename inner::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2))
-};
-
-template <>
-struct minimum_category<mpl::_1,mpl::_2>
-{
-    template <class T1, class T2>
-    struct apply : minimum_category<T1,T2>
-    {};
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2))
-};
-
-} // namespace iterators
-
-} // namespace boost
-
-#endif // BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/new_iterator_tests.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/new_iterator_tests.hpp
deleted file mode 100644
index caad700..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/new_iterator_tests.hpp
+++ /dev/null
@@ -1,264 +0,0 @@
-#ifndef BOOST_NEW_ITERATOR_TESTS_HPP
-# define BOOST_NEW_ITERATOR_TESTS_HPP
-
-//
-// Copyright (c) David Abrahams 2001.
-// Copyright (c) Jeremy Siek 2001-2003.
-// Copyright (c) Thomas Witt 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)
-//
-
-// This is meant to be the beginnings of a comprehensive, generic
-// test suite for STL concepts such as iterators and containers.
-//
-// Revision History:
-// 28 Oct 2002  Started update for new iterator categories
-//              (Jeremy Siek)
-// 28 Apr 2002  Fixed input iterator requirements.
-//              For a == b a++ == b++ is no longer required.
-//              See 24.1.1/3 for details.
-//              (Thomas Witt)
-// 08 Feb 2001  Fixed bidirectional iterator test so that
-//              --i is no longer a precondition.
-//              (Jeremy Siek)
-// 04 Feb 2001  Added lvalue test, corrected preconditions
-//              (David Abrahams)
-
-# include <iterator>
-# include <boost/type_traits.hpp>
-# include <boost/static_assert.hpp>
-# include <boost/concept_archetype.hpp> // for detail::dummy_constructor
-# include <boost/detail/iterator.hpp>
-# include <boost/pending/iterator_tests.hpp>
-# include <boost/iterator/is_readable_iterator.hpp>
-# include <boost/iterator/is_lvalue_iterator.hpp>
-
-# include <boost/iterator/detail/config_def.hpp>
-# include <boost/detail/is_incrementable.hpp>
-# include <boost/detail/lightweight_test.hpp>
-
-namespace boost {
-
-
-// Do separate tests for *i++ so we can treat, e.g., smart pointers,
-// as readable and/or writable iterators.
-template <class Iterator, class T>
-void readable_iterator_traversal_test(Iterator i1, T v, mpl::true_)
-{
-    T v2(*i1++);
-    BOOST_TEST(v == v2);
-}
-
-template <class Iterator, class T>
-void readable_iterator_traversal_test(const Iterator i1, T v, mpl::false_)
-{}
-
-template <class Iterator, class T>
-void writable_iterator_traversal_test(Iterator i1, T v, mpl::true_)
-{
-    ++i1;  // we just wrote into that position
-    *i1++ = v;
-    Iterator x(i1++);
-    (void)x;
-}
-
-template <class Iterator, class T>
-void writable_iterator_traversal_test(const Iterator i1, T v, mpl::false_)
-{}
-
-
-// Preconditions: *i == v
-template <class Iterator, class T>
-void readable_iterator_test(const Iterator i1, T v)
-{
-  Iterator i2(i1); // Copy Constructible
-  typedef typename detail::iterator_traits<Iterator>::reference ref_t;
-  ref_t r1 = *i1;
-  ref_t r2 = *i2;
-  T v1 = r1;
-  T v2 = r2;
-  BOOST_TEST(v1 == v);
-  BOOST_TEST(v2 == v);
-
-# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
-  readable_iterator_traversal_test(i1, v, detail::is_postfix_incrementable<Iterator>());
-      
-  // I think we don't really need this as it checks the same things as
-  // the above code.
-  BOOST_STATIC_ASSERT(is_readable_iterator<Iterator>::value);
-# endif 
-}
-
-template <class Iterator, class T>
-void writable_iterator_test(Iterator i, T v, T v2)
-{
-  Iterator i2(i); // Copy Constructible
-  *i2 = v;
-
-# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
-  writable_iterator_traversal_test(
-      i, v2, mpl::and_<
-          detail::is_incrementable<Iterator>
-        , detail::is_postfix_incrementable<Iterator>
-      >());
-# endif 
-}
-
-template <class Iterator>
-void swappable_iterator_test(Iterator i, Iterator j)
-{
-  Iterator i2(i), j2(j);
-  typename detail::iterator_traits<Iterator>::value_type bi = *i, bj = *j;
-  iter_swap(i2, j2);
-  typename detail::iterator_traits<Iterator>::value_type ai = *i, aj = *j;
-  BOOST_TEST(bi == aj && bj == ai);
-}
-
-template <class Iterator, class T>
-void constant_lvalue_iterator_test(Iterator i, T v1)
-{
-  Iterator i2(i);
-  typedef typename detail::iterator_traits<Iterator>::value_type value_type;
-  typedef typename detail::iterator_traits<Iterator>::reference reference;
-  BOOST_STATIC_ASSERT((is_same<const value_type&, reference>::value));
-  const T& v2 = *i2;
-  BOOST_TEST(v1 == v2);
-# ifndef BOOST_NO_LVALUE_RETURN_DETECTION
-  BOOST_STATIC_ASSERT(is_lvalue_iterator<Iterator>::value);
-  BOOST_STATIC_ASSERT(!is_non_const_lvalue_iterator<Iterator>::value);
-# endif 
-}
-
-template <class Iterator, class T>
-void non_const_lvalue_iterator_test(Iterator i, T v1, T v2)
-{
-  Iterator i2(i);
-  typedef typename detail::iterator_traits<Iterator>::value_type value_type;
-  typedef typename detail::iterator_traits<Iterator>::reference reference;
-  BOOST_STATIC_ASSERT((is_same<value_type&, reference>::value));
-  T& v3 = *i2;
-  BOOST_TEST(v1 == v3);
-  
-  // A non-const lvalue iterator is not neccessarily writable, but we
-  // are assuming the value_type is assignable here
-  *i = v2;
-  
-  T& v4 = *i2;
-  BOOST_TEST(v2 == v4);
-# ifndef BOOST_NO_LVALUE_RETURN_DETECTION
-  BOOST_STATIC_ASSERT(is_lvalue_iterator<Iterator>::value);
-  BOOST_STATIC_ASSERT(is_non_const_lvalue_iterator<Iterator>::value);
-# endif 
-}
-
-template <class Iterator, class T>
-void forward_readable_iterator_test(Iterator i, Iterator j, T val1, T val2)
-{
-  Iterator i2;
-  Iterator i3(i);
-  i2 = i;
-  BOOST_TEST(i2 == i3);
-  BOOST_TEST(i != j);
-  BOOST_TEST(i2 != j);
-  readable_iterator_test(i, val1);
-  readable_iterator_test(i2, val1);
-  readable_iterator_test(i3, val1);
-
-  BOOST_TEST(i == i2++);
-  BOOST_TEST(i != ++i3);
-
-  readable_iterator_test(i2, val2);
-  readable_iterator_test(i3, val2);
-
-  readable_iterator_test(i, val1);
-}
-
-template <class Iterator, class T>
-void forward_swappable_iterator_test(Iterator i, Iterator j, T val1, T val2)
-{
-  forward_readable_iterator_test(i, j, val1, val2);
-  Iterator i2 = i;
-  ++i2;
-  swappable_iterator_test(i, i2);
-}
-
-// bidirectional
-// Preconditions: *i == v1, *++i == v2
-template <class Iterator, class T>
-void bidirectional_readable_iterator_test(Iterator i, T v1, T v2)
-{
-  Iterator j(i);
-  ++j;
-  forward_readable_iterator_test(i, j, v1, v2);
-  ++i;
-
-  Iterator i1 = i, i2 = i;
-
-  BOOST_TEST(i == i1--);
-  BOOST_TEST(i != --i2);
-
-  readable_iterator_test(i, v2);
-  readable_iterator_test(i1, v1);
-  readable_iterator_test(i2, v1);
-
-  --i;
-  BOOST_TEST(i == i1);
-  BOOST_TEST(i == i2);
-  ++i1;
-  ++i2;
-
-  readable_iterator_test(i, v1);
-  readable_iterator_test(i1, v2);
-  readable_iterator_test(i2, v2);
-}
-
-// random access
-// Preconditions: [i,i+N) is a valid range
-template <class Iterator, class TrueVals>
-void random_access_readable_iterator_test(Iterator i, int N, TrueVals vals)
-{
-  bidirectional_readable_iterator_test(i, vals[0], vals[1]);
-  const Iterator j = i;
-  int c;
-
-  for (c = 0; c < N-1; ++c)
-  {
-    BOOST_TEST(i == j + c);
-    BOOST_TEST(*i == vals[c]);
-    typename detail::iterator_traits<Iterator>::value_type x = j[c];
-    BOOST_TEST(*i == x);
-    BOOST_TEST(*i == *(j + c));
-    BOOST_TEST(*i == *(c + j));
-    ++i;
-    BOOST_TEST(i > j);
-    BOOST_TEST(i >= j);
-    BOOST_TEST(j <= i);
-    BOOST_TEST(j < i);
-  }
-
-  Iterator k = j + N - 1;
-  for (c = 0; c < N-1; ++c)
-  {
-    BOOST_TEST(i == k - c);
-    BOOST_TEST(*i == vals[N - 1 - c]);
-    typename detail::iterator_traits<Iterator>::value_type x = j[N - 1 - c];
-    BOOST_TEST(*i == x);
-    Iterator q = k - c; 
-    BOOST_TEST(*i == *q);
-    BOOST_TEST(i > j);
-    BOOST_TEST(i >= j);
-    BOOST_TEST(j <= i);
-    BOOST_TEST(j < i);
-    --i;
-  }
-}
-
-} // namespace boost
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_NEW_ITERATOR_TESTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/permutation_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/permutation_iterator.hpp
deleted file mode 100644
index 32648b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/permutation_iterator.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// (C) Copyright Toon Knapen    2001.
-// (C) Copyright David Abrahams 2003.
-// (C) Copyright Roland Richter 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_PERMUTATION_ITERATOR_HPP
-#define BOOST_PERMUTATION_ITERATOR_HPP
-
-#include <iterator>
-
-#include <boost/iterator/iterator_adaptor.hpp>
-
-
-namespace boost {
-namespace iterators {
-
-template< class ElementIterator
-        , class IndexIterator>
-class permutation_iterator
-  : public iterator_adaptor<
-             permutation_iterator<ElementIterator, IndexIterator>
-           , IndexIterator, typename boost::detail::iterator_traits<ElementIterator>::value_type
-           , use_default, typename boost::detail::iterator_traits<ElementIterator>::reference>
-{
-  typedef iterator_adaptor<
-            permutation_iterator<ElementIterator, IndexIterator>
-          , IndexIterator, typename boost::detail::iterator_traits<ElementIterator>::value_type
-          , use_default, typename boost::detail::iterator_traits<ElementIterator>::reference> super_t;
-
-  friend class iterator_core_access;
-
-public:
-  permutation_iterator() : m_elt_iter() {}
-
-  explicit permutation_iterator(ElementIterator x, IndexIterator y)
-      : super_t(y), m_elt_iter(x) {}
-
-  template<class OtherElementIterator, class OtherIndexIterator>
-  permutation_iterator(
-      permutation_iterator<OtherElementIterator, OtherIndexIterator> const& r
-      , typename enable_if_convertible<OtherElementIterator, ElementIterator>::type* = 0
-      , typename enable_if_convertible<OtherIndexIterator, IndexIterator>::type* = 0
-      )
-    : super_t(r.base()), m_elt_iter(r.m_elt_iter)
-  {}
-
-private:
-    typename super_t::reference dereference() const
-        { return *(m_elt_iter + *this->base()); }
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-    template <class,class> friend class permutation_iterator;
-#else
- public:
-#endif
-    ElementIterator m_elt_iter;
-};
-
-
-template <class ElementIterator, class IndexIterator>
-inline permutation_iterator<ElementIterator, IndexIterator>
-make_permutation_iterator( ElementIterator e, IndexIterator i )
-{
-    return permutation_iterator<ElementIterator, IndexIterator>( e, i );
-}
-
-} // namespace iterators
-
-using iterators::permutation_iterator;
-using iterators::make_permutation_iterator;
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/reverse_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/reverse_iterator.hpp
deleted file mode 100644
index 3bef39e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/reverse_iterator.hpp
+++ /dev/null
@@ -1,74 +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/next_prior.hpp>
-#include <boost/iterator.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-namespace boost {
-namespace iterators {
-
-  //
-  //
-  //
-  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>
-  inline reverse_iterator<BidirectionalIterator> make_reverse_iterator(BidirectionalIterator x)
-  {
-      return reverse_iterator<BidirectionalIterator>(x);
-  }
-
-} // namespace iterators
-
-using iterators::reverse_iterator;
-using iterators::make_reverse_iterator;
-
-} // namespace boost
-
-#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/transform_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/transform_iterator.hpp
deleted file mode 100644
index 851f16f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/transform_iterator.hpp
+++ /dev/null
@@ -1,171 +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 {
-namespace iterators {
-
-  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<const 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::iterators::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type
-  {
-    typedef typename
-    boost::iterators::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>
-  inline 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>
-  inline typename iterators::enable_if<
-      is_class<UnaryFunc>   // We should probably find a cheaper test than is_class<>
-    , transform_iterator<UnaryFunc, Iterator>
-  >::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>
-  inline 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 iterators
-
-using iterators::transform_iterator;
-using iterators::make_transform_iterator;
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_TRANSFORM_ITERATOR_23022003THW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/zip_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator/zip_iterator.hpp
deleted file mode 100644
index 83fa63b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator/zip_iterator.hpp
+++ /dev/null
@@ -1,368 +0,0 @@
-// Copyright David Abrahams and Thomas Becker 2000-2006.
-// Copyright Kohei Takahashi 2012-2014.
-//
-// Distributed under the 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_ZIP_ITERATOR_TMB_07_13_2003_HPP_
-# define BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_
-
-#include <stddef.h>
-#include <boost/iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/iterator/iterator_adaptor.hpp> // for enable_if_convertible
-#include <boost/iterator/iterator_categories.hpp>
-
-#include <boost/iterator/minimum_category.hpp>
-
-#include <utility> // for std::pair
-#include <boost/fusion/adapted/boost_tuple.hpp> // for backward compatibility
-
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/placeholders.hpp>
-
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#include <boost/fusion/algorithm/transformation/transform.hpp>
-#include <boost/fusion/sequence/convert.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/fusion/sequence/comparison/equal_to.hpp>
-#include <boost/fusion/support/tag_of_fwd.hpp>
-
-namespace boost {
-namespace iterators {
-
-  // Zip iterator forward declaration for zip_iterator_base
-  template<typename IteratorTuple>
-  class zip_iterator;
-
-  namespace detail
-  {
-
-    // Functors to be used with tuple algorithms
-    //
-    template<typename DiffType>
-    class advance_iterator
-    {
-    public:
-      advance_iterator(DiffType step) : m_step(step) {}
-
-      template<typename Iterator>
-      void operator()(Iterator& it) const
-      { it += m_step; }
-
-    private:
-      DiffType m_step;
-    };
-    //
-    struct increment_iterator
-    {
-      template<typename Iterator>
-      void operator()(Iterator& it) const
-      { ++it; }
-    };
-    //
-    struct decrement_iterator
-    {
-      template<typename Iterator>
-      void operator()(Iterator& it) const
-      { --it; }
-    };
-    //
-    struct dereference_iterator
-    {
-      template<typename>
-      struct result;
-
-      template<typename This, typename Iterator>
-      struct result<This(Iterator)>
-      {
-        typedef typename
-          remove_reference<typename remove_cv<Iterator>::type>::type
-        iterator;
-
-        typedef typename iterator_reference<iterator>::type type;
-      };
-
-      template<typename Iterator>
-        typename result<dereference_iterator(Iterator)>::type
-        operator()(Iterator const& it) const
-      { return *it; }
-    };
-
-    // Metafunction to obtain the type of the tuple whose element types
-    // are the reference types of an iterator tuple.
-    //
-    template<typename IteratorTuple>
-    struct tuple_of_references
-      : mpl::transform<
-            IteratorTuple,
-            iterator_reference<mpl::_1>
-          >
-    {
-    };
-
-    // Specialization for std::pair
-    template<typename Iterator1, typename Iterator2>
-    struct tuple_of_references<std::pair<Iterator1, Iterator2> >
-    {
-        typedef std::pair<
-            typename iterator_reference<Iterator1>::type
-          , typename iterator_reference<Iterator2>::type
-        > type;
-    };
-
-    // Metafunction to obtain the minimal traversal tag in a tuple
-    // of iterators.
-    //
-    template<typename IteratorTuple>
-    struct minimum_traversal_category_in_iterator_tuple
-    {
-      typedef typename mpl::transform<
-          IteratorTuple
-        , pure_traversal_tag<iterator_traversal<> >
-      >::type tuple_of_traversal_tags;
-
-      typedef typename mpl::fold<
-          tuple_of_traversal_tags
-        , random_access_traversal_tag
-        , minimum_category<>
-      >::type type;
-    };
-
-    template<typename Iterator1, typename Iterator2>
-    struct minimum_traversal_category_in_iterator_tuple<std::pair<Iterator1, Iterator2> >
-    {
-        typedef typename pure_traversal_tag<
-            typename iterator_traversal<Iterator1>::type
-        >::type iterator1_traversal;
-        typedef typename pure_traversal_tag<
-            typename iterator_traversal<Iterator2>::type
-        >::type iterator2_traversal;
-
-        typedef typename minimum_category<
-            iterator1_traversal
-          , typename minimum_category<
-                iterator2_traversal
-              , random_access_traversal_tag
-            >::type
-        >::type type;
-    };
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Class zip_iterator_base
-    //
-    // Builds and exposes the iterator facade type from which the zip
-    // iterator will be derived.
-    //
-    template<typename IteratorTuple>
-    struct zip_iterator_base
-    {
-     private:
-        // Reference type is the type of the tuple obtained from the
-        // iterators' reference types.
-        typedef typename
-        detail::tuple_of_references<IteratorTuple>::type reference;
-
-        // Value type is the same as reference type.
-        typedef reference value_type;
-
-        // Difference type is the first iterator's difference type
-        typedef typename iterator_difference<
-            typename mpl::at_c<IteratorTuple, 0>::type
-        >::type difference_type;
-
-        // Traversal catetgory is the minimum traversal category in the
-        // iterator tuple.
-        typedef typename
-        detail::minimum_traversal_category_in_iterator_tuple<
-            IteratorTuple
-        >::type traversal_category;
-     public:
-
-        // The iterator facade type from which the zip iterator will
-        // be derived.
-        typedef iterator_facade<
-            zip_iterator<IteratorTuple>,
-            value_type,
-            traversal_category,
-            reference,
-            difference_type
-        > type;
-    };
-
-    template <>
-    struct zip_iterator_base<int>
-    {
-        typedef int type;
-    };
-
-    template <typename reference>
-    struct converter
-    {
-        template <typename Seq>
-        static reference call(Seq seq)
-        {
-            typedef typename fusion::traits::tag_of<reference>::type tag;
-            return fusion::convert<tag>(seq);
-        }
-    };
-
-    template <typename Reference1, typename Reference2>
-    struct converter<std::pair<Reference1, Reference2> >
-    {
-        typedef std::pair<Reference1, Reference2> reference;
-        template <typename Seq>
-        static reference call(Seq seq)
-        {
-            return reference(
-                fusion::at_c<0>(seq)
-              , fusion::at_c<1>(seq));
-        }
-    };
-  }
-
-  /////////////////////////////////////////////////////////////////////
-  //
-  // zip_iterator class definition
-  //
-  template<typename IteratorTuple>
-  class zip_iterator :
-    public detail::zip_iterator_base<IteratorTuple>::type
-  {
-
-   // Typedef super_t as our base class.
-   typedef typename
-     detail::zip_iterator_base<IteratorTuple>::type super_t;
-
-   // iterator_core_access is the iterator's best friend.
-   friend class iterator_core_access;
-
-  public:
-
-    // Construction
-    // ============
-
-    // Default constructor
-    zip_iterator() { }
-
-    // Constructor from iterator tuple
-    zip_iterator(IteratorTuple iterator_tuple)
-      : m_iterator_tuple(iterator_tuple)
-    { }
-
-    // Copy constructor
-    template<typename OtherIteratorTuple>
-    zip_iterator(
-       const zip_iterator<OtherIteratorTuple>& other,
-       typename enable_if_convertible<
-         OtherIteratorTuple,
-         IteratorTuple
-         >::type* = 0
-    ) : m_iterator_tuple(other.get_iterator_tuple())
-    {}
-
-    // Get method for the iterator tuple.
-    const IteratorTuple& get_iterator_tuple() const
-    { return m_iterator_tuple; }
-
-  private:
-
-    // Implementation of Iterator Operations
-    // =====================================
-
-    // Dereferencing returns a tuple built from the dereferenced
-    // iterators in the iterator tuple.
-    typename super_t::reference dereference() const
-    {
-        typedef typename super_t::reference reference;
-        typedef detail::converter<reference> gen;
-        return gen::call(fusion::transform(
-          get_iterator_tuple(),
-          detail::dereference_iterator()));
-    }
-
-    // Two zip iterators are equal if all iterators in the iterator
-    // tuple are equal. NOTE: It should be possible to implement this
-    // as
-    //
-    // return get_iterator_tuple() == other.get_iterator_tuple();
-    //
-    // but equality of tuples currently (7/2003) does not compile
-    // under several compilers. No point in bringing in a bunch
-    // of #ifdefs here.
-    //
-    template<typename OtherIteratorTuple>
-    bool equal(const zip_iterator<OtherIteratorTuple>& other) const
-    {
-        return fusion::equal_to(
-          get_iterator_tuple(),
-          other.get_iterator_tuple());
-    }
-
-    // Advancing a zip iterator means to advance all iterators in the
-    // iterator tuple.
-    void advance(typename super_t::difference_type n)
-    {
-        fusion::for_each(
-          m_iterator_tuple,
-          detail::advance_iterator<BOOST_DEDUCED_TYPENAME super_t::difference_type>(n));
-    }
-    // Incrementing a zip iterator means to increment all iterators in
-    // the iterator tuple.
-    void increment()
-    {
-        fusion::for_each(
-          m_iterator_tuple,
-          detail::increment_iterator());
-    }
-
-    // Decrementing a zip iterator means to decrement all iterators in
-    // the iterator tuple.
-    void decrement()
-    {
-        fusion::for_each(
-          m_iterator_tuple,
-          detail::decrement_iterator());
-    }
-
-    // Distance is calculated using the first iterator in the tuple.
-    template<typename OtherIteratorTuple>
-      typename super_t::difference_type distance_to(
-        const zip_iterator<OtherIteratorTuple>& other
-        ) const
-    {
-        return fusion::at_c<0>(other.get_iterator_tuple()) -
-            fusion::at_c<0>(this->get_iterator_tuple());
-    }
-
-    // Data Members
-    // ============
-
-    // The iterator tuple.
-    IteratorTuple m_iterator_tuple;
-
-  };
-
-  // Make function for zip iterator
-  //
-  template<typename IteratorTuple>
-  inline zip_iterator<IteratorTuple>
-  make_zip_iterator(IteratorTuple t)
-  { return zip_iterator<IteratorTuple>(t); }
-
-} // namespace iterators
-
-using iterators::zip_iterator;
-using iterators::make_zip_iterator;
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/iterator_adaptors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/iterator_adaptors.hpp
deleted file mode 100644
index ed9579c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/iterator_adaptors.hpp
+++ /dev/null
@@ -1,13 +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)
-
-//  See www.boost.org/libs/iterator for documentation.
-
-#ifndef ITERATOR_ADAPTORS_DWA2004725_HPP
-# define ITERATOR_ADAPTORS_DWA2004725_HPP
-
-#define BOOST_ITERATOR_ADAPTORS_VERSION 0x0200
-#include <boost/iterator/iterator_adaptor.hpp>
-
-#endif // ITERATOR_ADAPTORS_DWA2004725_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/last_value.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/last_value.hpp
deleted file mode 100644
index 183a739..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/last_value.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// last_value function object (documented as part of Boost.Signals)
-
-// 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_LAST_VALUE_HPP
-#define BOOST_LAST_VALUE_HPP
-
-#include <cassert>
-#include <boost/config.hpp>
-
-namespace boost {
-  template<typename T>
-  struct last_value {
-    typedef T result_type;
-
-    template<typename InputIterator>
-    T operator()(InputIterator first, InputIterator last) const
-    {
-      assert(first != last);
-      T value = *first++;
-      while (first != last)
-        value = *first++;
-      return value;
-    }
-  };
-
-  template<>
-  struct last_value<void> {
-#ifdef BOOST_NO_VOID_RETURNS
-    struct unusable {};
-
-  public:
-    typedef unusable result_type;
-#else
-  public:
-    typedef void result_type;
-#endif // BOOST_NO_VOID_RETURNS
-
-    template<typename InputIterator>
-    result_type
-    operator()(InputIterator first, InputIterator last) const
-    {
-      while (first != last)
-        *first++;
-      return result_type();
-    }
-  };
-}
-#endif // BOOST_SIGNALS_LAST_VALUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/lexical_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/lexical_cast.hpp
deleted file mode 100644
index 3dc21f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/lexical_cast.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright Kevlin Henney, 2000-2005.
-// Copyright Alexander Nasonov, 2006-2010.
-// Copyright Antony Polukhin, 2011-2014.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// 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, Justin Viiret, Michael Hofmann,
-//        Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters
-// when:  November 2000, March 2003, June 2005, June 2006, March 2011 - 2014
-
-#ifndef BOOST_LEXICAL_CAST_INCLUDED
-#define BOOST_LEXICAL_CAST_INCLUDED
-
-#include <boost/config.hpp>
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#   pragma once
-#endif
-
-#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING)
-#define BOOST_LCAST_NO_WCHAR_T
-#endif
-
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/lexical_cast/bad_lexical_cast.hpp>
-#include <boost/lexical_cast/try_lexical_convert.hpp>
-
-namespace boost 
-{
-    template <typename Target, typename Source>
-    inline Target lexical_cast(const Source &arg)
-    {
-        Target result = Target();
-
-        if (!boost::conversion::detail::try_lexical_convert(arg, result)) {
-            boost::conversion::detail::throw_bad_cast<Source, Target>();
-        }
-
-        return result;
-    }
-
-    template <typename Target>
-    inline Target lexical_cast(const char* chars, std::size_t count)
-    {
-        return ::boost::lexical_cast<Target>(
-            ::boost::iterator_range<const char*>(chars, chars + count)
-        );
-    }
-
-    template <typename Target>
-    inline Target lexical_cast(const unsigned char* chars, std::size_t count)
-    {
-        return ::boost::lexical_cast<Target>(
-            ::boost::iterator_range<const unsigned char*>(chars, chars + count)
-        );
-    }
-
-    template <typename Target>
-    inline Target lexical_cast(const signed char* chars, std::size_t count)
-    {
-        return ::boost::lexical_cast<Target>(
-            ::boost::iterator_range<const signed char*>(chars, chars + count)
-        );
-    }
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-    template <typename Target>
-    inline Target lexical_cast(const wchar_t* chars, std::size_t count)
-    {
-        return ::boost::lexical_cast<Target>(
-            ::boost::iterator_range<const wchar_t*>(chars, chars + count)
-        );
-    }
-#endif
-#ifndef BOOST_NO_CXX11_CHAR16_T
-    template <typename Target>
-    inline Target lexical_cast(const char16_t* chars, std::size_t count)
-    {
-        return ::boost::lexical_cast<Target>(
-            ::boost::iterator_range<const char16_t*>(chars, chars + count)
-        );
-    }
-#endif
-#ifndef BOOST_NO_CXX11_CHAR32_T
-    template <typename Target>
-    inline Target lexical_cast(const char32_t* chars, std::size_t count)
-    {
-        return ::boost::lexical_cast<Target>(
-            ::boost::iterator_range<const char32_t*>(chars, chars + count)
-        );
-    }
-#endif
-
-} // namespace boost
-
-#undef BOOST_LCAST_NO_WCHAR_T
-
-#endif // BOOST_LEXICAL_CAST_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/limits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/limits.hpp
deleted file mode 100644
index 47d8155..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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
-#  error "There is no std::numeric_limits suppport available."
-#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/rbgl_trimmed_boost_1_61_0/boost/local_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/local_function.hpp
deleted file mode 100644
index 548bbbb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/local_function.hpp
+++ /dev/null
@@ -1,459 +0,0 @@
-
-// Copyright (C) 2009-2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/local_function
-
-#ifndef BOOST_LOCAL_FUNCTION_HPP_
-#define BOOST_LOCAL_FUNCTION_HPP_
-
-#ifndef DOXYGEN
-
-#include <boost/local_function/aux_/macro/decl.hpp>
-#include <boost/local_function/aux_/macro/name.hpp>
-#include <boost/local_function/aux_/macro/typeof.hpp>
-#include <boost/local_function/aux_/preprocessor/traits/decl.hpp>
-#include <boost/local_function/detail/preprocessor/line_counter.hpp>
-#include <boost/local_function/detail/preprocessor/void_list.hpp>
-#include <boost/config.hpp>
-
-// PUBLIC //
-
-#ifdef BOOST_NO_CXX11_VARIADIC_MACROS
-#   define BOOST_LOCAL_FUNCTION_ID(id, declarations) \
-        BOOST_LOCAL_FUNCTION_AUX_DECL(id, 0 /* not within template */, \
-                BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \
-                        BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST( \
-                                declarations)))
-#   define BOOST_LOCAL_FUNCTION(declarations) \
-        BOOST_LOCAL_FUNCTION_ID( \
-                BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, declarations)
-#   define BOOST_LOCAL_FUNCTION_ID_TPL(id, declarations) \
-        BOOST_LOCAL_FUNCTION_AUX_DECL(id, 1 /* within template */, \
-                BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \
-                        BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST( \
-                                declarations)))
-#   define BOOST_LOCAL_FUNCTION_TPL(declarations) \
-        BOOST_LOCAL_FUNCTION_ID_TPL( \
-                BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, declarations)
-#else // VARIADIC
-#   define BOOST_LOCAL_FUNCTION_ID(id, ...) \
-        BOOST_LOCAL_FUNCTION_AUX_DECL(id, 0 /* not within template */, \
-                BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \
-                        BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__)))
-#   define BOOST_LOCAL_FUNCTION(...) \
-        BOOST_LOCAL_FUNCTION_ID( \
-                BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, __VA_ARGS__)
-#   define BOOST_LOCAL_FUNCTION_ID_TPL(id, ...) \
-        BOOST_LOCAL_FUNCTION_AUX_DECL(id, 1 /* within template */, \
-                BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \
-                        BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__)))
-#   define BOOST_LOCAL_FUNCTION_TPL(...) \
-        BOOST_LOCAL_FUNCTION_ID_TPL( \
-                BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, __VA_ARGS__)
-#endif // VARIADIC
-
-#define BOOST_LOCAL_FUNCTION_NAME(qualified_name) \
-    BOOST_LOCAL_FUNCTION_AUX_NAME(0 /* not within template */, qualified_name)
-#define BOOST_LOCAL_FUNCTION_NAME_TPL(qualified_name) \
-    BOOST_LOCAL_FUNCTION_AUX_NAME(1 /* within template */, qualified_name)
-
-#define BOOST_LOCAL_FUNCTION_TYPEOF(bound_variable_name) \
-    BOOST_LOCAL_FUNCTION_AUX_TYPEOF_TYPE(bound_variable_name)
-
-// DOCUMENTATION //
-
-#else // DOXYGEN
-
-/** @file
- at brief Local functions allow to program functions locally, within other
-functions, and directly within the scope where they are needed.
-*/
-
-/**
- at brief This macro is used to start a local function declaration.
-
-This macro must be used within a declarative context, it must follow the local
-function result type, it must be followed by the local function body code, and
-then by the @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro (see the
- at RefSect{tutorial, Tutorial} and @RefSect{advanced_topics, Advanced Topics}
-sections):
- at code
-{ // Some declarative context.
-    ...
-    result_type BOOST_LOCAL_FUNCTION(declarations) {
-        ... // Body code.
-    } BOOST_LOCAL_FUNCTION_NAME(qualified_name)
-    ...
-}
- at endcode
-
-As usual, exceptions specifications can be optionally programmed just after the
-macro and before the body code block <c>{ ... }</c> (but the exception
-specifications will only apply to the body code and not to the library code
-automatically generated by the macro expansion, see the
- at RefSect{advanced_topics, Advanced Topics} section).
-
-Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_TPL}
-and @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used.
-
- at Params
- at Param{declarations,
-On compilers that support variadic macros\, the parameter declarations are
-defined by the following grammar:
- at code
-    declarations:
-            void | declaration_tuple | declaration_sequence
-    declaration_tuple:
-            declaration\, declaration\, ...
-    declaration_sequence:
-            (declaration) (declaration) ...
-    declaration:
-            bound_variable | parameter | default_value | result_type
-    bound_variable:
-            [const] bind [(variable_type)] [&] variable_name
-    parameter:
-            [auto | register] parameter_type parameter_name
-    default_value:
-            default parameter_default_value
-    result_type:
-            return function_result_type
- at endcode
-On compilers that do not support variadic macros\, <c>declaration_tuple</c>
-cannot be used:
- at code
-    declarations:
-            void | declaration_sequence
- at endcode
-
-(Lexical conventions: <c>token1 | token2</c> means either <c>token1</c> or
-<c>token2</c>; <c>[token]</c> means either <c>token</c> or nothing;
-<c>{expression}</c> means the token resulting from the expression.)
-}
- at EndParams
- 
-Note that on compilers that support variadic macros, commas can be used to
-separate the declarations resembling more closely the usual C++ function
-declaration syntax (this is the preferred syntax).
-However, for portability, on all C++ compilers (with and without variadic
-macros) the same library macros also accept parameter declarations specified as
-a Boost.Preprocessor sequence separated by round parenthesis <c>()</c>.
-
-When binding the object <c>this</c>, the special symbol <c>this_</c> needs to
-be used instead of <c>this</c> as the name of the variable to bind and also
-within the local function body to access the object.
-(Mistakenly using <c>this</c> instead of <c>this_</c> might not always result in a compiler error and will in general result in undefined behaviour.)
-
-The result type must either be specified just before the macro or within the
-macro declarations prefixed by <c>return</c> (but not in both places).
-
-Within the local function body it possible to access the result type using <c>result_type</c>, the type of the first parameter using <c>arg1_type</c>, the type of the second parameter using <c>arg2_type</c>, etc.
-The bound variable types can be accessed using @RefMacro{BOOST_LOCAL_FUNCTION_TYPEOF}.
-
-This macro cannot be portably expanded multiple times on the same line.
-In these cases, use the @RefMacro{BOOST_LOCAL_FUNCTION_ID} macro instead.
-
-The maximum number of local function parameters (excluding bound variables) is
-specified by the configuration macro
- at RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX}.
-The maximum number of bound variables is specified by the configuration macro
- at RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX}.
-The configuration macro
- at RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS} can be used to force
-optimizations that reduce the local function call run-time overhead.
-
- at Note Local functions are functors so they can be assigned to other functors
-like <c>boost::function</c> (see Boost.Function).
-
- at See @RefSect{tutorial, Tutorial} section,
- at RefSect{advanced_topics, Advanced Topics} section,
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_TPL},
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL},
- at RefMacro{BOOST_LOCAL_FUNCTION_TYPEOF}, @RefMacro{BOOST_LOCAL_FUNCTION_ID},
- at RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX},
- at RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX},
- at RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS}.
-*/
-#define BOOST_LOCAL_FUNCTION(declarations)
-
-/**
- at brief This macro is used to start a local function declaration within
-templates.
-
-This macro must be used instead of @RefMacro{BOOST_LOCAL_FUNCTION} when
-declaring a local function within a template.
-A part from that, this macro has the exact same syntax a
- at RefMacro{BOOST_LOCAL_FUNCTION} (see @RefMacro{BOOST_LOCAL_FUNCTION} for more
-information):
- at code
-{ // Some declarative context within a template.
-    ...
-    result_type BOOST_LOCAL_FUNCTION_TPL(declarations) {
-        ... // Body code.
-    } BOOST_LOCAL_FUNCTION_NAME_TPL(qualified_name)
-    ...
-}
- at endcode
-
-Note that @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used with this
-macro instead of @RefMacro{BOOST_LOCAL_FUNCTION_NAME}.
-
-This macro cannot be portably expanded multiple times on the same line.
-In these cases, use the @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL} macro instead.
-
- at Note C++03 does not allow to use <c>typename</c> outside templates.
-This library internally manipulates types, these operations require
-<c>typename</c> but only within templates.
-This macro is used to indicate to the library when the enclosing scope is a
-template so the library can correctly use <c>typename</c>.
-
- at See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_LOCAL_FUNCTION},
- at RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL},
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}.
-*/
-#define BOOST_LOCAL_FUNCTION_TPL(declarations)
-
-/**
- at brief This macro allows to declare multiple local functions on the same line.
-
-This macro is equivalent to @RefMacro{BOOST_LOCAL_FUNCTION} but it can be
-expanded multiple times on the same line if different identifiers <c>id</c> are
-provided for each expansion (see the
- at RefSect{advanced_topics, Advanced Topics} section).
-
- at Params
- at Param{id,
-A unique identifier token which can be concatenated by the preprocessor
-(<c>__LINE__</c>\, <c>local_function_number_1_on_line_123</c>\, etc).
-}
- at Param{declarations,
-Same as the <c>declarations</c> parameter of the
- at RefMacro{BOOST_LOCAL_FUNCTION} macro.
-}
- at EndParams
-
-The @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro should be used to end each one
-of the multiple local function declarations as usual (and it will specify a
-unique name for each local function).
-
-Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL}
-must be used.
-
- at Note This macro can be useful when the local function macros are expanded
-within user-defined macros (because macros all expand on the same line).
-On some compilers (e.g., MSVC which supports the non-standard
-<c>__COUNTER__</c> macro) it might not be necessary to use this macro but
-the use of this macro when expanding multiple local function macros on the same
-line is always necessary to ensure portability (this is because this library
-can only portably use <c>__LINE__</c> to internally generate unique
-identifiers).
-
- at See @RefSect{advanced_topics, Advanced Topics} section,
- at RefMacro{BOOST_LOCAL_FUNCTION}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME},
- at RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL}.
-*/
-#define BOOST_LOCAL_FUNCTION_ID(id, declarations)
-
-/**
- at brief This macro allows to declare multiple local functions on the same line
-within templates.
-
-This macro must be used instead of @RefMacro{BOOST_LOCAL_FUNCTION_TPL} when
-declaring multiple local functions on the same line within a template.
-A part from that, this macro has the exact same syntax as
- at RefMacro{BOOST_LOCAL_FUNCTION_TPL} (see @RefMacro{BOOST_LOCAL_FUNCTION_TPL}
-for more information).
-
- at Params
- at Param{id,
-A unique identifier token which can be concatenated by the preprocessor
-(<c>__LINE__</c>\, <c>local_function_number_1_on_line_123</c>\, etc).
-}
- at Param{declarations,
-Same as the <c>declarations</c> parameter of the
- at RefMacro{BOOST_LOCAL_FUNCTION_TPL} macro.
-}
- at EndParams
-
-The @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro should be used to end each one
-of the multiple local function declarations as usual (and it will specify a
-unique name for each local function).
-
-Outside template, the macro @RefMacro{BOOST_LOCAL_FUNCTION_ID} should be used
-to declare multiple local functions on the same line.
-
- at Note This macro can be useful when the local function macros are expanded
-within user-defined macros (because macros all expand on the same line).
-On some compilers (e.g., MSVC which supports the non-standard
-<c>__COUNTER__</c> macro) it might not be necessary to use this macro but
-the use of this macro when expanding multiple local function macros on the same
-line is always necessary to ensure portability (this is because this library
-can only portably use <c>__LINE__</c> to internally generate unique
-identifiers).
-
- at See @RefSect{advanced_topics, Advanced Topics} section,
- at RefMacro{BOOST_LOCAL_FUNCTION_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME},
- at RefMacro{BOOST_LOCAL_FUNCTION_ID}.
-*/
-#define BOOST_LOCAL_FUNCTION_ID_TPL(id, declarations)
-
-/**
- at brief This macro is used to end a local function declaration specifying its
-name.
-
-This macro must follow the local function body code block <c>{ ... }</c>:
- at code
-{ // Some declarative context.
-    ...
-    result_type BOOST_LOCAL_FUNCTION(declarations) {
-        ... // Body code.
-    } BOOST_LOCAL_FUNCTION_NAME(qualified_name)
-    ...
-}
- at endcode
-
-Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_TPL} and
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used.
-
- at Params
- at Param{qualified_name,
-The name of the local function optionally qualified as follow:
- at code
-    name:
-            [inline] [recursive] local_function_name
- at endcode
-(Lexical conventions: <c>token1 | token2</c> means either <c>token1</c> or
-<c>token2</c>; <c>[token]</c> means either <c>token</c> or nothing;
-<c>{expression}</c> means the token resulting from the expression.)
-}
- at EndParams
-
-The local function name can be qualified by prefixing it with the keyword
-<c>inline</c> (see the @RefSect{advanced_topics, Advanced Topics} section):
- at code
-    BOOST_LOCAL_FUNCTION_NAME(inline local_function_name)
- at endcode
-This increases the chances that the compiler will be able to inline the local
-function calls (thus reducing run-time).
-However, inline local functions cannot be passed as template parameters (e.g., to <c>std::for_each</c>) or assigned to other functors (e.g., to
-<c>boost::function</c>).
-That is true on C++03 compilers but inline local functions can instead be
-passed as template parameters on C++11 compilers.
-On C++11 compilers, there is no need to declare a local function lined because
-this library will automatically use C++11 specific features to inline the local
-function while always allowing to pass it as a template parameter.
-This optimization is automatically enabled when the Boost.Config macro
-<c>BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS</c> is not defined but it also be
-forced using @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS}.
-
-The local function name can also be qualified by prefixing it with the
-"keyword" <c>recursive</c> (see the
- at RefSect{advanced_topics, Advanced Topics} section):
- at code
-    BOOST_LOCAL_FUNCTION_NAME(recursive local_function_name)
- at endcode
-This allows the local function to recursively call itself from its body (as
-usual in C++).
-However, recursive local functions should only be called within their
-declaration scope (otherwise the result is undefined behaviour).
-Finally, compilers have not been observed to be able to inline recursive local
-function calls, not even when the recursive local function is also declared
-inline:
- at code
-    BOOST_LOCAL_FUNCTION(inline recursive local_function_name)
- at endcode
-
- at Note The local function name cannot be the name of an operator
-<c>operator...</c> and it cannot be the same name of another local function
-declared within the same enclosing scope (but <c>boost::overloaded_function</c>
-can be used to overload local functions, see
-Boost.Functional/OverloadedFunction and the
- at RefSect{advanced_topics, Advanced Topics} section).
-
- at See @RefSect{tutorial, Tutorial} section,
- at RefSect{advanced_topics, Advanced Topics} section,
- at RefMacro{BOOST_LOCAL_FUNCTION},
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}.
-*/
-#define BOOST_LOCAL_FUNCTION_NAME(qualified_name)
-
-/**
- at brief This macro is used to end a local function declaration specifying its
-name within templates.
-
-This macro must be used instead of @RefMacro{BOOST_LOCAL_FUNCTION_NAME} when
-declaring a local function within a template.
-A part from that, this macro has the exact same syntax a
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME} (see @RefMacro{BOOST_LOCAL_FUNCTION_NAME}
-for more information):
- at code
-{ // Some declarative context within a template.
-    ...
-    result_type BOOST_LOCAL_FUNCTION_TPL(declarations) {
-        ... // Body code.
-    } BOOST_LOCAL_FUNCTION_NAME_TPL(qualified_name)
-    ...
-}
- at endcode
-
-Note that @RefMacro{BOOST_LOCAL_FUNCTION_TPL} must be used with this macro
-instead of @RefMacro{BOOST_LOCAL_FUNCTION}.
-
- at Note C++03 does not allow to use <c>typename</c> outside templates.
-This library internally manipulates types, these operations require
-<c>typename</c> but only within templates.
-This macro is used to indicate to the library when the enclosing scope is a
-template so the library can correctly use <c>typename</c>.
-
- at See @RefSect{tutorial, Tutorial} section,
- at RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_TPL}.
-*/
-#define BOOST_LOCAL_FUNCTION_NAME_TPL(name)
-
-/**
- at brief This macro expands to the type of the specified bound variable.
-
-This macro can be used within the local functions body to refer to the bound
-variable types so to declare local variables, check concepts (using
-Boost.ConceptCheck), etc (see the @RefSect{advanced_topics, Advanced Topics}
-section).
-This way the local function can be programmed entirely without explicitly
-specifying the bound variable types thus facilitating maintenance (e.g., if
-the type of a bound variable changes in the enclosing scope, the local function
-code does not have to change).
-
- at Params
- at Param{bound_variable_name,
-The name of one of the local function's bound variables.
-}
- at EndParams
-
-The type returned by the macro is fully qualified in that it contains the extra
-constant and reference qualifiers when the specified variable is bound by
-constant and by reference.
-For example, if a variable named <c>t</c> of type <c>T</c> is:
- at li Bound by value using <c>bind t</c> then
-<c>BOOST_LOCAL_FUNCTION_TYPEOF(t)</c> is <c>T</c>.
- at li Bound by constant value using <c>const bind t</c> then
-<c>BOOST_LOCAL_FUNCTION_TYPEOF(t)</c> is <c>const T</c>.
- at li Bound by reference using <c>bind& t</c> then
-<c>BOOST_LOCAL_FUNCTION_TYPEOF(t)</c> is <c>T&</c>.
- at li Bound by constant reference using <c>const bind& t</c> then
-<c>BOOST_LOCAL_FUNCTION_TYPEOF(t)</c> is <c>const T&</c>.
-
-This macro must be prefixed by <c>typename</c> when used within templates.
-
- at Note It is best to use this macro instead of Boost.Typeof so to reduce the
-number of times Boost.Typeof is used to deduce types (see the
- at RefSect{advanced_topics, Advanced Topics} section).
-
- at See @RefSect{advanced_topics, Advanced Topics} section,
- at RefMacro{BOOST_LOCAL_FUNCTION}.
-*/
-#define BOOST_LOCAL_FUNCTION_TYPEOF(bound_variable_name)
-
-#endif // DOXYGEN
-
-#endif // #include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/locale.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/locale.hpp
deleted file mode 100644
index 989bba6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/locale.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-//  Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
-//
-//  Distributed under the 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_LOCALE_HPP_INCLUDED
-#define BOOST_LOCALE_HPP_INCLUDED
-
-#include <boost/locale/boundary.hpp>
-#include <boost/locale/collator.hpp>
-#include <boost/locale/conversion.hpp>
-#include <boost/locale/date_time.hpp>
-#include <boost/locale/date_time_facet.hpp>
-#include <boost/locale/encoding.hpp>
-#include <boost/locale/format.hpp>
-#include <boost/locale/formatting.hpp>
-#include <boost/locale/generator.hpp>
-#include <boost/locale/gnu_gettext.hpp>
-#include <boost/locale/info.hpp>
-#include <boost/locale/localization_backend.hpp>
-#include <boost/locale/message.hpp>
-#include <boost/locale/util.hpp>
-
-#endif
-// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/make_default.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/make_default.hpp
deleted file mode 100644
index b8255fe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/make_default.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/// @file
-// Copyright (c) 2009-2014 Vladimir Batov.
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt.
-
-#ifndef BOOST_MAKE_DEFAULT_HPP
-#define BOOST_MAKE_DEFAULT_HPP
-
-namespace boost
-{
-    /// @details A considerable number of libraries require an instance of a class
-    /// provided (storage created and initialized). For example,
-    /// @code
-    ///    Type result;
-    ///    ...
-    ///    istream >> result;
-    /// @endcode
-    /// In generic code that results in the Default Constructibility requirement imposed
-    /// on every type 'Type' to be used with the respective code. Inevitably, that requirement
-    /// a) either excludes all the classes that for various reasons do not meet that requirement or
-    /// b) imposes certain (not necessarily desirable) design/implementation onto respective classes.
-    ///
-    /// Deployment of boost::make_default() eliminates the Default Constructibility requirement with
-    /// @code
-    ///    Type result = boost::make_default<Type>();
-    ///    ...
-    ///    istream >> result;
-    /// @endcode
-    /// Classes with no default constructor can now be included via a boost::make_default() specialization:
-    /// @code
-    /// namespace boost
-    /// {
-    ///     template<> inline Type make_default<Type>() { return Type(parameters); }
-    /// }
-    /// @endcode
-
-    template<typename T> T make_default() { return T(); }
-}
-
-#endif // BOOST_MAKE_DEFAULT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/make_shared.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/make_shared.hpp
deleted file mode 100644
index c04938f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/make_unique.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/make_unique.hpp
deleted file mode 100644
index 4dc82c3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/make_unique.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-(c) 2014 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_MAKE_UNIQUE_HPP_INCLUDED
-#define BOOST_MAKE_UNIQUE_HPP_INCLUDED
-
-#include <boost/smart_ptr/make_unique.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/math_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/math_fwd.hpp
deleted file mode 100644
index f9b7915..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mem_fn.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mem_fn.hpp
deleted file mode 100644
index 3bcd2c5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/memory_order.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/memory_order.hpp
deleted file mode 100644
index fbe9034..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/memory_order.hpp
+++ /dev/null
@@ -1,57 +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... }
-//
-// The values are also in the order of increasing "strength"
-// of the fences so that success/failure orders can be checked
-// efficiently in compare_exchange methods.
-//
-
-enum memory_order
-{
-    memory_order_relaxed = 0,
-    memory_order_consume = 1,
-    memory_order_acquire = 2,
-    memory_order_release = 4,
-    memory_order_acq_rel = 6, // acquire | release
-    memory_order_seq_cst = 14 // acq_rel | 8
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/metaparse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/metaparse.hpp
deleted file mode 100644
index 4c050cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/metaparse.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef BOOST_METAPARSE_HPP
-#define BOOST_METAPARSE_HPP
-
-// Copyright Abel Sinkovics (abel at sinkovics.hu) 2013.
-// Distributed under the Boost 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/metaparse/accept.hpp>
-#include <boost/metaparse/accept_tag.hpp>
-#include <boost/metaparse/accept_when.hpp>
-#include <boost/metaparse/alphanum.hpp>
-#include <boost/metaparse/always_c.hpp>
-#include <boost/metaparse/always.hpp>
-#include <boost/metaparse/repeated.hpp>
-#include <boost/metaparse/repeated1.hpp>
-#include <boost/metaparse/repeated_reject_incomplete1.hpp>
-#include <boost/metaparse/repeated_reject_incomplete.hpp>
-#include <boost/metaparse/repeated_one_of1.hpp>
-#include <boost/metaparse/repeated_one_of.hpp>
-#include <boost/metaparse/build_parser.hpp>
-#include <boost/metaparse/change_error_message.hpp>
-#include <boost/metaparse/config.hpp>
-#include <boost/metaparse/debug_parsing_error.hpp>
-#include <boost/metaparse/define_error.hpp>
-#include <boost/metaparse/digit.hpp>
-#include <boost/metaparse/digit_val.hpp>
-#include <boost/metaparse/empty.hpp>
-#include <boost/metaparse/entire_input.hpp>
-#include <boost/metaparse/error/digit_expected.hpp>
-#include <boost/metaparse/error/end_of_input_expected.hpp>
-#include <boost/metaparse/error/index_out_of_range.hpp>
-#include <boost/metaparse/error/letter_expected.hpp>
-#include <boost/metaparse/error/literal_expected.hpp>
-#include <boost/metaparse/error/none_of_the_expected_cases_found.hpp>
-#include <boost/metaparse/error/unexpected_character.hpp>
-#include <boost/metaparse/error/unexpected_end_of_input.hpp>
-#include <boost/metaparse/error/unpaired.hpp>
-#include <boost/metaparse/error/whitespace_expected.hpp>
-#include <boost/metaparse/except.hpp>
-#include <boost/metaparse/fail_at_first_char_expected.hpp>
-#include <boost/metaparse/fail.hpp>
-#include <boost/metaparse/fail_tag.hpp>
-#include <boost/metaparse/first_of.hpp>
-#include <boost/metaparse/foldl1.hpp>
-#include <boost/metaparse/foldl_reject_incomplete.hpp>
-#include <boost/metaparse/foldl_reject_incomplete1.hpp>
-#include <boost/metaparse/foldl_reject_incomplete_start_with_parser.hpp>
-#include <boost/metaparse/foldl.hpp>
-#include <boost/metaparse/foldl_start_with_parser.hpp>
-#include <boost/metaparse/foldr1.hpp>
-#include <boost/metaparse/foldr_reject_incomplete.hpp>
-#include <boost/metaparse/foldr_reject_incomplete1.hpp>
-#include <boost/metaparse/foldr.hpp>
-#include <boost/metaparse/foldr_start_with_parser.hpp>
-#include <boost/metaparse/get_col.hpp>
-#include <boost/metaparse/get_line.hpp>
-#include <boost/metaparse/get_message.hpp>
-#include <boost/metaparse/get_position.hpp>
-#include <boost/metaparse/get_prev_char.hpp>
-#include <boost/metaparse/get_remaining.hpp>
-#include <boost/metaparse/get_result.hpp>
-#include <boost/metaparse/grammar.hpp>
-#include <boost/metaparse/if_.hpp>
-#include <boost/metaparse/int_.hpp>
-#include <boost/metaparse/is_error.hpp>
-#include <boost/metaparse/iterate_c.hpp>
-#include <boost/metaparse/iterate.hpp>
-#include <boost/metaparse/keyword.hpp>
-#include <boost/metaparse/last_of.hpp>
-#include <boost/metaparse/letter.hpp>
-#include <boost/metaparse/limit_one_char_except_size.hpp>
-#include <boost/metaparse/limit_one_of_size.hpp>
-#include <boost/metaparse/limit_sequence_size.hpp>
-#include <boost/metaparse/limit_string_size.hpp>
-#include <boost/metaparse/lit_c.hpp>
-#include <boost/metaparse/lit.hpp>
-#include <boost/metaparse/look_ahead.hpp>
-#include <boost/metaparse/middle_of.hpp>
-#include <boost/metaparse/next_char.hpp>
-#include <boost/metaparse/next_line.hpp>
-#include <boost/metaparse/nth_of_c.hpp>
-#include <boost/metaparse/nth_of.hpp>
-#include <boost/metaparse/one_char_except_c.hpp>
-#include <boost/metaparse/one_char_except.hpp>
-#include <boost/metaparse/one_char.hpp>
-#include <boost/metaparse/one_of_c.hpp>
-#include <boost/metaparse/one_of.hpp>
-#include <boost/metaparse/optional.hpp>
-#include <boost/metaparse/range_c.hpp>
-#include <boost/metaparse/range.hpp>
-#include <boost/metaparse/reject.hpp>
-#include <boost/metaparse/return_.hpp>
-#include <boost/metaparse/sequence.hpp>
-#include <boost/metaparse/sequence_apply.hpp>
-#include <boost/metaparse/source_position.hpp>
-#include <boost/metaparse/source_position_tag.hpp>
-#include <boost/metaparse/space.hpp>
-#include <boost/metaparse/spaces.hpp>
-#include <boost/metaparse/start.hpp>
-#include <boost/metaparse/string.hpp>
-#include <boost/metaparse/string_tag.hpp>
-#include <boost/metaparse/token.hpp>
-#include <boost/metaparse/transform_error.hpp>
-#include <boost/metaparse/transform_error_message.hpp>
-#include <boost/metaparse/transform.hpp>
-#include <boost/metaparse/unless_error.hpp>
-#include <boost/metaparse/util/digit_to_int_c.hpp>
-#include <boost/metaparse/util/digit_to_int.hpp>
-#include <boost/metaparse/util/in_range_c.hpp>
-#include <boost/metaparse/util/in_range.hpp>
-#include <boost/metaparse/util/int_to_digit_c.hpp>
-#include <boost/metaparse/util/int_to_digit.hpp>
-#include <boost/metaparse/util/is_digit.hpp>
-#include <boost/metaparse/util/is_lcase_letter.hpp>
-#include <boost/metaparse/util/is_letter.hpp>
-#include <boost/metaparse/util/is_ucase_letter.hpp>
-#include <boost/metaparse/util/is_whitespace_c.hpp>
-#include <boost/metaparse/util/is_whitespace.hpp>
-#include <boost/metaparse/version.hpp>
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/adl_move_swap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/adl_move_swap.hpp
deleted file mode 100644
index 9303201..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/adl_move_swap.hpp
+++ /dev/null
@@ -1,266 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker
-// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/container for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_ADL_MOVE_SWAP_HPP
-#define BOOST_MOVE_ADL_MOVE_SWAP_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-//Based on Boost.Core's swap.
-//Many thanks to Steven Watanabe, Joseph Gauterin and Niels Dekker.
-#include <cstddef> //for std::size_t
-#include <boost/move/detail/workaround.hpp>  //forceinline
-
-//Try to avoid including <algorithm>, as it's quite big
-#if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB)
-   #include <utility>   //Dinkum libraries define std::swap in utility which is lighter than algorithm
-#elif defined(BOOST_GNU_STDLIB)
-   //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions
-   //use the good old stl_algobase header, which is quite lightweight
-   #if !defined(BOOST_GCC) || ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 3)))
-      #include <bits/stl_algobase.h>
-   #elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
-      //In GCC 4.3 a tiny stl_move.h was created with swap and move utilities
-      #include <bits/stl_move.h>
-   #else
-      //In GCC 4.4 stl_move.h was renamed to move.h
-      #include <bits/move.h>
-   #endif
-#elif defined(_LIBCPP_VERSION)
-   #include <type_traits>  //The initial import of libc++ defines std::swap and still there
-#elif __cplusplus >= 201103L
-   #include <utility>    //Fallback for C++ >= 2011
-#else
-   #include <algorithm>  //Fallback for C++98/03
-#endif
-
-#include <boost/move/utility_core.hpp> //for boost::move
-
-#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-namespace boost_move_member_swap {
-
-struct dont_care
-{
-   dont_care(...);
-};
-
-struct private_type
-{
-   static private_type p;
-   private_type const &operator,(int) const;
-};
-
-typedef char yes_type;            
-struct no_type{ char dummy[2]; }; 
-
-template<typename T>
-no_type is_private_type(T const &);
-
-yes_type is_private_type(private_type const &);
-
-template <typename Type>
-class has_member_function_named_swap
-{
-   struct BaseMixin
-   {
-      void swap();
-   };
-
-   struct Base : public Type, public BaseMixin { Base(); };
-   template <typename T, T t> class Helper{};
-
-   template <typename U>
-   static no_type deduce(U*, Helper<void (BaseMixin::*)(), &U::swap>* = 0);
-   static yes_type deduce(...);
-
-   public:
-   static const bool value = sizeof(yes_type) == sizeof(deduce((Base*)(0)));
-};
-
-template<typename Fun, bool HasFunc>
-struct has_member_swap_impl
-{
-   static const bool value = false;
-};
-
-template<typename Fun>
-struct has_member_swap_impl<Fun, true>
-{
-   struct FunWrap : Fun
-   {
-      FunWrap();
-
-      using Fun::swap;
-      private_type swap(dont_care) const;
-   };
-
-   static Fun &declval_fun();
-   static FunWrap declval_wrap();
-
-   static bool const value =
-      sizeof(no_type) == sizeof(is_private_type( (declval_wrap().swap(declval_fun()), 0)) );
-};
-
-template<typename Fun>
-struct has_member_swap : public has_member_swap_impl
-      <Fun, has_member_function_named_swap<Fun>::value>
-{};
-
-}  //namespace boost_move_member_swap
-
-namespace boost_move_adl_swap{
-
-template<class P1, class P2, bool = P1::value>
-struct and_op_impl
-{  static const bool value = false; };
-
-template<class P1, class P2>
-struct and_op_impl<P1, P2, true>
-{  static const bool value = P2::value;   };
-
-template<class P1, class P2>
-struct and_op
-   : and_op_impl<P1, P2>
-{};
-
-//////
-
-template<class P1, class P2, bool = P1::value>
-struct and_op_not_impl
-{  static const bool value = false; };
-
-template<class P1, class P2>
-struct and_op_not_impl<P1, P2, true>
-{  static const bool value = !P2::value;   };
-
-template<class P1, class P2>
-struct and_op_not
-   : and_op_not_impl<P1, P2>
-{};
-
-template<class T>
-BOOST_MOVE_FORCEINLINE void swap_proxy(T& x, T& y, typename boost::move_detail::enable_if_c<!boost::move_detail::has_move_emulation_enabled_impl<T>::value>::type* = 0)
-{
-   //use std::swap if argument dependent lookup fails
-   //Use using directive ("using namespace xxx;") instead as some older compilers
-   //don't do ADL with using declarations ("using ns::func;").
-   using namespace std;
-   swap(x, y);
-}
-
-template<class T>
-BOOST_MOVE_FORCEINLINE void swap_proxy(T& x, T& y
-               , typename boost::move_detail::enable_if< and_op_not_impl<boost::move_detail::has_move_emulation_enabled_impl<T>
-                                                                        , boost_move_member_swap::has_member_swap<T> >
-                                                       >::type* = 0)
-{  T t(::boost::move(x)); x = ::boost::move(y); y = ::boost::move(t);  }
-
-template<class T>
-BOOST_MOVE_FORCEINLINE void swap_proxy(T& x, T& y
-               , typename boost::move_detail::enable_if< and_op_impl< boost::move_detail::has_move_emulation_enabled_impl<T>
-                                                                    , boost_move_member_swap::has_member_swap<T> >
-                                                       >::type* = 0)
-{  x.swap(y);  }
-
-}  //namespace boost_move_adl_swap{
-
-#else
-
-namespace boost_move_adl_swap{
-
-template<class T>
-BOOST_MOVE_FORCEINLINE void swap_proxy(T& x, T& y)
-{
-   using std::swap;
-   swap(x, y);
-}
-
-}  //namespace boost_move_adl_swap{
-
-#endif   //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-namespace boost_move_adl_swap{
-
-template<class T, std::size_t N>
-void swap_proxy(T (& x)[N], T (& y)[N])
-{
-   for (std::size_t i = 0; i < N; ++i){
-      ::boost_move_adl_swap::swap_proxy(x[i], y[i]);
-   }
-}
-
-}  //namespace boost_move_adl_swap {
-
-#endif   //!defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-namespace boost{
-
-//! Exchanges the values of a and b, using Argument Dependent Lookup (ADL) to select a
-//! specialized swap function if available. If no specialized swap function is available,
-//! std::swap is used.
-//!
-//! <b>Exception</b>: If T uses Boost.Move's move emulation and the compiler has
-//! no rvalue references then:
-//!
-//!   -  If T has a <code>T::swap(T&)</code> member, that member is called.
-//!   -  Otherwise a move-based swap is called, equivalent to: 
-//!      <code>T t(::boost::move(x)); x = ::boost::move(y); y = ::boost::move(t);</code>.
-template<class T>
-BOOST_MOVE_FORCEINLINE void adl_move_swap(T& x, T& y)
-{
-   ::boost_move_adl_swap::swap_proxy(x, y);
-}
-
-//! Exchanges elements between range [first1, last1) and another range starting at first2
-//! using boost::adl_move_swap.
-//! 
-//! Parameters:
-//!   first1, last1	-	the first range of elements to swap
-//!   first2	-	beginning of the second range of elements to swap
-//!
-//! Type requirements:
-//!   - ForwardIt1, ForwardIt2 must meet the requirements of ForwardIterator.
-//!   - The types of dereferenced ForwardIt1 and ForwardIt2 must meet the
-//!     requirements of Swappable
-//!
-//! Return value: Iterator to the element past the last element exchanged in the range
-//! beginning with first2.
-template<class ForwardIt1, class ForwardIt2>
-ForwardIt2 adl_move_swap_ranges(ForwardIt1 first1, ForwardIt1 last1, ForwardIt2 first2)
-{
-    while (first1 != last1) {
-      ::boost::adl_move_swap(*first1, *first2);
-      ++first1;
-      ++first2;
-    }
-   return first2;
-}
-
-template<class BidirIt1, class BidirIt2>
-BidirIt2 adl_move_swap_ranges_backward(BidirIt1 first1, BidirIt1 last1, BidirIt2 last2)
-{
-   while (first1 != last1) {
-      ::boost::adl_move_swap(*(--last1), *(--last2));
-   }
-   return last2;
-}
-
-}  //namespace boost{
-
-#endif   //#ifndef BOOST_MOVE_ADL_MOVE_SWAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/adaptive_merge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/adaptive_merge.hpp
deleted file mode 100644
index ef20651..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/adaptive_merge.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_ADAPTIVE_MERGE_HPP
-#define BOOST_MOVE_ADAPTIVE_MERGE_HPP
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/algo/detail/adaptive_sort_merge.hpp>
-
-namespace boost {
-namespace movelib {
-
-//! <b>Effects</b>: Merges two consecutive sorted ranges [first, middle) and [middle, last)
-//!   into one sorted range [first, last) according to the given comparison function comp.
-//!   The algorithm is stable (if there are equivalent elements in the original two ranges,
-//!   the elements from the first range (preserving their original order) precede the elements
-//!   from the second range (preserving their original order).
-//!
-//! <b>Requires</b>:
-//!   - RandIt must meet the requirements of ValueSwappable and RandomAccessIterator.
-//!   - The type of dereferenced RandIt must meet the requirements of MoveAssignable and MoveConstructible.
-//!
-//! <b>Parameters</b>:
-//!   - first: the beginning of the first sorted range. 
-//!   - middle: the end of the first sorted range and the beginning of the second
-//!   - last: the end of the second sorted range
-//!   - comp: comparison function object which returns true if the first argument is is ordered before the second.
-//!   - uninitialized, uninitialized_len: raw storage starting on "uninitialized", able to hold "uninitialized_len"
-//!      elements of type iterator_traits<RandIt>::value_type. Maximum performance is achieved when uninitialized_len
-//!      is min(std::distance(first, middle), std::distance(middle, last)).
-//!
-//! <b>Throws</b>: If comp throws or the move constructor, move assignment or swap of the type
-//!   of dereferenced RandIt throws.
-//!
-//! <b>Complexity</b>: Always K x O(N) comparisons and move assignments/constructors/swaps.
-//!   Constant factor for comparisons and data movement is minimized when uninitialized_len
-//!   is min(std::distance(first, middle), std::distance(middle, last)).
-//!   Pretty good enough performance is achieved when uninitialized_len is
-//!   ceil(sqrt(std::distance(first, last)))*2.
-//!
-//! <b>Caution</b>: Experimental implementation, not production-ready.
-template<class RandIt, class Compare>
-void adaptive_merge( RandIt first, RandIt middle, RandIt last, Compare comp
-                , typename iterator_traits<RandIt>::value_type* uninitialized = 0
-                , std::size_t uninitialized_len = 0)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-
-   ::boost::movelib::detail_adaptive::adaptive_xbuf<value_type> xbuf(uninitialized, uninitialized_len);
-	::boost::movelib::detail_adaptive::adaptive_merge_impl(first, size_type(middle - first), size_type(last - middle), comp, xbuf);
-}
-
-}  //namespace movelib {
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#define BOOST_MOVE_ADAPTIVE_MERGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/adaptive_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/adaptive_sort.hpp
deleted file mode 100644
index 6b5586e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/adaptive_sort.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_ADAPTIVE_SORT_HPP
-#define BOOST_MOVE_ADAPTIVE_SORT_HPP
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/algo/detail/adaptive_sort_merge.hpp>
-
-namespace boost {
-namespace movelib {
-
-//! <b>Effects</b>: Sorts the elements in the range [first, last) in ascending order according
-//!   to comparison functor "comp". The sort is stable (order of equal elements
-//!   is guaranteed to be preserved). Performance is improved if additional raw storage is
-//!   provided.
-//!
-//! <b>Requires</b>:
-//!   - RandIt must meet the requirements of ValueSwappable and RandomAccessIterator.
-//!   - The type of dereferenced RandIt must meet the requirements of MoveAssignable and MoveConstructible.
-//!
-//! <b>Parameters</b>:
-//!   - first, last: the range of elements to sort
-//!   - comp: comparison function object which returns true if the first argument is is ordered before the second.
-//!   - uninitialized, uninitialized_len: raw storage starting on "uninitialized", able to hold "uninitialized_len"
-//!      elements of type iterator_traits<RandIt>::value_type. Maximum performance is achieved when uninitialized_len
-//!      is ceil(std::distance(first, last)/2).
-//!
-//! <b>Throws</b>: If comp throws or the move constructor, move assignment or swap of the type
-//!   of dereferenced RandIt throws.
-//!
-//! <b>Complexity</b>: Always K x O(Nxlog(N)) comparisons and move assignments/constructors/swaps.
-//!   Comparisons are close to minimum even with no additional memory. Constant factor for data movement is minimized
-//!   when uninitialized_len is ceil(std::distance(first, last)/2). Pretty good enough performance is achieved when
-//!   ceil(sqrt(std::distance(first, last)))*2.
-//!
-//! <b>Caution</b>: Experimental implementation, not production-ready.
-template<class RandIt, class Compare>
-void adaptive_sort( RandIt first, RandIt last, Compare comp
-               , typename iterator_traits<RandIt>::value_type* uninitialized = 0
-               , std::size_t uninitialized_len = 0)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-
-   ::boost::movelib::detail_adaptive::adaptive_xbuf<value_type> xbuf(uninitialized, uninitialized_len);
-   ::boost::movelib::detail_adaptive::adaptive_sort_impl(first, size_type(last - first), comp, xbuf);
-}
-
-}  //namespace movelib {
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#define BOOST_MOVE_ADAPTIVE_SORT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/adaptive_sort_merge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/adaptive_sort_merge.hpp
deleted file mode 100644
index 46dba18..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/adaptive_sort_merge.hpp
+++ /dev/null
@@ -1,2284 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// Stable sorting that works in O(N*log(N)) worst time
-// and uses O(1) extra memory
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// The main idea of the adaptive_sort algorithm was developed by Andrey Astrelin
-// and explained in the article from the russian collaborative blog
-// Habrahabr (http://habrahabr.ru/post/205290/). The algorithm is based on
-// ideas from B-C. Huang and M. A. Langston explained in their article
-// "Fast Stable Merging and Sorting in Constant Extra Space (1989-1992)"
-// (http://comjnl.oxfordjournals.org/content/35/6/643.full.pdf).
-//
-// This implementation by Ion Gaztanaga uses previous ideas with additional changes:
-// 
-// - Use of GCD-based rotation.
-// - Non power of two buffer-sizes.
-// - Tries to find sqrt(len)*2 unique keys, so that the merge sort
-//   phase can form up to sqrt(len)*4 segments if enough keys are found.
-// - The merge-sort phase can take advantage of external memory to
-//   save some additional combination steps.
-// - Optimized comparisons when selection-sorting blocks as A and B blocks
-//   are already sorted.
-// - The combination phase is performed alternating merge to left and merge
-//   to right phases minimizing swaps due to internal buffer repositioning.
-// - When merging blocks special optimizations are made to avoid moving some
-//   elements twice.
-//
-// The adaptive_merge algorithm was developed by Ion Gaztanaga reusing some parts
-// from the sorting algorithm and implementing a block merge algorithm
-// without moving elements left or right, which is used when external memory
-// is available.
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_MOVE_ADAPTIVE_SORT_MERGE_HPP
-#define BOOST_MOVE_ADAPTIVE_SORT_MERGE_HPP
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/algo/move.hpp>
-#include <boost/move/algo/detail/merge.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/move/algo/detail/insertion_sort.hpp>
-#include <boost/move/algo/detail/merge_sort.hpp>
-#include <boost/move/algo/detail/merge.hpp>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-
-#ifdef BOOST_MOVE_ADAPTIVE_SORT_STATS
-   #define BOOST_MOVE_ADAPTIVE_SORT_PRINT(STR, L) \
-      print_stats(STR, L)\
-   //
-#else
-   #define BOOST_MOVE_ADAPTIVE_SORT_PRINT(STR, L)
-#endif
-
-namespace boost {
-namespace movelib {
-
-namespace detail_adaptive {
-
-static const std::size_t AdaptiveSortInsertionSortThreshold = 16;
-//static const std::size_t AdaptiveSortInsertionSortThreshold = 4;
-BOOST_STATIC_ASSERT((AdaptiveSortInsertionSortThreshold&(AdaptiveSortInsertionSortThreshold-1)) == 0);
-
-#if defined BOOST_HAS_INTPTR_T
-   typedef ::boost::uintptr_t uintptr_t;
-#else
-   typedef std::size_t uintptr_t;
-#endif
-
-template<class T>
-const T &min_value(const T &a, const T &b)
-{
-   return a < b ? a : b;
-}
-
-template<class T>
-const T &max_value(const T &a, const T &b)
-{
-   return a > b ? a : b;
-}
-
-template<class T>
-class adaptive_xbuf
-{
-   adaptive_xbuf(const adaptive_xbuf &);
-   adaptive_xbuf & operator=(const adaptive_xbuf &);
-
-   public:
-   typedef T* iterator;
-
-   adaptive_xbuf()
-      : m_ptr(0), m_size(0), m_capacity(0)
-   {}
-
-   adaptive_xbuf(T *raw_memory, std::size_t capacity)
-      : m_ptr(raw_memory), m_size(0), m_capacity(capacity)
-   {}
-
-   template<class RandIt>
-   void move_assign(RandIt first, std::size_t n)
-   {
-      if(n <= m_size){
-         boost::move(first, first+n, m_ptr);
-         std::size_t size = m_size;
-         while(size-- != n){
-            m_ptr[size].~T();
-         }
-         m_size = n;
-      }
-      else{
-         T *result = boost::move(first, first+m_size, m_ptr);
-         boost::uninitialized_move(first+m_size, first+n, result);
-         m_size = n;
-      }
-   }
-
-   template<class RandIt>
-   void push_back(RandIt first, std::size_t n)
-   {
-      BOOST_ASSERT(m_capacity - m_size >= n);
-      boost::uninitialized_move(first, first+n, m_ptr+m_size);
-      m_size += n;
-   }
-
-   template<class RandIt>
-   iterator add(RandIt it)
-   {
-      BOOST_ASSERT(m_size < m_capacity);
-      T * p_ret = m_ptr + m_size;
-      ::new(p_ret) T(::boost::move(*it));
-      ++m_size;
-      return p_ret;
-   }
-
-   template<class RandIt>
-   void insert(iterator pos, RandIt it)
-   {
-      if(pos == (m_ptr + m_size)){
-         this->add(it);
-      }
-      else{
-         this->add(m_ptr+m_size-1);
-         //m_size updated
-         boost::move_backward(pos, m_ptr+m_size-2, m_ptr+m_size-1);
-         *pos = boost::move(*it);
-      }
-   }
-
-   void set_size(std::size_t size)
-   {
-      m_size = size;
-   }
-
-   template<class U>
-   bool supports_aligned_trailing(std::size_t size, std::size_t trail_count) const
-   {
-      if(this->data()){
-         uintptr_t u_addr_sz = uintptr_t(this->data()+size);
-         uintptr_t u_addr_cp = uintptr_t(this->data()+this->capacity());
-         u_addr_sz = ((u_addr_sz + sizeof(U)-1)/sizeof(U))*sizeof(U);
-         
-         return (u_addr_cp >= u_addr_sz) && ((u_addr_cp - u_addr_sz)/sizeof(U) >= trail_count);
-      }
-      return false;
-   }
-
-   template<class U>
-   U *aligned_trailing() const
-   {
-      return this->aligned_trailing<U>(this->size());
-   }
-
-   template<class U>
-   U *aligned_trailing(std::size_t pos) const
-   {
-      uintptr_t u_addr = uintptr_t(this->data()+pos);
-      u_addr = ((u_addr + sizeof(U)-1)/sizeof(U))*sizeof(U);
-      return (U*)u_addr;
-   }
-
-   ~adaptive_xbuf()
-   {
-      this->clear();
-   }
-
-   std::size_t capacity() const
-   {  return m_capacity;   }
-
-   iterator data() const
-   {  return m_ptr;   }
-
-   iterator end() const
-   {  return m_ptr+m_size;   }
-
-   std::size_t size() const
-   {  return m_size;   }
-
-   bool empty() const
-   {  return !m_size;   }
-
-   void clear()
-   {
-      std::size_t size = m_size;
-      while(size--){
-         m_ptr[size].~T();
-      }
-      m_size = 0u;
-   }
-
-   private:
-   T *m_ptr;
-   std::size_t m_size;
-   std::size_t m_capacity;
-};
-
-template<class Iterator, class Op>
-class range_xbuf
-{
-   range_xbuf(const range_xbuf &);
-   range_xbuf & operator=(const range_xbuf &);
-
-   public:
-   typedef typename iterator_traits<Iterator>::size_type size_type;
-   typedef Iterator iterator;
-
-   range_xbuf(Iterator first, Iterator last)
-      : m_first(first), m_last(first), m_cap(last)
-   {}
-
-   template<class RandIt>
-   void move_assign(RandIt first, std::size_t n)
-   {
-      BOOST_ASSERT(size_type(n) <= size_type(m_cap-m_first));
-      m_last = Op()(forward_t(), first, first+n, m_first);
-   }
-
-   ~range_xbuf()
-   {}
-
-   std::size_t capacity() const
-   {  return m_cap-m_first;   }
-
-   Iterator data() const
-   {  return m_first;   }
-
-   Iterator end() const
-   {  return m_last;   }
-
-   std::size_t size() const
-   {  return m_last-m_first;   }
-
-   bool empty() const
-   {  return m_first == m_last;   }
-
-   void clear()
-   {
-      m_last = m_first;
-   }
-
-   template<class RandIt>
-   iterator add(RandIt it)
-   {
-      Iterator pos(m_last);
-      *pos = boost::move(*it);
-      ++m_last;
-      return pos;
-   }
-
-   void set_size(std::size_t size)
-   {
-      m_last  = m_first;
-      m_last += size;
-   }
-
-   private:
-   Iterator const m_first;
-   Iterator m_last;
-   Iterator const m_cap;
-};
-
-template<class RandIt, class Buf>
-bool three_way_init( RandIt first1, RandIt last1, Buf &buf
-                   , typename Buf::iterator &buf_first, typename Buf::iterator &buf_last, move_op)
-{
-   buf.move_assign(first1, last1-first1);
-   buf_first = buf.data();
-   buf_last  = buf.end();
-   return true;
-}
-
-template<class RandIt, class Buf>
-bool three_way_init( RandIt first, RandIt last, Buf &buf
-                   , typename Buf::iterator &buf_first, typename Buf::iterator &buf_last, swap_op)
-{
-   typedef typename iterator_traits<RandIt>::size_type   size_type;
-   buf.clear();
-   buf_first = buf.data();
-   buf_last  = buf_first + size_type(last-first);
-   return false;
-}
-
-template<class T, class Buf>
-void three_way_move(T &a, T &b, Buf &buf, move_op)
-{
-   buf.add(&b);
-   b = boost::move(a);
-}
-
-template<class T, class Buf>
-void three_way_move(T &a, T &b, Buf &buf, swap_op)
-{
-   T tmp(boost::move(*buf.end()));
-   buf.add(&b);
-   b = boost::move(a);
-   a = boost::move(tmp);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//                         PARTIAL MERGE BUF
-//
-///////////////////////////////////////////////////////////////////////////////
-
-
-template<class Buf, class RandIt, class Compare, class Op>
-RandIt op_partial_merge_with_buf_impl
-   ( RandIt first1, RandIt const last1, RandIt first2, RandIt last2
-   , Buf &buf, typename Buf::iterator &buf_first1_in_out, typename Buf::iterator &buf_last1_in_out
-   , Compare comp, Op op
-   )
-{
-   typedef typename Buf::iterator buf_iterator;
-   typedef typename iterator_traits<RandIt>::value_type  value_type;
-
-   BOOST_ASSERT(first1 != last1);
-   BOOST_ASSERT(first2 != last2);
-   buf_iterator buf_first1 = buf_first1_in_out;
-   buf_iterator buf_last1  = buf_last1_in_out;
-
-   if(buf_first1 == buf_last1){
-      //Skip any element that does not need to be moved
-      while(!comp(*last1, *first1)){
-         ++first1;
-         if(first1 == last1){
-            return first1;
-         }
-      }
-
-      //If initialization is successful, move to buffer while merging
-      //Three way moves need less moves when op is swap_op so use it
-      //when merging elements from range2 to the destination occupied by range1
-      if(!three_way_init(first1, last1, buf, buf_first1, buf_last1, op)){
-         three_way_move(*first2, *first1, buf, op);
-         for(++first1, ++first2; first1 != last1; ++first1){
-            value_type &v = comp(*first2, *buf_first1) ? *first2++ : *buf_first1++;
-            three_way_move(v, *first1, buf, op);
-         }
-      }
-   }
-
-   //Now merge from buffer
-   if(first2 != last2)
-   while(1){
-		if(comp(*first2, *buf_first1)) {
-         op(first2++, first1++);
-         if(first2 == last2)
-            break;
-      }
-      else{
-         op(buf_first1++, first1++);
-         if(buf_first1 == buf_last1)
-            break;
-      }
-   }
-
-   buf_first1_in_out = buf_first1;
-   buf_last1_in_out  = buf_last1;
-   return first1;
-}
-
-template<class RandIt, class Buf, class Compare, class Op>
-RandIt op_partial_merge_with_buf
-   ( RandIt first1, RandIt const last1, RandIt first2, RandIt last2
-   , Buf &buf
-   , typename Buf::iterator &buf_first1_in_out
-   , typename Buf::iterator &buf_last1_in_out
-   , Compare comp
-   , Op op
-   , bool is_stable)
-{
-   return is_stable
-      ? op_partial_merge_with_buf_impl
-         (first1, last1, first2, last2, buf, buf_first1_in_out, buf_last1_in_out, comp, op)
-      : op_partial_merge_with_buf_impl
-         (first1, last1, first2, last2, buf, buf_first1_in_out, buf_last1_in_out, antistable<Compare>(comp), op)
-      ;
-}
-
-// key_first - sequence of keys, in same order as blocks. key_comp(key, midkey) means stream A
-// first - first element to merge.
-// first[-l_block, 0) - buffer
-// l_block - length of regular blocks. Blocks are stable sorted by 1st elements and key-coded
-// l_irreg1 is the irregular block to be merged before n_bef_irreg2 blocks (can be 0)
-// n_bef_irreg2/n_aft_irreg2 are regular blocks
-// l_irreg2 is a irregular block, that is to be merged after n_bef_irreg2 blocks and before n_aft_irreg2 blocks
-// If l_irreg2==0 then n_aft_irreg2==0 (no irregular blocks).
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare, class Op, class Buf>
-void op_merge_blocks_with_buf
-   ( RandItKeys key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const l_irreg1
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp
-   , Op op
-   , Buf & xbuf)
-{
-   if(n_bef_irreg2 == 0){
-      RandIt const last_reg(first+l_irreg1+n_aft_irreg2*l_block);
-      op_buffered_merge(first, last_reg, last_reg+l_irreg2, comp, op, xbuf);
-   }
-   else {
-      typedef typename Buf::iterator buf_iterator;
-      buf_iterator buffer = xbuf.data();
-      buf_iterator buffer_end = buffer;
-      RandIt first1 = first;
-      RandIt last1  = l_irreg1 ? first1 + l_irreg1 : first1 + l_block;
-      RandIt first2 = last1;
-      RandItKeys const key_end (key_first+n_bef_irreg2);
-
-      for( bool is_range1_A = l_irreg1 ? true : key_comp(*key_first, midkey), skip_first_it = l_irreg1 != 0
-         ; key_first != key_end; ){
-         if(!skip_first_it){
-            ++key_first;
-         }
-         skip_first_it = false;
-         bool const last_it = key_first == key_end;
-         //If the trailing block is empty, we'll make it equal to the previous if empty
-		   bool const is_range2_A  = last_it ? (!l_irreg2 && is_range1_A) : key_comp(*key_first, midkey);
-
-         if(is_range1_A == is_range2_A){
-            if(buffer != buffer_end){
-               first1 = op(forward_t(), buffer, buffer_end, first1);
-               BOOST_ASSERT(first1 == first2);
-               buffer_end = buffer;
-            }
-            first1 = first2;
-            if(last_it){
-               xbuf.clear();
-               last1 = first2+l_block*n_aft_irreg2;
-               op_buffered_merge(first1, last1, last1+l_irreg2, comp, op, xbuf);
-               break;
-            }
-            else{
-               last1 = first2 + l_block;
-            }
-            first2 += l_block;
-         }
-         else {
-            BOOST_ASSERT(!last_it || (l_irreg2 || n_aft_irreg2));
-            if(last_it){
-               RandIt res = op(forward_t(), buffer, buffer_end, first1);
-               BOOST_ASSERT(buffer == buffer_end || res == last1); (void)res;
-               last1 += l_block*n_aft_irreg2;
-               xbuf.clear();
-               op_buffered_merge(first1, last1, last1+l_irreg2, comp, op, xbuf);
-               break;
-            }
-            else{
-               RandIt const last2  = first2 + l_block;
-               first1 = op_partial_merge_with_buf(first1, last1, first2, last2, xbuf, buffer, buffer_end, comp, op, is_range1_A);
-               if(buffer == buffer_end){
-                  is_range1_A = is_range2_A;
-               }
-               last1  = last2;
-               first2 = last1;
-               BOOST_ASSERT((buffer == buffer_end) || (buffer_end-buffer) == (last1-first1));
-            }
-         }
-      }
-   }
-}
-
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare, class Buf>
-void merge_blocks_with_buf
-   ( RandItKeys key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const l_irreg1
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp
-   , Buf & xbuf
-   , bool const xbuf_used)
-{
-   if(xbuf_used){
-      op_merge_blocks_with_buf
-         (key_first, midkey, key_comp, first, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, move_op(), xbuf);
-   }
-   else{
-      op_merge_blocks_with_buf
-         (key_first, midkey, key_comp, first, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, swap_op(), xbuf);
-   }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//                         PARTIAL MERGE LEFT
-//
-///////////////////////////////////////////////////////////////////////////////
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_left_middle_buffer_impl
-   (RandIt first1, RandIt const last1, RandIt const first2
-   , const typename iterator_traits<RandIt>::value_type &next_key, Compare comp
-   , Op op)
-{
-   while(first1 != last1 && !comp(next_key, *first1)){
-      ++first1;
-   }
-   //Even if we copy backward, no overlapping occurs so use forward copy
-   //that can be faster specially with trivial types
-   RandIt const new_first1 = first2 - (last1 - first1);
-   BOOST_ASSERT(last1 <= new_first1);
-   op(forward_t(), first1, last1, new_first1);
-   return new_first1;
-}
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_left_middle_buffer
-   ( RandIt first1, RandIt const last1, RandIt const first2
-   , const typename iterator_traits<RandIt>::value_type &next_key, Compare comp, Op op, bool is_stable)
-{
-   return is_stable ? op_partial_merge_left_middle_buffer_impl(first1, last1, first2, next_key, comp, op)
-                    : op_partial_merge_left_middle_buffer_impl(first1, last1, first2, next_key, antistable<Compare>(comp), op);
-}
-
-// Partially merges two ordered ranges. Partially means that elements are merged
-// until one of two ranges is exhausted (M elements from ranges 1 y 2).
-// [buf_first, ...) -> buffer that can be overwritten
-// [first1, last1) merge [last1,last2) -> [buf_first, buf_first+M)
-// Note: distance(buf_first, first1) >= distance(last1, last2), so no overlapping occurs.
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_left_impl
-   ( RandIt buf_first, RandIt first1, RandIt const last1, RandIt const last2, Compare comp, Op op)
-{
-   RandIt first2 = last1;
-   while(first1 != last1){
-      if(first2 == last2){
-         return first1;
-	   }
-		if(comp(*first2, *first1)) {
-         op(first2, buf_first);
-         ++first2;
-      }
-      else{
-         op(first1, buf_first);
-         ++first1;
-      }
-      ++buf_first;
-   }
-   return first2;
-}
-
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_left
-   ( RandIt buf_first, RandIt first1, RandIt const last1, RandIt const last2, Compare comp, Op op, bool is_stable)
-{
-   return is_stable ? op_partial_merge_left_impl(buf_first, first1, last1, last2, comp, op)
-                    : op_partial_merge_left_impl(buf_first, first1, last1, last2, antistable<Compare>(comp), op);
-}
-
-template<class RandIt>
-bool three_way_side_init( RandIt first1, RandIt last1, RandIt buf_first1, move_op)
-{
-   boost::move(first1, last1, buf_first1);
-   return true;
-}
-
-template<class RandIt>
-bool three_way_side_init( RandIt, RandIt, RandIt, swap_op)
-{
-   return false;
-}
-
-template<class T>
-void three_way_side_move(T &a, T &b, T&c, move_op)
-{
-   c = boost::move(b);
-   b = boost::move(a);
-}
-
-template<class T>
-void three_way_side_move(T &a, T &b, T &c, swap_op)
-{
-   T tmp(boost::move(c));
-   c = boost::move(b);
-   b = boost::move(a);
-   a = boost::move(tmp);
-}
-
-
-// Partially merges two ordered ranges. Partially means that elements are merged
-// until one of two ranges is exhausted (M elements from ranges 1 y 2).
-// [buf_first, ...) -> buffer that can be overwritten
-// [first1, last1) merge [last1,last2) -> [buf_first, buf_first+M)
-// Note: distance(buf_first, first1) >= distance(last1, last2), so no overlapping occurs.
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_left_smart_impl
-   ( RandIt first1, RandIt last1, RandIt first2, RandIt const last2, Compare comp, Op op)
-{
-   typedef typename iterator_traits<RandIt>::value_type  value_type;
-
-   RandIt dest;
-   if(last1 != first2){
-      BOOST_ASSERT((first2-last1)==(last2-first2));
-      //Skip any element that does not need to be moved
-      while(!comp(*first2, *first1)){
-         ++first1;
-         if(first1 == last1)
-            return first2;
-      }
-
-      RandIt buf_first1 = first2 - (last1-first1);
-
-      //If initialization is successful, move to buffer while merging
-      //Three way moves need less moves when op is swap_op so use it
-      //when merging elements from range2 to the destination occupied by range1
-      if(!three_way_side_init(first1, last1, buf_first1, op)){
-         RandIt buf_last1 = buf_first1;
-         three_way_side_move(*first2, *first1, *buf_last1++, op);
-
-         RandIt const orig_first2 = first2;(void)(orig_first2);
-         for(++first1, ++first2; first1 != last1; ++first1, ++buf_last1){
-            value_type &v = comp(*first2, *buf_first1) ? *first2++ : *buf_first1++;
-            three_way_side_move(v, *first1, *buf_last1, op);
-         }
-         BOOST_ASSERT(buf_last1 == orig_first2);
-         last1 = buf_last1;
-      }
-      else{
-         last1 = first2;
-      }
-      dest   = first1;
-      first1 = buf_first1;
-      BOOST_ASSERT((first1-dest) == (last2-first2));
-   }
-   else{
-      dest = first1-(last2-first2);
-   }
-
-   BOOST_ASSERT(0 != (last1-first1));
-   if(first2 != last2)
-   while(1){
-		if(comp(*first2, *first1)) {
-         op(first2++, dest++);
-         if(first2 == last2){
-            return first1;
-   	   }
-      }
-      else{
-         op(first1++, dest++);
-         if(first1 == last1){
-            return first2;
-         }
-      }
-   }
-   return first1;
-}
-
-
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_left_smart
-   (RandIt first1, RandIt const last1, RandIt first2, RandIt const last2, Compare comp, Op op, bool is_stable)
-{
-   return is_stable ? op_partial_merge_left_smart_impl(first1, last1, first2, last2, comp, op)
-                    : op_partial_merge_left_smart_impl(first1, last1, first2, last2, antistable<Compare>(comp), op);
-}
-
-
-// first - first element to merge.
-// first[-l_block, 0) - buffer
-// l_block - length of regular blocks. Blocks are stable sorted by 1st elements and key-coded
-// key_first - sequence of keys, in same order as blocks. key<midkey means stream A
-// n_bef_irreg2/n_aft_irreg2 are regular blocks
-// l_irreg2 is a irregular block, that is to be merged after n_bef_irreg2 blocks and before n_aft_irreg2 blocks
-// If l_irreg2==0 then n_aft_irreg2==0 (no irregular blocks).
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare, class Op>
-void op_merge_blocks_left
-   ( RandItKeys key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const l_irreg1
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp, Op op)
-{
-   if(n_bef_irreg2 == 0){
-      RandIt const last_reg(first+l_irreg1+n_aft_irreg2*l_block);
-		op_merge_left(first-l_block, first, last_reg, last_reg+l_irreg2, comp, op);
-   }
-   else {
-      RandIt buffer = first  - l_block;
-      RandIt first1 = first;
-      RandIt last1  = l_irreg1 ? first1 + l_irreg1 : first1 + l_block;
-      RandIt first2 = last1;
-      RandItKeys const key_end (key_first+n_bef_irreg2);
-      bool skip_first_it = l_irreg1 != 0;
-      for( bool is_range1_A = l_irreg1 ? true : key_comp(*key_first, midkey)
-         ; key_first != key_end; first2 += l_block){
-         if(!skip_first_it){
-            ++key_first;
-         }
-         skip_first_it = false;
-         bool const last_it = key_first == key_end;
-         //If the trailing block is empty, we'll make it equal to the previous if empty
-		   bool const is_range2_A    = last_it ? (!l_irreg2 && is_range1_A) : key_comp(*key_first, midkey);
-		   bool const is_buffer_middle = last1 == buffer;
-
-         if(is_range1_A == is_range2_A){
-            //If range1 is buffered, write it to its final position
-            if(!is_buffer_middle){
-               buffer = op(forward_t(), first1, last1, buffer);
-            }
-
-            first1 = first2;
-            if(last_it){
-               last1  = first2+l_block*n_aft_irreg2;
-               op_merge_left(buffer, first1, last1, last1+l_irreg2, comp, op);
-               break;
-            }
-            else{
-               last1 = first2 + l_block;
-            }
-         }
-         else {
-            BOOST_ASSERT(!last_it || (l_irreg2 || n_aft_irreg2));
-            if(last_it){
-               if(is_buffer_middle){
-                  //See comment below marked with (*)
-                  first1 = op_partial_merge_left_middle_buffer(first1, last1, first2, first2[l_block*n_aft_irreg2], comp, op, is_range1_A);
-                  last1  = first2;
-                  buffer = first1 - l_block;
-               }
-               last1 += l_block*n_aft_irreg2;
-               op_merge_left(buffer, first1, last1, last1+l_irreg2, comp, op);
-               break;
-            }
-            else{
-               RandIt const last2  = first2 + l_block;
-               first1 = op_partial_merge_left_smart(first1, last1, first2, last2, comp, op, is_range1_A);
-
-               if(first1 < first2){  //is_buffer_middle == true for the next iteration
-                  last1  = first2;
-                  buffer = last1;
-               }
-               else{ //is_buffer_middle == false for the next iteration
-                  is_range1_A = is_range2_A;
-                  buffer = first1 - l_block;
-                  last1 = last2;
-               }
-            }
-         }
-      }
-   }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//                         PARTIAL MERGE RIGHT
-//
-///////////////////////////////////////////////////////////////////////////////
-
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_right_middle_buffer_impl
-   ( RandIt const last1, RandIt const first2, RandIt last2, Compare comp, Op op)
-{
-   while(first2 != last2 && !comp(last2[-1], last1[-1])){
-      --last2;
-   }
-   return op(forward_t(), first2, last2, last1);
-}
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_right_middle_buffer
-   ( RandIt const last1, RandIt first2, RandIt const last2
-   , Compare comp, Op op, bool is_stable)
-{
-   return is_stable ? op_partial_merge_right_middle_buffer_impl(last1, first2, last2, comp, op)
-                    : op_partial_merge_right_middle_buffer_impl(last1, first2, last2, antistable<Compare>(comp), op);
-}
-
-// Partially merges two ordered ranges. Partially means that elements are merged
-// until one of two ranges is exhausted (M elements from ranges 1 y 2).
-// [last2, buf_last) -> buffer that can be overwritten
-// [first1, last1) merge [last1,last2) -> [buf_last - M, buf_last)
-// Note: distance(last2, buf_last) >= distance(first1, last1), so no overlapping occurs.
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_right_impl
-   ( RandIt const first1, RandIt last1, RandIt last2, RandIt buf_last, Compare comp, Op op)
-{
-   RandIt const first2 = last1;
-   while(first2 != last2){
-		if(last1 == first1){
-         return last2;
-      }
-      --last2;
-      --last1;
-      --buf_last;
-      if(comp(*last2, *last1)){
-         op(last1, buf_last);
-         ++last2;
-      }
-      else{
-         op(last2, buf_last);
-         ++last1;
-      }
-   }
-   return last1;
-}
-
-template<class RandIt, class Compare, class Op>
-RandIt op_partial_merge_right
-   ( RandIt first1, RandIt const last1, RandIt const last2, RandIt buf_last, Compare comp, Op op, bool is_stable)
-{
-   return is_stable ? op_partial_merge_right_impl(first1, last1, last2, buf_last, comp, op)
-                    : op_partial_merge_right_impl(first1, last1, last2, buf_last, antistable<Compare>(comp), op);
-}
-
-
-// first - first element to merge.
-// last iterator is (first+l_block*(n_bef_irreg2+n_aft_irreg2)+l_irreg2)
-// [last, last+l_block) - buffer
-// l_block - length of regular blocks. Blocks are stable sorted by 1st elements and key-coded
-// key_first - sequence of keys, in same order as blocks. key<midkey means stream A
-// n_bef_irreg2/n_aft_irreg2 are regular blocks
-// l_irreg2 is a irregular block, that is to be merged after n_bef_irreg2 blocks and before n_aft_irreg2 blocks
-// If l_irreg2==0 then n_aft_irreg2==0 (no irregular blocks).
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare, class Op>
-void op_merge_blocks_right
-   ( RandItKeys const key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp, Op op)
-{
-   RandIt last1  = first + (n_bef_irreg2+n_aft_irreg2)*l_block;
-   RandIt first1 = last1-l_block;
-   RandIt first2 = last1;
-   RandIt last2  = first2 + l_irreg2;
-   RandIt buffer_end = last2 + l_block;
-   RandItKeys key_end (key_first+(n_bef_irreg2+n_aft_irreg2));
-
-   for(bool is_range2_A = false; key_first != key_end; last1 = first1, first1 -= l_block){
-      --key_end;
-      bool const is_range1_A = key_comp(*key_end, midkey);
-		bool const is_buffer_middle = first2 == buffer_end;
-
-      if(is_range1_A == is_range2_A){
-         if(!is_buffer_middle){
-            buffer_end = op(backward_t(), first2, last2, buffer_end);
-         }
-         //else //op forward already done on previous op_partial_merge_right
-
-         first2 = first1;
-         last2  = last1;
-      }
-      else {
-         if(is_buffer_middle){
-            //A previous op_partial_merge_right has right range2 elements after the buffer.
-            //In order to merge it with the next block, move them to the start of the buffer so that
-            //buffer is placed to the right. Move only the minimum elements as some range1 elements
-            //won't be moved in the merge.
-            last2  = op_partial_merge_right_middle_buffer(last1, first2, last2, comp, op, !is_range2_A);
-            first2 = last1;
-            buffer_end = last2 + l_block;
-         }
-
-         //op_partial_merge_right merges two ranges, but stops moving elements 
-         //once one range is emptied to avoid moving data twice in the next iteration
-         last2 = op_partial_merge_right(first1, last1, last2, buffer_end, comp, op, !is_range2_A);
-         if(last2 > first2){  //is_buffer_middle == true for the next iteration
-            buffer_end = first2;
-         }
-         else{ //is_buffer_middle == false for the next iteration
-            is_range2_A = is_range1_A;
-            buffer_end = last2 + l_block;
-            first2 = first1;
-         }
-      }
-   }
-
-   if(first2 != buffer_end){
-      op(backward_t(), first2, last2, buffer_end);
-   }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//                         PARTIAL MERGE BUFFERLESS
-//
-///////////////////////////////////////////////////////////////////////////////
-
-// [first1, last1) merge [last1,last2) -> [first1,last2)
-template<class RandIt, class Compare>
-RandIt partial_merge_bufferless_impl
-   (RandIt first1, RandIt last1, RandIt const last2, bool *const pis_range1_A, Compare comp)
-{
-   if(last1 == last2){
-      return first1;
-   }
-   bool const is_range1_A = *pis_range1_A;
-	if(first1 != last1 && comp(*last1, last1[-1])){
-      do{
-         RandIt const old_last1 = last1;
-			last1  = lower_bound(last1, last2, *first1, comp);
-         first1 = rotate_gcd(first1, old_last1, last1);//old_last1 == last1 supported
-         if(last1 == last2){
-            return first1;
-         }
-         do{
-            ++first1;
-			} while(last1 != first1 && !comp(*last1, *first1) );
-      } while(first1 != last1);
-   }
-   *pis_range1_A = !is_range1_A;
-   return last1;
-}
-
-// [first1, last1) merge [last1,last2) -> [first1,last2)
-template<class RandIt, class Compare>
-RandIt partial_merge_bufferless
-   (RandIt first1, RandIt last1, RandIt const last2, bool *const pis_range1_A, Compare comp)
-{
-   return *pis_range1_A ? partial_merge_bufferless_impl(first1, last1, last2, pis_range1_A, comp)
-                        : partial_merge_bufferless_impl(first1, last1, last2, pis_range1_A, antistable<Compare>(comp));
-}
-
-
-
-// l_block - length of regular blocks. First nblocks are stable sorted by 1st elements and key-coded
-// keys - sequence of keys, in same order as blocks. key<midkey means stream A
-// n_aft_irreg2 are regular blocks from stream A. l_irreg2 is length of last (irregular) block from stream B, that should go before n_aft_irreg2 blocks.
-// l_irreg2=0 requires n_aft_irreg2=0 (no irregular blocks). l_irreg2>0, n_aft_irreg2=0 is possible.
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare>
-void merge_blocks_bufferless
-   ( RandItKeys key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const l_irreg1
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp)
-{
-   if(n_bef_irreg2 == 0){
-      RandIt const last_reg(first+l_irreg1+n_aft_irreg2*l_block);
-      merge_bufferless(first, last_reg, last_reg+l_irreg2, comp);
-   }
-   else{
-      RandIt first1 = first;
-      RandIt last1  = l_irreg1 ? first + l_irreg1: first + l_block;
-      RandItKeys const key_end (key_first+n_bef_irreg2);
-      bool is_range1_A = l_irreg1 ? true : key_comp(*key_first++, midkey);
-
-      for( ; key_first != key_end; ++key_first){
-		   bool is_range2_A = key_comp(*key_first, midkey);
-         if(is_range1_A == is_range2_A){
-            first1 = last1;
-         }
-         else{
-            first1 = partial_merge_bufferless(first1, last1, last1 + l_block, &is_range1_A, comp);
-         }
-         last1 += l_block;
-      }
-
-      if(l_irreg2){
-         if(!is_range1_A){
-            first1 = last1;
-         }
-         last1 += l_block*n_aft_irreg2;
-         merge_bufferless(first1, last1, last1+l_irreg2, comp);
-      }
-   }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//                            BUFFERED MERGE
-//
-///////////////////////////////////////////////////////////////////////////////
-template<class RandIt, class Compare, class Op, class Buf>
-void op_buffered_merge
-      ( RandIt first, RandIt const middle, RandIt last
-      , Compare comp, Op op
-      , Buf &xbuf)
-{
-   if(first != middle && middle != last && comp(*middle, middle[-1])){
-      typedef typename iterator_traits<RandIt>::size_type   size_type;
-      size_type const len1 = size_type(middle-first);
-      size_type const len2 = size_type(last-middle);
-      if(len1 <= len2){
-         first = upper_bound(first, middle, *middle, comp);
-         xbuf.move_assign(first, size_type(middle-first));
-         op_merge_with_right_placed
-            (xbuf.data(), xbuf.end(), first, middle, last, comp, op);
-      }
-      else{
-         last = lower_bound(middle, last, middle[-1], comp);
-         xbuf.move_assign(middle, size_type(last-middle));
-         op_merge_with_left_placed
-            (first, middle, last, xbuf.data(), xbuf.end(), comp, op);
-      }
-   }
-}
-
-template<class RandIt, class Compare>
-void buffered_merge
-      ( RandIt first, RandIt const middle, RandIt last
-      , Compare comp
-      , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> &xbuf)
-{
-   op_buffered_merge(first, middle, last, comp, move_op(), xbuf);
-}
-
-// Complexity: 2*distance(first, last)+max_collected^2/2
-//
-// Tries to collect at most n_keys unique elements from [first, last),
-// in the begining of the range, and ordered according to comp
-// 
-// Returns the number of collected keys
-template<class RandIt, class Compare>
-typename iterator_traits<RandIt>::size_type
-   collect_unique
-      ( RandIt const first, RandIt const last
-      , typename iterator_traits<RandIt>::size_type const max_collected, Compare comp
-      , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-   size_type h = 0;
-   if(max_collected){
-      ++h;  // first key is always here
-      RandIt h0 = first;
-      RandIt u = first; ++u;
-      RandIt search_end = u;
-
-      if(xbuf.capacity() >= max_collected){
-         value_type *const ph0 = xbuf.add(first);
-         while(u != last && h < max_collected){
-		      value_type * const r = lower_bound(ph0, xbuf.end(), *u, comp);
-            //If key not found add it to [h, h+h0)
-		      if(r == xbuf.end() || comp(*u, *r) ){
-               RandIt const new_h0 = boost::move(search_end, u, h0);
-               search_end = u;
-               ++search_end;
-               ++h;
-               xbuf.insert(r, u);
-               h0 = new_h0;
-            }
-            ++u;
-         }
-         boost::move_backward(first, h0, h0+h);
-         boost::move(xbuf.data(), xbuf.end(), first);
-      }
-      else{
-         while(u != last && h < max_collected){
-		      RandIt const r = lower_bound(h0, search_end, *u, comp);
-            //If key not found add it to [h, h+h0)
-		      if(r == search_end || comp(*u, *r) ){
-               RandIt const new_h0 = rotate_gcd(h0, search_end, u);
-               search_end = u;
-               ++search_end;
-               ++h;
-               rotate_gcd(r+(new_h0-h0), u, search_end);
-               h0 = new_h0;
-            }
-            ++u;
-         }
-         rotate_gcd(first, h0, h0+h);
-      }
-   }
-   return h;
-}
-
-template<class Unsigned>
-Unsigned floor_sqrt(Unsigned const n)
-{
-   Unsigned x = n;
-   Unsigned y = x/2 + (x&1);
-   while (y < x){
-      x = y;
-      y = (x + n / x)/2;
-   }
-   return x;
-}
-
-template<class Unsigned>
-Unsigned ceil_sqrt(Unsigned const n)
-{
-   Unsigned r = floor_sqrt(n);
-   return r + Unsigned((n%r) != 0);
-}
-
-template<class Unsigned>
-Unsigned floor_merge_multiple(Unsigned const n, Unsigned &base, Unsigned &pow)
-{
-   Unsigned s = n;
-   Unsigned p = 0;
-   while(s > AdaptiveSortInsertionSortThreshold){
-      s /= 2;
-      ++p;
-   }
-   base = s;
-   pow = p;
-   return s << p;
-}
-
-template<class Unsigned>
-Unsigned ceil_merge_multiple(Unsigned const n, Unsigned &base, Unsigned &pow)
-{
-   Unsigned fm = floor_merge_multiple(n, base, pow);
-
-   if(fm != n){
-      if(base < AdaptiveSortInsertionSortThreshold){
-         ++base;
-      }
-      else{
-         base = AdaptiveSortInsertionSortThreshold/2 + 1;
-         ++pow;
-      }
-   }
-   return base << pow;
-}
-
-template<class Unsigned>
-Unsigned ceil_sqrt_multiple(Unsigned const n, Unsigned *pbase = 0)
-{
-   Unsigned const r = ceil_sqrt(n);
-   Unsigned pow = 0;
-   Unsigned base = 0;
-   Unsigned const res = ceil_merge_multiple(r, base, pow);
-   if(pbase) *pbase = base;
-   return res;
-}
-
-template<class Unsigned>
-Unsigned ceil_sqrt_pow2(Unsigned const n)
-{
-   Unsigned r=1;
-   Unsigned exp = 0;
-   Unsigned pow = 1u;
-   while(pow != 0 && pow < n){
-      r*=2;
-      ++exp;
-      pow = r << exp;
-   }
-   return r;
-}
-
-struct less
-{
-   template<class T>
-   bool operator()(const T &l, const T &r)
-   {  return l < r;  }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//                            MERGE BLOCKS
-//
-///////////////////////////////////////////////////////////////////////////////
-
-template<class RandIt, class Compare>
-void slow_stable_sort
-   ( RandIt const first, RandIt const last, Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   size_type L = size_type(last - first);
-   {  //Use insertion sort to merge first elements
-      size_type m = 0;
-      while((L - m) > size_type(AdaptiveSortInsertionSortThreshold)){
-         insertion_sort(first+m, first+m+size_type(AdaptiveSortInsertionSortThreshold), comp);
-         m += AdaptiveSortInsertionSortThreshold;
-      }
-      insertion_sort(first+m, last, comp);
-   }
-
-   size_type h = AdaptiveSortInsertionSortThreshold;
-   for(bool do_merge = L > h; do_merge; h*=2){
-      do_merge = (L - h) > h;
-      size_type p0 = 0;
-      if(do_merge){
-         size_type const h_2 = 2*h;
-         while((L-p0) > h_2){
-			   merge_bufferless(first+p0, first+p0+h, first+p0+h_2, comp);
-            p0 += h_2;
-         }
-      }
-		if((L-p0) > h){
-         merge_bufferless(first+p0, first+p0+h, last, comp);
-      }
-   }
-}
-
-//Returns new l_block and updates use_buf
-template<class Unsigned>
-Unsigned lblock_for_combine
-   (Unsigned const l_block, Unsigned const n_keys, Unsigned const l_data, bool &use_buf)
-{
-   BOOST_ASSERT(l_data > 1);
-
-   //We need to guarantee lblock >= l_merged/(n_keys/2) keys for the combination.
-   //We have at least 4 keys guaranteed (which are the minimum to merge 2 ranges)
-   //If l_block != 0, then n_keys is already enough to merge all blocks in all
-   //phases as we've found all needed keys for that buffer and length before.
-   //If l_block == 0 then see if half keys can be used as buffer and the rest
-   //as keys guaranteeing that n_keys >= (2*l_merged)/lblock = 
-   if(!l_block){
-      //If l_block == 0 then n_keys is power of two
-      //(guaranteed by build_params(...))
-      BOOST_ASSERT(n_keys >= 4);
-      //BOOST_ASSERT(0 == (n_keys &(n_keys-1)));
-
-      //See if half keys are at least 4 and if half keys fulfill
-      Unsigned const new_buf  = n_keys/2;
-      Unsigned const new_keys = n_keys-new_buf;
-      use_buf = new_keys >= 4 && new_keys >= l_data/new_buf;
-      if(use_buf){
-         return new_buf;
-      }
-      else{
-         return l_data/n_keys;
-      }
-   }
-   else{
-      use_buf = true;
-      return l_block;
-   }
-}
-
-
-//Although "cycle" sort is known to have the minimum number of writes to target
-//selection sort is more appropriate here as we want to minimize swaps.
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare>
-void selection_sort_blocks
-   ( RandItKeys keys
-   , typename iterator_traits<RandIt>::size_type &midkey_idx //inout
-   , KeyCompare key_comp
-   , RandIt const first_block
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const n_blocks
-   , Compare comp
-   , bool use_first_element)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type ;
-   size_type const back_midkey_idx = midkey_idx;
-   typedef typename iterator_traits<RandIt>::size_type   size_type;
-   typedef typename iterator_traits<RandIt>::value_type  value_type;
-
-   //Nothing to sort if 0 or 1 blocks or all belong to the first ordered half
-   if(n_blocks < 2 || back_midkey_idx >= n_blocks){
-      return;
-   }
-   //One-past the position of the first untouched element of the second half
-   size_type high_watermark = back_midkey_idx+1;
-   BOOST_ASSERT(high_watermark <= n_blocks);
-
-   //Sort by first element if left merging, last element otherwise
-   size_type const reg_off = use_first_element ? 0u: l_block-1;
-
-   for(size_type block=0; block < n_blocks-1; ++block){
-      size_type min_block = block;
-      //Since we are searching for the minimum value in two sorted halves:
-      //Optimization 1: If block belongs to first half, don't waste time comparing elements of the first half.
-      //Optimization 2: It is enough to compare until the first untouched element of the second half.
-      high_watermark = size_type(max_value(block+2, high_watermark));
-      BOOST_ASSERT(high_watermark <= n_blocks);
-      for(size_type next_block = size_type(max_value(block+1, back_midkey_idx)); next_block < high_watermark; ++next_block){
-         const value_type &v   = first_block[next_block*l_block+reg_off];
-         const value_type &min = first_block[min_block*l_block+reg_off];
-         if( comp(v, min) || (!comp(min, v) && key_comp(keys[next_block], keys[min_block])) ){
-            min_block=next_block;
-         }
-      }
-
-      if(min_block != block){
-         BOOST_ASSERT(block >= back_midkey_idx || min_block >= back_midkey_idx);
-         BOOST_ASSERT(min_block < high_watermark);
-         //Update high watermark if n_blocks is not surpassed
-         high_watermark += size_type((min_block + 1) != n_blocks && (min_block + 1) == high_watermark);
-         BOOST_ASSERT(high_watermark <= n_blocks);
-         boost::adl_move_swap_ranges(first_block+block*l_block, first_block+(block+1)*l_block, first_block+min_block*l_block);
-         boost::adl_move_swap(keys[block], keys[min_block]);
-         if(midkey_idx == block)
-            midkey_idx = min_block;
-         else if(midkey_idx == min_block)
-            midkey_idx = block;
-      }
-   }
-}
-
-template<class RandIt, class Compare>
-void stable_sort( RandIt first, RandIt last, Compare comp
-                , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   size_type const len = size_type(last - first);
-   size_type const half_len = len/2 + (len&1);
-   if(std::size_t(xbuf.capacity() - xbuf.size()) >= half_len) {
-      merge_sort(first, last, comp, xbuf.data()+xbuf.size());
-   }
-   else{
-      slow_stable_sort(first, last, comp);
-   }
-}
-
-template<class RandIt, class Comp>
-void initialize_keys( RandIt first, RandIt last
-                    , Comp comp
-                    , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf)
-{
-   stable_sort(first, last, comp, xbuf);
-}
-
-template<class RandIt, class U>
-void initialize_keys( RandIt first, RandIt last
-                    , less
-                    , U &)
-{
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-   std::size_t count = std::size_t(last - first);
-   for(std::size_t i = 0; i != count; ++i){
-      *first = value_type(i);
-      ++first;
-   }
-}
-
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare>
-void combine_params
-   ( RandItKeys const keys
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type l_combined
-   , typename iterator_traits<RandIt>::size_type const l_prev_merged
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-   , Compare comp
-   //Output
-   , typename iterator_traits<RandIt>::size_type &midkey_idx
-   , typename iterator_traits<RandIt>::size_type &l_irreg1
-   , typename iterator_traits<RandIt>::size_type &n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type &n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type &l_irreg2
-   , bool is_merge_left)
-{
-   typedef typename iterator_traits<RandIt>::size_type   size_type;
-   typedef typename iterator_traits<RandIt>::value_type  value_type;
-
-   l_irreg1 = l_prev_merged%l_block;
-   l_irreg2 = (l_combined-l_irreg1)%l_block;
-   BOOST_ASSERT(((l_combined-l_irreg1-l_irreg2)%l_block) == 0);
-   size_type const n_reg_block = (l_combined-l_irreg1-l_irreg2)/l_block;
-   midkey_idx = l_prev_merged/l_block;
-   BOOST_ASSERT(n_reg_block>=midkey_idx);
-   initialize_keys(keys, keys+n_reg_block+(midkey_idx==n_reg_block), key_comp, xbuf);
-   selection_sort_blocks(keys, midkey_idx, key_comp, first+l_irreg1, l_block, n_reg_block, comp, is_merge_left);
-
-   n_aft_irreg2  = 0;
-   if(l_irreg2!=0){
-      size_type const reg_off   = is_merge_left ? 0u: l_block-1;
-      size_type const irreg_off = is_merge_left ? 0u: l_irreg2-1;
-      RandIt prev_block_first = first + l_combined - l_irreg2;
-      const value_type &incomplete_block_first = prev_block_first[irreg_off];
-		while(n_aft_irreg2 != n_reg_block && 
-            comp(incomplete_block_first, (prev_block_first-= l_block)[reg_off]) ){
-         ++n_aft_irreg2;
-      }
-   }
-   n_bef_irreg2 = n_reg_block-n_aft_irreg2;
-}
-
-// first - first element to merge.
-// first[-l_block, 0) - buffer (if use_buf == true)
-// l_block - length of regular blocks. First nblocks are stable sorted by 1st elements and key-coded
-// keys - sequence of keys, in same order as blocks. key<midkey means stream A
-// n_bef_irreg2/n_aft_irreg2 are regular blocks
-// l_irreg2 is a irregular block, that is to be combined after n_bef_irreg2 blocks and before n_aft_irreg2 blocks
-// If l_irreg2==0 then n_aft_irreg2==0 (no irregular blocks).
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare>
-void merge_blocks_left
-   ( RandItKeys const key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const l_irreg1
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp
-   , bool const xbuf_used)
-{
-   if(xbuf_used){
-      op_merge_blocks_left
-         (key_first, midkey, key_comp, first, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, move_op());
-   }
-   else{
-      op_merge_blocks_left
-         (key_first, midkey, key_comp, first, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, swap_op());
-   }
-}
-
-
-// first - first element to merge.
-// [first+l_block*(n_bef_irreg2+n_aft_irreg2)+l_irreg2, first+l_block*(n_bef_irreg2+n_aft_irreg2+1)+l_irreg2) - buffer
-// l_block - length of regular blocks. First nblocks are stable sorted by 1st elements and key-coded
-// keys - sequence of keys, in same order as blocks. key<midkey means stream A
-// n_bef_irreg2/n_aft_irreg2 are regular blocks
-// l_irreg2 is a irregular block, that is to be combined after n_bef_irreg2 blocks and before n_aft_irreg2 blocks
-// If l_irreg2==0 then n_aft_irreg2==0 (no irregular blocks).
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare>
-void merge_blocks_right
-   ( RandItKeys const key_first
-   , const typename iterator_traits<RandItKeys>::value_type &midkey
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , typename iterator_traits<RandIt>::size_type const n_bef_irreg2
-   , typename iterator_traits<RandIt>::size_type const n_aft_irreg2
-   , typename iterator_traits<RandIt>::size_type const l_irreg2
-   , Compare comp
-   , bool const xbuf_used)
-{
-   if(xbuf_used){
-      op_merge_blocks_right
-         (key_first, midkey, key_comp, first, l_block, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, move_op());
-   }
-   else{
-      op_merge_blocks_right
-         (key_first, midkey, key_comp, first, l_block, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, swap_op());
-   }
-}
-
-
-template<class RandIt>
-void move_data_backward( RandIt cur_pos
-              , typename iterator_traits<RandIt>::size_type const l_data
-              , RandIt new_pos
-              , bool const xbuf_used)
-{
-   //Move buffer to the total combination right
-   if(xbuf_used){
-      boost::move_backward(cur_pos, cur_pos+l_data, new_pos+l_data);      
-   }
-   else{
-      boost::adl_move_swap_ranges_backward(cur_pos, cur_pos+l_data, new_pos+l_data);      
-      //Rotate does less moves but it seems slower due to cache issues
-      //rotate_gcd(first-l_block, first+len-l_block, first+len);
-   }
-}
-
-template<class RandIt>
-void move_data_forward( RandIt cur_pos
-              , typename iterator_traits<RandIt>::size_type const l_data
-              , RandIt new_pos
-              , bool const xbuf_used)
-{
-   //Move buffer to the total combination right
-   if(xbuf_used){
-      boost::move(cur_pos, cur_pos+l_data, new_pos);
-   }
-   else{
-      boost::adl_move_swap_ranges(cur_pos, cur_pos+l_data, new_pos);
-      //Rotate does less moves but it seems slower due to cache issues
-      //rotate_gcd(first-l_block, first+len-l_block, first+len);
-   }
-}
-
-template <class Unsigned>
-Unsigned calculate_total_combined(Unsigned const len, Unsigned const l_prev_merged, Unsigned *pl_irreg_combined = 0)
-{
-   typedef Unsigned size_type;
-
-   size_type const l_combined = 2*l_prev_merged;
-   size_type l_irreg_combined = len%l_combined;
-   size_type l_total_combined = len;
-   if(l_irreg_combined <= l_prev_merged){
-      l_total_combined -= l_irreg_combined;
-      l_irreg_combined = 0;
-   }
-   if(pl_irreg_combined)
-      *pl_irreg_combined = l_irreg_combined;
-   return l_total_combined;
-}
-
-// keys are on the left of first:
-//    If use_buf: [first - l_block - n_keys, first - l_block).
-//    Otherwise:  [first - n_keys, first).
-// Buffer (if use_buf) is also on the left of first [first - l_block, first).
-// Blocks of length l_prev_merged combined. We'll combine them in pairs
-// l_prev_merged and n_keys are powers of 2. (2*l_prev_merged/l_block) keys are guaranteed
-// Returns the number of combined elements (some trailing elements might be left uncombined)
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare>
-void combine_blocks
-   ( RandItKeys const keys
-   , KeyCompare key_comp
-   , RandIt const first
-   , typename iterator_traits<RandIt>::size_type const len
-   , typename iterator_traits<RandIt>::size_type const l_prev_merged
-   , typename iterator_traits<RandIt>::size_type const l_block
-   , bool const use_buf
-   , bool const xbuf_used
-   , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-   , Compare comp
-   , bool merge_left)
-{
-   typedef typename iterator_traits<RandIt>::size_type   size_type;
-
-   size_type const l_combined   = 2*l_prev_merged;
-   size_type l_irreg_combined = 0;
-   size_type const l_total_combined = calculate_total_combined(len, l_prev_merged, &l_irreg_combined);
-   size_type const n_reg_combined = len/l_combined;
-   RandIt combined_first = first;
-
-   (void)l_total_combined;
-   BOOST_ASSERT(l_total_combined <= len);
-
-   size_type n_bef_irreg2, n_aft_irreg2, midkey_idx, l_irreg1, l_irreg2;
-   size_type const max_i = n_reg_combined + (l_irreg_combined != 0);
-
-   if(merge_left || !use_buf)
-      for( size_type combined_i = 0; combined_i != max_i; ++combined_i, combined_first += l_combined) {
-         bool const is_last = combined_i==n_reg_combined;
-         combine_params( keys, key_comp, combined_first, is_last ? l_irreg_combined : l_combined
-                       , l_prev_merged, l_block, xbuf, comp
-                       , midkey_idx, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, true);   //Outputs
-         //BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After combine_params: ", len + l_block);
-         BOOST_ASSERT(!l_irreg1);
-         if(use_buf){
-            merge_blocks_left
-               (keys, keys[midkey_idx], key_comp, combined_first, l_block, 0u, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, xbuf_used);
-         }
-         else{
-            merge_blocks_bufferless
-               (keys, keys[midkey_idx], key_comp, combined_first, l_block, 0u, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp);
-         }
-         //BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After merge_blocks_l: ", len + l_block);
-      }
-   else{
-      combined_first += l_combined*(max_i-1);
-      for( size_type combined_i = max_i; combined_i--; combined_first -= l_combined) {
-         bool const is_last = combined_i==n_reg_combined;
-         combine_params( keys, key_comp, combined_first, is_last ? l_irreg_combined : l_combined
-                       , l_prev_merged, l_block, xbuf, comp
-                       , midkey_idx, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, false);  //Outputs
-         BOOST_ASSERT(!l_irreg1);
-         //BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After combine_params: ", len + l_block);
-         merge_blocks_right
-            (keys, keys[midkey_idx], key_comp, combined_first, l_block, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, xbuf_used);
-         //BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After merge_blocks_r: ", len + l_block);
-      }
-   }
-}
-
-
-template<class RandIt, class Compare>
-typename iterator_traits<RandIt>::size_type
-   buffered_merge_blocks
-      ( RandIt const first, RandIt const last
-      , typename iterator_traits<RandIt>::size_type const input_combined_size
-      , Compare comp
-      , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> &xbuf)
-{
-   typedef typename iterator_traits<RandIt>::size_type   size_type;
-   size_type combined_size = input_combined_size;
-
-   for( size_type const elements_in_blocks = size_type(last - first)
-      ; elements_in_blocks > combined_size && size_type(xbuf.capacity()) >= combined_size
-      ; combined_size *=2){
-      RandIt merge_point = first;
-      while(size_type(last - merge_point) > 2*combined_size) {
-         RandIt const second_half = merge_point+combined_size;
-         RandIt const next_merge_point = second_half+combined_size;
-         buffered_merge(merge_point, second_half, next_merge_point, comp, xbuf);
-         merge_point = next_merge_point;
-      }
-      if(size_type(last-merge_point) > combined_size){
-         buffered_merge(merge_point, merge_point+combined_size, last, comp, xbuf);
-      }
-   }
-   return combined_size;
-}
-
-template<class RandIt, class Compare, class Op>
-typename iterator_traits<RandIt>::size_type
-   op_insertion_sort_step_left
-      ( RandIt const first
-      , typename iterator_traits<RandIt>::size_type const length
-      , typename iterator_traits<RandIt>::size_type const step
-      , Compare comp, Op op)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   size_type const s = min_value<size_type>(step, AdaptiveSortInsertionSortThreshold);
-   size_type m = 0;
-
-   while((length - m) > s){
-      insertion_sort_op(first+m, first+m+s, first+m-s, comp, op);
-      m += s;
-   }
-   insertion_sort_op(first+m, first+length, first+m-s, comp, op);
-   return s;
-}
-
-template<class RandIt, class Compare>
-typename iterator_traits<RandIt>::size_type
-   insertion_sort_step
-      ( RandIt const first
-      , typename iterator_traits<RandIt>::size_type const length
-      , typename iterator_traits<RandIt>::size_type const step
-      , Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   size_type const s = min_value<size_type>(step, AdaptiveSortInsertionSortThreshold);
-   size_type m = 0;
-
-   while((length - m) > s){
-      insertion_sort(first+m, first+m+s, comp);
-      m += s;
-   }
-   insertion_sort(first+m, first+length, comp);
-   return s;
-}
-
-template<class RandIt, class Compare, class Op>
-typename iterator_traits<RandIt>::size_type  
-   op_merge_left_step
-      ( RandIt first_block
-      , typename iterator_traits<RandIt>::size_type const elements_in_blocks
-      , typename iterator_traits<RandIt>::size_type l_merged
-      , typename iterator_traits<RandIt>::size_type const l_build_buf
-      , typename iterator_traits<RandIt>::size_type l_left_space
-      , Compare comp
-      , Op op)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   for(; l_merged < l_build_buf && l_left_space >= l_merged; l_merged*=2){
-      size_type p0=0;
-      RandIt pos = first_block;
-      while((elements_in_blocks - p0) > 2*l_merged) {
-         op_merge_left(pos-l_merged, pos, pos+l_merged, pos+2*l_merged, comp, op);
-         p0 += 2*l_merged;
-         pos = first_block+p0;
-      }
-      if((elements_in_blocks-p0) > l_merged) {
-         op_merge_left(pos-l_merged, pos, pos+l_merged, first_block+elements_in_blocks, comp, op);
-      }
-      else {
-         op(forward_t(), pos, first_block+elements_in_blocks, pos-l_merged);
-      }
-      first_block -= l_merged;
-      l_left_space -= l_merged;
-   }
-   return l_merged;
-}
-
-template<class RandIt, class Compare, class Op>
-void op_merge_right_step
-      ( RandIt first_block
-      , typename iterator_traits<RandIt>::size_type const elements_in_blocks
-      , typename iterator_traits<RandIt>::size_type const l_build_buf
-      , Compare comp
-      , Op op)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   size_type restk = elements_in_blocks%(2*l_build_buf);
-   size_type p = elements_in_blocks - restk;
-   BOOST_ASSERT(0 == (p%(2*l_build_buf)));
-
-   if(restk <= l_build_buf){
-      op(backward_t(),first_block+p, first_block+p+restk, first_block+p+restk+l_build_buf);
-   }
-	else{
-      op_merge_right(first_block+p, first_block+p+l_build_buf, first_block+p+restk, first_block+p+restk+l_build_buf, comp, op);
-   }
-   while(p>0){
-      p -= 2*l_build_buf;
-		op_merge_right(first_block+p, first_block+p+l_build_buf, first_block+p+2*l_build_buf, first_block+p+3*l_build_buf, comp, op);
-   }
-}
-
-
-// build blocks of length 2*l_build_buf. l_build_buf is power of two
-// input: [0, l_build_buf) elements are buffer, rest unsorted elements
-// output: [0, l_build_buf) elements are buffer, blocks 2*l_build_buf and last subblock sorted
-//
-// First elements are merged from right to left until elements start
-// at first. All old elements [first, first + l_build_buf) are placed at the end
-// [first+len-l_build_buf, first+len). To achieve this:
-// - If we have external memory to merge, we save elements from the buffer
-//   so that a non-swapping merge is used. Buffer elements are restored
-//   at the end of the buffer from the external memory.
-//
-// - When the external memory is not available or it is insufficient
-//   for a merge operation, left swap merging is used.
-//
-// Once elements are merged left to right in blocks of l_build_buf, then a single left
-// to right merge step is performed to achieve merged blocks of size 2K.
-// If external memory is available, usual merge is used, swap merging otherwise.
-//
-// As a last step, if auxiliary memory is available in-place merge is performed.
-// until all is merged or auxiliary memory is not large enough.
-template<class RandIt, class Compare>
-typename iterator_traits<RandIt>::size_type  
-   build_blocks
-      ( RandIt const first
-      , typename iterator_traits<RandIt>::size_type const len
-      , typename iterator_traits<RandIt>::size_type const l_base
-      , typename iterator_traits<RandIt>::size_type const l_build_buf
-      , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-      , Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   BOOST_ASSERT(l_build_buf <= len);
-   BOOST_ASSERT(0 == ((l_build_buf / l_base)&(l_build_buf/l_base-1)));
-
-   //Place the start pointer after the buffer
-   RandIt first_block = first + l_build_buf;
-   size_type const elements_in_blocks = len - l_build_buf;
-
-   //////////////////////////////////
-   // Start of merge to left step
-   //////////////////////////////////
-   size_type l_merged = 0u;
-
-//   if(xbuf.capacity()>=2*l_build_buf){
-   if(!l_build_buf){
-      l_merged = insertion_sort_step(first_block, elements_in_blocks, l_base, comp);
-      //2*l_build_buf already merged, now try to merge further
-      //using classic in-place mergesort if enough auxiliary memory is available
-      return buffered_merge_blocks
-         (first_block, first_block + elements_in_blocks, l_merged, comp, xbuf);
-   }
-   else{
-      //If there is no enough buffer for the insertion sort step, just avoid the external buffer
-      size_type kbuf = min_value<size_type>(l_build_buf, size_type(xbuf.capacity()));
-      kbuf = kbuf < l_base ? 0 : kbuf;
-
-      if(kbuf){
-         //Backup internal buffer values in external buffer so they can be overwritten
-         xbuf.move_assign(first+l_build_buf-kbuf, kbuf);
-         l_merged = op_insertion_sort_step_left(first_block, elements_in_blocks, l_base, comp, move_op());
-
-         //Now combine them using the buffer. Elements from buffer can be
-         //overwritten since they've been saved to xbuf
-         l_merged = op_merge_left_step
-            ( first_block - l_merged, elements_in_blocks, l_merged, l_build_buf, kbuf - l_merged, comp, move_op());
-
-         //Restore internal buffer from external buffer unless kbuf was l_build_buf,
-         //in that case restoration will happen later
-         if(kbuf != l_build_buf){
-            boost::move(xbuf.data()+kbuf-l_merged, xbuf.data() + kbuf, first_block-l_merged+elements_in_blocks);
-         }
-      }
-      else{
-         l_merged = insertion_sort_step(first_block, elements_in_blocks, l_base, comp);
-         rotate_gcd(first_block - l_merged, first_block, first_block+elements_in_blocks);
-      }
-
-      //Now combine elements using the buffer. Elements from buffer can't be
-      //overwritten since xbuf was not big enough, so merge swapping elements.
-      l_merged = op_merge_left_step
-         (first_block - l_merged, elements_in_blocks, l_merged, l_build_buf, l_build_buf - l_merged, comp, swap_op());
-
-      BOOST_ASSERT(l_merged == l_build_buf);
-
-      //////////////////////////////////
-      // Start of merge to right step
-      //////////////////////////////////
-
-      //If kbuf is l_build_buf then we can merge right without swapping
-      //Saved data is still in xbuf
-      if(kbuf && kbuf == l_build_buf){
-         op_merge_right_step(first, elements_in_blocks, l_build_buf, comp, move_op());
-         //Restore internal buffer from external buffer if kbuf was l_build_buf.
-         //as this operation was previously delayed.
-         boost::move(xbuf.data(), xbuf.data() + kbuf, first);
-      }
-      else{
-         op_merge_right_step(first, elements_in_blocks, l_build_buf, comp, swap_op());
-      }
-      xbuf.clear();
-      //2*l_build_buf already merged, now try to merge further
-      //using classic in-place mergesort if enough auxiliary memory is available
-      return buffered_merge_blocks
-         (first_block, first_block + elements_in_blocks, l_build_buf*2, comp, xbuf);
-   }
-}
-
-//Returns true if buffer is placed in 
-//[buffer+len-l_intbuf, buffer+len). Otherwise, buffer is
-//[buffer,buffer+l_intbuf)
-template<class RandIt, class Compare>
-bool combine_all_blocks
-   ( RandIt keys
-   , typename iterator_traits<RandIt>::size_type &n_keys
-   , RandIt const buffer
-   , typename iterator_traits<RandIt>::size_type const l_buf_plus_data
-   , typename iterator_traits<RandIt>::size_type l_merged
-   , typename iterator_traits<RandIt>::size_type &l_intbuf
-   , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-   , Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   RandIt const first = buffer + l_intbuf;
-   size_type const l_data = l_buf_plus_data - l_intbuf;
-   size_type const l_unique = l_intbuf+n_keys;
-   //Backup data to external buffer once if possible
-   bool const common_xbuf = l_data > l_merged && l_intbuf && l_intbuf <= xbuf.capacity();
-   if(common_xbuf){
-      if(n_keys){
-         xbuf.move_assign(buffer, l_intbuf);
-      }
-      else{
-         xbuf.clear();
-         merge_sort_uninitialized_copy(buffer, first, xbuf.data(), comp);
-         xbuf.set_size(l_intbuf);
-      }
-   }
-
-   bool prev_merge_left = true;
-   size_type l_prev_total_combined = 0u, l_prev_block = 0;
-   bool prev_use_internal_buf = true;
-
-   for( size_type n = 0; l_data > l_merged
-      ; l_merged*=2
-      , ++n){
-      //If l_intbuf is non-zero, use that internal buffer.
-      //    Implies l_block == l_intbuf && use_internal_buf == true
-      //If l_intbuf is zero, see if half keys can be reused as a reduced emergency buffer,
-      //    Implies l_block == n_keys/2 && use_internal_buf == true
-      //Otherwise, just give up and and use all keys to merge using rotations (use_internal_buf = false)
-      bool use_internal_buf = false;
-      size_type const l_block = lblock_for_combine(l_intbuf, n_keys, 2*l_merged, use_internal_buf);
-      BOOST_ASSERT(!l_intbuf || (l_block == l_intbuf));
-      BOOST_ASSERT(n == 0 || (!use_internal_buf || prev_use_internal_buf) );
-      BOOST_ASSERT(n == 0 || (!use_internal_buf || l_prev_block == l_block) );
-      
-      bool const is_merge_left = (n&1) == 0;
-      size_type const l_total_combined = calculate_total_combined(l_data, l_merged);
-
-      if(prev_use_internal_buf && prev_merge_left){
-         if(is_merge_left || !use_internal_buf){
-            move_data_backward(first-l_prev_block, l_prev_total_combined, first, common_xbuf);
-         }
-         else{
-            //Put the buffer just after l_total_combined
-            RandIt const buf_end = first+l_prev_total_combined;
-            RandIt const buf_beg = buf_end-l_block;
-            if(l_prev_total_combined > l_total_combined){
-               size_type const l_diff = l_prev_total_combined - l_total_combined;
-               move_data_backward(buf_beg-l_diff, l_diff, buf_end-l_diff, common_xbuf);
-            }
-            else if(l_prev_total_combined < l_total_combined){
-               size_type const l_diff = l_total_combined - l_prev_total_combined;
-               move_data_forward(buf_end, l_diff, buf_beg, common_xbuf);
-            }
-         }
-      }
-      BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After move_data     : ", l_data + l_intbuf);
-
-      //Combine to form l_merged*2 segments
-      if(n_keys){
-         combine_blocks
-            ( keys, comp, !use_internal_buf || is_merge_left ? first : first-l_block
-            , l_data, l_merged, l_block, use_internal_buf, common_xbuf, xbuf, comp, is_merge_left);
-      }
-      else{
-         size_type *const uint_keys = xbuf.template aligned_trailing<size_type>();
-         combine_blocks
-            ( uint_keys, less(), !use_internal_buf || is_merge_left ? first : first-l_block
-            , l_data, l_merged, l_block, use_internal_buf, common_xbuf, xbuf, comp, is_merge_left);
-      }
-      BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After combine_blocks: ", l_data + l_intbuf);
-      prev_merge_left = is_merge_left;
-      l_prev_total_combined = l_total_combined;
-      l_prev_block = l_block;
-      prev_use_internal_buf = use_internal_buf;
-   }
-   BOOST_ASSERT(l_prev_total_combined == l_data);
-   bool const buffer_right = prev_use_internal_buf && prev_merge_left;
-   l_intbuf = prev_use_internal_buf ? l_prev_block : 0u;
-   n_keys = l_unique - l_intbuf;
-   //Restore data from to external common buffer if used
-   if(common_xbuf){
-      if(buffer_right){
-         boost::move(xbuf.data(), xbuf.data() + l_intbuf, buffer+l_data);
-      }
-      else{
-         boost::move(xbuf.data(), xbuf.data() + l_intbuf, buffer);
-      }
-   }
-   return buffer_right;
-}
-
-template<class RandIt, class Compare>
-void stable_merge
-      ( RandIt first, RandIt const middle, RandIt last
-      , Compare comp
-      , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> &xbuf)
-{
-   BOOST_ASSERT(xbuf.empty());
-   typedef typename iterator_traits<RandIt>::size_type   size_type;
-   size_type const len1  = size_type(middle-first);
-   size_type const len2  = size_type(last-middle);
-   size_type const l_min = min_value(len1, len2);
-   if(xbuf.capacity() >= l_min){
-      buffered_merge(first, middle, last, comp, xbuf);
-      xbuf.clear();
-   }
-   else{
-      merge_bufferless(first, middle, last, comp);
-   }
-}
-
-
-template<class RandIt, class Compare>
-void final_merge( bool buffer_right
-                , RandIt const first
-                , typename iterator_traits<RandIt>::size_type const l_intbuf
-                , typename iterator_traits<RandIt>::size_type const n_keys
-                , typename iterator_traits<RandIt>::size_type const len
-                , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-                , Compare comp)
-{
-   BOOST_ASSERT(n_keys || xbuf.size() == l_intbuf);
-   xbuf.clear();
-
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   size_type const n_key_plus_buf = l_intbuf+n_keys;
-   if(buffer_right){
-      stable_sort(first+len-l_intbuf, first+len, comp, xbuf);
-      stable_merge(first+n_keys, first+len-l_intbuf, first+len, antistable<Compare>(comp), xbuf);
-      stable_sort(first, first+n_keys, comp, xbuf);
-      stable_merge(first, first+n_keys, first+len, comp, xbuf);
-   }
-   else{
-      stable_sort(first, first+n_key_plus_buf, comp, xbuf);
-      if(xbuf.capacity() >= n_key_plus_buf){
-         buffered_merge(first, first+n_key_plus_buf, first+len, comp, xbuf);
-      }
-      else if(xbuf.capacity() >= min_value<size_type>(l_intbuf, n_keys)){
-         stable_merge(first+n_keys, first+n_key_plus_buf, first+len, comp, xbuf);
-         stable_merge(first, first+n_keys, first+len, comp, xbuf);
-      }
-      else{
-         merge_bufferless(first, first+n_key_plus_buf, first+len, comp);
-      }
-   }
-   BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After final_merge   : ", len);
-}
-
-template<class RandIt, class Compare, class Unsigned, class T>
-bool build_params
-   (RandIt first, Unsigned const len, Compare comp
-   , Unsigned &n_keys, Unsigned &l_intbuf, Unsigned &l_base, Unsigned &l_build_buf
-   , adaptive_xbuf<T> & xbuf
-   )
-{
-   typedef Unsigned size_type;
-
-   //Calculate ideal parameters and try to collect needed unique keys
-   l_base = 0u;
-
-   //Try to find a value near sqrt(len) that is 2^N*l_base where
-   //l_base <= AdaptiveSortInsertionSortThreshold. This property is important
-   //as build_blocks merges to the left iteratively duplicating the
-   //merged size and all the buffer must be used just before the final
-   //merge to right step. This guarantees "build_blocks" produces 
-   //segments of size l_build_buf*2, maximizing the classic merge phase.
-   l_intbuf = size_type(ceil_sqrt_multiple(len, &l_base));
-
-   //This is the minimum number of case to implement the ideal algorithm
-   //
-   //l_intbuf is used as buffer plus the key count
-   size_type n_min_ideal_keys = l_intbuf-1u;
-   while(n_min_ideal_keys >= (len-l_intbuf-n_min_ideal_keys)/l_intbuf){
-      --n_min_ideal_keys;
-   }
-   ++n_min_ideal_keys;
-   BOOST_ASSERT(n_min_ideal_keys < l_intbuf);
-
-   if(xbuf.template supports_aligned_trailing<size_type>(l_intbuf, n_min_ideal_keys)){
-      n_keys = 0u;
-      l_build_buf = l_intbuf;
-   }
-   else{
-      //Try to achieve a l_build_buf of length l_intbuf*2, so that we can merge with that
-      //l_intbuf*2 buffer in "build_blocks" and use half of them as buffer and the other half
-      //as keys in combine_all_blocks. In that case n_keys >= n_min_ideal_keys but by a small margin.
-      //
-      //If available memory is 2*sqrt(l), then only sqrt(l) unique keys are needed,
-      //(to be used for keys in combine_all_blocks) as the whole l_build_buf
-      //we'll be backuped in the buffer during build_blocks.
-      bool const non_unique_buf = xbuf.capacity() >= 2*l_intbuf;
-      size_type const to_collect = non_unique_buf ? l_intbuf : l_intbuf*2;
-	   size_type collected = collect_unique(first, first+len, to_collect, comp, xbuf);
-
-      //If available memory is 2*sqrt(l), then for "build_params" 
-      //the situation is the same as if 2*l_intbuf were collected.
-      if(non_unique_buf && (collected >= n_min_ideal_keys))
-         collected += l_intbuf;
-
-      //If collected keys are not enough, try to fix n_keys and l_intbuf. If no fix
-      //is possible (due to very low unique keys), then go to a slow sort based on rotations.
-      if(collected < (n_min_ideal_keys+l_intbuf)){
-         if(collected < 4){  //No combination possible with less that 4 keys
-			   return false;
-         }
-         n_keys = l_intbuf;
-         while(n_keys&(n_keys-1)){
-            n_keys &= n_keys-1;  // make it power or 2
-         }
-         while(n_keys > collected){
-            n_keys/=2;
-         }
-         l_base = min_value<Unsigned>(n_keys, AdaptiveSortInsertionSortThreshold);
-         l_intbuf = 0;
-         l_build_buf = n_keys;
-      }
-      else if((collected - l_intbuf) >= l_intbuf){
-         //l_intbuf*2 elements found. Use all of them in the build phase 
-         l_build_buf = l_intbuf*2;
-         n_keys = l_intbuf;
-      }
-      else{
-         l_build_buf = l_intbuf;
-         n_keys = n_min_ideal_keys;
-      }
-      BOOST_ASSERT((n_keys+l_intbuf) >= l_build_buf);
-   }
-
-   return true;
-}
-
-template<class RandIt, class Compare>
-void adaptive_sort_impl
-   ( RandIt first
-   , typename iterator_traits<RandIt>::size_type const len
-   , Compare comp
-   , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-   )
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-
-   //Small sorts go directly to insertion sort
-   if(len <= size_type(AdaptiveSortInsertionSortThreshold)){
-      insertion_sort(first, first + len, comp);
-      return;
-   }
-   
-   if((len-len/2) <= xbuf.capacity()){
-      merge_sort(first, first+len, comp, xbuf.data());
-      return;
-   }
-
-   //Make sure it is at least two
-   BOOST_STATIC_ASSERT(AdaptiveSortInsertionSortThreshold >= 4);
-
-   size_type l_base = 0;
-   size_type l_intbuf = 0;
-   size_type n_keys = 0;
-   size_type l_build_buf = 0;
-
-   if(!build_params(first, len, comp, n_keys, l_intbuf, l_base, l_build_buf, xbuf)){
-      stable_sort(first, first+len, comp, xbuf);
-      return;
-   }
-
-   //Otherwise, continue in adaptive_sort
-   BOOST_MOVE_ADAPTIVE_SORT_PRINT("\n   After collect_unique: ", len);
-   size_type const n_key_plus_buf = l_intbuf+n_keys;
-   //l_build_buf is always power of two if l_intbuf is zero
-   BOOST_ASSERT(l_intbuf || (0 == (l_build_buf & (l_build_buf-1))));
-
-   //Classic merge sort until internal buffer and xbuf are exhausted
-   size_type const l_merged = build_blocks
-      (first+n_key_plus_buf-l_build_buf, len-n_key_plus_buf+l_build_buf, l_base, l_build_buf, xbuf, comp);
-   BOOST_MOVE_ADAPTIVE_SORT_PRINT("   After build_blocks:   ", len);
-
-   //Non-trivial merge
-   bool const buffer_right = combine_all_blocks
-      (first, n_keys, first+n_keys, len-n_keys, l_merged, l_intbuf, xbuf, comp);
-
-   //Sort keys and buffer and merge the whole sequence
-   final_merge(buffer_right, first, l_intbuf, n_keys, len, xbuf, comp);
-}
-
-template<class RandIt, class Compare>
-void adaptive_merge_impl
-   ( RandIt first
-   , typename iterator_traits<RandIt>::size_type const len1
-   , typename iterator_traits<RandIt>::size_type const len2
-   , Compare comp
-   , adaptive_xbuf<typename iterator_traits<RandIt>::value_type> & xbuf
-   )
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-
-   if(xbuf.capacity() >= min_value<size_type>(len1, len2)){
-      buffered_merge(first, first+len1, first+(len1+len2), comp, xbuf);
-   }
-   else{
-      const size_type len = len1+len2;
-      //Calculate ideal parameters and try to collect needed unique keys
-      size_type l_block = size_type(ceil_sqrt(len));
-
-      if(len1 <= l_block*2 || len2 <= l_block*2){
-         merge_bufferless(first, first+len1, first+len1+len2, comp);
-         return;
-      }
-
-      size_type l_intbuf = xbuf.capacity() >= l_block ? 0u : l_block;
-
-      //This is the minimum number of case to implement the ideal algorithm
-      //ceil(len/l_block) - 1 (as the first block is used as buffer)
-      size_type n_keys = l_block;
-      while(n_keys >= (len-l_intbuf-n_keys)/l_block){
-         --n_keys;
-      }
-      ++n_keys;
-      BOOST_ASSERT(n_keys < l_block);
-
-      if(xbuf.template supports_aligned_trailing<size_type>(l_block, n_keys)){
-         n_keys = 0u;
-      }
-
-      size_type const to_collect = l_intbuf+n_keys;
-	   size_type const collected = collect_unique(first, first+len1, to_collect, comp, xbuf);
-
-      BOOST_MOVE_ADAPTIVE_SORT_PRINT("\n   A collect: ", len);
-      if(collected != to_collect && collected < 4){
-         merge_bufferless(first, first+len1, first+len1+len2, comp);
-      }
-      else{
-         bool use_internal_buf = true;
-         if (collected != to_collect){
-            l_intbuf = 0u;
-            n_keys = collected;
-            use_internal_buf = false;
-            l_block  = lblock_for_combine(l_intbuf, n_keys, len, use_internal_buf);
-            l_intbuf = use_internal_buf ? l_block : 0u;
-         }
-
-         bool xbuf_used = collected == to_collect && xbuf.capacity() >= l_block;
-         size_type const l_combine  = len-collected;
-         size_type const l_combine1 = len1-collected;
-
-         size_type n_bef_irreg2, n_aft_irreg2, l_irreg1, l_irreg2, midkey_idx;
-         if(n_keys){
-            RandIt const first_data = first+collected;
-            RandIt const keys = first;
-            combine_params( keys, comp, first_data, l_combine
-                          , l_combine1, l_block, xbuf, comp
-                          , midkey_idx, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, true);   //Outputs
-            BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A combine: ", len);
-            if(xbuf_used){
-               merge_blocks_with_buf
-                  (keys, keys[midkey_idx], comp, first_data, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, xbuf, xbuf_used);
-               BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A mrg xbf: ", len);
-            }
-            else if(use_internal_buf){
-               #define BOOST_MOVE_ADAPTIVE_MERGE_WITH_BUF
-               #ifdef BOOST_MOVE_ADAPTIVE_MERGE_WITH_BUF
-               range_xbuf<RandIt, swap_op> rbuf(first_data-l_block, first_data);
-               merge_blocks_with_buf
-                  (keys, keys[midkey_idx], comp, first_data, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, rbuf, xbuf_used);
-               BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A mrg buf: ", len);
-               #else
-               merge_blocks_left
-                  (keys, keys[midkey_idx], comp, first_data, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, xbuf_used);
-               BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A mrg lft: ", len);
-               #endif
-            }
-            else{
-               merge_blocks_bufferless
-                  (keys, keys[midkey_idx], comp, first_data, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp);
-               BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A mrg bfl: ", len);
-            }
-         }
-         else{
-            xbuf.clear();
-            size_type *const uint_keys = xbuf.template aligned_trailing<size_type>(l_block);
-            combine_params( uint_keys, less(), first, l_combine
-                          , l_combine1, l_block, xbuf, comp
-                          , midkey_idx, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, true);   //Outputs
-            BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A combine: ", len);
-            merge_blocks_with_buf
-               (uint_keys, uint_keys[midkey_idx], less(), first, l_block, l_irreg1, n_bef_irreg2, n_aft_irreg2, l_irreg2, comp, xbuf, true);
-            xbuf.clear();
-            BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A mrg lft: ", len);
-         }
-
-         n_keys = collected-l_intbuf;
-         if(use_internal_buf){
-            if(xbuf_used){
-               xbuf.clear();
-               //Nothing to do
-               if(n_keys){
-                  stable_sort(first, first+n_keys, comp, xbuf);
-                  stable_merge(first, first+n_keys, first+len, comp, xbuf);
-               }
-            }
-            else{
-               #ifdef BOOST_MOVE_ADAPTIVE_MERGE_WITH_BUF
-               xbuf.clear();
-               stable_sort(first, first+collected, comp, xbuf);
-               stable_merge(first, first+collected, first+len, comp, xbuf);
-               #else
-               xbuf.clear();
-               stable_sort(first+len-l_block, first+len, comp, xbuf);
-               RandIt const pos1 = lower_bound(first+n_keys, first+len-l_block, first[len-1], comp);
-               RandIt const pos2 = rotate_gcd(pos1, first+len-l_block, first+len);
-               stable_merge(first+n_keys, pos1, pos2, antistable<Compare>(comp), xbuf);
-               if(n_keys){
-                  stable_sort(first, first+n_keys, comp, xbuf);
-                  stable_merge(first, first+n_keys, first+len, comp, xbuf);
-               }
-               #endif
-            }
-
-            BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A buf mrg: ", len);
-         }
-         else{
-            stable_sort(first, first+collected, comp, xbuf);
-            xbuf.clear();
-            if(xbuf.capacity() >= collected){
-               buffered_merge(first, first+collected, first+len1+len2, comp, xbuf);
-            }
-            else{
-               merge_bufferless(first, first+collected, first+len1+len2, comp);
-            }
-         }
-         BOOST_MOVE_ADAPTIVE_SORT_PRINT("   A key mrg: ", len);
-      }
-   }
-}
-
-}  //namespace detail_adaptive {
-}  //namespace movelib {
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#define BOOST_MOVE_ADAPTIVE_SORT_MERGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/basic_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/basic_op.hpp
deleted file mode 100644
index 936f7a2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/basic_op.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_MOVE_ALGO_BASIC_OP
-#define BOOST_MOVE_ALGO_BASIC_OP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/utility_core.hpp>
-#include <boost/move/adl_move_swap.hpp>
-
-namespace boost {
-namespace movelib {
-
-struct forward_t{};
-struct backward_t{};
-
-struct move_op
-{
-   template <class SourceIt, class DestinationIt>
-   void operator()(SourceIt source, DestinationIt dest)
-   {  *dest = ::boost::move(*source);  }
-
-   template <class SourceIt, class DestinationIt>
-   DestinationIt operator()(forward_t, SourceIt first, SourceIt last, DestinationIt dest_begin)
-   {  return ::boost::move(first, last, dest_begin);  }
-
-   template <class SourceIt, class DestinationIt>
-   DestinationIt operator()(backward_t, SourceIt first, SourceIt last, DestinationIt dest_last)
-   {  return ::boost::move_backward(first, last, dest_last);  }
-};
-
-struct swap_op
-{
-   template <class SourceIt, class DestinationIt>
-   void operator()(SourceIt source, DestinationIt dest)
-   {  boost::adl_move_swap(*dest, *source);  }
-
-   template <class SourceIt, class DestinationIt>
-   DestinationIt operator()(forward_t, SourceIt first, SourceIt last, DestinationIt dest_begin)
-   {  return boost::adl_move_swap_ranges(first, last, dest_begin);  }
-
-   template <class SourceIt, class DestinationIt>
-   DestinationIt operator()(backward_t, SourceIt first, SourceIt last, DestinationIt dest_begin)
-   {  return boost::adl_move_swap_ranges_backward(first, last, dest_begin);  }
-};
-
-}} //namespace boost::movelib
-
-#endif   //BOOST_MOVE_ALGO_BASIC_OP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/bufferless_merge_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/bufferless_merge_sort.hpp
deleted file mode 100644
index a8e2763..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/bufferless_merge_sort.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_ALGO_BUFFERLESS_MERGE_SORT_HPP
-#define BOOST_MOVE_ALGO_BUFFERLESS_MERGE_SORT_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>
-
-#include <boost/move/utility_core.hpp>
-#include <boost/move/adl_move_swap.hpp>
-
-#include <boost/move/algo/move.hpp>
-#include <boost/move/algo/detail/merge.hpp>
-
-#include <boost/move/detail/iterator_traits.hpp>
-#include <boost/move/algo/detail/insertion_sort.hpp>
-#include <cassert>
-
-namespace boost {
-namespace movelib {
-// @cond
-namespace detail_bufferless_mergesort {
-
-static const std::size_t UnbufferedMergeSortInsertionSortThreshold = 16;
-
-//A in-placed version based on:
-//Jyrki Katajainen, Tomi Pasanen, Jukka Teuhola.
-//``Practical in-place mergesort''. Nordic Journal of Computing, 1996.
-
-template<class RandIt, class Compare>
-void bufferless_merge_sort(RandIt first, RandIt last, Compare comp);
-
-template<class RandIt, class Compare>
-void swap_sort(RandIt const first, RandIt const last, RandIt const buffer_first, RandIt const buffer_last, Compare comp, bool buffer_at_right)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   if (size_type(last - first) > UnbufferedMergeSortInsertionSortThreshold) {
-      RandIt m = first + (last - first) / 2;
-      bufferless_merge_sort(first, m, comp);
-      bufferless_merge_sort(m, last, comp);
-      if(buffer_at_right){
-         //Use antistable to minimize movements (if equal, move first half elements 
-         //to maximize the chance last half elements are already in place.
-         boost::movelib::swap_merge_right(first, m, last, buffer_last, boost::movelib::antistable<Compare>(comp));
-      }
-      else{
-         boost::movelib::swap_merge_left(buffer_first, first, m, last, comp);
-      }
-   }
-   else
-      boost::movelib::insertion_sort_swap(first, last, buffer_first, comp);
-}
-
-template<class RandIt, class Compare>
-void bufferless_merge_sort(RandIt const first, RandIt const last, Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   size_type len = size_type(last - first);
-   if (len > size_type(UnbufferedMergeSortInsertionSortThreshold)) {
-      len /= 2;
-      RandIt h = last - len;  //ceil(half)
-      RandIt f = h - len;     //ceil(first)
-      swap_sort(f, h, h, last, comp, true);     //[h, last) contains sorted elements
-
-      //Divide unsorted first half in two
-      len = size_type(h - first);
-      while (len > size_type(UnbufferedMergeSortInsertionSortThreshold)) {
-         len /= 2;
-         RandIt n = h;  //new end
-         h = n - len;   //ceil(half')
-         f = h - len;   //ceil(first')
-         swap_sort(h, n, f, h, comp, false); // the first half of the previous working area [f, h)
-                                             //contains sorted elements: working area in the middle [h, n)
-         //Now merge small (left) sorted with big (right) sorted (buffer is between them)
-         swap_merge_with_right_placed(f, h, h, n, last, comp); 
-      }
-
-      boost::movelib::insertion_sort(first, h, comp);
-      boost::movelib::merge_bufferless(first, h, last, comp);
-   }
-   else{
-      boost::movelib::insertion_sort(first, last, comp);
-   }
-}
-
-}  //namespace detail_bufferless_mergesort {
-
-// @endcond
-
-//Unstable bufferless merge sort
-template<class RandIt, class Compare>
-void bufferless_merge_sort(RandIt first, RandIt last, Compare comp)
-{
-   detail_bufferless_mergesort::bufferless_merge_sort(first, last, comp);
-}
-
-}}   //namespace boost::movelib
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_ALGO_BUFFERLESS_MERGE_SORT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/insertion_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/insertion_sort.hpp
deleted file mode 100644
index 15df35d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/insertion_sort.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2014.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_DETAIL_INSERT_SORT_HPP
-#define BOOST_MOVE_DETAIL_INSERT_SORT_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/utility_core.hpp>
-#include <boost/move/algo/move.hpp>
-#include <boost/move/detail/iterator_traits.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/move/detail/placement_new.hpp>
-#include <boost/move/detail/destruct_n.hpp>
-#include <boost/move/algo/detail/basic_op.hpp>
-#include <boost/move/detail/placement_new.hpp>
-
-namespace boost {  namespace movelib{
-
-// @cond
-
-template <class Compare, class ForwardIterator, class BirdirectionalIterator, class Op>
-void insertion_sort_op(ForwardIterator first1, ForwardIterator last1, BirdirectionalIterator first2, Compare comp, Op op)
-{
-   if (first1 != last1){
-      BirdirectionalIterator last2 = first2;
-      op(first1, last2);
-      for (++last2; ++first1 != last1; ++last2){
-         BirdirectionalIterator j2 = last2;
-         BirdirectionalIterator i2 = j2;
-         if (comp(*first1, *--i2)){
-            op(i2, j2);
-            for (--j2; i2 != first2 && comp(*first1, *--i2); --j2) {
-               op(i2, j2);
-            }
-         }
-         op(first1, j2);
-      }
-   }
-}
-
-template <class Compare, class ForwardIterator, class BirdirectionalIterator>
-void insertion_sort_swap(ForwardIterator first1, ForwardIterator last1, BirdirectionalIterator first2, Compare comp)
-{
-   insertion_sort_op(first1, last1, first2, comp, swap_op());
-}
-
-
-template <class Compare, class ForwardIterator, class BirdirectionalIterator>
-void insertion_sort_copy(ForwardIterator first1, ForwardIterator last1, BirdirectionalIterator first2, Compare comp)
-{
-   insertion_sort_op(first1, last1, first2, comp, move_op());
-}
-
-// @endcond
-
-template <class Compare, class BirdirectionalIterator>
-void insertion_sort(BirdirectionalIterator first, BirdirectionalIterator last, Compare comp)
-{
-   typedef typename boost::movelib::iterator_traits<BirdirectionalIterator>::value_type value_type;
-   if (first != last){
-      BirdirectionalIterator i = first;
-      for (++i; i != last; ++i){
-         BirdirectionalIterator j = i;
-         if (comp(*i,  *--j)) {
-            value_type tmp(::boost::move(*i));
-            *i = ::boost::move(*j);
-            for (BirdirectionalIterator k = j; k != first && comp(tmp,  *--k); --j) {
-               *j = ::boost::move(*k);
-            }
-            *j = ::boost::move(tmp);
-         }
-      }
-   }
-}
-
-template <class Compare, class BirdirectionalIterator>
-void insertion_sort_uninitialized_copy
-   (BirdirectionalIterator first1, BirdirectionalIterator const last1
-   , typename iterator_traits<BirdirectionalIterator>::value_type* const first2
-   , Compare comp)
-{
-   typedef typename iterator_traits<BirdirectionalIterator>::value_type value_type;
-   if (first1 != last1){
-      value_type* last2 = first2;
-      ::new(last2, boost_move_new_t()) value_type(move(*first1));
-      destruct_n<value_type> d(first2);
-      d.incr();
-      for (++last2; ++first1 != last1; ++last2){
-         value_type* j2 = last2;
-         value_type* k2 = j2;
-         if (comp(*first1, *--k2)){
-            ::new(j2, boost_move_new_t()) value_type(move(*k2));
-            d.incr();
-            for (--j2; k2 != first2 && comp(*first1, *--k2); --j2)
-               *j2 = move(*k2);
-            *j2 = move(*first1);
-         }
-         else{
-            ::new(j2, boost_move_new_t()) value_type(move(*first1));
-            d.incr();
-         }
-      }
-      d.release();
-   }
-}
-
-}} //namespace boost {  namespace movelib{
-
-#endif //#ifndef BOOST_MOVE_DETAIL_INSERT_SORT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/merge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/merge.hpp
deleted file mode 100644
index a0a5afa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/merge.hpp
+++ /dev/null
@@ -1,444 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_MOVE_MERGE_HPP
-#define BOOST_MOVE_MERGE_HPP
-
-#include <boost/move/algo/move.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/move/algo/detail/basic_op.hpp>
-#include <boost/move/detail/iterator_traits.hpp>
-#include <boost/move/detail/destruct_n.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace movelib {
-
-// @cond
-
-/*
-template<typename Unsigned>
-inline Unsigned gcd(Unsigned x, Unsigned y)
-{
-   if(0 == ((x &(x-1)) | (y & (y-1)))){
-      return x < y ? x : y;
-   }
-   else{
-      do
-      {
-         Unsigned t = x % y;
-         x = y;
-         y = t;
-      } while (y);
-      return x;
-   }
-}
-*/
-
-//Modified version from "An Optimal In-Place Array Rotation Algorithm", Ching-Kuang Shene
-template<typename Unsigned>
-Unsigned gcd(Unsigned x, Unsigned y)
-{
-   if(0 == ((x &(x-1)) | (y & (y-1)))){
-      return x < y ? x : y;
-   }
-   else{
-      Unsigned z = 1;
-      while((!(x&1)) & (!(y&1))){
-         z <<=1, x>>=1, y>>=1;
-      }
-      while(x && y){
-         if(!(x&1))
-            x >>=1;
-         else if(!(y&1))
-            y >>=1;
-         else if(x >=y)
-            x = (x-y) >> 1;
-         else
-            y = (y-x) >> 1;
-      }
-      return z*(x+y);
-   }
-}
-
-template<typename RandIt>
-RandIt rotate_gcd(RandIt first, RandIt middle, RandIt last)
-{
-   typedef typename iterator_traits<RandIt>::size_type size_type;
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-
-   if(first == middle)
-      return last;
-   if(middle == last)
-      return first;
-   const size_type middle_pos = size_type(middle - first);
-   RandIt ret = last - middle_pos;
-   if (middle == ret){
-      boost::adl_move_swap_ranges(first, middle, middle);
-   }
-   else{
-      const size_type length = size_type(last - first);
-      for( RandIt it_i(first), it_gcd(it_i + gcd(length, middle_pos))
-         ; it_i != it_gcd
-         ; ++it_i){
-         value_type temp(boost::move(*it_i));
-         RandIt it_j = it_i;
-         RandIt it_k = it_j+middle_pos;
-         do{
-            *it_j = boost::move(*it_k);
-            it_j = it_k;
-            size_type const left = size_type(last - it_j);
-            it_k = left > middle_pos ? it_j + middle_pos : first + (middle_pos - left);
-         } while(it_k != it_i);
-         *it_j = boost::move(temp);
-      }
-   }
-   return ret;
-}
-
-template <class RandIt, class T, class Compare>
-RandIt lower_bound
-   (RandIt first, const RandIt last, const T& key, Compare comp)
-{
-   typedef typename iterator_traits
-      <RandIt>::size_type size_type;
-   size_type len = size_type(last - first);
-   RandIt middle;
-
-   while (len) {
-      size_type step = len >> 1;
-      middle = first;
-      middle += step;
-
-      if (comp(*middle, key)) {
-         first = ++middle;
-         len -= step + 1;
-      }
-      else{
-         len = step;
-      }
-   }
-   return first;
-}
-
-template <class RandIt, class T, class Compare>
-RandIt upper_bound
-   (RandIt first, const RandIt last, const T& key, Compare comp)
-{
-   typedef typename iterator_traits
-      <RandIt>::size_type size_type;
-   size_type len = size_type(last - first);
-   RandIt middle;
-
-   while (len) {
-      size_type step = len >> 1;
-      middle = first;
-      middle += step;
-
-      if (!comp(key, *middle)) {
-         first = ++middle;
-         len -= step + 1;
-      }
-      else{
-         len = step;
-      }
-   }
-   return first;
-}
-
-
-template<class RandIt, class Compare, class Op>
-void op_merge_left( RandIt buf_first
-                    , RandIt first1
-                    , RandIt const last1
-                    , RandIt const last2
-                    , Compare comp
-                    , Op op)
-{
-   for(RandIt first2=last1; first2 != last2; ++buf_first){
-      if(first1 == last1){
-         op(forward_t(), first2, last2, buf_first);
-         return;
-      }
-		else if(comp(*first2, *first1)){
-         op(first2, buf_first);
-         ++first2;
-      }
-      else{
-         op(first1, buf_first);
-         ++first1;
-      }
-   }
-   if(buf_first != first1){//In case all remaining elements are in the same place
-                           //(e.g. buffer is exactly the size of the second half
-                           //and all elements from the second half are less)
-      op(forward_t(), first1, last1, buf_first);
-   }
-   else{
-      buf_first = buf_first;
-   }
-}
-
-// [buf_first, first1) -> buffer
-// [first1, last1) merge [last1,last2) -> [buf_first,buf_first+(last2-first1))
-// Elements from buffer are moved to [last2 - (first1-buf_first), last2)
-// Note: distance(buf_first, first1) >= distance(last1, last2), so no overlapping occurs
-template<class RandIt, class Compare>
-void merge_left
-   (RandIt buf_first, RandIt first1, RandIt const last1, RandIt const last2, Compare comp)
-{
-   op_merge_left(buf_first, first1, last1, last2, comp, move_op());
-}
-
-// [buf_first, first1) -> buffer
-// [first1, last1) merge [last1,last2) -> [buf_first,buf_first+(last2-first1))
-// Elements from buffer are swapped to [last2 - (first1-buf_first), last2)
-// Note: distance(buf_first, first1) >= distance(last1, last2), so no overlapping occurs
-template<class RandIt, class Compare>
-void swap_merge_left
-   (RandIt buf_first, RandIt first1, RandIt const last1, RandIt const last2, Compare comp)
-{
-   op_merge_left(buf_first, first1, last1, last2, comp, swap_op());
-}
-
-template<class RandIt, class Compare, class Op>
-void op_merge_right
-   (RandIt const first1, RandIt last1, RandIt last2, RandIt buf_last, Compare comp, Op op)
-{
-   RandIt const first2 = last1;
-   while(first1 != last1){
-		if(last2 == first2){
-         op(backward_t(), first1, last1, buf_last);
-         return;
-      }
-      --last2;
-      --last1;
-      --buf_last;
-      if(comp(*last2, *last1)){
-         op(last1, buf_last);
-         ++last2;
-      }
-      else{
-         op(last2, buf_last);
-         ++last1;
-      }
-   }
-	if(last2 != buf_last){  //In case all remaining elements are in the same place
-                           //(e.g. buffer is exactly the size of the first half
-                           //and all elements from the second half are less)
-      op(backward_t(), first2, last2, buf_last);
-   }
-}
-
-// [last2, buf_last) - buffer
-// [first1, last1) merge [last1,last2) -> [first1+(buf_last-last2), buf_last)
-// Note: distance[last2, buf_last) >= distance[first1, last1), so no overlapping occurs
-template<class RandIt, class Compare>
-void merge_right
-   (RandIt first1, RandIt last1, RandIt last2, RandIt buf_last, Compare comp)
-{
-   op_merge_right(first1, last1, last2, buf_last, comp, move_op());
-}
-
-// [last2, buf_last) - buffer
-// [first1, last1) merge [last1,last2) -> [first1+(buf_last-last2), buf_last)
-// Note: distance[last2, buf_last) >= distance[first1, last1), so no overlapping occurs
-template<class RandIt, class Compare>
-void swap_merge_right
-   (RandIt first1, RandIt last1, RandIt last2, RandIt buf_last, Compare comp)
-{
-   op_merge_right(first1, last1, last2, buf_last, comp, swap_op());
-}
-
-// cost: min(L1,L2)^2+max(L1,L2)
-template<class RandIt, class Compare>
-void merge_bufferless(RandIt first, RandIt middle, RandIt last, Compare comp)
-{
-   if((middle - first) < (last - middle)){
-      while(first != middle){
-         RandIt const old_last1 = middle;
-         middle = lower_bound(middle, last, *first, comp);
-         first = rotate_gcd(first, old_last1, middle);
-         if(middle == last){
-            break;
-         }
-         do{
-            ++first;
-			} while(first != middle && !comp(*middle, *first));
-      }
-   }
-   else{
-      while(middle != last){
-			RandIt p = upper_bound(first, middle, last[-1], comp);
-         last = rotate_gcd(p, middle, last);
-         middle = p;
-         if(middle == first){
-            break;
-         }
-         --p;
-         do{
-            --last;
-         } while(middle != last && !comp(last[-1], *p));
-      }
-   }
-}
-
-template<class Comp>
-struct antistable
-{
-   antistable(Comp &comp)
-      : m_comp(comp)
-   {}
-
-   template<class U, class V>
-   bool operator()(const U &u, const V & v)
-   {  return !m_comp(v, u);  }
-
-   private:
-   antistable & operator=(const antistable &);
-   Comp &m_comp;
-};
-
-// [r_first, r_last) are already in the right part of the destination range.
-template <class Compare, class InputIterator, class InputOutIterator, class Op>
-void op_merge_with_right_placed
-   ( InputIterator first, InputIterator last
-   , InputOutIterator dest_first, InputOutIterator r_first, InputOutIterator r_last
-   , Compare comp, Op op)
-{
-   BOOST_ASSERT((last - first) == (r_first - dest_first));
-   while ( first != last ) {
-      if (r_first == r_last) {
-         InputOutIterator end = op(forward_t(), first, last, dest_first);
-         BOOST_ASSERT(end == r_last);
-         (void)end;
-         return;
-      }
-      else if (comp(*r_first, *first)) {
-         op(r_first, dest_first);
-         ++r_first;
-      }
-      else {
-         op(first, dest_first);
-         ++first;
-      }
-      ++dest_first;
-   }
-   // Remaining [r_first, r_last) already in the correct place
-}
-
-template <class Compare, class InputIterator, class InputOutIterator>
-void swap_merge_with_right_placed
-   ( InputIterator first, InputIterator last
-   , InputOutIterator dest_first, InputOutIterator r_first, InputOutIterator r_last
-   , Compare comp)
-{
-   op_merge_with_right_placed(first, last, dest_first, r_first, r_last, comp, swap_op());
-}
-
-// [r_first, r_last) are already in the right part of the destination range.
-template <class Compare, class Op, class BidirIterator, class BidirOutIterator>
-void op_merge_with_left_placed
-   ( BidirOutIterator const first, BidirOutIterator last, BidirOutIterator dest_last
-   , BidirIterator const r_first, BidirIterator r_last
-   , Compare comp, Op op)
-{
-   BOOST_ASSERT((dest_last - last) == (r_last - r_first));
-   while( r_first != r_last ) {
-      if(first == last) {
-         BidirOutIterator res = op(backward_t(), r_first, r_last, dest_last);
-         BOOST_ASSERT(last == res);
-         (void)res;
-         return;
-      }
-      --r_last;
-      --last;
-      if(comp(*r_last, *last)){
-         ++r_last;
-         --dest_last;
-         op(last, dest_last);
-      }
-      else{
-         ++last;
-         --dest_last;
-         op(r_last, dest_last);
-      }
-   }
-   // Remaining [first, last) already in the correct place
-}
-
-// @endcond
-
-// [r_first, r_last) are already in the right part of the destination range.
-template <class Compare, class BidirIterator, class BidirOutIterator>
-void merge_with_left_placed
-   ( BidirOutIterator const first, BidirOutIterator last, BidirOutIterator dest_last
-   , BidirIterator const r_first, BidirIterator r_last
-   , Compare comp)
-{
-   op_merge_with_left_placed(first, last, dest_last, r_first, r_last, comp, move_op());
-}
-
-// [r_first, r_last) are already in the right part of the destination range.
-template <class Compare, class InputIterator, class InputOutIterator>
-void merge_with_right_placed
-   ( InputIterator first, InputIterator last
-   , InputOutIterator dest_first, InputOutIterator r_first, InputOutIterator r_last
-   , Compare comp)
-{
-   op_merge_with_right_placed(first, last, dest_first, r_first, r_last, comp, move_op());
-}
-
-// [r_first, r_last) are already in the right part of the destination range.
-// [dest_first, r_first) is uninitialized memory
-template <class Compare, class InputIterator, class InputOutIterator>
-void uninitialized_merge_with_right_placed
-   ( InputIterator first, InputIterator last
-   , InputOutIterator dest_first, InputOutIterator r_first, InputOutIterator r_last
-   , Compare comp)
-{
-   BOOST_ASSERT((last - first) == (r_first - dest_first));
-   typedef typename iterator_traits<InputOutIterator>::value_type value_type;
-   InputOutIterator const original_r_first = r_first;
-
-   destruct_n<value_type> d(&*dest_first);
-
-   while ( first != last && dest_first != original_r_first ) {
-      if (r_first == r_last) {
-         for(; dest_first != original_r_first; ++dest_first, ++first){
-            ::new(&*dest_first) value_type(::boost::move(*first));
-            d.incr();
-         }
-         d.release();
-         InputOutIterator end = ::boost::move(first, last, original_r_first);
-         BOOST_ASSERT(end == r_last);
-         (void)end;
-         return;
-      }
-      else if (comp(*r_first, *first)) {
-         ::new(&*dest_first) value_type(::boost::move(*r_first));
-         d.incr();
-         ++r_first;
-      }
-      else {
-         ::new(&*dest_first) value_type(::boost::move(*first));
-         d.incr();
-         ++first;
-      }
-      ++dest_first;
-   }
-   d.release();
-   merge_with_right_placed(first, last, original_r_first, r_first, r_last, comp);
-}
-
-}  //namespace movelib {
-}  //namespace boost {
-
-#endif   //#define BOOST_MOVE_MERGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/merge_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/merge_sort.hpp
deleted file mode 100644
index 8101fce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/detail/merge_sort.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_DETAIL_MERGE_SORT_HPP
-#define BOOST_MOVE_DETAIL_MERGE_SORT_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>
-
-#include <boost/move/utility_core.hpp>
-#include <boost/move/algo/move.hpp>
-#include <boost/move/algo/detail/merge.hpp>
-#include <boost/move/detail/iterator_traits.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/move/detail/destruct_n.hpp>
-#include <boost/move/algo/detail/insertion_sort.hpp>
-#include <cassert>
-
-namespace boost {
-namespace movelib {
-
-// @cond
-
-static const unsigned MergeSortInsertionSortThreshold = 16;
-
-// @endcond
-
-template<class RandIt, class RandIt2, class Compare>
-void merge_sort_copy( RandIt first, RandIt last
-                   , RandIt2 dest, Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-
-   size_type const count = size_type(last - first);
-   if(count <= MergeSortInsertionSortThreshold){
-      insertion_sort_copy(first, last, dest, comp);
-   }
-   else{
-      size_type const half = count/2;
-      merge_sort_copy(first + half, last        , dest+half   , comp);
-      merge_sort_copy(first       , first + half, first + half, comp);
-      merge_with_right_placed
-         ( first + half, first + half + half
-         , dest, dest+half, dest + count
-         , comp);
-   }
-}
-
-template<class RandIt, class Compare>
-void merge_sort_uninitialized_copy( RandIt first, RandIt last
-                                 , typename iterator_traits<RandIt>::value_type* uninitialized
-                                 , Compare comp)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-
-   size_type const count = size_type(last - first);
-   if(count <= MergeSortInsertionSortThreshold){
-      insertion_sort_uninitialized_copy(first, last, uninitialized, comp);
-   }
-   else{
-      size_type const half = count/2;
-      merge_sort_uninitialized_copy(first + half, last, uninitialized + half, comp);
-      destruct_n<value_type> d(uninitialized+half);
-      d.incr(count-half);
-      merge_sort_copy(first, first + half, first + half, comp);
-      uninitialized_merge_with_right_placed
-         ( first + half, first + half + half
-         , uninitialized, uninitialized+half, uninitialized+count
-         , comp);
-      d.release();
-   }
-}
-
-template<class RandIt, class Compare>
-void merge_sort( RandIt first, RandIt last, Compare comp
-               , typename iterator_traits<RandIt>::value_type* uninitialized)
-{
-   typedef typename iterator_traits<RandIt>::size_type  size_type;
-   typedef typename iterator_traits<RandIt>::value_type value_type;
-
-   size_type const count = size_type(last - first);
-   if(count <= MergeSortInsertionSortThreshold){
-      insertion_sort(first, last, comp);
-   }
-   else{
-      size_type const half = count/2;
-      size_type const rest = count -  half;
-      RandIt const half_it = first + half;
-      RandIt const rest_it = first + rest;
-
-      merge_sort_uninitialized_copy(half_it, last, uninitialized, comp);
-      destruct_n<value_type> d(uninitialized);
-      d.incr(rest);
-      merge_sort_copy(first, half_it, rest_it, comp);
-      merge_with_right_placed
-         ( uninitialized, uninitialized + rest
-         , first, rest_it, last, antistable<Compare>(comp));
-   }
-}
-
-}} //namespace boost {  namespace movelib{
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_DETAIL_MERGE_SORT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/move.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/move.hpp
deleted file mode 100644
index 943f286..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algo/move.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_ALGO_MOVE_HPP
-#define BOOST_MOVE_ALGO_MOVE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-
-#include <boost/move/utility_core.hpp>
-#include <boost/move/detail/iterator_traits.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                               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;
-   }
-
-#else
-
-   using ::std::move_backward;
-
-#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_detail::enable_if<has_move_emulation_enabled<typename boost::movelib::iterator_traits<I>::value_type> >::type* = 0
-   /// @endcond
-   )
-{
-   typedef typename boost::movelib::iterator_traits<I>::value_type input_value_type;
-
-   F back = r;
-   BOOST_TRY{
-      while (f != l) {
-         void * const addr = static_cast<void*>(::boost::move_detail::addressof(*r));
-         ::new(addr) input_value_type(::boost::move(*f));
-         ++f; ++r;
-      }
-   }
-   BOOST_CATCH(...){
-	   for (; back != r; ++back){
-         back->~input_value_type();
-      }
-	   BOOST_RETHROW;
-   }
-   BOOST_CATCH_END
-   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_detail::disable_if<has_move_emulation_enabled<typename boost::movelib::iterator_traits<I>::value_type> >::type* = 0)
-{
-   return std::uninitialized_copy(f, l, r);
-}
-*/
-
-/// @endcond
-
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_ALGO_MOVE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/algorithm.hpp
deleted file mode 100644
index 825d771..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/algorithm.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_ALGORITHM_HPP
-#define BOOST_MOVE_ALGORITHM_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-
-#include <boost/move/utility_core.hpp>
-#include <boost/move/iterator.hpp>
-#include <boost/move/algo/move.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-
-#include <algorithm> //copy, copy_backward
-#include <memory>    //uninitialized_copy
-
-namespace boost {
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            uninitialized_copy_or_move
-//
-//////////////////////////////////////////////////////////////////////////////
-
-namespace move_detail {
-
-template
-<typename I,   // I models InputIterator
-typename F>   // F models ForwardIterator
-inline F uninitialized_move_move_iterator(I f, I l, F r
-//                             ,typename ::boost::move_detail::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_detail::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
-inline F uninitialized_copy_or_move(I f, I l, F r,
-                             typename ::boost::move_detail::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
-inline F move_move_iterator(I f, I l, F r
-//                             ,typename ::boost::move_detail::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_detail::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
-inline F copy_or_move(I f, I l, F r,
-                             typename ::boost::move_detail::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
-inline F uninitialized_copy_or_move(I f, I l, F r
-   /// @cond
-   ,typename ::boost::move_detail::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
-inline F copy_or_move(I f, I l, F r
-   /// @cond
-   ,typename ::boost::move_detail::disable_if< move_detail::is_move_iterator<I> >::type* = 0
-   /// @endcond
-   )
-{
-   return std::copy(f, l, r);
-}
-
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_ALGORITHM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/core.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/core.hpp
deleted file mode 100644
index c9cbec2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/core.hpp
+++ /dev/null
@@ -1,502 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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
-//! This header implements macros to define movable classes and
-//! move-aware functions
-
-#ifndef BOOST_MOVE_CORE_HPP
-#define BOOST_MOVE_CORE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>
-
-// @cond
-
-//boost_move_no_copy_constructor_or_assign typedef
-//used to detect noncopyable types for other Boost libraries.
-#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-   #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
-      private:\
-      TYPE(TYPE &);\
-      TYPE& operator=(TYPE &);\
-      public:\
-      typedef int boost_move_no_copy_constructor_or_assign; \
-      private:\
-   //
-#else
-   #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
-      public:\
-      TYPE(TYPE const &) = delete;\
-      TYPE& operator=(TYPE const &) = delete;\
-      public:\
-      typedef int boost_move_no_copy_constructor_or_assign; \
-      private:\
-   //
-#endif   //BOOST_NO_CXX11_DELETED_FUNCTIONS
-
-// @endcond
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   #include <boost/move/detail/type_traits.hpp>
-
-   #if defined(BOOST_MOVE_ADDRESS_SANITIZER_ON)
-      #define BOOST_MOVE_TO_RV_CAST(RV_TYPE, ARG) reinterpret_cast<RV_TYPE>(ARG)
-   #else
-      #define BOOST_MOVE_TO_RV_CAST(RV_TYPE, ARG) static_cast<RV_TYPE>(ARG)
-   #endif
-
-   //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
-   #if defined(__GNUC__) && (__GNUC__ >= 4) && \
-      (\
-         defined(BOOST_GCC) ||   \
-         (defined(BOOST_INTEL) && (BOOST_INTEL_CXX_VERSION >= 1300)) \
-      )
-      #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 ::boost::move_detail::if_c
-         < ::boost::move_detail::is_class<T>::value
-         , T
-         , ::boost::move_detail::nat
-         >::type
-   {
-      rv();
-      ~rv() throw();
-      rv(rv const&);
-      void operator=(rv const&);
-   } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
-
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            is_rv
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   namespace move_detail {
-
-   template <class T>
-   struct is_rv
-        //Derive from integral constant because some Boost code assummes it has
-        //a "type" internal typedef
-      : integral_constant<bool, ::boost::move_detail::is_rv_impl<T>::value >
-   {};
-
-   template <class T>
-   struct is_not_rv
-   {
-      static const bool value = !is_rv<T>::value;
-   };
-
-   }  //namespace move_detail {
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                               has_move_emulation_enabled
-   //
-   //////////////////////////////////////////////////////////////////////////////
-   template<class T>
-   struct has_move_emulation_enabled
-      : ::boost::move_detail::has_move_emulation_enabled_impl<T>
-   {};
-
-   template<class T>
-   struct has_move_emulation_disabled
-   {
-      static const bool value = !::boost::move_detail::has_move_emulation_enabled_impl<T>::value;
-   };
-
-   }  //namespace boost {
-
-   #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_RV_REF_BEG\
-      ::boost::rv<   \
-   //
-
-   #define BOOST_RV_REF_END\
-      >& \
-   //
-
-   #define BOOST_RV_REF_BEG_IF_CXX11 \
-      \
-   //
-
-   #define BOOST_RV_REF_END_IF_CXX11 \
-      \
-   //
-
-   #define BOOST_FWD_REF(TYPE)\
-      const TYPE & \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF(TYPE)\
-      const ::boost::rv< TYPE >& \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_BEG \
-      const ::boost::rv<  \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_END \
-      >& \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
-      const ::boost::rv< TYPE<ARG1, ARG2> >& \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
-      const ::boost::rv< TYPE<ARG1, ARG2, ARG3> >& \
-   //
-
-   #define BOOST_CATCH_CONST_RLVALUE(TYPE)\
-      const ::boost::rv< TYPE >& \
-   //
-
-   namespace boost {
-   namespace move_detail {
-
-   template <class Ret, class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      <  ::boost::move_detail::is_lvalue_reference<Ret>::value ||
-        !::boost::has_move_emulation_enabled<T>::value
-      , T&>::type
-         move_return(T& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   template <class Ret, class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < !::boost::move_detail::is_lvalue_reference<Ret>::value &&
-         ::boost::has_move_emulation_enabled<T>::value
-      , ::boost::rv<T>&>::type
-         move_return(T& x) BOOST_NOEXCEPT
-   {
-      return *BOOST_MOVE_TO_RV_CAST(::boost::rv<T>*, ::boost::move_detail::addressof(x));
-   }
-
-   template <class Ret, class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < !::boost::move_detail::is_lvalue_reference<Ret>::value &&
-         ::boost::has_move_emulation_enabled<T>::value
-      , ::boost::rv<T>&>::type
-         move_return(::boost::rv<T>& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   }  //namespace move_detail {
-   }  //namespace boost {
-
-   #define BOOST_MOVE_RET(RET_TYPE, REF)\
-      boost::move_detail::move_return< RET_TYPE >(REF)
-   //
-
-   #define BOOST_MOVE_BASE(BASE_TYPE, ARG) \
-      ::boost::move((BASE_TYPE&)(ARG))
-   //
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                         BOOST_MOVABLE_BUT_NOT_COPYABLE
-   //
-   //////////////////////////////////////////////////////////////////////////////
-   #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
-      BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\
-      public:\
-      BOOST_MOVE_FORCEINLINE operator ::boost::rv<TYPE>&() \
-      {  return *BOOST_MOVE_TO_RV_CAST(::boost::rv<TYPE>*, this);  }\
-      BOOST_MOVE_FORCEINLINE operator const ::boost::rv<TYPE>&() const \
-      {  return *BOOST_MOVE_TO_RV_CAST(const ::boost::rv<TYPE>*, this);  }\
-      private:\
-   //
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                         BOOST_COPYABLE_AND_MOVABLE
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
-      public:\
-      TYPE& operator=(TYPE &t)\
-      {  this->operator=(const_cast<const TYPE &>(t)); return *this;}\
-      public:\
-      BOOST_MOVE_FORCEINLINE operator ::boost::rv<TYPE>&() \
-      {  return *BOOST_MOVE_TO_RV_CAST(::boost::rv<TYPE>*, this);  }\
-      BOOST_MOVE_FORCEINLINE operator const ::boost::rv<TYPE>&() const \
-      {  return *BOOST_MOVE_TO_RV_CAST(const ::boost::rv<TYPE>*, this);  }\
-      private:\
-   //
-
-   #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
-      public:\
-      BOOST_MOVE_FORCEINLINE operator ::boost::rv<TYPE>&() \
-      {  return *BOOST_MOVE_TO_RV_CAST(::boost::rv<TYPE>*, this);  }\
-      BOOST_MOVE_FORCEINLINE operator const ::boost::rv<TYPE>&() const \
-      {  return *BOOST_MOVE_TO_RV_CAST(const ::boost::rv<TYPE>*, this);  }\
-      private:\
-   //
-
-   namespace boost{
-   namespace move_detail{
-
-   template< class T>
-   struct forward_type
-   { typedef const T &type; };
-
-   template< class T>
-   struct forward_type< boost::rv<T> >
-   { typedef T type; };
-
-   }}
-
-#else    //BOOST_NO_CXX11_RVALUE_REFERENCES
-
-   //! 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)\
-      BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\
-      public:\
-      typedef int boost_move_emulation_t;\
-      private:\
-   //
-
-   //! 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)\
-   //
-
-   #if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
-   //
-   #endif   //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   namespace boost {
-
-   //!This trait yields to a compile-time true boolean if T was marked as
-   //!BOOST_MOVABLE_BUT_NOT_COPYABLE or BOOST_COPYABLE_AND_MOVABLE and
-   //!rvalue references are not available on the platform. False otherwise.
-   template<class T>
-   struct has_move_emulation_enabled
-   {
-      static const bool value = false;
-   };
-
-   template<class T>
-   struct has_move_emulation_disabled
-   {
-      static const bool value = true;
-   };
-
-   }  //namespace boost{
-
-   //!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 move
-   //!constructors and assignments for template classes marked as
-   //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE.
-   //!As macros have problems with comma-separated template arguments,
-   //!the template argument must be preceded with BOOST_RV_REF_BEG
-   //!and ended with BOOST_RV_REF_END
-   #define BOOST_RV_REF_BEG\
-         \
-   //
-
-   //!This macro is used to achieve portable syntax in move
-   //!constructors and assignments for template classes marked as
-   //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE.
-   //!As macros have problems with comma-separated template arguments,
-   //!the template argument must be preceded with BOOST_RV_REF_BEG
-   //!and ended with BOOST_RV_REF_END
-   #define BOOST_RV_REF_END\
-      && \
-   //
-
-   //!This macro expands to BOOST_RV_REF_BEG if BOOST_NO_CXX11_RVALUE_REFERENCES
-   //!is not defined, empty otherwise
-   #define BOOST_RV_REF_BEG_IF_CXX11 \
-      BOOST_RV_REF_BEG \
-   //
-
-   //!This macro expands to BOOST_RV_REF_END if BOOST_NO_CXX11_RVALUE_REFERENCES
-   //!is not defined, empty otherwise
-   #define BOOST_RV_REF_END_IF_CXX11 \
-      BOOST_RV_REF_END \
-   //
-
-   //!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)
-
-   #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_ASSIGN_REF_BEG \
-      const \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_END \
-      & \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
-      const TYPE<ARG1, ARG2> & \
-   //
-
-   #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
-      const TYPE<ARG1, ARG2, ARG3>& \
-   //
-
-   #define BOOST_CATCH_CONST_RLVALUE(TYPE)\
-      const TYPE & \
-   //
-
-   #endif   //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   #if !defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-      //!This macro is used to achieve portable move return semantics.
-      //!The C++11 Standard allows implicit move returns when the object to be returned
-      //!is designated by a lvalue and:
-      //!   - The criteria for elision of a copy operation are met OR
-      //!   - The criteria would be met save for the fact that the source object is a function parameter
-      //!
-      //!For C++11 conforming compilers this macros only yields to REF:
-      //! <code>return BOOST_MOVE_RET(RET_TYPE, REF);</code> -> <code>return REF;</code>
-      //!
-      //!For compilers without rvalue references
-      //!this macro does an explicit move if the move emulation is activated
-      //!and the return type (RET_TYPE) is not a reference.
-      //!
-      //!For non-conforming compilers with rvalue references like Visual 2010 & 2012,
-      //!an explicit move is performed if RET_TYPE is not a reference.
-      //!
-      //! <b>Caution</b>: When using this macro in non-conforming or C++03
-      //!compilers, a move will be performed even if the C++11 standard does not allow it
-      //!(e.g. returning a static variable). The user is responsible for using this macro
-      //!only to return local objects that met C++11 criteria.
-      #define BOOST_MOVE_RET(RET_TYPE, REF)\
-         REF
-      //
-
-   #else //!defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-      #include <boost/move/detail/meta_utils.hpp>
-
-      namespace boost {
-      namespace move_detail {
-
-      template <class Ret, class T>
-      BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-         <  ::boost::move_detail::is_lvalue_reference<Ret>::value
-         , T&>::type
-            move_return(T& x) BOOST_NOEXCEPT
-      {
-         return x;
-      }
-
-      template <class Ret, class T>
-      BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-         < !::boost::move_detail::is_lvalue_reference<Ret>::value
-         , Ret && >::type
-            move_return(T&& t) BOOST_NOEXCEPT
-      {
-         return static_cast< Ret&& >(t);
-      }
-
-      }  //namespace move_detail {
-      }  //namespace boost {
-
-      #define BOOST_MOVE_RET(RET_TYPE, REF)\
-         boost::move_detail::move_return< RET_TYPE >(REF)
-      //
-
-   #endif   //!defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   //!This macro is used to achieve portable optimal move constructors.
-   //!
-   //!When implementing the move constructor, in C++03 compilers the moved-from argument must be
-   //!cast to the base type before calling `::boost::move()` due to rvalue reference limitations.
-   //!
-   //!In C++11 compilers the cast from a rvalue reference of a derived type to a rvalue reference of
-   //!a base type is implicit.
-   #define BOOST_MOVE_BASE(BASE_TYPE, ARG) \
-      ::boost::move((BASE_TYPE&)(ARG))
-   //
-
-   namespace boost {
-   namespace move_detail {
-
-   template< class T> struct forward_type { typedef T type; };
-
-   }}
-
-#endif   //BOOST_NO_CXX11_RVALUE_REFERENCES
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_CORE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/default_delete.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/default_delete.hpp
deleted file mode 100644
index 1c26ed9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/default_delete.hpp
+++ /dev/null
@@ -1,201 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2014. Distributed under the Boost
-// Software License, Version 1.0. (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_DEFAULT_DELETE_HPP_INCLUDED
-#define BOOST_MOVE_DEFAULT_DELETE_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>
-#include <boost/move/detail/unique_ptr_meta_utils.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/static_assert.hpp>
-
-#include <cstddef>   //For std::size_t,std::nullptr_t
-
-//!\file
-//! Describes the default deleter (destruction policy) of <tt>unique_ptr</tt>: <tt>default_delete</tt>.
-
-namespace boost{
-// @cond
-namespace move_upd {
-
-namespace bmupmu = ::boost::move_upmu;
-
-////////////////////////////////////////
-////        enable_def_del
-////////////////////////////////////////
-
-//compatible with a pointer type T*:
-//When either Y* is convertible to T*
-//Y is U[N] and T is U cv []
-template<class U, class T>
-struct def_del_compatible_cond
-   : bmupmu::is_convertible<U*, T*>
-{};
-
-template<class U, class T, std::size_t N>
-struct def_del_compatible_cond<U[N], T[]>
-   : def_del_compatible_cond<U[], T[]>
-{};
-
-template<class U, class T, class Type = bmupmu::nat>
-struct enable_def_del
-   : bmupmu::enable_if_c<def_del_compatible_cond<U, T>::value, Type>
-{};
-
-////////////////////////////////////////
-////        enable_defdel_call
-////////////////////////////////////////
-
-//When 2nd is T[N], 1st(*)[N] shall be convertible to T(*)[N]; 
-//When 2nd is T[],  1st(*)[] shall be convertible to T(*)[]; 
-//Otherwise, 1st* shall be convertible to 2nd*.
-
-template<class U, class T, class Type = bmupmu::nat>
-struct enable_defdel_call
-   : public enable_def_del<U, T, Type>
-{};
-
-template<class U, class T, class Type>
-struct enable_defdel_call<U, T[], Type>
-   : public enable_def_del<U[], T[], Type>
-{};
-
-template<class U, class T, class Type, std::size_t N>
-struct enable_defdel_call<U, T[N], Type>
-   : public enable_def_del<U[N], T[N], Type>
-{};
-
-////////////////////////////////////////
-////     Some bool literal zero conversion utilities
-////////////////////////////////////////
-
-struct bool_conversion {int for_bool; int for_arg(); };
-typedef int bool_conversion::* explicit_bool_arg;
-
-#if !defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_CXX11_DECLTYPE)
-   typedef decltype(nullptr) nullptr_type;
-#elif !defined(BOOST_NO_CXX11_NULLPTR)
-   typedef std::nullptr_t nullptr_type;
-#else
-   typedef int (bool_conversion::*nullptr_type)();
-#endif
-
-}  //namespace move_upd {
-// @endcond
-
-namespace movelib {
-
-namespace bmupd = boost::move_upd;
-namespace bmupmu = ::boost::move_upmu;
-
-//!The class template <tt>default_delete</tt> serves as the default deleter
-//!(destruction policy) for the class template <tt>unique_ptr</tt>.
-//!
-//! \tparam T The type to be deleted. It may be an incomplete type
-template <class T>
-struct default_delete
-{
-   //! Default constructor.
-   //!
-   BOOST_CONSTEXPR default_delete()
-   //Avoid "defaulted on its first declaration must not have an exception-specification" error for GCC 4.6
-   #if !defined(BOOST_GCC) || (BOOST_GCC < 40600 && BOOST_GCC >= 40700) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   BOOST_NOEXCEPT
-   #endif
-   #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   = default;
-   #else
-   {};
-   #endif
-
-   #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   //! Trivial copy constructor
-   //!
-   default_delete(const default_delete&) BOOST_NOEXCEPT = default;
-   //! Trivial assignment
-   //!
-   default_delete &operator=(const default_delete&) BOOST_NOEXCEPT = default;
-   #else
-   typedef typename bmupmu::remove_extent<T>::type element_type;
-   #endif
-
-   //! <b>Effects</b>: Constructs a default_delete object from another <tt>default_delete<U></tt> object.
-   //!
-   //! <b>Remarks</b>: This constructor shall not participate in overload resolution unless:
-   //!   - If T is not an array type and U* is implicitly convertible to T*.
-   //!   - If T is an array type and U* is a more CV qualified pointer to remove_extent<T>::type.
-   template <class U>
-   default_delete(const default_delete<U>&
-      BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_def_del<U BOOST_MOVE_I T>::type* =0)
-      ) BOOST_NOEXCEPT
-   {
-      //If T is not an array type, U derives from T
-      //and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor<default_delete, U>::value ));
-   }
-
-   //! <b>Effects</b>: Constructs a default_delete object from another <tt>default_delete<U></tt> object.
-   //!
-   //! <b>Remarks</b>: This constructor shall not participate in overload resolution unless:
-   //!   - If T is not an array type and U* is implicitly convertible to T*.
-   //!   - If T is an array type and U* is a more CV qualified pointer to remove_extent<T>::type.
-   template <class U>
-   BOOST_MOVE_DOC1ST(default_delete&, 
-      typename bmupd::enable_def_del<U BOOST_MOVE_I T BOOST_MOVE_I default_delete &>::type)
-      operator=(const default_delete<U>&) BOOST_NOEXCEPT
-   {
-      //If T is not an array type, U derives from T
-      //and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor<default_delete, U>::value ));
-      return *this;
-   }
-
-   //! <b>Effects</b>: if T is not an array type, calls <tt>delete</tt> on static_cast<T*>(ptr),
-   //!   otherwise calls <tt>delete[]</tt> on static_cast<remove_extent<T>::type*>(ptr).
-   //!
-   //! <b>Remarks</b>: If U is an incomplete type, the program is ill-formed.
-   //!   This operator shall not participate in overload resolution unless:
-   //!      - T is not an array type and U* is convertible to T*, OR
-   //!      - T is an array type, and remove_cv<U>::type is the same type as
-   //!         remove_cv<remove_extent<T>::type>::type and U* is convertible to remove_extent<T>::type*.
-   template <class U>
-   BOOST_MOVE_DOC1ST(void, typename bmupd::enable_defdel_call<U BOOST_MOVE_I T BOOST_MOVE_I void>::type)
-      operator()(U* ptr) const BOOST_NOEXCEPT
-   {
-      //U must be a complete type
-      BOOST_STATIC_ASSERT(sizeof(U) > 0);
-      //If T is not an array type, U derives from T
-      //and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor<default_delete, U>::value ));
-      element_type * const p = static_cast<element_type*>(ptr);
-      bmupmu::is_array<T>::value ? delete [] p : delete p;
-   }
-
-   //! <b>Effects</b>: Same as <tt>(*this)(static_cast<element_type*>(nullptr))</tt>.
-   //!
-   void operator()(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) const BOOST_NOEXCEPT
-   {  BOOST_STATIC_ASSERT(sizeof(element_type) > 0);  }
-};
-
-}  //namespace movelib {
-}  //namespace boost{
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_MOVE_DEFAULT_DELETE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/config_begin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/config_begin.hpp
deleted file mode 100644
index 637eb15..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/config_begin.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost
-// Software License, Version 1.0. (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-
-#ifdef BOOST_MSVC
-#  pragma warning (push)
-#  pragma warning (disable : 4324) // structure was padded due to __declspec(align())
-#  pragma warning (disable : 4675) // "function":  resolved overload was found by argument-dependent lookup
-#  pragma warning (disable : 4996) // "function": was declared deprecated (_CRT_SECURE_NO_DEPRECATE/_SCL_SECURE_NO_WARNINGS)
-#  pragma warning (disable : 4714) // "function": marked as __forceinline not inlined
-#  pragma warning (disable : 4127) // conditional expression is constant
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/config_end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/config_end.hpp
deleted file mode 100644
index 71a99e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/config_end.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost
-// Software License, Version 1.0. (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-#if defined BOOST_MSVC
-#  pragma warning (pop)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/destruct_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/destruct_n.hpp
deleted file mode 100644
index 06f1f58..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/destruct_n.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_DETAIL_DESTRUCT_N_HPP
-#define BOOST_MOVE_DETAIL_DESTRUCT_N_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <cstddef>
-
-namespace boost {
-namespace movelib{
-
-template<class T>
-class destruct_n
-{
-   public:
-   explicit destruct_n(T *raw)
-      : m_ptr(raw), m_size()
-   {}
-
-   void incr()
-   {
-      ++m_size;
-   }
-
-   void incr(std::size_t n)
-   {
-      m_size += n;
-   }
-
-   void release()
-   {
-      m_size = 0u;
-      m_ptr = 0;
-   }
-
-   ~destruct_n()
-   {
-      while(m_size--){
-         m_ptr[m_size].~T();
-      }
-   }
-   private:
-   T *m_ptr;
-   std::size_t m_size;
-};
-
-}} //namespace boost {  namespace movelib{
-
-#endif //#ifndef BOOST_MOVE_DETAIL_DESTRUCT_N_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/fwd_macros.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/fwd_macros.hpp
deleted file mode 100644
index e091890..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/fwd_macros.hpp
+++ /dev/null
@@ -1,661 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2014. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/container for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_DETAIL_FWD_MACROS_HPP
-#define BOOST_MOVE_DETAIL_FWD_MACROS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/workaround.hpp>
-
-namespace boost {
-namespace move_detail {
-
-template <typename T> struct unvoid { typedef T type; };
-template <> struct unvoid<void> { struct type { }; };
-template <> struct unvoid<const void> { struct type { }; };
-
-}  //namespace move_detail {
-}  //namespace boost {
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-#if defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG)
-
-namespace boost {
-namespace move_detail {
-
-   template<class T>
-   struct mref;
-
-   template<class T>
-   struct mref<T &>
-   {
-      explicit mref(T &t) : t_(t){}
-      T &t_;
-      T & get() {  return t_;   }
-   };
-
-   template<class T>
-   struct mref
-   {
-      explicit mref(T &&t) : t_(t) {}
-      T &t_;
-      T &&get() {  return ::boost::move(t_);   }
-   };
-
-}  //namespace move_detail {
-}  //namespace boost {
-
-#endif   //BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG
-#endif   //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-//BOOST_MOVE_REPEATN(MACRO)
-#define BOOST_MOVE_REPEAT0(MACRO)
-#define BOOST_MOVE_REPEAT1(MACRO)                            MACRO
-#define BOOST_MOVE_REPEAT2(MACRO) BOOST_MOVE_REPEAT1(MACRO), MACRO
-#define BOOST_MOVE_REPEAT3(MACRO) BOOST_MOVE_REPEAT2(MACRO), MACRO
-#define BOOST_MOVE_REPEAT4(MACRO) BOOST_MOVE_REPEAT3(MACRO), MACRO
-#define BOOST_MOVE_REPEAT5(MACRO) BOOST_MOVE_REPEAT4(MACRO), MACRO
-#define BOOST_MOVE_REPEAT6(MACRO) BOOST_MOVE_REPEAT5(MACRO), MACRO
-#define BOOST_MOVE_REPEAT7(MACRO) BOOST_MOVE_REPEAT6(MACRO), MACRO
-#define BOOST_MOVE_REPEAT8(MACRO) BOOST_MOVE_REPEAT7(MACRO), MACRO
-#define BOOST_MOVE_REPEAT9(MACRO) BOOST_MOVE_REPEAT8(MACRO), MACRO
-
-//BOOST_MOVE_FWDN
-#define BOOST_MOVE_FWD0
-#define BOOST_MOVE_FWD1                  ::boost::forward<P0>(p0)
-#define BOOST_MOVE_FWD2 BOOST_MOVE_FWD1, ::boost::forward<P1>(p1)
-#define BOOST_MOVE_FWD3 BOOST_MOVE_FWD2, ::boost::forward<P2>(p2)
-#define BOOST_MOVE_FWD4 BOOST_MOVE_FWD3, ::boost::forward<P3>(p3)
-#define BOOST_MOVE_FWD5 BOOST_MOVE_FWD4, ::boost::forward<P4>(p4)
-#define BOOST_MOVE_FWD6 BOOST_MOVE_FWD5, ::boost::forward<P5>(p5)
-#define BOOST_MOVE_FWD7 BOOST_MOVE_FWD6, ::boost::forward<P6>(p6)
-#define BOOST_MOVE_FWD8 BOOST_MOVE_FWD7, ::boost::forward<P7>(p7)
-#define BOOST_MOVE_FWD9 BOOST_MOVE_FWD8, ::boost::forward<P8>(p8)
-
-//BOOST_MOVE_FWDQN
-#define BOOST_MOVE_FWDQ0
-#define BOOST_MOVE_FWDQ1                   ::boost::forward<Q0>(q0)
-#define BOOST_MOVE_FWDQ2 BOOST_MOVE_FWDQ1, ::boost::forward<Q1>(q1)
-#define BOOST_MOVE_FWDQ3 BOOST_MOVE_FWDQ2, ::boost::forward<Q2>(q2)
-#define BOOST_MOVE_FWDQ4 BOOST_MOVE_FWDQ3, ::boost::forward<Q3>(q3)
-#define BOOST_MOVE_FWDQ5 BOOST_MOVE_FWDQ4, ::boost::forward<Q4>(q4)
-#define BOOST_MOVE_FWDQ6 BOOST_MOVE_FWDQ5, ::boost::forward<Q5>(q5)
-#define BOOST_MOVE_FWDQ7 BOOST_MOVE_FWDQ6, ::boost::forward<Q6>(q6)
-#define BOOST_MOVE_FWDQ8 BOOST_MOVE_FWDQ7, ::boost::forward<Q7>(q7)
-#define BOOST_MOVE_FWDQ9 BOOST_MOVE_FWDQ8, ::boost::forward<Q8>(q8)
-
-//BOOST_MOVE_ARGN
-#define BOOST_MOVE_ARG0
-#define BOOST_MOVE_ARG1                  p0
-#define BOOST_MOVE_ARG2 BOOST_MOVE_ARG1, p1
-#define BOOST_MOVE_ARG3 BOOST_MOVE_ARG2, p2
-#define BOOST_MOVE_ARG4 BOOST_MOVE_ARG3, p3
-#define BOOST_MOVE_ARG5 BOOST_MOVE_ARG4, p4
-#define BOOST_MOVE_ARG6 BOOST_MOVE_ARG5, p5
-#define BOOST_MOVE_ARG7 BOOST_MOVE_ARG6, p6
-#define BOOST_MOVE_ARG8 BOOST_MOVE_ARG7, p7
-#define BOOST_MOVE_ARG9 BOOST_MOVE_ARG8, p8
-
-//BOOST_MOVE_ARGQN
-#define BOOST_MOVE_ARGQ0
-#define BOOST_MOVE_ARGQ1                   q0
-#define BOOST_MOVE_ARGQ2 BOOST_MOVE_ARGQ1, q1
-#define BOOST_MOVE_ARGQ3 BOOST_MOVE_ARGQ2, q2
-#define BOOST_MOVE_ARGQ4 BOOST_MOVE_ARGQ3, q3
-#define BOOST_MOVE_ARGQ5 BOOST_MOVE_ARGQ4, q4
-#define BOOST_MOVE_ARGQ6 BOOST_MOVE_ARGQ5, q5
-#define BOOST_MOVE_ARGQ7 BOOST_MOVE_ARGQ6, q6
-#define BOOST_MOVE_ARGQ8 BOOST_MOVE_ARGQ7, q7
-#define BOOST_MOVE_ARGQ9 BOOST_MOVE_ARGQ8, q8
-
-//BOOST_MOVE_DECLVALN
-#define BOOST_MOVE_DECLVAL0
-#define BOOST_MOVE_DECLVAL1                      ::boost::move_detail::declval<P0>()
-#define BOOST_MOVE_DECLVAL2 BOOST_MOVE_DECLVAL1, ::boost::move_detail::declval<P1>()
-#define BOOST_MOVE_DECLVAL3 BOOST_MOVE_DECLVAL2, ::boost::move_detail::declval<P2>()
-#define BOOST_MOVE_DECLVAL4 BOOST_MOVE_DECLVAL3, ::boost::move_detail::declval<P3>()
-#define BOOST_MOVE_DECLVAL5 BOOST_MOVE_DECLVAL4, ::boost::move_detail::declval<P4>()
-#define BOOST_MOVE_DECLVAL6 BOOST_MOVE_DECLVAL5, ::boost::move_detail::declval<P5>()
-#define BOOST_MOVE_DECLVAL7 BOOST_MOVE_DECLVAL6, ::boost::move_detail::declval<P6>()
-#define BOOST_MOVE_DECLVAL8 BOOST_MOVE_DECLVAL7, ::boost::move_detail::declval<P7>()
-#define BOOST_MOVE_DECLVAL9 BOOST_MOVE_DECLVAL8, ::boost::move_detail::declval<P8>()
-
-//BOOST_MOVE_DECLVALQN
-#define BOOST_MOVE_DECLVALQ0
-#define BOOST_MOVE_DECLVALQ1                       ::boost::move_detail::declval<Q0>()
-#define BOOST_MOVE_DECLVALQ2 BOOST_MOVE_DECLVALQ1, ::boost::move_detail::declval<Q1>()
-#define BOOST_MOVE_DECLVALQ3 BOOST_MOVE_DECLVALQ2, ::boost::move_detail::declval<Q2>()
-#define BOOST_MOVE_DECLVALQ4 BOOST_MOVE_DECLVALQ3, ::boost::move_detail::declval<Q3>()
-#define BOOST_MOVE_DECLVALQ5 BOOST_MOVE_DECLVALQ4, ::boost::move_detail::declval<Q4>()
-#define BOOST_MOVE_DECLVALQ6 BOOST_MOVE_DECLVALQ5, ::boost::move_detail::declval<Q5>()
-#define BOOST_MOVE_DECLVALQ7 BOOST_MOVE_DECLVALQ6, ::boost::move_detail::declval<Q6>()
-#define BOOST_MOVE_DECLVALQ8 BOOST_MOVE_DECLVALQ7, ::boost::move_detail::declval<Q7>()
-#define BOOST_MOVE_DECLVALQ9 BOOST_MOVE_DECLVALQ8, ::boost::move_detail::declval<Q8>()
-
-#ifdef BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG
-   #define BOOST_MOVE_MREF(T)    ::boost::move_detail::mref<T>
-   #define BOOST_MOVE_MFWD(N)    ::boost::forward<P##N>(this->m_p##N.get())
-   #define BOOST_MOVE_MFWDQ(N)   ::boost::forward<Q##N>(this->m_q##N.get())
-#else
-   #define BOOST_MOVE_MREF(T)    BOOST_FWD_REF(T)
-   #define BOOST_MOVE_MFWD(N)    ::boost::forward<P##N>(this->m_p##N)
-   #define BOOST_MOVE_MFWDQ(N)   ::boost::forward<Q##N>(this->m_q##N)
-#endif
-#define BOOST_MOVE_MITFWD(N)  *this->m_p##N
-#define BOOST_MOVE_MINC(N)    ++this->m_p##N
-#define BOOST_MOVE_MITFWDQ(N) *this->m_q##N
-#define BOOST_MOVE_MINCQ(N)   ++this->m_q##N
-
-
-//BOOST_MOVE_MFWDN
-#define BOOST_MOVE_MFWD0
-#define BOOST_MOVE_MFWD1                   BOOST_MOVE_MFWD(0)
-#define BOOST_MOVE_MFWD2 BOOST_MOVE_MFWD1, BOOST_MOVE_MFWD(1)
-#define BOOST_MOVE_MFWD3 BOOST_MOVE_MFWD2, BOOST_MOVE_MFWD(2)
-#define BOOST_MOVE_MFWD4 BOOST_MOVE_MFWD3, BOOST_MOVE_MFWD(3)
-#define BOOST_MOVE_MFWD5 BOOST_MOVE_MFWD4, BOOST_MOVE_MFWD(4)
-#define BOOST_MOVE_MFWD6 BOOST_MOVE_MFWD5, BOOST_MOVE_MFWD(5)
-#define BOOST_MOVE_MFWD7 BOOST_MOVE_MFWD6, BOOST_MOVE_MFWD(6)
-#define BOOST_MOVE_MFWD8 BOOST_MOVE_MFWD7, BOOST_MOVE_MFWD(7)
-#define BOOST_MOVE_MFWD9 BOOST_MOVE_MFWD8, BOOST_MOVE_MFWD(8)
-
-//BOOST_MOVE_MFWDN
-#define BOOST_MOVE_MFWDQ0
-#define BOOST_MOVE_MFWDQ1                    BOOST_MOVE_MFWDQ(0)
-#define BOOST_MOVE_MFWDQ2 BOOST_MOVE_MFWDQ1, BOOST_MOVE_MFWDQ(1)
-#define BOOST_MOVE_MFWDQ3 BOOST_MOVE_MFWDQ2, BOOST_MOVE_MFWDQ(2)
-#define BOOST_MOVE_MFWDQ4 BOOST_MOVE_MFWDQ3, BOOST_MOVE_MFWDQ(3)
-#define BOOST_MOVE_MFWDQ5 BOOST_MOVE_MFWDQ4, BOOST_MOVE_MFWDQ(4)
-#define BOOST_MOVE_MFWDQ6 BOOST_MOVE_MFWDQ5, BOOST_MOVE_MFWDQ(5)
-#define BOOST_MOVE_MFWDQ7 BOOST_MOVE_MFWDQ6, BOOST_MOVE_MFWDQ(6)
-#define BOOST_MOVE_MFWDQ8 BOOST_MOVE_MFWDQ7, BOOST_MOVE_MFWDQ(7)
-#define BOOST_MOVE_MFWDQ9 BOOST_MOVE_MFWDQ8, BOOST_MOVE_MFWDQ(8)
-
-//BOOST_MOVE_MINCN
-#define BOOST_MOVE_MINC0
-#define BOOST_MOVE_MINC1                   BOOST_MOVE_MINC(0)
-#define BOOST_MOVE_MINC2 BOOST_MOVE_MINC1, BOOST_MOVE_MINC(1)
-#define BOOST_MOVE_MINC3 BOOST_MOVE_MINC2, BOOST_MOVE_MINC(2)
-#define BOOST_MOVE_MINC4 BOOST_MOVE_MINC3, BOOST_MOVE_MINC(3)
-#define BOOST_MOVE_MINC5 BOOST_MOVE_MINC4, BOOST_MOVE_MINC(4)
-#define BOOST_MOVE_MINC6 BOOST_MOVE_MINC5, BOOST_MOVE_MINC(5)
-#define BOOST_MOVE_MINC7 BOOST_MOVE_MINC6, BOOST_MOVE_MINC(6)
-#define BOOST_MOVE_MINC8 BOOST_MOVE_MINC7, BOOST_MOVE_MINC(7)
-#define BOOST_MOVE_MINC9 BOOST_MOVE_MINC8, BOOST_MOVE_MINC(8)
-
-//BOOST_MOVE_MINCQN
-#define BOOST_MOVE_MINCQ0
-#define BOOST_MOVE_MINCQ1                    BOOST_MOVE_MINCQ(0)
-#define BOOST_MOVE_MINCQ2 BOOST_MOVE_MINCQ1, BOOST_MOVE_MINCQ(1)
-#define BOOST_MOVE_MINCQ3 BOOST_MOVE_MINCQ2, BOOST_MOVE_MINCQ(2)
-#define BOOST_MOVE_MINCQ4 BOOST_MOVE_MINCQ3, BOOST_MOVE_MINCQ(3)
-#define BOOST_MOVE_MINCQ5 BOOST_MOVE_MINCQ4, BOOST_MOVE_MINCQ(4)
-#define BOOST_MOVE_MINCQ6 BOOST_MOVE_MINCQ5, BOOST_MOVE_MINCQ(5)
-#define BOOST_MOVE_MINCQ7 BOOST_MOVE_MINCQ6, BOOST_MOVE_MINCQ(6)
-#define BOOST_MOVE_MINCQ8 BOOST_MOVE_MINCQ7, BOOST_MOVE_MINCQ(7)
-#define BOOST_MOVE_MINCQ9 BOOST_MOVE_MINCQ8, BOOST_MOVE_MINCQ(8)
-
-//BOOST_MOVE_MITFWDN
-#define BOOST_MOVE_MITFWD0
-#define BOOST_MOVE_MITFWD1                     BOOST_MOVE_MITFWD(0)
-#define BOOST_MOVE_MITFWD2 BOOST_MOVE_MITFWD1, BOOST_MOVE_MITFWD(1)
-#define BOOST_MOVE_MITFWD3 BOOST_MOVE_MITFWD2, BOOST_MOVE_MITFWD(2)
-#define BOOST_MOVE_MITFWD4 BOOST_MOVE_MITFWD3, BOOST_MOVE_MITFWD(3)
-#define BOOST_MOVE_MITFWD5 BOOST_MOVE_MITFWD4, BOOST_MOVE_MITFWD(4)
-#define BOOST_MOVE_MITFWD6 BOOST_MOVE_MITFWD5, BOOST_MOVE_MITFWD(5)
-#define BOOST_MOVE_MITFWD7 BOOST_MOVE_MITFWD6, BOOST_MOVE_MITFWD(6)
-#define BOOST_MOVE_MITFWD8 BOOST_MOVE_MITFWD7, BOOST_MOVE_MITFWD(7)
-#define BOOST_MOVE_MITFWD9 BOOST_MOVE_MITFWD8, BOOST_MOVE_MITFWD(8)
-
-//BOOST_MOVE_MITFWDQN
-#define BOOST_MOVE_MITFWDQ0
-#define BOOST_MOVE_MITFWDQ1                      BOOST_MOVE_MITFWDQ(0)
-#define BOOST_MOVE_MITFWDQ2 BOOST_MOVE_MITFWDQ1, BOOST_MOVE_MITFWDQ(1)
-#define BOOST_MOVE_MITFWDQ3 BOOST_MOVE_MITFWDQ2, BOOST_MOVE_MITFWDQ(2)
-#define BOOST_MOVE_MITFWDQ4 BOOST_MOVE_MITFWDQ3, BOOST_MOVE_MITFWDQ(3)
-#define BOOST_MOVE_MITFWDQ5 BOOST_MOVE_MITFWDQ4, BOOST_MOVE_MITFWDQ(4)
-#define BOOST_MOVE_MITFWDQ6 BOOST_MOVE_MITFWDQ5, BOOST_MOVE_MITFWDQ(5)
-#define BOOST_MOVE_MITFWDQ7 BOOST_MOVE_MITFWDQ6, BOOST_MOVE_MITFWDQ(6)
-#define BOOST_MOVE_MITFWDQ8 BOOST_MOVE_MITFWDQ7, BOOST_MOVE_MITFWDQ(7)
-#define BOOST_MOVE_MITFWDQ9 BOOST_MOVE_MITFWDQ8, BOOST_MOVE_MITFWDQ(8)
-
-//BOOST_MOVE_FWD_INITN
-#define BOOST_MOVE_FWD_INIT0
-#define BOOST_MOVE_FWD_INIT1                       m_p0(::boost::forward<P0>(p0))
-#define BOOST_MOVE_FWD_INIT2 BOOST_MOVE_FWD_INIT1, m_p1(::boost::forward<P1>(p1))
-#define BOOST_MOVE_FWD_INIT3 BOOST_MOVE_FWD_INIT2, m_p2(::boost::forward<P2>(p2))
-#define BOOST_MOVE_FWD_INIT4 BOOST_MOVE_FWD_INIT3, m_p3(::boost::forward<P3>(p3))
-#define BOOST_MOVE_FWD_INIT5 BOOST_MOVE_FWD_INIT4, m_p4(::boost::forward<P4>(p4))
-#define BOOST_MOVE_FWD_INIT6 BOOST_MOVE_FWD_INIT5, m_p5(::boost::forward<P5>(p5))
-#define BOOST_MOVE_FWD_INIT7 BOOST_MOVE_FWD_INIT6, m_p6(::boost::forward<P6>(p6))
-#define BOOST_MOVE_FWD_INIT8 BOOST_MOVE_FWD_INIT7, m_p7(::boost::forward<P7>(p7))
-#define BOOST_MOVE_FWD_INIT9 BOOST_MOVE_FWD_INIT8, m_p8(::boost::forward<P8>(p8))
-
-//BOOST_MOVE_FWD_INITQN
-#define BOOST_MOVE_FWD_INITQ0
-#define BOOST_MOVE_FWD_INITQ1                        m_q0(::boost::forward<Q0>(q0))
-#define BOOST_MOVE_FWD_INITQ2 BOOST_MOVE_FWD_INITQ1, m_q1(::boost::forward<Q1>(q1))
-#define BOOST_MOVE_FWD_INITQ3 BOOST_MOVE_FWD_INITQ2, m_q2(::boost::forward<Q2>(q2))
-#define BOOST_MOVE_FWD_INITQ4 BOOST_MOVE_FWD_INITQ3, m_q3(::boost::forward<Q3>(q3))
-#define BOOST_MOVE_FWD_INITQ5 BOOST_MOVE_FWD_INITQ4, m_q4(::boost::forward<Q4>(q4))
-#define BOOST_MOVE_FWD_INITQ6 BOOST_MOVE_FWD_INITQ5, m_q5(::boost::forward<Q5>(q5))
-#define BOOST_MOVE_FWD_INITQ7 BOOST_MOVE_FWD_INITQ6, m_q6(::boost::forward<Q6>(q6))
-#define BOOST_MOVE_FWD_INITQ8 BOOST_MOVE_FWD_INITQ7, m_q7(::boost::forward<Q7>(q7))
-#define BOOST_MOVE_FWD_INITQ9 BOOST_MOVE_FWD_INITQ8, m_q8(::boost::forward<Q8>(q8))
-
-//BOOST_MOVE_VAL_INITN
-#define BOOST_MOVE_VAL_INIT0
-#define BOOST_MOVE_VAL_INIT1                       m_p0(p0)
-#define BOOST_MOVE_VAL_INIT2 BOOST_MOVE_VAL_INIT1, m_p1(p1)
-#define BOOST_MOVE_VAL_INIT3 BOOST_MOVE_VAL_INIT2, m_p2(p2)
-#define BOOST_MOVE_VAL_INIT4 BOOST_MOVE_VAL_INIT3, m_p3(p3)
-#define BOOST_MOVE_VAL_INIT5 BOOST_MOVE_VAL_INIT4, m_p4(p4)
-#define BOOST_MOVE_VAL_INIT6 BOOST_MOVE_VAL_INIT5, m_p5(p5)
-#define BOOST_MOVE_VAL_INIT7 BOOST_MOVE_VAL_INIT6, m_p6(p6)
-#define BOOST_MOVE_VAL_INIT8 BOOST_MOVE_VAL_INIT7, m_p7(p7)
-#define BOOST_MOVE_VAL_INIT9 BOOST_MOVE_VAL_INIT8, m_p8(p8)
-
-//BOOST_MOVE_VAL_INITQN
-#define BOOST_MOVE_VAL_INITQ0
-#define BOOST_MOVE_VAL_INITQ1                        m_q0(q0)
-#define BOOST_MOVE_VAL_INITQ2 BOOST_MOVE_VAL_INITQ1, m_q1(q1)
-#define BOOST_MOVE_VAL_INITQ3 BOOST_MOVE_VAL_INITQ2, m_q2(q2)
-#define BOOST_MOVE_VAL_INITQ4 BOOST_MOVE_VAL_INITQ3, m_q3(q3)
-#define BOOST_MOVE_VAL_INITQ5 BOOST_MOVE_VAL_INITQ4, m_q4(q4)
-#define BOOST_MOVE_VAL_INITQ6 BOOST_MOVE_VAL_INITQ5, m_q5(q5)
-#define BOOST_MOVE_VAL_INITQ7 BOOST_MOVE_VAL_INITQ6, m_q6(q6)
-#define BOOST_MOVE_VAL_INITQ8 BOOST_MOVE_VAL_INITQ7, m_q7(q7)
-#define BOOST_MOVE_VAL_INITQ9 BOOST_MOVE_VAL_INITQ8, m_q8(q8)
-
-//BOOST_MOVE_UREFN
-#define BOOST_MOVE_UREF0
-#define BOOST_MOVE_UREF1                   BOOST_FWD_REF(P0) p0
-#define BOOST_MOVE_UREF2 BOOST_MOVE_UREF1, BOOST_FWD_REF(P1) p1
-#define BOOST_MOVE_UREF3 BOOST_MOVE_UREF2, BOOST_FWD_REF(P2) p2
-#define BOOST_MOVE_UREF4 BOOST_MOVE_UREF3, BOOST_FWD_REF(P3) p3
-#define BOOST_MOVE_UREF5 BOOST_MOVE_UREF4, BOOST_FWD_REF(P4) p4
-#define BOOST_MOVE_UREF6 BOOST_MOVE_UREF5, BOOST_FWD_REF(P5) p5
-#define BOOST_MOVE_UREF7 BOOST_MOVE_UREF6, BOOST_FWD_REF(P6) p6
-#define BOOST_MOVE_UREF8 BOOST_MOVE_UREF7, BOOST_FWD_REF(P7) p7
-#define BOOST_MOVE_UREF9 BOOST_MOVE_UREF8, BOOST_FWD_REF(P8) p8
-
-//BOOST_MOVE_UREFQN
-#define BOOST_MOVE_UREFQ0
-#define BOOST_MOVE_UREFQ1                    BOOST_FWD_REF(Q0) q0
-#define BOOST_MOVE_UREFQ2 BOOST_MOVE_UREFQ1, BOOST_FWD_REF(Q1) q1
-#define BOOST_MOVE_UREFQ3 BOOST_MOVE_UREFQ2, BOOST_FWD_REF(Q2) q2
-#define BOOST_MOVE_UREFQ4 BOOST_MOVE_UREFQ3, BOOST_FWD_REF(Q3) q3
-#define BOOST_MOVE_UREFQ5 BOOST_MOVE_UREFQ4, BOOST_FWD_REF(Q4) q4
-#define BOOST_MOVE_UREFQ6 BOOST_MOVE_UREFQ5, BOOST_FWD_REF(Q5) q5
-#define BOOST_MOVE_UREFQ7 BOOST_MOVE_UREFQ6, BOOST_FWD_REF(Q6) q6
-#define BOOST_MOVE_UREFQ8 BOOST_MOVE_UREFQ7, BOOST_FWD_REF(Q7) q7
-#define BOOST_MOVE_UREFQ9 BOOST_MOVE_UREFQ8, BOOST_FWD_REF(Q8) q8
-
-//BOOST_MOVE_VALN
-#define BOOST_MOVE_VAL0
-#define BOOST_MOVE_VAL1                  BOOST_FWD_REF(P0) p0
-#define BOOST_MOVE_VAL2 BOOST_MOVE_VAL1, BOOST_FWD_REF(P1) p1
-#define BOOST_MOVE_VAL3 BOOST_MOVE_VAL2, BOOST_FWD_REF(P2) p2
-#define BOOST_MOVE_VAL4 BOOST_MOVE_VAL3, BOOST_FWD_REF(P3) p3
-#define BOOST_MOVE_VAL5 BOOST_MOVE_VAL4, BOOST_FWD_REF(P4) p4
-#define BOOST_MOVE_VAL6 BOOST_MOVE_VAL5, BOOST_FWD_REF(P5) p5
-#define BOOST_MOVE_VAL7 BOOST_MOVE_VAL6, BOOST_FWD_REF(P6) p6
-#define BOOST_MOVE_VAL8 BOOST_MOVE_VAL7, BOOST_FWD_REF(P7) p7
-#define BOOST_MOVE_VAL9 BOOST_MOVE_VAL8, BOOST_FWD_REF(P8) p8
-
-//BOOST_MOVE_VALQN
-#define BOOST_MOVE_VALQ0
-#define BOOST_MOVE_VALQ1                   BOOST_FWD_REF(Q0) q0
-#define BOOST_MOVE_VALQ2 BOOST_MOVE_VALQ1, BOOST_FWD_REF(Q1) q1
-#define BOOST_MOVE_VALQ3 BOOST_MOVE_VALQ2, BOOST_FWD_REF(Q2) q2
-#define BOOST_MOVE_VALQ4 BOOST_MOVE_VALQ3, BOOST_FWD_REF(Q3) q3
-#define BOOST_MOVE_VALQ5 BOOST_MOVE_VALQ4, BOOST_FWD_REF(Q4) q4
-#define BOOST_MOVE_VALQ6 BOOST_MOVE_VALQ5, BOOST_FWD_REF(Q5) q5
-#define BOOST_MOVE_VALQ7 BOOST_MOVE_VALQ6, BOOST_FWD_REF(Q6) q6
-#define BOOST_MOVE_VALQ8 BOOST_MOVE_VALQ7, BOOST_FWD_REF(Q7) q7
-#define BOOST_MOVE_VALQ9 BOOST_MOVE_VALQ8, BOOST_FWD_REF(Q8) q8
-
-
-#define BOOST_MOVE_UNVOIDCREF(T) const typename boost::move_detail::unvoid<T>::type&
-//BOOST_MOVE_CREFN
-#define BOOST_MOVE_CREF0
-#define BOOST_MOVE_CREF1                   BOOST_MOVE_UNVOIDCREF(P0) p0
-#define BOOST_MOVE_CREF2 BOOST_MOVE_CREF1, BOOST_MOVE_UNVOIDCREF(P1) p1
-#define BOOST_MOVE_CREF3 BOOST_MOVE_CREF2, BOOST_MOVE_UNVOIDCREF(P2) p2
-#define BOOST_MOVE_CREF4 BOOST_MOVE_CREF3, BOOST_MOVE_UNVOIDCREF(P3) p3
-#define BOOST_MOVE_CREF5 BOOST_MOVE_CREF4, BOOST_MOVE_UNVOIDCREF(P4) p4
-#define BOOST_MOVE_CREF6 BOOST_MOVE_CREF5, BOOST_MOVE_UNVOIDCREF(P5) p5
-#define BOOST_MOVE_CREF7 BOOST_MOVE_CREF6, BOOST_MOVE_UNVOIDCREF(P6) p6
-#define BOOST_MOVE_CREF8 BOOST_MOVE_CREF7, BOOST_MOVE_UNVOIDCREF(P7) p7
-#define BOOST_MOVE_CREF9 BOOST_MOVE_CREF8, BOOST_MOVE_UNVOIDCREF(P8) p8
-
-//BOOST_MOVE_CREFQN
-#define BOOST_MOVE_CREFQ0
-#define BOOST_MOVE_CREFQ1                    BOOST_MOVE_UNVOIDCREF(Q0) q0
-#define BOOST_MOVE_CREFQ2 BOOST_MOVE_CREFQ1, BOOST_MOVE_UNVOIDCREF(Q1) q1
-#define BOOST_MOVE_CREFQ3 BOOST_MOVE_CREFQ2, BOOST_MOVE_UNVOIDCREF(Q2) q2
-#define BOOST_MOVE_CREFQ4 BOOST_MOVE_CREFQ3, BOOST_MOVE_UNVOIDCREF(Q3) q3
-#define BOOST_MOVE_CREFQ5 BOOST_MOVE_CREFQ4, BOOST_MOVE_UNVOIDCREF(Q4) q4
-#define BOOST_MOVE_CREFQ6 BOOST_MOVE_CREFQ5, BOOST_MOVE_UNVOIDCREF(Q5) q5
-#define BOOST_MOVE_CREFQ7 BOOST_MOVE_CREFQ6, BOOST_MOVE_UNVOIDCREF(Q6) q6
-#define BOOST_MOVE_CREFQ8 BOOST_MOVE_CREFQ7, BOOST_MOVE_UNVOIDCREF(Q7) q7
-#define BOOST_MOVE_CREFQ9 BOOST_MOVE_CREFQ8, BOOST_MOVE_UNVOIDCREF(Q8) q8
-
-//BOOST_MOVE_CLASSN
-#define BOOST_MOVE_CLASS0
-#define BOOST_MOVE_CLASS1                    class P0
-#define BOOST_MOVE_CLASS2 BOOST_MOVE_CLASS1, class P1
-#define BOOST_MOVE_CLASS3 BOOST_MOVE_CLASS2, class P2
-#define BOOST_MOVE_CLASS4 BOOST_MOVE_CLASS3, class P3
-#define BOOST_MOVE_CLASS5 BOOST_MOVE_CLASS4, class P4
-#define BOOST_MOVE_CLASS6 BOOST_MOVE_CLASS5, class P5
-#define BOOST_MOVE_CLASS7 BOOST_MOVE_CLASS6, class P6
-#define BOOST_MOVE_CLASS8 BOOST_MOVE_CLASS7, class P7
-#define BOOST_MOVE_CLASS9 BOOST_MOVE_CLASS8, class P8
-
-//BOOST_MOVE_CLASSQN
-#define BOOST_MOVE_CLASSQ0
-#define BOOST_MOVE_CLASSQ1                     class Q0
-#define BOOST_MOVE_CLASSQ2 BOOST_MOVE_CLASSQ1, class Q1
-#define BOOST_MOVE_CLASSQ3 BOOST_MOVE_CLASSQ2, class Q2
-#define BOOST_MOVE_CLASSQ4 BOOST_MOVE_CLASSQ3, class Q3
-#define BOOST_MOVE_CLASSQ5 BOOST_MOVE_CLASSQ4, class Q4
-#define BOOST_MOVE_CLASSQ6 BOOST_MOVE_CLASSQ5, class Q5
-#define BOOST_MOVE_CLASSQ7 BOOST_MOVE_CLASSQ6, class Q6
-#define BOOST_MOVE_CLASSQ8 BOOST_MOVE_CLASSQ7, class Q7
-#define BOOST_MOVE_CLASSQ9 BOOST_MOVE_CLASSQ8, class Q8
-
-//BOOST_MOVE_CLASSDFLTN
-#define BOOST_MOVE_CLASSDFLT0
-#define BOOST_MOVE_CLASSDFLT1                        class P0 = void
-#define BOOST_MOVE_CLASSDFLT2 BOOST_MOVE_CLASSDFLT1, class P1 = void
-#define BOOST_MOVE_CLASSDFLT3 BOOST_MOVE_CLASSDFLT2, class P2 = void
-#define BOOST_MOVE_CLASSDFLT4 BOOST_MOVE_CLASSDFLT3, class P3 = void
-#define BOOST_MOVE_CLASSDFLT5 BOOST_MOVE_CLASSDFLT4, class P4 = void
-#define BOOST_MOVE_CLASSDFLT6 BOOST_MOVE_CLASSDFLT5, class P5 = void
-#define BOOST_MOVE_CLASSDFLT7 BOOST_MOVE_CLASSDFLT6, class P6 = void
-#define BOOST_MOVE_CLASSDFLT8 BOOST_MOVE_CLASSDFLT7, class P7 = void
-#define BOOST_MOVE_CLASSDFLT9 BOOST_MOVE_CLASSDFLT8, class P8 = void
-
-//BOOST_MOVE_CLASSDFLTQN
-#define BOOST_MOVE_CLASSDFLTQ0
-#define BOOST_MOVE_CLASSDFLTQ1                         class Q0 = void
-#define BOOST_MOVE_CLASSDFLTQ2 BOOST_MOVE_CLASSDFLTQ1, class Q1 = void
-#define BOOST_MOVE_CLASSDFLTQ3 BOOST_MOVE_CLASSDFLTQ2, class Q2 = void
-#define BOOST_MOVE_CLASSDFLTQ4 BOOST_MOVE_CLASSDFLTQ3, class Q3 = void
-#define BOOST_MOVE_CLASSDFLTQ5 BOOST_MOVE_CLASSDFLTQ4, class Q4 = void
-#define BOOST_MOVE_CLASSDFLTQ6 BOOST_MOVE_CLASSDFLTQ5, class Q5 = void
-#define BOOST_MOVE_CLASSDFLTQ7 BOOST_MOVE_CLASSDFLTQ6, class Q6 = void
-#define BOOST_MOVE_CLASSDFLTQ8 BOOST_MOVE_CLASSDFLTQ7, class Q7 = void
-#define BOOST_MOVE_CLASSDFLTQ9 BOOST_MOVE_CLASSDFLTQ8, class Q8 = void
-
-//BOOST_MOVE_TARGN
-#define BOOST_MOVE_TARG0
-#define BOOST_MOVE_TARG1                   P0
-#define BOOST_MOVE_TARG2 BOOST_MOVE_TARG1, P1
-#define BOOST_MOVE_TARG3 BOOST_MOVE_TARG2, P2
-#define BOOST_MOVE_TARG4 BOOST_MOVE_TARG3, P3
-#define BOOST_MOVE_TARG5 BOOST_MOVE_TARG4, P4
-#define BOOST_MOVE_TARG6 BOOST_MOVE_TARG5, P5
-#define BOOST_MOVE_TARG7 BOOST_MOVE_TARG6, P6
-#define BOOST_MOVE_TARG8 BOOST_MOVE_TARG7, P7
-#define BOOST_MOVE_TARG9 BOOST_MOVE_TARG8, P8
-
-//BOOST_MOVE_TARGQN
-#define BOOST_MOVE_TARGQ0
-#define BOOST_MOVE_TARGQ1                    Q0
-#define BOOST_MOVE_TARGQ2 BOOST_MOVE_TARGQ1, Q1
-#define BOOST_MOVE_TARGQ3 BOOST_MOVE_TARGQ2, Q2
-#define BOOST_MOVE_TARGQ4 BOOST_MOVE_TARGQ3, Q3
-#define BOOST_MOVE_TARGQ5 BOOST_MOVE_TARGQ4, Q4
-#define BOOST_MOVE_TARGQ6 BOOST_MOVE_TARGQ5, Q5
-#define BOOST_MOVE_TARGQ7 BOOST_MOVE_TARGQ6, Q6
-#define BOOST_MOVE_TARGQ8 BOOST_MOVE_TARGQ7, Q7
-#define BOOST_MOVE_TARGQ9 BOOST_MOVE_TARGQ8, Q8
-
-//BOOST_MOVE_FWD_TN
-#define BOOST_MOVE_FWD_T0
-#define BOOST_MOVE_FWD_T1                    typename ::boost::move_detail::forward_type<P0>::type
-#define BOOST_MOVE_FWD_T2 BOOST_MOVE_FWD_T1, typename ::boost::move_detail::forward_type<P1>::type
-#define BOOST_MOVE_FWD_T3 BOOST_MOVE_FWD_T2, typename ::boost::move_detail::forward_type<P2>::type
-#define BOOST_MOVE_FWD_T4 BOOST_MOVE_FWD_T3, typename ::boost::move_detail::forward_type<P3>::type
-#define BOOST_MOVE_FWD_T5 BOOST_MOVE_FWD_T4, typename ::boost::move_detail::forward_type<P4>::type
-#define BOOST_MOVE_FWD_T6 BOOST_MOVE_FWD_T5, typename ::boost::move_detail::forward_type<P5>::type
-#define BOOST_MOVE_FWD_T7 BOOST_MOVE_FWD_T6, typename ::boost::move_detail::forward_type<P6>::type
-#define BOOST_MOVE_FWD_T8 BOOST_MOVE_FWD_T7, typename ::boost::move_detail::forward_type<P7>::type
-#define BOOST_MOVE_FWD_T9 BOOST_MOVE_FWD_T8, typename ::boost::move_detail::forward_type<P8>::type
-
-//BOOST_MOVE_FWD_TQN
-#define BOOST_MOVE_FWD_TQ0
-#define BOOST_MOVE_FWD_TQ1                     typename ::boost::move_detail::forward_type<Q0>::type
-#define BOOST_MOVE_FWD_TQ2 BOOST_MOVE_FWD_TQ1, typename ::boost::move_detail::forward_type<Q1>::type
-#define BOOST_MOVE_FWD_TQ3 BOOST_MOVE_FWD_TQ2, typename ::boost::move_detail::forward_type<Q2>::type
-#define BOOST_MOVE_FWD_TQ4 BOOST_MOVE_FWD_TQ3, typename ::boost::move_detail::forward_type<Q3>::type
-#define BOOST_MOVE_FWD_TQ5 BOOST_MOVE_FWD_TQ4, typename ::boost::move_detail::forward_type<Q4>::type
-#define BOOST_MOVE_FWD_TQ6 BOOST_MOVE_FWD_TQ5, typename ::boost::move_detail::forward_type<Q5>::type
-#define BOOST_MOVE_FWD_TQ7 BOOST_MOVE_FWD_TQ6, typename ::boost::move_detail::forward_type<Q6>::type
-#define BOOST_MOVE_FWD_TQ8 BOOST_MOVE_FWD_TQ7, typename ::boost::move_detail::forward_type<Q7>::type
-#define BOOST_MOVE_FWD_TQ9 BOOST_MOVE_FWD_TQ8, typename ::boost::move_detail::forward_type<Q8>::type
-
-//BOOST_MOVE_MREFX
-#define BOOST_MOVE_MREF0
-#define BOOST_MOVE_MREF1                  BOOST_MOVE_MREF(P0) m_p0;
-#define BOOST_MOVE_MREF2 BOOST_MOVE_MREF1 BOOST_MOVE_MREF(P1) m_p1;
-#define BOOST_MOVE_MREF3 BOOST_MOVE_MREF2 BOOST_MOVE_MREF(P2) m_p2;
-#define BOOST_MOVE_MREF4 BOOST_MOVE_MREF3 BOOST_MOVE_MREF(P3) m_p3;
-#define BOOST_MOVE_MREF5 BOOST_MOVE_MREF4 BOOST_MOVE_MREF(P4) m_p4;
-#define BOOST_MOVE_MREF6 BOOST_MOVE_MREF5 BOOST_MOVE_MREF(P5) m_p5;
-#define BOOST_MOVE_MREF7 BOOST_MOVE_MREF6 BOOST_MOVE_MREF(P6) m_p6;
-#define BOOST_MOVE_MREF8 BOOST_MOVE_MREF7 BOOST_MOVE_MREF(P7) m_p7;
-#define BOOST_MOVE_MREF9 BOOST_MOVE_MREF8 BOOST_MOVE_MREF(P8) m_p8;
-
-//BOOST_MOVE_MREFQX
-#define BOOST_MOVE_MREFQ0
-#define BOOST_MOVE_MREFQ1                   BOOST_MOVE_MREFQ(Q0) m_q0;
-#define BOOST_MOVE_MREFQ2 BOOST_MOVE_MREFQ1 BOOST_MOVE_MREFQ(Q1) m_q1;
-#define BOOST_MOVE_MREFQ3 BOOST_MOVE_MREFQ2 BOOST_MOVE_MREFQ(Q2) m_q2;
-#define BOOST_MOVE_MREFQ4 BOOST_MOVE_MREFQ3 BOOST_MOVE_MREFQ(Q3) m_q3;
-#define BOOST_MOVE_MREFQ5 BOOST_MOVE_MREFQ4 BOOST_MOVE_MREFQ(Q4) m_q4;
-#define BOOST_MOVE_MREFQ6 BOOST_MOVE_MREFQ5 BOOST_MOVE_MREFQ(Q5) m_q5;
-#define BOOST_MOVE_MREFQ7 BOOST_MOVE_MREFQ6 BOOST_MOVE_MREFQ(Q6) m_q6;
-#define BOOST_MOVE_MREFQ8 BOOST_MOVE_MREFQ7 BOOST_MOVE_MREFQ(Q7) m_q7;
-#define BOOST_MOVE_MREFQ9 BOOST_MOVE_MREFQ8 BOOST_MOVE_MREFQ(Q8) m_q8;
-
-//BOOST_MOVE_MEMBX
-#define BOOST_MOVE_MEMB0
-#define BOOST_MOVE_MEMB1                  P0 m_p0;
-#define BOOST_MOVE_MEMB2 BOOST_MOVE_MEMB1 P1 m_p1;
-#define BOOST_MOVE_MEMB3 BOOST_MOVE_MEMB2 P2 m_p2;
-#define BOOST_MOVE_MEMB4 BOOST_MOVE_MEMB3 P3 m_p3;
-#define BOOST_MOVE_MEMB5 BOOST_MOVE_MEMB4 P4 m_p4;
-#define BOOST_MOVE_MEMB6 BOOST_MOVE_MEMB5 P5 m_p5;
-#define BOOST_MOVE_MEMB7 BOOST_MOVE_MEMB6 P6 m_p6;
-#define BOOST_MOVE_MEMB8 BOOST_MOVE_MEMB7 P7 m_p7;
-#define BOOST_MOVE_MEMB9 BOOST_MOVE_MEMB8 P8 m_p8;
-
-//BOOST_MOVE_MEMBQX
-#define BOOST_MOVE_MEMBQ0
-#define BOOST_MOVE_MEMBQ1                   Q0 m_q0;
-#define BOOST_MOVE_MEMBQ2 BOOST_MOVE_MEMBQ1 Q1 m_q1;
-#define BOOST_MOVE_MEMBQ3 BOOST_MOVE_MEMBQ2 Q2 m_q2;
-#define BOOST_MOVE_MEMBQ4 BOOST_MOVE_MEMBQ3 Q3 m_q3;
-#define BOOST_MOVE_MEMBQ5 BOOST_MOVE_MEMBQ4 Q4 m_q4;
-#define BOOST_MOVE_MEMBQ6 BOOST_MOVE_MEMBQ5 Q5 m_q5;
-#define BOOST_MOVE_MEMBQ7 BOOST_MOVE_MEMBQ6 Q6 m_q6;
-#define BOOST_MOVE_MEMBQ8 BOOST_MOVE_MEMBQ7 Q7 m_q7;
-#define BOOST_MOVE_MEMBQ9 BOOST_MOVE_MEMBQ8 Q8 m_q8;
-
-//BOOST_MOVE_TMPL_LTN
-#define BOOST_MOVE_TMPL_LT0
-#define BOOST_MOVE_TMPL_LT1 template<
-#define BOOST_MOVE_TMPL_LT2 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT3 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT4 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT5 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT6 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT7 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT8 BOOST_MOVE_TMPL_LT1
-#define BOOST_MOVE_TMPL_LT9 BOOST_MOVE_TMPL_LT1
-
-//BOOST_MOVE_LTN
-#define BOOST_MOVE_LT0
-#define BOOST_MOVE_LT1 <
-#define BOOST_MOVE_LT2 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT3 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT4 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT5 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT6 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT7 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT8 BOOST_MOVE_LT1
-#define BOOST_MOVE_LT9 BOOST_MOVE_LT1
-
-//BOOST_MOVE_GTN
-#define BOOST_MOVE_GT0
-#define BOOST_MOVE_GT1 >
-#define BOOST_MOVE_GT2 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT3 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT4 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT5 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT6 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT7 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT8 BOOST_MOVE_GT1
-#define BOOST_MOVE_GT9 BOOST_MOVE_GT1
-
-//BOOST_MOVE_LPN
-#define BOOST_MOVE_LP0
-#define BOOST_MOVE_LP1 (
-#define BOOST_MOVE_LP2 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP3 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP4 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP5 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP6 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP7 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP8 BOOST_MOVE_LP1
-#define BOOST_MOVE_LP9 BOOST_MOVE_LP1
-
-//BOOST_MOVE_RPN
-#define BOOST_MOVE_RP0
-#define BOOST_MOVE_RP1 )
-#define BOOST_MOVE_RP2 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP3 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP4 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP5 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP6 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP7 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP8 BOOST_MOVE_RP1
-#define BOOST_MOVE_RP9 BOOST_MOVE_RP1
-
-//BOOST_MOVE_IN
-#define BOOST_MOVE_I0
-#define BOOST_MOVE_I1 ,
-#define BOOST_MOVE_I2 BOOST_MOVE_I1
-#define BOOST_MOVE_I3 BOOST_MOVE_I1
-#define BOOST_MOVE_I4 BOOST_MOVE_I1
-#define BOOST_MOVE_I5 BOOST_MOVE_I1
-#define BOOST_MOVE_I6 BOOST_MOVE_I1
-#define BOOST_MOVE_I7 BOOST_MOVE_I1
-#define BOOST_MOVE_I8 BOOST_MOVE_I1
-#define BOOST_MOVE_I9 BOOST_MOVE_I1
-
-//BOOST_MOVE_COLON
-#define BOOST_MOVE_COLON0
-#define BOOST_MOVE_COLON1 :
-#define BOOST_MOVE_COLON2 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON3 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON4 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON5 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON6 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON7 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON8 BOOST_MOVE_COLON1
-#define BOOST_MOVE_COLON9 BOOST_MOVE_COLON1
-
-//BOOST_MOVE_ITERATE_2TON
-#define BOOST_MOVE_ITERATE_2TO2(MACROFUNC)                                       MACROFUNC(2)
-#define BOOST_MOVE_ITERATE_2TO3(MACROFUNC)   BOOST_MOVE_ITERATE_2TO2(MACROFUNC)  MACROFUNC(3)
-#define BOOST_MOVE_ITERATE_2TO4(MACROFUNC)   BOOST_MOVE_ITERATE_2TO3(MACROFUNC)  MACROFUNC(4)
-#define BOOST_MOVE_ITERATE_2TO5(MACROFUNC)   BOOST_MOVE_ITERATE_2TO4(MACROFUNC)  MACROFUNC(5)
-#define BOOST_MOVE_ITERATE_2TO6(MACROFUNC)   BOOST_MOVE_ITERATE_2TO5(MACROFUNC)  MACROFUNC(6)
-#define BOOST_MOVE_ITERATE_2TO7(MACROFUNC)   BOOST_MOVE_ITERATE_2TO6(MACROFUNC)  MACROFUNC(7)
-#define BOOST_MOVE_ITERATE_2TO8(MACROFUNC)   BOOST_MOVE_ITERATE_2TO7(MACROFUNC)  MACROFUNC(8)
-#define BOOST_MOVE_ITERATE_2TO9(MACROFUNC)   BOOST_MOVE_ITERATE_2TO8(MACROFUNC)  MACROFUNC(9)
-
-//BOOST_MOVE_ITERATE_1TON
-#define BOOST_MOVE_ITERATE_1TO1(MACROFUNC)                                       MACROFUNC(1)
-#define BOOST_MOVE_ITERATE_1TO2(MACROFUNC)   BOOST_MOVE_ITERATE_1TO1(MACROFUNC)  MACROFUNC(2)
-#define BOOST_MOVE_ITERATE_1TO3(MACROFUNC)   BOOST_MOVE_ITERATE_1TO2(MACROFUNC)  MACROFUNC(3)
-#define BOOST_MOVE_ITERATE_1TO4(MACROFUNC)   BOOST_MOVE_ITERATE_1TO3(MACROFUNC)  MACROFUNC(4)
-#define BOOST_MOVE_ITERATE_1TO5(MACROFUNC)   BOOST_MOVE_ITERATE_1TO4(MACROFUNC)  MACROFUNC(5)
-#define BOOST_MOVE_ITERATE_1TO6(MACROFUNC)   BOOST_MOVE_ITERATE_1TO5(MACROFUNC)  MACROFUNC(6)
-#define BOOST_MOVE_ITERATE_1TO7(MACROFUNC)   BOOST_MOVE_ITERATE_1TO6(MACROFUNC)  MACROFUNC(7)
-#define BOOST_MOVE_ITERATE_1TO8(MACROFUNC)   BOOST_MOVE_ITERATE_1TO7(MACROFUNC)  MACROFUNC(8)
-#define BOOST_MOVE_ITERATE_1TO9(MACROFUNC)   BOOST_MOVE_ITERATE_1TO8(MACROFUNC)  MACROFUNC(9)
-
-//BOOST_MOVE_ITERATE_0TON
-#define BOOST_MOVE_ITERATE_0TO0(MACROFUNC)                                       MACROFUNC(0)
-#define BOOST_MOVE_ITERATE_0TO1(MACROFUNC)   BOOST_MOVE_ITERATE_0TO0(MACROFUNC)  MACROFUNC(1)
-#define BOOST_MOVE_ITERATE_0TO2(MACROFUNC)   BOOST_MOVE_ITERATE_0TO1(MACROFUNC)  MACROFUNC(2)
-#define BOOST_MOVE_ITERATE_0TO3(MACROFUNC)   BOOST_MOVE_ITERATE_0TO2(MACROFUNC)  MACROFUNC(3)
-#define BOOST_MOVE_ITERATE_0TO4(MACROFUNC)   BOOST_MOVE_ITERATE_0TO3(MACROFUNC)  MACROFUNC(4)
-#define BOOST_MOVE_ITERATE_0TO5(MACROFUNC)   BOOST_MOVE_ITERATE_0TO4(MACROFUNC)  MACROFUNC(5)
-#define BOOST_MOVE_ITERATE_0TO6(MACROFUNC)   BOOST_MOVE_ITERATE_0TO5(MACROFUNC)  MACROFUNC(6)
-#define BOOST_MOVE_ITERATE_0TO7(MACROFUNC)   BOOST_MOVE_ITERATE_0TO6(MACROFUNC)  MACROFUNC(7)
-#define BOOST_MOVE_ITERATE_0TO8(MACROFUNC)   BOOST_MOVE_ITERATE_0TO7(MACROFUNC)  MACROFUNC(8)
-#define BOOST_MOVE_ITERATE_0TO9(MACROFUNC)   BOOST_MOVE_ITERATE_0TO8(MACROFUNC)  MACROFUNC(9)
-
-//BOOST_MOVE_ITERATE_NTON
-#define BOOST_MOVE_ITERATE_0TO0(MACROFUNC)   MACROFUNC(0)
-#define BOOST_MOVE_ITERATE_1TO1(MACROFUNC)   MACROFUNC(1)
-#define BOOST_MOVE_ITERATE_2TO2(MACROFUNC)   MACROFUNC(2)
-#define BOOST_MOVE_ITERATE_3TO3(MACROFUNC)   MACROFUNC(3)
-#define BOOST_MOVE_ITERATE_4TO4(MACROFUNC)   MACROFUNC(4)
-#define BOOST_MOVE_ITERATE_5TO5(MACROFUNC)   MACROFUNC(5)
-#define BOOST_MOVE_ITERATE_6TO6(MACROFUNC)   MACROFUNC(6)
-#define BOOST_MOVE_ITERATE_7TO7(MACROFUNC)   MACROFUNC(7)
-#define BOOST_MOVE_ITERATE_8TO8(MACROFUNC)   MACROFUNC(8)
-#define BOOST_MOVE_ITERATE_9TO9(MACROFUNC)   MACROFUNC(9)
-
-//BOOST_MOVE_ITER2D_0TO9
-#define BOOST_MOVE_ITER2DLOW_0TO0(MACROFUNC2D, M)                                            MACROFUNC2D(M, 0)
-#define BOOST_MOVE_ITER2DLOW_0TO1(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO0(MACROFUNC2D, M) MACROFUNC2D(M, 1)
-#define BOOST_MOVE_ITER2DLOW_0TO2(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO1(MACROFUNC2D, M) MACROFUNC2D(M, 2)
-#define BOOST_MOVE_ITER2DLOW_0TO3(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO2(MACROFUNC2D, M) MACROFUNC2D(M, 3)
-#define BOOST_MOVE_ITER2DLOW_0TO4(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO3(MACROFUNC2D, M) MACROFUNC2D(M, 4)
-#define BOOST_MOVE_ITER2DLOW_0TO5(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO4(MACROFUNC2D, M) MACROFUNC2D(M, 5)
-#define BOOST_MOVE_ITER2DLOW_0TO6(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO5(MACROFUNC2D, M) MACROFUNC2D(M, 6)
-#define BOOST_MOVE_ITER2DLOW_0TO7(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO6(MACROFUNC2D, M) MACROFUNC2D(M, 7)
-#define BOOST_MOVE_ITER2DLOW_0TO8(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO7(MACROFUNC2D, M) MACROFUNC2D(M, 8)
-#define BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, M)  BOOST_MOVE_ITER2DLOW_0TO8(MACROFUNC2D, M) MACROFUNC2D(M, 9)
-//
-#define BOOST_MOVE_ITER2D_0TO0(MACROFUNC2D)                                        BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 0)
-#define BOOST_MOVE_ITER2D_0TO1(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO0(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 1)
-#define BOOST_MOVE_ITER2D_0TO2(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO1(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 2)
-#define BOOST_MOVE_ITER2D_0TO3(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO2(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 3)
-#define BOOST_MOVE_ITER2D_0TO4(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO3(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 4)
-#define BOOST_MOVE_ITER2D_0TO5(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO4(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 5)
-#define BOOST_MOVE_ITER2D_0TO6(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO5(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 6)
-#define BOOST_MOVE_ITER2D_0TO7(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO6(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 7)
-#define BOOST_MOVE_ITER2D_0TO8(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO7(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 8)
-#define BOOST_MOVE_ITER2D_0TO9(MACROFUNC2D)   BOOST_MOVE_ITER2D_0TO8(MACROFUNC2D)  BOOST_MOVE_ITER2DLOW_0TO9(MACROFUNC2D, 9)
-
-//BOOST_MOVE_CAT
-#define BOOST_MOVE_CAT(a, b) BOOST_MOVE_CAT_I(a, b)
-#define BOOST_MOVE_CAT_I(a, b) a ## b
-//#    define BOOST_MOVE_CAT_I(a, b) BOOST_MOVE_CAT_II(~, a ## b)
-//#    define BOOST_MOVE_CAT_II(p, res) res
-
-#endif //#ifndef BOOST_MOVE_DETAIL_FWD_MACROS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/iterator_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/iterator_traits.hpp
deleted file mode 100644
index 5ffcb2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/iterator_traits.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2014.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_DETAIL_ITERATOR_TRAITS_HPP
-#define BOOST_MOVE_DETAIL_ITERATOR_TRAITS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <cstddef>
-#include <boost/move/detail/type_traits.hpp>
-
-#include <boost/move/detail/std_ns_begin.hpp>
-BOOST_MOVE_STD_NS_BEG
-
-struct input_iterator_tag;
-struct forward_iterator_tag;
-struct bidirectional_iterator_tag;
-struct random_access_iterator_tag;
-struct output_iterator_tag;
-
-BOOST_MOVE_STD_NS_END
-#include <boost/move/detail/std_ns_end.hpp>
-
-namespace boost{  namespace movelib{
-
-template<class Iterator>
-struct 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;
-   typedef typename boost::move_detail::make_unsigned<difference_type>::type size_type;
-};
-
-template<class T>
-struct iterator_traits<T*>
-{
-   typedef std::ptrdiff_t                    difference_type;
-   typedef T                                 value_type;
-   typedef T*                                pointer;
-   typedef T&                                reference;
-   typedef std::random_access_iterator_tag   iterator_category;
-   typedef typename boost::move_detail::make_unsigned<difference_type>::type size_type;
-};
-
-template<class T>
-struct iterator_traits<const T*>
-{
-   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;
-   typedef typename boost::move_detail::make_unsigned<difference_type>::type size_type;
-};
-
-}} //namespace boost {  namespace movelib{
-
-#endif //#ifndef BOOST_MOVE_DETAIL_ITERATOR_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/meta_utils.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/meta_utils.hpp
deleted file mode 100644
index e45394c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/meta_utils.hpp
+++ /dev/null
@@ -1,585 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2015.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_DETAIL_META_UTILS_HPP
-#define BOOST_MOVE_DETAIL_META_UTILS_HPP
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>  //forceinline
-#include <boost/move/detail/meta_utils_core.hpp>
-#include <cstddef>   //for std::size_t
-
-//Small meta-typetraits to support move
-
-namespace boost {
-
-//Forward declare boost::rv
-template <class T> class rv;
-
-namespace move_detail {
-
-//////////////////////////////////////
-//          is_different
-//////////////////////////////////////
-template<class T, class U>
-struct is_different
-{
-   static const bool value = !is_same<T, U>::value;
-};
-
-//////////////////////////////////////
-//             apply
-//////////////////////////////////////
-template<class F, class Param>
-struct apply
-{
-   typedef typename F::template apply<Param>::type type;
-};
-
-//////////////////////////////////////
-//             bool_
-//////////////////////////////////////
-
-template< bool C_ >
-struct bool_ : integral_constant<bool, C_>
-{
-     operator bool() const { return C_; }
-   bool operator()() const { return C_; }
-};
-
-typedef bool_<true>        true_;
-typedef bool_<false>       false_;
-
-//////////////////////////////////////
-//              nat
-//////////////////////////////////////
-struct nat{};
-
-//////////////////////////////////////
-//          yes_type/no_type
-//////////////////////////////////////
-typedef char yes_type;
-
-struct no_type
-{
-   char _[2];
-};
-
-//////////////////////////////////////
-//            natify
-//////////////////////////////////////
-template <class T> struct natify{};
-
-//////////////////////////////////////
-//          remove_reference
-//////////////////////////////////////
-template<class T>
-struct remove_reference
-{
-   typedef T type;
-};
-
-template<class T>
-struct remove_reference<T&>
-{
-   typedef T type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template<class T>
-struct remove_reference<T&&>
-{
-   typedef T type;
-};
-
-#else
-
-template<class T>
-struct remove_reference< rv<T> >
-{
-   typedef T type;
-};
-
-template<class T>
-struct remove_reference< rv<T> &>
-{
-   typedef T type;
-};
-
-template<class T>
-struct remove_reference< const rv<T> &>
-{
-   typedef T type;
-};
-
-#endif
-
-//////////////////////////////////////
-//             remove_pointer
-//////////////////////////////////////
-
-template< class T > struct remove_pointer                    { typedef T type;   };
-template< class T > struct remove_pointer<T*>                { typedef T type;   };
-template< class T > struct remove_pointer<T* const>          { typedef T type;   };
-template< class T > struct remove_pointer<T* volatile>       { typedef T type;   };
-template< class T > struct remove_pointer<T* const volatile> { typedef T type;   };
-
-//////////////////////////////////////
-//             add_pointer
-//////////////////////////////////////
-template< class T >
-struct add_pointer
-{
-   typedef typename remove_reference<T>::type* type;
-};
-
-//////////////////////////////////////
-//             add_const
-//////////////////////////////////////
-template<class T>
-struct add_const
-{
-   typedef const T type;
-};
-
-template<class T>
-struct add_const<T&>
-{
-   typedef const T& type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template<class T>
-struct add_const<T&&>
-{
-   typedef T&& type;
-};
-
-#endif
-
-//////////////////////////////////////
-//      add_lvalue_reference
-//////////////////////////////////////
-template<class T>
-struct add_lvalue_reference
-{  typedef T& type;  };
-
-template<class T> struct add_lvalue_reference<T&>                 {  typedef T& type;  };
-template<>        struct add_lvalue_reference<void>               {  typedef void type;   };
-template<>        struct add_lvalue_reference<const void>         {  typedef const void type;  };
-template<>        struct add_lvalue_reference<volatile void>      {  typedef volatile void type;   };
-template<>        struct add_lvalue_reference<const volatile void>{  typedef const volatile void type;   };
-
-template<class T>
-struct add_const_lvalue_reference
-{
-   typedef typename remove_reference<T>::type         t_unreferenced;
-   typedef typename add_const<t_unreferenced>::type   t_unreferenced_const;
-   typedef typename add_lvalue_reference
-      <t_unreferenced_const>::type                    type;
-};
-
-//////////////////////////////////////
-//             is_lvalue_reference
-//////////////////////////////////////
-template<class T>
-struct is_lvalue_reference
-{
-    static const bool value = false;
-};
-
-template<class T>
-struct is_lvalue_reference<T&>
-{
-    static const bool value = true;
-};
-
-
-//////////////////////////////////////
-//             identity
-//////////////////////////////////////
-template <class T>
-struct identity
-{
-   typedef T type;
-   typedef typename add_const_lvalue_reference<T>::type reference;
-   reference operator()(reference t)
-   {  return t;   }
-};
-
-//////////////////////////////////////
-//          is_class_or_union
-//////////////////////////////////////
-template<class T>
-struct is_class_or_union
-{
-   struct twochar { char dummy[2]; };
-   template <class U>
-   static char is_class_or_union_tester(void(U::*)(void));
-   template <class U>
-   static twochar is_class_or_union_tester(...);
-   static const bool value = sizeof(is_class_or_union_tester<T>(0)) == sizeof(char);
-};
-
-//////////////////////////////////////
-//             addressof
-//////////////////////////////////////
-template<class T>
-struct addr_impl_ref
-{
-   T & v_;
-   BOOST_MOVE_FORCEINLINE addr_impl_ref( T & v ): v_( v ) {}
-   BOOST_MOVE_FORCEINLINE operator T& () const { return v_; }
-
-   private:
-   addr_impl_ref & operator=(const addr_impl_ref &);
-};
-
-template<class T>
-struct addressof_impl
-{
-   BOOST_MOVE_FORCEINLINE static T * f( T & v, long )
-   {
-      return reinterpret_cast<T*>(
-         &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
-   }
-
-   BOOST_MOVE_FORCEINLINE static T * f( T * v, int )
-   {  return v;  }
-};
-
-template<class T>
-BOOST_MOVE_FORCEINLINE T * addressof( T & v )
-{
-   return ::boost::move_detail::addressof_impl<T>::f
-      ( ::boost::move_detail::addr_impl_ref<T>( v ), 0 );
-}
-
-//////////////////////////////////////
-//          has_pointer_type
-//////////////////////////////////////
-template <class T>
-struct has_pointer_type
-{
-   struct two { char c[2]; };
-   template <class U> static two test(...);
-   template <class U> static char test(typename U::pointer* = 0);
-   static const bool value = sizeof(test<T>(0)) == 1;
-};
-
-//////////////////////////////////////
-//           is_convertible
-//////////////////////////////////////
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-
-//use intrinsic since in MSVC
-//overaligned types can't go through ellipsis
-template <class T, class U>
-struct is_convertible
-{
-   static const bool value = __is_convertible_to(T, U);
-};
-
-#else
-
-template <class T, class U>
-class is_convertible
-{
-   typedef typename add_lvalue_reference<T>::type t_reference;
-   typedef char true_t;
-   class false_t { char dummy[2]; };
-   static false_t dispatch(...);
-   static true_t  dispatch(U);
-   static t_reference       trigger();
-   public:
-   static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t);
-};
-
-#endif
-
-template <class T, class U, bool IsSame = is_same<T, U>::value>
-struct is_same_or_convertible
-   : is_convertible<T, U>
-{};
-
-template <class T, class U>
-struct is_same_or_convertible<T, U, true>
-{
-   static const bool value = true;
-};
-
-template<
-      bool C
-    , typename F1
-    , typename F2
-    >
-struct eval_if_c
-    : if_c<C,F1,F2>::type
-{};
-
-template<
-      typename C
-    , typename T1
-    , typename T2
-    >
-struct eval_if
-    : if_<C,T1,T2>::type
-{};
-
-
-#if defined(BOOST_GCC) && (BOOST_GCC <= 40000)
-#define BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN
-#endif
-
-template<class T, class U, class R = void>
-struct enable_if_convertible
-   : enable_if< is_convertible<T, U>, R>
-{};
-
-template<class T, class U, class R = void>
-struct disable_if_convertible
-   : disable_if< is_convertible<T, U>, R>
-{};
-
-template<class T, class U, class R = void>
-struct enable_if_same_or_convertible
-   : enable_if< is_same_or_convertible<T, U>, R>
-{};
-
-template<class T, class U, class R = void>
-struct disable_if_same_or_convertible
-   : disable_if< is_same_or_convertible<T, U>, R>
-{};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                         and_
-//
-//////////////////////////////////////////////////////////////////////////////
-template<bool, class B = true_, class C = true_, class D = true_>
-struct and_impl
-   : and_impl<B::value, C, D>
-{};
-
-template<>
-struct and_impl<true, true_, true_, true_>
-{
-   static const bool value = true;
-};
-
-template<class B, class C, class D>
-struct and_impl<false, B, C, D>
-{
-   static const bool value = false;
-};
-
-template<class A, class B, class C = true_, class D = true_>
-struct and_
-   : and_impl<A::value, B, C, D>
-{};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            or_
-//
-//////////////////////////////////////////////////////////////////////////////
-template<bool, class B = false_, class C = false_, class D = false_>
-struct or_impl
-   : or_impl<B::value, C, D>
-{};
-
-template<>
-struct or_impl<false, false_, false_, false_>
-{
-   static const bool value = false;
-};
-
-template<class B, class C, class D>
-struct or_impl<true, B, C, D>
-{
-   static const bool value = true;
-};
-
-template<class A, class B, class C = false_, class D = false_>
-struct or_
-   : or_impl<A::value, B, C, D>
-{};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                         not_
-//
-//////////////////////////////////////////////////////////////////////////////
-template<class T>
-struct not_
-{
-   static const bool value = !T::value;
-};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-// enable_if_and / disable_if_and / enable_if_or / disable_if_or
-//
-//////////////////////////////////////////////////////////////////////////////
-
-template<class R, class A, class B, class C = true_, class D = true_>
-struct enable_if_and
-   : enable_if_c< and_<A, B, C, D>::value, R>
-{};
-
-template<class R, class A, class B, class C = true_, class D = true_>
-struct disable_if_and
-   : disable_if_c< and_<A, B, C, D>::value, R>
-{};
-
-template<class R, class A, class B, class C = false_, class D = false_>
-struct enable_if_or
-   : enable_if_c< or_<A, B, C, D>::value, R>
-{};
-
-template<class R, class A, class B, class C = false_, class D = false_>
-struct disable_if_or
-   : disable_if_c< or_<A, B, C, D>::value, R>
-{};
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                      has_move_emulation_enabled_impl
-//
-//////////////////////////////////////////////////////////////////////////////
-template<class T>
-struct has_move_emulation_enabled_impl
-   : is_convertible< T, ::boost::rv<T>& >
-{};
-
-template<class T>
-struct has_move_emulation_enabled_impl<T&>
-{  static const bool value = false;  };
-
-template<class T>
-struct has_move_emulation_enabled_impl< ::boost::rv<T> >
-{  static const bool value = false;  };
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            is_rv_impl
-//
-//////////////////////////////////////////////////////////////////////////////
-
-template <class T>
-struct is_rv_impl
-{  static const bool value = false;  };
-
-template <class T>
-struct is_rv_impl< rv<T> >
-{  static const bool value = true;  };
-
-template <class T>
-struct is_rv_impl< const rv<T> >
-{  static const bool value = true;  };
-
-// Code from Jeffrey Lee Hellrung, many thanks
-
-template< class T >
-struct is_rvalue_reference
-{  static const bool value = false;  };
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template< class T >
-struct is_rvalue_reference< T&& >
-{  static const bool value = true;  };
-
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template< class T >
-struct is_rvalue_reference< boost::rv<T>& >
-{  static const bool value = true;  };
-
-template< class T >
-struct is_rvalue_reference< const boost::rv<T>& >
-{  static const bool value = true;  };
-
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template< class T >
-struct add_rvalue_reference
-{ typedef T&& type; };
-
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-namespace detail_add_rvalue_reference
-{
-   template< class T
-            , bool emulation = has_move_emulation_enabled_impl<T>::value
-            , bool rv        = is_rv_impl<T>::value  >
-   struct add_rvalue_reference_impl { typedef T type; };
-
-   template< class T, bool emulation>
-   struct add_rvalue_reference_impl< T, emulation, true > { typedef T & type; };
-
-   template< class T, bool rv >
-   struct add_rvalue_reference_impl< T, true, rv > { typedef ::boost::rv<T>& type; };
-} // namespace detail_add_rvalue_reference
-
-template< class T >
-struct add_rvalue_reference
-   : detail_add_rvalue_reference::add_rvalue_reference_impl<T>
-{ };
-
-template< class T >
-struct add_rvalue_reference<T &>
-{  typedef T & type; };
-
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template< class T > struct remove_rvalue_reference { typedef T type; };
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-   template< class T > struct remove_rvalue_reference< T&& >                  { typedef T type; };
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-   template< class T > struct remove_rvalue_reference< rv<T> >                { typedef T type; };
-   template< class T > struct remove_rvalue_reference< const rv<T> >          { typedef T type; };
-   template< class T > struct remove_rvalue_reference< volatile rv<T> >       { typedef T type; };
-   template< class T > struct remove_rvalue_reference< const volatile rv<T> > { typedef T type; };
-   template< class T > struct remove_rvalue_reference< rv<T>& >               { typedef T type; };
-   template< class T > struct remove_rvalue_reference< const rv<T>& >         { typedef T type; };
-   template< class T > struct remove_rvalue_reference< volatile rv<T>& >      { typedef T type; };
-   template< class T > struct remove_rvalue_reference< const volatile rv<T>& >{ typedef T type; };
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-// Ideas from Boost.Move review, Jeffrey Lee Hellrung:
-//
-//- TypeTraits metafunctions is_lvalue_reference, add_lvalue_reference, and remove_lvalue_reference ?
-//  Perhaps add_reference and remove_reference can be modified so that they behave wrt emulated rvalue
-//  references the same as wrt real rvalue references, i.e., add_reference< rv<T>& > -> T& rather than
-//  rv<T>& (since T&& & -> T&).
-//
-//- Add'l TypeTraits has_[trivial_]move_{constructor,assign}...?
-//
-//- An as_lvalue(T& x) function, which amounts to an identity operation in C++0x, but strips emulated
-//  rvalue references in C++03.  This may be necessary to prevent "accidental moves".
-
-}  //namespace move_detail {
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/meta_utils_core.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/meta_utils_core.hpp
deleted file mode 100644
index 4d715a0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/meta_utils_core.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2015.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_DETAIL_META_UTILS_CORE_HPP
-#define BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-//Small meta-typetraits to support move
-
-namespace boost {
-namespace move_detail {
-
-//////////////////////////////////////
-//             if_c
-//////////////////////////////////////
-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;
-};
-
-//////////////////////////////////////
-//             if_
-//////////////////////////////////////
-template<typename T1, typename T2, typename T3>
-struct if_ : if_c<0 != T1::value, T2, T3>
-{};
-
-//////////////////////////////////////
-//          enable_if_c
-//////////////////////////////////////
-template <bool B, class T = void>
-struct enable_if_c
-{
-   typedef T type;
-};
-
-template <class T>
-struct enable_if_c<false, T> {};
-
-//////////////////////////////////////
-//           enable_if
-//////////////////////////////////////
-template <class Cond, class T = void>
-struct enable_if : enable_if_c<Cond::value, T> {};
-
-//////////////////////////////////////
-//          disable_if_c
-//////////////////////////////////////
-template <bool B, class T = void>
-struct disable_if_c
-   : enable_if_c<!B, T>
-{};
-
-//////////////////////////////////////
-//          disable_if
-//////////////////////////////////////
-template <class Cond, class T = void>
-struct disable_if : 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;
-
-     operator T() const { return value; }
-   T operator()() const { return value; }
-};
-
-typedef integral_constant<bool, true >  true_type;
-typedef integral_constant<bool, false > false_type;
-
-
-//////////////////////////////////////
-//             is_same
-//////////////////////////////////////
-template<class T, class U>
-struct is_same
-{
-   static const bool value = false;
-};
- 
-template<class T>
-struct is_same<T, T>
-{
-   static const bool value = true;
-};
-
-}  //namespace move_detail {
-}  //namespace boost {
-
-#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/move_helpers.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/move_helpers.hpp
deleted file mode 100644
index a2502bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/move_helpers.hpp
+++ /dev/null
@@ -1,256 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2010-2016.
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_MOVE_HELPERS_HPP
-#define BOOST_MOVE_MOVE_HELPERS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/move/detail/type_traits.hpp>
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-#define BOOST_MOVE_CATCH_CONST(U)  \
-   typename ::boost::move_detail::if_< ::boost::move_detail::is_class<U>, BOOST_CATCH_CONST_RLVALUE(U), const U &>::type
-#define BOOST_MOVE_CATCH_RVALUE(U)\
-   typename ::boost::move_detail::if_< ::boost::move_detail::is_class<U>, BOOST_RV_REF(U), ::boost::move_detail::nat>::type
-#define BOOST_MOVE_CATCH_FWD(U) BOOST_FWD_REF(U)
-#else
-#define BOOST_MOVE_CATCH_CONST(U)  const U &
-#define BOOST_MOVE_CATCH_RVALUE(U) U &&
-#define BOOST_MOVE_CATCH_FWD(U)    U &&
-#endif
-
-////////////////////////////////////////
-//
-// BOOST_MOVE_CONVERSION_AWARE_CATCH
-//
-////////////////////////////////////////
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-   template<class RETURN_VALUE, class BOOST_MOVE_TEMPL_PARAM, class TYPE>
-   struct boost_move_conversion_aware_catch_1
-      : public ::boost::move_detail::enable_if_and
-                        < RETURN_VALUE
-                        , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>
-                        , ::boost::move_detail::is_class<TYPE>
-                        , ::boost::has_move_emulation_disabled<BOOST_MOVE_TEMPL_PARAM>
-                        >
-   {};
-
-   template<class RETURN_VALUE, class BOOST_MOVE_TEMPL_PARAM, class TYPE>
-   struct boost_move_conversion_aware_catch_2
-      : public ::boost::move_detail::disable_if_or
-                        < RETURN_VALUE
-                        , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM> 
-                        , ::boost::move_detail::is_rv_impl<BOOST_MOVE_TEMPL_PARAM>
-                        , ::boost::move_detail::and_
-                                    < ::boost::move_detail::is_rv_impl<BOOST_MOVE_TEMPL_PARAM>
-                                    , ::boost::move_detail::is_class<BOOST_MOVE_TEMPL_PARAM>
-                                    >
-                        >
-   {};
-
-   #define BOOST_MOVE_CONVERSION_AWARE_CATCH_COMMON(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-      RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\
-      {  return FWD_FUNCTION(static_cast<const TYPE&>(x)); }\
-      \
-      RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \
-      {  return FWD_FUNCTION(::boost::move(x));  }\
-      \
-      RETURN_VALUE PUB_FUNCTION(TYPE &x)\
-      {  return FWD_FUNCTION(const_cast<const TYPE &>(x)); }\
-   //
-   #if defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
-      #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-         BOOST_MOVE_CONVERSION_AWARE_CATCH_COMMON(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         RETURN_VALUE PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u,\
-            typename boost_move_conversion_aware_catch_1< ::boost::move_detail::nat, BOOST_MOVE_TEMPL_PARAM, TYPE>::type* = 0)\
-         { return FWD_FUNCTION(u); }\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         RETURN_VALUE PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u,\
-            typename boost_move_conversion_aware_catch_2< ::boost::move_detail::nat, BOOST_MOVE_TEMPL_PARAM, TYPE>::type* = 0)\
-         {\
-            TYPE t((u));\
-            return FWD_FUNCTION(::boost::move(t));\
-         }\
-      //
-   #else
-      #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-         BOOST_MOVE_CONVERSION_AWARE_CATCH_COMMON(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         typename boost_move_conversion_aware_catch_1<RETURN_VALUE, BOOST_MOVE_TEMPL_PARAM, TYPE>::type\
-            PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\
-         { return FWD_FUNCTION(u); }\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         typename boost_move_conversion_aware_catch_2<RETURN_VALUE, BOOST_MOVE_TEMPL_PARAM, TYPE>::type\
-            PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\
-         {\
-            TYPE t((u));\
-            return FWD_FUNCTION(::boost::move(t));\
-         }\
-      //
-   #endif
-#elif (defined(_MSC_VER) && (_MSC_VER == 1600))
-
-   #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-      RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\
-      {  return FWD_FUNCTION(static_cast<const TYPE&>(x)); }\
-      \
-      RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \
-      {  return FWD_FUNCTION(::boost::move(x));  }\
-      \
-      template<class BOOST_MOVE_TEMPL_PARAM>\
-      typename ::boost::move_detail::enable_if_c\
-                        < !::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value\
-                        , RETURN_VALUE >::type\
-      PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\
-      {\
-         TYPE t((u));\
-         return FWD_FUNCTION(::boost::move(t));\
-      }\
-   //
-
-#else    //BOOST_NO_CXX11_RVALUE_REFERENCES
-
-   #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\
-      RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\
-      {  return FWD_FUNCTION(static_cast<const TYPE&>(x)); }\
-      \
-      RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \
-      {  return FWD_FUNCTION(::boost::move(x));  }\
-   //
-
-#endif   //BOOST_NO_CXX11_RVALUE_REFERENCES
-
-////////////////////////////////////////
-//
-// BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG
-//
-////////////////////////////////////////
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-   template<class RETURN_VALUE, class BOOST_MOVE_TEMPL_PARAM, class UNLESS_CONVERTIBLE_TO, class TYPE>
-   struct boost_move_conversion_aware_catch_1arg_1
-      : public ::boost::move_detail::enable_if_and
-                        < RETURN_VALUE
-                        , ::boost::move_detail::not_< ::boost::move_detail::is_same_or_convertible<BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO> >
-                        , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>
-                        , ::boost::has_move_emulation_disabled<BOOST_MOVE_TEMPL_PARAM>
-                        >
-   {};
-
-   template<class RETURN_VALUE, class BOOST_MOVE_TEMPL_PARAM, class UNLESS_CONVERTIBLE_TO, class TYPE>
-   struct boost_move_conversion_aware_catch_1arg_2
-      : public ::boost::move_detail::disable_if_or
-                        < RETURN_VALUE
-                        , ::boost::move_detail::is_same_or_convertible< BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO>
-                        , ::boost::move_detail::is_rv_impl<BOOST_MOVE_TEMPL_PARAM>
-                        , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>
-                        >
-   {};
-
-   #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG_COMMON(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\
-      {  return FWD_FUNCTION(arg1, static_cast<const TYPE&>(x)); }\
-      \
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \
-      {  return FWD_FUNCTION(arg1, ::boost::move(x));  }\
-      \
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, TYPE &x)\
-      {  return FWD_FUNCTION(arg1, const_cast<const TYPE &>(x)); }\
-   //
-   #if defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
-      #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-         BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG_COMMON(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         RETURN_VALUE PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u,\
-            typename boost_move_conversion_aware_catch_1arg_1<void, BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO, TYPE>::type* = 0)\
-         { return FWD_FUNCTION(arg1, u); }\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         RETURN_VALUE PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u,\
-            typename boost_move_conversion_aware_catch_1arg_2<void, BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO, TYPE>::type* = 0)\
-         {\
-            TYPE t((u));\
-            return FWD_FUNCTION(arg1, ::boost::move(t));\
-         }\
-      //
-   #else
-      #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-         BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG_COMMON(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         typename boost_move_conversion_aware_catch_1arg_1<RETURN_VALUE, BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO, TYPE>::type\
-            PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\
-         { return FWD_FUNCTION(arg1, u); }\
-         \
-         template<class BOOST_MOVE_TEMPL_PARAM>\
-         typename boost_move_conversion_aware_catch_1arg_2<RETURN_VALUE, BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO, TYPE>::type\
-            PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\
-         {\
-            TYPE t((u));\
-            return FWD_FUNCTION(arg1, ::boost::move(t));\
-         }\
-      //
-   #endif
-
-#elif (defined(_MSC_VER) && (_MSC_VER == 1600))
-
-   #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\
-      {  return FWD_FUNCTION(arg1, static_cast<const TYPE&>(x)); }\
-      \
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \
-      {  return FWD_FUNCTION(arg1, ::boost::move(x));  }\
-      \
-      template<class BOOST_MOVE_TEMPL_PARAM>\
-      typename ::boost::move_detail::disable_if_or\
-                        < RETURN_VALUE \
-                        , ::boost::move_detail::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM> \
-                        , ::boost::move_detail::is_same_or_convertible<BOOST_MOVE_TEMPL_PARAM, UNLESS_CONVERTIBLE_TO> \
-                        >::type\
-      PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\
-      {\
-         TYPE t((u));\
-         return FWD_FUNCTION(arg1, ::boost::move(t));\
-      }\
-   //
-
-#else
-
-   #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\
-      {  return FWD_FUNCTION(arg1, static_cast<const TYPE&>(x)); }\
-      \
-      RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \
-      {  return FWD_FUNCTION(arg1, ::boost::move(x));  }\
-   //
-
-#endif
-
-#endif //#ifndef BOOST_MOVE_MOVE_HELPERS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/placement_new.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/placement_new.hpp
deleted file mode 100644
index 69d3332..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/placement_new.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef BOOST_MOVE_DETAIL_PLACEMENT_NEW_HPP
-#define BOOST_MOVE_DETAIL_PLACEMENT_NEW_HPP
-///////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2015. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/container for documentation.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-struct boost_move_new_t{};
-
-//avoid including <new>
-inline void *operator new(std::size_t, void *p, boost_move_new_t)
-{  return p;  }
-
-inline void operator delete(void *, void *, boost_move_new_t)
-{}
-
-#endif   //BOOST_MOVE_DETAIL_PLACEMENT_NEW_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/std_ns_begin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/std_ns_begin.hpp
deleted file mode 100644
index a768e61..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/std_ns_begin.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#//////////////////////////////////////////////////////////////////////////////
-#//
-#// (C) Copyright Ion Gaztanaga 2015-2015.
-#// Distributed under the Boost Software License, Version 1.0.
-#// (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.
-#//
-#//////////////////////////////////////////////////////////////////////////////
-#
-#if defined(_LIBCPP_VERSION)
-   #if defined(__clang__)
-      #define BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
-      #pragma GCC diagnostic push
-      #pragma GCC diagnostic ignored "-Wc++11-extensions"
-   #endif
-   #define BOOST_MOVE_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD
-   #define BOOST_MOVE_STD_NS_END _LIBCPP_END_NAMESPACE_STD
-#elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE_VERSION)  //GCC >= 4.6
-   #define BOOST_MOVE_STD_NS_BEG namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION
-   #define BOOST_MOVE_STD_NS_END _GLIBCXX_END_NAMESPACE_VERSION  } // namespace
-#elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE)  //GCC >= 4.2
-   #define BOOST_MOVE_STD_NS_BEG _GLIBCXX_BEGIN_NAMESPACE(std)
-   #define BOOST_MOVE_STD_NS_END _GLIBCXX_END_NAMESPACE
-#else
-   #define BOOST_MOVE_STD_NS_BEG namespace std{
-   #define BOOST_MOVE_STD_NS_END }
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/std_ns_end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/std_ns_end.hpp
deleted file mode 100644
index 0975059..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/std_ns_end.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#//////////////////////////////////////////////////////////////////////////////
-#//
-#// (C) Copyright Ion Gaztanaga 2015-2015.
-#// Distributed under the Boost Software License, Version 1.0.
-#// (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.
-#//
-#//////////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
-   #pragma GCC diagnostic pop
-   #undef BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
-#endif   //BOOST_MOVE_STD_NS_GCC_DIAGNOSTIC_PUSH
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/type_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/type_traits.hpp
deleted file mode 100644
index 816fdca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/type_traits.hpp
+++ /dev/null
@@ -1,1078 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// (C) Copyright John Maddock 2000.
-// (C) Copyright Ion Gaztanaga 2005-2015.
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (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.
-//
-// The alignment and Type traits implementation comes from
-// John Maddock's TypeTraits library.
-//
-// Some other tricks come from Howard Hinnant's papers and StackOverflow replies
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_MOVE_DETAIL_TYPE_TRAITS_HPP
-#define BOOST_MOVE_DETAIL_TYPE_TRAITS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>
-
-// move/detail
-#include <boost/move/detail/meta_utils.hpp>
-// other
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-// std
-#include <cstddef>
-
-//Use of Boost.TypeTraits leads to long preprocessed source code due to
-//MPL dependencies. We'll use intrinsics directly and make or own
-//simplified version of TypeTraits.
-//If someday Boost.TypeTraits dependencies are minimized, we should
-//revisit this file redirecting code to Boost.TypeTraits traits.
-
-//These traits don't care about volatile, reference or other checks
-//made by Boost.TypeTraits because no volatile or reference types
-//can be hold in Boost.Containers. This helps to avoid any Boost.TypeTraits
-//dependency.
-
-// 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_MOVE_IS_POD(T) should evaluate to true if T is a POD type
-// BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect
-// BOOST_MOVE_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy
-// BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy
-// BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
-// BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy
-// BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect
-// BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw
-// BOOST_MOVE_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
-// BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw
-// BOOST_MOVE_IS_ENUM(T) should evaluate to true it t is a union type.
-//
-// The following can also be defined: when detected our implementation is greatly simplified.
-//
-// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.
-
-#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_MOVE_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union<T>::value
-#   define BOOST_MOVE_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD<T>::value
-#   define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor<T>::value
-#   define BOOST_MOVE_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor<T>::value
-#   define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment<T>::value
-#   define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor<T>::value
-#endif
-
-#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\
-         || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
-#   define BOOST_MOVE_IS_UNION(T) __is_union(T)
-#   define BOOST_MOVE_IS_POD(T)                    (__is_pod(T) && __has_trivial_constructor(T))
-#   define BOOST_MOVE_IS_EMPTY(T)                  __is_empty(T)
-#   define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T)   __has_trivial_constructor(T)
-#   define BOOST_MOVE_HAS_TRIVIAL_COPY(T)          (__has_trivial_copy(T)|| ::boost::move_detail::is_pod<T>::value)
-#   define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T)        (__has_trivial_assign(T) || ::boost::move_detail::is_pod<T>::value)
-#   define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T)    (__has_trivial_destructor(T) || ::boost::move_detail::is_pod<T>::value)
-#   define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T)   (__has_nothrow_constructor(T) || ::boost::move_detail::is_trivially_default_constructible<T>::value)
-#   define BOOST_MOVE_HAS_NOTHROW_COPY(T)          (__has_nothrow_copy(T) || ::boost::move_detail::is_trivially_copy_constructible<T>::value)
-#   define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T)        (__has_nothrow_assign(T) || ::boost::move_detail::is_trivially_copy_assignable<T>::value)
-
-#   define BOOST_MOVE_IS_ENUM(T) __is_enum(T)
-#   if defined(_MSC_VER) && (_MSC_VER >= 1700)
-#       define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T)   (__has_trivial_move_constructor(T) || ::boost::move_detail::is_pod<T>::value)
-#       define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T)        (__has_trivial_move_assign(T) || ::boost::move_detail::is_pod<T>::value)
-#   endif
-#endif
-
-#if defined(BOOST_CLANG) && defined(__has_feature)
-
-#   if __has_feature(is_union)
-#     define BOOST_MOVE_IS_UNION(T) __is_union(T)
-#   endif
-#   if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod)
-#     define BOOST_MOVE_IS_POD(T) __is_pod(T)
-#   endif
-#   if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty)
-#     define BOOST_MOVE_IS_EMPTY(T) __is_empty(T)
-#   endif
-#   if __has_feature(has_trivial_constructor)
-#     define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   endif
-#   if __has_feature(has_trivial_copy)
-#     //There are problems with deleted copy constructors detected as trivially copyable.
-#     //http://stackoverflow.com/questions/12754886/has-trivial-copy-behaves-differently-in-clang-and-gcc-whos-right
-#     define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && ::boost::move_detail::is_copy_constructible<T>::value)
-#   endif
-#   if __has_feature(has_trivial_assign)
-#     define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) )
-#   endif
-#   if __has_feature(has_trivial_destructor)
-#     define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-#   endif
-#   if __has_feature(has_nothrow_constructor)
-#     define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-#   endif
-#   if __has_feature(has_nothrow_copy)
-#     define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T))
-#   endif
-#   if __has_feature(is_nothrow_copy_assignable)
-#     define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T))
-#   endif
-#   if __has_feature(is_enum)
-#     define BOOST_MOVE_IS_ENUM(T) __is_enum(T)
-#   endif
-#   if __has_feature(has_trivial_move_constructor)
-#     define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
-#   endif
-#   if __has_feature(has_trivial_move_assign)
-#     define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
-#   endif
-#   define BOOST_MOVE_ALIGNMENT_OF(T) __alignof(T)
-#endif
-
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG)
-
-#ifdef BOOST_INTEL
-#  define BOOST_MOVE_INTEL_TT_OPTS || ::boost::move_detail::is_pod<T>::value
-#else
-#  define BOOST_MOVE_INTEL_TT_OPTS
-#endif
-
-#   define BOOST_MOVE_IS_UNION(T) __is_union(T)
-#   define BOOST_MOVE_IS_POD(T) __is_pod(T)
-#   define BOOST_MOVE_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_MOVE_INTEL_TT_OPTS))
-#   define BOOST_MOVE_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_MOVE_INTEL_TT_OPTS))
-#   define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_MOVE_INTEL_TT_OPTS) )
-#   define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_MOVE_INTEL_TT_OPTS)
-#   define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_MOVE_INTEL_TT_OPTS)
-#   define BOOST_MOVE_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_MOVE_INTEL_TT_OPTS))
-#   define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_MOVE_INTEL_TT_OPTS))
-
-#   define BOOST_MOVE_IS_ENUM(T) __is_enum(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_MOVE_ALIGNMENT_OF(T) __alignof__(T)
-#   endif
-#endif
-
-#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
-
-#   define BOOST_MOVE_IS_UNION(T) __is_union(T)
-#   define BOOST_MOVE_IS_POD(T) __is_pod(T)
-#   define BOOST_MOVE_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T))
-#   define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T))
-#   define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-#   define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-#   define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T))
-#   define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T))
-
-#   define BOOST_MOVE_IS_ENUM(T) __is_enum(T)
-#   define BOOST_MOVE_ALIGNMENT_OF(T) __alignof__(T)
-#endif
-
-# if defined(__CODEGEARC__)
-#   define BOOST_MOVE_IS_UNION(T) __is_union(T)
-#   define BOOST_MOVE_IS_POD(T) __is_pod(T)
-#   define BOOST_MOVE_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T))
-#   define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T))
-#   define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T))
-#   define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T))
-#   define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T))
-#   define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T))
-#   define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T))
-
-#   define BOOST_MOVE_IS_ENUM(T) __is_enum(T)
-#   define BOOST_MOVE_ALIGNMENT_OF(T) alignof(T)
-
-#endif
-
-//Fallback definitions
-
-#ifdef BOOST_MOVE_IS_UNION
-   #define BOOST_MOVE_IS_UNION_IMPL(T) BOOST_MOVE_IS_UNION(T)
-#else
-   #define BOOST_MOVE_IS_UNION_IMPL(T) false
-#endif
-
-#ifdef BOOST_MOVE_IS_POD
-   //in some compilers the intrinsic is limited to class types so add scalar and void
-   #define BOOST_MOVE_IS_POD_IMPL(T) (::boost::move_detail::is_scalar<T>::value ||\
-                                      ::boost::move_detail::is_void<T>::value   ||\
-                                       BOOST_MOVE_IS_POD(T))
-#else
-   #define BOOST_MOVE_IS_POD_IMPL(T) \
-      (::boost::move_detail::is_scalar<T>::value || ::boost::move_detail::is_void<T>::value)
-#endif
-
-#ifdef BOOST_MOVE_IS_EMPTY
-   #define BOOST_MOVE_IS_EMPTY_IMPL(T) BOOST_MOVE_IS_EMPTY(T)
-#else
-   #define BOOST_MOVE_IS_EMPTY_IMPL(T)    ::boost::move_detail::is_empty_nonintrinsic<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_COPY
-   #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T)   BOOST_MOVE_HAS_TRIVIAL_COPY(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T)   ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR
-   #define BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T)  BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T)  ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_COPY
-   #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T)   BOOST_MOVE_HAS_TRIVIAL_COPY(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T)   ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR
-   #define BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T)   BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T)   ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_ASSIGN
-   #define BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN
-   #define BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T)  BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T)  ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR
-   #define BOOST_MOVE_IS_TRIVIALLY_DESTRUCTIBLE(T)   BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T)
-#else
-   #define BOOST_MOVE_IS_TRIVIALLY_DESTRUCTIBLE(T)   ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR
-   #define BOOST_MOVE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE(T)  BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T)
-#else
-   #define BOOST_MOVE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE(T)  ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_NOTHROW_COPY
-   #define BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T)   BOOST_MOVE_HAS_NOTHROW_COPY(T)
-#else
-   #define BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T)   ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_NOTHROW_MOVE
-   #define BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T)   BOOST_MOVE_HAS_NOTHROW_MOVE(T)
-#else
-   #define BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T)   ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_NOTHROW_ASSIGN
-   #define BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T) BOOST_MOVE_HAS_NOTHROW_ASSIGN(T)
-#else
-   #define BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T) ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN
-   #define BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T) BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T)
-#else
-   #define BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T) ::boost::move_detail::is_pod<T>::value
-#endif
-
-#ifdef BOOST_MOVE_IS_ENUM
-   #define BOOST_MOVE_IS_ENUM_IMPL(T)   BOOST_MOVE_IS_ENUM(T)
-#else
-   #define BOOST_MOVE_IS_ENUM_IMPL(T)   ::boost::move_detail::is_enum_nonintrinsic<T>::value
-#endif
-
-namespace boost {
-namespace move_detail {
-
-//////////////////////////
-//    is_reference
-//////////////////////////
-template<class T>
-struct is_reference
-{  static const bool value = false; };
-
-template<class T>
-struct is_reference<T&>
-{  static const bool value = true; };
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-template<class T>
-struct is_reference<T&&>
-{  static const bool value = true; };
-#endif
-
-//////////////////////////
-//    is_pointer
-//////////////////////////
-template<class T>
-struct is_pointer
-{  static const bool value = false; };
-
-template<class T>
-struct is_pointer<T*>
-{  static const bool value = true; };
-
-//////////////////////////
-//       is_const
-//////////////////////////
-template<class T>
-struct is_const
-{  static const bool value = false; };
-
-template<class T>
-struct is_const<const T>
-{  static const bool value = true; };
-
-//////////////////////////
-//       unvoid_ref
-//////////////////////////
-template <typename T> struct unvoid_ref : add_lvalue_reference<T>{};
-template <> struct unvoid_ref<void>                { typedef unvoid_ref & type; };
-template <> struct unvoid_ref<const void>          { typedef unvoid_ref & type; };
-template <> struct unvoid_ref<volatile void>       { typedef unvoid_ref & type; };
-template <> struct unvoid_ref<const volatile void> { typedef unvoid_ref & type; };
-
-template <typename T>
-struct add_reference : add_lvalue_reference<T>
-{};
-
-//////////////////////////
-//    add_const_reference
-//////////////////////////
-template <class T>
-struct add_const_reference
-{  typedef const T &type;   };
-
-template <class T>
-struct add_const_reference<T&>
-{  typedef T& type;   };
-
-//////////////////////////
-//    add_const_if_c
-//////////////////////////
-template<class T, bool Add>
-struct add_const_if_c
-   : if_c<Add, typename add_const<T>::type, T>
-{};
-
-//////////////////////////
-//    remove_const
-//////////////////////////
-template<class T>
-struct remove_const
-{  typedef T type;   };
-
-template<class T>
-struct remove_const< const T>
-{  typedef T type;   };
-
-//////////////////////////
-//    remove_cv
-//////////////////////////
-template<typename T> struct remove_cv                    {  typedef T type;   };
-template<typename T> struct remove_cv<const T>           {  typedef T type;   };
-template<typename T> struct remove_cv<const volatile T>  {  typedef T type;   };
-template<typename T> struct remove_cv<volatile T>        {  typedef T type;   };
-
-//////////////////////////
-//    make_unsigned
-//////////////////////////
-template <class T>
-struct make_unsigned_impl                                         {  typedef T type;   };
-template <> struct make_unsigned_impl<signed char>                {  typedef unsigned char  type; };
-template <> struct make_unsigned_impl<signed short>               {  typedef unsigned short type; };
-template <> struct make_unsigned_impl<signed int>                 {  typedef unsigned int   type; };
-template <> struct make_unsigned_impl<signed long>                {  typedef unsigned long  type; };
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct make_unsigned_impl< ::boost::long_long_type >  {  typedef ::boost::ulong_long_type type; };
-#endif
-
-template <class T>
-struct make_unsigned
-   : make_unsigned_impl<typename remove_cv<T>::type>
-{};
-
-//////////////////////////
-//    is_floating_point
-//////////////////////////
-template<class T> struct is_floating_point_cv               {  static const bool value = false; };
-template<>        struct is_floating_point_cv<float>        {  static const bool value = true; };
-template<>        struct is_floating_point_cv<double>       {  static const bool value = true; };
-template<>        struct is_floating_point_cv<long double>  {  static const bool value = true; };
-
-template<class T>
-struct is_floating_point
-   : is_floating_point_cv<typename remove_cv<T>::type>
-{};
-
-//////////////////////////
-//    is_integral
-//////////////////////////
-template<class T> struct is_integral_cv                    {  static const bool value = false; };
-template<> struct is_integral_cv<                     bool>{  static const bool value = true; };
-template<> struct is_integral_cv<                     char>{  static const bool value = true; };
-template<> struct is_integral_cv<            unsigned char>{  static const bool value = true; };
-template<> struct is_integral_cv<              signed char>{  static const bool value = true; };
-#ifndef BOOST_NO_CXX11_CHAR16_T
-template<> struct is_integral_cv<                 char16_t>{  static const bool value = true; };
-#endif
-#ifndef BOOST_NO_CXX11_CHAR32_T
-template<> struct is_integral_cv<                 char32_t>{  static const bool value = true; };
-#endif
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<> struct is_integral_cv<                  wchar_t>{  static const bool value = true; };
-#endif
-template<> struct is_integral_cv<                    short>{  static const bool value = true; };
-template<> struct is_integral_cv<           unsigned short>{  static const bool value = true; };
-template<> struct is_integral_cv<                      int>{  static const bool value = true; };
-template<> struct is_integral_cv<             unsigned int>{  static const bool value = true; };
-template<> struct is_integral_cv<                     long>{  static const bool value = true; };
-template<> struct is_integral_cv<            unsigned long>{  static const bool value = true; };
-#ifdef BOOST_HAS_LONG_LONG
-template<> struct is_integral_cv< ::boost:: long_long_type>{  static const bool value = true; };
-template<> struct is_integral_cv< ::boost::ulong_long_type>{  static const bool value = true; };
-#endif
-
-template<class T>
-struct is_integral
-   : public is_integral_cv<typename remove_cv<T>::type>
-{};
-
-//////////////////////////////////////
-//          remove_all_extents
-//////////////////////////////////////
-template <class T>
-struct remove_all_extents
-{  typedef T type;};
-
-template <class T>
-struct remove_all_extents<T[]>
-{  typedef typename remove_all_extents<T>::type type; };
-
-template <class T, std::size_t N>
-struct remove_all_extents<T[N]>
-{  typedef typename remove_all_extents<T>::type type;};
-
-//////////////////////////
-//    is_scalar
-//////////////////////////
-template<class T>
-struct is_scalar
-{  static const bool value = is_integral<T>::value || is_floating_point<T>::value; };
-
-//////////////////////////
-//       is_void
-//////////////////////////
-template<class T>
-struct is_void_cv
-{  static const bool value = false; };
-
-template<>
-struct is_void_cv<void>
-{  static const bool value = true; };
-
-template<class T>
-struct is_void
-   : is_void_cv<typename remove_cv<T>::type>
-{};
-
-//////////////////////////////////////
-//          is_array
-//////////////////////////////////////
-template<class T>
-struct is_array
-{  static const bool value = false; };
-
-template<class T>
-struct is_array<T[]>
-{  static const bool value = true;  };
-
-template<class T, std::size_t N>
-struct is_array<T[N]>
-{  static const bool value = true;  };
-
-//////////////////////////////////////
-//           is_member_pointer
-//////////////////////////////////////
-template <class T>         struct is_member_pointer_cv         {  static const bool value = false; };
-template <class T, class U>struct is_member_pointer_cv<T U::*> {  static const bool value = true; };
-
-template <class T>
-struct is_member_pointer
-    : is_member_pointer_cv<typename remove_cv<T>::type>
-{};
-
-//////////////////////////////////////
-//          is_nullptr_t
-//////////////////////////////////////
-template <class T>
-struct is_nullptr_t_cv
-{  static const bool value = false; };
-
-#if !defined(BOOST_NO_CXX11_NULLPTR)
-template <>
-struct is_nullptr_t_cv
-   #if !defined(BOOST_NO_CXX11_DECLTYPE)
-   <decltype(nullptr)>
-   #else
-   <std::nullptr_t>
-   #endif
-{  static const bool value = true; };
-#endif
-
-template <class T>
-struct is_nullptr_t
-   : is_nullptr_t_cv<typename remove_cv<T>::type>
-{};
-
-//////////////////////////////////////
-//          is_function
-//////////////////////////////////////
-//Inspired by libc++, thanks to Howard Hinnant
-//For a function to pointer an lvalue of function type T can be implicitly converted to a prvalue
-//pointer to that function. This does not apply to non-static member functions because lvalues
-//that refer to non-static member functions do not exist.
-template <class T>
-struct is_reference_convertible_to_pointer
-{
-   struct twochar { char dummy[2]; };
-   template <class U> static char    test(U*);
-   template <class U> static twochar test(...);
-   static T& source();
-   static const bool value = sizeof(char) == sizeof(test<T>(source()));
-};
-//Filter out:
-// - class types that might have implicit conversions
-// - void (to avoid forming a reference to void later)
-// - references (e.g.: filtering reference to functions)
-// - nullptr_t (convertible to pointer)
-template < class T
-         , bool Filter = is_class_or_union<T>::value  ||
-                         is_void<T>::value            ||
-                         is_reference<T>::value       ||
-                         is_nullptr_t<T>::value       >
-struct is_function_impl
-{  static const bool value = is_reference_convertible_to_pointer<T>::value; };
-
-template <class T>
-struct is_function_impl<T, true>
-{  static const bool value = false; };
-
-template <class T>
-struct is_function
-   : is_function_impl<T>
-{};
-
-//////////////////////////////////////
-//       is_union
-//////////////////////////////////////
-template<class T>
-struct is_union_noextents_cv
-{  static const bool value = BOOST_MOVE_IS_UNION_IMPL(T); };
-
-template<class T>
-struct is_union
-   : is_union_noextents_cv<typename remove_cv<typename remove_all_extents<T>::type>::type>
-{};
-
-//////////////////////////////////////
-//             is_class
-//////////////////////////////////////
-template <class T>
-struct is_class
-{
-   static const bool value = is_class_or_union<T>::value && ! is_union<T>::value;
-};
-
-
-//////////////////////////////////////
-//             is_arithmetic
-//////////////////////////////////////
-template <class T>
-struct is_arithmetic
-{
-   static const bool value = is_floating_point<T>::value ||
-                             is_integral<T>::value;
-};
-
-//////////////////////////////////////
-//    is_member_function_pointer
-//////////////////////////////////////
-template <class T>
-struct is_member_function_pointer_cv
-{
-   static const bool value = false;
-};
-
-template <class T, class C>
-struct is_member_function_pointer_cv<T C::*>
-   : is_function<T>
-{};
-
-template <class T>
-struct is_member_function_pointer
-    : is_member_function_pointer_cv<typename remove_cv<T>::type>
-{};
-
-//////////////////////////////////////
-//             is_enum
-//////////////////////////////////////
-#if !defined(BOOST_MOVE_IS_ENUM)
-//Based on (http://howardhinnant.github.io/TypeHiearchy.pdf)
-template <class T>
-struct is_enum_nonintrinsic
-{
-   static const bool value =  !is_arithmetic<T>::value     &&
-                              !is_reference<T>::value      &&
-                              !is_class_or_union<T>::value &&
-                              !is_array<T>::value          &&
-                              !is_void<T>::value           &&
-                              !is_nullptr_t<T>::value      &&
-                              !is_member_pointer<T>::value &&
-                              !is_pointer<T>::value        &&
-                              !is_function<T>::value;
-};
-#endif
-
-template <class T>
-struct is_enum
-{  static const bool value = BOOST_MOVE_IS_ENUM_IMPL(T);  };
-
-//////////////////////////////////////
-//       is_pod
-//////////////////////////////////////
-template<class T>
-struct is_pod_noextents_cv  //for non-c++11 compilers, a safe fallback
-{  static const bool value = BOOST_MOVE_IS_POD_IMPL(T); };
-
-template<class T>
-struct is_pod
-   : is_pod_noextents_cv<typename remove_cv<typename remove_all_extents<T>::type>::type>
-{};
-
-//////////////////////////////////////
-//             is_empty
-//////////////////////////////////////
-#if !defined(BOOST_MOVE_IS_EMPTY)
-
-template <typename T>
-struct empty_helper_t1 : public T
-{
-   empty_helper_t1();  // hh compiler bug workaround
-   int i[256];
-   private:
-
-   empty_helper_t1(const empty_helper_t1&);
-   empty_helper_t1& operator=(const empty_helper_t1&);
-};
-
-struct empty_helper_t2 { int i[256]; };
-
-template <typename T, bool IsClass = is_class<T>::value >
-struct is_empty_nonintrinsic
-{
-   static const bool value = false;
-};
-
-template <typename T>
-struct is_empty_nonintrinsic<T, true>
-{
-   static const bool value = sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2);
-};
-#endif
-
-template <class T>
-struct is_empty
-{  static const bool value = BOOST_MOVE_IS_EMPTY_IMPL(T);  };
-
-
-template<class T>
-struct has_boost_move_no_copy_constructor_or_assign_type
-{
-   template <class U>
-   static yes_type test(typename U::boost_move_no_copy_constructor_or_assign*);
-
-   template <class U>
-   static no_type test(...);
-
-   static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
-};
-
-//////////////////////////////////////
-//       is_copy_constructible
-//////////////////////////////////////
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \
-   && !defined(BOOST_INTEL_CXX_VERSION) && \
-      !(defined(BOOST_MSVC) && _MSC_VER == 1800)
-#define BOOST_MOVE_TT_CXX11_IS_COPY_CONSTRUCTIBLE
-#endif
-
-template<class T>
-struct is_copy_constructible
-{
-   // Intel compiler has problems with SFINAE for copy constructors and deleted functions:
-   //
-   // error: function *function_name* cannot be referenced -- it is a deleted function
-   // static yes_type test(U&, decltype(U(boost::declval<U&>()))* = 0);
-   //                                                        ^ 
-   // MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See:
-   // https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken
-   #if defined(BOOST_MOVE_TT_CXX11_IS_COPY_CONSTRUCTIBLE)
-      template<class U> static typename add_reference<U>::type source();
-      static no_type test(...);
-      #ifdef BOOST_NO_CXX11_DECLTYPE
-         template <class U>
-         static yes_type test(U&, bool_<sizeof(U(source<U>()))>* = 0);
-      #else
-         template <class U>
-         static yes_type test(U&, decltype(U(source<U>()))* = 0);
-      #endif
-      static const bool value = sizeof(test(source<T>())) == sizeof(yes_type);
-   #else
-   static const bool value = !has_boost_move_no_copy_constructor_or_assign_type<T>::value;
-   #endif
-};
-
-
-//////////////////////////////////////
-//       is_copy_assignable
-//////////////////////////////////////
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \
-   && !defined(BOOST_INTEL_CXX_VERSION) && \
-      !(defined(BOOST_MSVC) && _MSC_VER == 1800)
-#define BOOST_MOVE_TT_CXX11_IS_COPY_ASSIGNABLE
-#endif
-
-template <class T>
-struct is_copy_assignable
-{
-// Intel compiler has problems with SFINAE for copy constructors and deleted functions:
-//
-// error: function *function_name* cannot be referenced -- it is a deleted function
-// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval<T1&>()))* = 0);
-//                                                        ^ 
-//
-// MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See:
-// https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken
-#if defined(BOOST_MOVE_TT_CXX11_IS_COPY_ASSIGNABLE)
-   typedef char yes_type;
-   struct no_type { char dummy[2]; };
-   
-   template <class U>   static typename add_reference<U>::type source();
-   template <class U>   static decltype(source<U&>() = source<const U&>(), yes_type() ) test(int);
-   template <class>     static no_type test(...);
-
-   static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
-#else
-   static const bool value = !has_boost_move_no_copy_constructor_or_assign_type<T>::value;
-#endif
-};
-
-//////////////////////////////////////
-//       is_trivially_destructible
-//////////////////////////////////////
-template<class T>
-struct is_trivially_destructible
-{  static const bool value = BOOST_MOVE_IS_TRIVIALLY_DESTRUCTIBLE(T); };
-
-//////////////////////////////////////
-//       is_trivially_default_constructible
-//////////////////////////////////////
-template<class T>
-struct is_trivially_default_constructible
-{  static const bool value = BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T); };
-
-//////////////////////////////////////
-//       is_trivially_copy_constructible
-//////////////////////////////////////
-template<class T>
-struct is_trivially_copy_constructible
-{
-   //In several compilers BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE return true even with
-   //deleted copy constructors so make sure the type is copy constructible.
-   static const bool value = ::boost::move_detail::is_pod<T>::value ||
-                             ( ::boost::move_detail::is_copy_constructible<T>::value &&
-                               BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) );
-};
-
-//////////////////////////////////////
-//       is_trivially_move_constructible
-//////////////////////////////////////
-template<class T>
-struct is_trivially_move_constructible
-{  static const bool value = BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T); };
-
-//////////////////////////////////////
-//       is_trivially_copy_assignable
-//////////////////////////////////////
-template<class T>
-struct is_trivially_copy_assignable
-{
-   //In several compilers BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE return true even with
-   //deleted copy constructors so make sure the type is copy constructible.
-   static const bool value = ::boost::move_detail::is_pod<T>::value ||
-                             ( ::boost::move_detail::is_copy_assignable<T>::value &&
-                               BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) );
-};                             
-
-//////////////////////////////////////
-//       is_trivially_move_assignable
-//////////////////////////////////////
-template<class T>
-struct is_trivially_move_assignable
-{  static const bool value = BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T);  };
-
-//////////////////////////////////////
-//       is_nothrow_default_constructible
-//////////////////////////////////////
-template<class T>
-struct is_nothrow_default_constructible
-   : is_pod<T>
-{  static const bool value = BOOST_MOVE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE(T);  };
-
-//////////////////////////////////////
-//    is_nothrow_copy_constructible
-//////////////////////////////////////
-template<class T>
-struct is_nothrow_copy_constructible
-{  static const bool value = BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T);  };
-
-//////////////////////////////////////
-//    is_nothrow_move_constructible
-//////////////////////////////////////
-template<class T>
-struct is_nothrow_move_constructible
-{  static const bool value = BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T);  };
-
-//////////////////////////////////////
-//       is_nothrow_copy_assignable
-//////////////////////////////////////
-template<class T>
-struct is_nothrow_copy_assignable
-{  static const bool value = BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T);  };
-
-//////////////////////////////////////
-//    is_nothrow_move_assignable
-//////////////////////////////////////
-template<class T>
-struct is_nothrow_move_assignable
-{  static const bool value = BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T);  };
-
-//////////////////////////////////////
-//    is_nothrow_swappable
-//////////////////////////////////////
-template<class T>
-struct is_nothrow_swappable
-{
-   static const bool value = is_empty<T>::value || is_pod<T>::value;
-};
-
-//////////////////////////////////////
-//       alignment_of
-//////////////////////////////////////
-template <typename T>
-struct alignment_of_hack
-{
-   T t1;
-   char c;
-   T t2;
-   alignment_of_hack();
-};
-
-template <unsigned A, unsigned S>
-struct alignment_logic
-{  static const 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:
-   : alignment_logic< sizeof(alignment_of_hack<T>) - 2*sizeof(T), __alignof(T)>
-{};
-#elif !defined(BOOST_MOVE_ALIGNMENT_OF)
-   : alignment_logic< sizeof(alignment_of_hack<T>) - 2*sizeof(T), sizeof(T)>
-{};
-#else
-{  static const std::size_t value = BOOST_MOVE_ALIGNMENT_OF(T);  };
-#endif
-
-template< typename T >
-struct alignment_of
-   : alignment_of_impl<T>
-{};
-
-class alignment_dummy;
-typedef void (*function_ptr)();
-typedef int (alignment_dummy::*member_ptr);
-typedef int (alignment_dummy::*member_function_ptr)();
-struct alignment_struct
-{  long double dummy[4];  };
-
-/////////////////////////////
-//    max_align_t
-/////////////////////////////
-//This is not standard, but should work with all compilers
-union max_align
-{
-   char        char_;
-   short       short_;
-   int         int_;
-   long        long_;
-   #ifdef BOOST_HAS_LONG_LONG
-   ::boost::long_long_type   long_long_;
-   #endif
-   float       float_;
-   double      double_;
-   void *      void_ptr_;
-   long double long_double_[4];
-   alignment_dummy *unknown_class_ptr_;
-   function_ptr function_ptr_;
-   member_function_ptr member_function_ptr_;
-   alignment_struct alignment_struct_;
-};
-
-typedef union max_align max_align_t;
-
-/////////////////////////////
-//    aligned_storage
-/////////////////////////////
-
-#if !defined(BOOST_NO_ALIGNMENT)
-
-template<std::size_t Len, std::size_t Align>
-struct aligned_storage_impl;
-
-#define BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(A)\
-template<std::size_t Len>\
-struct BOOST_ALIGNMENT(A) aligned_storage_impl<Len, A>\
-{\
-   char dummy[Len];\
-   typedef aligned_storage_impl<Len, A> type;\
-};\
-//
-
-//Up to 4K alignment (typical page size)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x1)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x2)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x4)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x8)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x10)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x20)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x40)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x80)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x100)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x200)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x400)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x800)
-BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x1000)
-
-#undef BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT
-
-#else //BOOST_NO_ALIGNMENT
-
-template<class T, std::size_t Len>
-union aligned_union
-{	
-   T aligner;
-   char dummy[Len];
-};
-
-template<std::size_t Len, std::size_t Align, class T, bool Ok>
-struct aligned_next;
-
-template<std::size_t Len, std::size_t Align, class T>
-struct aligned_next<Len, Align, T, true>
-{
-   BOOST_STATIC_ASSERT((alignment_of<T>::value == Align));
-   typedef aligned_union<T, Len> type;
-};
-
-//End of search defaults to max_align_t
-template<std::size_t Len, std::size_t Align>
-struct aligned_next<Len, Align, max_align_t, false>
-{	typedef aligned_union<max_align_t, Len> type;   };
-
-//Now define a search list through types
-#define BOOST_MOVE_ALIGNED_NEXT_STEP(TYPE, NEXT_TYPE)\
-   template<std::size_t Len, std::size_t Align>\
-   struct aligned_next<Len, Align, TYPE, false>\
-      : aligned_next<Len, Align, NEXT_TYPE, Align == alignment_of<NEXT_TYPE>::value>\
-   {};\
-   //
-   BOOST_MOVE_ALIGNED_NEXT_STEP(long double, max_align_t)
-   BOOST_MOVE_ALIGNED_NEXT_STEP(double, long double)
-   #ifdef BOOST_HAS_LONG_LONG
-      BOOST_MOVE_ALIGNED_NEXT_STEP(::boost::long_long_type, double)
-      BOOST_MOVE_ALIGNED_NEXT_STEP(long, ::boost::long_long_type)
-   #else
-      BOOST_MOVE_ALIGNED_NEXT_STEP(long, double)
-   #endif
-   BOOST_MOVE_ALIGNED_NEXT_STEP(int, long)
-   BOOST_MOVE_ALIGNED_NEXT_STEP(short, int)
-   BOOST_MOVE_ALIGNED_NEXT_STEP(char, short)
-#undef BOOST_MOVE_ALIGNED_NEXT_STEP
-
-template<std::size_t Len, std::size_t Align>
-struct aligned_storage_impl
-   : aligned_next<Len, Align, char, Align == alignment_of<char>::value>
-{};
-
-#endif
-
-template<std::size_t Len, std::size_t Align = alignment_of<max_align_t>::value>
-struct aligned_storage
-{
-   //Sanity checks for input parameters
-   BOOST_STATIC_ASSERT(Align > 0);
-
-   //Sanity checks for output type
-   typedef typename aligned_storage_impl<Len ? Len : 1, Align>::type type;
-   static const std::size_t value = alignment_of<type>::value;
-   BOOST_STATIC_ASSERT(value >= Align);
-   BOOST_STATIC_ASSERT((value % Align) == 0);
-
-   //Just in case someone instantiates aligned_storage
-   //instead of aligned_storage::type (typical error).
-   private:
-   aligned_storage();
-};
-
-}  //namespace move_detail {
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_MOVE_DETAIL_TYPE_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/unique_ptr_meta_utils.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/unique_ptr_meta_utils.hpp
deleted file mode 100644
index 3372068..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/unique_ptr_meta_utils.hpp
+++ /dev/null
@@ -1,591 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_UNIQUE_PTR_DETAIL_META_UTILS_HPP
-#define BOOST_MOVE_UNIQUE_PTR_DETAIL_META_UTILS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <cstddef>   //for std::size_t
-
-//Small meta-typetraits to support move
-
-namespace boost {
-
-namespace movelib {
-
-template <class T>
-struct default_delete;
-
-}  //namespace movelib {
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-//Forward declare boost::rv
-template <class T> class rv;
-#endif
-
-namespace move_upmu {
-
-//////////////////////////////////////
-//              nat
-//////////////////////////////////////
-struct nat{};
-
-//////////////////////////////////////
-//            natify
-//////////////////////////////////////
-template <class T> struct natify{};
-
-//////////////////////////////////////
-//             if_c
-//////////////////////////////////////
-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;
-};
-
-//////////////////////////////////////
-//             if_
-//////////////////////////////////////
-template<typename T1, typename T2, typename T3>
-struct if_ : if_c<0 != T1::value, T2, T3>
-{};
-
-//enable_if_
-template <bool B, class T = nat>
-struct enable_if_c
-{
-   typedef T type;
-};
-
-//////////////////////////////////////
-//          enable_if_c
-//////////////////////////////////////
-template <class T>
-struct enable_if_c<false, T> {};
-
-//////////////////////////////////////
-//           enable_if
-//////////////////////////////////////
-template <class Cond, class T = nat>
-struct enable_if : public enable_if_c<Cond::value, T> {};
-
-//////////////////////////////////////
-//          remove_reference
-//////////////////////////////////////
-template<class T>
-struct remove_reference
-{
-   typedef T type;
-};
-
-template<class T>
-struct remove_reference<T&>
-{
-   typedef T type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template<class T>
-struct remove_reference<T&&>
-{
-   typedef T type;
-};
-
-#else
-
-template<class T>
-struct remove_reference< rv<T> >
-{
-   typedef T type;
-};
-
-template<class T>
-struct remove_reference< rv<T> &>
-{
-   typedef T type;
-};
-
-template<class T>
-struct remove_reference< const rv<T> &>
-{
-   typedef T type;
-};
-
-
-#endif
-
-//////////////////////////////////////
-//             remove_const
-//////////////////////////////////////
-template< class T >
-struct remove_const
-{
-   typedef T type;
-};
-
-template< class T >
-struct remove_const<const T>
-{
-   typedef T type;
-};
-
-//////////////////////////////////////
-//             remove_volatile
-//////////////////////////////////////
-template< class T >
-struct remove_volatile
-{
-   typedef T type;
-};
-
-template< class T >
-struct remove_volatile<volatile T>
-{
-   typedef T type;
-};
-
-//////////////////////////////////////
-//             remove_cv
-//////////////////////////////////////
-template< class T >
-struct remove_cv
-{
-    typedef typename remove_volatile
-      <typename remove_const<T>::type>::type type;
-};
-
-//////////////////////////////////////
-//          remove_extent
-//////////////////////////////////////
-template<class T>
-struct remove_extent
-{
-   typedef T type;
-};
- 
-template<class T>
-struct remove_extent<T[]>
-{
-   typedef T type;
-};
- 
-template<class T, std::size_t N>
-struct remove_extent<T[N]>
-{
-   typedef T type;
-};
-
-//////////////////////////////////////
-//             extent
-//////////////////////////////////////
-
-template<class T, unsigned N = 0>
-struct extent
-{
-   static const std::size_t value = 0;
-};
- 
-template<class T>
-struct extent<T[], 0> 
-{
-   static const std::size_t value = 0;
-};
-
-template<class T, unsigned N>
-struct extent<T[], N>
-{
-   static const std::size_t value = extent<T, N-1>::value;
-};
-
-template<class T, std::size_t N>
-struct extent<T[N], 0> 
-{
-   static const std::size_t value = N;
-};
- 
-template<class T, std::size_t I, unsigned N>
-struct extent<T[I], N>
-{
-   static const std::size_t value = extent<T, N-1>::value;
-};
-
-//////////////////////////////////////
-//      add_lvalue_reference
-//////////////////////////////////////
-template<class T>
-struct add_lvalue_reference
-{
-   typedef T& type;
-};
-
-template<class T>
-struct add_lvalue_reference<T&>
-{
-   typedef T& type;
-};
-
-template<>
-struct add_lvalue_reference<void>
-{
-   typedef void type;
-};
-
-template<>
-struct add_lvalue_reference<const void>
-{
-   typedef const void type;
-};
-
-template<>
-struct add_lvalue_reference<volatile void>
-{
-   typedef volatile void type;
-};
-
-template<>
-struct add_lvalue_reference<const volatile void>
-{
-   typedef const volatile void type;
-};
-
-template<class T>
-struct add_const_lvalue_reference
-{
-   typedef typename remove_reference<T>::type   t_unreferenced;
-   typedef const t_unreferenced                 t_unreferenced_const;
-   typedef typename add_lvalue_reference
-      <t_unreferenced_const>::type              type;
-};
-
-//////////////////////////////////////
-//             is_same
-//////////////////////////////////////
-template<class T, class U>
-struct is_same
-{
-   static const bool value = false;
-};
- 
-template<class T>
-struct is_same<T, T>
-{
-   static const bool value = true;
-};
-
-//////////////////////////////////////
-//             is_pointer
-//////////////////////////////////////
-template< class T >
-struct is_pointer
-{
-    static const bool value = false;
-};
-
-template< class T >
-struct is_pointer<T*>
-{
-    static const bool value = true;
-};
-
-//////////////////////////////////////
-//             is_reference
-//////////////////////////////////////
-template< class T >
-struct is_reference
-{
-    static const bool value = false;
-};
-
-template< class T >
-struct is_reference<T&>
-{
-    static const bool value = true;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-template< class T >
-struct is_reference<T&&>
-{
-    static const bool value = true;
-};
-
-#endif
-
-//////////////////////////////////////
-//             is_lvalue_reference
-//////////////////////////////////////
-template<class T>
-struct is_lvalue_reference
-{
-    static const bool value = false;
-};
-
-template<class T>
-struct is_lvalue_reference<T&>
-{
-    static const bool value = true;
-};
-
-//////////////////////////////////////
-//          is_array
-//////////////////////////////////////
-template<class T>
-struct is_array
-{
-   static const bool value = false;
-};
- 
-template<class T>
-struct is_array<T[]>
-{
-   static const bool value = true;
-};
- 
-template<class T, std::size_t N>
-struct is_array<T[N]>
-{
-   static const bool value = true;
-};
-
-//////////////////////////////////////
-//          has_pointer_type
-//////////////////////////////////////
-template <class T>
-struct has_pointer_type
-{
-   struct two { char c[2]; };
-   template <class U> static two test(...);
-   template <class U> static char test(typename U::pointer* = 0);
-   static const bool value = sizeof(test<T>(0)) == 1;
-};
-
-//////////////////////////////////////
-//             pointer_type
-//////////////////////////////////////
-template <class T, class D, bool = has_pointer_type<D>::value>
-struct pointer_type_imp
-{
-    typedef typename D::pointer type;
-};
-
-template <class T, class D>
-struct pointer_type_imp<T, D, false>
-{
-    typedef typename remove_extent<T>::type* type;
-};
-
-template <class T, class D>
-struct pointer_type
-{
-    typedef typename pointer_type_imp
-      <typename remove_extent<T>::type, typename remove_reference<D>::type>::type type;
-};
-
-//////////////////////////////////////
-//           is_convertible
-//////////////////////////////////////
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
-
-//use intrinsic since in MSVC
-//overaligned types can't go through ellipsis
-template <class T, class U>
-struct is_convertible
-{
-   static const bool value = __is_convertible_to(T, U);
-};
-
-#else
-
-template <class T, class U>
-class is_convertible
-{
-   typedef typename add_lvalue_reference<T>::type t_reference;
-   typedef char true_t;
-   class false_t { char dummy[2]; };
-   static false_t dispatch(...);
-   static true_t  dispatch(U);
-   static t_reference       trigger();
-   public:
-   static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t);
-};
-
-#endif
-
-//////////////////////////////////////
-//       is_unary_function
-//////////////////////////////////////
-#if defined(BOOST_MSVC) || defined(__BORLANDC_)
-#define BOOST_MOVE_TT_DECL __cdecl
-#else
-#define BOOST_MOVE_TT_DECL
-#endif
-
-#if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(_M_ARM) && !defined(UNDER_CE)
-#define BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS
-#endif
-
-template <typename T>
-struct is_unary_function_impl
-{  static const bool value = false; };
-
-// avoid duplicate definitions of is_unary_function_impl
-#ifndef BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS
-
-template <typename R>
-struct is_unary_function_impl<R (*)()>
-{  static const bool value = true;  };
-
-template <typename R>
-struct is_unary_function_impl<R (*)(...)>
-{  static const bool value = true;  };
-
-#else // BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS
-
-template <typename R>
-struct is_unary_function_impl<R (__stdcall*)()>
-{  static const bool value = true;  };
-
-#ifndef _MANAGED
-
-template <typename R>
-struct is_unary_function_impl<R (__fastcall*)()>
-{  static const bool value = true;  };
-
-#endif
-
-template <typename R>
-struct is_unary_function_impl<R (__cdecl*)()>
-{  static const bool value = true;  };
-
-template <typename R>
-struct is_unary_function_impl<R (__cdecl*)(...)>
-{  static const bool value = true;  };
-
-#endif
-
-// avoid duplicate definitions of is_unary_function_impl
-#ifndef BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS
-
-template <typename R, class T0>
-struct is_unary_function_impl<R (*)(T0)>
-{  static const bool value = true;  };
-
-template <typename R, class T0>
-struct is_unary_function_impl<R (*)(T0...)>
-{  static const bool value = true;  };
-
-#else // BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS
-
-template <typename R, class T0>
-struct is_unary_function_impl<R (__stdcall*)(T0)>
-{  static const bool value = true;  };
-
-#ifndef _MANAGED
-
-template <typename R, class T0>
-struct is_unary_function_impl<R (__fastcall*)(T0)>
-{  static const bool value = true;  };
-
-#endif
-
-template <typename R, class T0>
-struct is_unary_function_impl<R (__cdecl*)(T0)>
-{  static const bool value = true;  };
-
-template <typename R, class T0>
-struct is_unary_function_impl<R (__cdecl*)(T0...)>
-{  static const bool value = true;  };
-
-#endif
-
-template <typename T>
-struct is_unary_function_impl<T&>
-{  static const bool value = false; };
-
-template<typename T>
-struct is_unary_function
-{  static const bool value = is_unary_function_impl<T>::value;   };
-
-//////////////////////////////////////
-//       has_virtual_destructor
-//////////////////////////////////////
-#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\
-         || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
-#  define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-#elif defined(BOOST_CLANG) && defined(__has_feature)
-#  if __has_feature(has_virtual_destructor)
-#     define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-#  endif
-#elif defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG)
-#  define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-#elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
-#  define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-#elif defined(__CODEGEARC__)
-#  define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-#endif
-
-#ifdef BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR
-   template<class T>
-   struct has_virtual_destructor{   static const bool value = BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T);  };
-#else
-   //If no intrinsic is available you trust the programmer knows what is doing
-   template<class T>
-   struct has_virtual_destructor{   static const bool value = true;  };
-#endif
-
-//////////////////////////////////////
-//       missing_virtual_destructor
-//////////////////////////////////////
-
-template< class T, class U
-        , bool enable =  is_convertible< U*, T*>::value &&
-                        !is_array<T>::value &&
-                        !is_same<typename remove_cv<T>::type, void>::value &&
-                        !is_same<typename remove_cv<U>::type, typename remove_cv<T>::type>::value
-        >
-struct missing_virtual_destructor_default_delete
-{  static const bool value = !has_virtual_destructor<T>::value;  };
-
-template<class T, class U>
-struct missing_virtual_destructor_default_delete<T, U, false>
-{  static const bool value = false;  };
-
-template<class Deleter, class U>
-struct missing_virtual_destructor
-{  static const bool value = false;  };
-
-template<class T, class U>
-struct missing_virtual_destructor< ::boost::movelib::default_delete<T>, U >
-   : missing_virtual_destructor_default_delete<T, U>
-{};
-
-}  //namespace move_upmu {
-}  //namespace boost {
-
-#endif //#ifndef BOOST_MOVE_UNIQUE_PTR_DETAIL_META_UTILS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/workaround.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/workaround.hpp
deleted file mode 100644
index befe141..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/detail/workaround.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2014. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_DETAIL_WORKAROUND_HPP
-#define BOOST_MOVE_DETAIL_WORKAROUND_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#if    !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-   #define BOOST_MOVE_PERFECT_FORWARDING
-#endif
-
-#if defined(__has_feature)
-   #define BOOST_MOVE_HAS_FEATURE __has_feature
-#else
-   #define BOOST_MOVE_HAS_FEATURE(x) 0
-#endif
-
-#if BOOST_MOVE_HAS_FEATURE(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
-   #define BOOST_MOVE_ADDRESS_SANITIZER_ON
-#endif
-
-//Macros for documentation purposes. For code, expands to the argument
-#define BOOST_MOVE_IMPDEF(TYPE) TYPE
-#define BOOST_MOVE_SEEDOC(TYPE) TYPE
-#define BOOST_MOVE_DOC0PTR(TYPE) TYPE
-#define BOOST_MOVE_DOC1ST(TYPE1, TYPE2) TYPE2
-#define BOOST_MOVE_I ,
-#define BOOST_MOVE_DOCIGN(T1) T1
-
-#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
-   #define BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG
-#elif defined(_MSC_VER) && (_MSC_VER == 1700)
-   #define BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG
-#endif
-
-#define BOOST_MOVE_DISABLE_FORCEINLINE
-
-#if defined(BOOST_MOVE_DISABLE_FORCEINLINE)
-   #define BOOST_MOVE_FORCEINLINE inline
-#elif defined(BOOST_MOVE_FORCEINLINE_IS_BOOST_FORCELINE)
-   #define BOOST_MOVE_FORCEINLINE BOOST_FORCEINLINE
-#elif defined(BOOST_MSVC) && defined(_DEBUG)
-   //"__forceinline" and MSVC seems to have some bugs in debug mode
-   #define BOOST_MOVE_FORCEINLINE inline
-#else
-   #define BOOST_MOVE_FORCEINLINE BOOST_FORCEINLINE
-#endif
-
-#endif   //#ifndef BOOST_MOVE_DETAIL_WORKAROUND_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/iterator.hpp
deleted file mode 100644
index f36df23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/iterator.hpp
+++ /dev/null
@@ -1,311 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_ITERATOR_HPP
-#define BOOST_MOVE_ITERATOR_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>  //forceinline
-#include <boost/move/detail/iterator_traits.hpp>
-#include <boost/move/utility_core.hpp>
-
-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 boost::movelib::iterator_traits<iterator_type>::value_type        value_type;
-   #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   typedef value_type &&                                                   reference;
-   #else
-   typedef typename ::boost::move_detail::if_
-      < ::boost::has_move_emulation_enabled<value_type>
-      , ::boost::rv<value_type>&
-      , value_type & >::type                                               reference;
-   #endif
-   typedef It                                                              pointer;
-   typedef typename boost::movelib::iterator_traits<iterator_type>::difference_type   difference_type;
-   typedef typename boost::movelib::iterator_traits<iterator_type>::iterator_category iterator_category;
-
-   BOOST_MOVE_FORCEINLINE move_iterator()
-      : m_it()
-   {}
-
-   BOOST_MOVE_FORCEINLINE explicit move_iterator(const It &i)
-      :  m_it(i)
-   {}
-
-   template <class U>
-   BOOST_MOVE_FORCEINLINE move_iterator(const move_iterator<U>& u)
-      :  m_it(u.m_it)
-   {}
-
-   BOOST_MOVE_FORCEINLINE reference operator*() const
-   {
-      #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-      return *m_it;
-      #else
-      return ::boost::move(*m_it);
-      #endif
-   }
-
-   BOOST_MOVE_FORCEINLINE pointer   operator->() const
-   {  return m_it;   }
-
-   BOOST_MOVE_FORCEINLINE move_iterator& operator++()
-   {  ++m_it; return *this;   }
-
-   BOOST_MOVE_FORCEINLINE move_iterator<iterator_type>  operator++(int)
-   {  move_iterator<iterator_type> tmp(*this); ++(*this); return tmp;   }
-
-   BOOST_MOVE_FORCEINLINE move_iterator& operator--()
-   {  --m_it; return *this;   }
-
-   BOOST_MOVE_FORCEINLINE 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);  }
-
-   BOOST_MOVE_FORCEINLINE move_iterator& operator+=(difference_type n)
-   {  m_it += n; return *this;   }
-
-   BOOST_MOVE_FORCEINLINE move_iterator<iterator_type>  operator- (difference_type n) const
-   {  return move_iterator<iterator_type>(m_it - n);  }
-
-   BOOST_MOVE_FORCEINLINE move_iterator& operator-=(difference_type n)
-   {  m_it -= n; return *this;   }
-
-   BOOST_MOVE_FORCEINLINE reference operator[](difference_type n) const
-   {
-      #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-      return m_it[n];
-      #else
-      return ::boost::move(m_it[n]);
-      #endif
-   }
-
-   BOOST_MOVE_FORCEINLINE friend bool operator==(const move_iterator& x, const move_iterator& y)
-   {  return x.m_it == y.m_it;  }
-
-   BOOST_MOVE_FORCEINLINE friend bool operator!=(const move_iterator& x, const move_iterator& y)
-   {  return x.m_it != y.m_it;  }
-
-   BOOST_MOVE_FORCEINLINE friend bool operator< (const move_iterator& x, const move_iterator& y)
-   {  return x.m_it < y.m_it;   }
-
-   BOOST_MOVE_FORCEINLINE friend bool operator<=(const move_iterator& x, const move_iterator& y)
-   {  return x.m_it <= y.m_it;  }
-
-   BOOST_MOVE_FORCEINLINE friend bool operator> (const move_iterator& x, const move_iterator& y)
-   {  return x.m_it > y.m_it;  }
-
-   BOOST_MOVE_FORCEINLINE friend bool operator>=(const move_iterator& x, const move_iterator& y)
-   {  return x.m_it >= y.m_it;  }
-
-   BOOST_MOVE_FORCEINLINE friend difference_type operator-(const move_iterator& x, const move_iterator& y)
-   {  return x.m_it - y.m_it;   }
-
-   BOOST_MOVE_FORCEINLINE friend move_iterator operator+(difference_type n, const move_iterator& x)
-   {  return move_iterator(x.m_it + n);   }
-
-   private:
-   It m_it;
-};
-
-//is_move_iterator
-namespace move_detail {
-
-template <class I>
-struct is_move_iterator
-{
-   static const bool value = false;
-};
-
-template <class I>
-struct is_move_iterator< ::boost::move_iterator<I> >
-{
-   static const bool value = true;
-};
-
-}  //namespace move_detail {
-
-//////////////////////////////////////////////////////////////////////////////
-//
-//                            move_iterator
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//!
-//! <b>Returns</b>: move_iterator<It>(i).
-template<class It>
-inline 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
-{
-   C* container_m;
-
-   public:
-   typedef C                           container_type;
-   typedef typename C::value_type      value_type;
-   typedef typename C::reference       reference;
-   typedef typename C::pointer         pointer;
-   typedef typename C::difference_type difference_type;
-   typedef std::output_iterator_tag    iterator_category;
-
-   explicit back_move_insert_iterator(C& x) : container_m(&x) { }
-
-   back_move_insert_iterator& operator=(reference x)
-   { container_m->push_back(boost::move(x)); return *this; }
-
-   back_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x)
-   {  reference rx = x; return this->operator=(rx);  }
-
-   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
-{
-   C* container_m;
-
-public:
-   typedef C                           container_type;
-   typedef typename C::value_type      value_type;
-   typedef typename C::reference       reference;
-   typedef typename C::pointer         pointer;
-   typedef typename C::difference_type difference_type;
-   typedef std::output_iterator_tag    iterator_category;
-
-   explicit front_move_insert_iterator(C& x) : container_m(&x) { }
-
-   front_move_insert_iterator& operator=(reference x)
-   { container_m->push_front(boost::move(x)); return *this; }
-
-   front_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x)
-   {  reference rx = x; return this->operator=(rx);  }
-
-   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
-{
-   C* container_m;
-   typename C::iterator pos_;
-
-   public:
-   typedef C                           container_type;
-   typedef typename C::value_type      value_type;
-   typedef typename C::reference       reference;
-   typedef typename C::pointer         pointer;
-   typedef typename C::difference_type difference_type;
-   typedef std::output_iterator_tag    iterator_category;
-
-   explicit move_insert_iterator(C& x, typename C::iterator pos)
-      : container_m(&x), pos_(pos)
-   {}
-
-   move_insert_iterator& operator=(reference x)
-   {
-      pos_ = container_m->insert(pos_, ::boost::move(x));
-      ++pos_;
-      return *this;
-   }
-
-   move_insert_iterator& operator=(BOOST_RV_REF(value_type) x)
-   {  reference rx = x; return this->operator=(rx);  }
-
-   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);
-}
-
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_ITERATOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/make_unique.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/make_unique.hpp
deleted file mode 100644
index bb59ab6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/make_unique.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2006-2014. Distributed under the Boost
-// Software License, Version 1.0. (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED
-#define BOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/move/unique_ptr.hpp>
-#include <cstddef>   //for std::size_t
-#include <boost/move/detail/unique_ptr_meta_utils.hpp>
-#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  include <boost/move/detail/fwd_macros.hpp>
-#endif
-
-//!\file
-//! Defines "make_unique" functions, which are factories to create instances
-//! of unique_ptr depending on the passed arguments.
-//!
-//! This header can be a bit heavyweight in C++03 compilers due to the use of the
-//! preprocessor library, that's why it's a a separate header from <tt>unique_ptr.hpp</tt>
- 
-#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-namespace std {   //no namespace versioning in clang+libc++
-
-struct nothrow_t;
-
-}  //namespace std {
-
-namespace boost{
-namespace move_upmu {
-
-//Compile time switch between
-//single element, unknown bound array
-//and known bound array
-template<class T>
-struct unique_ptr_if
-{
-   typedef ::boost::movelib::unique_ptr<T> t_is_not_array;
-};
-
-template<class T>
-struct unique_ptr_if<T[]>
-{
-   typedef ::boost::movelib::unique_ptr<T[]> t_is_array_of_unknown_bound;
-};
-
-template<class T, std::size_t N>
-struct unique_ptr_if<T[N]>
-{
-   typedef void t_is_array_of_known_bound;
-};
-
-template <int Dummy = 0>
-struct nothrow_holder
-{
-   static std::nothrow_t *pnothrow;   
-};
-
-template <int Dummy>
-std::nothrow_t *nothrow_holder<Dummy>::pnothrow;
-
-}  //namespace move_upmu {
-}  //namespace boost{
-
-#endif   //!defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-namespace boost{
-namespace movelib {
-
-#if defined(BOOST_MOVE_DOXYGEN_INVOKED) || !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is not an array.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new T(std::forward<Args>(args)...))</tt>.
-template<class T, class... Args>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_not_array)
-      make_unique(BOOST_FWD_REF(Args)... args)
-{  return unique_ptr<T>(new T(::boost::forward<Args>(args)...));  }
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is not an array.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new T(std::nothrow)(std::forward<Args>(args)...))</tt>.
-template<class T, class... Args>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_not_array)
-      make_unique_nothrow(BOOST_FWD_REF(Args)... args)
-{  return unique_ptr<T>(new (*boost::move_upmu::nothrow_holder<>::pnothrow)T(::boost::forward<Args>(args)...));  }
-
-#else
-   #define BOOST_MOVE_MAKE_UNIQUE_CODE(N)\
-      template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
-      typename ::boost::move_upmu::unique_ptr_if<T>::t_is_not_array\
-         make_unique( BOOST_MOVE_UREF##N)\
-      {  return unique_ptr<T>( new T( BOOST_MOVE_FWD##N ) );  }\
-      \
-      template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
-      typename ::boost::move_upmu::unique_ptr_if<T>::t_is_not_array\
-         make_unique_nothrow( BOOST_MOVE_UREF##N)\
-      {  return unique_ptr<T>( new (*boost::move_upmu::nothrow_holder<>::pnothrow)T ( BOOST_MOVE_FWD##N ) );  }\
-      //
-   BOOST_MOVE_ITERATE_0TO9(BOOST_MOVE_MAKE_UNIQUE_CODE)
-   #undef BOOST_MOVE_MAKE_UNIQUE_CODE
-
-#endif
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is not an array.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new T)</tt> (default initialization)
-template<class T>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_not_array)
-      make_unique_definit()
-{
-    return unique_ptr<T>(new T);
-}
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is not an array.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new T(std::nothrow)</tt> (default initialization)
-template<class T>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_not_array)
-      make_unique_nothrow_definit()
-{
-    return unique_ptr<T>(new (*boost::move_upmu::nothrow_holder<>::pnothrow)T);
-}
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is an array of 
-//!   unknown bound.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new remove_extent_t<T>[n]())</tt> (value initialization)
-template<class T>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_unknown_bound)
-      make_unique(std::size_t n)
-{
-    typedef typename ::boost::move_upmu::remove_extent<T>::type U;
-    return unique_ptr<T>(new U[n]());
-}
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is an array of 
-//!   unknown bound.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new (std::nothrow)remove_extent_t<T>[n]())</tt> (value initialization)
-template<class T>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_unknown_bound)
-      make_unique_nothrow(std::size_t n)
-{
-    typedef typename ::boost::move_upmu::remove_extent<T>::type U;
-    return unique_ptr<T>(new (*boost::move_upmu::nothrow_holder<>::pnothrow)U[n]());
-}
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is an array of 
-//!   unknown bound.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new remove_extent_t<T>[n])</tt> (default initialization)
-template<class T>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_unknown_bound)
-      make_unique_definit(std::size_t n)
-{
-    typedef typename ::boost::move_upmu::remove_extent<T>::type U;
-    return unique_ptr<T>(new U[n]);
-}
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is an array of 
-//!   unknown bound.
-//!
-//! <b>Returns</b>: <tt>unique_ptr<T>(new (std::nothrow)remove_extent_t<T>[n])</tt> (default initialization)
-template<class T>
-inline BOOST_MOVE_DOC1ST(unique_ptr<T>, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_unknown_bound)
-      make_unique_nothrow_definit(std::size_t n)
-{
-    typedef typename ::boost::move_upmu::remove_extent<T>::type U;
-    return unique_ptr<T>(new (*boost::move_upmu::nothrow_holder<>::pnothrow) U[n]);
-}
-
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is
-//!   an array of known bound.
-template<class T, class... Args>
-inline BOOST_MOVE_DOC1ST(unspecified, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_known_bound)
-      make_unique(BOOST_FWD_REF(Args) ...) = delete;
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is
-//!   an array of known bound.
-template<class T, class... Args>
-inline BOOST_MOVE_DOC1ST(unspecified, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_known_bound)
-      make_unique_definit(BOOST_FWD_REF(Args) ...) = delete;
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is
-//!   an array of known bound.
-template<class T, class... Args>
-inline BOOST_MOVE_DOC1ST(unspecified, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_known_bound)
-      make_unique_nothrow(BOOST_FWD_REF(Args) ...) = delete;
-
-//! <b>Remarks</b>: This function shall not participate in overload resolution unless T is
-//!   an array of known bound.
-template<class T, class... Args>
-inline BOOST_MOVE_DOC1ST(unspecified, 
-   typename ::boost::move_upmu::unique_ptr_if<T>::t_is_array_of_known_bound)
-      make_unique_nothrow_definit(BOOST_FWD_REF(Args) ...) = delete;
-
-#endif
-
-}  //namespace movelib {
-
-}  //namespace boost{
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/move.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/move.hpp
deleted file mode 100644
index 62dddbc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/move.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright David Abrahams, Vicente Botet 2009.
-// (C) Copyright Ion Gaztanaga 2009-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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
-//! A general library header that includes
-//! the rest of top-level headers.
-
-#ifndef BOOST_MOVE_MOVE_HPP
-#define BOOST_MOVE_MOVE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/utility.hpp>
-#include <boost/move/iterator.hpp>
-#include <boost/move/traits.hpp>
-#include <boost/move/algorithm.hpp>
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_MOVE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/traits.hpp
deleted file mode 100644
index b48b8f6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/traits.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2009-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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_TRAITS_HPP
-#define BOOST_MOVE_TRAITS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-#include <boost/move/core.hpp>
-#endif
-#include <boost/move/detail/meta_utils.hpp>
-#include <boost/move/detail/type_traits.hpp>
-
-namespace boost {
-
-//! 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_detail::is_trivially_destructible<T>
-{};
-
-//! By default this traits returns
-//! <pre>boost::is_nothrow_move_constructible<T>::value && boost::is_nothrow_move_assignable<T>::value </pre>.
-//! Classes with non-throwing move constructor
-//! and assignment can specialize this trait to obtain some performance improvements.
-template <class T>
-struct has_nothrow_move
-{
-   static const bool value = boost::move_detail::is_nothrow_move_constructible<T>::value &&
-                             boost::move_detail::is_nothrow_move_assignable<T>::value;
-};
-
-namespace move_detail {
-
-template <class T>
-struct is_nothrow_move_constructible_or_uncopyable
-{
-   //The standard requires is_nothrow_move_constructible for move_if_noexcept
-   //but a user (usually in C++03) might specialize has_nothrow_move which includes it
-   static const bool value = is_nothrow_move_constructible<T>::value ||
-                             has_nothrow_move<T>::value ||
-                            !is_copy_constructible<T>::value;
-};
-
-}  //move_detail {
-}  //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/unique_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/unique_ptr.hpp
deleted file mode 100644
index 2d794e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/unique_ptr.hpp
+++ /dev/null
@@ -1,871 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2014-2014. Distributed under the Boost
-// Software License, Version 1.0. (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.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_UNIQUE_PTR_HPP_INCLUDED
-#define BOOST_MOVE_UNIQUE_PTR_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>  //forceinline
-#include <boost/move/detail/unique_ptr_meta_utils.hpp>
-#include <boost/move/default_delete.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-
-#include <cstddef>   //For std::nullptr_t and std::size_t
-
-//!\file
-//! Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr,
-//! usable also from C++03 compilers.
-//!
-//! Main differences from std::unique_ptr to avoid heavy dependencies,
-//! specially in C++03 compilers:
-//!   - <tt>operator < </tt> uses pointer <tt>operator < </tt>instead of <tt>std::less<common_type></tt>. 
-//!      This avoids dependencies on <tt>std::common_type</tt> and <tt>std::less</tt>
-//!      (<tt><type_traits>/<functional></tt> headers). In C++03 this avoid pulling Boost.Typeof and other
-//!      cascading dependencies. As in all Boost platforms <tt>operator <</tt> on raw pointers and
-//!      other smart pointers provides strict weak ordering in practice this should not be a problem for users.
-//!   - assignable from literal 0 for compilers without nullptr
-//!   - <tt>unique_ptr<T[]></tt> is constructible and assignable from <tt>unique_ptr<U[]></tt> if
-//!      cv-less T and cv-less U are the same type and T is more CV qualified than U.
-
-namespace boost{
-// @cond
-namespace move_upd {
-
-////////////////////////////////////////////
-//          deleter types
-////////////////////////////////////////////
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-template <class T>
-class is_noncopyable
-{
-   typedef char true_t;
-   class false_t { char dummy[2]; };
-   template<class U> static false_t dispatch(...);
-   template<class U> static true_t  dispatch(typename U::boost_move_no_copy_constructor_or_assign*);
-   public:
-   static const bool value = sizeof(dispatch<T>(0)) == sizeof(true_t);
-};
-#endif   //defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template <class D>
-struct deleter_types
-{
-   typedef typename bmupmu::add_lvalue_reference<D>::type            del_ref;
-   typedef typename bmupmu::add_const_lvalue_reference<D>::type      del_cref;
-   #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-   typedef typename bmupmu::if_c
-      < bmupmu::is_lvalue_reference<D>::value, D, del_cref >::type   deleter_arg_type1;
-   typedef typename bmupmu::remove_reference<D>::type &&             deleter_arg_type2;
-   #else
-   typedef typename bmupmu::if_c
-      < is_noncopyable<D>::value, bmupmu::nat, del_cref>::type       non_ref_deleter_arg1;
-   typedef typename bmupmu::if_c< bmupmu::is_lvalue_reference<D>::value
-                       , D, non_ref_deleter_arg1 >::type          deleter_arg_type1;
-   typedef ::boost::rv<D> &                                       deleter_arg_type2;
-   #endif
-};
-
-////////////////////////////////////////////
-//          unique_ptr_data
-////////////////////////////////////////////
-template <class P, class D, bool = bmupmu::is_unary_function<D>::value || bmupmu::is_reference<D>::value >
-struct unique_ptr_data
-{
-   typedef typename deleter_types<D>::deleter_arg_type1  deleter_arg_type1;
-   typedef typename deleter_types<D>::del_ref            del_ref;
-   typedef typename deleter_types<D>::del_cref           del_cref;
-
-   BOOST_MOVE_FORCEINLINE unique_ptr_data() BOOST_NOEXCEPT
-      : m_p(), d()
-   {}
-
-   BOOST_MOVE_FORCEINLINE explicit unique_ptr_data(P p) BOOST_NOEXCEPT
-      : m_p(p), d()
-   {}
-
-   BOOST_MOVE_FORCEINLINE unique_ptr_data(P p, deleter_arg_type1 d1) BOOST_NOEXCEPT
-      : m_p(p), d(d1)
-   {}
-
-   template <class U>
-   BOOST_MOVE_FORCEINLINE unique_ptr_data(P p, BOOST_FWD_REF(U) d1) BOOST_NOEXCEPT
-      : m_p(p), d(::boost::forward<U>(d1))
-   {}
-
-   BOOST_MOVE_FORCEINLINE del_ref deleter()       { return d; }
-   BOOST_MOVE_FORCEINLINE del_cref deleter() const{ return d; }
-
-   P m_p;
-   D d;
-
-   private:
-   unique_ptr_data& operator=(const unique_ptr_data&);
-   unique_ptr_data(const unique_ptr_data&);
-};
-
-template <class P, class D>
-struct unique_ptr_data<P, D, false>
-   : private D
-{
-   typedef typename deleter_types<D>::deleter_arg_type1  deleter_arg_type1;
-   typedef typename deleter_types<D>::del_ref            del_ref;
-   typedef typename deleter_types<D>::del_cref           del_cref;
-
-   BOOST_MOVE_FORCEINLINE unique_ptr_data() BOOST_NOEXCEPT
-      : D(), m_p()
-   {}
-
-   BOOST_MOVE_FORCEINLINE explicit unique_ptr_data(P p) BOOST_NOEXCEPT
-      : D(), m_p(p)
-   {}
-
-   BOOST_MOVE_FORCEINLINE unique_ptr_data(P p, deleter_arg_type1 d1) BOOST_NOEXCEPT
-      : D(d1), m_p(p)
-   {}
-
-   template <class U>
-   BOOST_MOVE_FORCEINLINE unique_ptr_data(P p, BOOST_FWD_REF(U) d) BOOST_NOEXCEPT
-      : D(::boost::forward<U>(d)), m_p(p)
-   {}
-
-   BOOST_MOVE_FORCEINLINE del_ref deleter()        BOOST_NOEXCEPT   {  return static_cast<del_ref>(*this);   }
-   BOOST_MOVE_FORCEINLINE del_cref deleter() const BOOST_NOEXCEPT   {  return static_cast<del_cref>(*this);  }
-
-   P m_p;
-
-   private:
-   unique_ptr_data& operator=(const unique_ptr_data&);
-   unique_ptr_data(const unique_ptr_data&);
-};
-
-////////////////////////////////////////////
-//          is_unique_ptr_convertible
-////////////////////////////////////////////
-
-//Although non-standard, we avoid using pointer_traits
-//to avoid heavy dependencies
-template <typename T>
-struct get_element_type
-{
-   struct DefaultWrap { typedef bmupmu::natify<T> element_type; };
-   template <typename X>   static char test(int, typename X::element_type*);
-   template <typename X>   static int test(...);
-   static const bool value = (1 == sizeof(test<T>(0, 0)));
-   typedef typename bmupmu::if_c<value, T, DefaultWrap>::type::element_type type;
-};
-
-template<class T>
-struct get_element_type<T*>
-{
-   typedef T type;
-};
-
-template<class T>
-struct get_cvelement
-   : bmupmu::remove_cv<typename get_element_type<T>::type>
-{};
-
-template <class P1, class P2>
-struct is_same_cvelement_and_convertible
-{
-   typedef typename bmupmu::remove_reference<P1>::type arg1;
-   typedef typename bmupmu::remove_reference<P2>::type arg2;
-   static const bool same_cvless =
-      bmupmu::is_same<typename get_cvelement<arg1>::type,typename get_cvelement<arg2>::type>::value;
-   static const bool value = same_cvless && bmupmu::is_convertible<arg1, arg2>::value;
-};
-
-template<bool IsArray, class FromPointer, class ThisPointer>
-struct is_unique_ptr_convertible
-   : is_same_cvelement_and_convertible<FromPointer, ThisPointer>
-{};
-
-template<class FromPointer, class ThisPointer>
-struct is_unique_ptr_convertible<false, FromPointer, ThisPointer>
-   : bmupmu::is_convertible<FromPointer, ThisPointer>
-{};
-
-////////////////////////////////////////
-////     enable_up_moveconv_assign
-////////////////////////////////////////
-
-template<class T, class FromPointer, class ThisPointer, class Type = bmupmu::nat>
-struct enable_up_ptr
-   : bmupmu::enable_if_c< is_unique_ptr_convertible
-      < bmupmu::is_array<T>::value, FromPointer, ThisPointer>::value, Type>
-{};
-
-////////////////////////////////////////
-////     enable_up_moveconv_assign
-////////////////////////////////////////
-
-template<class T, class D, class U, class E>
-struct unique_moveconvert_assignable
-{
-   static const bool t_is_array = bmupmu::is_array<T>::value;
-   static const bool value =
-      t_is_array == bmupmu::is_array<U>::value &&
-      bmupmu::extent<T>::value == bmupmu::extent<U>::value &&
-      is_unique_ptr_convertible
-         < t_is_array
-         , typename bmupmu::pointer_type<U, E>::type, typename bmupmu::pointer_type<T, D>::type
-         >::value;
-};
-
-template<class T, class D, class U, class E, std::size_t N>
-struct unique_moveconvert_assignable<T[], D, U[N], E>
-   : unique_moveconvert_assignable<T[], D, U[], E>
-{};
-
-template<class T, class D, class U, class E, class Type = bmupmu::nat>
-struct enable_up_moveconv_assign
-   : bmupmu::enable_if_c<unique_moveconvert_assignable<T, D, U, E>::value, Type>
-{};
-
-////////////////////////////////////////
-////     enable_up_moveconv_constr
-////////////////////////////////////////
-
-template<class D, class E, bool IsReference = bmupmu::is_reference<D>::value>
-struct unique_deleter_is_initializable
-   : bmupmu::is_same<D, E>
-{};
-
-template <class T, class U>
-class is_rvalue_convertible
-{
-   #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-   typedef typename bmupmu::remove_reference<T>::type&& t_from;
-   #else
-   typedef typename bmupmu::if_c
-      < ::boost::has_move_emulation_enabled<T>::value && !bmupmu::is_reference<T>::value
-      , ::boost::rv<T>&
-      , typename bmupmu::add_lvalue_reference<T>::type
-      >::type t_from;
-   #endif
-
-   typedef char true_t;
-   class false_t { char dummy[2]; };
-   static false_t dispatch(...);
-   static true_t  dispatch(U);
-   static t_from trigger();
-   public:
-   static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t);
-};
-
-template<class D, class E>
-struct unique_deleter_is_initializable<D, E, false>
-{
-   #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-   //Clang has some problems with is_rvalue_convertible with non-copyable types
-   //so use intrinsic if available
-   #if defined(BOOST_CLANG)
-      #if __has_feature(is_convertible_to)
-      static const bool value = __is_convertible_to(E, D);
-      #else
-      static const bool value = is_rvalue_convertible<E, D>::value;
-      #endif
-   #else
-   static const bool value = is_rvalue_convertible<E, D>::value;
-   #endif
-
-   #else //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-   //No hope for compilers with move emulation for now. In several compilers is_convertible
-   // leads to errors, so just move the Deleter and see if the conversion works
-   static const bool value = true;  /*is_rvalue_convertible<E, D>::value*/
-   #endif
-};
-
-template<class T, class D, class U, class E, class Type = bmupmu::nat>
-struct enable_up_moveconv_constr
-   : bmupmu::enable_if_c
-      < unique_moveconvert_assignable<T, D, U, E>::value && unique_deleter_is_initializable<D, E>::value
-      , Type>
-{};
-
-}  //namespace move_upd {
-// @endcond
-
-namespace movelib {
-
-//! A unique pointer is an object that owns another object and
-//! manages that other object through a pointer.
-//! 
-//! More precisely, a unique pointer is an object u that stores a pointer to a second object p and will dispose
-//! of p when u is itself destroyed (e.g., when leaving block scope). In this context, u is said to own p.
-//! 
-//! The mechanism by which u disposes of p is known as p's associated deleter, a function object whose correct
-//! invocation results in p's appropriate disposition (typically its deletion).
-//! 
-//! Let the notation u.p denote the pointer stored by u, and let u.d denote the associated deleter. Upon request,
-//! u can reset (replace) u.p and u.d with another pointer and deleter, but must properly dispose of its owned
-//! object via the associated deleter before such replacement is considered completed.
-//! 
-//! Additionally, u can, upon request, transfer ownership to another unique pointer u2. Upon completion of
-//! such a transfer, the following postconditions hold:
-//!   - u2.p is equal to the pre-transfer u.p,
-//!   - u.p is equal to nullptr, and
-//!   - if the pre-transfer u.d maintained state, such state has been transferred to u2.d.
-//! 
-//! As in the case of a reset, u2 must properly dispose of its pre-transfer owned object via the pre-transfer
-//! associated deleter before the ownership transfer is considered complete.
-//! 
-//! Each object of a type U instantiated from the unique_ptr template specified in this subclause has the strict
-//! ownership semantics, specified above, of a unique pointer. In partial satisfaction of these semantics, each
-//! such U is MoveConstructible and MoveAssignable, but is not CopyConstructible nor CopyAssignable.
-//! The template parameter T of unique_ptr may be an incomplete type.
-//! 
-//! The uses of unique_ptr include providing exception safety for dynamically allocated memory, passing
-//! ownership of dynamically allocated memory to a function, and returning dynamically allocated memory from
-//! a function.
-//!
-//! If T is an array type (e.g. unique_ptr<MyType[]>) the interface is slightly altered:
-//!   - Pointers to types derived from T are rejected by the constructors, and by reset.
-//!   - The observers <tt>operator*</tt> and <tt>operator-></tt> are not provided.
-//!   - The indexing observer <tt>operator[]</tt> is provided.
-//!
-//! \tparam T Provides the type of the stored pointer.
-//! \tparam D The deleter type:
-//!   -  The default type for the template parameter D is default_delete. A client-supplied template argument
-//!      D shall be a function object type, lvalue-reference to function, or lvalue-reference to function object type
-//!      for which, given a value d of type D and a value ptr of type unique_ptr<T, D>::pointer, the expression
-//!      d(ptr) is valid and has the effect of disposing of the pointer as appropriate for that deleter.
-//!   -  If the deleter's type D is not a reference type, D shall satisfy the requirements of Destructible.
-//!   -  If the type <tt>remove_reference<D>::type::pointer</tt> exists, it shall satisfy the requirements of NullablePointer.
-template <class T, class D = default_delete<T> >
-class unique_ptr
-{
-   #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   public:
-   unique_ptr(const unique_ptr&) = delete;
-   unique_ptr& operator=(const unique_ptr&) = delete;
-   private:
-   #else
-   BOOST_MOVABLE_BUT_NOT_COPYABLE(unique_ptr)
-
-   typedef bmupmu::pointer_type<T, D >                            pointer_type_obtainer;
-   typedef bmupd::unique_ptr_data
-      <typename pointer_type_obtainer::type, D>                data_type;
-   typedef typename bmupd::deleter_types<D>::deleter_arg_type1 deleter_arg_type1;
-   typedef typename bmupd::deleter_types<D>::deleter_arg_type2 deleter_arg_type2;
-   data_type m_data;
-   #endif
-
-   public:
-   //! If the type <tt>remove_reference<D>::type::pointer</tt> exists, then it shall be a
-   //! synonym for <tt>remove_reference<D>::type::pointer</tt>. Otherwise it shall be a
-   //! synonym for T*.
-   typedef typename BOOST_MOVE_SEEDOC(pointer_type_obtainer::type) pointer;
-   //! If T is an array type, then element_type is equal to T. Otherwise, if T is a type
-   //! in the form U[], element_type is equal to U.
-   typedef typename BOOST_MOVE_SEEDOC(bmupmu::remove_extent<T>::type) element_type;
-   typedef D deleter_type;
-
-   //! <b>Requires</b>: D shall satisfy the requirements of DefaultConstructible, and
-   //!   that construction shall not throw an exception.
-   //!
-   //! <b>Effects</b>: Constructs a unique_ptr object that owns nothing, value-initializing the
-   //!   stored pointer and the stored deleter.
-   //!
-   //! <b>Postconditions</b>: <tt>get() == nullptr</tt>. <tt>get_deleter()</tt> returns a reference to the stored deleter.
-   //!
-   //! <b>Remarks</b>: If this constructor is instantiated with a pointer type or reference type
-   //!   for the template argument D, the program is ill-formed.   
-   BOOST_MOVE_FORCEINLINE BOOST_CONSTEXPR unique_ptr() BOOST_NOEXCEPT
-      : m_data()
-   {
-      //If this constructor is instantiated with a pointer type or reference type
-      //for the template argument D, the program is ill-formed.
-      BOOST_STATIC_ASSERT(!bmupmu::is_pointer<D>::value);
-      BOOST_STATIC_ASSERT(!bmupmu::is_reference<D>::value);
-   }
-
-   //! <b>Effects</b>: Same as <tt>unique_ptr()</tt> (default constructor).
-   //! 
-   BOOST_MOVE_FORCEINLINE BOOST_CONSTEXPR unique_ptr(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT
-      : m_data()
-   {
-      //If this constructor is instantiated with a pointer type or reference type
-      //for the template argument D, the program is ill-formed.
-      BOOST_STATIC_ASSERT(!bmupmu::is_pointer<D>::value);
-      BOOST_STATIC_ASSERT(!bmupmu::is_reference<D>::value);
-   }
-
-   //! <b>Requires</b>: D shall satisfy the requirements of DefaultConstructible, and
-   //!   that construction shall not throw an exception.
-   //!
-   //! <b>Effects</b>: Constructs a unique_ptr which owns p, initializing the stored pointer 
-   //!   with p and value initializing the stored deleter.
-   //!
-   //! <b>Postconditions</b>: <tt>get() == p</tt>. <tt>get_deleter()</tt> returns a reference to the stored deleter.
-   //!
-   //! <b>Remarks</b>: If this constructor is instantiated with a pointer type or reference type
-   //!   for the template argument D, the program is ill-formed.
-   //!   This constructor shall not participate in overload resolution unless:
-   //!      - If T is not an array type and Pointer is implicitly convertible to pointer.
-   //!      - If T is an array type and Pointer is a more CV qualified pointer to element_type.
-   template<class Pointer>
-   BOOST_MOVE_FORCEINLINE explicit unique_ptr(Pointer p
-      BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_ptr<T BOOST_MOVE_I Pointer BOOST_MOVE_I pointer>::type* =0)
-                 ) BOOST_NOEXCEPT
-      : m_data(p)
-   {
-      //If T is not an array type, element_type_t<Pointer> derives from T
-      //it uses the default deleter and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
-                            <D, typename bmupd::get_element_type<Pointer>::type>::value ));
-      //If this constructor is instantiated with a pointer type or reference type
-      //for the template argument D, the program is ill-formed.
-      BOOST_STATIC_ASSERT(!bmupmu::is_pointer<D>::value);
-      BOOST_STATIC_ASSERT(!bmupmu::is_reference<D>::value);
-   }
-
-   //!The signature of this constructor depends upon whether D is a reference type.
-   //!   - If D is non-reference type A, then the signature is <tt>unique_ptr(pointer p, const A& d)</tt>.
-   //!   - If D is an lvalue-reference type A&, then the signature is <tt>unique_ptr(pointer p, A& d)</tt>.
-   //!   - If D is an lvalue-reference type const A&, then the signature is <tt>unique_ptr(pointer p, const A& d)</tt>.
-   //!
-   //!
-   //! <b>Requires</b>: Either
-   //!   - D is not an lvalue-reference type and d is an lvalue or const rvalue. 
-   //!         D shall satisfy the requirements of CopyConstructible, and the copy constructor of D
-   //!         shall not throw an exception. This unique_ptr will hold a copy of d.
-   //!   - D is an lvalue-reference type and d is an lvalue. the type which D references need not be CopyConstructible nor
-   //!      MoveConstructible. This unique_ptr will hold a D which refers to the lvalue d.
-   //!
-   //! <b>Effects</b>: Constructs a unique_ptr object which owns p, initializing the stored pointer with p and
-   //!   initializing the deleter as described above.
-   //! 
-   //! <b>Postconditions</b>: <tt>get() == p</tt>. <tt>get_deleter()</tt> returns a reference to the stored deleter. If D is a
-   //!   reference type then <tt>get_deleter()</tt> returns a reference to the lvalue d.
-   //!
-   //! <b>Remarks</b>: This constructor shall not participate in overload resolution unless:
-   //!      - If T is not an array type and Pointer is implicitly convertible to pointer.
-   //!      - If T is an array type and Pointer is a more CV qualified pointer to element_type.
-   template<class Pointer>
-   BOOST_MOVE_FORCEINLINE unique_ptr(Pointer p, BOOST_MOVE_SEEDOC(deleter_arg_type1) d1
-      BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_ptr<T BOOST_MOVE_I Pointer BOOST_MOVE_I pointer>::type* =0)
-              ) BOOST_NOEXCEPT
-      : m_data(p, d1)
-   {
-      //If T is not an array type, element_type_t<Pointer> derives from T
-      //it uses the default deleter and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
-                            <D, typename bmupd::get_element_type<Pointer>::type>::value ));
-   }
-
-   //! <b>Effects</b>: Same effects as <tt>template<class Pointer> unique_ptr(Pointer p, deleter_arg_type1 d1)</tt>
-   //!   and additionally <tt>get() == nullptr</tt>
-   BOOST_MOVE_FORCEINLINE unique_ptr(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), BOOST_MOVE_SEEDOC(deleter_arg_type1) d1) BOOST_NOEXCEPT
-      : m_data(pointer(), d1)
-   {}
-
-   //! The signature of this constructor depends upon whether D is a reference type.
-   //!   - If D is non-reference type A, then the signature is <tt>unique_ptr(pointer p, A&& d)</tt>.
-   //!   - If D is an lvalue-reference type A&, then the signature is <tt>unique_ptr(pointer p, A&& d)</tt>.
-   //!   - If D is an lvalue-reference type const A&, then the signature is <tt>unique_ptr(pointer p, const A&& d)</tt>.
-   //!
-   //! <b>Requires</b>: Either
-   //!   - D is not an lvalue-reference type and d is a non-const rvalue. D
-   //!      shall satisfy the requirements of MoveConstructible, and the move constructor
-   //!      of D shall not throw an exception. This unique_ptr will hold a value move constructed from d.
-   //!   - D is an lvalue-reference type and d is an rvalue, the program is ill-formed.
-   //!
-   //! <b>Effects</b>: Constructs a unique_ptr object which owns p, initializing the stored pointer with p and
-   //!   initializing the deleter as described above.
-   //! 
-   //! <b>Postconditions</b>: <tt>get() == p</tt>. <tt>get_deleter()</tt> returns a reference to the stored deleter. If D is a
-   //!   reference type then <tt>get_deleter()</tt> returns a reference to the lvalue d.
-   //!
-   //! <b>Remarks</b>: This constructor shall not participate in overload resolution unless:
-   //!      - If T is not an array type and Pointer is implicitly convertible to pointer.
-   //!      - If T is an array type and Pointer is a more CV qualified pointer to element_type.
-   template<class Pointer>
-   BOOST_MOVE_FORCEINLINE unique_ptr(Pointer p, BOOST_MOVE_SEEDOC(deleter_arg_type2) d2
-      BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_ptr<T BOOST_MOVE_I Pointer BOOST_MOVE_I pointer>::type* =0)
-             ) BOOST_NOEXCEPT
-      : m_data(p, ::boost::move(d2))
-   {
-      //If T is not an array type, element_type_t<Pointer> derives from T
-      //it uses the default deleter and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
-                            <D, typename bmupd::get_element_type<Pointer>::type>::value ));
-   }
-
-   //! <b>Effects</b>: Same effects as <tt>template<class Pointer> unique_ptr(Pointer p, deleter_arg_type2 d2)</tt>
-   //!   and additionally <tt>get() == nullptr</tt>
-   BOOST_MOVE_FORCEINLINE unique_ptr(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), BOOST_MOVE_SEEDOC(deleter_arg_type2) d2) BOOST_NOEXCEPT
-      : m_data(pointer(), ::boost::move(d2))
-   {}
-
-   //! <b>Requires</b>: If D is not a reference type, D shall satisfy the requirements of MoveConstructible.
-   //! Construction of the deleter from an rvalue of type D shall not throw an exception.
-   //! 
-   //! <b>Effects</b>: Constructs a unique_ptr by transferring ownership from u to *this. If D is a reference type,
-   //! this deleter is copy constructed from u's deleter; otherwise, this deleter is move constructed from u's
-   //! deleter.
-   //! 
-   //! <b>Postconditions</b>: <tt>get()</tt> yields the value u.get() yielded before the construction. <tt>get_deleter()</tt>
-   //! returns a reference to the stored deleter that was constructed from u.get_deleter(). If D is a
-   //! reference type then <tt>get_deleter()</tt> and <tt>u.get_deleter()</tt> both reference the same lvalue deleter.
-   BOOST_MOVE_FORCEINLINE unique_ptr(BOOST_RV_REF(unique_ptr) u) BOOST_NOEXCEPT
-      : m_data(u.release(), ::boost::move_if_not_lvalue_reference<D>(u.get_deleter()))
-   {}
-
-   //! <b>Requires</b>: If E is not a reference type, construction of the deleter from an rvalue of type E shall be
-   //!   well formed and shall not throw an exception. Otherwise, E is a reference type and construction of the
-   //!   deleter from an lvalue of type E shall be well formed and shall not throw an exception.
-   //!
-   //! <b>Remarks</b>: This constructor shall not participate in overload resolution unless:
-   //!   - <tt>unique_ptr<U, E>::pointer</tt> is implicitly convertible to pointer,
-   //!   - U is not an array type, and
-   //!   - either D is a reference type and E is the same type as D, or D is not a reference type and E is
-   //!      implicitly convertible to D.
-   //!
-   //! <b>Effects</b>: Constructs a unique_ptr by transferring ownership from u to *this. If E is a reference type,
-   //!   this deleter is copy constructed from u's deleter; otherwise, this deleter is move constructed from u's deleter.
-   //!
-   //! <b>Postconditions</b>: <tt>get()</tt> yields the value <tt>u.get()</tt> yielded before the construction. <tt>get_deleter()</tt>
-   //!   returns a reference to the stored deleter that was constructed from <tt>u.get_deleter()</tt>.
-   template <class U, class E>
-   BOOST_MOVE_FORCEINLINE unique_ptr( BOOST_RV_REF_BEG_IF_CXX11 unique_ptr<U, E> BOOST_RV_REF_END_IF_CXX11 u
-      BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_moveconv_constr<T BOOST_MOVE_I D BOOST_MOVE_I U BOOST_MOVE_I E>::type* =0)
-      ) BOOST_NOEXCEPT
-      : m_data(u.release(), ::boost::move_if_not_lvalue_reference<E>(u.get_deleter()))
-   {
-      //If T is not an array type, U derives from T
-      //it uses the default deleter and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
-                            <D, typename unique_ptr<U, E>::pointer>::value ));
-   }
-
-   //! <b>Requires</b>: The expression <tt>get_deleter()(get())</tt> shall be well formed, shall have well-defined behavior,
-   //!   and shall not throw exceptions.
-   //!
-   //! <b>Effects</b>: If <tt>get() == nullpt1r</tt> there are no effects. Otherwise <tt>get_deleter()(get())</tt>.
-   //!
-   //! <b>Note</b>: The use of default_delete requires T to be a complete type
-   ~unique_ptr()
-   {  if(m_data.m_p) m_data.deleter()(m_data.m_p);   }
-
-   //! <b>Requires</b>: If D is not a reference type, D shall satisfy the requirements of MoveAssignable
-   //!   and assignment of the deleter from an rvalue of type D shall not throw an exception. Otherwise, D
-   //!   is a reference type; <tt>remove_reference<D>::type</tt> shall satisfy the CopyAssignable requirements and
-   //!   assignment of the deleter from an lvalue of type D shall not throw an exception.
-   //!
-   //! <b>Effects</b>: Transfers ownership from u to *this as if by calling <tt>reset(u.release())</tt> followed
-   //!   by <tt>get_deleter() = std::forward<D>(u.get_deleter())</tt>.
-   //!
-   //! <b>Returns</b>: *this.
-   unique_ptr& operator=(BOOST_RV_REF(unique_ptr) u) BOOST_NOEXCEPT
-   {
-      this->reset(u.release());
-      m_data.deleter() = ::boost::move_if_not_lvalue_reference<D>(u.get_deleter());
-      return *this;
-   }
-
-   //! <b>Requires</b>: If E is not a reference type, assignment of the deleter from an rvalue of type E shall be
-   //!   well-formed and shall not throw an exception. Otherwise, E is a reference type and assignment of the
-   //!   deleter from an lvalue of type E shall be well-formed and shall not throw an exception.
-   //!
-   //! <b>Remarks</b>: This operator shall not participate in overload resolution unless:
-   //!   - <tt>unique_ptr<U, E>::pointer</tt> is implicitly convertible to pointer and
-   //!   - U is not an array type.
-   //!
-   //! <b>Effects</b>: Transfers ownership from u to *this as if by calling <tt>reset(u.release())</tt> followed by
-   //!   <tt>get_deleter() = std::forward<E>(u.get_deleter())</tt>.
-   //!
-   //! <b>Returns</b>: *this.
-   template <class U, class E>
-   BOOST_MOVE_DOC1ST(unique_ptr&, typename bmupd::enable_up_moveconv_assign
-         <T BOOST_MOVE_I D BOOST_MOVE_I U BOOST_MOVE_I E BOOST_MOVE_I unique_ptr &>::type)
-      operator=(BOOST_RV_REF_BEG unique_ptr<U, E> BOOST_RV_REF_END u) BOOST_NOEXCEPT
-   {
-      this->reset(u.release());
-      m_data.deleter() = ::boost::move_if_not_lvalue_reference<E>(u.get_deleter());
-      return *this;
-   }
-
-   //! <b>Effects</b>: <tt>reset()</tt>.
-   //!
-   //! <b>Postcondition</b>: <tt>get() == nullptr</tt>
-   //!
-   //! <b>Returns</b>: *this.
-   unique_ptr& operator=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT
-   {  this->reset(); return *this;  }
-
-   //! <b>Requires</b>: <tt>get() != nullptr</tt>.
-   //!
-   //! <b>Returns</b>: <tt>*get()</tt>.
-   //!
-   //! <b>Remarks</b: If T is an array type, the program is ill-formed.
-   BOOST_MOVE_DOC1ST(element_type&, typename bmupmu::add_lvalue_reference<element_type>::type)
-      operator*() const BOOST_NOEXCEPT
-   {
-      BOOST_STATIC_ASSERT((!bmupmu::is_array<T>::value));
-      return *m_data.m_p;
-   }
-
-   //! <b>Requires</b>: i < the number of elements in the array to which the stored pointer points.
-   //!
-   //! <b>Returns</b>: <tt>get()[i]</tt>.
-   //!
-   //! <b>Remarks</b: If T is not an array type, the program is ill-formed.
-   BOOST_MOVE_FORCEINLINE BOOST_MOVE_DOC1ST(element_type&, typename bmupmu::add_lvalue_reference<element_type>::type)
-      operator[](std::size_t i) const BOOST_NOEXCEPT
-   {
-      BOOST_ASSERT( bmupmu::extent<T>::value == 0 || i < bmupmu::extent<T>::value );
-      BOOST_ASSERT(m_data.m_p);
-      return m_data.m_p[i];
-   }
-
-   //! <b>Requires</b>: <tt>get() != nullptr</tt>.
-   //!
-   //! <b>Returns</b>: <tt>get()</tt>.
-   //!
-   //! <b>Note</b>: use typically requires that T be a complete type.
-   //!
-   //! <b>Remarks</b: If T is an array type, the program is ill-formed.
-   BOOST_MOVE_FORCEINLINE pointer operator->() const BOOST_NOEXCEPT
-   {
-      BOOST_STATIC_ASSERT((!bmupmu::is_array<T>::value));
-      BOOST_ASSERT(m_data.m_p);
-      return m_data.m_p;
-   }
-
-   //! <b>Returns</b>: The stored pointer.
-   //!
-   BOOST_MOVE_FORCEINLINE pointer get() const BOOST_NOEXCEPT
-   {  return m_data.m_p;  }
-
-   //! <b>Returns</b>: A reference to the stored deleter.
-   //!
-   BOOST_MOVE_FORCEINLINE BOOST_MOVE_DOC1ST(D&, typename bmupmu::add_lvalue_reference<D>::type)
-      get_deleter() BOOST_NOEXCEPT
-   {  return m_data.deleter();  }   
-
-   //! <b>Returns</b>: A reference to the stored deleter.
-   //!
-   BOOST_MOVE_FORCEINLINE BOOST_MOVE_DOC1ST(const D&, typename bmupmu::add_const_lvalue_reference<D>::type)
-      get_deleter() const BOOST_NOEXCEPT
-   {  return m_data.deleter();  }
-
-   #ifdef BOOST_MOVE_DOXYGEN_INVOKED
-   //! <b>Returns</b>: Returns: get() != nullptr.
-   //!
-   BOOST_MOVE_FORCEINLINE explicit operator bool
-   #else
-   BOOST_MOVE_FORCEINLINE operator bmupd::explicit_bool_arg
-   #endif
-      ()const BOOST_NOEXCEPT
-   {
-      return m_data.m_p
-         ? &bmupd::bool_conversion::for_bool
-         : bmupd::explicit_bool_arg(0);
-   }
-
-   //! <b>Postcondition</b>: <tt>get() == nullptr</tt>.
-   //!
-   //! <b>Returns</b>: The value <tt>get()</tt> had at the start of the call to release.   
-   BOOST_MOVE_FORCEINLINE pointer release() BOOST_NOEXCEPT
-   {
-      const pointer tmp = m_data.m_p;
-      m_data.m_p = pointer();
-      return tmp;
-   }
-
-   //! <b>Requires</b>: The expression <tt>get_deleter()(get())</tt> shall be well formed, shall have well-defined behavior,
-   //!   and shall not throw exceptions.
-   //!
-   //! <b>Effects</b>: assigns p to the stored pointer, and then if the old value of the stored pointer, old_p, was not
-   //!   equal to nullptr, calls <tt>get_deleter()(old_p)</tt>. Note: The order of these operations is significant
-   //!   because the call to <tt>get_deleter()</tt> may destroy *this.
-   //!
-   //! <b>Postconditions</b>: <tt>get() == p</tt>. Note: The postcondition does not hold if the call to <tt>get_deleter()</tt>
-   //!   destroys *this since <tt>this->get()</tt> is no longer a valid expression.
-   //!
-   //! <b>Remarks</b>: This constructor shall not participate in overload resolution unless:
-   //!      - If T is not an array type and Pointer is implicitly convertible to pointer.
-   //!      - If T is an array type and Pointer is a more CV qualified pointer to element_type.
-   template<class Pointer>
-   BOOST_MOVE_DOC1ST(void, typename bmupd::enable_up_ptr<T BOOST_MOVE_I Pointer BOOST_MOVE_I pointer BOOST_MOVE_I void>::type)
-      reset(Pointer p) BOOST_NOEXCEPT
-   {
-      //If T is not an array type, element_type_t<Pointer> derives from T
-      //it uses the default deleter and T has no virtual destructor, then you have a problem
-      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
-                            <D, typename bmupd::get_element_type<Pointer>::type>::value ));
-      pointer tmp = m_data.m_p;
-      m_data.m_p = p;
-      if(tmp) m_data.deleter()(tmp);
-   }
-
-   //! <b>Requires</b>: The expression <tt>get_deleter()(get())</tt> shall be well formed, shall have well-defined behavior,
-   //!   and shall not throw exceptions.
-   //!
-   //! <b>Effects</b>: assigns nullptr to the stored pointer, and then if the old value of the stored pointer, old_p, was not
-   //!   equal to nullptr, calls <tt>get_deleter()(old_p)</tt>. Note: The order of these operations is significant
-   //!   because the call to <tt>get_deleter()</tt> may destroy *this.
-   //!
-   //! <b>Postconditions</b>: <tt>get() == p</tt>. Note: The postcondition does not hold if the call to <tt>get_deleter()</tt>
-   //!   destroys *this since <tt>this->get()</tt> is no longer a valid expression.
-   void reset() BOOST_NOEXCEPT
-   {  this->reset(pointer());  }
-
-   //! <b>Effects</b>: Same as <tt>reset()</tt>
-   //! 
-   void reset(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT
-   {  this->reset(); }
-
-   //! <b>Requires</b>: <tt>get_deleter()</tt> shall be swappable and shall not throw an exception under swap.
-   //!
-   //! <b>Effects</b>: Invokes swap on the stored pointers and on the stored deleters of *this and u.
-   void swap(unique_ptr& u) BOOST_NOEXCEPT
-   {
-      ::boost::adl_move_swap(m_data.m_p, u.m_data.m_p);
-      ::boost::adl_move_swap(m_data.deleter(), u.m_data.deleter());
-   }
-};
-
-//! <b>Effects</b>: Calls <tt>x.swap(y)</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE void swap(unique_ptr<T, D> &x, unique_ptr<T, D> &y) BOOST_NOEXCEPT
-{  x.swap(y); }
-
-//! <b>Returns</b>: <tt>x.get() == y.get()</tt>.
-//!
-template <class T1, class D1, class T2, class D2>
-BOOST_MOVE_FORCEINLINE bool operator==(const unique_ptr<T1, D1> &x, const unique_ptr<T2, D2> &y)
-{  return x.get() == y.get(); }
-
-//! <b>Returns</b>: <tt>x.get() != y.get()</tt>.
-//!
-template <class T1, class D1, class T2, class D2>
-BOOST_MOVE_FORCEINLINE bool operator!=(const unique_ptr<T1, D1> &x, const unique_ptr<T2, D2> &y)
-{  return x.get() != y.get(); }
-
-//! <b>Returns</b>: x.get() < y.get().
-//!
-//! <b>Remarks</b>: This comparison shall induce a
-//!   strict weak ordering betwen pointers.
-template <class T1, class D1, class T2, class D2>
-BOOST_MOVE_FORCEINLINE bool operator<(const unique_ptr<T1, D1> &x, const unique_ptr<T2, D2> &y)
-{  return x.get() < y.get();  }
-
-//! <b>Returns</b>: !(y < x).
-//!
-template <class T1, class D1, class T2, class D2>
-BOOST_MOVE_FORCEINLINE bool operator<=(const unique_ptr<T1, D1> &x, const unique_ptr<T2, D2> &y)
-{  return !(y < x);  }
-
-//! <b>Returns</b>: y < x.
-//!
-template <class T1, class D1, class T2, class D2>
-BOOST_MOVE_FORCEINLINE bool operator>(const unique_ptr<T1, D1> &x, const unique_ptr<T2, D2> &y)
-{  return y < x;  }
-
-//! <b>Returns</b>:!(x < y).
-//!
-template <class T1, class D1, class T2, class D2>
-BOOST_MOVE_FORCEINLINE bool operator>=(const unique_ptr<T1, D1> &x, const unique_ptr<T2, D2> &y)
-{  return !(x < y);  }
-
-//! <b>Returns</b>:!x.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator==(const unique_ptr<T, D> &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT
-{  return !x;  }
-
-//! <b>Returns</b>:!x.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator==(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr<T, D> &x) BOOST_NOEXCEPT
-{  return !x;  }
-
-//! <b>Returns</b>: (bool)x.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator!=(const unique_ptr<T, D> &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT
-{  return !!x;  }
-
-//! <b>Returns</b>: (bool)x.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator!=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr<T, D> &x) BOOST_NOEXCEPT
-{  return !!x;  }
-
-//! <b>Requires</b>: <tt>operator </tt> shall induce a strict weak ordering on unique_ptr<T, D>::pointer values.
-//!
-//! <b>Returns</b>: Returns <tt>x.get() < pointer()</tt>.
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator<(const unique_ptr<T, D> &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type))
-{  return x.get() < typename unique_ptr<T, D>::pointer();  }
-
-//! <b>Requires</b>: <tt>operator </tt> shall induce a strict weak ordering on unique_ptr<T, D>::pointer values.
-//!
-//! <b>Returns</b>: Returns <tt>pointer() < x.get()</tt>.
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator<(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr<T, D> &x)
-{  return typename unique_ptr<T, D>::pointer() < x.get();  }
-
-//! <b>Returns</b>: <tt>nullptr < x</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator>(const unique_ptr<T, D> &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type))
-{  return x.get() > typename unique_ptr<T, D>::pointer();  }
-
-//! <b>Returns</b>: <tt>x < nullptr</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator>(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr<T, D> &x)
-{  return typename unique_ptr<T, D>::pointer() > x.get();  }
-
-//! <b>Returns</b>: <tt>!(nullptr < x)</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator<=(const unique_ptr<T, D> &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type))
-{  return !(bmupd::nullptr_type() < x);  }
-
-//! <b>Returns</b>: <tt>!(x < nullptr)</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator<=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr<T, D> &x)
-{  return !(x < bmupd::nullptr_type());  }
-
-//! <b>Returns</b>: <tt>!(x < nullptr)</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator>=(const unique_ptr<T, D> &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type))
-{  return !(x < bmupd::nullptr_type());  }
-
-//! <b>Returns</b>: <tt>!(nullptr < x)</tt>.
-//!
-template <class T, class D>
-BOOST_MOVE_FORCEINLINE bool operator>=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr<T, D> &x)
-{  return !(bmupd::nullptr_type() < x);  }
-
-}  //namespace movelib {
-}  //namespace boost{
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif   //#ifndef BOOST_MOVE_UNIQUE_PTR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/utility.hpp
deleted file mode 100644
index 28de793..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/utility.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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
-//! This header includes core utilities from <tt><boost/move/utility_core.hpp></tt> and defines
-//! some more advanced utilities such as:
-
-#ifndef BOOST_MOVE_MOVE_UTILITY_HPP
-#define BOOST_MOVE_MOVE_UTILITY_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>  //forceinline
-#include <boost/move/utility_core.hpp>
-#include <boost/move/traits.hpp>
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   namespace boost {
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            move_if_noexcept()
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < enable_move_utility_emulation<T>::value && !has_move_emulation_enabled<T>::value
-      , typename ::boost::move_detail::add_const<T>::type &
-      >::type
-         move_if_noexcept(T& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < enable_move_utility_emulation<T>::value && has_move_emulation_enabled<T>::value
-            && ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value, rv<T>&>::type
-         move_if_noexcept(T& x) BOOST_NOEXCEPT
-   {
-      return *static_cast<rv<T>* >(::boost::move_detail::addressof(x));
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < enable_move_utility_emulation<T>::value && has_move_emulation_enabled<T>::value
-            && ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value
-      , rv<T>&
-      >::type
-         move_if_noexcept(rv<T>& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < enable_move_utility_emulation<T>::value && has_move_emulation_enabled<T>::value
-            && !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value
-      , typename ::boost::move_detail::add_const<T>::type &
-      >::type
-         move_if_noexcept(T& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-      < enable_move_utility_emulation<T>::value && has_move_emulation_enabled<T>::value
-            && !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value
-      , typename ::boost::move_detail::add_const<T>::type &
-      >::type
-         move_if_noexcept(rv<T>& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   }  //namespace boost
-
-#else    //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-      #include <utility>
-
-      namespace boost{
-
-      using ::std::move_if_noexcept;
-
-      }  //namespace boost
-
-   #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
-
-      namespace boost {
-
-      //////////////////////////////////////////////////////////////////////////////
-      //
-      //                            move_if_noexcept()
-      //
-      //////////////////////////////////////////////////////////////////////////////
-      #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. Reference
-         //! would be converted to rvalue reference only if input type is nothrow move
-         //! constructible or if it has no copy constructor. In all other cases const
-         //! reference would be returned
-         template <class T>
-         rvalue_reference_or_const_lvalue_reference move_if_noexcept(input_reference) noexcept;
-
-      #else //BOOST_MOVE_DOXYGEN_INVOKED
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-            < ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value, T&&>::type
-               move_if_noexcept(T& x) BOOST_NOEXCEPT
-         {  return ::boost::move(x);   }
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c
-            < !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value, const T&>::type
-               move_if_noexcept(T& x) BOOST_NOEXCEPT
-         {  return x;  }
-
-      #endif //BOOST_MOVE_DOXYGEN_INVOKED
-
-      }  //namespace boost {
-
-   #endif   //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-
-#endif   //BOOST_NO_CXX11_RVALUE_REFERENCES
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_MOVE_UTILITY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/move/utility_core.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/move/utility_core.hpp
deleted file mode 100644
index 55042a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/move/utility_core.hpp
+++ /dev/null
@@ -1,318 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (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
-//! This header defines core utilities to ease the development
-//! of move-aware functions. This header minimizes dependencies
-//! from other libraries.
-
-#ifndef BOOST_MOVE_MOVE_UTILITY_CORE_HPP
-#define BOOST_MOVE_MOVE_UTILITY_CORE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-#  include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#  pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-#include <boost/move/detail/workaround.hpp>  //forceinline
-#include <boost/move/core.hpp>
-#include <boost/move/detail/meta_utils.hpp>
-#include <boost/static_assert.hpp>
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   namespace boost {
-
-   template<class T>
-   struct enable_move_utility_emulation
-   {
-      static const bool value = true;
-   };
-    
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            move()
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < T &
-      , enable_move_utility_emulation<T>
-      , has_move_emulation_disabled<T>
-      >::type
-         move(T& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < rv<T>&
-      , enable_move_utility_emulation<T>
-      , has_move_emulation_enabled<T>
-      >::type
-         move(T& x) BOOST_NOEXCEPT
-   {
-      return *BOOST_MOVE_TO_RV_CAST(::boost::rv<T>*, ::boost::move_detail::addressof(x) );
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < rv<T>&
-      , enable_move_utility_emulation<T>
-      , has_move_emulation_enabled<T>
-      >::type
-         move(rv<T>& x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                            forward()
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < T &
-      , enable_move_utility_emulation<T>
-      , ::boost::move_detail::is_rv<T>
-      >::type
-         forward(const typename ::boost::move_detail::identity<T>::type &x) BOOST_NOEXCEPT
-   {
-      return const_cast<T&>(x);
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < const T &
-      , enable_move_utility_emulation<T>
-      , ::boost::move_detail::is_not_rv<T>
-      >::type
-         forward(const typename ::boost::move_detail::identity<T>::type &x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   //////////////////////////////////////////////////////////////////////////////
-   //
-   //                        move_if_not_lvalue_reference()
-   //
-   //////////////////////////////////////////////////////////////////////////////
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < T &
-      , enable_move_utility_emulation<T>
-      , ::boost::move_detail::is_rv<T>
-      >::type
-         move_if_not_lvalue_reference(const typename ::boost::move_detail::identity<T>::type &x) BOOST_NOEXCEPT
-   {
-      return const_cast<T&>(x);
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < typename ::boost::move_detail::add_lvalue_reference<T>::type
-      , enable_move_utility_emulation<T>
-      , ::boost::move_detail::is_not_rv<T>
-      , ::boost::move_detail::or_
-         < ::boost::move_detail::is_lvalue_reference<T>
-         , has_move_emulation_disabled<T>
-         >
-      >::type
-         move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference<T>::type &x) BOOST_NOEXCEPT
-   {
-      return x;
-   }
-
-   template <class T>
-   BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and
-      < rv<T>&
-      , enable_move_utility_emulation<T>
-      , ::boost::move_detail::is_not_rv<T>
-      , ::boost::move_detail::and_
-         < ::boost::move_detail::not_< ::boost::move_detail::is_lvalue_reference<T> >
-         , has_move_emulation_enabled<T>
-         >
-      >::type
-         move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference<T>::type &x) BOOST_NOEXCEPT
-   {
-      return move(x);
-   }
-
-   }  //namespace boost
-
-#else    //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-   #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-      #include <utility>
-
-      namespace boost{
-
-      using ::std::move;
-      using ::std::forward;
-
-      }  //namespace boost
-
-   #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
-
-      namespace boost {
-
-      //! This trait's internal boolean `value` is false in compilers with rvalue references
-      //! and true in compilers without rvalue references.
-      //!
-      //! A user can specialize this trait for a type T to false to SFINAE out `move` and `forward`
-      //! so that the user can define a different move emulation for that type in namespace boost
-      //! (e.g. another Boost library for its types) and avoid any overload ambiguity.
-      template<class T>
-      struct enable_move_utility_emulation
-      {
-         static const bool value = false;
-      };
-
-      //////////////////////////////////////////////////////////////////////////////
-      //
-      //                                  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 if `T` is Boost.Move
-         //! enabled type then it converts `T&` into <tt>::boost::rv<T> &</tt> so that
-         //! move emulation is activated, else it returns `T &`.
-         template <class T>
-         rvalue_reference move(input_reference) noexcept;
-
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-
-         //Old move approach, lvalues could bind to rvalue references
-         template <class T>
-         BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::remove_reference<T>::type && move(T&& t) BOOST_NOEXCEPT
-         {  return t;   }
-
-      #else //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::remove_reference<T>::type && move(T&& t) BOOST_NOEXCEPT
-         { return static_cast<typename ::boost::move_detail::remove_reference<T>::type &&>(t); }
-
-      #endif   //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
-
-      //////////////////////////////////////////////////////////////////////////////
-      //
-      //                                  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 for
-         //! achieve the limited 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::rv<T> &
-         //!
-         //! * Else, output_reference is equal to input_reference.
-         template <class T> output_reference forward(input_reference) noexcept;
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-
-         //Old move approach, lvalues could bind to rvalue references
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE T&& forward(typename ::boost::move_detail::identity<T>::type&& t) BOOST_NOEXCEPT
-         {  return t;   }
-
-      #else //Old move
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE T&& forward(typename ::boost::move_detail::remove_reference<T>::type& t) BOOST_NOEXCEPT
-         {  return static_cast<T&&>(t);   }
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE T&& forward(typename ::boost::move_detail::remove_reference<T>::type&& t) BOOST_NOEXCEPT
-         {
-            //"boost::forward<T> error: 'T' is a lvalue reference, can't forward as rvalue.";
-            BOOST_STATIC_ASSERT(!boost::move_detail::is_lvalue_reference<T>::value);
-            return static_cast<T&&>(t);
-         }
-
-      #endif   //BOOST_MOVE_DOXYGEN_INVOKED
-
-      //////////////////////////////////////////////////////////////////////////////
-      //
-      //                         move_if_not_lvalue_reference
-      //
-      //////////////////////////////////////////////////////////////////////////////
-
-
-      #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
-         //! <b>Effects</b>: Calls `boost::move` if `input_reference` is not a lvalue reference.
-         //!   Otherwise returns the reference
-         template <class T> output_reference move_if_not_lvalue_reference(input_reference) noexcept;
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
-
-         //Old move approach, lvalues could bind to rvalue references
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE T&& move_if_not_lvalue_reference(typename ::boost::move_detail::identity<T>::type&& t) BOOST_NOEXCEPT
-         {  return t;   }
-
-      #else //Old move
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE T&& move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference<T>::type& t) BOOST_NOEXCEPT
-         {  return static_cast<T&&>(t);   }
-
-         template <class T>
-         BOOST_MOVE_FORCEINLINE T&& move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference<T>::type&& t) BOOST_NOEXCEPT
-         {
-            //"boost::forward<T> error: 'T' is a lvalue reference, can't forward as rvalue.";
-            BOOST_STATIC_ASSERT(!boost::move_detail::is_lvalue_reference<T>::value);
-            return static_cast<T&&>(t);
-         }
-
-      #endif   //BOOST_MOVE_DOXYGEN_INVOKED
-
-      }  //namespace boost {
-
-   #endif   //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
-
-#endif   //BOOST_NO_CXX11_RVALUE_REFERENCES
-
-#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-namespace boost{
-namespace move_detail{
-
-template <typename T>
-typename boost::move_detail::add_rvalue_reference<T>::type declval();
-
-}  //namespace move_detail{
-}  //namespace boost{
-
-#endif   //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_MOVE_MOVE_UTILITY_CORE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpi.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpi.hpp
deleted file mode 100644
index d9ed0c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpi.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (C) 2006 Douglas Gregor <doug.gregor -at- gmail.com>.
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// Message Passing Interface
-
-//  See www.boost.org/libs/mpi for documentation.
-
-/** @file mpi.hpp
- *
- *  This file is a top-level convenience header that includes all of
- *  the Boost.MPI library headers. Users concerned about compile time
- *  may wish to include only specific headers from the Boost.MPI
- *  library.
- *
- */
-#ifndef BOOST_MPI_HPP
-#define BOOST_MPI_HPP
-
-#include <boost/mpi/allocator.hpp>
-#include <boost/mpi/collectives.hpp>
-#include <boost/mpi/communicator.hpp>
-#include <boost/mpi/datatype.hpp>
-#include <boost/mpi/environment.hpp>
-#include <boost/mpi/graph_communicator.hpp>
-#include <boost/mpi/group.hpp>
-#include <boost/mpi/intercommunicator.hpp>
-#include <boost/mpi/nonblocking.hpp>
-#include <boost/mpi/operations.hpp>
-#include <boost/mpi/skeleton_and_content.hpp>
-#include <boost/mpi/timer.hpp>
-
-#endif // BOOST_MPI_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/O1_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/O1_size.hpp
deleted file mode 100644
index 98bd3a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/O1_size_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/O1_size_fwd.hpp
deleted file mode 100644
index c84a7a5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/accumulate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/accumulate.hpp
deleted file mode 100644
index dc2c75e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/accumulate.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_ACCUMULATE_HPP_INCLUDED
-#define BOOST_MPL_ACCUMULATE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/fold.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 accumulate
-    : fold<Sequence,State,ForwardOp>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,accumulate,(Sequence,State,ForwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, accumulate)
-
-}}
-
-#endif // BOOST_MPL_ACCUMULATE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/advance.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/advance.hpp
deleted file mode 100644
index 1af6004..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/advance_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/advance_fwd.hpp
deleted file mode 100644
index 8038410..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/alias.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/alias.hpp
deleted file mode 100644
index f0fe0ca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/alias.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_ALIAS_HPP_INCLUDED
-#define BOOST_MPL_ALIAS_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$
-// $Date$
-// $Revision$
-
-namespace {
-namespace mpl = boost::mpl;
-}
-
-#endif // BOOST_MPL_ALIAS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/always.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/always.hpp
deleted file mode 100644
index 5fe7132..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/always.hpp
+++ /dev/null
@@ -1,38 +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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/arity_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Value > struct always
-{
-    template<
-        BOOST_MPL_PP_DEFAULT_PARAMS(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, typename T, na)
-        >
-    struct apply
-    {
-        typedef Value type;
-    };
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(0, always)
-
-}}
-
-#endif // BOOST_MPL_ALWAYS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/and.hpp
deleted file mode 100644
index 454aaf2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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) && !defined(__clang__)
-#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) && !defined(__clang__)
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/apply.hpp
deleted file mode 100644
index 581eb68..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/apply_fwd.hpp
deleted file mode 100644
index 5f5fa78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/apply_wrap.hpp
deleted file mode 100644
index b807779..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/arg.hpp
deleted file mode 100644
index f51adfa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/arg_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/arg_fwd.hpp
deleted file mode 100644
index 7346dc3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/arithmetic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/arithmetic.hpp
deleted file mode 100644
index 7729fd2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/arithmetic.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_ARITHMETIC_HPP_INCLUDED
-#define BOOST_MPL_ARITHMETIC_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/times.hpp>
-#include <boost/mpl/divides.hpp>
-#include <boost/mpl/modulus.hpp>
-#include <boost/mpl/negate.hpp>
-#include <boost/mpl/multiplies.hpp> // deprecated
-
-#endif // BOOST_MPL_ARITHMETIC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/as_sequence.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/as_sequence.hpp
deleted file mode 100644
index 7e671b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/as_sequence.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED
-#define BOOST_MPL_AS_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/single_view.hpp>
-#include <boost/mpl/if.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 as_sequence
-    : if_< is_sequence<T>, T, single_view<T> >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,as_sequence,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, as_sequence)
-
-}}
-
-#endif // BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/assert.hpp
deleted file mode 100644
index 4d860a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/assert.hpp
+++ /dev/null
@@ -1,439 +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$
-// $Date$
-// $Revision$
-
-#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/gpu.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(BOOST_MSVC, == 1700)
-#include <boost/mpl/if.hpp>
-#endif
-
-#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) || (BOOST_MPL_CFG_GPU != 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 BOOST_WORKAROUND(BOOST_MSVC, == 1700)
-
-template<class Pred>
-struct extract_assert_pred;
-
-template<class Pred>
-struct extract_assert_pred<void(Pred)> { typedef Pred type; };
-
-template<class Pred>
-struct eval_assert {
-    typedef typename extract_assert_pred<Pred>::type P;
-    typedef typename P::type p_type;
-    typedef typename ::boost::mpl::if_c<p_type::value,
-        AUX778076_ASSERT_ARG(assert<false>),
-        failed ************ P::************
-    >::type type;
-};
-
-template<class Pred>
-struct eval_assert_not {
-    typedef typename extract_assert_pred<Pred>::type P;
-    typedef typename P::type p_type;
-    typedef typename ::boost::mpl::if_c<!p_type::value,
-        AUX778076_ASSERT_ARG(assert<false>),
-        failed ************ ::boost::mpl::not_<P>::************
-    >::type type;
-};
-
-template< typename T >
-T make_assert_arg();
-
-#elif !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
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
-
-// 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::make_assert_arg< \
-                  typename boost::mpl::eval_assert<void pred>::type \
-                >() \
-            ) \
-        ) \
-    ) \
-/**/
-
-// BOOST_MPL_ASSERT_NOT((pred<x,...>))
-
-#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::make_assert_arg< \
-                  typename boost::mpl::eval_assert_not<void pred>::type \
-                >() \
-            ) \
-        ) \
-    ) \
-/**/
-
-#else
-
-// 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
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/at.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/at.hpp
deleted file mode 100644
index aa90e59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/at_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/at_fwd.hpp
deleted file mode 100644
index 6aaae38..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/O1_size_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/O1_size_impl.hpp
deleted file mode 100644
index 3bcbd0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/adl_barrier.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/adl_barrier.hpp
deleted file mode 100644
index 3968c24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/advance_backward.hpp
deleted file mode 100644
index df56793..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/advance_forward.hpp
deleted file mode 100644
index 62b0101..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/apply_1st.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/apply_1st.hpp
deleted file mode 100644
index b567748..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/apply_1st.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED
-#define BOOST_MPL_AUX_APPLY_1ST_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/apply.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-struct apply_1st
-{
-    template< typename Pair, typename T > struct apply
-        : apply2<
-              typename Pair::first
-            , typename Pair::second
-            , T
-            >
-    {
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arg_typedef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arg_typedef.hpp
deleted file mode 100644
index 362db16..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arithmetic_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arithmetic_op.hpp
deleted file mode 100644
index 0171db5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arity.hpp
deleted file mode 100644
index d13ab4a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arity_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/arity_spec.hpp
deleted file mode 100644
index 7c82214..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/at_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/at_impl.hpp
deleted file mode 100644
index 9239374..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/back_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/back_impl.hpp
deleted file mode 100644
index a3c7248..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/back_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_BACK_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation, requires at least bi-directional iterators;
-// conrete sequences might override it by specializing either the 
-// 'back_impl' or the primary 'back' template
-
-template< typename Tag >
-struct back_impl
-{
-    template< typename Sequence > struct apply
-    {
-        typedef typename end<Sequence>::type end_;
-        typedef typename prior<end_>::type last_;
-        typedef typename deref<last_>::type type;
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, back_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/basic_bind.hpp
deleted file mode 100644
index 6c1f643..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/basic_bind.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_BASIC_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$
-// $Date$
-// $Revision$
-
-#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-#include <boost/mpl/bind.hpp>
-
-#endif // BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/begin_end_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/begin_end_impl.hpp
deleted file mode 100644
index 58b70dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/clear_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/clear_impl.hpp
deleted file mode 100644
index 20b270c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/common_name_wknd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/common_name_wknd.hpp
deleted file mode 100644
index 00758b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/comparison_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/comparison_op.hpp
deleted file mode 100644
index 2df72d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/adl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/adl.hpp
deleted file mode 100644
index e9bdf11..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/arrays.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/arrays.hpp
deleted file mode 100644
index a9ea68a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/bcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/bcc.hpp
deleted file mode 100644
index fe4941a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/bind.hpp
deleted file mode 100644
index 10bcb94..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/compiler.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/compiler.hpp
deleted file mode 100644
index 7d3e3b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/ctps.hpp
deleted file mode 100644
index af78f47..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dependent_nttp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dependent_nttp.hpp
deleted file mode 100644
index 5c2e24d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dependent_nttp.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// GCC and EDG-based compilers incorrectly reject the following code:
-//   template< typename T, T n > struct a;
-//   template< typename T > struct b;
-//   template< typename T, T n > struct b< a<T,n> > {};
-
-#if    !defined(BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(300)) \
-        || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
-        )
-
-#   define BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
deleted file mode 100644
index 9f8ea8c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dtp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/dtp.hpp
deleted file mode 100644
index 4379b6b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/eti.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/eti.hpp
deleted file mode 100644
index 519d433..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/forwarding.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/forwarding.hpp
deleted file mode 100644
index b4296ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/gcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/gcc.hpp
deleted file mode 100644
index 080495d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/gpu.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/gpu.hpp
deleted file mode 100644
index 0e5ed78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/gpu.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED
-
-// Copyright Eric Niebler 2014
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_MPL_CFG_GPU_ENABLED) \
-
-#   define BOOST_MPL_CFG_GPU_ENABLED BOOST_GPU_ENABLED
-
-#endif
-
-#if defined __CUDACC__
-
-#    define BOOST_MPL_CFG_GPU 1
-
-#else
-
-#    define BOOST_MPL_CFG_GPU 0
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/has_apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/has_apply.hpp
deleted file mode 100644
index 4dc01c6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/has_xxx.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/has_xxx.hpp
deleted file mode 100644
index b0f2f8c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/integral.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/integral.hpp
deleted file mode 100644
index 144542d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/intel.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/intel.hpp
deleted file mode 100644
index 5bd9159..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-
-// BOOST_INTEL_CXX_VERSION is defined here:
-#include <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/lambda.hpp
deleted file mode 100644
index 93fbafe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/msvc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/msvc.hpp
deleted file mode 100644
index 8a6b924..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-
-// BOOST_MSVC is defined here:
-#include <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/msvc_typename.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/msvc_typename.hpp
deleted file mode 100644
index feedc16..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/nttp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/nttp.hpp
deleted file mode 100644
index 11125a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/operators.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/operators.hpp
deleted file mode 100644
index 3fb9db3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/operators.hpp
+++ /dev/null
@@ -1,34 +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$
-// $Date$
-// $Revision$
-
-#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)) \
-        || BOOST_WORKAROUND(__NVCC__, BOOST_TESTED_AT(1)) \
-        )
-
-#   define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/overload_resolution.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/overload_resolution.hpp
deleted file mode 100644
index 61e4486..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/pp_counter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/pp_counter.hpp
deleted file mode 100644
index e7fb8d6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/preprocessor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/preprocessor.hpp
deleted file mode 100644
index 82ebc68..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/static_constant.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/static_constant.hpp
deleted file mode 100644
index ece38fb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/ttp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/ttp.hpp
deleted file mode 100644
index 3aff3f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/typeof.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/typeof.hpp
deleted file mode 100644
index cde6179..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/use_preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/use_preprocessed.hpp
deleted file mode 100644
index 8fd5c60..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/workaround.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/config/workaround.hpp
deleted file mode 100644
index 82c6329..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#include <boost/detail/workaround.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/contains_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/contains_impl.hpp
deleted file mode 100644
index b80caea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/count_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/count_args.hpp
deleted file mode 100644
index b432d37..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/count_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/count_impl.hpp
deleted file mode 100644
index 2f1200c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/count_impl.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_COUNT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/count_fwd.hpp>
-#include <boost/mpl/count_if.hpp>
-#include <boost/mpl/same_as.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct count_impl
-{
-    template< typename Sequence, typename T > struct apply
-#if BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x561))
-    {
-        typedef typename count_if< Sequence,same_as<T> >::type type;
-        BOOST_STATIC_CONSTANT(int, value = BOOST_MPL_AUX_VALUE_WKND(type)::value);
-#else
-        : count_if< Sequence,same_as<T> >
-    {
-#endif
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,count_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/empty_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/empty_impl.hpp
deleted file mode 100644
index cfe55ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/erase_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/erase_impl.hpp
deleted file mode 100644
index ab763be..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/erase_impl.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ERASE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/clear.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'erase_impl' or the primary 'erase' template
-
-template< typename Tag >
-struct erase_impl
-{
-    template<
-          typename Sequence
-        , typename First
-        , typename Last
-        >
-    struct apply
-    {
-        typedef typename if_na< Last,typename next<First>::type >::type last_;
-        
-        // 1st half: [begin, first)
-        typedef iterator_range<
-              typename begin<Sequence>::type
-            , First
-            > first_half_;
-
-        // 2nd half: [last, end) ... that is, [last + 1, end)
-        typedef iterator_range<
-              last_
-            , typename end<Sequence>::type
-            > second_half_;
-
-        typedef typename reverse_fold<
-              second_half_
-            , typename clear<Sequence>::type
-            , push_front<_,_>
-            >::type half_sequence_;
-
-        typedef typename reverse_fold<
-              first_half_
-            , half_sequence_
-            , push_front<_,_>
-            >::type type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/erase_key_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/erase_key_impl.hpp
deleted file mode 100644
index 4d213a5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/erase_key_impl.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ERASE_KEY_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/erase_key_fwd.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag >
-struct erase_key_impl
-{
-    template< typename Sequence, typename Key > struct apply;
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, erase_key_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/filter_iter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/filter_iter.hpp
deleted file mode 100644
index e4237f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/filter_iter.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED
-#define BOOST_MPL_AUX_FILTER_ITER_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename Predicate
-    > 
-struct filter_iter;
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename Predicate
-    >
-struct next_filter_iter
-{
-    typedef typename find_if<
-          iterator_range<Iterator,LastIterator>
-        , Predicate
-        >::type base_iter_;
- 
-    typedef filter_iter<base_iter_,LastIterator,Predicate> type;
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename Predicate
-    >
-struct filter_iter
-{
-    typedef Iterator base;
-    typedef forward_iterator_tag category;
-    typedef typename aux::next_filter_iter<
-          typename mpl::next<base>::type
-        , LastIterator
-        , Predicate
-        >::type next;
-    
-    typedef typename deref<base>::type type;
-};
-
-template<
-      typename LastIterator
-    , typename Predicate
-    >
-struct filter_iter< LastIterator,LastIterator,Predicate >
-{
-    typedef LastIterator base;
-    typedef forward_iterator_tag category;
-};
-
-#else
-
-template< bool >
-struct filter_iter_impl
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename Predicate
-        >
-    struct result_
-    {
-        typedef Iterator base;
-        typedef forward_iterator_tag category;
-        typedef typename next_filter_iter<
-              typename mpl::next<Iterator>::type
-            , LastIterator
-            , Predicate
-            >::type next;
-        
-        typedef typename deref<base>::type type;
-    };
-};
-
-template<>
-struct filter_iter_impl< true >
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename Predicate
-        >
-    struct result_
-    {
-        typedef Iterator base;
-        typedef forward_iterator_tag category;
-    };
-};
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename Predicate
-    >
-struct filter_iter
-    : filter_iter_impl<
-          ::boost::is_same<Iterator,LastIterator>::value
-        >::template result_< Iterator,LastIterator,Predicate >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::filter_iter)
-
-}}
-
-#endif // BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/find_if_pred.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/find_if_pred.hpp
deleted file mode 100644
index c07d89d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_impl.hpp
deleted file mode 100644
index 97c88c5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_impl_body.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_impl_body.hpp
deleted file mode 100644
index 02dd645..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#   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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_op.hpp
deleted file mode 100644
index 722c22c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_op.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED
-#define BOOST_MPL_AUX_FOLD_OP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/apply.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// hand-written version is more efficient than bind/lambda expression
-template< typename Op >
-struct fold_op
-{
-    template< typename T1, typename T2 > struct apply
-    {
-        typedef typename apply2<
-              Op
-            , T1
-            , typename T2::type
-            >::type type;
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_pred.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_pred.hpp
deleted file mode 100644
index 3156400..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/fold_pred.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED
-#define BOOST_MPL_AUX_FOLD_PRED_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/same_as.hpp>
-#include <boost/mpl/apply.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Last >
-struct fold_pred
-{
-    template<
-          typename State
-        , typename Iterator
-        >
-    struct apply
-        : not_same_as<Last>::template apply<Iterator>
-    {
-    };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/front_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/front_impl.hpp
deleted file mode 100644
index 9493c1c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/full_lambda.hpp
deleted file mode 100644
index 918aff5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_apply.hpp
deleted file mode 100644
index 9c16a35..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_begin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_begin.hpp
deleted file mode 100644
index 4ee415c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_key_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_key_impl.hpp
deleted file mode 100644
index 7a0e9b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_rebind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_rebind.hpp
deleted file mode 100644
index eb4eda6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_size.hpp
deleted file mode 100644
index ff29913..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_tag.hpp
deleted file mode 100644
index 3912a76..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/has_type.hpp
deleted file mode 100644
index 6744ef5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/include_preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/include_preprocessed.hpp
deleted file mode 100644
index c13434c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/insert_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/insert_impl.hpp
deleted file mode 100644
index 03a304b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/insert_impl.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-#ifndef BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_INSERT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/clear.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/aux_/na_spec.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 'insert_impl' or the primary 'insert' template
-
-template< typename Tag >
-struct insert_impl
-{
-    template<
-          typename Sequence
-        , typename Pos
-        , typename T
-        >
-    struct apply
-    {
-        typedef iterator_range<
-              typename begin<Sequence>::type
-            , Pos
-            > first_half_;
-
-        typedef iterator_range<
-              Pos
-            , typename end<Sequence>::type
-            > second_half_;
-
-        typedef typename reverse_fold<
-              second_half_
-            , typename clear<Sequence>::type
-            , push_front<_,_>
-            >::type half_sequence_;
-
-        typedef typename reverse_fold<
-              first_half_
-            , typename push_front<half_sequence_,T>::type
-            , push_front<_,_>
-            >::type type;
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_impl)
-
-}}
-
-#endif // BOOST_MPL_INSERT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/insert_range_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/insert_range_impl.hpp
deleted file mode 100644
index fa43315..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/insert_range_impl.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_INSERT_RANGE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/insert.hpp>
-#include <boost/mpl/clear.hpp>
-#include <boost/mpl/joint_view.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/iter_push_front.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-#include <boost/type_traits/same_traits.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by 
-// specializing either the 'insert_range_impl' or the primary 
-// 'insert_range' template
-
-
-template< typename Tag >
-struct insert_range_impl
-{
-    template<
-          typename Sequence
-        , typename Pos
-        , typename Range
-        >
-    struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : reverse_fold<
-              joint_view<
-                  iterator_range<typename begin<Sequence>::type,Pos>
-                , joint_view<
-                      Range
-                    , iterator_range<Pos,typename end<Sequence>::type>
-                    >
-                >
-            , typename clear<Sequence>::type
-            , insert<_1, begin<_1>, _2>
-            >
-    {
-#else
-    {
-        typedef typename reverse_fold<
-                joint_view<
-                    iterator_range<typename begin<Sequence>::type,Pos>
-                  , joint_view<
-                        Range
-                      , iterator_range<Pos,typename end<Sequence>::type>
-                      >
-                  >
-              , typename clear<Sequence>::type
-              , insert<_1, begin<_1>, _2>
-              >::type type;
-#endif
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_range_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/inserter_algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/inserter_algorithm.hpp
deleted file mode 100644
index 20ae816..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/integral_wrapper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/integral_wrapper.hpp
deleted file mode 100644
index 6bc05f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-// 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")
-    BOOST_CONSTEXPR 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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/is_msvc_eti_arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/is_msvc_eti_arg.hpp
deleted file mode 100644
index 4989940..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_apply.hpp
deleted file mode 100644
index 41dfdfa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_fold_if_impl.hpp
deleted file mode 100644
index 6372e83..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_fold_impl.hpp
deleted file mode 100644
index b4d2922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_push_front.hpp
deleted file mode 100644
index 35ccc4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/iter_push_front.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_ITER_PUSH_FRONT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/deref.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template<
-      typename Sequence
-    , typename Iterator
-    >
-struct iter_push_front
-{
-    typedef typename push_front<
-          Sequence
-        , typename deref<Iterator>::type
-        >::type type;
-};
-
-}}}
-
-#endif // BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/joint_iter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/joint_iter.hpp
deleted file mode 100644
index 277580e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/joint_iter.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED
-#define BOOST_MPL_AUX_JOINT_ITER_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   include <boost/type_traits/is_same.hpp>
-#endif
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename Iterator1
-    , typename LastIterator1
-    , typename Iterator2
-    >
-struct joint_iter
-{
-    typedef Iterator1 base;
-    typedef forward_iterator_tag category;
-};
-
-template<
-      typename LastIterator1
-    , typename Iterator2
-    >
-struct joint_iter<LastIterator1,LastIterator1,Iterator2>
-{
-    typedef Iterator2 base;
-    typedef forward_iterator_tag category;
-};
-
-
-template< typename I1, typename L1, typename I2 >
-struct deref< joint_iter<I1,L1,I2> >
-{
-    typedef typename joint_iter<I1,L1,I2>::base base_;
-    typedef typename deref<base_>::type type;
-};
-
-template< typename I1, typename L1, typename I2 >
-struct next< joint_iter<I1,L1,I2> >
-{
-    typedef joint_iter< typename mpl::next<I1>::type,L1,I2 > type;
-};
-
-template< typename L1, typename I2 >
-struct next< joint_iter<L1,L1,I2> >
-{
-    typedef joint_iter< L1,L1,typename mpl::next<I2>::type > type;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template<
-      typename Iterator1
-    , typename LastIterator1
-    , typename Iterator2
-    >
-struct joint_iter;
-
-template< bool > struct joint_iter_impl
-{
-    template< typename I1, typename L1, typename I2 > struct result_
-    {
-        typedef I1 base;
-        typedef forward_iterator_tag category;
-        typedef joint_iter< typename mpl::next<I1>::type,L1,I2 > next;
-        typedef typename deref<I1>::type type;
-    };
-};
-
-template<> struct joint_iter_impl<true>
-{
-    template< typename I1, typename L1, typename I2 > struct result_
-    {
-        typedef I2 base;
-        typedef forward_iterator_tag category;
-        typedef joint_iter< L1,L1,typename mpl::next<I2>::type > next;
-        typedef typename deref<I2>::type type;
-    };
-};
-
-template<
-      typename Iterator1
-    , typename LastIterator1
-    , typename Iterator2
-    >
-struct joint_iter
-    : joint_iter_impl< is_same<Iterator1,LastIterator1>::value >
-        ::template result_<Iterator1,LastIterator1,Iterator2>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, joint_iter)
-
-}}
-
-#endif // BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_arity_param.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_arity_param.hpp
deleted file mode 100644
index 63cfcd4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_no_ctps.hpp
deleted file mode 100644
index 9e0d020..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_spec.hpp
deleted file mode 100644
index 6ffacc0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_support.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/lambda_support.hpp
deleted file mode 100644
index 5b2af58..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/largest_int.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/largest_int.hpp
deleted file mode 100644
index feaa1ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/logical_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/logical_op.hpp
deleted file mode 100644
index 0ba2510..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_dtw.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_dtw.hpp
deleted file mode 100644
index d595b23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_eti_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_eti_base.hpp
deleted file mode 100644
index 0d8ace6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_is_class.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_is_class.hpp
deleted file mode 100644
index acd40e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_never_true.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_never_true.hpp
deleted file mode 100644
index 2df9b81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/msvc_type.hpp
deleted file mode 100644
index bea244f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na.hpp
deleted file mode 100644
index f079c1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na_assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na_assert.hpp
deleted file mode 100644
index 1983c09..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na_fwd.hpp
deleted file mode 100644
index 4388241..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/na_spec.hpp
deleted file mode 100644
index d052fce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/nested_type_wknd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/nested_type_wknd.hpp
deleted file mode 100644
index 4207abd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/nttp_decl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/nttp_decl.hpp
deleted file mode 100644
index 8c344d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/numeric_cast_utils.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/numeric_cast_utils.hpp
deleted file mode 100644
index a7ac85a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/numeric_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/numeric_op.hpp
deleted file mode 100644
index 5492557..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/order_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/order_impl.hpp
deleted file mode 100644
index 2c14521..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/order_impl.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ORDER_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/order_fwd.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/has_key.hpp>
-#include <boost/mpl/aux_/overload_names.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; requires 'Seq' to provide corresponding overloads 
-// of BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY
-
-template< typename Seq, typename Key > struct x_order_impl
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-    || BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
-{
-    BOOST_STATIC_CONSTANT(long, value = 
-          sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(
-              Seq
-            , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*, 0)
-            ) )
-        );
-
-    typedef long_<value> type;
-
-#else // ISO98 C++
-    : long_< 
-          sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(
-              Seq
-            , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*, 0)
-            ) )
-        >
-{
-#endif
-};
-
-template< typename Tag >
-struct order_impl
-{
-    template< typename Seq, typename Key > struct apply
-        : if_<
-              typename has_key_impl<Tag>::template apply<Seq,Key>
-            , x_order_impl<Seq,Key>
-            , void_
-            >::type
-    {
-    };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,order_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/overload_names.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/overload_names.hpp
deleted file mode 100644
index f9bbb39..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/partition_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/partition_op.hpp
deleted file mode 100644
index 79d4937..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/partition_op.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED
-#define BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED
-
-// Copyright Eric Friedman 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-
-namespace boost { namespace mpl { 
-
-namespace aux {
-
-template< typename Pred, typename In1Op, typename In2Op >
-struct partition_op
-{
-    template< typename State, typename T >
-    struct apply
-    {
-        typedef typename State::first first_;
-        typedef typename State::second second_;
-        typedef typename apply1< Pred,T >::type pred_;
-
-        typedef typename eval_if<
-              pred_
-            , apply2<In1Op,first_,T>
-            , apply2<In2Op,second_,T>
-            >::type result_;
-
-        typedef typename if_<
-              pred_
-            , pair< result_,second_ >
-            , pair< first_,result_ >
-            >::type type;
-    };
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::partition_op)
-
-}}
-
-#endif // BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/pop_back_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/pop_back_impl.hpp
deleted file mode 100644
index 2b54e0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/pop_back_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_POP_BACK_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/pop_back_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 pop_back_impl
-{
-    template< typename Sequence > struct apply;
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_back_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/pop_front_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/pop_front_impl.hpp
deleted file mode 100644
index 7697b1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
deleted file mode 100644
index 5cb50dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
deleted file mode 100644
index 9654ee3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/and.hpp
deleted file mode 100644
index f345689..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/apply.hpp
deleted file mode 100644
index bce7c2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
deleted file mode 100644
index 1ba706f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
deleted file mode 100644
index 45b75c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/arg.hpp
deleted file mode 100644
index 3ac4340..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
deleted file mode 100644
index 74b0029..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bind.hpp
deleted file mode 100644
index e769a0c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
deleted file mode 100644
index 962b5c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bitand.hpp
deleted file mode 100644
index 527b689..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bitor.hpp
deleted file mode 100644
index 3f0d5ca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
deleted file mode 100644
index 06996c0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/deque.hpp
deleted file mode 100644
index 06505c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/divides.hpp
deleted file mode 100644
index 6b4178a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
deleted file mode 100644
index 901a93c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
deleted file mode 100644
index 45ab4e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
deleted file mode 100644
index 8b2bf59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/greater.hpp
deleted file mode 100644
index 3d1c3dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
deleted file mode 100644
index fb01186..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/inherit.hpp
deleted file mode 100644
index 6adcc01..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
deleted file mode 100644
index b767e95..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
deleted file mode 100644
index 1dd216c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
deleted file mode 100644
index 75b30ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/less.hpp
deleted file mode 100644
index 0b6ce1d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
deleted file mode 100644
index 0010e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/list.hpp
deleted file mode 100644
index cbd58ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/list_c.hpp
deleted file mode 100644
index 495c3f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/map.hpp
deleted file mode 100644
index 80ef156..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/minus.hpp
deleted file mode 100644
index cfddc15..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/modulus.hpp
deleted file mode 100644
index eb5eff0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
deleted file mode 100644
index 68356ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/or.hpp
deleted file mode 100644
index ff7ce9f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
deleted file mode 100644
index b306bbb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/plus.hpp
deleted file mode 100644
index 82539ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/quote.hpp
deleted file mode 100644
index 677a3f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
deleted file mode 100644
index 372f0d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 44aadf7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/set.hpp
deleted file mode 100644
index ace3a4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/set_c.hpp
deleted file mode 100644
index 4e6993c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
deleted file mode 100644
index 6d19e94..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
deleted file mode 100644
index dd31d97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
deleted file mode 100644
index b24a0a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/times.hpp
deleted file mode 100644
index ab100f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
deleted file mode 100644
index f391dc1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/vector.hpp
deleted file mode 100644
index 803e217..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
deleted file mode 100644
index 643b7fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
deleted file mode 100644
index 2ffe709..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
deleted file mode 100644
index a29daa0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bind.hpp
deleted file mode 100644
index 34b1b5c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
deleted file mode 100644
index 022cba3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
deleted file mode 100644
index e3eef71..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/quote.hpp
deleted file mode 100644
index e7a7f00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
deleted file mode 100644
index 7a07414..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 39a4057..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
deleted file mode 100644
index 1164f0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
deleted file mode 100644
index ef7c2b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
deleted file mode 100644
index 5cb50dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
deleted file mode 100644
index 9654ee3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
deleted file mode 100644
index f345689..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
deleted file mode 100644
index bce7c2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
deleted file mode 100644
index 1ba706f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
deleted file mode 100644
index d88129d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
deleted file mode 100644
index 3ac4340..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
deleted file mode 100644
index 74b0029..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
deleted file mode 100644
index e769a0c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
deleted file mode 100644
index 962b5c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
deleted file mode 100644
index 527b689..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
deleted file mode 100644
index 3f0d5ca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
deleted file mode 100644
index 06996c0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
deleted file mode 100644
index 06505c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
deleted file mode 100644
index 6b4178a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
deleted file mode 100644
index 901a93c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
deleted file mode 100644
index 45ab4e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
deleted file mode 100644
index 8b2bf59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
deleted file mode 100644
index 3d1c3dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
deleted file mode 100644
index fb01186..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
deleted file mode 100644
index 6adcc01..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
deleted file mode 100644
index b767e95..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
deleted file mode 100644
index 1dd216c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
deleted file mode 100644
index 75b30ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
deleted file mode 100644
index 0b6ce1d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
deleted file mode 100644
index 0010e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
deleted file mode 100644
index cbd58ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
deleted file mode 100644
index 495c3f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
deleted file mode 100644
index 80ef156..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
deleted file mode 100644
index cfddc15..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
deleted file mode 100644
index eb5eff0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
deleted file mode 100644
index 68356ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
deleted file mode 100644
index ff7ce9f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
deleted file mode 100644
index b306bbb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
deleted file mode 100644
index 82539ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
deleted file mode 100644
index 7f9d18b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
deleted file mode 100644
index 372f0d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 44aadf7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
deleted file mode 100644
index ace3a4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
deleted file mode 100644
index 4e6993c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
deleted file mode 100644
index 6d19e94..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
deleted file mode 100644
index dd31d97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
deleted file mode 100644
index b24a0a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
deleted file mode 100644
index ab100f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
deleted file mode 100644
index f391dc1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
deleted file mode 100644
index 803e217..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
deleted file mode 100644
index 643b7fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
deleted file mode 100644
index 1e73429..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bind.hpp
deleted file mode 100644
index 94bfe1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
deleted file mode 100644
index 181bc77..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
deleted file mode 100644
index 026418c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/quote.hpp
deleted file mode 100644
index d7d0420..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
deleted file mode 100644
index a23fc23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
deleted file mode 100644
index b070232..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp
deleted file mode 100644
index 0e9513a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
deleted file mode 100644
index e3eef71..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/quote.hpp
deleted file mode 100644
index 020f093..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
deleted file mode 100644
index daec4b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
deleted file mode 100644
index 36337c8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
deleted file mode 100644
index 4ffbe78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/and.hpp
deleted file mode 100644
index 555c800..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
deleted file mode 100644
index a3e2929..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
deleted file mode 100644
index f0f86c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
deleted file mode 100644
index 4e89507..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
deleted file mode 100644
index 4f12a40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bind.hpp
deleted file mode 100644
index 53c76e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
deleted file mode 100644
index 022cba3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
deleted file mode 100644
index e96cf1a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
deleted file mode 100644
index bbc96ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
deleted file mode 100644
index 4c14297..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/deque.hpp
deleted file mode 100644
index a0445d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/divides.hpp
deleted file mode 100644
index 7681491..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
deleted file mode 100644
index 64e9065..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
deleted file mode 100644
index 4b3c690..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/greater.hpp
deleted file mode 100644
index 5f5662d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
deleted file mode 100644
index ae776fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
deleted file mode 100644
index 233a1ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
deleted file mode 100644
index 69aadc4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/less.hpp
deleted file mode 100644
index 951f060..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
deleted file mode 100644
index a56e692..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/list.hpp
deleted file mode 100644
index e5ea456..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
deleted file mode 100644
index ab25482..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/map.hpp
deleted file mode 100644
index 970e0b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/minus.hpp
deleted file mode 100644
index b47f328..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
deleted file mode 100644
index c12b3f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
deleted file mode 100644
index 6e56b1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/or.hpp
deleted file mode 100644
index 3f7394e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/plus.hpp
deleted file mode 100644
index 1052335..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/quote.hpp
deleted file mode 100644
index e7a7f00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
deleted file mode 100644
index adf15b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 208ad97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/set.hpp
deleted file mode 100644
index 95aaa5c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
deleted file mode 100644
index 1ff34f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
deleted file mode 100644
index 3861ca1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
deleted file mode 100644
index 24ea094..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
deleted file mode 100644
index 1668771..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/times.hpp
deleted file mode 100644
index dee7fd4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
deleted file mode 100644
index 26533dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/vector.hpp
deleted file mode 100644
index a6c7b62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
deleted file mode 100644
index c522d08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/and.hpp
deleted file mode 100644
index e58640a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/apply.hpp
deleted file mode 100644
index d46d030..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
deleted file mode 100644
index f0f86c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
deleted file mode 100644
index d307517..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
deleted file mode 100644
index 4f12a40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bind.hpp
deleted file mode 100644
index 53c76e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
deleted file mode 100644
index 022cba3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
deleted file mode 100644
index e54b4ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
deleted file mode 100644
index 3b465b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
deleted file mode 100644
index f7c5d43..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/deque.hpp
deleted file mode 100644
index a0445d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/divides.hpp
deleted file mode 100644
index 0c60c43..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
deleted file mode 100644
index 107912b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
deleted file mode 100644
index 58066d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/greater.hpp
deleted file mode 100644
index f60a860..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
deleted file mode 100644
index 2ab09fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
deleted file mode 100644
index 233a1ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
deleted file mode 100644
index 50ea754..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/less.hpp
deleted file mode 100644
index 72338de..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
deleted file mode 100644
index b588697..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/list.hpp
deleted file mode 100644
index e5ea456..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
deleted file mode 100644
index ab25482..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/map.hpp
deleted file mode 100644
index 970e0b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/minus.hpp
deleted file mode 100644
index 3237fa6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
deleted file mode 100644
index 9c672c0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
deleted file mode 100644
index 1e48e7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/or.hpp
deleted file mode 100644
index 8d0ba0a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/plus.hpp
deleted file mode 100644
index c8f3355..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/quote.hpp
deleted file mode 100644
index b85880f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
deleted file mode 100644
index 7a07414..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 39a4057..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/set.hpp
deleted file mode 100644
index 95aaa5c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
deleted file mode 100644
index 1ff34f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
deleted file mode 100644
index 176fc00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
deleted file mode 100644
index 6b6e01f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
deleted file mode 100644
index 1668771..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/times.hpp
deleted file mode 100644
index a6ae333..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
deleted file mode 100644
index 26533dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/vector.hpp
deleted file mode 100644
index a6c7b62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
deleted file mode 100644
index c522d08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
deleted file mode 100644
index 2ffe709..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
deleted file mode 100644
index b070232..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bind.hpp
deleted file mode 100644
index 0e9513a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/quote.hpp
deleted file mode 100644
index d7d0420..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
deleted file mode 100644
index a23fc23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/and.hpp
deleted file mode 100644
index 555c800..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
deleted file mode 100644
index 9838e79..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
deleted file mode 100644
index 7de6dad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
deleted file mode 100644
index efa213d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
deleted file mode 100644
index 254e5b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
deleted file mode 100644
index 12062b4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
deleted file mode 100644
index 020d6ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
deleted file mode 100644
index 0474877..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
deleted file mode 100644
index 42a9758..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
deleted file mode 100644
index a0445d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
deleted file mode 100644
index 00636dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
deleted file mode 100644
index b14cdda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
deleted file mode 100644
index 58066d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
deleted file mode 100644
index 6fdf8ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
deleted file mode 100644
index f848eef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
deleted file mode 100644
index 233a1ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
deleted file mode 100644
index 50ea754..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/less.hpp
deleted file mode 100644
index 7fb35e1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
deleted file mode 100644
index 206ecdc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/list.hpp
deleted file mode 100644
index e5ea456..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
deleted file mode 100644
index ab25482..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/map.hpp
deleted file mode 100644
index 970e0b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
deleted file mode 100644
index 7b49450..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
deleted file mode 100644
index 8badbab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
deleted file mode 100644
index d87d8cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/or.hpp
deleted file mode 100644
index 3f7394e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
deleted file mode 100644
index a55b24c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
deleted file mode 100644
index b85880f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
deleted file mode 100644
index 7a07414..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 39a4057..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/set.hpp
deleted file mode 100644
index 95aaa5c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
deleted file mode 100644
index 1ff34f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
deleted file mode 100644
index d14a5e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
deleted file mode 100644
index 08c4915..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
deleted file mode 100644
index 1164f0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/times.hpp
deleted file mode 100644
index fd773cc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
deleted file mode 100644
index 26533dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
deleted file mode 100644
index a6c7b62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
deleted file mode 100644
index c522d08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
deleted file mode 100644
index 095b84d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
deleted file mode 100644
index 2891440..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
deleted file mode 100644
index 282771b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
deleted file mode 100644
index bc9c198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
deleted file mode 100644
index 76ce540..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
deleted file mode 100644
index 9bc7fb1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
deleted file mode 100644
index fa2dc4a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
deleted file mode 100644
index faa3f2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
deleted file mode 100644
index 392d142..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/less.hpp
deleted file mode 100644
index 6451680..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
deleted file mode 100644
index 00ae0d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
deleted file mode 100644
index bb67c59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
deleted file mode 100644
index 6fd0cab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
deleted file mode 100644
index 7c940a5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
deleted file mode 100644
index cecead7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
deleted file mode 100644
index e7a7f00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
deleted file mode 100644
index 7ef4672..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
deleted file mode 100644
index 91a98f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
deleted file mode 100644
index 1164f0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/times.hpp
deleted file mode 100644
index d019b57..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/and.hpp
deleted file mode 100644
index 163913f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/apply.hpp
deleted file mode 100644
index 89d9e4b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
deleted file mode 100644
index b070232..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bind.hpp
deleted file mode 100644
index 0e9513a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bitand.hpp
deleted file mode 100644
index ee40fb3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bitor.hpp
deleted file mode 100644
index 1e28d3b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/bitxor.hpp
deleted file mode 100644
index 2ba879d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/divides.hpp
deleted file mode 100644
index f365d62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/equal_to.hpp
deleted file mode 100644
index bbc6bf0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/greater.hpp
deleted file mode 100644
index 38c8bb3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
deleted file mode 100644
index 2aa8370..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/inherit.hpp
deleted file mode 100644
index 8b34e71..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
deleted file mode 100644
index f8f109c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/less.hpp
deleted file mode 100644
index 928d0e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/less_equal.hpp
deleted file mode 100644
index 364cd96..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/minus.hpp
deleted file mode 100644
index 0b8b5ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/modulus.hpp
deleted file mode 100644
index 6a64e49..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
deleted file mode 100644
index c08d7f0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/or.hpp
deleted file mode 100644
index 986b2e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/plus.hpp
deleted file mode 100644
index ed2e432..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/quote.hpp
deleted file mode 100644
index d7d0420..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/shift_left.hpp
deleted file mode 100644
index cf9c837..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/shift_right.hpp
deleted file mode 100644
index 477229f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/template_arity.hpp
deleted file mode 100644
index a23fc23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/times.hpp
deleted file mode 100644
index ca88d40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessed/plain/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/add.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/add.hpp
deleted file mode 100644
index 53e646e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/def_params_tail.hpp
deleted file mode 100644
index cab3989..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/default_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/default_params.hpp
deleted file mode 100644
index c3548c6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/enum.hpp
deleted file mode 100644
index 64c5e6a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/ext_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/ext_params.hpp
deleted file mode 100644
index f5e6e50..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/filter_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/filter_params.hpp
deleted file mode 100644
index 7c0df4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/is_seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/is_seq.hpp
deleted file mode 100644
index cb6dcb9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/is_seq.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED
-
-// Copyright Paul Mensonides 2003
-// 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$
-// $Date$
-// $Revision$
-
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/punctuation/paren.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/config/config.hpp>
-
-// returns 1 if 'seq' is a PP-sequence, 0 otherwise:
-//
-//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_IS_SEQ( int ) ) )
-//   BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (int) ) )
-//   BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (1)(2) ) )
-
-#if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()) || defined(_MSC_VER) && defined(__INTEL_COMPILER) && __INTEL_COMPILER == 1010
-
-#   define BOOST_MPL_PP_IS_SEQ(seq) BOOST_PP_DEC( BOOST_PP_SEQ_SIZE( BOOST_MPL_PP_IS_SEQ_(seq) ) )
-#   define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_MPL_PP_IS_SEQ_SEQ_( BOOST_MPL_PP_IS_SEQ_SPLIT_ seq )
-#   define BOOST_MPL_PP_IS_SEQ_SEQ_(x) (x)
-#   define BOOST_MPL_PP_IS_SEQ_SPLIT_(unused) unused)((unused)
-
-#else
-
-#   if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#       define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_MWCC_((seq))
-#       define BOOST_MPL_PP_IS_SEQ_MWCC_(args) BOOST_MPL_PP_IS_SEQ_ ## args
-#   else
-#       define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_(seq)
-#   endif
-
-#   define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_PP_CAT(BOOST_MPL_PP_IS_SEQ_, BOOST_MPL_PP_IS_SEQ_0 seq BOOST_PP_RPAREN())
-#   define BOOST_MPL_PP_IS_SEQ_0(x) BOOST_MPL_PP_IS_SEQ_1(x
-#   define BOOST_MPL_PP_IS_SEQ_ALWAYS_0(unused) 0
-#   define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_0 BOOST_MPL_PP_IS_SEQ_ALWAYS_0(
-#   define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_1(unused) 1
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/params.hpp
deleted file mode 100644
index acad321..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/partial_spec_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/partial_spec_params.hpp
deleted file mode 100644
index de5535c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/range.hpp
deleted file mode 100644
index d66eeb5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/range.hpp
+++ /dev/null
@@ -1,30 +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$
-// $Date$
-// $Revision$
-
-#include <boost/preprocessor/seq/subseq.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-
-#define BOOST_MPL_PP_RANGE_ITEM(z,n,_) (n)
-
-#define BOOST_MPL_PP_RANGE(first, length) \
-    BOOST_PP_SEQ_SUBSEQ( \
-        BOOST_PP_REPEAT(BOOST_PP_ADD(first,length), BOOST_MPL_PP_RANGE_ITEM, _), \
-        first, length \
-    ) \
-/**/
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/repeat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/repeat.hpp
deleted file mode 100644
index 0511367..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/sub.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/sub.hpp
deleted file mode 100644
index c794c74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/token_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/token_equal.hpp
deleted file mode 100644
index ffdb20f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/token_equal.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED
-
-// Copyright Paul Mensonides 2003
-// 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/preprocessor/is_seq.hpp>
-
-#include <boost/preprocessor/if.hpp>
-#include <boost/preprocessor/logical/bitand.hpp>
-#include <boost/preprocessor/logical/compl.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-// compares tokens 'a' and 'b' for equality:
-//
-//   #define BOOST_MPL_PP_TOKEN_EQUAL_apple(x) x
-//   #define BOOST_MPL_PP_TOKEN_EQUAL_orange(x) x
-//
-//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, abc) ) )
-//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(abc, apple) ) )
-//   BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, orange) ) )
-//   BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(apple, apple) )
-//   BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(orange, orange) )
-
-#define BOOST_MPL_PP_TOKEN_EQUAL(a, b) \
-    BOOST_PP_IIF( \
-        BOOST_PP_BITAND( \
-              BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, a)((unused)) ) \
-            , BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, b)((unused)) ) \
-            ) \
-        , BOOST_MPL_PP_TOKEN_EQUAL_I \
-        , 0 BOOST_PP_TUPLE_EAT(2) \
-        )(a, b) \
-/**/
-
-#define BOOST_MPL_PP_TOKEN_EQUAL_I(a, b) \
-    BOOST_PP_COMPL(BOOST_MPL_PP_IS_SEQ( \
-        BOOST_MPL_PP_TOKEN_EQUAL_ ## a( \
-            BOOST_MPL_PP_TOKEN_EQUAL_ ## b \
-            )((unused)) \
-        )) \
-/**/
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/preprocessor/tuple.hpp
deleted file mode 100644
index 755bbc5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/ptr_to_ref.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/ptr_to_ref.hpp
deleted file mode 100644
index 8517b30..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/push_back_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/push_back_impl.hpp
deleted file mode 100644
index 27e7a60..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/push_front_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/push_front_impl.hpp
deleted file mode 100644
index 5b83ee7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/O1_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/O1_size.hpp
deleted file mode 100644
index 9b393e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/O1_size.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/aux_/range_c/size.hpp>
-#include <boost/mpl/aux_/range_c/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct O1_size_impl< aux::half_open_range_tag >
-    : size_impl< aux::half_open_range_tag >
-{
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/back.hpp
deleted file mode 100644
index 5490108..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/back.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/back_fwd.hpp>
-#include <boost/mpl/prior.hpp>
-#include <boost/mpl/aux_/range_c/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct back_impl< aux::half_open_range_tag >
-{
-    template< typename Range > struct apply
-    {
-        typedef typename prior< typename Range::finish >::type type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/empty.hpp
deleted file mode 100644
index 574bdf2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/empty.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/aux_/range_c/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct empty_impl< aux::half_open_range_tag >
-{
-    template< typename Range > struct apply
-        : equal_to<
-              typename Range::start
-            , typename Range::finish
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/front.hpp
deleted file mode 100644
index 2964ab5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/front.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/aux_/range_c/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct front_impl< aux::half_open_range_tag >
-{
-    template< typename Range > struct apply
-    {
-        typedef typename Range::start type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/iterator.hpp
deleted file mode 100644
index 2c52905..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/iterator.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-// theoretically will work on any discrete numeric type
-template< typename N > struct r_iter
-{
-    typedef aux::r_iter_tag tag;
-    typedef random_access_iterator_tag category;
-    typedef N type;
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    typedef r_iter< typename mpl::next<N>::type > next;
-    typedef r_iter< typename mpl::prior<N>::type > prior;
-#endif
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename N
-    >
-struct next< r_iter<N> >
-{
-    typedef r_iter< typename mpl::next<N>::type > type;
-};
-
-template<
-      typename N
-    >
-struct prior< r_iter<N> >
-{
-    typedef r_iter< typename mpl::prior<N>::type > type;
-};
-
-#endif
-
-
-template<> struct advance_impl<aux::r_iter_tag>
-{
-    template< typename Iter, typename Dist > struct apply
-    {
-        typedef typename deref<Iter>::type n_;
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-        typedef typename plus_impl<integral_c_tag,integral_c_tag>
-            ::template apply<n_,Dist>::type m_;
-#else
-        typedef typename plus<n_,Dist>::type m_;
-#endif
-        // agurt, 10/nov/04: to be generic, the code have to do something along
-        // the lines below...
-        //
-        // typedef typename apply_wrap1<
-        //       numeric_cast< typename m_::tag, typename n_::tag >
-        //     , m_
-        //     >::type result_;
-        //
-        // ... meanwhile:
-        
-        typedef integral_c< 
-              typename aux::value_type_wknd<n_>::type
-            , BOOST_MPL_AUX_VALUE_WKND(m_)::value 
-            > result_;
-        
-        typedef r_iter<result_> type;
-    };
-};
-
-template<> struct distance_impl<aux::r_iter_tag>
-{
-    template< typename Iter1, typename Iter2 > struct apply
-        : minus<
-              typename Iter2::type
-            , typename Iter1::type
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/size.hpp
deleted file mode 100644
index 761a97c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/size.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/aux_/range_c/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct size_impl< aux::half_open_range_tag >
-{
-    template< typename Range > struct apply
-        : minus<
-              typename Range::finish
-            , typename Range::start
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/tag.hpp
deleted file mode 100644
index 7f8fdde..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/range_c/tag.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED
-#define BOOST_MPL_AUX_RANGE_C_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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl { namespace aux {
-
-struct half_open_range_tag;
-struct r_iter_tag;
-
-}}}
-
-#endif // BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/reverse_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/reverse_fold_impl.hpp
deleted file mode 100644
index a27a35f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/reverse_fold_impl_body.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/reverse_fold_impl_body.hpp
deleted file mode 100644
index 0f80010..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#   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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/reverse_iter_fold_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 83182a2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/sequence_wrapper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/sequence_wrapper.hpp
deleted file mode 100644
index 3f5e553..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#   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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/shift_op.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/shift_op.hpp
deleted file mode 100644
index b9840bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/shift_op.hpp
+++ /dev/null
@@ -1,87 +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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/integral_c.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 {
-
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)
-{
-    BOOST_STATIC_CONSTANT(T, value = (n AUX778076_OP_TOKEN s));
-    typedef integral_c<T,value> type;
-};
-}
-#endif
-
-template<>
-struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
-{
-    template< typename N, typename S > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-        : integral_c<
-              typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(S)::value
-                )
-            >
-#else
-        : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<
-              typename N::value_type
-            , typename S::value_type
-            , N::value
-            , S::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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/single_element_iter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/single_element_iter.hpp
deleted file mode 100644
index 9aceb74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/single_element_iter.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED
-#define BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl { 
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-
-template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) >
-struct sel_iter;
-
-template< typename T >
-struct sel_iter<T,0>
-{
-    typedef random_access_iterator_tag category;
-    typedef sel_iter<T,1> next;
-    typedef T type;
-};
-
-template< typename T >
-struct sel_iter<T,1>
-{
-    typedef random_access_iterator_tag category;
-    typedef sel_iter<T,0> prior;
-};
-
-} // namespace aux
-
-template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_), typename Distance >
-struct advance< aux::sel_iter<T,is_last_>,Distance>
-{
-    typedef aux::sel_iter<
-          T
-        , ( is_last_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Distance) )
-        > type;
-};
-
-template< 
-      typename T
-    , BOOST_MPL_AUX_NTTP_DECL(int, l1)
-    , BOOST_MPL_AUX_NTTP_DECL(int, l2) 
-    >
-struct distance< aux::sel_iter<T,l1>, aux::sel_iter<T,l2> >
-    : int_<( l2 - l1 )>
-{
-};
-
-#else
-
-namespace aux {
-
-struct sel_iter_tag;
-
-template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) >
-struct sel_iter
-{
-    enum { pos_ = is_last_ };
-    typedef aux::sel_iter_tag tag;
-    typedef random_access_iterator_tag category;
-
-    typedef sel_iter<T,(is_last_ + 1)> next;
-    typedef sel_iter<T,(is_last_ - 1)> prior;
-    typedef T type;
-};
-
-} // namespace aux
-
-template<> struct advance_impl<aux::sel_iter_tag>
-{
-    template< typename Iterator, typename N > struct apply
-    {
-        enum { pos_ = Iterator::pos_, n_ = N::value };
-        typedef aux::sel_iter<
-              typename Iterator::type
-            , (pos_ + n_)
-            > type;
-    };
-};
-
-template<> struct distance_impl<aux::sel_iter_tag>
-{
-    template< typename Iter1, typename Iter2 > struct apply
-    {
-        enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };
-        typedef int_<( pos2_ - pos1_ )> type;
-        BOOST_STATIC_CONSTANT(int, value = ( pos2_ - pos1_ ));
-    };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}
-
-#endif // BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/size_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/size_impl.hpp
deleted file mode 100644
index 50f5ee9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/sort_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/sort_impl.hpp
deleted file mode 100644
index 3820421..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/sort_impl.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED
-
-// 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/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/partition.hpp>
-#include <boost/mpl/copy.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/joint_view.hpp>
-#include <boost/mpl/single_view.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/empty.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Seq, typename Pred >
-struct quick_sort;
-
-// agurt, 10/nov/04: for the sake of deficeint compilers 
-template< typename Pred, typename Pivot >
-struct quick_sort_pred
-{
-    template< typename T > struct apply
-    {
-        typedef typename apply2<Pred,T,Pivot>::type type;
-    };
-};
-
-template< 
-      typename Seq
-    , typename Pred
-    >
-struct quick_sort_impl
-{
-    typedef typename begin<Seq>::type pivot;
-    typedef typename partition<
-          iterator_range< 
-              typename next<pivot>::type
-            , typename end<Seq>::type
-            >
-        , protect< aux::quick_sort_pred< Pred, typename deref<pivot>::type > >
-        , back_inserter< vector<> >
-        , back_inserter< vector<> >
-        >::type partitioned;
-
-    typedef typename quick_sort< typename partitioned::first, Pred >::type part1;
-    typedef typename quick_sort< typename partitioned::second, Pred >::type part2;
-
-    typedef joint_view< 
-              joint_view< part1, single_view< typename deref<pivot>::type > >
-            , part2
-            > type;
-};
-
-template< 
-      typename Seq
-    , typename Pred
-    >
-struct quick_sort
-    : eval_if<
-          empty<Seq>
-        , identity<Seq>
-        , quick_sort_impl<Seq,Pred>
-        >
-{
-};
-
-
-template <
-      typename Sequence
-    , typename Pred
-    , typename In
-    >
-struct sort_impl
-{
-    typedef typename quick_sort< 
-          Sequence
-        , typename if_na<Pred,less<> >::type
-        >::type result_;
-        
-    typedef typename copy<result_,In>::type type;
-};
-
-template <
-      typename Sequence
-    , typename Pred
-    , typename In
-    >
-struct reverse_sort_impl
-{
-    typedef typename quick_sort< 
-          Sequence
-        , typename if_na<Pred,less<> >::type
-        >::type result_;
-        
-    typedef typename reverse_copy<result_,In>::type type;
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/static_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/static_cast.hpp
deleted file mode 100644
index f72d1c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/template_arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/template_arity.hpp
deleted file mode 100644
index f011159..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/template_arity_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/template_arity_fwd.hpp
deleted file mode 100644
index 19d63a3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test.hpp
deleted file mode 100644
index 8d1dea6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TEST_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEST_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/test/test_case.hpp>
-#include <boost/mpl/aux_/test/data.hpp>
-#include <boost/mpl/aux_/test/assert.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-int main()
-{
-    return boost::report_errors();
-}
-
-using namespace boost;
-using namespace mpl;
-
-#endif // BOOST_MPL_AUX_TEST_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/assert.hpp
deleted file mode 100644
index 3bd8ba0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/assert.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEST_ASSERT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/assert.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define MPL_ASSERT(pred)                BOOST_MPL_ASSERT(pred)
-#define MPL_ASSERT_NOT(pred)            BOOST_MPL_ASSERT_NOT(pred)
-#define MPL_ASSERT_MSG(c, msg, types)   BOOST_MPL_ASSERT_MSG(c, msg, types)
-#define MPL_ASSERT_RELATION(x, rel, y)  BOOST_MPL_ASSERT_RELATION(x, rel, y)
-
-#define MPL_ASSERT_INSTANTIATION(x) \
-    enum { BOOST_PP_CAT(instantiation_test, __LINE__) = sizeof( x ) } \
-/**/
-
-#endif // BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/data.hpp
deleted file mode 100644
index 373e6c3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/data.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEST_DATA_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$
-// $Date$
-// $Revision$
-
-#include <boost/noncopyable.hpp>
-
-enum enum_ {};
-struct UDT {};
-struct incomplete;
-class abstract { public: virtual ~abstract() = 0; };
-using boost::noncopyable;
-
-#endif // BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/test_case.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/test_case.hpp
deleted file mode 100644
index b168a00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/test/test_case.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEST_TEST_CASE_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$
-// $Date$
-// $Revision$
-
-#include <boost/preprocessor/cat.hpp>
-
-#define MPL_TEST_CASE() void BOOST_PP_CAT(test,__LINE__)()
-
-#endif // BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/traits_lambda_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/traits_lambda_spec.hpp
deleted file mode 100644
index 4a7ff26..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/transform_iter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/transform_iter.hpp
deleted file mode 100644
index e42fcc6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/transform_iter.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED
-#define BOOST_MPL_AUX_TRANSFORM_ITER_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl { 
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename F
-    >
-struct transform_iter
-{
-    typedef Iterator base;
-    typedef forward_iterator_tag category;
-    typedef transform_iter< typename mpl::next<base>::type,LastIterator,F > next;
-    
-    typedef typename apply1<
-          F
-        , typename deref<base>::type
-        >::type type;
-};
-
-template<
-      typename LastIterator
-    , typename F
-    >
-struct transform_iter< LastIterator,LastIterator,F >
-{
-    typedef LastIterator base;
-    typedef forward_iterator_tag category;
-};
-
-#else
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename F
-    >
-struct transform_iter;
-
-template< bool >
-struct transform_iter_impl 
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename F
-        >
-    struct result_
-    {
-        typedef Iterator base;
-        typedef forward_iterator_tag category;
-        typedef transform_iter< typename mpl::next<Iterator>::type,LastIterator,F > next;
-        
-        typedef typename apply1<
-              F
-            , typename deref<Iterator>::type
-            >::type type;
-    };
-};
-
-template<>
-struct transform_iter_impl<true>
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename F
-        >
-    struct result_
-    {
-        typedef Iterator base;
-        typedef forward_iterator_tag category;
-    };
-};
-
-template<
-      typename Iterator
-    , typename LastIterator
-    , typename F
-    >
-struct transform_iter
-    : transform_iter_impl<
-          ::boost::is_same<Iterator,LastIterator>::value
-        >::template result_< Iterator,LastIterator,F >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::transform_iter)
-
-}}
-
-#endif // BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/type_wrapper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/type_wrapper.hpp
deleted file mode 100644
index f3ac307..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/unwrap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/unwrap.hpp
deleted file mode 100644
index caeb97d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/unwrap.hpp
+++ /dev/null
@@ -1,51 +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$
-// $Date$
-// $Revision$
-
-#include <boost/ref.hpp>
-#include <boost/mpl/aux_/config/gpu.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename F >
-BOOST_MPL_CFG_GPU_ENABLED
-inline
-F& unwrap(F& f, long)
-{
-    return f;
-}
-
-template< typename F >
-BOOST_MPL_CFG_GPU_ENABLED
-inline
-F&
-unwrap(reference_wrapper<F>& f, int)
-{
-    return f;
-}
-
-template< typename F >
-BOOST_MPL_CFG_GPU_ENABLED
-inline
-F&
-unwrap(reference_wrapper<F> const& f, int)
-{
-    return f;
-}
-
-}}}
-
-#endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/value_wknd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/value_wknd.hpp
deleted file mode 100644
index 23fefde..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/yes_no.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/aux_/yes_no.hpp
deleted file mode 100644
index 21a18a2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/back.hpp
deleted file mode 100644
index 2778c42..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/back.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_BACK_HPP_INCLUDED
-#define BOOST_MPL_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/back_fwd.hpp>
-#include <boost/mpl/aux_/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)
-    >
-struct back
-    : back_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,back,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, back)
-
-}}
-
-#endif // BOOST_MPL_BACK_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/back_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/back_fwd.hpp
deleted file mode 100644
index 119722c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/back_inserter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/back_inserter.hpp
deleted file mode 100644
index 8fc4083..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/base.hpp
deleted file mode 100644
index 8f43849..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/begin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/begin.hpp
deleted file mode 100644
index 15bdf7e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/begin.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_BEGIN_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/begin_end.hpp>
-
-#endif // BOOST_MPL_BEGIN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/begin_end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/begin_end.hpp
deleted file mode 100644
index b7074af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/begin_end_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/begin_end_fwd.hpp
deleted file mode 100644
index 70ef9ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/bind.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bind.hpp
deleted file mode 100644
index 63ee3f2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/bind_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bind_fwd.hpp
deleted file mode 100644
index 4746edd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitand.hpp
deleted file mode 100644
index 9c31c79..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitand.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_BITAND_HPP_INCLUDED
-#define BOOST_MPL_BITAND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2009
-// 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-// agurt, 23/jan/10: workaround a conflict with <iso646.h> header's 
-// macros, see http://tinyurl.com/ycwdxco; 'defined(bitand)'
-// has to be checked in a separate condition, otherwise GCC complains 
-// about 'bitand' being an alternative token
-#if defined(_MSC_VER) && !defined(__clang__)
-#ifndef __GCCXML__
-#if defined(bitand)
-#   pragma push_macro("bitand")
-#   undef bitand
-#   define bitand(x)
-#endif
-#endif
-#endif
-
-#define AUX778076_OP_NAME   bitand_
-#define AUX778076_OP_PREFIX bitand
-#define AUX778076_OP_TOKEN  &
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#if defined(_MSC_VER) && !defined(__clang__)
-#ifndef __GCCXML__
-#if defined(bitand)
-#   pragma pop_macro("bitand")
-#endif
-#endif
-#endif
-
-#endif // BOOST_MPL_BITAND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitor.hpp
deleted file mode 100644
index f009743..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitor.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_BITOR_HPP_INCLUDED
-#define BOOST_MPL_BITOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2009
-// 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-// agurt, 23/jan/10: workaround a conflict with <iso646.h> header's 
-// macros, see http://tinyurl.com/ycwdxco; 'defined(bitor)'
-// has to be checked in a separate condition, otherwise GCC complains 
-// about 'bitor' being an alternative token
-#if defined(_MSC_VER) && !defined(__clang__)
-#ifndef __GCCXML__
-#if defined(bitor)
-#   pragma push_macro("bitor")
-#   undef bitor
-#   define bitor(x)
-#endif
-#endif
-#endif
-
-#define AUX778076_OP_NAME   bitor_
-#define AUX778076_OP_PREFIX bitor
-#define AUX778076_OP_TOKEN  |
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#if defined(_MSC_VER) && !defined(__clang__)
-#ifndef __GCCXML__
-#if defined(bitor)
-#   pragma pop_macro("bitor")
-#endif
-#endif
-#endif
-
-#endif // BOOST_MPL_BITOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitwise.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitwise.hpp
deleted file mode 100644
index 9deb23e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitwise.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_BITWISE_HPP_INCLUDED
-#define BOOST_MPL_BITWISE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/bitand.hpp>
-#include <boost/mpl/bitor.hpp>
-#include <boost/mpl/bitxor.hpp>
-#include <boost/mpl/shift_left.hpp>
-#include <boost/mpl/shift_right.hpp>
-
-#endif // BOOST_MPL_BITWISE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitxor.hpp
deleted file mode 100644
index 7f98f17..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bitxor.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_BITXOR_HPP_INCLUDED
-#define BOOST_MPL_BITXOR_HPP_INCLUDED
-
-// 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#define AUX778076_OP_NAME   bitxor_
-#define AUX778076_OP_PREFIX bitxor
-#define AUX778076_OP_TOKEN  ^
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_BITXOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bool.hpp
deleted file mode 100644
index 0a6180c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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;
-    BOOST_CONSTEXPR 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/rbgl_trimmed_boost_1_61_0/boost/mpl/bool_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/bool_fwd.hpp
deleted file mode 100644
index e629252..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/char.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/char.hpp
deleted file mode 100644
index 08828c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/char.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_CHAR_HPP_INCLUDED
-#define BOOST_MPL_CHAR_HPP_INCLUDED
-
-// Copyright Eric Niebler 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.
-
-// $Source$
-// $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $
-// $Revision: 24874 $
-
-#include <boost/mpl/char_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE char
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_CHAR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/char_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/char_fwd.hpp
deleted file mode 100644
index 442d0a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/char_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_CHAR_FWD_HPP_INCLUDED
-#define BOOST_MPL_CHAR_FWD_HPP_INCLUDED
-
-// Copyright Eric Niebler 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.
-
-// $Source$
-// $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $
-// $Revision: 24874 $
-
-#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(char, N) > struct char_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(char_)
-
-#endif // BOOST_MPL_CHAR_FWD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/clear.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/clear.hpp
deleted file mode 100644
index c6b95ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/clear_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/clear_fwd.hpp
deleted file mode 100644
index d14a1d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/comparison.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/comparison.hpp
deleted file mode 100644
index 99dca9d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/contains.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/contains.hpp
deleted file mode 100644
index 02c2aa4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/contains_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/contains_fwd.hpp
deleted file mode 100644
index c7c6672..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/copy.hpp
deleted file mode 100644
index 6eafba3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/copy_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/copy_if.hpp
deleted file mode 100644
index 96d9172..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/copy_if.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-
-#ifndef BOOST_MPL_COPY_IF_HPP_INCLUDED
-#define BOOST_MPL_COPY_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/protect.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename Operation
-    , typename Predicate
-    >
-struct copy_if_op
-{
-    template< typename Sequence, typename T > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : eval_if<
-              typename apply1<Predicate,T>::type
-            , apply2<Operation,Sequence,T>
-            , identity<Sequence>
-            >
-    {
-#else
-    {
-        typedef typename eval_if<
-              typename apply1<Predicate,T>::type
-            , apply2<Operation,Sequence,T>
-            , identity<Sequence>
-            >::type type;
-#endif
-    };
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename Inserter
-    >
-struct copy_if_impl
-    : fold<
-          Sequence
-        , typename Inserter::state
-        , protect< aux::copy_if_op<
-              typename Inserter::operation
-            , Predicate
-            > >
-        >
-{
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename Inserter
-    >
-struct reverse_copy_if_impl
-    : reverse_fold<
-          Sequence
-        , typename Inserter::state
-        , protect< aux::copy_if_op<
-              typename Inserter::operation
-            , Predicate
-            > >
-        >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, copy_if)
-
-}}
-
-#endif // BOOST_MPL_COPY_IF_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count.hpp
deleted file mode 100644
index c845662..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_COUNT_HPP_INCLUDED
-#define BOOST_MPL_COUNT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/count_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/count_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 count
-    : count_impl< typename sequence_tag<Sequence>::type >
-        ::template apply<Sequence,T>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count,(Sequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, count)
-
-}}
-
-#endif // BOOST_MPL_COUNT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count_fwd.hpp
deleted file mode 100644
index 7d1ee17..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_COUNT_FWD_HPP_INCLUDED
-#define BOOST_MPL_COUNT_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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct count_impl;
-template< typename Sequence, typename T > struct count;
-
-}}
-
-#endif // BOOST_MPL_COUNT_FWD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count_if.hpp
deleted file mode 100644
index d81c395..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/count_if.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-
-#ifndef BOOST_MPL_COUNT_IF_HPP_INCLUDED
-#define BOOST_MPL_COUNT_IF_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/apply.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/forwarding.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Predicate >
-struct next_if
-{
-    template<
-          typename N
-        , typename T
-        >
-    struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : eval_if<
-              typename apply1<Predicate,T>::type
-            , next<N>
-            , identity<N>
-            >
-    {
-#else
-    {
-        typedef typename eval_if<
-              typename apply1<Predicate,T>::type
-            , next<N>
-            , identity<N>
-            >::type type;
-#endif
-    };
-};
-
-} // namespace aux
-
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)
-    >
-struct count_if
-    : aux::msvc_eti_base< typename fold<
-          Sequence
-        , integral_c<unsigned long,0>
-        , protect< aux::next_if<Predicate> >
-        >::type >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count_if,(Sequence,Predicate))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, count_if)
-
-}}
-
-#endif // BOOST_MPL_COUNT_IF_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/deque.hpp
deleted file mode 100644
index 729bae9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/deque.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_DEQUE_HPP_INCLUDED
-#define BOOST_MPL_DEQUE_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$
-// $Date$
-// $Revision$
-
-#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_DEQUE_HEADER \
-    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \
-    /**/
-#else
-#   define AUX778076_DEQUE_HEADER \
-    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_DEQUE_HEADER)
-#   undef AUX778076_DEQUE_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 deque.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/vector.hpp>
-
-#   define AUX778076_SEQUENCE_NAME deque
-#   define AUX778076_SEQUENCE_BASE_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_DEQUE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/deref.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/deref.hpp
deleted file mode 100644
index 1105ec9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/distance.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/distance.hpp
deleted file mode 100644
index 95f4f33..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/distance_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/distance_fwd.hpp
deleted file mode 100644
index a69a7c5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/divides.hpp
deleted file mode 100644
index 55c8b0d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/divides.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_DIVIDES_HPP_INCLUDED
-#define BOOST_MPL_DIVIDES_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$
-// $Date$
-// $Revision$
-
-#define AUX778076_OP_NAME divides
-#define AUX778076_OP_TOKEN /
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_DIVIDES_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty.hpp
deleted file mode 100644
index 1185324..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_base.hpp
deleted file mode 100644
index cb56ef6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_base.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#ifndef BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_empty.hpp>
-
-namespace boost { namespace mpl {
-
-// empty base class, guaranteed to have no members; inheritance from
-// 'empty_base' through the 'inherit' metafunction is a no-op - see 
-// "mpl/inherit.hpp> header for the details
-struct empty_base {};
-
-template< typename T >
-struct is_empty_base
-    : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using false_::value;
-#endif
-};
-
-template<>
-struct is_empty_base<empty_base>
-    : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    using true_::value;
-#endif
-};
-
-}}
-
-namespace boost {
-
-template<> struct is_empty< mpl::empty_base >
-    : public ::boost::integral_constant<bool,true>
-{
-public:
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,is_empty,(mpl::empty_base))
-};
-
-}
-
-#endif // BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_fwd.hpp
deleted file mode 100644
index 551c966..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_sequence.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_sequence.hpp
deleted file mode 100644
index f32cc6e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/empty_sequence.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2004
-// Copyright Alexander Nasonov 2004
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-
-namespace boost { namespace mpl {
-
-struct empty_sequence
-{
-    struct tag;
-    typedef empty_sequence type;
-    struct begin { typedef random_access_iterator_tag category; };    
-    typedef begin end;
-};
-
-template<>
-struct size_impl<empty_sequence::tag>
-{
-    template< typename Sequence > struct apply
-        : int_<0>
-    {
-    };
-};
-
-}}
-
-#endif // #ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/end.hpp
deleted file mode 100644
index cb8d525..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/end.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_END_HPP_INCLUDED
-#define BOOST_MPL_END_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/begin_end.hpp>
-
-#endif // BOOST_MPL_END_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/equal.hpp
deleted file mode 100644
index 8937ef3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/equal_to.hpp
deleted file mode 100644
index 5dfc87d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/erase.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase.hpp
deleted file mode 100644
index abcfdbd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_ERASE_HPP_INCLUDED
-#define BOOST_MPL_ERASE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/erase_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/erase_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/msvc_typename.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(First)
-    , typename BOOST_MPL_AUX_NA_PARAM(Last)
-    >
-struct erase
-    : erase_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,First,Last >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,erase,(Sequence,First,Last))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3,erase)
-
-}}
-
-#endif // BOOST_MPL_ERASE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_fwd.hpp
deleted file mode 100644
index 44e38ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_key.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_key.hpp
deleted file mode 100644
index 0e7b820..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_key.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_ERASE_KEY_HPP_INCLUDED
-#define BOOST_MPL_ERASE_KEY_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/erase_key_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/erase_key_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/msvc_typename.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(Key)
-    >
-struct erase_key
-    : erase_key_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,Key >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,erase_key,(Sequence,Key))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2,erase_key)
-
-}}
-
-#endif // BOOST_MPL_ERASE_KEY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_key_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/erase_key_fwd.hpp
deleted file mode 100644
index 54265ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/eval_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/eval_if.hpp
deleted file mode 100644
index e892703..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/filter_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/filter_view.hpp
deleted file mode 100644
index e2830d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/filter_view.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_FILTER_VIEW_HPP_INCLUDED
-#define BOOST_MPL_FILTER_VIEW_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/filter_iter.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(Predicate)
-    >
-struct filter_view
-{
- private:    
-    typedef typename lambda<Predicate>::type pred_;
-    typedef typename begin<Sequence>::type first_;
-    typedef typename end<Sequence>::type last_;
-
- public:
-    struct tag;
-    typedef filter_view type;
-    typedef typename aux::next_filter_iter< first_,last_,pred_ >::type begin;
-    typedef aux::filter_iter< last_,last_,pred_ > end;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, filter_view)
-
-}}
-
-#endif // BOOST_MPL_FILTER_VIEW_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/find.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/find.hpp
deleted file mode 100644
index 31a8b0e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/find_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/find_if.hpp
deleted file mode 100644
index 83a007e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/fold.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/fold.hpp
deleted file mode 100644
index 0bc67ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/for_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/for_each.hpp
deleted file mode 100644
index 6b40ce1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/for_each.hpp
+++ /dev/null
@@ -1,123 +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$
-// $Date$
-// $Revision$
-
-#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_/config/gpu.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
-        >
-    BOOST_MPL_CFG_GPU_ENABLED
-    static void execute(
-          Iterator*
-        , LastIterator*
-        , TransformFunc*
-        , F
-        )
-    {
-    }
-};
-
-template<>
-struct for_each_impl<false>
-{
-    template<
-          typename Iterator
-        , typename LastIterator
-        , typename TransformFunc
-        , typename F
-        >
-    BOOST_MPL_CFG_GPU_ENABLED
-    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
-    >
-BOOST_MPL_CFG_GPU_ENABLED
-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
-    >
-BOOST_MPL_CFG_GPU_ENABLED
-inline
-void for_each(F f, Sequence* = 0)
-{
-  // jfalcou: fully qualifying this call so it doesnt clash with phoenix::for_each
-  // ons ome compilers -- done on 02/28/2011
-  boost::mpl::for_each<Sequence, identity<> >(f);
-}
-
-}}
-
-#endif // BOOST_MPL_FOR_EACH_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/front.hpp
deleted file mode 100644
index b222ff2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/front_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/front_fwd.hpp
deleted file mode 100644
index f01282a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/front_inserter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/front_inserter.hpp
deleted file mode 100644
index 0a6b197..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/greater.hpp
deleted file mode 100644
index b1f0a2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/greater_equal.hpp
deleted file mode 100644
index 7a06a62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/has_key.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/has_key.hpp
deleted file mode 100644
index ac3a5c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/has_key_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/has_key_fwd.hpp
deleted file mode 100644
index 54b7ed6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/has_xxx.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/has_xxx.hpp
deleted file mode 100644
index 82e67dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/has_xxx.hpp
+++ /dev/null
@@ -1,647 +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$
-// $Date$
-// $Revision$
-
-#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, <= 1400) \
-      || (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1800)) && defined(__CUDACC__)) \
-      || BOOST_WORKAROUND(__IBMCPP__, <= 700)
-
-// MSVC 7.1 & MSVC 8.0 & 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
-#     else
-#       define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 0
-#     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
-#     else
-#       define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 0
-#     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
-#     else
-#       define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 0
-#     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/rbgl_trimmed_boost_1_61_0/boost/mpl/identity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/identity.hpp
deleted file mode 100644
index 190d2f5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/if.hpp
deleted file mode 100644
index b6bdf6c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/index_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/index_if.hpp
deleted file mode 100644
index a44473d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/index_if.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef BOOST_MPL_INDEX_IF_HPP_INCLUDED
-#define BOOST_MPL_INDEX_IF_HPP_INCLUDED
-
-// 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/find_if_pred.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/iter_fold_if.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)
-    >
-struct index_if
-{
-    typedef typename iter_fold_if<
-          Sequence
-        , int_<0>
-        , next<>
-        , aux::find_if_pred<Predicate>
-        >::type result_;
-
-    typedef typename end<Sequence>::type not_found_;
-    typedef typename first<result_>::type result_index_;
-    typedef typename second<result_>::type result_iterator_;
-
-    typedef typename if_<
-          is_same< result_iterator_,not_found_ >
-        , void_
-        , result_index_
-        >::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_if,(Sequence,Predicate))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, index_if)
-
-}}
-
-#endif // BOOST_MPL_INDEX_IF_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/index_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/index_of.hpp
deleted file mode 100644
index cc86a12..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/index_of.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_INDEX_OF_HPP_INCLUDED
-#define BOOST_MPL_INDEX_OF_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/index_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 index_of
-    : index_if< Sequence,same_as<T> >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_of,(Sequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, index_of)
-
-}}
-
-#endif // BOOST_MPL_INDEX_OF_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inherit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inherit.hpp
deleted file mode 100644
index b542737..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inherit.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_INHERIT_HPP_INCLUDED
-#define BOOST_MPL_INHERIT_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/empty_base.hpp>
-#   include <boost/mpl/aux_/na_spec.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 inherit.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/enum.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/dtp.hpp>
-
-#   include <boost/preprocessor/iterate.hpp>
-#   include <boost/preprocessor/dec.hpp>
-#   include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// 'inherit<T1,T2,..,Tn>' metafunction; returns an unspecified class type
-// produced by public derivation from all metafunction's parameters 
-// (T1,T2,..,Tn), except the parameters of 'empty_base' class type; 
-// regardless the position and number of 'empty_base' parameters in the 
-// metafunction's argument list, derivation from them is always a no-op;
-// for instance:
-//      inherit<her>::type == her
-//      inherit<her,my>::type == struct unspecified : her, my {};
-//      inherit<empty_base,her>::type == her
-//      inherit<empty_base,her,empty_base,empty_base>::type == her
-//      inherit<her,empty_base,my>::type == struct unspecified : her, my {};
-//      inherit<empty_base,empty_base>::type == empty_base
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-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))
-};
-
-// needed to disambiguate the previous two in case when both 
-// T1 and T2 == empty_base
-template<> 
-struct inherit2<empty_base,empty_base>
-{
-    typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,empty_base))
-};
-
-#else
-
-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))
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(3, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/inherit.hpp>))
-#include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_INHERIT_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define n_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, na)
-    >
-struct BOOST_PP_CAT(inherit,n_)
-    : inherit2<
-          typename BOOST_PP_CAT(inherit,BOOST_PP_DEC(n_))<
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(n_), T)
-            >::type
-        , BOOST_PP_CAT(T,n_)
-        >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          n_
-        , BOOST_PP_CAT(inherit,n_)
-        , (BOOST_MPL_PP_PARAMS(n_, T))
-        )
-};
-
-BOOST_MPL_AUX_NA_SPEC(n_, BOOST_PP_CAT(inherit,n_))
-
-#if n_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-/// primary template
-template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)
-    >
-struct inherit
-    : BOOST_PP_CAT(inherit,n_)<BOOST_MPL_PP_PARAMS(n_, T)>
-{
-};
-
-// 'na' specialization
-template<>
-struct inherit< BOOST_MPL_PP_ENUM(5, na) >
-{
-    template<
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-          BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)
-#else
-          BOOST_MPL_PP_PARAMS(n_, typename T)
-#endif
-        >
-    struct apply
-        : inherit< BOOST_MPL_PP_PARAMS(n_, T) >
-    {
-    };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(n_, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(n_, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(n_, n_, inherit)
-#endif
-
-#undef n_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inherit_linearly.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inherit_linearly.hpp
deleted file mode 100644
index fa58480..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inherit_linearly.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED
-#define BOOST_MPL_INHERIT_FRONT_TO_BACK_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/empty_base.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(Types_)
-    , typename BOOST_MPL_AUX_NA_PARAM(Node_)
-    , typename Root_ = empty_base
-    >
-struct inherit_linearly
-    : fold<Types_,Root_,Node_>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,inherit_linearly,(Types_,Node_,Root_))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit_linearly)
-
-}}
-
-#endif // BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert.hpp
deleted file mode 100644
index 5e379a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_INSERT_HPP_INCLUDED
-#define BOOST_MPL_INSERT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/insert_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/insert_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(Pos_or_T)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct insert
-    : insert_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,Pos_or_T,T >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert,(Sequence,Pos_or_T,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, insert)
-
-}}
-
-#endif // BOOST_MPL_INSERT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_fwd.hpp
deleted file mode 100644
index ba6b161..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_range.hpp
deleted file mode 100644
index 0c362f5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_range.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_INSERT_RANGE_HPP_INCLUDED
-#define BOOST_MPL_INSERT_RANGE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/insert_range_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/insert_range_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(Pos)
-    , typename BOOST_MPL_AUX_NA_PARAM(Range)
-    >
-struct insert_range
-    : insert_range_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence,Pos,Range >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert_range,(Sequence,Pos,Range))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, insert_range)
-
-}}
-
-#endif // BOOST_MPL_INSERT_RANGE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_range_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_range_fwd.hpp
deleted file mode 100644
index d9c946f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/insert_range_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED
-#define BOOST_MPL_INSERT_RANGE_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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct insert_range_impl;
-template< typename Sequence, typename Pos, typename Range > struct insert_range;
-
-}}
-
-#endif // BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inserter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/inserter.hpp
deleted file mode 100644
index 964df7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/int.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/int.hpp
deleted file mode 100644
index b7fa0a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/int_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/int_fwd.hpp
deleted file mode 100644
index 03d20c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/integral_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/integral_c.hpp
deleted file mode 100644
index 7a692dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/integral_c_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/integral_c_fwd.hpp
deleted file mode 100644
index 05e311d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/integral_c_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/integral_c_tag.hpp
deleted file mode 100644
index b604692..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/is_placeholder.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/is_placeholder.hpp
deleted file mode 100644
index 9f79ef1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/is_sequence.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/is_sequence.hpp
deleted file mode 100644
index 68e036f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/iter_fold.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/iter_fold.hpp
deleted file mode 100644
index 1b56b79..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/iter_fold_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/iter_fold_if.hpp
deleted file mode 100644
index 0115b7b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/iterator_category.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/iterator_category.hpp
deleted file mode 100644
index d5ea4af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/iterator_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/iterator_range.hpp
deleted file mode 100644
index a637e22..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/iterator_tags.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/iterator_tags.hpp
deleted file mode 100644
index 7c3116a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/joint_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/joint_view.hpp
deleted file mode 100644
index cd9cdda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/joint_view.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_JOINT_VIEW_HPP_INCLUDED
-#define BOOST_MPL_JOINT_VIEW_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/joint_iter.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-struct joint_view_tag;
-}
-
-template<>
-struct size_impl< aux::joint_view_tag >
-{
-    template < typename JointView > struct apply
-      : plus<
-            size<typename JointView::sequence1_>
-          , size<typename JointView::sequence2_>
-          >
-    {};
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence1_)
-    , typename BOOST_MPL_AUX_NA_PARAM(Sequence2_)
-    >
-struct joint_view
-{
-    typedef typename mpl::begin<Sequence1_>::type   first1_;
-    typedef typename mpl::end<Sequence1_>::type     last1_;
-    typedef typename mpl::begin<Sequence2_>::type   first2_;
-    typedef typename mpl::end<Sequence2_>::type     last2_;
-
-    // agurt, 25/may/03: for the 'size_traits' implementation above
-    typedef Sequence1_ sequence1_;
-    typedef Sequence2_ sequence2_;
-
-    typedef joint_view type;
-    typedef aux::joint_view_tag tag;
-    typedef joint_iter<first1_,last1_,first2_>  begin;
-    typedef joint_iter<last1_,last1_,last2_>    end;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, joint_view)
-
-}}
-
-#endif // BOOST_MPL_JOINT_VIEW_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/key_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/key_type.hpp
deleted file mode 100644
index 77bb37f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/key_type.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_KEY_TYPE_HPP_INCLUDED
-#define BOOST_MPL_KEY_TYPE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/key_type_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/apply_wrap.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(T)
-    >
-struct key_type
-    : apply_wrap2< 
-          key_type_impl< typename sequence_tag<AssociativeSequence>::type >
-        , AssociativeSequence, T>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,key_type,(AssociativeSequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, key_type)
-
-}}
-
-#endif // BOOST_MPL_KEY_TYPE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/key_type_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/key_type_fwd.hpp
deleted file mode 100644
index 1e86b78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/lambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/lambda.hpp
deleted file mode 100644
index cc8f607..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/lambda_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/lambda_fwd.hpp
deleted file mode 100644
index 57b0426..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/less.hpp
deleted file mode 100644
index 63da5aa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/less_equal.hpp
deleted file mode 100644
index 3d668c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/arity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/arity.hpp
deleted file mode 100644
index 8c3eb36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/list.hpp
deleted file mode 100644
index b22d6a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/map.hpp
deleted file mode 100644
index bedba63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/map.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_MAP_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_MAP_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_LIMIT_MAP_SIZE)
-#   define BOOST_MPL_LIMIT_MAP_SIZE 20
-#endif
-
-#endif // BOOST_MPL_LIMITS_MAP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/set.hpp
deleted file mode 100644
index dbc9bd0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/set.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_SET_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_SET_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_LIMIT_SET_SIZE)
-#   define BOOST_MPL_LIMIT_SET_SIZE 20
-#endif
-
-#endif // BOOST_MPL_LIMITS_SET_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/string.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/string.hpp
deleted file mode 100644
index eb85aa3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/string.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_STRING_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_STRING_HPP_INCLUDED
-
-// Copyright Eric Niebler 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/libs/mpl for documentation.
-
-// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $
-// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $
-// $Revision: 49239 $
-
-#if !defined(BOOST_MPL_LIMIT_STRING_SIZE)
-#   define BOOST_MPL_LIMIT_STRING_SIZE 32
-#endif
-
-#endif // BOOST_MPL_LIMITS_STRING_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/unrolling.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/unrolling.hpp
deleted file mode 100644
index 6dba942..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_LIMIT_UNROLLING)
-#   define BOOST_MPL_LIMIT_UNROLLING 4
-#endif
-
-#endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/limits/vector.hpp
deleted file mode 100644
index 9007589..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list.hpp
deleted file mode 100644
index cff8a4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/O1_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/O1_size.hpp
deleted file mode 100644
index ccbc3f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/begin_end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/begin_end.hpp
deleted file mode 100644
index b568bee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/clear.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/clear.hpp
deleted file mode 100644
index b16162f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/empty.hpp
deleted file mode 100644
index 95f9243..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/front.hpp
deleted file mode 100644
index 9bea1fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/include_preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/include_preprocessed.hpp
deleted file mode 100644
index 4f7cab2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/item.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/item.hpp
deleted file mode 100644
index 8505deb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/iterator.hpp
deleted file mode 100644
index 6b5ea78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/numbered.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/numbered.hpp
deleted file mode 100644
index 0cd49a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/numbered_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/numbered_c.hpp
deleted file mode 100644
index 0006fd6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/pop_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/pop_front.hpp
deleted file mode 100644
index 46a0414..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list10.hpp
deleted file mode 100644
index 99368d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp
deleted file mode 100644
index 7133d71..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list20.hpp
deleted file mode 100644
index 750e495..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp
deleted file mode 100644
index 7f15acf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list30.hpp
deleted file mode 100644
index 5459101..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp
deleted file mode 100644
index 5393d79..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list40.hpp
deleted file mode 100644
index 68c6761..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp
deleted file mode 100644
index 0c51ba2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list50.hpp
deleted file mode 100644
index 4cc22da..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp
deleted file mode 100644
index 28c061d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/push_back.hpp
deleted file mode 100644
index 8f3b73e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/push_front.hpp
deleted file mode 100644
index fcfbe4a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/size.hpp
deleted file mode 100644
index f5e7fea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/aux_/tag.hpp
deleted file mode 100644
index f5ed2bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list0.hpp
deleted file mode 100644
index 8e06b8d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list0_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list0_c.hpp
deleted file mode 100644
index 807ca1c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list10.hpp
deleted file mode 100644
index d32d0d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list10_c.hpp
deleted file mode 100644
index 25c8f9d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list20.hpp
deleted file mode 100644
index 724cabd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list20_c.hpp
deleted file mode 100644
index 0026f69..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list30.hpp
deleted file mode 100644
index a9004c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list30_c.hpp
deleted file mode 100644
index c996574..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list40.hpp
deleted file mode 100644
index 02f869e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list40_c.hpp
deleted file mode 100644
index 808d599..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list50.hpp
deleted file mode 100644
index f16c68c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list/list50_c.hpp
deleted file mode 100644
index 20692d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/list_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list_c.hpp
deleted file mode 100644
index 6c01fc6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/list_c.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/list.hpp>
-#   include <boost/mpl/aux_/nttp_decl.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_C_HEADER \
-    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c).hpp \
-    /**/
-#else
-#   define AUX778076_LIST_C_HEADER \
-    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_C_HEADER)
-#   undef AUX778076_LIST_C_HEADER
-#   include <climits>
-#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_c.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/list.hpp>
-
-#   define AUX778076_SEQUENCE_NAME list_c
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE
-#   define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(list,n),_c)
-#   define AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_LIST_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/logical.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/logical.hpp
deleted file mode 100644
index c8236b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/long.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/long.hpp
deleted file mode 100644
index c455267..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/long_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/long_fwd.hpp
deleted file mode 100644
index 5f62f2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/lower_bound.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/lower_bound.hpp
deleted file mode 100644
index 75eae9a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/lower_bound.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-
-#ifndef BOOST_MPL_LOWER_BOUND_HPP_INCLUDED
-#define BOOST_MPL_LOWER_BOUND_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#   define BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL
-#endif
-
-#if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL)
-#   include <boost/mpl/minus.hpp>
-#   include <boost/mpl/divides.hpp>
-#   include <boost/mpl/size.hpp>
-#   include <boost/mpl/advance.hpp>
-#   include <boost/mpl/begin_end.hpp>
-#   include <boost/mpl/long.hpp>
-#   include <boost/mpl/eval_if.hpp>
-#   include <boost/mpl/prior.hpp>
-#   include <boost/mpl/deref.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#else
-#   include <boost/mpl/not.hpp>
-#   include <boost/mpl/find.hpp>
-#   include <boost/mpl/bind.hpp>
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL)
-
-// agurt 23/oct/02: has a wrong complexity etc., but at least it works
-// feel free to contribute a better implementation!
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    , typename Predicate = less<>
-    , typename pred_ = typename lambda<Predicate>::type
-    >
-struct lower_bound
-    : find_if< Sequence, bind1< not_<>, bind2<pred_,_,T> > >
-{
-};
-
-#else
-
-namespace aux {
-
-template<
-      typename Distance
-    , typename Predicate
-    , typename T
-    , typename DeferredIterator
-    >
-struct lower_bound_step_impl;
-
-template< 
-      typename Distance
-    , typename Predicate
-    , typename T
-    , typename DeferredIterator
-    >
-struct lower_bound_step
-{
-    typedef typename eval_if<
-          Distance
-        , lower_bound_step_impl<Distance,Predicate,T,DeferredIterator>
-        , DeferredIterator
-        >::type type;
-};
-    
-template<
-      typename Distance
-    , typename Predicate
-    , typename T
-    , typename DeferredIterator
-    >
-struct lower_bound_step_impl
-{
-    typedef typename divides< Distance, long_<2> >::type offset_;
-    typedef typename DeferredIterator::type iter_;
-    typedef typename advance< iter_,offset_ >::type middle_;
-    typedef typename apply2<
-              Predicate
-            , typename deref<middle_>::type
-            , T
-            >::type cond_;
-
-    typedef typename prior< minus< Distance, offset_> >::type step_;
-    typedef lower_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_;
-    typedef lower_bound_step< step_,Predicate,T,next<middle_> > step_backward_;
-    typedef typename eval_if<
-          cond_
-        , step_backward_
-        , step_forward_
-        >::type type;
-};
-
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    , typename Predicate = less<>
-    >
-struct lower_bound
-{
- private:
-    typedef typename lambda<Predicate>::type pred_;
-    typedef typename size<Sequence>::type size_;
-
- public:
-    typedef typename aux::lower_bound_step<
-        size_,pred_,T,begin<Sequence>
-        >::type type;
-};
-
-#endif // BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL
-
-BOOST_MPL_AUX_NA_SPEC(2, lower_bound)
-
-}}
-
-#endif // BOOST_MPL_LOWER_BOUND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map.hpp
deleted file mode 100644
index 0101296..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/map.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_MAP_HEADER \
-    BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE).hpp \
-    /**/
-#else
-#   define AUX778076_MAP_HEADER \
-    BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/map/AUX778076_MAP_HEADER)
-#   undef AUX778076_MAP_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 map.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/map.hpp>
-
-#   define AUX778076_SEQUENCE_NAME map
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_MAP_SIZE
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_MAP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/at_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/at_impl.hpp
deleted file mode 100644
index 03f1258..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/at_impl.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_AT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-#include <boost/mpl/aux_/order_impl.hpp>
-#include <boost/mpl/aux_/overload_names.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/ptr_to_ref.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-#   include <boost/mpl/eval_if.hpp>
-#   include <boost/mpl/pair.hpp>
-#   include <boost/mpl/void.hpp>
-#   include <boost/mpl/aux_/config/static_constant.hpp>
-#endif
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template< typename Map, typename Key >
-struct m_at
-{
-    typedef aux::type_wrapper<Key> key_;
-    typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(
-          Map
-        , BOOST_MPL_AUX_STATIC_CAST(key_*, 0)
-        ) ) type;
-};
-
-template<>
-struct at_impl< aux::map_tag >
-{
-    template< typename Map, typename Key > struct apply
-        : aux::wrapped_type< typename m_at<
-              Map
-            , Key
-            >::type >
-    {
-    };
-};
-
-// agurt 31/jan/04: two-step implementation for the sake of GCC 3.x
-template< typename Map, long order > 
-struct item_by_order_impl
-{
-    typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(
-          Map 
-        , BOOST_MPL_AUX_STATIC_CAST(long_<order>*, 0)
-        ) ) type;
-};
-
-template< typename Map, long order >
-struct item_by_order
-    : aux::wrapped_type<
-          typename item_by_order_impl<Map,order>::type
-        >
-{
-};
-
-#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Map, long n > struct m_at
-{
-    typedef void_ type;
-};
-
-#   else
-
-template< long n > struct m_at_impl
-{
-    template< typename Map > struct result_
-    {
-        typedef void_ type;
-    };
-};
-
-template< typename Map, long n > struct m_at
-{
-    typedef typename m_at_impl<n>::result_<Map>::type type;
-};
-
-#   endif
-
-
-template<>
-struct at_impl< aux::map_tag >
-{
-    template< typename Map, typename Key > struct apply
-    {
-        typedef typename m_at< Map, (x_order_impl<Map,Key>::value - 2) >::type item_;       
-        typedef typename eval_if<
-              is_void_<item_>
-            , void_
-            , second<item_>
-            >::type type;
-    };
-};
-
-template< typename Map, long order > struct is_item_masked
-{
-    BOOST_STATIC_CONSTANT(bool, value = 
-          sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(
-              Map
-            , BOOST_MPL_AUX_STATIC_CAST(long_<order>*, 0)
-            ) ) == sizeof(aux::yes_tag)
-        );
-};
-
-template< typename Map, long order > struct item_by_order
-{    
-    typedef typename eval_if_c< 
-          is_item_masked<Map,order>::value
-        , void_
-        , m_at<Map,(order - 2)>
-        >::type type;
-};
-
-#endif
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/begin_end_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/begin_end_impl.hpp
deleted file mode 100644
index aeb72fa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/begin_end_impl.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_BEGIN_END_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/map/aux_/iterator.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct begin_impl< aux::map_tag >
-{
-    template< typename Map > struct apply
-    {
-        typedef typename next< typename Map::order >::type max_order_;
-        typedef m_iter<
-              Map
-            , next_order<Map,1,max_order_::value>::value
-            , max_order_::value
-            > type;
-    };
-};
-
-template<>
-struct end_impl< aux::map_tag >
-{
-    template< typename Map > struct apply
-    {
-        typedef typename next< typename Map::order >::type max_order_;
-        typedef m_iter< Map,max_order_::value,max_order_::value > type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/clear_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/clear_impl.hpp
deleted file mode 100644
index 226ae89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/clear_impl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/map/aux_/map0.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct clear_impl< aux::map_tag >
-{
-    template< typename Map > struct apply
-    {
-        typedef map0<> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/contains_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/contains_impl.hpp
deleted file mode 100644
index 9400780..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/contains_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_CONTAINS_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/contains_fwd.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/map/aux_/at_impl.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct contains_impl< aux::map_tag >
-{
-    template< typename Map, typename Pair > struct apply
-        : is_same< 
-              typename at_impl<aux::map_tag>::apply<
-                  Map
-                , typename Pair::first
-                >::type
-            , typename Pair::second
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/empty_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/empty_impl.hpp
deleted file mode 100644
index ab4fa4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/empty_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct empty_impl< aux::map_tag >
-{
-    template< typename Map > struct apply
-        : not_< typename Map::size >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/erase_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/erase_impl.hpp
deleted file mode 100644
index 978ca2f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/erase_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/erase_fwd.hpp>
-#include <boost/mpl/map/aux_/erase_key_impl.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct erase_impl< aux::map_tag >
-{
-    template< 
-          typename Map
-        , typename Pos
-        , typename unused_
-        > 
-    struct apply
-        : erase_key_impl<aux::map_tag>
-            ::apply<Map,typename Pos::type::first>
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/erase_key_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/erase_key_impl.hpp
deleted file mode 100644
index 5e0775d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/erase_key_impl.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_ERASE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/erase_key_fwd.hpp>
-#include <boost/mpl/map/aux_/has_key_impl.hpp>
-#include <boost/mpl/map/aux_/item.hpp>
-#include <boost/mpl/map/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::map_tag >
-{
-    template< 
-          typename Map
-        , typename Key
-        > 
-    struct apply
-        : eval_if< 
-              has_key_impl<aux::map_tag>::apply<Map,Key>
-            , eval_if< 
-                  is_same< Key,typename Map::key_ > 
-                , base<Map>
-                , identity< m_mask<Key,Map> >
-                >
-            , identity<Map>
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/has_key_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/has_key_impl.hpp
deleted file mode 100644
index a463d8b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/has_key_impl.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/has_key_fwd.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-#include <boost/mpl/map/aux_/at_impl.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct has_key_impl< aux::map_tag >
-{
-    template< typename Map, typename Key > struct apply
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-        : is_not_void_< 
-              typename at_impl<aux::map_tag>
-                ::apply<Map,Key>::type
-            >
-#else
-        : bool_< ( x_order_impl<Map,Key>::value > 1 ) >
-#endif
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/include_preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/include_preprocessed.hpp
deleted file mode 100644
index 07873d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,53 +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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#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)
-#   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/map/aux_/preprocessed/AUX778076_HEADER)
-#   include AUX778076_INCLUDE_STRING
-#   undef AUX778076_INCLUDE_STRING
-#else
-#   include BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER)
-#endif
-
-#   undef AUX778076_HEADER
-#   undef AUX778076_INCLUDE_DIR
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/insert_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/insert_impl.hpp
deleted file mode 100644
index fb61ed9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/insert_impl.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_INSERT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/insert_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/map/aux_/contains_impl.hpp>
-#include <boost/mpl/map/aux_/item.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename Map, typename Pair > 
-struct map_insert_impl
-    : if_< 
-          contains_impl<aux::map_tag>::apply<Map,Pair>
-        , Map
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-        , m_item<
-              typename Pair::first
-            , typename Pair::second
-            , Map
-            >
-#else
-        , m_item<
-              Map::order::value
-            , typename Pair::first
-            , typename Pair::second
-            , Map
-            >
-#endif
-        >
-{
-};
-}
-
-template<>
-struct insert_impl< aux::map_tag >
-{
-    template< 
-          typename Map
-        , typename PosOrKey
-        , typename KeyOrNA
-        > 
-    struct apply
-        : aux::map_insert_impl<
-              Map
-            , typename if_na<KeyOrNA,PosOrKey>::type
-            >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/insert_range_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/insert_range_impl.hpp
deleted file mode 100644
index f1f0437..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/insert_range_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
-
-// Copyright Bruno Dutra 2015
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/insert_range_fwd.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/insert.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct insert_range_impl< aux::map_tag >
-{
-    template<
-          typename Sequence
-        , typename /*Pos*/
-        , typename Range
-        >
-    struct apply
-        : fold<Range, Sequence, insert<_1, _2> >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/item.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/item.hpp
deleted file mode 100644
index a0a98ca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/item.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_ITEM_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/prior.hpp>
-#include <boost/mpl/map/aux_/map0.hpp>
-#include <boost/mpl/aux_/order_impl.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/config/arrays.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 Key, typename T, typename Base >
-struct m_item
-    : Base
-{
-    typedef Key         key_;
-    typedef pair<Key,T> item;
-    typedef Base        base;
-    typedef m_item      type;
-    
-    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_MAP_OVERLOAD( aux::type_wrapper<T>, VALUE_BY_KEY, m_item, aux::type_wrapper<Key>* );
-    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<item>, ITEM_BY_ORDER, m_item, order* );
-    BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper<Key>* );
-};
-
-
-template< typename Key, typename Base >
-struct m_mask
-    : Base
-{
-    typedef void_   key_;
-    typedef Base    base;
-    typedef m_mask  type;
-
-    typedef typename prior< typename Base::size >::type  size;
-    typedef typename x_order_impl<Base,Key>::type key_order_;
-    
-    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<void_>, VALUE_BY_KEY, m_mask, aux::type_wrapper<Key>* );
-    BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper<void_>, ITEM_BY_ORDER, m_mask, key_order_* );
-};
-
-#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long n, typename Key, typename T, typename Base >
-struct m_item;
-
-#   else
-
-template< long n >
-struct m_item_impl
-{
-    template< typename Key, typename T, typename Base >
-    struct result_;
-};
-
-template< long n, typename Key, typename T, typename Base >
-struct m_item
-    : m_item_impl<n>::result_<Key,T,Base>
-{
-};
-
-
-#   endif
-
-
-template< typename Key, typename T, typename Base >
-struct m_item_
-    : Base
-{
-    typedef Key     key_;
-    typedef Base    base;
-    typedef m_item_ type;
-    
-    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_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item_, aux::type_wrapper<Key>* );
-};
-
-template< typename Key, typename Base >
-struct m_mask
-    : Base
-{
-    typedef void_   key_;
-    typedef Base    base;
-    typedef m_mask  type;
-
-    typedef typename prior< typename Base::size >::type  size;
-    typedef typename x_order_impl<Base,Key>::type key_order_;
-    
-    BOOST_MPL_AUX_MAP_OVERLOAD( aux::no_tag, ORDER_BY_KEY, m_mask, aux::type_wrapper<Key>* );
-    BOOST_MPL_AUX_MAP_OVERLOAD( aux::yes_tag, IS_MASKED, m_mask, key_order_* );
-};
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/iterator.hpp
deleted file mode 100644
index 93d9ebd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/iterator.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_ITERATOR_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/map/aux_/map0.hpp>
-#include <boost/mpl/map/aux_/at_impl.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< 
-      typename Map
-    , long order
-    , long max_order
-    >
-struct next_order
-    : if_< 
-          is_void_< typename item_by_order<Map,order>::type >
-        , next_order<Map,(order+1),max_order>
-        , long_<order>
-        >::type
-{
-};
-
-template< 
-      typename Map
-    , long max_order
-    >
-struct next_order<Map,max_order,max_order>
-    : long_<max_order>
-{
-};
-
-
-template< typename Map, long order, long max_order >
-struct m_iter
-{
-    typedef forward_iterator_tag category;
-    typedef typename item_by_order<Map,order>::type type;
-};
-
-template< typename Map, long max_order >
-struct m_iter<Map,max_order,max_order>
-{
-    typedef forward_iterator_tag category;
-};
-
-
-template< typename Map, long order, long max_order > 
-struct next< m_iter<Map,order,max_order> >
-{
-    typedef m_iter<
-          Map
-        , next_order<Map,order+1,max_order>::value
-        , max_order
-        > type;
-};
-
-template< typename Map, long max_order > 
-struct next< m_iter<Map,max_order,max_order> >
-{
-};
-
-#else
-
-template< 
-      typename Map
-    , BOOST_MPL_AUX_NTTP_DECL(long, order)
-    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
-    >
-struct next_order;
-
-template< 
-      typename Map
-    , BOOST_MPL_AUX_NTTP_DECL(long, order)
-    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
-    >
-struct next_order_impl
-    : if_< 
-          is_void_< typename item_by_order<Map,order>::type >
-        , next_order<Map,(order+1),max_order>
-        , long_<order>
-        >::type
-    {
-    };
-
-template< 
-      typename Map
-    , BOOST_MPL_AUX_NTTP_DECL(long, order)
-    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
-    >
-struct next_order
-    : if_c<
-          (order != max_order)
-        , next_order_impl<Map,order,max_order>
-        , long_<order>
-        >::type
-{
-};
-
-
-template<
-      typename Map
-    , BOOST_MPL_AUX_NTTP_DECL(long, order)
-    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
-    >
-struct m_iter;
-
-struct m_iter_empty_base {};
-
-template< 
-      typename Map
-    , BOOST_MPL_AUX_NTTP_DECL(long, order)
-    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
-    >
-struct m_iter_base
-{
-    typedef typename item_by_order<Map,order>::type type;
-    
-    typedef m_iter<
-          Map
-        , next_order<Map,order+1,max_order>::value
-        , max_order
-        > next;
-};
-
-template<
-      typename Map
-    , BOOST_MPL_AUX_NTTP_DECL(long, order)
-    , BOOST_MPL_AUX_NTTP_DECL(long, max_order)
-    >
-struct m_iter
-  : if_c<
-          (order == max_order)
-        , m_iter_empty_base
-        , m_iter_base<Map,order,max_order>
-        >::type
-{
-    typedef forward_iterator_tag category;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/key_type_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/key_type_impl.hpp
deleted file mode 100644
index f5ce0c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/key_type_impl.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/key_type_fwd.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-namespace boost {
-namespace mpl {
-
-template<>
-struct key_type_impl< aux::map_tag >
-{
-    template< typename Map, typename T > struct apply
-        : first<T>
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/map0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/map0.hpp
deleted file mode 100644
index fd885dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/map0.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED
-#define BOOST_MPL_MAP_AUX_MAP0_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-#include <boost/mpl/aux_/na.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_MAP0_OVERLOAD(R, f, X, T) \
-    friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
-/**/
-
-#   define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \
-    BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \
-/**/
-
-#else
-
-#   define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \
-    static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \
-/**/
-
-#   define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \
-    BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T); \
-    using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \
-/**/
-
-#endif
-
-
-template< typename Dummy = na > struct map0
-{
-    typedef map0            type;
-    typedef aux::map_tag    tag;
-    typedef void_           key_;
-    typedef long_<1>        order;
-    typedef long_<0>        size;
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper<void_>, VALUE_BY_KEY, map0<>, void const volatile* );
-    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper<void_>, ITEM_BY_ORDER, map0<>, long_<1>* );
-    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* );
-#else
-    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* );
-    BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, IS_MASKED, map0<>, void const volatile* );
-#endif
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/numbered.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/numbered.hpp
deleted file mode 100644
index f4512a5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/numbered.hpp
+++ /dev/null
@@ -1,110 +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$
-// $Date$
-// $Revision$
-
-#else
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#   define AUX778076_MAP_TAIL(map, i_, P) \
-    BOOST_PP_CAT(map,i_)< \
-          BOOST_PP_ENUM_PARAMS(i_, P) \
-        > \
-    /**/
-
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<
-      BOOST_PP_ENUM_PARAMS(i_, typename P)
-    >
-struct BOOST_PP_CAT(map,i_)
-    : m_item<
-          typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first
-        , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second
-        , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P)
-        >
-{
-    typedef BOOST_PP_CAT(map,i_) type;
-};
-
-#else // "brute force" implementation
-
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Map>
-struct m_at<Map,BOOST_PP_DEC(i_)>
-{
-    typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item<i_,Key,T,Base>
-    : m_item_<Key,T,Base>
-{
-    typedef pair<Key,T> BOOST_PP_CAT(item,BOOST_PP_DEC(i_));
-};
-
-#   else
-
-template<>
-struct m_at_impl<BOOST_PP_DEC(i_)>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type;
-    };
-};
-
-template<>
-struct m_item_impl<i_>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_<Key,T,Base>
-    {
-        typedef pair<Key,T> BOOST_PP_CAT(item,BOOST_PP_DEC(i_));
-    };
-};
-
-#   endif
-
-template<
-      BOOST_PP_ENUM_PARAMS(i_, typename P)
-    >
-struct BOOST_PP_CAT(map,i_)
-    : m_item<
-          i_
-        , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first
-        , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second
-        , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P)
-        >
-{
-    typedef BOOST_PP_CAT(map,i_) type;
-};
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#   undef AUX778076_MAP_TAIL
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp
deleted file mode 100644
index 626c456..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp
+++ /dev/null
@@ -1,350 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<>
-struct m_at_impl<0>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item0 type;
-    };
-};
-
-template<>
-struct m_item_impl<1>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item0;
-    };
-};
-
-template<
-      typename P0
-    >
-struct map1
-    : m_item<
-          1
-        , typename P0::first
-        , typename P0::second
-        , map0<  >
-        >
-{
-    typedef map1 type;
-};
-
-template<>
-struct m_at_impl<1>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item1 type;
-    };
-};
-
-template<>
-struct m_item_impl<2>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item1;
-    };
-};
-
-template<
-      typename P0, typename P1
-    >
-struct map2
-    : m_item<
-          2
-        , typename P1::first
-        , typename P1::second
-        , map1<P0>
-        >
-{
-    typedef map2 type;
-};
-
-template<>
-struct m_at_impl<2>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item2 type;
-    };
-};
-
-template<>
-struct m_item_impl<3>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item2;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2
-    >
-struct map3
-    : m_item<
-          3
-        , typename P2::first
-        , typename P2::second
-        , map2< P0,P1 >
-        >
-{
-    typedef map3 type;
-};
-
-template<>
-struct m_at_impl<3>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item3 type;
-    };
-};
-
-template<>
-struct m_item_impl<4>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item3;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3
-    >
-struct map4
-    : m_item<
-          4
-        , typename P3::first
-        , typename P3::second
-        , map3< P0,P1,P2 >
-        >
-{
-    typedef map4 type;
-};
-
-template<>
-struct m_at_impl<4>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item4 type;
-    };
-};
-
-template<>
-struct m_item_impl<5>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item4;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    >
-struct map5
-    : m_item<
-          5
-        , typename P4::first
-        , typename P4::second
-        , map4< P0,P1,P2,P3 >
-        >
-{
-    typedef map5 type;
-};
-
-template<>
-struct m_at_impl<5>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item5 type;
-    };
-};
-
-template<>
-struct m_item_impl<6>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item5;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5
-    >
-struct map6
-    : m_item<
-          6
-        , typename P5::first
-        , typename P5::second
-        , map5< P0,P1,P2,P3,P4 >
-        >
-{
-    typedef map6 type;
-};
-
-template<>
-struct m_at_impl<6>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item6 type;
-    };
-};
-
-template<>
-struct m_item_impl<7>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item6;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6
-    >
-struct map7
-    : m_item<
-          7
-        , typename P6::first
-        , typename P6::second
-        , map6< P0,P1,P2,P3,P4,P5 >
-        >
-{
-    typedef map7 type;
-};
-
-template<>
-struct m_at_impl<7>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item7 type;
-    };
-};
-
-template<>
-struct m_item_impl<8>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item7;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7
-    >
-struct map8
-    : m_item<
-          8
-        , typename P7::first
-        , typename P7::second
-        , map7< P0,P1,P2,P3,P4,P5,P6 >
-        >
-{
-    typedef map8 type;
-};
-
-template<>
-struct m_at_impl<8>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item8 type;
-    };
-};
-
-template<>
-struct m_item_impl<9>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item8;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8
-    >
-struct map9
-    : m_item<
-          9
-        , typename P8::first
-        , typename P8::second
-        , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
-        >
-{
-    typedef map9 type;
-};
-
-template<>
-struct m_at_impl<9>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item9 type;
-    };
-};
-
-template<>
-struct m_item_impl<10>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item9;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    >
-struct map10
-    : m_item<
-          10
-        , typename P9::first
-        , typename P9::second
-        , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
-        >
-{
-    typedef map10 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp
deleted file mode 100644
index ac9e379..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp
+++ /dev/null
@@ -1,370 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<>
-struct m_at_impl<10>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item10 type;
-    };
-};
-
-template<>
-struct m_item_impl<11>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item10;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10
-    >
-struct map11
-    : m_item<
-          11
-        , typename P10::first
-        , typename P10::second
-        , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >
-        >
-{
-    typedef map11 type;
-};
-
-template<>
-struct m_at_impl<11>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item11 type;
-    };
-};
-
-template<>
-struct m_item_impl<12>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item11;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11
-    >
-struct map12
-    : m_item<
-          12
-        , typename P11::first
-        , typename P11::second
-        , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >
-        >
-{
-    typedef map12 type;
-};
-
-template<>
-struct m_at_impl<12>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item12 type;
-    };
-};
-
-template<>
-struct m_item_impl<13>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item12;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12
-    >
-struct map13
-    : m_item<
-          13
-        , typename P12::first
-        , typename P12::second
-        , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >
-        >
-{
-    typedef map13 type;
-};
-
-template<>
-struct m_at_impl<13>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item13 type;
-    };
-};
-
-template<>
-struct m_item_impl<14>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item13;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13
-    >
-struct map14
-    : m_item<
-          14
-        , typename P13::first
-        , typename P13::second
-        , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >
-        >
-{
-    typedef map14 type;
-};
-
-template<>
-struct m_at_impl<14>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item14 type;
-    };
-};
-
-template<>
-struct m_item_impl<15>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item14;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    >
-struct map15
-    : m_item<
-          15
-        , typename P14::first
-        , typename P14::second
-        , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >
-        >
-{
-    typedef map15 type;
-};
-
-template<>
-struct m_at_impl<15>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item15 type;
-    };
-};
-
-template<>
-struct m_item_impl<16>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item15;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15
-    >
-struct map16
-    : m_item<
-          16
-        , typename P15::first
-        , typename P15::second
-        , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >
-        >
-{
-    typedef map16 type;
-};
-
-template<>
-struct m_at_impl<16>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item16 type;
-    };
-};
-
-template<>
-struct m_item_impl<17>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item16;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16
-    >
-struct map17
-    : m_item<
-          17
-        , typename P16::first
-        , typename P16::second
-        , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >
-        >
-{
-    typedef map17 type;
-};
-
-template<>
-struct m_at_impl<17>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item17 type;
-    };
-};
-
-template<>
-struct m_item_impl<18>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item17;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17
-    >
-struct map18
-    : m_item<
-          18
-        , typename P17::first
-        , typename P17::second
-        , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >
-        >
-{
-    typedef map18 type;
-};
-
-template<>
-struct m_at_impl<18>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item18 type;
-    };
-};
-
-template<>
-struct m_item_impl<19>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item18;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18
-    >
-struct map19
-    : m_item<
-          19
-        , typename P18::first
-        , typename P18::second
-        , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >
-        >
-{
-    typedef map19 type;
-};
-
-template<>
-struct m_at_impl<19>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item19 type;
-    };
-};
-
-template<>
-struct m_item_impl<20>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item19;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    >
-struct map20
-    : m_item<
-          20
-        , typename P19::first
-        , typename P19::second
-        , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >
-        >
-{
-    typedef map20 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp
deleted file mode 100644
index 5aa118f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp
+++ /dev/null
@@ -1,390 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<>
-struct m_at_impl<20>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item20 type;
-    };
-};
-
-template<>
-struct m_item_impl<21>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item20;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20
-    >
-struct map21
-    : m_item<
-          21
-        , typename P20::first
-        , typename P20::second
-        , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >
-        >
-{
-    typedef map21 type;
-};
-
-template<>
-struct m_at_impl<21>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item21 type;
-    };
-};
-
-template<>
-struct m_item_impl<22>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item21;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21
-    >
-struct map22
-    : m_item<
-          22
-        , typename P21::first
-        , typename P21::second
-        , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >
-        >
-{
-    typedef map22 type;
-};
-
-template<>
-struct m_at_impl<22>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item22 type;
-    };
-};
-
-template<>
-struct m_item_impl<23>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item22;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22
-    >
-struct map23
-    : m_item<
-          23
-        , typename P22::first
-        , typename P22::second
-        , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >
-        >
-{
-    typedef map23 type;
-};
-
-template<>
-struct m_at_impl<23>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item23 type;
-    };
-};
-
-template<>
-struct m_item_impl<24>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item23;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23
-    >
-struct map24
-    : m_item<
-          24
-        , typename P23::first
-        , typename P23::second
-        , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >
-        >
-{
-    typedef map24 type;
-};
-
-template<>
-struct m_at_impl<24>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item24 type;
-    };
-};
-
-template<>
-struct m_item_impl<25>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item24;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    >
-struct map25
-    : m_item<
-          25
-        , typename P24::first
-        , typename P24::second
-        , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 >
-        >
-{
-    typedef map25 type;
-};
-
-template<>
-struct m_at_impl<25>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item25 type;
-    };
-};
-
-template<>
-struct m_item_impl<26>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item25;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25
-    >
-struct map26
-    : m_item<
-          26
-        , typename P25::first
-        , typename P25::second
-        , map25< 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 >
-        >
-{
-    typedef map26 type;
-};
-
-template<>
-struct m_at_impl<26>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item26 type;
-    };
-};
-
-template<>
-struct m_item_impl<27>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item26;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26
-    >
-struct map27
-    : m_item<
-          27
-        , typename P26::first
-        , typename P26::second
-        , map26< 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,P25 >
-        >
-{
-    typedef map27 type;
-};
-
-template<>
-struct m_at_impl<27>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item27 type;
-    };
-};
-
-template<>
-struct m_item_impl<28>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item27;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27
-    >
-struct map28
-    : m_item<
-          28
-        , typename P27::first
-        , typename P27::second
-        , map27< 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,P25,P26 >
-        >
-{
-    typedef map28 type;
-};
-
-template<>
-struct m_at_impl<28>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item28 type;
-    };
-};
-
-template<>
-struct m_item_impl<29>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item28;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28
-    >
-struct map29
-    : m_item<
-          29
-        , typename P28::first
-        , typename P28::second
-        , map28< 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,P25,P26,P27 >
-        >
-{
-    typedef map29 type;
-};
-
-template<>
-struct m_at_impl<29>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item29 type;
-    };
-};
-
-template<>
-struct m_item_impl<30>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item29;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    >
-struct map30
-    : m_item<
-          30
-        , typename P29::first
-        , typename P29::second
-        , map29< 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,P25,P26,P27,P28 >
-        >
-{
-    typedef map30 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp
deleted file mode 100644
index dca60d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp
+++ /dev/null
@@ -1,410 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<>
-struct m_at_impl<30>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item30 type;
-    };
-};
-
-template<>
-struct m_item_impl<31>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item30;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30
-    >
-struct map31
-    : m_item<
-          31
-        , typename P30::first
-        , typename P30::second
-        , map30< 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,P25,P26,P27,P28,P29 >
-        >
-{
-    typedef map31 type;
-};
-
-template<>
-struct m_at_impl<31>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item31 type;
-    };
-};
-
-template<>
-struct m_item_impl<32>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item31;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31
-    >
-struct map32
-    : m_item<
-          32
-        , typename P31::first
-        , typename P31::second
-        , map31< 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,P25,P26,P27,P28,P29,P30 >
-        >
-{
-    typedef map32 type;
-};
-
-template<>
-struct m_at_impl<32>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item32 type;
-    };
-};
-
-template<>
-struct m_item_impl<33>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item32;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32
-    >
-struct map33
-    : m_item<
-          33
-        , typename P32::first
-        , typename P32::second
-        , map32< 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,P25,P26,P27,P28,P29,P30,P31 >
-        >
-{
-    typedef map33 type;
-};
-
-template<>
-struct m_at_impl<33>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item33 type;
-    };
-};
-
-template<>
-struct m_item_impl<34>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item33;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33
-    >
-struct map34
-    : m_item<
-          34
-        , typename P33::first
-        , typename P33::second
-        , map33< 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,P25,P26,P27,P28,P29,P30,P31,P32 >
-        >
-{
-    typedef map34 type;
-};
-
-template<>
-struct m_at_impl<34>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item34 type;
-    };
-};
-
-template<>
-struct m_item_impl<35>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item34;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    >
-struct map35
-    : m_item<
-          35
-        , typename P34::first
-        , typename P34::second
-        , map34< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33 >
-        >
-{
-    typedef map35 type;
-};
-
-template<>
-struct m_at_impl<35>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item35 type;
-    };
-};
-
-template<>
-struct m_item_impl<36>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item35;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35
-    >
-struct map36
-    : m_item<
-          36
-        , typename P35::first
-        , typename P35::second
-        , map35< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 >
-        >
-{
-    typedef map36 type;
-};
-
-template<>
-struct m_at_impl<36>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item36 type;
-    };
-};
-
-template<>
-struct m_item_impl<37>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item36;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36
-    >
-struct map37
-    : m_item<
-          37
-        , typename P36::first
-        , typename P36::second
-        , map36< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 >
-        >
-{
-    typedef map37 type;
-};
-
-template<>
-struct m_at_impl<37>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item37 type;
-    };
-};
-
-template<>
-struct m_item_impl<38>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item37;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37
-    >
-struct map38
-    : m_item<
-          38
-        , typename P37::first
-        , typename P37::second
-        , map37< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 >
-        >
-{
-    typedef map38 type;
-};
-
-template<>
-struct m_at_impl<38>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item38 type;
-    };
-};
-
-template<>
-struct m_item_impl<39>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item38;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38
-    >
-struct map39
-    : m_item<
-          39
-        , typename P38::first
-        , typename P38::second
-        , map38< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 >
-        >
-{
-    typedef map39 type;
-};
-
-template<>
-struct m_at_impl<39>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item39 type;
-    };
-};
-
-template<>
-struct m_item_impl<40>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item39;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    >
-struct map40
-    : m_item<
-          40
-        , typename P39::first
-        , typename P39::second
-        , map39< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 >
-        >
-{
-    typedef map40 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp
deleted file mode 100644
index cd81908..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp
+++ /dev/null
@@ -1,430 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<>
-struct m_at_impl<40>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item40 type;
-    };
-};
-
-template<>
-struct m_item_impl<41>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item40;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40
-    >
-struct map41
-    : m_item<
-          41
-        , typename P40::first
-        , typename P40::second
-        , map40< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 >
-        >
-{
-    typedef map41 type;
-};
-
-template<>
-struct m_at_impl<41>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item41 type;
-    };
-};
-
-template<>
-struct m_item_impl<42>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item41;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41
-    >
-struct map42
-    : m_item<
-          42
-        , typename P41::first
-        , typename P41::second
-        , map41< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 >
-        >
-{
-    typedef map42 type;
-};
-
-template<>
-struct m_at_impl<42>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item42 type;
-    };
-};
-
-template<>
-struct m_item_impl<43>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item42;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42
-    >
-struct map43
-    : m_item<
-          43
-        , typename P42::first
-        , typename P42::second
-        , map42< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 >
-        >
-{
-    typedef map43 type;
-};
-
-template<>
-struct m_at_impl<43>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item43 type;
-    };
-};
-
-template<>
-struct m_item_impl<44>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item43;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43
-    >
-struct map44
-    : m_item<
-          44
-        , typename P43::first
-        , typename P43::second
-        , map43< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 >
-        >
-{
-    typedef map44 type;
-};
-
-template<>
-struct m_at_impl<44>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item44 type;
-    };
-};
-
-template<>
-struct m_item_impl<45>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item44;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    >
-struct map45
-    : m_item<
-          45
-        , typename P44::first
-        , typename P44::second
-        , map44< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 >
-        >
-{
-    typedef map45 type;
-};
-
-template<>
-struct m_at_impl<45>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item45 type;
-    };
-};
-
-template<>
-struct m_item_impl<46>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item45;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45
-    >
-struct map46
-    : m_item<
-          46
-        , typename P45::first
-        , typename P45::second
-        , map45< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 >
-        >
-{
-    typedef map46 type;
-};
-
-template<>
-struct m_at_impl<46>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item46 type;
-    };
-};
-
-template<>
-struct m_item_impl<47>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item46;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46
-    >
-struct map47
-    : m_item<
-          47
-        , typename P46::first
-        , typename P46::second
-        , map46< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 >
-        >
-{
-    typedef map47 type;
-};
-
-template<>
-struct m_at_impl<47>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item47 type;
-    };
-};
-
-template<>
-struct m_item_impl<48>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item47;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47
-    >
-struct map48
-    : m_item<
-          48
-        , typename P47::first
-        , typename P47::second
-        , map47< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 >
-        >
-{
-    typedef map48 type;
-};
-
-template<>
-struct m_at_impl<48>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item48 type;
-    };
-};
-
-template<>
-struct m_item_impl<49>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item48;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47, typename P48
-    >
-struct map49
-    : m_item<
-          49
-        , typename P48::first
-        , typename P48::second
-        , map48< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 >
-        >
-{
-    typedef map49 type;
-};
-
-template<>
-struct m_at_impl<49>
-{
-    template< typename Map > struct result_
-    {
-        typedef typename Map::item49 type;
-    };
-};
-
-template<>
-struct m_item_impl<50>
-{
-    template< typename Key, typename T, typename Base > struct result_
-        : m_item_< Key,T,Base >
-    {
-        typedef pair< Key,T > item49;
-    };
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47, typename P48, typename P49
-    >
-struct map50
-    : m_item<
-          50
-        , typename P49::first
-        , typename P49::second
-        , map49< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 >
-        >
-{
-    typedef map50 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map10.hpp
deleted file mode 100644
index ce0d2fb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map10.hpp
+++ /dev/null
@@ -1,290 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename Map>
-struct m_at< Map,0 >
-{
-    typedef typename Map::item0 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 1,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item0;
-};
-
-template<
-      typename P0
-    >
-struct map1
-    : m_item<
-          1
-        , typename P0::first
-        , typename P0::second
-        , map0<  >
-        >
-{
-    typedef map1 type;
-};
-
-template< typename Map>
-struct m_at< Map,1 >
-{
-    typedef typename Map::item1 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 2,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item1;
-};
-
-template<
-      typename P0, typename P1
-    >
-struct map2
-    : m_item<
-          2
-        , typename P1::first
-        , typename P1::second
-        , map1<P0>
-        >
-{
-    typedef map2 type;
-};
-
-template< typename Map>
-struct m_at< Map,2 >
-{
-    typedef typename Map::item2 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 3,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item2;
-};
-
-template<
-      typename P0, typename P1, typename P2
-    >
-struct map3
-    : m_item<
-          3
-        , typename P2::first
-        , typename P2::second
-        , map2< P0,P1 >
-        >
-{
-    typedef map3 type;
-};
-
-template< typename Map>
-struct m_at< Map,3 >
-{
-    typedef typename Map::item3 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 4,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item3;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3
-    >
-struct map4
-    : m_item<
-          4
-        , typename P3::first
-        , typename P3::second
-        , map3< P0,P1,P2 >
-        >
-{
-    typedef map4 type;
-};
-
-template< typename Map>
-struct m_at< Map,4 >
-{
-    typedef typename Map::item4 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 5,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item4;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    >
-struct map5
-    : m_item<
-          5
-        , typename P4::first
-        , typename P4::second
-        , map4< P0,P1,P2,P3 >
-        >
-{
-    typedef map5 type;
-};
-
-template< typename Map>
-struct m_at< Map,5 >
-{
-    typedef typename Map::item5 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 6,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item5;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5
-    >
-struct map6
-    : m_item<
-          6
-        , typename P5::first
-        , typename P5::second
-        , map5< P0,P1,P2,P3,P4 >
-        >
-{
-    typedef map6 type;
-};
-
-template< typename Map>
-struct m_at< Map,6 >
-{
-    typedef typename Map::item6 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 7,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item6;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6
-    >
-struct map7
-    : m_item<
-          7
-        , typename P6::first
-        , typename P6::second
-        , map6< P0,P1,P2,P3,P4,P5 >
-        >
-{
-    typedef map7 type;
-};
-
-template< typename Map>
-struct m_at< Map,7 >
-{
-    typedef typename Map::item7 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 8,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item7;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7
-    >
-struct map8
-    : m_item<
-          8
-        , typename P7::first
-        , typename P7::second
-        , map7< P0,P1,P2,P3,P4,P5,P6 >
-        >
-{
-    typedef map8 type;
-};
-
-template< typename Map>
-struct m_at< Map,8 >
-{
-    typedef typename Map::item8 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 9,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item8;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8
-    >
-struct map9
-    : m_item<
-          9
-        , typename P8::first
-        , typename P8::second
-        , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
-        >
-{
-    typedef map9 type;
-};
-
-template< typename Map>
-struct m_at< Map,9 >
-{
-    typedef typename Map::item9 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 10,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item9;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    >
-struct map10
-    : m_item<
-          10
-        , typename P9::first
-        , typename P9::second
-        , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
-        >
-{
-    typedef map10 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map20.hpp
deleted file mode 100644
index e0a147c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map20.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename Map>
-struct m_at< Map,10 >
-{
-    typedef typename Map::item10 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 11,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item10;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10
-    >
-struct map11
-    : m_item<
-          11
-        , typename P10::first
-        , typename P10::second
-        , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >
-        >
-{
-    typedef map11 type;
-};
-
-template< typename Map>
-struct m_at< Map,11 >
-{
-    typedef typename Map::item11 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 12,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item11;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11
-    >
-struct map12
-    : m_item<
-          12
-        , typename P11::first
-        , typename P11::second
-        , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >
-        >
-{
-    typedef map12 type;
-};
-
-template< typename Map>
-struct m_at< Map,12 >
-{
-    typedef typename Map::item12 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 13,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item12;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12
-    >
-struct map13
-    : m_item<
-          13
-        , typename P12::first
-        , typename P12::second
-        , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >
-        >
-{
-    typedef map13 type;
-};
-
-template< typename Map>
-struct m_at< Map,13 >
-{
-    typedef typename Map::item13 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 14,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item13;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13
-    >
-struct map14
-    : m_item<
-          14
-        , typename P13::first
-        , typename P13::second
-        , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >
-        >
-{
-    typedef map14 type;
-};
-
-template< typename Map>
-struct m_at< Map,14 >
-{
-    typedef typename Map::item14 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 15,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item14;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    >
-struct map15
-    : m_item<
-          15
-        , typename P14::first
-        , typename P14::second
-        , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >
-        >
-{
-    typedef map15 type;
-};
-
-template< typename Map>
-struct m_at< Map,15 >
-{
-    typedef typename Map::item15 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 16,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item15;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15
-    >
-struct map16
-    : m_item<
-          16
-        , typename P15::first
-        , typename P15::second
-        , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >
-        >
-{
-    typedef map16 type;
-};
-
-template< typename Map>
-struct m_at< Map,16 >
-{
-    typedef typename Map::item16 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 17,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item16;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16
-    >
-struct map17
-    : m_item<
-          17
-        , typename P16::first
-        , typename P16::second
-        , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >
-        >
-{
-    typedef map17 type;
-};
-
-template< typename Map>
-struct m_at< Map,17 >
-{
-    typedef typename Map::item17 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 18,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item17;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17
-    >
-struct map18
-    : m_item<
-          18
-        , typename P17::first
-        , typename P17::second
-        , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >
-        >
-{
-    typedef map18 type;
-};
-
-template< typename Map>
-struct m_at< Map,18 >
-{
-    typedef typename Map::item18 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 19,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item18;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18
-    >
-struct map19
-    : m_item<
-          19
-        , typename P18::first
-        , typename P18::second
-        , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >
-        >
-{
-    typedef map19 type;
-};
-
-template< typename Map>
-struct m_at< Map,19 >
-{
-    typedef typename Map::item19 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 20,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item19;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    >
-struct map20
-    : m_item<
-          20
-        , typename P19::first
-        , typename P19::second
-        , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >
-        >
-{
-    typedef map20 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map30.hpp
deleted file mode 100644
index d2f2e17..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map30.hpp
+++ /dev/null
@@ -1,330 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename Map>
-struct m_at< Map,20 >
-{
-    typedef typename Map::item20 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 21,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item20;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20
-    >
-struct map21
-    : m_item<
-          21
-        , typename P20::first
-        , typename P20::second
-        , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >
-        >
-{
-    typedef map21 type;
-};
-
-template< typename Map>
-struct m_at< Map,21 >
-{
-    typedef typename Map::item21 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 22,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item21;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21
-    >
-struct map22
-    : m_item<
-          22
-        , typename P21::first
-        , typename P21::second
-        , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >
-        >
-{
-    typedef map22 type;
-};
-
-template< typename Map>
-struct m_at< Map,22 >
-{
-    typedef typename Map::item22 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 23,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item22;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22
-    >
-struct map23
-    : m_item<
-          23
-        , typename P22::first
-        , typename P22::second
-        , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >
-        >
-{
-    typedef map23 type;
-};
-
-template< typename Map>
-struct m_at< Map,23 >
-{
-    typedef typename Map::item23 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 24,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item23;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23
-    >
-struct map24
-    : m_item<
-          24
-        , typename P23::first
-        , typename P23::second
-        , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >
-        >
-{
-    typedef map24 type;
-};
-
-template< typename Map>
-struct m_at< Map,24 >
-{
-    typedef typename Map::item24 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 25,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item24;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    >
-struct map25
-    : m_item<
-          25
-        , typename P24::first
-        , typename P24::second
-        , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 >
-        >
-{
-    typedef map25 type;
-};
-
-template< typename Map>
-struct m_at< Map,25 >
-{
-    typedef typename Map::item25 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 26,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item25;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25
-    >
-struct map26
-    : m_item<
-          26
-        , typename P25::first
-        , typename P25::second
-        , map25< 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 >
-        >
-{
-    typedef map26 type;
-};
-
-template< typename Map>
-struct m_at< Map,26 >
-{
-    typedef typename Map::item26 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 27,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item26;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26
-    >
-struct map27
-    : m_item<
-          27
-        , typename P26::first
-        , typename P26::second
-        , map26< 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,P25 >
-        >
-{
-    typedef map27 type;
-};
-
-template< typename Map>
-struct m_at< Map,27 >
-{
-    typedef typename Map::item27 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 28,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item27;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27
-    >
-struct map28
-    : m_item<
-          28
-        , typename P27::first
-        , typename P27::second
-        , map27< 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,P25,P26 >
-        >
-{
-    typedef map28 type;
-};
-
-template< typename Map>
-struct m_at< Map,28 >
-{
-    typedef typename Map::item28 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 29,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item28;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28
-    >
-struct map29
-    : m_item<
-          29
-        , typename P28::first
-        , typename P28::second
-        , map28< 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,P25,P26,P27 >
-        >
-{
-    typedef map29 type;
-};
-
-template< typename Map>
-struct m_at< Map,29 >
-{
-    typedef typename Map::item29 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 30,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item29;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    >
-struct map30
-    : m_item<
-          30
-        , typename P29::first
-        , typename P29::second
-        , map29< 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,P25,P26,P27,P28 >
-        >
-{
-    typedef map30 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map40.hpp
deleted file mode 100644
index 692f014..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map40.hpp
+++ /dev/null
@@ -1,350 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename Map>
-struct m_at< Map,30 >
-{
-    typedef typename Map::item30 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 31,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item30;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30
-    >
-struct map31
-    : m_item<
-          31
-        , typename P30::first
-        , typename P30::second
-        , map30< 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,P25,P26,P27,P28,P29 >
-        >
-{
-    typedef map31 type;
-};
-
-template< typename Map>
-struct m_at< Map,31 >
-{
-    typedef typename Map::item31 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 32,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item31;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31
-    >
-struct map32
-    : m_item<
-          32
-        , typename P31::first
-        , typename P31::second
-        , map31< 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,P25,P26,P27,P28,P29,P30 >
-        >
-{
-    typedef map32 type;
-};
-
-template< typename Map>
-struct m_at< Map,32 >
-{
-    typedef typename Map::item32 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 33,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item32;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32
-    >
-struct map33
-    : m_item<
-          33
-        , typename P32::first
-        , typename P32::second
-        , map32< 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,P25,P26,P27,P28,P29,P30,P31 >
-        >
-{
-    typedef map33 type;
-};
-
-template< typename Map>
-struct m_at< Map,33 >
-{
-    typedef typename Map::item33 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 34,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item33;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33
-    >
-struct map34
-    : m_item<
-          34
-        , typename P33::first
-        , typename P33::second
-        , map33< 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,P25,P26,P27,P28,P29,P30,P31,P32 >
-        >
-{
-    typedef map34 type;
-};
-
-template< typename Map>
-struct m_at< Map,34 >
-{
-    typedef typename Map::item34 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 35,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item34;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    >
-struct map35
-    : m_item<
-          35
-        , typename P34::first
-        , typename P34::second
-        , map34< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33 >
-        >
-{
-    typedef map35 type;
-};
-
-template< typename Map>
-struct m_at< Map,35 >
-{
-    typedef typename Map::item35 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 36,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item35;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35
-    >
-struct map36
-    : m_item<
-          36
-        , typename P35::first
-        , typename P35::second
-        , map35< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 >
-        >
-{
-    typedef map36 type;
-};
-
-template< typename Map>
-struct m_at< Map,36 >
-{
-    typedef typename Map::item36 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 37,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item36;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36
-    >
-struct map37
-    : m_item<
-          37
-        , typename P36::first
-        , typename P36::second
-        , map36< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 >
-        >
-{
-    typedef map37 type;
-};
-
-template< typename Map>
-struct m_at< Map,37 >
-{
-    typedef typename Map::item37 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 38,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item37;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37
-    >
-struct map38
-    : m_item<
-          38
-        , typename P37::first
-        , typename P37::second
-        , map37< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 >
-        >
-{
-    typedef map38 type;
-};
-
-template< typename Map>
-struct m_at< Map,38 >
-{
-    typedef typename Map::item38 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 39,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item38;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38
-    >
-struct map39
-    : m_item<
-          39
-        , typename P38::first
-        , typename P38::second
-        , map38< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 >
-        >
-{
-    typedef map39 type;
-};
-
-template< typename Map>
-struct m_at< Map,39 >
-{
-    typedef typename Map::item39 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 40,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item39;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    >
-struct map40
-    : m_item<
-          40
-        , typename P39::first
-        , typename P39::second
-        , map39< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 >
-        >
-{
-    typedef map40 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map50.hpp
deleted file mode 100644
index 3bd2a25..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/plain/map50.hpp
+++ /dev/null
@@ -1,370 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename Map>
-struct m_at< Map,40 >
-{
-    typedef typename Map::item40 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 41,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item40;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40
-    >
-struct map41
-    : m_item<
-          41
-        , typename P40::first
-        , typename P40::second
-        , map40< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 >
-        >
-{
-    typedef map41 type;
-};
-
-template< typename Map>
-struct m_at< Map,41 >
-{
-    typedef typename Map::item41 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 42,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item41;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41
-    >
-struct map42
-    : m_item<
-          42
-        , typename P41::first
-        , typename P41::second
-        , map41< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 >
-        >
-{
-    typedef map42 type;
-};
-
-template< typename Map>
-struct m_at< Map,42 >
-{
-    typedef typename Map::item42 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 43,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item42;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42
-    >
-struct map43
-    : m_item<
-          43
-        , typename P42::first
-        , typename P42::second
-        , map42< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 >
-        >
-{
-    typedef map43 type;
-};
-
-template< typename Map>
-struct m_at< Map,43 >
-{
-    typedef typename Map::item43 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 44,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item43;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43
-    >
-struct map44
-    : m_item<
-          44
-        , typename P43::first
-        , typename P43::second
-        , map43< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 >
-        >
-{
-    typedef map44 type;
-};
-
-template< typename Map>
-struct m_at< Map,44 >
-{
-    typedef typename Map::item44 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 45,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item44;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    >
-struct map45
-    : m_item<
-          45
-        , typename P44::first
-        , typename P44::second
-        , map44< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 >
-        >
-{
-    typedef map45 type;
-};
-
-template< typename Map>
-struct m_at< Map,45 >
-{
-    typedef typename Map::item45 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 46,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item45;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45
-    >
-struct map46
-    : m_item<
-          46
-        , typename P45::first
-        , typename P45::second
-        , map45< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 >
-        >
-{
-    typedef map46 type;
-};
-
-template< typename Map>
-struct m_at< Map,46 >
-{
-    typedef typename Map::item46 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 47,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item46;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46
-    >
-struct map47
-    : m_item<
-          47
-        , typename P46::first
-        , typename P46::second
-        , map46< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 >
-        >
-{
-    typedef map47 type;
-};
-
-template< typename Map>
-struct m_at< Map,47 >
-{
-    typedef typename Map::item47 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 48,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item47;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47
-    >
-struct map48
-    : m_item<
-          48
-        , typename P47::first
-        , typename P47::second
-        , map47< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 >
-        >
-{
-    typedef map48 type;
-};
-
-template< typename Map>
-struct m_at< Map,48 >
-{
-    typedef typename Map::item48 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 49,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item48;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47, typename P48
-    >
-struct map49
-    : m_item<
-          49
-        , typename P48::first
-        , typename P48::second
-        , map48< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 >
-        >
-{
-    typedef map49 type;
-};
-
-template< typename Map>
-struct m_at< Map,49 >
-{
-    typedef typename Map::item49 type;
-};
-
-template< typename Key, typename T, typename Base >
-struct m_item< 50,Key,T,Base >
-    : m_item_< Key,T,Base >
-{
-    typedef pair< Key,T > item49;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47, typename P48, typename P49
-    >
-struct map50
-    : m_item<
-          50
-        , typename P49::first
-        , typename P49::second
-        , map49< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 >
-        >
-{
-    typedef map50 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp
deleted file mode 100644
index e48e991..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename P0
-    >
-struct map1
-    : m_item<
-          typename P0::first
-        , typename P0::second
-        , map0<  >
-        >
-{
-    typedef map1 type;
-};
-
-template<
-      typename P0, typename P1
-    >
-struct map2
-    : m_item<
-          typename P1::first
-        , typename P1::second
-        , map1<P0>
-        >
-{
-    typedef map2 type;
-};
-
-template<
-      typename P0, typename P1, typename P2
-    >
-struct map3
-    : m_item<
-          typename P2::first
-        , typename P2::second
-        , map2< P0,P1 >
-        >
-{
-    typedef map3 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3
-    >
-struct map4
-    : m_item<
-          typename P3::first
-        , typename P3::second
-        , map3< P0,P1,P2 >
-        >
-{
-    typedef map4 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    >
-struct map5
-    : m_item<
-          typename P4::first
-        , typename P4::second
-        , map4< P0,P1,P2,P3 >
-        >
-{
-    typedef map5 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5
-    >
-struct map6
-    : m_item<
-          typename P5::first
-        , typename P5::second
-        , map5< P0,P1,P2,P3,P4 >
-        >
-{
-    typedef map6 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6
-    >
-struct map7
-    : m_item<
-          typename P6::first
-        , typename P6::second
-        , map6< P0,P1,P2,P3,P4,P5 >
-        >
-{
-    typedef map7 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7
-    >
-struct map8
-    : m_item<
-          typename P7::first
-        , typename P7::second
-        , map7< P0,P1,P2,P3,P4,P5,P6 >
-        >
-{
-    typedef map8 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8
-    >
-struct map9
-    : m_item<
-          typename P8::first
-        , typename P8::second
-        , map8< P0,P1,P2,P3,P4,P5,P6,P7 >
-        >
-{
-    typedef map9 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    >
-struct map10
-    : m_item<
-          typename P9::first
-        , typename P9::second
-        , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
-        >
-{
-    typedef map10 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp
deleted file mode 100644
index bb8d388..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10
-    >
-struct map11
-    : m_item<
-          typename P10::first
-        , typename P10::second
-        , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 >
-        >
-{
-    typedef map11 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11
-    >
-struct map12
-    : m_item<
-          typename P11::first
-        , typename P11::second
-        , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 >
-        >
-{
-    typedef map12 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12
-    >
-struct map13
-    : m_item<
-          typename P12::first
-        , typename P12::second
-        , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 >
-        >
-{
-    typedef map13 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13
-    >
-struct map14
-    : m_item<
-          typename P13::first
-        , typename P13::second
-        , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 >
-        >
-{
-    typedef map14 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    >
-struct map15
-    : m_item<
-          typename P14::first
-        , typename P14::second
-        , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 >
-        >
-{
-    typedef map15 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15
-    >
-struct map16
-    : m_item<
-          typename P15::first
-        , typename P15::second
-        , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 >
-        >
-{
-    typedef map16 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16
-    >
-struct map17
-    : m_item<
-          typename P16::first
-        , typename P16::second
-        , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 >
-        >
-{
-    typedef map17 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17
-    >
-struct map18
-    : m_item<
-          typename P17::first
-        , typename P17::second
-        , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 >
-        >
-{
-    typedef map18 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18
-    >
-struct map19
-    : m_item<
-          typename P18::first
-        , typename P18::second
-        , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 >
-        >
-{
-    typedef map19 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    >
-struct map20
-    : m_item<
-          typename P19::first
-        , typename P19::second
-        , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 >
-        >
-{
-    typedef map20 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp
deleted file mode 100644
index 6a45c0d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20
-    >
-struct map21
-    : m_item<
-          typename P20::first
-        , typename P20::second
-        , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 >
-        >
-{
-    typedef map21 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21
-    >
-struct map22
-    : m_item<
-          typename P21::first
-        , typename P21::second
-        , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 >
-        >
-{
-    typedef map22 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22
-    >
-struct map23
-    : m_item<
-          typename P22::first
-        , typename P22::second
-        , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 >
-        >
-{
-    typedef map23 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23
-    >
-struct map24
-    : m_item<
-          typename P23::first
-        , typename P23::second
-        , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 >
-        >
-{
-    typedef map24 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    >
-struct map25
-    : m_item<
-          typename P24::first
-        , typename P24::second
-        , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 >
-        >
-{
-    typedef map25 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25
-    >
-struct map26
-    : m_item<
-          typename P25::first
-        , typename P25::second
-        , map25< 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 >
-        >
-{
-    typedef map26 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26
-    >
-struct map27
-    : m_item<
-          typename P26::first
-        , typename P26::second
-        , map26< 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,P25 >
-        >
-{
-    typedef map27 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27
-    >
-struct map28
-    : m_item<
-          typename P27::first
-        , typename P27::second
-        , map27< 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,P25,P26 >
-        >
-{
-    typedef map28 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28
-    >
-struct map29
-    : m_item<
-          typename P28::first
-        , typename P28::second
-        , map28< 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,P25,P26,P27 >
-        >
-{
-    typedef map29 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    >
-struct map30
-    : m_item<
-          typename P29::first
-        , typename P29::second
-        , map29< 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,P25,P26,P27,P28 >
-        >
-{
-    typedef map30 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp
deleted file mode 100644
index 6fc4f4b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30
-    >
-struct map31
-    : m_item<
-          typename P30::first
-        , typename P30::second
-        , map30< 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,P25,P26,P27,P28,P29 >
-        >
-{
-    typedef map31 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31
-    >
-struct map32
-    : m_item<
-          typename P31::first
-        , typename P31::second
-        , map31< 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,P25,P26,P27,P28,P29,P30 >
-        >
-{
-    typedef map32 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32
-    >
-struct map33
-    : m_item<
-          typename P32::first
-        , typename P32::second
-        , map32< 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,P25,P26,P27,P28,P29,P30,P31 >
-        >
-{
-    typedef map33 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33
-    >
-struct map34
-    : m_item<
-          typename P33::first
-        , typename P33::second
-        , map33< 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,P25,P26,P27,P28,P29,P30,P31,P32 >
-        >
-{
-    typedef map34 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    >
-struct map35
-    : m_item<
-          typename P34::first
-        , typename P34::second
-        , map34< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33 >
-        >
-{
-    typedef map35 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35
-    >
-struct map36
-    : m_item<
-          typename P35::first
-        , typename P35::second
-        , map35< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 >
-        >
-{
-    typedef map36 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36
-    >
-struct map37
-    : m_item<
-          typename P36::first
-        , typename P36::second
-        , map36< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 >
-        >
-{
-    typedef map37 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37
-    >
-struct map38
-    : m_item<
-          typename P37::first
-        , typename P37::second
-        , map37< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 >
-        >
-{
-    typedef map38 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38
-    >
-struct map39
-    : m_item<
-          typename P38::first
-        , typename P38::second
-        , map38< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 >
-        >
-{
-    typedef map39 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    >
-struct map40
-    : m_item<
-          typename P39::first
-        , typename P39::second
-        , map39< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 >
-        >
-{
-    typedef map40 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp
deleted file mode 100644
index 7b3980d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp
+++ /dev/null
@@ -1,230 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map/map50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40
-    >
-struct map41
-    : m_item<
-          typename P40::first
-        , typename P40::second
-        , map40< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 >
-        >
-{
-    typedef map41 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41
-    >
-struct map42
-    : m_item<
-          typename P41::first
-        , typename P41::second
-        , map41< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 >
-        >
-{
-    typedef map42 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42
-    >
-struct map43
-    : m_item<
-          typename P42::first
-        , typename P42::second
-        , map42< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 >
-        >
-{
-    typedef map43 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43
-    >
-struct map44
-    : m_item<
-          typename P43::first
-        , typename P43::second
-        , map43< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 >
-        >
-{
-    typedef map44 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    >
-struct map45
-    : m_item<
-          typename P44::first
-        , typename P44::second
-        , map44< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 >
-        >
-{
-    typedef map45 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45
-    >
-struct map46
-    : m_item<
-          typename P45::first
-        , typename P45::second
-        , map45< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 >
-        >
-{
-    typedef map46 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46
-    >
-struct map47
-    : m_item<
-          typename P46::first
-        , typename P46::second
-        , map46< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 >
-        >
-{
-    typedef map47 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47
-    >
-struct map48
-    : m_item<
-          typename P47::first
-        , typename P47::second
-        , map47< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 >
-        >
-{
-    typedef map48 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47, typename P48
-    >
-struct map49
-    : m_item<
-          typename P48::first
-        , typename P48::second
-        , map48< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 >
-        >
-{
-    typedef map49 type;
-};
-
-template<
-      typename P0, typename P1, typename P2, typename P3, typename P4
-    , typename P5, typename P6, typename P7, typename P8, typename P9
-    , typename P10, typename P11, typename P12, typename P13, typename P14
-    , typename P15, typename P16, typename P17, typename P18, typename P19
-    , typename P20, typename P21, typename P22, typename P23, typename P24
-    , typename P25, typename P26, typename P27, typename P28, typename P29
-    , typename P30, typename P31, typename P32, typename P33, typename P34
-    , typename P35, typename P36, typename P37, typename P38, typename P39
-    , typename P40, typename P41, typename P42, typename P43, typename P44
-    , typename P45, typename P46, typename P47, typename P48, typename P49
-    >
-struct map50
-    : m_item<
-          typename P49::first
-        , typename P49::second
-        , map49< 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,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 >
-        >
-{
-    typedef map50 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/size_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/size_impl.hpp
deleted file mode 100644
index fd46a1c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/size_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct size_impl< aux::map_tag >
-{
-    template< typename Map > struct apply
-        : Map::size
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/tag.hpp
deleted file mode 100644
index 6e3b7f4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/tag.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl { namespace aux {
-
-struct map_tag;
-
-}}}
-
-#endif // BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/value_type_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/value_type_impl.hpp
deleted file mode 100644
index 5451b14..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/aux_/value_type_impl.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MAP_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/value_type_fwd.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-namespace boost {
-namespace mpl {
-
-template<>
-struct value_type_impl< aux::map_tag >
-{
-    template< typename Map, typename T > struct apply
-        : second<T>
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map0.hpp
deleted file mode 100644
index 88ed4b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map0.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_MAP0_HPP_INCLUDED
-#define BOOST_MPL_MAP_MAP0_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/map/aux_/contains_impl.hpp>
-#include <boost/mpl/map/aux_/at_impl.hpp>
-//#include <boost/mpl/map/aux_/O1_size.hpp>
-#include <boost/mpl/map/aux_/insert_impl.hpp>
-#include <boost/mpl/map/aux_/insert_range_impl.hpp>
-#include <boost/mpl/map/aux_/erase_impl.hpp>
-#include <boost/mpl/map/aux_/erase_key_impl.hpp>
-#include <boost/mpl/map/aux_/has_key_impl.hpp>
-#include <boost/mpl/map/aux_/key_type_impl.hpp>
-#include <boost/mpl/map/aux_/value_type_impl.hpp>
-#include <boost/mpl/map/aux_/clear_impl.hpp>
-#include <boost/mpl/map/aux_/size_impl.hpp>
-#include <boost/mpl/map/aux_/empty_impl.hpp>
-#include <boost/mpl/map/aux_/begin_end_impl.hpp>
-#include <boost/mpl/map/aux_/iterator.hpp>
-#include <boost/mpl/map/aux_/item.hpp>
-#include <boost/mpl/map/aux_/map0.hpp>
-#include <boost/mpl/map/aux_/tag.hpp>
-
-#endif // BOOST_MPL_MAP_MAP0_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map10.hpp
deleted file mode 100644
index 7c53f3c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map10.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_MAP10_HPP_INCLUDED
-#define BOOST_MPL_MAP_MAP10_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/map/map0.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 map10.hpp
-#   include <boost/mpl/map/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/map/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_MAP_MAP10_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map20.hpp
deleted file mode 100644
index f5e61b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map20.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_MAP20_HPP_INCLUDED
-#define BOOST_MPL_MAP_MAP20_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/map/map10.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 map20.hpp
-#   include <boost/mpl/map/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/map/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_MAP_MAP20_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map30.hpp
deleted file mode 100644
index 4e632b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map30.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_MAP30_HPP_INCLUDED
-#define BOOST_MPL_MAP_MAP30_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/map/map20.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 map30.hpp
-#   include <boost/mpl/map/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/map/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_MAP_MAP30_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map40.hpp
deleted file mode 100644
index db66f7a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map40.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_MAP40_HPP_INCLUDED
-#define BOOST_MPL_MAP_MAP40_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/map/map30.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 map40.hpp
-#   include <boost/mpl/map/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/map/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_MAP_MAP40_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map50.hpp
deleted file mode 100644
index 1c2ef58..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/map/map50.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_MAP_MAP50_HPP_INCLUDED
-#define BOOST_MPL_MAP_MAP50_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/map/map40.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 map50.hpp
-#   include <boost/mpl/map/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/map/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_MAP_MAP50_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/fixed_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/fixed_c.hpp
deleted file mode 100644
index 1d78e51..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/fixed_c.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_FIXED_C_HPP_INCLUDED
-#define BOOST_MPL_FIXED_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      long IntegerPart
-    , unsigned long FractionPart
-    >
-struct fixed_c
-{
-    BOOST_STATIC_CONSTANT(long, integer_part = IntegerPart);
-    BOOST_STATIC_CONSTANT(unsigned long, fraction_part = FractionPart);
-    typedef fixed_c<IntegerPart, FractionPart> type;
-    
-    fixed_c() {}
-};
-
-}}
-
-#endif // BOOST_MPL_FIXED_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/is_even.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/is_even.hpp
deleted file mode 100644
index a39de5b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/is_even.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-
-#ifndef BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED
-#define BOOST_MPL_MATH_IS_EVEN_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/bool.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/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-namespace aux
-{
-  template <class N>
-  struct is_even_base
-  {
-      enum { value = (N::value % 2) == 0 };
-      typedef bool_<value> type;
-  };
-}
-#endif 
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(N)
-    >
-struct is_even
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-  : aux::is_even_base<N>::type
-#else
-  : bool_<((N::value % 2) == 0)>
-#endif 
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_even,(N))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, is_even)
-
-}}
-
-#endif // BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/rational_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/rational_c.hpp
deleted file mode 100644
index dd1ac3f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/math/rational_c.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef BOOST_MPL_RATIONAL_C_HPP_INCLUDED
-#define BOOST_MPL_RATIONAL_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename IntegerType
-    , IntegerType N
-    , IntegerType D = 1
-    >
-struct rational_c
-{
-    BOOST_STATIC_CONSTANT(IntegerType, numerator = N);
-    BOOST_STATIC_CONSTANT(IntegerType, denominator = D);
-    
-    typedef rational_c<IntegerType,N,D> type;
-    rational_c() {}
-};
-
-}}
-
-#endif // BOOST_MPL_RATIONAL_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/max.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/max.hpp
deleted file mode 100644
index 4a4c8c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/max.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_MAX_HPP_INCLUDED
-#define BOOST_MPL_MAX_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/min_max.hpp>
-
-#endif // BOOST_MPL_MAX_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/max_element.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/max_element.hpp
deleted file mode 100644
index 33244f3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/min.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min.hpp
deleted file mode 100644
index d35c2c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_MIN_HPP_INCLUDED
-#define BOOST_MPL_MIN_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/min_max.hpp>
-
-#endif // BOOST_MPL_MIN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min_element.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min_element.hpp
deleted file mode 100644
index 078ee1d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min_element.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED
-#define BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED
-
-// 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/max_element.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(min_element)
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename Predicate = less<_,_>
-    >
-struct min_element
-    : max_element<
-          Sequence
-        , mpl::not_<Predicate>
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, min_element)
-
-}}
-
-#endif // BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min_max.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/min_max.hpp
deleted file mode 100644
index 77545cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/minus.hpp
deleted file mode 100644
index 9f29f74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/modulus.hpp
deleted file mode 100644
index 5cc2ecc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/modulus.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_MODULUS_HPP_INCLUDED
-#define BOOST_MPL_MODULUS_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$
-// $Date$
-// $Revision$
-
-#define AUX778076_OP_NAME modulus
-#define AUX778076_OP_TOKEN %
-#define AUX778076_OP_ARITY 2
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_MODULUS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiplies.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiplies.hpp
deleted file mode 100644
index 53c39d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/count_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/count_impl.hpp
deleted file mode 100644
index 6cd4a5b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/count_impl.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-
-#ifndef BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MULTISET_AUX_COUNT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/multiset/aux_/tag.hpp>
-#include <boost/mpl/count_fwd.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#   include <boost/mpl/if.hpp>
-#   include <boost/type_traits/is_reference.hpp>
-#endif
-
-namespace boost { namespace mpl {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-namespace aux {
-template< typename S, typename U >
-struct multiset_count_impl
-    : int_< sizeof(S::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) - 1 >
-{
-};
-
-template< typename S, typename U >
-struct multiset_count_ref_impl
-{
-    typedef U (* u_)();
-    typedef int_< sizeof(S::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) - 1 > type_;
-    BOOST_STATIC_CONSTANT(int, value = type_::value);
-    typedef type_ type;
-};
-}
-
-template<>
-struct count_impl< aux::multiset_tag >
-{
-    template< typename Set, typename Key > struct apply
-        : if_< 
-              is_reference<Key>
-            , aux::multiset_count_ref_impl<Set,Key>
-            , aux::multiset_count_impl<Set,Key>
-            >::type
-    {
-    };
-};
-
-#else
-
-template<>
-struct count_impl< aux::multiset_tag >
-{
-    template< typename Set, typename Key > struct apply
-    {
-        enum { msvc71_wknd_ = sizeof(Set::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<Key>*,0))) - 1 };
-        typedef int_< msvc71_wknd_ > type;
-        BOOST_STATIC_CONSTANT(int, value = msvc71_wknd_);
-    };
-};
-
-#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-}}
-
-#endif // BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/insert_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/insert_impl.hpp
deleted file mode 100644
index 208da28..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/insert_impl.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_MULTISET_AUX_INSERT_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/multiset/aux_/item.hpp>
-#include <boost/mpl/multiset/aux_/tag.hpp>
-#include <boost/mpl/insert_fwd.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct insert_impl< aux::multiset_tag >
-{
-    template< typename Set, typename Key, typename unused_ > struct apply
-    {
-        typedef ms_item<Key,Set> type;
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/item.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/item.hpp
deleted file mode 100644
index eca21ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/item.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-#ifndef BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED
-#define BOOST_MPL_MULTISET_AUX_ITEM_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/multiset/aux_/tag.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/config/arrays.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#   include <boost/mpl/eval_if.hpp>
-#   include <boost/mpl/next.hpp>
-#   include <boost/type_traits/is_same.hpp>
-#endif
-
-
-namespace boost { namespace mpl {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-template< typename T, typename Base >
-struct ms_item
-{
-    typedef aux::multiset_tag tag;
-
-    template< typename U > struct prior_count
-    {
-        enum { msvc70_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) };
-        typedef int_< msvc70_wknd_ > count_;
-        typedef typename eval_if< is_same<T,U>, next<count_>, count_ >::type c_;
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-        typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value>::type type;
-#else
-        typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value];
-#endif
-    };
-
-    template< typename U > struct prior_ref_count
-    {
-        typedef U (* u_)();
-        enum { msvc70_wknd_ = sizeof(Base::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) }; 
-        typedef int_< msvc70_wknd_ > count_;
-        typedef typename eval_if< is_same<T,U>, next<count_>, count_ >::type c_;
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-        typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value>::type type;
-#else
-        typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value];
-#endif
-    };
-
-    template< typename U >
-    static typename prior_count<U>::type key_count(U*);
-
-    template< typename U >
-    static typename prior_ref_count<U>::type ref_key_count(U (*)());
-};
-
-#else // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-namespace aux {
-template< typename U, typename Base >
-struct prior_key_count
-{
-    enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<U>*,0))) }; 
-    typedef int_< msvc71_wknd_ > count_;
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-    typedef typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type type;
-#else
-    typedef char (&type)[count_::value];
-#endif
-};
-}
-
-template< typename T, typename Base >
-struct ms_item
-{
-    typedef aux::multiset_tag tag;
-
-    enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper<T>*,0))) + 1 };
-    typedef int_< msvc71_wknd_ > count_;
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-    static 
-    typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type
-        key_count(aux::type_wrapper<T>*);
-#else
-    static char (& key_count(aux::type_wrapper<T>*) )[count_::value];
-#endif
-
-    template< typename U >
-    static typename aux::prior_key_count<U,Base>::type key_count(aux::type_wrapper<U>*);
-};
-
-#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-}}
-
-#endif // BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/multiset0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/multiset0.hpp
deleted file mode 100644
index e8cb9d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/multiset0.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED
-#define BOOST_MPL_MULTISET_AUX_MULTISET0_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/multiset/aux_/tag.hpp>
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace mpl {
-
-template< int dummy_ = 0 >
-struct multiset0
-{
-    typedef aux::multiset_tag tag;
-
-    typedef int_<1> count_;
-    static char (& key_count(...) )[count_::value];
-    static char (& ref_key_count(...) )[count_::value];
-};
-
-}}
-
-#endif // BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/tag.hpp
deleted file mode 100644
index 3988ca1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/aux_/tag.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_MULTISET_AUX_TAG_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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl { namespace aux {
-
-struct multiset_tag;
-
-}}}
-
-#endif // BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/multiset0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/multiset0.hpp
deleted file mode 100644
index 62a3c74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/multiset/multiset0.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED
-#define BOOST_MPL_MULTISET_MULTISET0_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$
-// $Date$
-// $Revision$
-
-//#include <boost/mpl/multiset/aux_/at.hpp>
-//#include <boost/mpl/multiset/aux_/front.hpp>
-//#include <boost/mpl/multiset/aux_/push_front.hpp>
-//#include <boost/mpl/multiset/aux_/pop_front.hpp>
-//#include <boost/mpl/multiset/aux_/back.hpp>
-//#include <boost/mpl/multiset/aux_/clear.hpp>
-//#include <boost/mpl/multiset/aux_/O1_size.hpp>
-//#include <boost/mpl/multiset/aux_/size.hpp>
-//#include <boost/mpl/multiset/aux_/empty.hpp>
-//#include <boost/mpl/multiset/aux_/empty.hpp>
-#include <boost/mpl/multiset/aux_/insert_impl.hpp>
-#include <boost/mpl/multiset/aux_/count_impl.hpp>
-//#include <boost/mpl/multiset/aux_/has_key_impl.hpp>
-//#include <boost/mpl/multiset/aux_/begin_end_impl.hpp>
-//#include <boost/mpl/multiset/aux_/iterator.hpp>
-#include <boost/mpl/multiset/aux_/item.hpp>
-#include <boost/mpl/multiset/aux_/multiset0.hpp>
-#include <boost/mpl/multiset/aux_/tag.hpp>
-
-#endif // BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/negate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/negate.hpp
deleted file mode 100644
index d6aa065..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/next.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/next.hpp
deleted file mode 100644
index 954b222..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/next_prior.hpp>
-
-#endif // BOOST_MPL_NEXT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/next_prior.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/next_prior.hpp
deleted file mode 100644
index d45fa20..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/not.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/not.hpp
deleted file mode 100644
index d5f6025..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/not_equal_to.hpp
deleted file mode 100644
index 11ef342..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/numeric_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/numeric_cast.hpp
deleted file mode 100644
index 6541470..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/or.hpp
deleted file mode 100644
index f9704d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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) && !defined(__clang__)
-#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) && !defined(__clang__)
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/order.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/order.hpp
deleted file mode 100644
index 50da710..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/order.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_ORDER_HPP_INCLUDED
-#define BOOST_MPL_ORDER_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/order_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/order_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 order
-    : order_impl< typename sequence_tag<AssociativeSequence>::type >
-        ::template apply<AssociativeSequence,Key>
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,order,(AssociativeSequence,Key))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, order)
-
-}}
-
-#endif // BOOST_MPL_ORDER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/order_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/order_fwd.hpp
deleted file mode 100644
index d89fef1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/order_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_ORDER_FWD_HPP_INCLUDED
-#define BOOST_MPL_ORDER_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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct order_impl;
-template< typename AssociativeSequence, typename Key > struct order;
-
-}}
-
-#endif // BOOST_MPL_ORDER_FWD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pair.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pair.hpp
deleted file mode 100644
index 67c01d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/pair_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pair_view.hpp
deleted file mode 100644
index a72cf92..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/partition.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/partition.hpp
deleted file mode 100644
index 795a39b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/partition.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_PARTITION_HPP_INCLUDED
-#define BOOST_MPL_PARTITION_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002-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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/stable_partition.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
- 
-template <
-      typename Sequence
-    , typename Pred
-    , typename In1
-    , typename In2
-    >
-struct partition_impl
-    : stable_partition_impl<Sequence,Pred,In1,In2>
-{
-};
-
-template <
-      typename Sequence
-    , typename Pred
-    , typename In1
-    , typename In2
-    >
-struct reverse_partition_impl
-    : reverse_stable_partition_impl<Sequence,Pred,In1,In2>
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, partition)
-
-}}
-
-#endif // BOOST_MPL_PARTITION_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/placeholders.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/placeholders.hpp
deleted file mode 100644
index df0373c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/plus.hpp
deleted file mode 100644
index 455920b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_back.hpp
deleted file mode 100644
index 92fb4f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_back.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_POP_BACK_HPP_INCLUDED
-#define BOOST_MPL_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/pop_back_fwd.hpp>
-#include <boost/mpl/aux_/pop_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)
-    >
-struct pop_back
-    : pop_back_impl< typename sequence_tag<Sequence>::type >
-        ::template apply< Sequence >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_back,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, pop_back)
-
-}}
-
-#endif // BOOST_MPL_POP_BACK_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_back_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_back_fwd.hpp
deleted file mode 100644
index 7095704..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_front.hpp
deleted file mode 100644
index 76dfbca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_front_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/pop_front_fwd.hpp
deleted file mode 100644
index 719c8b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/print.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/print.hpp
deleted file mode 100644
index e3b0d31..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/print.hpp
+++ /dev/null
@@ -1,75 +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$
-// $Date$
-// $Revision$
-
-#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(__clang__)
-    const int m_x = 1 / (sizeof(T) - sizeof(T));
-#elif 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 
-           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/rbgl_trimmed_boost_1_61_0/boost/mpl/prior.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/prior.hpp
deleted file mode 100644
index 849802c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/next_prior.hpp>
-
-#endif // BOOST_MPL_PRIOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/protect.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/protect.hpp
deleted file mode 100644
index 80574c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/push_back.hpp
deleted file mode 100644
index 95a2587..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/push_back_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/push_back_fwd.hpp
deleted file mode 100644
index 7a4f7a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/push_front.hpp
deleted file mode 100644
index e4d0dfb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/push_front_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/push_front_fwd.hpp
deleted file mode 100644
index d6ad5af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/quote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/quote.hpp
deleted file mode 100644
index 242c2e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/range_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/range_c.hpp
deleted file mode 100644
index ba95062..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/range_c.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_RANGE_C_HPP_INCLUDED
-#define BOOST_MPL_RANGE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/aux_/range_c/front.hpp>
-#include <boost/mpl/aux_/range_c/back.hpp>
-#include <boost/mpl/aux_/range_c/size.hpp>
-#include <boost/mpl/aux_/range_c/O1_size.hpp>
-#include <boost/mpl/aux_/range_c/empty.hpp>
-#include <boost/mpl/aux_/range_c/iterator.hpp>
-#include <boost/mpl/aux_/range_c/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T Start
-    , T Finish
-    >
-struct range_c
-{
-    typedef aux::half_open_range_tag tag;
-    typedef T value_type;
-    typedef range_c type;
-
-    typedef integral_c<T,Start> start;
-    typedef integral_c<T,Finish> finish;
-
-    typedef r_iter<start> begin;
-    typedef r_iter<finish> end;
-};
-
-}}
-
-#endif // BOOST_MPL_RANGE_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/remove.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/remove.hpp
deleted file mode 100644
index 9c72f9e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/remove.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_REMOVE_HPP_INCLUDED
-#define BOOST_MPL_REMOVE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/remove_if.hpp>
-#include <boost/mpl/same_as.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename Sequence
-    , typename T
-    , typename Inserter 
-    >
-struct remove_impl
-    : remove_if_impl< Sequence, same_as<T>, Inserter >
-{
-};
-
-template<
-      typename Sequence
-    , typename T
-    , typename Inserter 
-    >
-struct reverse_remove_impl
-    : reverse_remove_if_impl< Sequence, same_as<T>, Inserter >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove)
-
-}}
-
-#endif // BOOST_MPL_REMOVE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/remove_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/remove_if.hpp
deleted file mode 100644
index 8bc852a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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
-        , mpl::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
-        , mpl::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/rbgl_trimmed_boost_1_61_0/boost/mpl/replace.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/replace.hpp
deleted file mode 100644
index bb46dfb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/replace.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_REPLACE_HPP_INCLUDED
-#define BOOST_MPL_REPLACE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright John R. Bandela 2000-2002
-// 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/replace_if.hpp>
-#include <boost/mpl/same_as.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
-      typename Sequence
-    , typename OldType
-    , typename NewType
-    , typename Inserter 
-    >
-struct replace_impl
-    : replace_if_impl< Sequence, same_as<OldType>, NewType, Inserter >
-{
-};
-
-template<
-      typename Sequence
-    , typename OldType
-    , typename NewType
-    , typename Inserter 
-    >
-struct reverse_replace_impl
-    : reverse_replace_if_impl< Sequence, same_as<OldType>, NewType, Inserter >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace)
-
-}}
-
-#endif // BOOST_MPL_REPLACE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/replace_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/replace_if.hpp
deleted file mode 100644
index 79466c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/replace_if.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-
-#ifndef BOOST_MPL_REPLACE_IF_HPP_INCLUDED
-#define BOOST_MPL_REPLACE_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright John R. Bandela 2000-2002
-// 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Predicate, typename T >
-struct replace_if_op
-{
-    template< typename U > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-        : if_<
-              typename apply1<Predicate,U>::type
-            , T
-            , U
-            >
-    {
-#else
-    {
-        typedef typename if_<
-              typename apply1<Predicate,U>::type
-            , T
-            , U
-            >::type type;
-#endif
-    };
-};
-
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename T
-    , typename Inserter
-    >
-struct replace_if_impl
-    : transform1_impl<
-          Sequence
-        , protect< aux::replace_if_op<Predicate,T> >
-        , Inserter
-        >
-{
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename T
-    , typename Inserter
-    >
-struct reverse_replace_if_impl
-    : reverse_transform1_impl<
-          Sequence
-        , protect< aux::replace_if_op<Predicate,T> >
-        , Inserter
-        >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace_if)
-
-}}
-
-#endif // BOOST_MPL_REPLACE_IF_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse.hpp
deleted file mode 100644
index dd1fc18..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_REVERSE_HPP_INCLUDED
-#define BOOST_MPL_REVERSE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/copy.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(Inserter)
-    >
-struct reverse
-    : reverse_copy<
-          Sequence
-        , Inserter
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, reverse)
-
-}}
-
-#endif // BOOST_MPL_REVERSE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse_fold.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse_fold.hpp
deleted file mode 100644
index 87c26a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse_iter_fold.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/reverse_iter_fold.hpp
deleted file mode 100644
index 348f295..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/same_as.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/same_as.hpp
deleted file mode 100644
index 4be20bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/sequence_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/sequence_tag.hpp
deleted file mode 100644
index f87d92b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/sequence_tag_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/sequence_tag_fwd.hpp
deleted file mode 100644
index 4b0ed6f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set.hpp
deleted file mode 100644
index 75f56dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_SET_HPP_INCLUDED
-#define BOOST_MPL_SET_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/set.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_SET_HEADER \
-    BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE).hpp \
-    /**/
-#else
-#   define AUX778076_SET_HEADER \
-    BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_HEADER)
-#   undef AUX778076_SET_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 set.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/set.hpp>
-
-#   define AUX778076_SEQUENCE_NAME set
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_SET_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/at_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/at_impl.hpp
deleted file mode 100644
index 89119c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/begin_end_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/begin_end_impl.hpp
deleted file mode 100644
index 2595280..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/clear_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/clear_impl.hpp
deleted file mode 100644
index 9c6c760..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/empty_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/empty_impl.hpp
deleted file mode 100644
index 997ff02..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/erase_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/erase_impl.hpp
deleted file mode 100644
index c4a95b4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/erase_key_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/erase_key_impl.hpp
deleted file mode 100644
index f945d4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/has_key_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/has_key_impl.hpp
deleted file mode 100644
index bdc3273..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/include_preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/include_preprocessed.hpp
deleted file mode 100644
index ffeb9c6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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$
-// $Date$
-// $Revision$
-
-#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_HEADER \
-    plain/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#else
-#   define AUX778076_HEADER \
-    BOOST_PP_CAT(plain,/)##BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#endif
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER)
-#   include AUX778076_INCLUDE_STRING
-#   undef AUX778076_INCLUDE_STRING
-#else
-#   include BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER)
-#endif
-
-#   undef AUX778076_HEADER
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/insert_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/insert_impl.hpp
deleted file mode 100644
index ff180ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/insert_range_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/insert_range_impl.hpp
deleted file mode 100644
index f7150a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/insert_range_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
-
-// Copyright Bruno Dutra 2015
-//
-// Distributed under the Boost Software License, Version 1.0. 
-// (See accompanying file LICENSE_1_0.txt or copy at 
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/insert_range_fwd.hpp>
-#include <boost/mpl/set/aux_/tag.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/insert.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct insert_range_impl< aux::set_tag >
-{
-    template<
-          typename Sequence
-        , typename /*Pos*/
-        , typename Range
-        >
-    struct apply
-        : fold<Range, Sequence, insert<_1, _2> >
-    {
-    };
-};
-
-}}
-
-#endif // BOOST_MPL_SET_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/item.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/item.hpp
deleted file mode 100644
index bd5bc95..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/item.hpp
+++ /dev/null
@@ -1,82 +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$
-// $Date$
-// $Revision$
-
-#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 typename Base::item_ base;
-    typedef s_item type;
-    
-    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 typename Base::item_ base;
-    typedef typename prior< typename Base::size >::type  size;
-    typedef s_mask type;
-
-    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 typename Base::item_ 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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/iterator.hpp
deleted file mode 100644
index 9a58a25..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/key_type_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/key_type_impl.hpp
deleted file mode 100644
index 8e8a090..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/numbered.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/numbered.hpp
deleted file mode 100644
index edd839d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/numbered.hpp
+++ /dev/null
@@ -1,48 +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$
-// $Date$
-// $Revision$
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#   define AUX778076_SET_TAIL(set, i_, T) \
-    typename BOOST_PP_CAT(set,i_)< \
-          BOOST_PP_ENUM_PARAMS(i_, T) \
-        >::item_                           \
-    /**/
-
-#if i_ > 0
-template<
-      BOOST_PP_ENUM_PARAMS(i_, typename T)
-    >
-struct BOOST_PP_CAT(set,i_)
-    : s_item<
-          BOOST_PP_CAT(T,BOOST_PP_DEC(i_))
-        , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T)
-        >
-{
-    typedef BOOST_PP_CAT(set,i_) type;
-};
-#endif
-
-#   undef AUX778076_SET_TAIL
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/numbered_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/numbered_c.hpp
deleted file mode 100644
index 130cf5d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/numbered_c.hpp
+++ /dev/null
@@ -1,48 +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$
-// $Date$
-// $Revision$
-
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#   define AUX778076_SET_C_TAIL(set, i_, T, C) \
-    BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \
-          T BOOST_PP_ENUM_TRAILING_PARAMS(i_, C) \
-        > \
-    /**/
-
-template<
-      typename T
-    , BOOST_PP_ENUM_PARAMS(i_, T C)
-    >
-struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)
-    : s_item<
-          integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>
-        , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C)
-        >
-{
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) type;
-};
-
-#   undef AUX778076_SET_C_TAIL
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp
deleted file mode 100644
index 2c42b38..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set10.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T0
-    >
-struct set1
-    : s_item<
-          T0
-        , typename set0<  >::item_
-        >
-{
-    typedef set1 type;
-};
-
-template<
-      typename T0, typename T1
-    >
-struct set2
-    : s_item<
-          T1
-        , typename set1<T0>::item_
-        >
-{
-    typedef set2 type;
-};
-
-template<
-      typename T0, typename T1, typename T2
-    >
-struct set3
-    : s_item<
-          T2
-        , typename set2< T0,T1 >::item_
-        >
-{
-    typedef set3 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3
-    >
-struct set4
-    : s_item<
-          T3
-        , typename set3< T0,T1,T2 >::item_
-        >
-{
-    typedef set4 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    >
-struct set5
-    : s_item<
-          T4
-        , typename set4< T0,T1,T2,T3 >::item_
-        >
-{
-    typedef set5 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5
-    >
-struct set6
-    : s_item<
-          T5
-        , typename set5< T0,T1,T2,T3,T4 >::item_
-        >
-{
-    typedef set6 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6
-    >
-struct set7
-    : s_item<
-          T6
-        , typename set6< T0,T1,T2,T3,T4,T5 >::item_
-        >
-{
-    typedef set7 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7
-    >
-struct set8
-    : s_item<
-          T7
-        , typename set7< T0,T1,T2,T3,T4,T5,T6 >::item_
-        >
-{
-    typedef set8 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8
-    >
-struct set9
-    : s_item<
-          T8
-        , typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::item_
-        >
-{
-    typedef set9 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    >
-struct set10
-    : s_item<
-          T9
-        , typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::item_
-        >
-{
-    typedef set10 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp
deleted file mode 100644
index e9bdb29..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
-      typename T
-    , T C0
-    >
-struct set1_c
-    : s_item<
-          integral_c< T,C0 >
-        , set0_c<T>
-        >
-{
-    typedef set1_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1
-    >
-struct set2_c
-    : s_item<
-          integral_c< T,C1 >
-        , set1_c< T,C0 >
-        >
-{
-    typedef set2_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2
-    >
-struct set3_c
-    : s_item<
-          integral_c< T,C2 >
-        , set2_c< T,C0,C1 >
-        >
-{
-    typedef set3_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3
-    >
-struct set4_c
-    : s_item<
-          integral_c< T,C3 >
-        , set3_c< T,C0,C1,C2 >
-        >
-{
-    typedef set4_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4
-    >
-struct set5_c
-    : s_item<
-          integral_c< T,C4 >
-        , set4_c< T,C0,C1,C2,C3 >
-        >
-{
-    typedef set5_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5
-    >
-struct set6_c
-    : s_item<
-          integral_c< T,C5 >
-        , set5_c< T,C0,C1,C2,C3,C4 >
-        >
-{
-    typedef set6_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6
-    >
-struct set7_c
-    : s_item<
-          integral_c< T,C6 >
-        , set6_c< T,C0,C1,C2,C3,C4,C5 >
-        >
-{
-    typedef set7_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
-    >
-struct set8_c
-    : s_item<
-          integral_c< T,C7 >
-        , set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-        >
-{
-    typedef set8_c type;
-};
-
-template<
-      typename T
-    , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
-    >
-struct set9_c
-    : s_item<
-          integral_c< T,C8 >
-        , set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-        >
-{
-    typedef set9_c 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 set10_c
-    : s_item<
-          integral_c< T,C9 >
-        , set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-        >
-{
-    typedef set10_c type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp
deleted file mode 100644
index cb4e466..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set20.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set20.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 set11
-    : s_item<
-          T10
-        , typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::item_
-        >
-{
-    typedef set11 type;
-};
-
-template<
-      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 set12
-    : s_item<
-          T11
-        , typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::item_
-        >
-{
-    typedef set12 type;
-};
-
-template<
-      typename T0, 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 set13
-    : s_item<
-          T12
-        , typename set12< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
-        , T11 >::item_
-        >
-{
-    typedef set13 type;
-};
-
-template<
-      typename T0, typename T1, 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 set14
-    : s_item<
-          T13
-        , typename set13< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12 >::item_
-        >
-{
-    typedef set14 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, 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 set15
-    : s_item<
-          T14
-        , typename set14< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13 >::item_
-        >
-{
-    typedef set15 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, 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 set16
-    : s_item<
-          T15
-        , typename set15< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14 >::item_
-        >
-{
-    typedef set16 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , 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 set17
-    : s_item<
-          T16
-        , typename set16< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15 >::item_
-        >
-{
-    typedef set17 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, 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 set18
-    : s_item<
-          T17
-        , typename set17< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16 >::item_
-        >
-{
-    typedef set18 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, 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 set19
-    : s_item<
-          T18
-        , typename set18< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17 >::item_
-        >
-{
-    typedef set19 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, typename T8, typename T9
-    , typename T10, typename T11, typename T12, typename T13, typename T14
-    , typename T15, typename T16, typename T17, typename T18, typename T19
-    >
-struct set20
-    : s_item<
-          T19
-        , typename set19< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17, T18 >::item_
-        >
-{
-    typedef set20 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp
deleted file mode 100644
index 445b546..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set20_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 set11_c
-    : s_item<
-          integral_c< T,C10 >
-        , set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-        >
-{
-    typedef set11_c 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 set12_c
-    : s_item<
-          integral_c< T,C11 >
-        , set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-        >
-{
-    typedef set12_c 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 set13_c
-    : s_item<
-          integral_c< T,C12 >
-        , set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-        >
-{
-    typedef set13_c 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 set14_c
-    : s_item<
-          integral_c< T,C13 >
-        , set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-        >
-{
-    typedef set14_c 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 set15_c
-    : s_item<
-          integral_c< T,C14 >
-        , set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
-        >
-{
-    typedef set15_c 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 set16_c
-    : s_item<
-          integral_c< T,C15 >
-        , set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
-        >
-{
-    typedef set16_c 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 set17_c
-    : s_item<
-          integral_c< T,C16 >
-        , set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
-        >
-{
-    typedef set17_c 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 set18_c
-    : s_item<
-          integral_c< T,C17 >
-        , set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
-        >
-{
-    typedef set18_c 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 set19_c
-    : s_item<
-          integral_c< T,C18 >
-        , set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
-        >
-{
-    typedef set19_c 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 set20_c
-    : s_item<
-          integral_c< T,C19 >
-        , set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
-        >
-{
-    typedef set20_c type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp
deleted file mode 100644
index 08f2cda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set30.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set30.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 set21
-    : s_item<
-          T20
-        , typename set20< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17, T18, T19 >::item_
-        >
-{
-    typedef set21 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set22
-    : s_item<
-          T21
-        , typename set21< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17, T18, T19, T20 >::item_
-        >
-{
-    typedef set22 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set23
-    : s_item<
-          T22
-        , typename set22< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 >::item_
-        >
-{
-    typedef set23 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set24
-    : s_item<
-          T23
-        , typename set23< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 >::item_
-        >
-{
-    typedef set24 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set25
-    : s_item<
-          T24
-        , typename set24< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
-        , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 >::item_
-        >
-{
-    typedef set25 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set26
-    : s_item<
-          T25
-        , typename set25< 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 >::item_
-        >
-{
-    typedef set26 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set27
-    : s_item<
-          T26
-        , typename set26< 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 >::item_
-        >
-{
-    typedef set27 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set28
-    : s_item<
-          T27
-        , typename set27< 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 >::item_
-        >
-{
-    typedef set28 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set29
-    : s_item<
-          T28
-        , typename set28< 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 >::item_
-        >
-{
-    typedef set29 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set30
-    : s_item<
-          T29
-        , typename set29< 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 >::item_
-        >
-{
-    typedef set30 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp
deleted file mode 100644
index 7c0150c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set30_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 set21_c
-    : s_item<
-          integral_c< T,C20 >
-        , set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
-        >
-{
-    typedef set21_c 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 set22_c
-    : s_item<
-          integral_c< T,C21 >
-        , set21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
-        >
-{
-    typedef set22_c 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 set23_c
-    : s_item<
-          integral_c< T,C22 >
-        , set22_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 set23_c 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 set24_c
-    : s_item<
-          integral_c< T,C23 >
-        , set23_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 set24_c 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 set25_c
-    : s_item<
-          integral_c< T,C24 >
-        , set24_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 set25_c 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 set26_c
-    : s_item<
-          integral_c< T,C25 >
-        , set25_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 set26_c 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 set27_c
-    : s_item<
-          integral_c< T,C26 >
-        , set26_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 set27_c 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 set28_c
-    : s_item<
-          integral_c< T,C27 >
-        , set27_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 set28_c 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 set29_c
-    : s_item<
-          integral_c< T,C28 >
-        , set28_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 set29_c 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 set30_c
-    : s_item<
-          integral_c< T,C29 >
-        , set29_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 set30_c type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp
deleted file mode 100644
index a8571a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set40.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set40.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 set31
-    : s_item<
-          T30
-        , typename set30< 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 >::item_
-        >
-{
-    typedef set31 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set32
-    : s_item<
-          T31
-        , typename set31< 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 >::item_
-        >
-{
-    typedef set32 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set33
-    : s_item<
-          T32
-        , typename set32< 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 >::item_
-        >
-{
-    typedef set33 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set34
-    : s_item<
-          T33
-        , typename set33< 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 >::item_
-        >
-{
-    typedef set34 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set35
-    : s_item<
-          T34
-        , typename set34< 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 >::item_
-        >
-{
-    typedef set35 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set36
-    : s_item<
-          T35
-        , typename set35< 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 >::item_
-        >
-{
-    typedef set36 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set37
-    : s_item<
-          T36
-        , typename set36< 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 >::item_
-        >
-{
-    typedef set37 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set38
-    : s_item<
-          T37
-        , typename set37< 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 >::item_
-        >
-{
-    typedef set38 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set39
-    : s_item<
-          T38
-        , typename set38< 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 >::item_
-        >
-{
-    typedef set39 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set40
-    : s_item<
-          T39
-        , typename set39< 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 >::item_
-        >
-{
-    typedef set40 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp
deleted file mode 100644
index 0b0e49c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set40_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 set31_c
-    : s_item<
-          integral_c< T,C30 >
-        , set30_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 set31_c 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 set32_c
-    : s_item<
-          integral_c< T,C31 >
-        , set31_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 set32_c 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 set33_c
-    : s_item<
-          integral_c< T,C32 >
-        , set32_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 set33_c 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 set34_c
-    : s_item<
-          integral_c< T,C33 >
-        , set33_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 set34_c 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 set35_c
-    : s_item<
-          integral_c< T,C34 >
-        , set34_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 set35_c 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 set36_c
-    : s_item<
-          integral_c< T,C35 >
-        , set35_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 set36_c 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 set37_c
-    : s_item<
-          integral_c< T,C36 >
-        , set36_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 set37_c 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 set38_c
-    : s_item<
-          integral_c< T,C37 >
-        , set37_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 set38_c 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 set39_c
-    : s_item<
-          integral_c< T,C38 >
-        , set38_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 set39_c 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 set40_c
-    : s_item<
-          integral_c< T,C39 >
-        , set39_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 set40_c type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp
deleted file mode 100644
index 79798ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set50.hpp
+++ /dev/null
@@ -1,250 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set50.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 set41
-    : s_item<
-          T40
-        , typename set40< 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 >::item_
-        >
-{
-    typedef set41 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set42
-    : s_item<
-          T41
-        , typename set41< 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 >::item_
-        >
-{
-    typedef set42 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set43
-    : s_item<
-          T42
-        , typename set42< 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 >::item_
-        >
-{
-    typedef set43 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set44
-    : s_item<
-          T43
-        , typename set43< 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 >::item_
-        >
-{
-    typedef set44 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set45
-    : s_item<
-          T44
-        , typename set44< 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 >::item_
-        >
-{
-    typedef set45 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set46
-    : s_item<
-          T45
-        , typename set45< 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 >::item_
-        >
-{
-    typedef set46 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set47
-    : s_item<
-          T46
-        , typename set46< 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 >::item_
-        >
-{
-    typedef set47 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set48
-    : s_item<
-          T47
-        , typename set47< 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 >::item_
-        >
-{
-    typedef set48 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set49
-    : s_item<
-          T48
-        , typename set48< 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 >::item_
-        >
-{
-    typedef set49 type;
-};
-
-template<
-      typename T0, typename T1, typename T2, typename T3, typename T4
-    , typename T5, typename T6, typename T7, 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 set50
-    : s_item<
-          T49
-        , typename set49< 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 >::item_
-        >
-{
-    typedef set50 type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp
deleted file mode 100644
index 83627fa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set/set50_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 set41_c
-    : s_item<
-          integral_c< T,C40 >
-        , set40_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 set41_c 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 set42_c
-    : s_item<
-          integral_c< T,C41 >
-        , set41_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 set42_c 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 set43_c
-    : s_item<
-          integral_c< T,C42 >
-        , set42_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 set43_c 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 set44_c
-    : s_item<
-          integral_c< T,C43 >
-        , set43_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 set44_c 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 set45_c
-    : s_item<
-          integral_c< T,C44 >
-        , set44_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 set45_c 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 set46_c
-    : s_item<
-          integral_c< T,C45 >
-        , set45_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 set46_c 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 set47_c
-    : s_item<
-          integral_c< T,C46 >
-        , set46_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 set47_c 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 set48_c
-    : s_item<
-          integral_c< T,C47 >
-        , set47_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 set48_c 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 set49_c
-    : s_item<
-          integral_c< T,C48 >
-        , set48_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 set49_c 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 set50_c
-    : s_item<
-          integral_c< T,C49 >
-        , set49_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 set50_c type;
-};
-
-}}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/set0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/set0.hpp
deleted file mode 100644
index 65f52a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/size_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/size_impl.hpp
deleted file mode 100644
index e865596..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/tag.hpp
deleted file mode 100644
index f11fc2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-namespace boost { namespace mpl { namespace aux {
-
-struct set_tag;
-
-}}}
-
-#endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/value_type_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/aux_/value_type_impl.hpp
deleted file mode 100644
index 91cf0d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set0.hpp
deleted file mode 100644
index 1c424e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set0.hpp
+++ /dev/null
@@ -1,36 +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$
-// $Date$
-// $Revision$
-
-#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_/insert_range_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/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set0_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set0_c.hpp
deleted file mode 100644
index 7e7f77a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set0_c.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET0_C_HPP_INCLUDED
-#define BOOST_MPL_SET_SET0_C_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/set/set0.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T > struct set0_c
-    : set0<>
-{
-    typedef set0_c type;
-    typedef T value_type;
-};
-
-}}
-
-#endif // BOOST_MPL_SET_SET0_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set10.hpp
deleted file mode 100644
index fa876b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set10.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET10_HPP_INCLUDED
-#define BOOST_MPL_SET_SET10_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set0.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 set10.hpp
-#   include <boost/mpl/set/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, 10, <boost/mpl/set/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET10_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set10_c.hpp
deleted file mode 100644
index 34abd98..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set10_c.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET10_C_HPP_INCLUDED
-#define BOOST_MPL_SET_SET10_C_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set0_c.hpp>
-#   include <boost/mpl/set/set10.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 set10_c.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET10_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set20.hpp
deleted file mode 100644
index 0cdff47..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set20.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET20_HPP_INCLUDED
-#define BOOST_MPL_SET_SET20_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set10.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 set20.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET20_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set20_c.hpp
deleted file mode 100644
index e3de044..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set20_c.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET20_C_HPP_INCLUDED
-#define BOOST_MPL_SET_SET20_C_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set10_c.hpp>
-#   include <boost/mpl/set/set20.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 set20_c.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET20_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set30.hpp
deleted file mode 100644
index b034454..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set30.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET30_HPP_INCLUDED
-#define BOOST_MPL_SET_SET30_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set20.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 set30.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET30_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set30_c.hpp
deleted file mode 100644
index e006e1c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set30_c.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET30_C_HPP_INCLUDED
-#define BOOST_MPL_SET_SET30_C_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set20_c.hpp>
-#   include <boost/mpl/set/set30.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 set30_c.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET30_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set40.hpp
deleted file mode 100644
index 5fa2cd0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set40.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET40_HPP_INCLUDED
-#define BOOST_MPL_SET_SET40_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set30.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 set40.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET40_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set40_c.hpp
deleted file mode 100644
index bce5a80..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set40_c.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET40_C_HPP_INCLUDED
-#define BOOST_MPL_SET_SET40_C_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set30_c.hpp>
-#   include <boost/mpl/set/set40.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 set40_c.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET40_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set50.hpp
deleted file mode 100644
index 0c2bfc0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set50.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET50_HPP_INCLUDED
-#define BOOST_MPL_SET_SET50_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set40.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 set50.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET50_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set50_c.hpp
deleted file mode 100644
index 077dbf7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set/set50_c.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_SET_SET50_C_HPP_INCLUDED
-#define BOOST_MPL_SET_SET50_C_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/set/set40_c.hpp>
-#   include <boost/mpl/set/set50.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 set50_c.hpp
-#   include <boost/mpl/set/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/set/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_SET_SET50_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set_c.hpp
deleted file mode 100644
index c0f8e37..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/set_c.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef BOOST_MPL_SET_C_HPP_INCLUDED
-#define BOOST_MPL_SET_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/set.hpp>
-#   include <boost/mpl/aux_/nttp_decl.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_SET_C_HEADER \
-    BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c).hpp \
-    /**/
-#else
-#   define AUX778076_SET_C_HEADER \
-    BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_C_HEADER)
-#   undef AUX778076_SET_C_HEADER
-#   include <climits>
-#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 set_c.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/set.hpp>
-
-#   define AUX778076_SEQUENCE_NAME set_c
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE
-#   define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(set,n),_c)
-#   define AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_SET_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/shift_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/shift_left.hpp
deleted file mode 100644
index 55e4f64..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/shift_left.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED
-#define BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED
-
-// 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#define AUX778076_OP_NAME shift_left
-#define AUX778076_OP_TOKEN <<
-#include <boost/mpl/aux_/shift_op.hpp>
-
-#endif // BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/shift_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/shift_right.hpp
deleted file mode 100644
index 1ae1e35..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/shift_right.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED
-#define BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED
-
-// 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-#define AUX778076_OP_NAME shift_right
-#define AUX778076_OP_TOKEN >>
-#include <boost/mpl/aux_/shift_op.hpp>
-
-#endif // BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/single_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/single_view.hpp
deleted file mode 100644
index a872bb1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/single_view.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED
-#define BOOST_MPL_SINGLE_VIEW_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/single_element_iter.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct single_view
-    : iterator_range<
-          aux::sel_iter<T,0>
-        , aux::sel_iter<T,1>
-        >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, single_view)
-
-}}
-
-#endif // BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/size.hpp
deleted file mode 100644
index 12ffefb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/size_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/size_fwd.hpp
deleted file mode 100644
index c72628d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/size_t.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/size_t.hpp
deleted file mode 100644
index 99e9b41..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/size_t_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/size_t_fwd.hpp
deleted file mode 100644
index ffdf4b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/sizeof.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/sizeof.hpp
deleted file mode 100644
index cf5e41c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/sort.hpp
deleted file mode 100644
index 961aeab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/sort.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_SORT_HPP_INCLUDED
-#define BOOST_MPL_SORT_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002-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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/aux_/sort_impl.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, sort)
-
-}}
-
-#endif // BOOST_MPL_SORT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/stable_partition.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/stable_partition.hpp
deleted file mode 100644
index e010de3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/stable_partition.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-
-#ifndef BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED
-#define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002-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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/protect.hpp>
-#include <boost/mpl/aux_/partition_op.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-#include <boost/mpl/aux_/na.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
- 
-template <
-      typename Sequence
-    , typename Pred
-    , typename In
-    , typename In2
-    , typename In1 = typename if_na<In,In2>::type
-    >
-struct stable_partition_impl
-    : fold<
-          Sequence
-        , pair< typename In1::state, typename In2::state >
-        , protect< partition_op< 
-              Pred
-            , typename In1::operation
-            , typename In2::operation
-            > >
-        >
-{
-};
-
-template <
-      typename Sequence
-    , typename Pred
-    , typename In
-    , typename In2
-    , typename In1 = typename if_na<In,In2>::type
-    >
-struct reverse_stable_partition_impl
-    : reverse_fold<
-          Sequence
-        , pair< typename In1::state, typename In2::state >
-        , protect< partition_op< 
-              Pred
-            , typename In1::operation
-            , typename In2::operation
-            > >
-        >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, stable_partition)
-
-}}
-
-#endif // BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/string.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/string.hpp
deleted file mode 100644
index e789856..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/string.hpp
+++ /dev/null
@@ -1,607 +0,0 @@
-
-#ifndef BOOST_MPL_STRING_HPP_INCLUDED
-#define BOOST_MPL_STRING_HPP_INCLUDED
-
-// Copyright Eric Niebler 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/libs/mpl for documentation.
-
-// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $
-// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $
-// $Revision: 49239 $
-//
-// Thanks to:
-//   Dmitry Goncharov for porting this to the Sun compiler
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/predef/other/endian.h>
-#include <boost/mpl/limits/string.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/char.hpp>
-#include <boost/mpl/copy.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/empty.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/size_t.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/joint_view.hpp>
-#include <boost/mpl/insert_range.hpp>
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/arithmetic/div.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-
-#include <iterator> // for bidirectional_iterator_tag
-#include <climits>
-
-namespace boost { namespace mpl
-{
-    #define BOOST_MPL_STRING_MAX_PARAMS                                                             \
-      BOOST_PP_DIV(BOOST_PP_ADD(BOOST_MPL_LIMIT_STRING_SIZE, 3), 4)
-
-    // Low-level bit-twiddling is done by macros. Any implementation-defined behavior of
-    // multi-character literals should be localized to these macros.
-
-    #define BOOST_MPL_MULTICHAR_LENGTH(c)                                                           \
-      (std::size_t)((c<CHAR_MIN) ? 4 : ((c>0xffffff)+(c>0xffff)+(c>0xff)+1))
-
-    #if BOOST_ENDIAN_LITTLE_BYTE && defined(__SUNPRO_CC)
-
-        #define BOOST_MPL_MULTICHAR_AT(c,i)                                                         \
-          (char)(0xff&((unsigned)(c)>>(8*(std::size_t)(i))))
-
-        #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i)                                                  \
-          ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c))
-
-        #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i)                                                 \
-          (((unsigned)(c)<<8)|(unsigned char)(i))
-
-        #define BOOST_MPL_MULTICHAR_POP_BACK(c)                                                     \
-          (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c))
-
-        #define BOOST_MPL_MULTICHAR_POP_FRONT(c)                                                    \
-          ((unsigned)(c)>>8)
-
-    #else
-
-        #define BOOST_MPL_MULTICHAR_AT(c,i)                                                         \
-          (char)(0xff&((unsigned)(c)>>(8*(BOOST_MPL_MULTICHAR_LENGTH(c)-(std::size_t)(i)-1))))
-
-        #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i)                                                  \
-          (((unsigned)(c)<<8)|(unsigned char)(i))
-
-        #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i)                                                 \
-          ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c))
-
-        #define BOOST_MPL_MULTICHAR_POP_BACK(c)                                                     \
-          ((unsigned)(c)>>8)
-
-        #define BOOST_MPL_MULTICHAR_POP_FRONT(c)                                                    \
-          (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c))
-
-    #endif
-
-    struct string_tag;
-    struct string_iterator_tag;
-
-    template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_MPL_STRING_MAX_PARAMS, int C, 0)>
-    struct string;
-
-    template<typename Sequence, int I, int J>
-    struct string_iterator;
-
-    template<typename Sequence>
-    struct sequence_tag;
-
-    template<typename Tag>
-    struct size_impl;
-
-    template<>
-    struct size_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply;
-
-        #define M0(z, n, data)                                                                      \
-        + BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C,n))
-
-        #define M1(z, n, data)                                                                      \
-        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)> >                                 \
-          : mpl::size_t<(0 BOOST_PP_REPEAT_ ## z(n, M0, ~))>                                        \
-        {};
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M1, ~)
-        #undef M0
-        #undef M1
-    };
-
-    template<>
-    struct size_impl<mpl::string_tag>::apply<mpl::string<> >
-      : mpl::size_t<0>
-    {};
-
-    template<typename Tag>
-    struct begin_impl;
-
-    template<>
-    struct begin_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply
-        {
-            typedef mpl::string_iterator<Sequence, 0, 0> type;
-        };
-    };
-
-    template<typename Tag>
-    struct end_impl;
-
-    template<>
-    struct end_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply;
-
-        #define M0(z,n,data)                                                                        \
-        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)> >                                 \
-        {                                                                                           \
-            typedef mpl::string_iterator<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, n, 0> type;  \
-        };
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~)
-        #undef M0
-    };
-
-    template<>
-    struct end_impl<mpl::string_tag>::apply<mpl::string<> >
-    {
-        typedef mpl::string_iterator<mpl::string<>, 0, 0> type;
-    };
-
-    template<typename Tag>
-    struct push_back_impl;
-
-    template<>
-    struct push_back_impl<mpl::string_tag>
-    {
-        template<typename Sequence, typename Value, bool B = (4==BOOST_MPL_MULTICHAR_LENGTH(Sequence::back_))>
-        struct apply
-        {
-            BOOST_MPL_ASSERT_MSG(
-                (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size<Sequence>::type::value)
-              , PUSH_BACK_FAILED_MPL_STRING_IS_FULL
-              , (Sequence)
-            );
-            // If the above assertion didn't fire, then the string is sparse.
-            // Repack the string and retry the push_back
-            typedef
-                typename mpl::push_back<
-                    typename mpl::copy<
-                        Sequence
-                      , mpl::back_inserter<mpl::string<> >
-                    >::type
-                  , Value
-                >::type
-            type;
-        };
-
-        template<typename Value>
-        struct apply<mpl::string<>, Value, false>
-        {
-            typedef mpl::string<(char)Value::value> type;
-        };
-
-        #define M0(z,n,data)                                                                        \
-        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C), typename Value>                               \
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, Value, false>                    \
-        {                                                                                           \
-            typedef                                                                                 \
-                mpl::string<                                                                        \
-                    BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C)                                   \
-                    BOOST_PP_COMMA_IF(BOOST_PP_DEC(n))                                              \
-                    ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff)                            \
-                    ?BOOST_PP_CAT(C,BOOST_PP_DEC(n))                                                \
-                    :BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)), Value::value)   \
-                  , ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff)                            \
-                    ?(char)Value::value                                                             \
-                    :0                                                                              \
-                >                                                                                   \
-            type;                                                                                   \
-        };
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~)
-        #undef M0
-
-        template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C), typename Value>
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, Value, false>
-        {
-            typedef
-                mpl::string<
-                    BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS), C)
-                  , BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)), Value::value)
-                >
-            type;
-        };
-    };
-
-    template<typename Tag>
-    struct has_push_back_impl;
-
-    template<>
-    struct has_push_back_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply
-          : mpl::true_
-        {};
-    };
-
-    template<typename Tag>
-    struct pop_back_impl;
-
-    template<>
-    struct pop_back_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply;
-
-        #define M0(z,n,data)                                                                        \
-        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)> >                                 \
-        {                                                                                           \
-            BOOST_MPL_ASSERT_MSG((C0 != 0), POP_BACK_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>));  \
-            typedef                                                                                 \
-                mpl::string<                                                                        \
-                    BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C)                                   \
-                    BOOST_PP_COMMA_IF(BOOST_PP_DEC(n))                                              \
-                    BOOST_MPL_MULTICHAR_POP_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)))                   \
-                >                                                                                   \
-            type;                                                                                   \
-        };
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~)
-        #undef M0
-    };
-
-    template<typename Tag>
-    struct has_pop_back_impl;
-
-    template<>
-    struct has_pop_back_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply
-          : mpl::true_
-        {};
-    };
-
-    template<typename Tag>
-    struct push_front_impl;
-
-    template<>
-    struct push_front_impl<mpl::string_tag>
-    {
-        template<typename Sequence, typename Value, bool B = (4==BOOST_MPL_MULTICHAR_LENGTH(Sequence::front_))>
-        struct apply
-        {
-            BOOST_MPL_ASSERT_MSG(
-                (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size<Sequence>::type::value)
-              , PUSH_FRONT_FAILED_MPL_STRING_IS_FULL
-              , (Sequence)
-            );
-            // If the above assertion didn't fire, then the string is sparse.
-            // Repack the string and retry the push_front.
-            typedef
-                typename mpl::push_front<
-                    typename mpl::reverse_copy<
-                        Sequence
-                      , mpl::front_inserter<string<> >
-                    >::type
-                  , Value
-                >::type
-            type;
-        };
-
-        #if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
-        template<typename Value>
-        struct apply<mpl::string<>, Value, false>
-        {
-            typedef mpl::string<(char)Value::value> type;
-        };
-        #endif
-
-        #define M0(z,n,data)                                                                        \
-        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C), typename Value>                               \
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, Value, true>                     \
-        {                                                                                           \
-            typedef                                                                                 \
-                mpl::string<                                                                        \
-                    (char)Value::value                                                              \
-                    BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, C)                                        \
-                >                                                                                   \
-            type;                                                                                   \
-        };
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~)
-        #undef M0
-
-        template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C), typename Value>
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, Value, false>
-        {
-            typedef
-                mpl::string<
-                    BOOST_MPL_MULTICHAR_PUSH_FRONT(C0, Value::value)
-                  , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)
-                >
-            type0;
-
-            #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
-            typedef
-                typename mpl::if_<
-                    mpl::empty<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)> >
-                  , mpl::string<(char)Value::value>
-                  , type0
-                >::type
-            type;
-            #else
-            typedef type0 type;
-            #endif
-        };
-    };
-
-    template<typename Tag>
-    struct has_push_front_impl;
-
-    template<>
-    struct has_push_front_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply
-          : mpl::true_
-        {};
-    };
-
-    template<typename Tag>
-    struct pop_front_impl;
-
-    template<>
-    struct pop_front_impl<mpl::string_tag>
-    {
-        template<typename Sequence, bool B = (1==BOOST_MPL_MULTICHAR_LENGTH(Sequence::front_))>
-        struct apply;
-
-        #define M0(z,n,data)                                                                        \
-        template<BOOST_PP_ENUM_PARAMS_Z(z, n, int C)>                                               \
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS_Z(z, n, C)>, true>                            \
-        {                                                                                           \
-            BOOST_MPL_ASSERT_MSG((C0 != 0), POP_FRONT_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \
-            typedef                                                                                 \
-                mpl::string<BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, n, C)>                                \
-            type;                                                                                   \
-        };
-
-        BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~)
-        #undef M0
-
-        template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C)>
-        struct apply<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, false>
-        {
-            typedef
-                mpl::string<
-                    BOOST_MPL_MULTICHAR_POP_FRONT(C0)
-                  , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)
-                >
-            type;
-        };
-    };
-
-    template<typename Tag>
-    struct has_pop_front_impl;
-
-    template<>
-    struct has_pop_front_impl<mpl::string_tag>
-    {
-        template<typename Sequence>
-        struct apply
-          : mpl::true_
-        {};
-    };
-
-    template<typename Tag>
-    struct insert_range_impl;
-
-    template<>
-    struct insert_range_impl<mpl::string_tag>
-    {
-        template<typename Sequence, typename Pos, typename Range>
-        struct apply
-          : mpl::copy<
-                mpl::joint_view<
-                    mpl::iterator_range<
-                        mpl::string_iterator<Sequence, 0, 0>
-                      , Pos
-                    >
-                  , mpl::joint_view<
-                        Range
-                      , mpl::iterator_range<
-                            Pos
-                          , typename mpl::end<Sequence>::type
-                        >
-                    >
-                >
-              , mpl::back_inserter<mpl::string<> >
-            >
-        {};
-    };
-
-    template<typename Tag>
-    struct insert_impl;
-
-    template<>
-    struct insert_impl<mpl::string_tag>
-    {
-        template<typename Sequence, typename Pos, typename Value>
-        struct apply
-          : mpl::insert_range<Sequence, Pos, mpl::string<(char)Value::value> >
-        {};
-    };
-
-    template<typename Tag>
-    struct erase_impl;
-
-    template<>
-    struct erase_impl<mpl::string_tag>
-    {
-        template<typename Sequence, typename First, typename Last>
-        struct apply
-          : mpl::copy<
-                mpl::joint_view<
-                    mpl::iterator_range<
-                        mpl::string_iterator<Sequence, 0, 0>
-                      , First
-                    >
-                  , mpl::iterator_range<
-                        typename mpl::if_na<Last, typename mpl::next<First>::type>::type
-                      , typename mpl::end<Sequence>::type
-                    >
-                >
-              , mpl::back_inserter<mpl::string<> >
-            >
-        {};
-    };
-
-    template<typename Tag>
-    struct clear_impl;
-
-    template<>
-    struct clear_impl<mpl::string_tag>
-    {
-        template<typename>
-        struct apply
-        {
-            typedef mpl::string<> type;
-        };
-    };
-
-    #define M0(z, n, data)                                                                            \
-    template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C), int J>                         \
-    struct string_iterator<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, n, J>   \
-    {                                                                                                 \
-        enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == J + 1) };                   \
-        typedef mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)> string;             \
-        typedef std::bidirectional_iterator_tag category;                                             \
-        typedef                                                                                       \
-            mpl::string_iterator<string, n + eomc_, eomc_ ? 0 : J + 1>                                \
-        next;                                                                                         \
-        typedef                                                                                       \
-            mpl::string_iterator<string, n, J - 1>                                                    \
-        prior;                                                                                        \
-        typedef mpl::char_<BOOST_MPL_MULTICHAR_AT(BOOST_PP_CAT(C, n), J)> type;                       \
-    };                                                                                                \
-    template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C)>                                \
-    struct string_iterator<mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)>, n, 0>   \
-    {                                                                                                 \
-        enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == 1) };                       \
-        typedef mpl::string<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C)> string;             \
-        typedef std::bidirectional_iterator_tag category;                                             \
-        typedef                                                                                       \
-            mpl::string_iterator<string, n + eomc_, !eomc_>                                           \
-        next;                                                                                         \
-        typedef                                                                                       \
-            mpl::string_iterator<                                                                     \
-                string                                                                                \
-              , n - 1                                                                                 \
-              , BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, BOOST_PP_DEC(n))) - 1                      \
-            >                                                                                         \
-        prior;                                                                                        \
-        typedef mpl::char_<BOOST_MPL_MULTICHAR_AT(BOOST_PP_CAT(C, n), 0)> type;                       \
-    };
-
-    BOOST_PP_REPEAT(BOOST_MPL_STRING_MAX_PARAMS, M0, ~)
-    #undef M0
-
-    template<BOOST_PP_ENUM_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, int C)>
-    struct string
-    {
-        /// INTERNAL ONLY
-        enum
-        {
-            front_  = C0
-          , back_   = BOOST_PP_CAT(C, BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS))
-        };
-
-        typedef char        value_type;
-        typedef string      type;
-        typedef string_tag  tag;
-    };
-
-    namespace aux_
-    {
-        template<typename It, typename End>
-        struct next_unless
-          : mpl::next<It>
-        {};
-
-        template<typename End>
-        struct next_unless<End, End>
-        {
-            typedef End type;
-        };
-
-        template<typename It, typename End>
-        struct deref_unless
-          : mpl::deref<It>
-        {};
-
-        template<typename End>
-        struct deref_unless<End, End>
-        {
-            typedef mpl::char_<'\0'> type;
-        };
-    }
-
-    template<typename Sequence>
-    struct c_str
-    {
-        typedef typename mpl::end<Sequence>::type iend;
-        typedef typename mpl::begin<Sequence>::type i0;
-        #define M0(z, n, data)                                                                      \
-        typedef                                                                                     \
-            typename mpl::aux_::next_unless<BOOST_PP_CAT(i, n), iend>::type                         \
-        BOOST_PP_CAT(i, BOOST_PP_INC(n));
-        BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~)
-        #undef M0
-
-        typedef c_str type;
-        static typename Sequence::value_type const value[BOOST_MPL_LIMIT_STRING_SIZE+1];
-    };
-
-    template<typename Sequence>
-    typename Sequence::value_type const c_str<Sequence>::value[BOOST_MPL_LIMIT_STRING_SIZE+1] =
-    {
-        #define M0(z, n, data)                                                                      \
-        mpl::aux_::deref_unless<BOOST_PP_CAT(i, n), iend>::type::value,
-        BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~)
-        #undef M0
-        '\0'
-    };
-
-}} // namespace boost
-
-#endif // BOOST_MPL_STRING_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/switch.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/switch.hpp
deleted file mode 100644
index 8edc38f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/switch.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_SWITCH_HPP_INCLUDED
-#define BOOST_MPL_SWITCH_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/pair.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(Body)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    >
-struct switch_
-{
-    typedef typename find_if<
-          Body
-        , apply1< lambda< first<_1> >, T >
-        >::type iter_;
-        
-    typedef typename deref<iter_>::type pair_;
-    typedef typename lambda< typename second<pair_>::type >::type f_;
-    typedef typename apply1<f_,T>::type type;
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,switch_,(Body,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, switch_)
-
-}}
-
-#endif // BOOST_MPL_SWITCH_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/tag.hpp
deleted file mode 100644
index 8586277..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/times.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/times.hpp
deleted file mode 100644
index f309557..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/transform.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/transform.hpp
deleted file mode 100644
index 4d3e2a0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/transform_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/transform_view.hpp
deleted file mode 100644
index 6c0e0b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/transform_view.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED
-#define BOOST_MPL_TRANSFORM_VIEW_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/transform_iter.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(F)
-    >
-struct transform_view
-{
- private:
-    typedef typename lambda<F>::type f_;
-    typedef typename begin<Sequence>::type first_;
-    typedef typename end<Sequence>::type last_;
- 
- public:
-    struct tag;
-    typedef transform_view type;
-    typedef aux::transform_iter< first_,last_,f_ > begin;
-    typedef aux::transform_iter< last_,last_,f_ > end;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, transform_view)
-
-}}
-
-#endif // BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/unique.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/unique.hpp
deleted file mode 100644
index 80a27da..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/unique.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-
-#ifndef BOOST_MPL_UNIQUE_HPP_INCLUDED
-#define BOOST_MPL_UNIQUE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright John R. Bandela 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Predicate, typename Operation >
-struct unique_op
-{
-    template< typename Pair, typename T > struct apply
-    {
-        typedef typename Pair::first seq_;
-        typedef typename Pair::second prior_;
-        typedef typename eval_if<
-              and_< is_not_na<prior_>, apply2<Predicate,prior_,T> >
-            , identity<seq_>
-            , apply2<Operation,seq_,T>
-            >::type new_seq_;
-
-        typedef pair<new_seq_,T> type;
-    };
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename Inserter
-    >
-struct unique_impl
-    : first< typename fold<
-          Sequence
-        , pair< typename Inserter::state,na >
-        , protect< aux::unique_op<Predicate,typename Inserter::operation> >
-        >::type >
-{
-};
-
-template<
-      typename Sequence
-    , typename Predicate
-    , typename Inserter
-    >
-struct reverse_unique_impl
-    : first< typename reverse_fold<
-          Sequence
-        , pair< typename Inserter::state,na >
-        , protect< aux::unique_op<Predicate,typename Inserter::operation> >
-        >::type >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, unique)
-
-}}
-
-#endif // BOOST_MPL_UNIQUE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/unpack_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/unpack_args.hpp
deleted file mode 100644
index f64ace3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/unpack_args.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED
-#define BOOST_MPL_UNPACK_ARGS_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/at.hpp>
-#   include <boost/mpl/size.hpp>
-#   include <boost/mpl/aux_/nttp_decl.hpp>
-#   include <boost/mpl/aux_/lambda_spec.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 unpack_args.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/arity.hpp>
-#   include <boost/mpl/aux_/preprocessor/repeat.hpp>
-#   include <boost/mpl/aux_/config/ctps.hpp>
-#   include <boost/mpl/aux_/config/forwarding.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_UNPACK(unused, i, Args) \
-    , typename at_c<Args,i>::type \
-    /**/
-
-#   define AUX778076_UNPACKED_ARGS(n, Args) \
-    BOOST_MPL_PP_REPEAT(n, AUX778076_UNPACK, Args) \
-    /**/
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-#else
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
-    template< typename F, typename Args > struct apply;
-};
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/unpack_args.hpp>))
-#include BOOST_PP_ITERATE()
-
-}
-
-template<
-      typename F
-    >
-struct unpack_args
-{
-    template< typename Args > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-        : aux::unpack_args_impl< size<Args>::value,F,Args >
-#   else
-        : aux::unpack_args_impl< size<Args>::value >
-            ::template apply< F,Args >
-#   endif
-    {
-#else // BOOST_MPL_CFG_NO_NESTED_FORWARDING
-    {
-        typedef typename aux::unpack_args_impl< 
-              size<Args>::value
-            , F
-            , Args
-            >::type type;
-#endif
-    };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-#   undef AUX778076_UNPACK
-#   undef AUX778076_UNPACKED_ARGS
-
-}}
-
-#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_UNPACK_ARGS_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(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename F, typename Args >
-struct unpack_args_impl<i_,F,Args>
-    : BOOST_PP_CAT(apply,i_)<
-          F
-        AUX778076_UNPACKED_ARGS(i_, Args)
-        >
-{
-};
-
-#else
-
-template<> struct unpack_args_impl<i_>
-{
-    template< typename F, typename Args > struct apply
-        : BOOST_PP_CAT(apply,i_)<
-              F
-            AUX778076_UNPACKED_ARGS(i_, Args)
-            >
-    {
-    };
-};
-
-#endif
-
-#   undef i_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/upper_bound.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/upper_bound.hpp
deleted file mode 100644
index ff943e6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/upper_bound.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-#ifndef BOOST_MPL_UPPER_BOUND_HPP_INCLUDED
-#define BOOST_MPL_UPPER_BOUND_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#   define BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL
-#endif
-
-#if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL)
-#   include <boost/mpl/minus.hpp>
-#   include <boost/mpl/divides.hpp>
-#   include <boost/mpl/size.hpp>
-#   include <boost/mpl/advance.hpp>
-#   include <boost/mpl/begin_end.hpp>
-#   include <boost/mpl/long.hpp>
-#   include <boost/mpl/eval_if.hpp>
-#   include <boost/mpl/prior.hpp>
-#   include <boost/mpl/deref.hpp>
-#   include <boost/mpl/apply.hpp>
-#   include <boost/mpl/aux_/value_wknd.hpp>
-#else
-#   include <boost/mpl/find.hpp>
-#   include <boost/mpl/bind.hpp>
-#endif
-
-#include <boost/config.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL)
-
-// agurt 23/oct/02: has a wrong complexity etc., but at least it works;
-// feel free to contribute a better implementation!
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    , typename Predicate = less<>
-    , typename pred_ = typename lambda<Predicate>::type
-    >
-struct upper_bound
-    : find_if< Sequence, bind2<pred_,T,_> >
-{
-};
-
-#else
-
-namespace aux {
-
-template<
-      typename Distance
-    , typename Predicate
-    , typename T
-    , typename DeferredIterator
-    >
-struct upper_bound_step_impl;
-
-template< 
-      typename Distance
-    , typename Predicate
-    , typename T
-    , typename DeferredIterator
-    >
-struct upper_bound_step
-{
-    typedef typename eval_if<
-          Distance
-        , upper_bound_step_impl<Distance,Predicate,T,DeferredIterator>
-        , DeferredIterator
-        >::type type;
-};
-    
-template<
-      typename Distance
-    , typename Predicate
-    , typename T
-    , typename DeferredIterator
-    >
-struct upper_bound_step_impl
-{
-    typedef typename divides< Distance, long_<2> >::type offset_;
-    typedef typename DeferredIterator::type iter_;
-    typedef typename advance< iter_,offset_ >::type middle_;
-    typedef typename apply2<
-              Predicate
-            , T
-            , typename deref<middle_>::type
-            >::type cond_;
-
-    typedef typename prior< minus< Distance, offset_ > >::type step_;
-    typedef upper_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_;
-    typedef upper_bound_step< step_,Predicate,T,next<middle_> > step_backward_;
-    typedef typename eval_if<
-          cond_
-        , step_forward_
-        , step_backward_
-        >::type type;
-};
-
-} // namespace aux
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
-    , typename Predicate = less<>
-    >
-struct upper_bound
-{
- private:
-    typedef typename lambda<Predicate>::type pred_;
-    typedef typename size<Sequence>::type size_;
-
- public:
-    typedef typename aux::upper_bound_step<
-        size_,pred_,T,begin<Sequence>
-        >::type type;
-};
-
-#endif // BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL
-
-BOOST_MPL_AUX_NA_SPEC(2, upper_bound)
-
-}}
-
-#endif // BOOST_MPL_UPPER_BOUND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/value_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/value_type.hpp
deleted file mode 100644
index 5b8c822..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/value_type.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_VALUE_TYPE_HPP_INCLUDED
-#define BOOST_MPL_VALUE_TYPE_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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/value_type_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/apply_wrap.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(T)
-    >
-struct value_type
-    : apply_wrap2<
-          value_type_impl< typename sequence_tag<AssociativeSequence>::type >
-        , AssociativeSequence, T >
-{
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,value_type,(AssociativeSequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, value_type)
-    
-}}
-
-#endif // BOOST_MPL_VALUE_TYPE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/value_type_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/value_type_fwd.hpp
deleted file mode 100644
index d8635bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector.hpp
deleted file mode 100644
index 479983d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/O1_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/O1_size.hpp
deleted file mode 100644
index ac9e3cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/at.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/at.hpp
deleted file mode 100644
index 0a7583c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/back.hpp
deleted file mode 100644
index b66363e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/begin_end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/begin_end.hpp
deleted file mode 100644
index aa34451..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/clear.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/clear.hpp
deleted file mode 100644
index b06d8be..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/empty.hpp
deleted file mode 100644
index 5490a5f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/front.hpp
deleted file mode 100644
index a358db5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/include_preprocessed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/include_preprocessed.hpp
deleted file mode 100644
index a676116..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/item.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/item.hpp
deleted file mode 100644
index 71538ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/iterator.hpp
deleted file mode 100644
index 32df315..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/numbered.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/numbered.hpp
deleted file mode 100644
index b3f0387..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/numbered_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/numbered_c.hpp
deleted file mode 100644
index 4c159f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/pop_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/pop_back.hpp
deleted file mode 100644
index 1d95e35..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/pop_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/pop_front.hpp
deleted file mode 100644
index c94b871..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
deleted file mode 100644
index c79a1ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
deleted file mode 100644
index 8b36f6a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
deleted file mode 100644
index eb92a78..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
deleted file mode 100644
index 56ca53f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
deleted file mode 100644
index a685019..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
deleted file mode 100644
index 6251dbc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
deleted file mode 100644
index 1ed648a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
deleted file mode 100644
index ba0ffa8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
deleted file mode 100644
index 3da323a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
deleted file mode 100644
index e07f2b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
deleted file mode 100644
index 88bbd3b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
deleted file mode 100644
index 8b36f6a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
deleted file mode 100644
index 8c6c8bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
deleted file mode 100644
index 56ca53f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
deleted file mode 100644
index b7da8e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
deleted file mode 100644
index 6251dbc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
deleted file mode 100644
index 7487be4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
deleted file mode 100644
index ba0ffa8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
deleted file mode 100644
index 5a4c6d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
deleted file mode 100644
index e07f2b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
deleted file mode 100644
index e4c6407..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
deleted file mode 100644
index 18eabc6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
deleted file mode 100644
index 78ccac4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
deleted file mode 100644
index 4bf6742..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
deleted file mode 100644
index c404990..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
deleted file mode 100644
index 5741bb4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
deleted file mode 100644
index debcf70..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
deleted file mode 100644
index 88d742e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
deleted file mode 100644
index 8db06df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
deleted file mode 100644
index f56d6af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/push_back.hpp
deleted file mode 100644
index 527828c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/push_front.hpp
deleted file mode 100644
index f315de5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/size.hpp
deleted file mode 100644
index c131e88..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/tag.hpp
deleted file mode 100644
index 90d16e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/vector0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/aux_/vector0.hpp
deleted file mode 100644
index 4026673..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector0.hpp
deleted file mode 100644
index 39759dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector0_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector0_c.hpp
deleted file mode 100644
index 0e60215..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector10.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector10.hpp
deleted file mode 100644
index 53a2a16..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector10_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector10_c.hpp
deleted file mode 100644
index be52d2f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector20.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector20.hpp
deleted file mode 100644
index 96d1b9f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector20_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector20_c.hpp
deleted file mode 100644
index 3913f26..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector30.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector30.hpp
deleted file mode 100644
index b2f0a5e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector30_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector30_c.hpp
deleted file mode 100644
index 94cdab4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector40.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector40.hpp
deleted file mode 100644
index 2d2ef81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector40_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector40_c.hpp
deleted file mode 100644
index 25e2ebf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector50.hpp
deleted file mode 100644
index dc2d5c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector50_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector/vector50_c.hpp
deleted file mode 100644
index 7388bf4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/vector_c.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector_c.hpp
deleted file mode 100644
index 316ce65..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/vector_c.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_C_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$
-// $Date$
-// $Revision$
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-#   include <boost/mpl/limits/vector.hpp>
-#   include <boost/mpl/aux_/nttp_decl.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_C_HEADER \
-    BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \
-    /**/
-#else
-#   define AUX778076_VECTOR_C_HEADER \
-    BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \
-    /**/
-#endif
-
-#   include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_C_HEADER)
-#   undef AUX778076_VECTOR_C_HEADER
-#   include <climits>
-#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_c.hpp
-#   include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-#   include <boost/mpl/limits/vector.hpp>
-
-#   define AUX778076_SEQUENCE_NAME vector_c
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE
-#   define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(vector,n),_c)
-#   define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) TARGET(BOOST_PP_CAT(C,n))
-#   define AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-#   include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_VECTOR_C_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/void.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/void.hpp
deleted file mode 100644
index 3dcbdd1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/void_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/void_fwd.hpp
deleted file mode 100644
index 86078b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Date$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/mpl/zip_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/mpl/zip_view.hpp
deleted file mode 100644
index d709230..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/mpl/zip_view.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_ZIP_VIEW_HPP_INCLUDED
-#define BOOST_MPL_ZIP_VIEW_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2010
-// Copyright David Abrahams 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$
-// $Date$
-// $Revision$
-
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename IteratorSeq >
-struct zip_iterator
-{
-    typedef forward_iterator_tag category;
-    typedef typename transform1<
-          IteratorSeq
-        , deref<_1>
-        >::type type;
-
-    typedef zip_iterator<
-          typename transform1<
-                IteratorSeq
-              , mpl::next<_1>
-            >::type
-        > next;
-};
-
-template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequences)
-    >
-struct zip_view
-{
- private:
-    typedef typename transform1< Sequences, mpl::begin<_1> >::type first_ones_;
-    typedef typename transform1< Sequences, mpl::end<_1> >::type last_ones_;
-    
- public:
-    typedef nested_begin_end_tag tag;
-    typedef zip_view type;
-    typedef zip_iterator<first_ones_> begin;
-    typedef zip_iterator<last_ones_> end;
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, zip_view)
-
-}}
-
-#endif // BOOST_MPL_ZIP_VIEW_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_array.hpp
deleted file mode 100644
index f459ce9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_array.hpp
+++ /dev/null
@@ -1,499 +0,0 @@
-// Copyright 2002 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)
-
-//  Boost.MultiArray Library
-//  Authors: Ronald Garcia
-//           Jeremy Siek
-//           Andrew Lumsdaine
-//  See http://www.boost.org/libs/multi_array for documentation.
-
-#ifndef BOOST_MULTI_ARRAY_RG071801_HPP
-#define BOOST_MULTI_ARRAY_RG071801_HPP
-
-//
-// multi_array.hpp - contains the multi_array class template
-// declaration and definition
-//
-
-#include "boost/multi_array/base.hpp"
-#include "boost/multi_array/collection_concept.hpp"
-#include "boost/multi_array/copy_array.hpp"
-#include "boost/multi_array/iterator.hpp"
-#include "boost/multi_array/subarray.hpp"
-#include "boost/multi_array/multi_array_ref.hpp"
-#include "boost/multi_array/algorithm.hpp"
-#include "boost/array.hpp"
-#include "boost/mpl/if.hpp"
-#include "boost/type_traits.hpp"
-#include <algorithm>
-#include <cstddef>
-#include <functional>
-#include <numeric>
-#include <vector>
-
-
-
-namespace boost {
-  namespace detail {
-    namespace multi_array {
-
-      struct populate_index_ranges {
-        multi_array_types::index_range
-        // RG: underscore on extent_ to stifle strange MSVC warning.
-        operator()(multi_array_types::index base,
-                   multi_array_types::size_type extent_) {
-          return multi_array_types::index_range(base,base+extent_);
-        }
-      };
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-//
-// Compilers that don't support partial ordering may need help to
-// disambiguate multi_array's templated constructors.  Even vc6/7 are
-// capable of some limited SFINAE, so we take the most-general version
-// out of the overload set with disable_multi_array_impl.
-//
-template <typename T, std::size_t NumDims, typename TPtr>
-char is_multi_array_impl_help(const_multi_array_view<T,NumDims,TPtr>&);
-template <typename T, std::size_t NumDims, typename TPtr>
-char is_multi_array_impl_help(const_sub_array<T,NumDims,TPtr>&);
-template <typename T, std::size_t NumDims, typename TPtr>
-char is_multi_array_impl_help(const_multi_array_ref<T,NumDims,TPtr>&);
-
-char ( &is_multi_array_impl_help(...) )[2];
-
-template <class T>
-struct is_multi_array_impl
-{
-    static T x;
-    BOOST_STATIC_CONSTANT(bool, value = sizeof((is_multi_array_impl_help)(x)) == 1);
-
-  typedef mpl::bool_<value> type;
-};
-
-template <bool multi_array = false>
-struct disable_multi_array_impl_impl
-{
-    typedef int type;
-};
-
-template <>
-struct disable_multi_array_impl_impl<true>
-{
-    // forming a pointer to a reference triggers SFINAE
-    typedef int& type; 
-};
-
-
-template <class T>
-struct disable_multi_array_impl :
-  disable_multi_array_impl_impl<is_multi_array_impl<T>::value>
-{ };
-
-
-template <>
-struct disable_multi_array_impl<int>
-{
-  typedef int type;
-};
-
-
-#endif
-
-    } //namespace multi_array
-  } // namespace detail
-
-template<typename T, std::size_t NumDims,
-  typename Allocator>
-class multi_array :
-  public multi_array_ref<T,NumDims>
-{
-  typedef multi_array_ref<T,NumDims> super_type;
-public:
-  typedef typename super_type::value_type value_type;
-  typedef typename super_type::reference reference;
-  typedef typename super_type::const_reference const_reference;
-  typedef typename super_type::iterator iterator;
-  typedef typename super_type::const_iterator const_iterator;
-  typedef typename super_type::reverse_iterator reverse_iterator;
-  typedef typename super_type::const_reverse_iterator const_reverse_iterator;
-  typedef typename super_type::element element;
-  typedef typename super_type::size_type size_type;
-  typedef typename super_type::difference_type difference_type;
-  typedef typename super_type::index index;
-  typedef typename super_type::extent_range extent_range;
-
-
-  template <std::size_t NDims>
-  struct const_array_view {
-    typedef boost::detail::multi_array::const_multi_array_view<T,NDims> type;
-  };
-
-  template <std::size_t NDims>
-  struct array_view {
-    typedef boost::detail::multi_array::multi_array_view<T,NDims> type;
-  };
-
-  explicit multi_array() :
-    super_type((T*)initial_base_,c_storage_order(),
-               /*index_bases=*/0, /*extents=*/0) {
-    allocate_space(); 
-  }
-
-  template <class ExtentList>
-  explicit multi_array(
-      ExtentList const& extents
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-      , typename mpl::if_<
-      detail::multi_array::is_multi_array_impl<ExtentList>,
-      int&,int>::type* = 0
-#endif
-      ) :
-    super_type((T*)initial_base_,extents) {
-    boost::function_requires<
-      detail::multi_array::CollectionConcept<ExtentList> >();
-    allocate_space();
-  }
-
-    
-  template <class ExtentList>
-  explicit multi_array(ExtentList const& extents,
-                       const general_storage_order<NumDims>& so) :
-    super_type((T*)initial_base_,extents,so) {
-    boost::function_requires<
-      detail::multi_array::CollectionConcept<ExtentList> >();
-    allocate_space();
-  }
-
-  template <class ExtentList>
-  explicit multi_array(ExtentList const& extents,
-                       const general_storage_order<NumDims>& so,
-                       Allocator const& alloc) :
-    super_type((T*)initial_base_,extents,so), allocator_(alloc) {
-    boost::function_requires<
-      detail::multi_array::CollectionConcept<ExtentList> >();
-    allocate_space();
-  }
-
-
-  explicit multi_array(const detail::multi_array
-                       ::extent_gen<NumDims>& ranges) :
-    super_type((T*)initial_base_,ranges) {
-
-    allocate_space();
-  }
-
-
-  explicit multi_array(const detail::multi_array
-                       ::extent_gen<NumDims>& ranges,
-                       const general_storage_order<NumDims>& so) :
-    super_type((T*)initial_base_,ranges,so) {
-
-    allocate_space();
-  }
-
-
-  explicit multi_array(const detail::multi_array
-                       ::extent_gen<NumDims>& ranges,
-                       const general_storage_order<NumDims>& so,
-                       Allocator const& alloc) :
-    super_type((T*)initial_base_,ranges,so), allocator_(alloc) {
-
-    allocate_space();
-  }
-
-  multi_array(const multi_array& rhs) :
-  super_type(rhs), allocator_(rhs.allocator_) {
-    allocate_space();
-    boost::detail::multi_array::copy_n(rhs.base_,rhs.num_elements(),base_);
-  }
-
-
-  //
-  // A multi_array is constructible from any multi_array_ref, subarray, or
-  // array_view object.  The following constructors ensure that.
-  //
-
-  // Due to limited support for partial template ordering, 
-  // MSVC 6&7 confuse the following with the most basic ExtentList 
-  // constructor.
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-  template <typename OPtr>
-  multi_array(const const_multi_array_ref<T,NumDims,OPtr>& rhs,
-              const general_storage_order<NumDims>& so = c_storage_order())
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    // Warning! storage order may change, hence the following copy technique.
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  template <typename OPtr>
-  multi_array(const detail::multi_array::
-              const_sub_array<T,NumDims,OPtr>& rhs,
-              const general_storage_order<NumDims>& so = c_storage_order())
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-
-  template <typename OPtr>
-  multi_array(const detail::multi_array::
-              const_multi_array_view<T,NumDims,OPtr>& rhs,
-              const general_storage_order<NumDims>& so = c_storage_order())
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-#else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-  // More limited support for MSVC
-
-
-  multi_array(const const_multi_array_ref<T,NumDims>& rhs)
-    : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    // Warning! storage order may change, hence the following copy technique.
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  multi_array(const const_multi_array_ref<T,NumDims>& rhs,
-              const general_storage_order<NumDims>& so)
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    // Warning! storage order may change, hence the following copy technique.
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  multi_array(const detail::multi_array::
-              const_sub_array<T,NumDims>& rhs)
-    : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  multi_array(const detail::multi_array::
-              const_sub_array<T,NumDims>& rhs,
-              const general_storage_order<NumDims>& so)
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-
-  multi_array(const detail::multi_array::
-              const_multi_array_view<T,NumDims>& rhs)
-    : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  multi_array(const detail::multi_array::
-              const_multi_array_view<T,NumDims>& rhs,
-              const general_storage_order<NumDims>& so)
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-#endif // !BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-  // Thes constructors are necessary because of more exact template matches.
-  multi_array(const multi_array_ref<T,NumDims>& rhs)
-    : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    // Warning! storage order may change, hence the following copy technique.
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  multi_array(const multi_array_ref<T,NumDims>& rhs,
-              const general_storage_order<NumDims>& so)
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    // Warning! storage order may change, hence the following copy technique.
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-
-  multi_array(const detail::multi_array::
-              sub_array<T,NumDims>& rhs)
-    : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-  multi_array(const detail::multi_array::
-              sub_array<T,NumDims>& rhs,
-              const general_storage_order<NumDims>& so)
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-
-
-  multi_array(const detail::multi_array::
-              multi_array_view<T,NumDims>& rhs)
-    : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-    
-  multi_array(const detail::multi_array::
-              multi_array_view<T,NumDims>& rhs,
-              const general_storage_order<NumDims>& so)
-    : super_type(0,so,rhs.index_bases(),rhs.shape()) 
-  {
-    allocate_space();
-    std::copy(rhs.begin(),rhs.end(),this->begin());
-  }
-    
-  // Since assignment is a deep copy, multi_array_ref
-  // contains all the necessary code.
-  template <typename ConstMultiArray>
-  multi_array& operator=(const ConstMultiArray& other) {
-    super_type::operator=(other);
-    return *this;
-  }
-
-  multi_array& operator=(const multi_array& other) {
-    if (&other != this) {
-      super_type::operator=(other);
-    }
-    return *this;
-  }
-
-
-  template <typename ExtentList>
-  multi_array& resize(const ExtentList& extents) {
-    boost::function_requires<
-      detail::multi_array::CollectionConcept<ExtentList> >();
-
-    typedef detail::multi_array::extent_gen<NumDims> gen_type;
-    gen_type ranges;
-
-    for (int i=0; i != NumDims; ++i) {
-      typedef typename gen_type::range range_type;
-      ranges.ranges_[i] = range_type(0,extents[i]);
-    }
-    
-    return this->resize(ranges);
-  }
-
-
-
-  multi_array& resize(const detail::multi_array
-                      ::extent_gen<NumDims>& ranges) {
-
-
-    // build a multi_array with the specs given
-    multi_array new_array(ranges,this->storage_order());
-
-
-    // build a view of tmp with the minimum extents
-
-    // Get the minimum extents of the arrays.
-    boost::array<size_type,NumDims> min_extents;
-
-    const size_type& (*min)(const size_type&, const size_type&) =
-      std::min;
-    std::transform(new_array.extent_list_.begin(),new_array.extent_list_.end(),
-                   this->extent_list_.begin(),
-                   min_extents.begin(),
-                   min);
-
-
-    // typedef boost::array<index,NumDims> index_list;
-    // Build index_gen objects to create views with the same shape
-
-    // these need to be separate to handle non-zero index bases
-    typedef detail::multi_array::index_gen<NumDims,NumDims> index_gen;
-    index_gen old_idxes;
-    index_gen new_idxes;
-
-    std::transform(new_array.index_base_list_.begin(),
-                   new_array.index_base_list_.end(),
-                   min_extents.begin(),new_idxes.ranges_.begin(),
-                   detail::multi_array::populate_index_ranges());
-
-    std::transform(this->index_base_list_.begin(),
-                   this->index_base_list_.end(),
-                   min_extents.begin(),old_idxes.ranges_.begin(),
-                   detail::multi_array::populate_index_ranges());
-
-    // Build same-shape views of the two arrays
-    typename
-      multi_array::BOOST_NESTED_TEMPLATE array_view<NumDims>::type view_old = (*this)[old_idxes];
-    typename
-      multi_array::BOOST_NESTED_TEMPLATE array_view<NumDims>::type view_new = new_array[new_idxes];
-
-    // Set the right portion of the new array
-    view_new = view_old;
-
-    using std::swap;
-    // Swap the internals of these arrays.
-    swap(this->super_type::base_,new_array.super_type::base_);
-    swap(this->storage_,new_array.storage_);
-    swap(this->extent_list_,new_array.extent_list_);
-    swap(this->stride_list_,new_array.stride_list_);
-    swap(this->index_base_list_,new_array.index_base_list_);
-    swap(this->origin_offset_,new_array.origin_offset_);
-    swap(this->directional_offset_,new_array.directional_offset_);
-    swap(this->num_elements_,new_array.num_elements_);
-    swap(this->allocator_,new_array.allocator_);
-    swap(this->base_,new_array.base_);
-    swap(this->allocated_elements_,new_array.allocated_elements_);
-
-    return *this;
-  }
-
-
-  ~multi_array() {
-    deallocate_space();
-  }
-
-private:
-  void allocate_space() {
-    typename Allocator::const_pointer no_hint=0;
-    base_ = allocator_.allocate(this->num_elements(),no_hint);
-    this->set_base_ptr(base_);
-    allocated_elements_ = this->num_elements();
-    std::uninitialized_fill_n(base_,allocated_elements_,T());
-  }
-
-  void deallocate_space() {
-    if(base_) {
-      for(T* i = base_; i != base_+allocated_elements_; ++i)
-        allocator_.destroy(i);
-      allocator_.deallocate(base_,allocated_elements_);
-    }
-  }
-
-  typedef boost::array<size_type,NumDims> size_list;
-  typedef boost::array<index,NumDims> index_list;
-
-  Allocator allocator_;
-  T* base_;
-  size_type allocated_elements_;
-  enum {initial_base_ = 0};
-};
-
-} // namespace boost
-
-#endif // BOOST_MULTI_ARRAY_RG071801_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/composite_key.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/composite_key.hpp
deleted file mode 100644
index 787cdf8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/composite_key.hpp
+++ /dev/null
@@ -1,1513 +0,0 @@
-/* Copyright 2003-2015 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_COMPOSITE_KEY_HPP
-#define BOOST_MULTI_INDEX_COMPOSITE_KEY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/functional/hash_fwd.hpp>
-#include <boost/multi_index/detail/access_specifier.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/expr_if.hpp>
-#include <boost/preprocessor/list/at.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp> 
-#include <boost/static_assert.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <functional>
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-#include <boost/ref.hpp>
-#endif
-
-#if !defined(BOOST_NO_SFINAE)
-#include <boost/type_traits/is_convertible.hpp>
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/multi_index/detail/cons_stdtuple.hpp>
-#endif
-
-/* A composite key stores n key extractors and "computes" the
- * result on a given value as a packed reference to the value and
- * the composite key itself. Actual invocations to the component
- * key extractors are lazily performed when executing an operation
- * on composite_key results (equality, comparison, hashing.)
- * As the other key extractors in Boost.MultiIndex, composite_key<T,...>
- * is  overloaded to work on chained pointers to T and reference_wrappers
- * of T.
- */
-
-/* This user_definable macro limits the number of elements of a composite
- * key; useful for shortening resulting symbol names (MSVC++ 6.0, for
- * instance has problems coping with very long symbol names.)
- * NB: This cannot exceed the maximum number of arguments of
- * boost::tuple. In Boost 1.32, the limit is 10.
- */
-
-#if !defined(BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE)
-#define BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE 10
-#endif
-
-/* maximum number of key extractors in a composite key */
-
-#if BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE<10 /* max length of a tuple */
-#define BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE \
-  BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE
-#else
-#define BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE 10
-#endif
-
-/* BOOST_PP_ENUM of BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE elements */
-
-#define BOOST_MULTI_INDEX_CK_ENUM(macro,data)                                \
-  BOOST_PP_ENUM(BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE,macro,data)
-
-/* BOOST_PP_ENUM_PARAMS of BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE elements */
-
-#define BOOST_MULTI_INDEX_CK_ENUM_PARAMS(param)                              \
-  BOOST_PP_ENUM_PARAMS(BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE,param)
-
-/* if n==0 ->   text0
- * otherwise -> textn=tuples::null_type
- */
-
-#define BOOST_MULTI_INDEX_CK_TEMPLATE_PARM(z,n,text)                         \
-  typename BOOST_PP_CAT(text,n) BOOST_PP_EXPR_IF(n,=tuples::null_type)
-
-/* const textn& kn=textn() */
-
-#define BOOST_MULTI_INDEX_CK_CTOR_ARG(z,n,text)                              \
-  const BOOST_PP_CAT(text,n)& BOOST_PP_CAT(k,n) = BOOST_PP_CAT(text,n)()
-
-/* typename list(0)<list(1),n>::type */
-
-#define BOOST_MULTI_INDEX_CK_APPLY_METAFUNCTION_N(z,n,list)                  \
-  BOOST_DEDUCED_TYPENAME BOOST_PP_LIST_AT(list,0)<                           \
-    BOOST_PP_LIST_AT(list,1),n                                               \
-  >::type
-
-namespace boost{
-
-template<class T> class reference_wrapper; /* fwd decl. */
-
-namespace multi_index{
-
-namespace detail{
-
-/* n-th key extractor of a composite key */
-
-template<typename CompositeKey,int N>
-struct nth_key_from_value
-{
-  typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-  typedef typename mpl::eval_if_c<
-    N<tuples::length<key_extractor_tuple>::value,
-    tuples::element<N,key_extractor_tuple>,
-    mpl::identity<tuples::null_type>
-  >::type                                            type;
-};
-
-/* nth_composite_key_##name<CompositeKey,N>::type yields
- * functor<nth_key_from_value<CompositeKey,N> >, or tuples::null_type
- * if N exceeds the length of the composite key.
- */
-
-#define BOOST_MULTI_INDEX_CK_NTH_COMPOSITE_KEY_FUNCTOR(name,functor)         \
-template<typename KeyFromValue>                                              \
-struct BOOST_PP_CAT(key_,name)                                               \
-{                                                                            \
-  typedef functor<typename KeyFromValue::result_type> type;                  \
-};                                                                           \
-                                                                             \
-template<>                                                                   \
-struct BOOST_PP_CAT(key_,name)<tuples::null_type>                            \
-{                                                                            \
-  typedef tuples::null_type type;                                            \
-};                                                                           \
-                                                                             \
-template<typename CompositeKey,int  N>                                       \
-struct BOOST_PP_CAT(nth_composite_key_,name)                                 \
-{                                                                            \
-  typedef typename nth_key_from_value<CompositeKey,N>::type key_from_value;  \
-  typedef typename BOOST_PP_CAT(key_,name)<key_from_value>::type type;       \
-};
-
-/* nth_composite_key_equal_to
- * nth_composite_key_less
- * nth_composite_key_greater
- * nth_composite_key_hash
- */
-
-BOOST_MULTI_INDEX_CK_NTH_COMPOSITE_KEY_FUNCTOR(equal_to,std::equal_to)
-BOOST_MULTI_INDEX_CK_NTH_COMPOSITE_KEY_FUNCTOR(less,std::less)
-BOOST_MULTI_INDEX_CK_NTH_COMPOSITE_KEY_FUNCTOR(greater,std::greater)
-BOOST_MULTI_INDEX_CK_NTH_COMPOSITE_KEY_FUNCTOR(hash,boost::hash)
-
-/* used for defining equality and comparison ops of composite_key_result */
-
-#define BOOST_MULTI_INDEX_CK_IDENTITY_ENUM_MACRO(z,n,text) text
-
-struct generic_operator_equal
-{
-  template<typename T,typename Q>
-  bool operator()(const T& x,const Q& y)const{return x==y;}
-};
-
-typedef tuple<
-  BOOST_MULTI_INDEX_CK_ENUM(
-    BOOST_MULTI_INDEX_CK_IDENTITY_ENUM_MACRO,
-    detail::generic_operator_equal)>          generic_operator_equal_tuple;
-
-struct generic_operator_less
-{
-  template<typename T,typename Q>
-  bool operator()(const T& x,const Q& y)const{return x<y;}
-};
-
-typedef tuple<
-  BOOST_MULTI_INDEX_CK_ENUM(
-    BOOST_MULTI_INDEX_CK_IDENTITY_ENUM_MACRO,
-    detail::generic_operator_less)>           generic_operator_less_tuple;
-
-/* Metaprogramming machinery for implementing equality, comparison and
- * hashing operations of composite_key_result.
- *
- * equal_* checks for equality between composite_key_results and
- * between those and tuples, accepting a tuple of basic equality functors.
- * compare_* does lexicographical comparison.
- * hash_* computes a combination of elementwise hash values.
- */
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename EqualCons
->
-struct equal_ckey_ckey; /* fwd decl. */
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename EqualCons
->
-struct equal_ckey_ckey_terminal
-{
-  static bool compare(
-    const KeyCons1&,const Value1&,
-    const KeyCons2&,const Value2&,
-    const EqualCons&)
-  {
-    return true;
-  }
-};
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename EqualCons
->
-struct equal_ckey_ckey_normal
-{
-  static bool compare(
-    const KeyCons1& c0,const Value1& v0,
-    const KeyCons2& c1,const Value2& v1,
-    const EqualCons& eq)
-  {
-    if(!eq.get_head()(c0.get_head()(v0),c1.get_head()(v1)))return false;
-    return equal_ckey_ckey<
-      BOOST_DEDUCED_TYPENAME KeyCons1::tail_type,Value1,
-      BOOST_DEDUCED_TYPENAME KeyCons2::tail_type,Value2,
-      BOOST_DEDUCED_TYPENAME EqualCons::tail_type
-    >::compare(c0.get_tail(),v0,c1.get_tail(),v1,eq.get_tail());
-  }
-};
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename EqualCons
->
-struct equal_ckey_ckey:
-  mpl::if_<
-    mpl::or_<
-      is_same<KeyCons1,tuples::null_type>,
-      is_same<KeyCons2,tuples::null_type>
-    >,
-    equal_ckey_ckey_terminal<KeyCons1,Value1,KeyCons2,Value2,EqualCons>,
-    equal_ckey_ckey_normal<KeyCons1,Value1,KeyCons2,Value2,EqualCons>
-  >::type
-{
-};
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename EqualCons
->
-struct equal_ckey_cval; /* fwd decl. */
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename EqualCons
->
-struct equal_ckey_cval_terminal
-{
-  static bool compare(
-    const KeyCons&,const Value&,const ValCons&,const EqualCons&)
-  {
-    return true;
-  }
-
-  static bool compare(
-    const ValCons&,const KeyCons&,const Value&,const EqualCons&)
-  {
-    return true;
-  }
-};
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename EqualCons
->
-struct equal_ckey_cval_normal
-{
-  static bool compare(
-    const KeyCons& c,const Value& v,const ValCons& vc,
-    const EqualCons& eq)
-  {
-    if(!eq.get_head()(c.get_head()(v),vc.get_head()))return false;
-    return equal_ckey_cval<
-      BOOST_DEDUCED_TYPENAME KeyCons::tail_type,Value,
-      BOOST_DEDUCED_TYPENAME ValCons::tail_type,
-      BOOST_DEDUCED_TYPENAME EqualCons::tail_type
-    >::compare(c.get_tail(),v,vc.get_tail(),eq.get_tail());
-  }
-
-  static bool compare(
-    const ValCons& vc,const KeyCons& c,const Value& v,
-    const EqualCons& eq)
-  {
-    if(!eq.get_head()(vc.get_head(),c.get_head()(v)))return false;
-    return equal_ckey_cval<
-      BOOST_DEDUCED_TYPENAME KeyCons::tail_type,Value,
-      BOOST_DEDUCED_TYPENAME ValCons::tail_type,
-      BOOST_DEDUCED_TYPENAME EqualCons::tail_type
-    >::compare(vc.get_tail(),c.get_tail(),v,eq.get_tail());
-  }
-};
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename EqualCons
->
-struct equal_ckey_cval:
-  mpl::if_<
-    mpl::or_<
-      is_same<KeyCons,tuples::null_type>,
-      is_same<ValCons,tuples::null_type>
-    >,
-    equal_ckey_cval_terminal<KeyCons,Value,ValCons,EqualCons>,
-    equal_ckey_cval_normal<KeyCons,Value,ValCons,EqualCons>
-  >::type
-{
-};
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename CompareCons
->
-struct compare_ckey_ckey; /* fwd decl. */
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename CompareCons
->
-struct compare_ckey_ckey_terminal
-{
-  static bool compare(
-    const KeyCons1&,const Value1&,
-    const KeyCons2&,const Value2&,
-    const CompareCons&)
-  {
-    return false;
-  }
-};
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename CompareCons
->
-struct compare_ckey_ckey_normal
-{
-  static bool compare(
-    const KeyCons1& c0,const Value1& v0,
-    const KeyCons2& c1,const Value2& v1,
-    const CompareCons& comp)
-  {
-    if(comp.get_head()(c0.get_head()(v0),c1.get_head()(v1)))return true;
-    if(comp.get_head()(c1.get_head()(v1),c0.get_head()(v0)))return false;
-    return compare_ckey_ckey<
-      BOOST_DEDUCED_TYPENAME KeyCons1::tail_type,Value1,
-      BOOST_DEDUCED_TYPENAME KeyCons2::tail_type,Value2,
-      BOOST_DEDUCED_TYPENAME CompareCons::tail_type
-    >::compare(c0.get_tail(),v0,c1.get_tail(),v1,comp.get_tail());
-  }
-};
-
-template
-<
-  typename KeyCons1,typename Value1,
-  typename KeyCons2, typename Value2,
-  typename CompareCons
->
-struct compare_ckey_ckey:
-  mpl::if_<
-    mpl::or_<
-      is_same<KeyCons1,tuples::null_type>,
-      is_same<KeyCons2,tuples::null_type>
-    >,
-    compare_ckey_ckey_terminal<KeyCons1,Value1,KeyCons2,Value2,CompareCons>,
-    compare_ckey_ckey_normal<KeyCons1,Value1,KeyCons2,Value2,CompareCons>
-  >::type
-{
-};
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename CompareCons
->
-struct compare_ckey_cval; /* fwd decl. */
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename CompareCons
->
-struct compare_ckey_cval_terminal
-{
-  static bool compare(
-    const KeyCons&,const Value&,const ValCons&,const CompareCons&)
-  {
-    return false;
-  }
-
-  static bool compare(
-    const ValCons&,const KeyCons&,const Value&,const CompareCons&)
-  {
-    return false;
-  }
-};
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename CompareCons
->
-struct compare_ckey_cval_normal
-{
-  static bool compare(
-    const KeyCons& c,const Value& v,const ValCons& vc,
-    const CompareCons& comp)
-  {
-    if(comp.get_head()(c.get_head()(v),vc.get_head()))return true;
-    if(comp.get_head()(vc.get_head(),c.get_head()(v)))return false;
-    return compare_ckey_cval<
-      BOOST_DEDUCED_TYPENAME KeyCons::tail_type,Value,
-      BOOST_DEDUCED_TYPENAME ValCons::tail_type,
-      BOOST_DEDUCED_TYPENAME CompareCons::tail_type
-    >::compare(c.get_tail(),v,vc.get_tail(),comp.get_tail());
-  }
-
-  static bool compare(
-    const ValCons& vc,const KeyCons& c,const Value& v,
-    const CompareCons& comp)
-  {
-    if(comp.get_head()(vc.get_head(),c.get_head()(v)))return true;
-    if(comp.get_head()(c.get_head()(v),vc.get_head()))return false;
-    return compare_ckey_cval<
-      BOOST_DEDUCED_TYPENAME KeyCons::tail_type,Value,
-      BOOST_DEDUCED_TYPENAME ValCons::tail_type,
-      BOOST_DEDUCED_TYPENAME CompareCons::tail_type
-    >::compare(vc.get_tail(),c.get_tail(),v,comp.get_tail());
-  }
-};
-
-template
-<
-  typename KeyCons,typename Value,
-  typename ValCons,typename CompareCons
->
-struct compare_ckey_cval:
-  mpl::if_<
-    mpl::or_<
-      is_same<KeyCons,tuples::null_type>,
-      is_same<ValCons,tuples::null_type>
-    >,
-    compare_ckey_cval_terminal<KeyCons,Value,ValCons,CompareCons>,
-    compare_ckey_cval_normal<KeyCons,Value,ValCons,CompareCons>
-  >::type
-{
-};
-
-template<typename KeyCons,typename Value,typename HashCons>
-struct hash_ckey; /* fwd decl. */
-
-template<typename KeyCons,typename Value,typename HashCons>
-struct hash_ckey_terminal
-{
-  static std::size_t hash(
-    const KeyCons&,const Value&,const HashCons&,std::size_t carry)
-  {
-    return carry;
-  }
-};
-
-template<typename KeyCons,typename Value,typename HashCons>
-struct hash_ckey_normal
-{
-  static std::size_t hash(
-    const KeyCons& c,const Value& v,const HashCons& h,std::size_t carry=0)
-  {
-    /* same hashing formula as boost::hash_combine */
-
-    carry^=h.get_head()(c.get_head()(v))+0x9e3779b9+(carry<<6)+(carry>>2);
-    return hash_ckey<
-      BOOST_DEDUCED_TYPENAME KeyCons::tail_type,Value,
-      BOOST_DEDUCED_TYPENAME HashCons::tail_type
-    >::hash(c.get_tail(),v,h.get_tail(),carry);
-  }
-};
-
-template<typename KeyCons,typename Value,typename HashCons>
-struct hash_ckey:
-  mpl::if_<
-    is_same<KeyCons,tuples::null_type>,
-    hash_ckey_terminal<KeyCons,Value,HashCons>,
-    hash_ckey_normal<KeyCons,Value,HashCons>
-  >::type
-{
-};
-
-template<typename ValCons,typename HashCons>
-struct hash_cval; /* fwd decl. */
-
-template<typename ValCons,typename HashCons>
-struct hash_cval_terminal
-{
-  static std::size_t hash(const ValCons&,const HashCons&,std::size_t carry)
-  {
-    return carry;
-  }
-};
-
-template<typename ValCons,typename HashCons>
-struct hash_cval_normal
-{
-  static std::size_t hash(
-    const ValCons& vc,const HashCons& h,std::size_t carry=0)
-  {
-    carry^=h.get_head()(vc.get_head())+0x9e3779b9+(carry<<6)+(carry>>2);
-    return hash_cval<
-      BOOST_DEDUCED_TYPENAME ValCons::tail_type,
-      BOOST_DEDUCED_TYPENAME HashCons::tail_type
-    >::hash(vc.get_tail(),h.get_tail(),carry);
-  }
-};
-
-template<typename ValCons,typename HashCons>
-struct hash_cval:
-  mpl::if_<
-    is_same<ValCons,tuples::null_type>,
-    hash_cval_terminal<ValCons,HashCons>,
-    hash_cval_normal<ValCons,HashCons>
-  >::type
-{
-};
-
-} /* namespace multi_index::detail */
-
-/* composite_key_result */
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4512)
-#endif
-
-template<typename CompositeKey>
-struct composite_key_result
-{
-  typedef CompositeKey                            composite_key_type;
-  typedef typename composite_key_type::value_type value_type;
-
-  composite_key_result(
-    const composite_key_type& composite_key_,const value_type& value_):
-    composite_key(composite_key_),value(value_)
-  {}
-
-  const composite_key_type& composite_key;
-  const value_type&         value;
-};
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-/* composite_key */
-
-template<
-  typename Value,
-  BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_TEMPLATE_PARM,KeyFromValue)
->
-struct composite_key:
-  private tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(KeyFromValue)>
-{
-private:
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(KeyFromValue)> super;
-
-public:
-  typedef super                               key_extractor_tuple;
-  typedef Value                               value_type;
-  typedef composite_key_result<composite_key> result_type;
-
-  composite_key(
-    BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_CTOR_ARG,KeyFromValue)):
-    super(BOOST_MULTI_INDEX_CK_ENUM_PARAMS(k))
-  {}
-
-  composite_key(const key_extractor_tuple& x):super(x){}
-
-  const key_extractor_tuple& key_extractors()const{return *this;}
-  key_extractor_tuple&       key_extractors(){return *this;}
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const value_type&>,result_type>::type
-#else
-  result_type
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  result_type operator()(const value_type& x)const
-  {
-    return result_type(*this,x);
-  }
-
-  result_type operator()(const reference_wrapper<const value_type>& x)const
-  {
-    return result_type(*this,x.get());
-  }
-
-  result_type operator()(const reference_wrapper<value_type>& x)const
-  {
-    return result_type(*this,x.get());
-  }
-};
-
-/* comparison operators */
-
-/* == */
-
-template<typename CompositeKey1,typename CompositeKey2>
-inline bool operator==(
-  const composite_key_result<CompositeKey1>& x,
-  const composite_key_result<CompositeKey2>& y)
-{
-  typedef typename CompositeKey1::key_extractor_tuple key_extractor_tuple1;
-  typedef typename CompositeKey1::value_type          value_type1;
-  typedef typename CompositeKey2::key_extractor_tuple key_extractor_tuple2;
-  typedef typename CompositeKey2::value_type          value_type2;
-
-  BOOST_STATIC_ASSERT(
-    tuples::length<key_extractor_tuple1>::value==
-    tuples::length<key_extractor_tuple2>::value);
-
-  return detail::equal_ckey_ckey<
-    key_extractor_tuple1,value_type1,
-    key_extractor_tuple2,value_type2,
-    detail::generic_operator_equal_tuple
-  >::compare(
-    x.composite_key.key_extractors(),x.value,
-    y.composite_key.key_extractors(),y.value,
-    detail::generic_operator_equal_tuple());
-}
-
-template<
-  typename CompositeKey,
-  BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value)
->
-inline bool operator==(
-  const composite_key_result<CompositeKey>& x,
-  const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-  typedef typename CompositeKey::value_type              value_type;
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-  
-  BOOST_STATIC_ASSERT(
-    tuples::length<key_extractor_tuple>::value==
-    tuples::length<key_tuple>::value);
-
-  return detail::equal_ckey_cval<
-    key_extractor_tuple,value_type,
-    key_tuple,detail::generic_operator_equal_tuple
-  >::compare(
-    x.composite_key.key_extractors(),x.value,
-    y,detail::generic_operator_equal_tuple());
-}
-
-template
-<
-  BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value),
-  typename CompositeKey
->
-inline bool operator==(
-  const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& x,
-  const composite_key_result<CompositeKey>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-  typedef typename CompositeKey::value_type              value_type;
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-  
-  BOOST_STATIC_ASSERT(
-    tuples::length<key_extractor_tuple>::value==
-    tuples::length<key_tuple>::value);
-
-  return detail::equal_ckey_cval<
-    key_extractor_tuple,value_type,
-    key_tuple,detail::generic_operator_equal_tuple
-  >::compare(
-    x,y.composite_key.key_extractors(),
-    y.value,detail::generic_operator_equal_tuple());
-}
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-template<typename CompositeKey,typename... Values>
-inline bool operator==(
-  const composite_key_result<CompositeKey>& x,
-  const std::tuple<Values...>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-  typedef typename CompositeKey::value_type          value_type;
-  typedef std::tuple<Values...>                      key_tuple;
-  typedef typename detail::cons_stdtuple_ctor<
-    key_tuple>::result_type                          cons_key_tuple;
-  
-  BOOST_STATIC_ASSERT(
-    static_cast<std::size_t>(tuples::length<key_extractor_tuple>::value)==
-    std::tuple_size<key_tuple>::value);
-
-  return detail::equal_ckey_cval<
-    key_extractor_tuple,value_type,
-    cons_key_tuple,detail::generic_operator_equal_tuple
-  >::compare(
-    x.composite_key.key_extractors(),x.value,
-    detail::make_cons_stdtuple(y),detail::generic_operator_equal_tuple());
-}
-
-template<typename CompositeKey,typename... Values>
-inline bool operator==(
-  const std::tuple<Values...>& x,
-  const composite_key_result<CompositeKey>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-  typedef typename CompositeKey::value_type          value_type;
-  typedef std::tuple<Values...>                      key_tuple;
-  typedef typename detail::cons_stdtuple_ctor<
-    key_tuple>::result_type                          cons_key_tuple;
-
-  BOOST_STATIC_ASSERT(
-    static_cast<std::size_t>(tuples::length<key_extractor_tuple>::value)==
-    std::tuple_size<key_tuple>::value);
-
-  return detail::equal_ckey_cval<
-    key_extractor_tuple,value_type,
-    cons_key_tuple,detail::generic_operator_equal_tuple
-  >::compare(
-    detail::make_cons_stdtuple(x),y.composite_key.key_extractors(),
-    y.value,detail::generic_operator_equal_tuple());
-}
-#endif
-
-/* < */
-
-template<typename CompositeKey1,typename CompositeKey2>
-inline bool operator<(
-  const composite_key_result<CompositeKey1>& x,
-  const composite_key_result<CompositeKey2>& y)
-{
-  typedef typename CompositeKey1::key_extractor_tuple key_extractor_tuple1;
-  typedef typename CompositeKey1::value_type          value_type1;
-  typedef typename CompositeKey2::key_extractor_tuple key_extractor_tuple2;
-  typedef typename CompositeKey2::value_type          value_type2;
-
-  return detail::compare_ckey_ckey<
-   key_extractor_tuple1,value_type1,
-   key_extractor_tuple2,value_type2,
-   detail::generic_operator_less_tuple
-  >::compare(
-    x.composite_key.key_extractors(),x.value,
-    y.composite_key.key_extractors(),y.value,
-    detail::generic_operator_less_tuple());
-}
-
-template
-<
-  typename CompositeKey,
-  BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value)
->
-inline bool operator<(
-  const composite_key_result<CompositeKey>& x,
-  const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-  typedef typename CompositeKey::value_type              value_type;
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-  
-  return detail::compare_ckey_cval<
-    key_extractor_tuple,value_type,
-    key_tuple,detail::generic_operator_less_tuple
-  >::compare(
-    x.composite_key.key_extractors(),x.value,
-    y,detail::generic_operator_less_tuple());
-}
-
-template
-<
-  BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value),
-  typename CompositeKey
->
-inline bool operator<(
-  const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& x,
-  const composite_key_result<CompositeKey>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-  typedef typename CompositeKey::value_type              value_type;
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-  
-  return detail::compare_ckey_cval<
-    key_extractor_tuple,value_type,
-    key_tuple,detail::generic_operator_less_tuple
-  >::compare(
-    x,y.composite_key.key_extractors(),
-    y.value,detail::generic_operator_less_tuple());
-}
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-template<typename CompositeKey,typename... Values>
-inline bool operator<(
-  const composite_key_result<CompositeKey>& x,
-  const std::tuple<Values...>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-  typedef typename CompositeKey::value_type          value_type;
-  typedef std::tuple<Values...>                      key_tuple;
-  typedef typename detail::cons_stdtuple_ctor<
-    key_tuple>::result_type                          cons_key_tuple;
-  
-  return detail::compare_ckey_cval<
-    key_extractor_tuple,value_type,
-    cons_key_tuple,detail::generic_operator_less_tuple
-  >::compare(
-    x.composite_key.key_extractors(),x.value,
-    detail::make_cons_stdtuple(y),detail::generic_operator_less_tuple());
-}
-
-template<typename CompositeKey,typename... Values>
-inline bool operator<(
-  const std::tuple<Values...>& x,
-  const composite_key_result<CompositeKey>& y)
-{
-  typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-  typedef typename CompositeKey::value_type          value_type;
-  typedef std::tuple<Values...>                      key_tuple;
-  typedef typename detail::cons_stdtuple_ctor<
-    key_tuple>::result_type                          cons_key_tuple;
-  
-  return detail::compare_ckey_cval<
-    key_extractor_tuple,value_type,
-    cons_key_tuple,detail::generic_operator_less_tuple
-  >::compare(
-    detail::make_cons_stdtuple(x),y.composite_key.key_extractors(),
-    y.value,detail::generic_operator_less_tuple());
-}
-#endif
-
-/* rest of comparison operators */
-
-#define BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS(t1,t2,a1,a2)                  \
-template<t1,t2> inline bool operator!=(const a1& x,const a2& y)              \
-{                                                                            \
-  return !(x==y);                                                            \
-}                                                                            \
-                                                                             \
-template<t1,t2> inline bool operator>(const a1& x,const a2& y)               \
-{                                                                            \
-  return y<x;                                                                \
-}                                                                            \
-                                                                             \
-template<t1,t2> inline bool operator>=(const a1& x,const a2& y)              \
-{                                                                            \
-  return !(x<y);                                                             \
-}                                                                            \
-                                                                             \
-template<t1,t2> inline bool operator<=(const a1& x,const a2& y)              \
-{                                                                            \
-  return !(y<x);                                                             \
-}
-
-BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS(
-  typename CompositeKey1,
-  typename CompositeKey2,
-  composite_key_result<CompositeKey1>,
-  composite_key_result<CompositeKey2>
-)
-
-BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS(
-  typename CompositeKey,
-  BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value),
-  composite_key_result<CompositeKey>,
-  tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>
-)
-
-BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS(
-  BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value),
-  typename CompositeKey,
-  tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>,
-  composite_key_result<CompositeKey>
-)
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS(
-  typename CompositeKey,
-  typename... Values,
-  composite_key_result<CompositeKey>,
-  std::tuple<Values...>
-)
-
-BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS(
-  typename CompositeKey,
-  typename... Values,
-  std::tuple<Values...>,
-  composite_key_result<CompositeKey>
-)
-#endif
-
-/* composite_key_equal_to */
-
-template
-<
-  BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_TEMPLATE_PARM,Pred)
->
-struct composite_key_equal_to:
-  private tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Pred)>
-{
-private:
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Pred)> super;
-
-public:
-  typedef super key_eq_tuple;
-
-  composite_key_equal_to(
-    BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_CTOR_ARG,Pred)):
-    super(BOOST_MULTI_INDEX_CK_ENUM_PARAMS(k))
-  {}
-
-  composite_key_equal_to(const key_eq_tuple& x):super(x){}
-
-  const key_eq_tuple& key_eqs()const{return *this;}
-  key_eq_tuple&       key_eqs(){return *this;}
-
-  template<typename CompositeKey1,typename CompositeKey2>
-  bool operator()(
-    const composite_key_result<CompositeKey1> & x,
-    const composite_key_result<CompositeKey2> & y)const
-  {
-    typedef typename CompositeKey1::key_extractor_tuple key_extractor_tuple1;
-    typedef typename CompositeKey1::value_type          value_type1;
-    typedef typename CompositeKey2::key_extractor_tuple key_extractor_tuple2;
-    typedef typename CompositeKey2::value_type          value_type2;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple1>::value<=
-      tuples::length<key_eq_tuple>::value&&
-      tuples::length<key_extractor_tuple1>::value==
-      tuples::length<key_extractor_tuple2>::value);
-
-    return detail::equal_ckey_ckey<
-      key_extractor_tuple1,value_type1,
-      key_extractor_tuple2,value_type2,
-      key_eq_tuple
-    >::compare(
-      x.composite_key.key_extractors(),x.value,
-      y.composite_key.key_extractors(),y.value,
-      key_eqs());
-  }
-  
-  template
-  <
-    typename CompositeKey,
-    BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value)
-  >
-  bool operator()(
-    const composite_key_result<CompositeKey>& x,
-    const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-    typedef typename CompositeKey::value_type              value_type;
-    typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple>::value<=
-      tuples::length<key_eq_tuple>::value&&
-      tuples::length<key_extractor_tuple>::value==
-      tuples::length<key_tuple>::value);
-
-    return detail::equal_ckey_cval<
-      key_extractor_tuple,value_type,
-      key_tuple,key_eq_tuple
-    >::compare(x.composite_key.key_extractors(),x.value,y,key_eqs());
-  }
-
-  template
-  <
-    BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value),
-    typename CompositeKey
-  >
-  bool operator()(
-    const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& x,
-    const composite_key_result<CompositeKey>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-    typedef typename CompositeKey::value_type              value_type;
-    typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_tuple>::value<=
-      tuples::length<key_eq_tuple>::value&&
-      tuples::length<key_tuple>::value==
-      tuples::length<key_extractor_tuple>::value);
-
-    return detail::equal_ckey_cval<
-      key_extractor_tuple,value_type,
-      key_tuple,key_eq_tuple
-    >::compare(x,y.composite_key.key_extractors(),y.value,key_eqs());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-  template<typename CompositeKey,typename... Values>
-  bool operator()(
-    const composite_key_result<CompositeKey>& x,
-    const std::tuple<Values...>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-    typedef typename CompositeKey::value_type          value_type;
-    typedef std::tuple<Values...>                      key_tuple;
-    typedef typename detail::cons_stdtuple_ctor<
-      key_tuple>::result_type                          cons_key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple>::value<=
-      tuples::length<key_eq_tuple>::value&&
-      static_cast<std::size_t>(tuples::length<key_extractor_tuple>::value)==
-      std::tuple_size<key_tuple>::value);
-
-    return detail::equal_ckey_cval<
-      key_extractor_tuple,value_type,
-      cons_key_tuple,key_eq_tuple
-    >::compare(
-      x.composite_key.key_extractors(),x.value,
-      detail::make_cons_stdtuple(y),key_eqs());
-  }
-
-  template<typename CompositeKey,typename... Values>
-  bool operator()(
-    const std::tuple<Values...>& x,
-    const composite_key_result<CompositeKey>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-    typedef typename CompositeKey::value_type          value_type;
-    typedef std::tuple<Values...>                      key_tuple;
-    typedef typename detail::cons_stdtuple_ctor<
-      key_tuple>::result_type                          cons_key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      std::tuple_size<key_tuple>::value<=
-      static_cast<std::size_t>(tuples::length<key_eq_tuple>::value)&&
-      std::tuple_size<key_tuple>::value==
-      static_cast<std::size_t>(tuples::length<key_extractor_tuple>::value));
-
-    return detail::equal_ckey_cval<
-      key_extractor_tuple,value_type,
-      cons_key_tuple,key_eq_tuple
-    >::compare(
-      detail::make_cons_stdtuple(x),y.composite_key.key_extractors(),
-      y.value,key_eqs());
-  }
-#endif
-};
-
-/* composite_key_compare */
-
-template
-<
-  BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_TEMPLATE_PARM,Compare)
->
-struct composite_key_compare:
-  private tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Compare)>
-{
-private:
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Compare)> super;
-
-public:
-  typedef super key_comp_tuple;
-
-  composite_key_compare(
-    BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_CTOR_ARG,Compare)):
-    super(BOOST_MULTI_INDEX_CK_ENUM_PARAMS(k))
-  {}
-
-  composite_key_compare(const key_comp_tuple& x):super(x){}
-
-  const key_comp_tuple& key_comps()const{return *this;}
-  key_comp_tuple&       key_comps(){return *this;}
-
-  template<typename CompositeKey1,typename CompositeKey2>
-  bool operator()(
-    const composite_key_result<CompositeKey1> & x,
-    const composite_key_result<CompositeKey2> & y)const
-  {
-    typedef typename CompositeKey1::key_extractor_tuple key_extractor_tuple1;
-    typedef typename CompositeKey1::value_type          value_type1;
-    typedef typename CompositeKey2::key_extractor_tuple key_extractor_tuple2;
-    typedef typename CompositeKey2::value_type          value_type2;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple1>::value<=
-      tuples::length<key_comp_tuple>::value||
-      tuples::length<key_extractor_tuple2>::value<=
-      tuples::length<key_comp_tuple>::value);
-
-    return detail::compare_ckey_ckey<
-      key_extractor_tuple1,value_type1,
-      key_extractor_tuple2,value_type2,
-      key_comp_tuple
-    >::compare(
-      x.composite_key.key_extractors(),x.value,
-      y.composite_key.key_extractors(),y.value,
-      key_comps());
-  }
-  
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-  template<typename CompositeKey,typename Value>
-  bool operator()(
-    const composite_key_result<CompositeKey>& x,
-    const Value& y)const
-  {
-    return operator()(x,boost::make_tuple(boost::cref(y)));
-  }
-#endif
-
-  template
-  <
-    typename CompositeKey,
-    BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value)
-  >
-  bool operator()(
-    const composite_key_result<CompositeKey>& x,
-    const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-    typedef typename CompositeKey::value_type              value_type;
-    typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple>::value<=
-      tuples::length<key_comp_tuple>::value||
-      tuples::length<key_tuple>::value<=
-      tuples::length<key_comp_tuple>::value);
-
-    return detail::compare_ckey_cval<
-      key_extractor_tuple,value_type,
-      key_tuple,key_comp_tuple
-    >::compare(x.composite_key.key_extractors(),x.value,y,key_comps());
-  }
-
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-  template<typename Value,typename CompositeKey>
-  bool operator()(
-    const Value& x,
-    const composite_key_result<CompositeKey>& y)const
-  {
-    return operator()(boost::make_tuple(boost::cref(x)),y);
-  }
-#endif
-
-  template
-  <
-    BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value),
-    typename CompositeKey
-  >
-  bool operator()(
-    const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& x,
-    const composite_key_result<CompositeKey>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple     key_extractor_tuple;
-    typedef typename CompositeKey::value_type              value_type;
-    typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_tuple>::value<=
-      tuples::length<key_comp_tuple>::value||
-      tuples::length<key_extractor_tuple>::value<=
-      tuples::length<key_comp_tuple>::value);
-
-    return detail::compare_ckey_cval<
-      key_extractor_tuple,value_type,
-      key_tuple,key_comp_tuple
-    >::compare(x,y.composite_key.key_extractors(),y.value,key_comps());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-  template<typename CompositeKey,typename... Values>
-  bool operator()(
-    const composite_key_result<CompositeKey>& x,
-    const std::tuple<Values...>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-    typedef typename CompositeKey::value_type          value_type;
-    typedef std::tuple<Values...>                      key_tuple;
-    typedef typename detail::cons_stdtuple_ctor<
-      key_tuple>::result_type                          cons_key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple>::value<=
-      tuples::length<key_comp_tuple>::value||
-      std::tuple_size<key_tuple>::value<=
-      static_cast<std::size_t>(tuples::length<key_comp_tuple>::value));
-
-    return detail::compare_ckey_cval<
-      key_extractor_tuple,value_type,
-      cons_key_tuple,key_comp_tuple
-    >::compare(
-      x.composite_key.key_extractors(),x.value,
-      detail::make_cons_stdtuple(y),key_comps());
-  }
-
-  template<typename CompositeKey,typename... Values>
-  bool operator()(
-    const std::tuple<Values...>& x,
-    const composite_key_result<CompositeKey>& y)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-    typedef typename CompositeKey::value_type          value_type;
-    typedef std::tuple<Values...>                      key_tuple;
-    typedef typename detail::cons_stdtuple_ctor<
-      key_tuple>::result_type                          cons_key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      std::tuple_size<key_tuple>::value<=
-      static_cast<std::size_t>(tuples::length<key_comp_tuple>::value)||
-      tuples::length<key_extractor_tuple>::value<=
-      tuples::length<key_comp_tuple>::value);
-
-    return detail::compare_ckey_cval<
-      key_extractor_tuple,value_type,
-      cons_key_tuple,key_comp_tuple
-    >::compare(
-      detail::make_cons_stdtuple(x),y.composite_key.key_extractors(),
-      y.value,key_comps());
-  }
-#endif
-};
-
-/* composite_key_hash */
-
-template
-<
-  BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_TEMPLATE_PARM,Hash)
->
-struct composite_key_hash:
-  private tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Hash)>
-{
-private:
-  typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Hash)> super;
-
-public:
-  typedef super key_hasher_tuple;
-
-  composite_key_hash(
-    BOOST_MULTI_INDEX_CK_ENUM(BOOST_MULTI_INDEX_CK_CTOR_ARG,Hash)):
-    super(BOOST_MULTI_INDEX_CK_ENUM_PARAMS(k))
-  {}
-
-  composite_key_hash(const key_hasher_tuple& x):super(x){}
-
-  const key_hasher_tuple& key_hash_functions()const{return *this;}
-  key_hasher_tuple&       key_hash_functions(){return *this;}
-
-  template<typename CompositeKey>
-  std::size_t operator()(const composite_key_result<CompositeKey> & x)const
-  {
-    typedef typename CompositeKey::key_extractor_tuple key_extractor_tuple;
-    typedef typename CompositeKey::value_type          value_type;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_extractor_tuple>::value==
-      tuples::length<key_hasher_tuple>::value);
-
-    return detail::hash_ckey<
-      key_extractor_tuple,value_type,
-      key_hasher_tuple
-    >::hash(x.composite_key.key_extractors(),x.value,key_hash_functions());
-  }
-  
-  template<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(typename Value)>
-  std::size_t operator()(
-    const tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)>& x)const
-  {
-    typedef tuple<BOOST_MULTI_INDEX_CK_ENUM_PARAMS(Value)> key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      tuples::length<key_tuple>::value==
-      tuples::length<key_hasher_tuple>::value);
-
-    return detail::hash_cval<
-      key_tuple,key_hasher_tuple
-    >::hash(x,key_hash_functions());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)&&\
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-  template<typename... Values>
-  std::size_t operator()(const std::tuple<Values...>& x)const
-  {
-    typedef std::tuple<Values...>                key_tuple;
-    typedef typename detail::cons_stdtuple_ctor<
-      key_tuple>::result_type                    cons_key_tuple;
-
-    BOOST_STATIC_ASSERT(
-      std::tuple_size<key_tuple>::value==
-      static_cast<std::size_t>(tuples::length<key_hasher_tuple>::value));
-
-    return detail::hash_cval<
-      cons_key_tuple,key_hasher_tuple
-    >::hash(detail::make_cons_stdtuple(x),key_hash_functions());
-  }
-#endif
-};
-
-/* Instantiations of the former functors with "natural" basic components:
- * composite_key_result_equal_to uses std::equal_to of the values.
- * composite_key_result_less     uses std::less.
- * composite_key_result_greater  uses std::greater.
- * composite_key_result_hash     uses boost::hash.
- */
-
-#define BOOST_MULTI_INDEX_CK_RESULT_EQUAL_TO_SUPER                           \
-composite_key_equal_to<                                                      \
-    BOOST_MULTI_INDEX_CK_ENUM(                                               \
-      BOOST_MULTI_INDEX_CK_APPLY_METAFUNCTION_N,                             \
-      /* the argument is a PP list */                                        \
-      (detail::nth_composite_key_equal_to,                                   \
-        (BOOST_DEDUCED_TYPENAME CompositeKeyResult::composite_key_type,      \
-          BOOST_PP_NIL)))                                                    \
-  >
-
-template<typename CompositeKeyResult>
-struct composite_key_result_equal_to:
-BOOST_MULTI_INDEX_PRIVATE_IF_USING_DECL_FOR_TEMPL_FUNCTIONS
-BOOST_MULTI_INDEX_CK_RESULT_EQUAL_TO_SUPER
-{
-private:
-  typedef BOOST_MULTI_INDEX_CK_RESULT_EQUAL_TO_SUPER super;
-
-public:
-  typedef CompositeKeyResult  first_argument_type;
-  typedef first_argument_type second_argument_type;
-  typedef bool                result_type;
-
-  using super::operator();
-};
-
-#define BOOST_MULTI_INDEX_CK_RESULT_LESS_SUPER                               \
-composite_key_compare<                                                       \
-    BOOST_MULTI_INDEX_CK_ENUM(                                               \
-      BOOST_MULTI_INDEX_CK_APPLY_METAFUNCTION_N,                             \
-      /* the argument is a PP list */                                        \
-      (detail::nth_composite_key_less,                                       \
-        (BOOST_DEDUCED_TYPENAME CompositeKeyResult::composite_key_type,      \
-          BOOST_PP_NIL)))                                                    \
-  >
-
-template<typename CompositeKeyResult>
-struct composite_key_result_less:
-BOOST_MULTI_INDEX_PRIVATE_IF_USING_DECL_FOR_TEMPL_FUNCTIONS
-BOOST_MULTI_INDEX_CK_RESULT_LESS_SUPER
-{
-private:
-  typedef BOOST_MULTI_INDEX_CK_RESULT_LESS_SUPER super;
-
-public:
-  typedef CompositeKeyResult  first_argument_type;
-  typedef first_argument_type second_argument_type;
-  typedef bool                result_type;
-
-  using super::operator();
-};
-
-#define BOOST_MULTI_INDEX_CK_RESULT_GREATER_SUPER                            \
-composite_key_compare<                                                       \
-    BOOST_MULTI_INDEX_CK_ENUM(                                               \
-      BOOST_MULTI_INDEX_CK_APPLY_METAFUNCTION_N,                             \
-      /* the argument is a PP list */                                        \
-      (detail::nth_composite_key_greater,                                    \
-        (BOOST_DEDUCED_TYPENAME CompositeKeyResult::composite_key_type,      \
-          BOOST_PP_NIL)))                                                    \
-  >
-
-template<typename CompositeKeyResult>
-struct composite_key_result_greater:
-BOOST_MULTI_INDEX_PRIVATE_IF_USING_DECL_FOR_TEMPL_FUNCTIONS
-BOOST_MULTI_INDEX_CK_RESULT_GREATER_SUPER
-{
-private:
-  typedef BOOST_MULTI_INDEX_CK_RESULT_GREATER_SUPER super;
-
-public:
-  typedef CompositeKeyResult  first_argument_type;
-  typedef first_argument_type second_argument_type;
-  typedef bool                result_type;
-
-  using super::operator();
-};
-
-#define BOOST_MULTI_INDEX_CK_RESULT_HASH_SUPER                               \
-composite_key_hash<                                                          \
-    BOOST_MULTI_INDEX_CK_ENUM(                                               \
-      BOOST_MULTI_INDEX_CK_APPLY_METAFUNCTION_N,                             \
-      /* the argument is a PP list */                                        \
-      (detail::nth_composite_key_hash,                                       \
-        (BOOST_DEDUCED_TYPENAME CompositeKeyResult::composite_key_type,      \
-          BOOST_PP_NIL)))                                                    \
-  >
-
-template<typename CompositeKeyResult>
-struct composite_key_result_hash:
-BOOST_MULTI_INDEX_PRIVATE_IF_USING_DECL_FOR_TEMPL_FUNCTIONS
-BOOST_MULTI_INDEX_CK_RESULT_HASH_SUPER
-{
-private:
-  typedef BOOST_MULTI_INDEX_CK_RESULT_HASH_SUPER super;
-
-public:
-  typedef CompositeKeyResult argument_type;
-  typedef std::size_t        result_type;
-
-  using super::operator();
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-/* Specializations of std::equal_to, std::less, std::greater and boost::hash
- * for composite_key_results enabling interoperation with tuples of values.
- */
-
-namespace std{
-
-template<typename CompositeKey>
-struct equal_to<boost::multi_index::composite_key_result<CompositeKey> >:
-  boost::multi_index::composite_key_result_equal_to<
-    boost::multi_index::composite_key_result<CompositeKey>
-  >
-{
-};
-
-template<typename CompositeKey>
-struct less<boost::multi_index::composite_key_result<CompositeKey> >:
-  boost::multi_index::composite_key_result_less<
-    boost::multi_index::composite_key_result<CompositeKey>
-  >
-{
-};
-
-template<typename CompositeKey>
-struct greater<boost::multi_index::composite_key_result<CompositeKey> >:
-  boost::multi_index::composite_key_result_greater<
-    boost::multi_index::composite_key_result<CompositeKey>
-  >
-{
-};
-
-} /* namespace std */
-
-namespace boost{
-
-template<typename CompositeKey>
-struct hash<boost::multi_index::composite_key_result<CompositeKey> >:
-  boost::multi_index::composite_key_result_hash<
-    boost::multi_index::composite_key_result<CompositeKey>
-  >
-{
-};
-
-} /* namespace boost */
-
-#undef BOOST_MULTI_INDEX_CK_RESULT_HASH_SUPER
-#undef BOOST_MULTI_INDEX_CK_RESULT_GREATER_SUPER
-#undef BOOST_MULTI_INDEX_CK_RESULT_LESS_SUPER
-#undef BOOST_MULTI_INDEX_CK_RESULT_EQUAL_TO_SUPER
-#undef BOOST_MULTI_INDEX_CK_COMPLETE_COMP_OPS
-#undef BOOST_MULTI_INDEX_CK_IDENTITY_ENUM_MACRO
-#undef BOOST_MULTI_INDEX_CK_NTH_COMPOSITE_KEY_FUNCTOR
-#undef BOOST_MULTI_INDEX_CK_APPLY_METAFUNCTION_N
-#undef BOOST_MULTI_INDEX_CK_CTOR_ARG
-#undef BOOST_MULTI_INDEX_CK_TEMPLATE_PARM
-#undef BOOST_MULTI_INDEX_CK_ENUM_PARAMS
-#undef BOOST_MULTI_INDEX_CK_ENUM
-#undef BOOST_MULTI_INDEX_COMPOSITE_KEY_SIZE
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/access_specifier.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/access_specifier.hpp
deleted file mode 100644
index f3346e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/access_specifier.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2003-2013 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)
-#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)&&(__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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/adl_swap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/adl_swap.hpp
deleted file mode 100644
index 02b0644..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/adl_swap.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/archive_constructed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/archive_constructed.hpp
deleted file mode 100644
index c3891bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/archive_constructed.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2003-2015 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)
-#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 *reinterpret_cast<T*>(&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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/auto_space.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/auto_space.hpp
deleted file mode 100644
index 9d78c3a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/auto_space.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/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://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#199
- */
-
-template<typename T,typename Allocator=std::allocator<T> >
-struct auto_space:private noncopyable
-{
-  typedef typename boost::detail::allocator::rebind_to<
-    Allocator,T
-  >::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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/base_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/base_type.hpp
deleted file mode 100644
index 8c9b62b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/base_type.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/static_assert.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* MPL machinery to construct a linear hierarchy of indices out of
- * a index list.
- */
-
-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;
-  }; 
-};
-
-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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/bidir_node_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/bidir_node_iterator.hpp
deleted file mode 100644
index 9be5ec8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/bidir_node_iterator.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2003-2014 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)
-#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:
-  /* coverity[uninit_ctor]: suppress warning */
-  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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/bucket_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/bucket_array.hpp
deleted file mode 100644
index d9fa434..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/bucket_array.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-/* Copyright 2003-2015 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_BUCKET_ARRAY_HPP
-#define BOOST_MULTI_INDEX_DETAIL_BUCKET_ARRAY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/multi_index/detail/auto_space.hpp>
-#include <boost/multi_index/detail/hash_index_node.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <cstddef>
-#include <limits.h>
-
-#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{
-
-/* bucket structure for use by hashed indices */
-
-#define BOOST_MULTI_INDEX_BA_SIZES_32BIT                                  \
-(53ul)(97ul)(193ul)(389ul)(769ul)                                         \
-(1543ul)(3079ul)(6151ul)(12289ul)(24593ul)                                \
-(49157ul)(98317ul)(196613ul)(393241ul)(786433ul)                          \
-(1572869ul)(3145739ul)(6291469ul)(12582917ul)(25165843ul)                 \
-(50331653ul)(100663319ul)(201326611ul)(402653189ul)(805306457ul)          \
-(1610612741ul)(3221225473ul)
-
-#if ((((ULONG_MAX>>16)>>16)>>16)>>15)==0 /* unsigned long less than 64 bits */
-#define BOOST_MULTI_INDEX_BA_SIZES                                         \
-BOOST_MULTI_INDEX_BA_SIZES_32BIT                                           \
-(4294967291ul)
-#else
-  /* obtained with aid from
-   *   http://javaboutique.internet.com/prime_numb/
-   *   http://www.rsok.com/~jrm/next_ten_primes.html
-   * and verified with
-   *   http://www.alpertron.com.ar/ECM.HTM
-   */
-
-#define BOOST_MULTI_INDEX_BA_SIZES                                         \
-BOOST_MULTI_INDEX_BA_SIZES_32BIT                                           \
-(6442450939ul)(12884901893ul)(25769803751ul)(51539607551ul)                \
-(103079215111ul)(206158430209ul)(412316860441ul)(824633720831ul)           \
-(1649267441651ul)(3298534883309ul)(6597069766657ul)(13194139533299ul)      \
-(26388279066623ul)(52776558133303ul)(105553116266489ul)(211106232532969ul) \
-(422212465066001ul)(844424930131963ul)(1688849860263953ul)                 \
-(3377699720527861ul)(6755399441055731ul)(13510798882111483ul)              \
-(27021597764222939ul)(54043195528445957ul)(108086391056891903ul)           \
-(216172782113783843ul)(432345564227567621ul)(864691128455135207ul)         \
-(1729382256910270481ul)(3458764513820540933ul)(6917529027641081903ul)      \
-(13835058055282163729ul)(18446744073709551557ul)
-#endif
-
-template<bool _=true> /* templatized to have in-header static var defs */
-class bucket_array_base:private noncopyable
-{
-protected:
-  static const std::size_t sizes[
-    BOOST_PP_SEQ_SIZE(BOOST_MULTI_INDEX_BA_SIZES)];
-
-  static std::size_t size_index(std::size_t n)
-  {
-    const std::size_t *bound=std::lower_bound(sizes,sizes+sizes_length,n);
-    if(bound==sizes+sizes_length)--bound;
-    return bound-sizes;
-  }
-
-#define BOOST_MULTI_INDEX_BA_POSITION_CASE(z,n,_)                    \
-  case n:return hash%BOOST_PP_SEQ_ELEM(n,BOOST_MULTI_INDEX_BA_SIZES);
-
-  static std::size_t position(std::size_t hash,std::size_t size_index_)
-  {
-    /* Accelerate hash%sizes[size_index_] by replacing with a switch on
-     * hash%Ci expressions, each Ci a compile-time constant, which the
-     * compiler can implement without using integer division.
-     */
-
-    switch(size_index_){
-      default: /* never used */
-      BOOST_PP_REPEAT(
-        BOOST_PP_SEQ_SIZE(BOOST_MULTI_INDEX_BA_SIZES),
-        BOOST_MULTI_INDEX_BA_POSITION_CASE,~)
-    }
-  }
-
-private:
-  static const std::size_t sizes_length;
-};
-
-template<bool _>
-const std::size_t bucket_array_base<_>::sizes[]={
-  BOOST_PP_SEQ_ENUM(BOOST_MULTI_INDEX_BA_SIZES)
-};
-
-template<bool _>
-const std::size_t bucket_array_base<_>::sizes_length=
-  sizeof(bucket_array_base<_>::sizes)/
-  sizeof(bucket_array_base<_>::sizes[0]);
-
-#undef BOOST_MULTI_INDEX_BA_POSITION_CASE
-#undef BOOST_MULTI_INDEX_BA_SIZES
-#undef BOOST_MULTI_INDEX_BA_SIZES_32BIT
-
-template<typename Allocator>
-class bucket_array:bucket_array_base<>
-{
-  typedef bucket_array_base<>                        super;
-  typedef hashed_index_base_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      Allocator,
-      char
-    >::type
-  >                                                  base_node_impl_type;
-
-public:
-  typedef typename base_node_impl_type::base_pointer base_pointer;
-  typedef typename base_node_impl_type::pointer      pointer;
-
-  bucket_array(const Allocator& al,pointer end_,std::size_t size_):
-    size_index_(super::size_index(size_)),
-    spc(al,super::sizes[size_index_]+1)
-  {
-    clear(end_);
-  }
-
-  std::size_t size()const
-  {
-    return super::sizes[size_index_];
-  }
-
-  std::size_t position(std::size_t hash)const
-  {
-    return super::position(hash,size_index_);
-  }
-
-  base_pointer begin()const{return buckets();}
-  base_pointer end()const{return buckets()+size();}
-  base_pointer at(std::size_t n)const{return buckets()+n;}
-
-  void clear(pointer end_)
-  {
-    for(base_pointer x=begin(),y=end();x!=y;++x)x->prior()=pointer(0);
-    end()->prior()=end_->prior()=end_;
-    end_->next()=end();
- }
-
-  void swap(bucket_array& x)
-  {
-    std::swap(size_index_,x.size_index_);
-    spc.swap(x.spc);
-  }
-
-private:
-  std::size_t                               size_index_;
-  auto_space<base_node_impl_type,Allocator> spc;
-
-  base_pointer buckets()const
-  {
-    return spc.data();
-  }
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-  friend class boost::serialization::access;
-  
-  /* bucket_arrays do not emit any kind of serialization info. They are
-   * fed to Boost.Serialization as hashed index iterators need to track
-   * them during serialization.
-   */
-
-  template<class Archive>
-  void serialize(Archive&,const unsigned int)
-  {
-  }
-#endif
-};
-
-template<typename Allocator>
-void swap(bucket_array<Allocator>& x,bucket_array<Allocator>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-/* bucket_arrays never get constructed directly by Boost.Serialization,
- * as archives are always fed pointers to previously existent
- * arrays. 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 Allocator>
-inline void load_construct_data(
-  Archive&,boost::multi_index::detail::bucket_array<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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/cons_stdtuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/cons_stdtuple.hpp
deleted file mode 100644
index 855c5e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/cons_stdtuple.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Copyright 2003-2014 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_CONS_STDTUPLE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_CONS_STDTUPLE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/if.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <tuple>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* std::tuple wrapper providing the cons-based interface of boost::tuple for
- * composite_key interoperability.
- */
-
-template<typename StdTuple,std::size_t N>
-struct cons_stdtuple;
-
-struct cons_stdtuple_ctor_terminal
-{
-  typedef boost::tuples::null_type result_type;
-
-  template<typename StdTuple>
-  static result_type create(const StdTuple&)
-  {
-    return boost::tuples::null_type();
-  }
-};
-
-template<typename StdTuple,std::size_t N>
-struct cons_stdtuple_ctor_normal
-{
-  typedef cons_stdtuple<StdTuple,N> result_type;
-
-  static result_type create(const StdTuple& t)
-  {
-    return result_type(t);
-  }
-};
-
-template<typename StdTuple,std::size_t N=0>
-struct cons_stdtuple_ctor:
-  boost::mpl::if_c<
-    N<std::tuple_size<StdTuple>::value,
-    cons_stdtuple_ctor_normal<StdTuple,N>,
-    cons_stdtuple_ctor_terminal
-  >::type
-{};
-
-template<typename StdTuple,std::size_t N>
-struct cons_stdtuple
-{
-  typedef typename std::tuple_element<N,StdTuple>::type head_type;
-  typedef cons_stdtuple_ctor<StdTuple,N+1>              tail_ctor;
-  typedef typename tail_ctor::result_type               tail_type;
-  
-  cons_stdtuple(const StdTuple& t_):t(t_){}
-
-  const head_type& get_head()const{return std::get<N>(t);}
-  tail_type get_tail()const{return tail_ctor::create(t);}
-    
-  const StdTuple& t;
-};
-
-template<typename StdTuple>
-typename cons_stdtuple_ctor<StdTuple>::result_type
-make_cons_stdtuple(const StdTuple& t)
-{
-  return cons_stdtuple_ctor<StdTuple>::create(t);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/converter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/converter.hpp
deleted file mode 100644
index 3e04a3e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/converter.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/copy_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/copy_map.hpp
deleted file mode 100644
index 9a34b25..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/copy_map.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/* Copyright 2003-2015 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)
-#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/raw_ptr.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 raw_ptr<const_iterator>(spc.data());}
-  const_iterator end()const{return raw_ptr<const_iterator>(spc.data()+n);}
-
-  void clone(Node* node)
-  {
-    (spc.data()+n)->first=node;
-    (spc.data()+n)->second=raw_ptr<Node*>(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(
-        raw_ptr<copy_map_entry<Node>*>(spc.data()),
-        raw_ptr<copy_map_entry<Node>*>(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 boost::detail::allocator::rebind_to<
-    Allocator,Node
-  >::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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/do_not_copy_elements_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/do_not_copy_elements_tag.hpp
deleted file mode 100644
index f0fa730..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/do_not_copy_elements_tag.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2003-2013 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_DO_NOT_COPY_ELEMENTS_TAG_HPP
-#define BOOST_MULTI_INDEX_DETAIL_DO_NOT_COPY_ELEMENTS_TAG_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Used to mark a special ctor variant that copies the internal objects of
- * a container but not its elements.
- */
-
-struct do_not_copy_elements_tag{};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/duplicates_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/duplicates_iterator.hpp
deleted file mode 100644
index cbebf26..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/duplicates_iterator.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/has_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/has_tag.hpp
deleted file mode 100644
index 217b611..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/has_tag.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_args.hpp
deleted file mode 100644
index 81902f5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_args.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright 2003-2013 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_HASH_INDEX_ARGS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_HASH_INDEX_ARGS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/functional/hash.hpp>
-#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{
-
-/* Hashed index specifiers can be instantiated in two forms:
- *
- *   (hashed_unique|hashed_non_unique)<
- *     KeyFromValue,
- *     Hash=boost::hash<KeyFromValue::result_type>,
- *     Pred=std::equal_to<KeyFromValue::result_type> >
- *   (hashed_unique|hashed_non_unique)<
- *     TagList,
- *     KeyFromValue,
- *     Hash=boost::hash<KeyFromValue::result_type>,
- *     Pred=std::equal_to<KeyFromValue::result_type> >
- *
- * hashed_index_args implements the machinery to accept this
- * argument-dependent polymorphism.
- */
-
-template<typename KeyFromValue>
-struct index_args_default_hash
-{
-  typedef ::boost::hash<typename KeyFromValue::result_type> type;
-};
-
-template<typename KeyFromValue>
-struct index_args_default_pred
-{
-  typedef std::equal_to<typename KeyFromValue::result_type> type;
-};
-
-template<typename Arg1,typename Arg2,typename Arg3,typename Arg4>
-struct hashed_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_hash_type;
-  typedef typename mpl::eval_if<
-    mpl::is_na<supplied_hash_type>,
-    index_args_default_hash<key_from_value_type>,
-    mpl::identity<supplied_hash_type>
-  >::type                                            hash_type;
-  typedef typename mpl::if_<
-    full_form,
-    Arg4,
-    Arg3>::type                                      supplied_pred_type;
-  typedef typename mpl::eval_if<
-    mpl::is_na<supplied_pred_type>,
-    index_args_default_pred<key_from_value_type>,
-    mpl::identity<supplied_pred_type>
-  >::type                                            pred_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<hash_type>::value);
-  BOOST_STATIC_ASSERT(!mpl::is_na<pred_type>::value);
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_iterator.hpp
deleted file mode 100644
index 8d06300..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_iterator.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/* Copyright 2003-2014 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_HASH_INDEX_ITERATOR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_HASH_INDEX_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-#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>
-#include <boost/serialization/version.hpp>
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Iterator class for hashed indices.
- */
-
-struct hashed_index_global_iterator_tag{};
-struct hashed_index_local_iterator_tag{};
-
-template<typename Node,typename BucketArray,typename Category>
-class hashed_index_iterator:
-  public forward_iterator_helper<
-    hashed_index_iterator<Node,BucketArray,Category>,
-    typename Node::value_type,
-    std::ptrdiff_t,
-    const typename Node::value_type*,
-    const typename Node::value_type&>
-{
-public:
-  /* coverity[uninit_ctor]: suppress warning */
-  hashed_index_iterator(){}
-  hashed_index_iterator(Node* node_):node(node_){}
-
-  const typename Node::value_type& operator*()const
-  {
-    return node->value();
-  }
-
-  hashed_index_iterator& operator++()
-  {
-    this->increment(Category());
-    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 version)
-  {
-    load(ar,version,Category());
-  }
-
-  template<class Archive>
-  void load(
-    Archive& ar,const unsigned int version,hashed_index_global_iterator_tag)
-  {
-    node_base_type* bnode;
-    ar>>serialization::make_nvp("pointer",bnode);
-    node=static_cast<Node*>(bnode);
-    if(version<1){
-      BucketArray* throw_away; /* consume unused ptr */
-      ar>>serialization::make_nvp("pointer",throw_away);
-    }
-  }
-
-  template<class Archive>
-  void load(
-    Archive& ar,const unsigned int version,hashed_index_local_iterator_tag)
-  {
-    node_base_type* bnode;
-    ar>>serialization::make_nvp("pointer",bnode);
-    node=static_cast<Node*>(bnode);
-    if(version<1){
-      BucketArray* buckets;
-      ar>>serialization::make_nvp("pointer",buckets);
-      if(buckets&&node&&node->impl()==buckets->end()->prior()){
-        /* end local_iterators used to point to end node, now they are null */
-        node=0;
-      }
-    }
-  }
-#endif
-
-  /* get_node is not to be used by the user */
-
-  typedef Node node_type;
-
-  Node* get_node()const{return node;}
-
-private:
-
-  void increment(hashed_index_global_iterator_tag)
-  {
-    Node::increment(node);
-  }
-
-  void increment(hashed_index_local_iterator_tag)
-  {
-    Node::increment_local(node);
-  }
-
-  Node* node;
-};
-
-template<typename Node,typename BucketArray,typename Category>
-bool operator==(
-  const hashed_index_iterator<Node,BucketArray,Category>& x,
-  const hashed_index_iterator<Node,BucketArray,Category>& y)
-{
-  return x.get_node()==y.get_node();
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-/* class version = 1 : hashed_index_iterator does no longer serialize a bucket
- * array pointer.
- */
-
-namespace serialization {
-template<typename Node,typename BucketArray,typename Category>
-struct version<
-  boost::multi_index::detail::hashed_index_iterator<Node,BucketArray,Category>
->
-{
-  BOOST_STATIC_CONSTANT(int,value=1);
-};
-} /* namespace serialization */
-#endif
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_node.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_node.hpp
deleted file mode 100644
index 7788e81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/hash_index_node.hpp
+++ /dev/null
@@ -1,778 +0,0 @@
-/* Copyright 2003-2015 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_HASH_INDEX_NODE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_HASH_INDEX_NODE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/multi_index/detail/raw_ptr.hpp>
-#include <utility>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Certain C++ requirements on unordered associative containers (see LWG issue
- * #579) imply a data structure where nodes are linked in a single list, which
- * in its turn forces implementors to add additional overhed per node to
- * associate each with its corresponding bucket. Others resort to storing hash
- * values, we use an alternative structure providing unconditional O(1)
- * manipulation, even in situations of unfair hash distribution, plus some
- * lookup speedups. For unique indices we maintain a doubly linked list of
- * nodes except that if N is the first node of a bucket its associated
- * bucket node is embedded between N and the preceding node in the following
- * manner:
- *
- *        +---+   +---+       +---+   +---+
- *     <--+   |<--+   |    <--+   |<--+   |
- *   ...  | B0|   | B1|  ...  | B1|   | B2|  ...
- *        |   |-+ |   +-->    |   |-+ |   +-->
- *        +-+-+ | +---+       +-+-+ | +---+
- *              |   ^               |   ^
- *              |   |               |   |
- *              | +-+               | +-+
- *              | |                 | |
- *              v |                 v |  
- *       --+---+---+---+--   --+---+---+---+--
- *     ... |   | B1|   |  ...  |   | B2|   | ...
- *       --+---+---+---+--   --+---+---+---+--
- *
- *
- * The fist and last nodes of buckets can be checked with
- *
- *   first node of a bucket: Npn != N
- *   last node of a bucket:  Nnp != N
- *
- * (n and p short for ->next(), ->prior(), bucket nodes have prior pointers
- * only). Pure insert and erase (without lookup) can be unconditionally done
- * in O(1).
- * For non-unique indices we add the following additional complexity: when
- * there is a group of 3 or more equivalent elements, they are linked as
- * follows:
- *
- *         +-----------------------+
- *         |                       v
- *   +---+ | +---+       +---+   +---+
- *   |   | +-+   |       |   |<--+   |
- *   | F |   | S |  ...  | P |   | L |
- *   |   +-->|   |       |   +-+ |   |
- *   +---+   +---+       +---+ | +---+
- *     ^                       |
- *     +-----------------------+
- * 
- * F, S, P and L are the first, second, penultimate and last node in the
- * group, respectively (S and P can coincide if the group has size 3.) This
- * arrangement is used to skip equivalent elements in O(1) when doing lookup,
- * while preserving O(1) insert/erase. The following invariants identify
- * special positions (some of the operations have to be carefully implemented
- * as Xnn is not valid if Xn points to a bucket):
- *
- *   first node of a bucket: Npnp  == N
- *   last node of a bucket:  Nnpp  == N
- *   first node of a group:  Nnp != N && Nnppn == N
- *   second node of a group: Npn != N && Nppnn == N
- *   n-1 node of a group:    Nnp != N && Nnnpp == N
- *   last node of a group:   Npn != N && Npnnp == N
- * 
- * The memory overhead is one pointer per bucket plus two pointers per node,
- * probably unbeatable. The resulting structure is bidirectonally traversable,
- * though currently we are just providing forward iteration.
- */
-
-template<typename Allocator>
-struct hashed_index_node_impl;
-
-/* half-header (only prior() pointer) to use for the bucket array */
-
-template<typename Allocator>
-struct hashed_index_base_node_impl
-{
-  typedef typename
-  boost::detail::allocator::rebind_to<
-      Allocator,hashed_index_base_node_impl
-  >::type::pointer                          base_pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,hashed_index_base_node_impl
-  >::type::const_pointer                    const_base_pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,
-    hashed_index_node_impl<Allocator>
-  >::type::pointer                          pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,
-    hashed_index_node_impl<Allocator>
-  >::type::const_pointer                    const_pointer;
-
-  pointer& prior(){return prior_;}
-  pointer  prior()const{return prior_;}
-
-private:
-  pointer prior_;
-};
-
-/* full header (prior() and next()) for the nodes */
-
-template<typename Allocator>
-struct hashed_index_node_impl:hashed_index_base_node_impl<Allocator>
-{
-private:
-  typedef hashed_index_base_node_impl<Allocator> super;
-
-public:  
-  typedef typename super::base_pointer           base_pointer;
-  typedef typename super::const_base_pointer     const_base_pointer;
-  typedef typename super::pointer                pointer;
-  typedef typename super::const_pointer          const_pointer;
-
-  base_pointer& next(){return next_;}
-  base_pointer  next()const{return next_;}
-
-  static pointer pointer_from(base_pointer x)
-  {
-    return static_cast<pointer>(
-      static_cast<hashed_index_node_impl*>(
-        raw_ptr<super*>(x)));
-  }
-
-  static base_pointer base_pointer_from(pointer x)
-  {
-    return static_cast<base_pointer>(
-      raw_ptr<hashed_index_node_impl*>(x));
-  }
-
-private:
-  base_pointer next_;
-};
-
-/* Boost.MultiIndex requires machinery to reverse unlink operations. A simple
- * way to make a pointer-manipulation function undoable is to templatize
- * its internal pointer assignments with a functor that, besides doing the
- * assignment, keeps track of the original pointer values and can later undo
- * the operations in reverse order.
- */
-
-struct default_assigner
-{
-  template<typename T> void operator()(T& x,const T& val){x=val;}
-};
-
-template<typename Node>
-struct unlink_undo_assigner
-{
-  typedef typename Node::base_pointer base_pointer;
-  typedef typename Node::pointer      pointer;
-
-  unlink_undo_assigner():pointer_track_count(0),base_pointer_track_count(0){}
-
-  void operator()(pointer& x,pointer val)
-  {
-    pointer_tracks[pointer_track_count].x=&x;
-    pointer_tracks[pointer_track_count++].val=x;
-    x=val;
-  }
-
-  void operator()(base_pointer& x,base_pointer val)
-  {
-    base_pointer_tracks[base_pointer_track_count].x=&x;
-    base_pointer_tracks[base_pointer_track_count++].val=x;
-    x=val;
-  }
-
-  void operator()() /* undo op */
-  {
-    /* in the absence of aliasing, restitution order is immaterial */
-
-    while(pointer_track_count--){
-      *(pointer_tracks[pointer_track_count].x)=
-        pointer_tracks[pointer_track_count].val;
-    }
-    while(base_pointer_track_count--){
-      *(base_pointer_tracks[base_pointer_track_count].x)=
-        base_pointer_tracks[base_pointer_track_count].val;
-    }
-  }
-
-  struct pointer_track     {pointer*      x; pointer      val;};
-  struct base_pointer_track{base_pointer* x; base_pointer val;};
-
-  /* We know the maximum number of pointer and base pointer assignments that
-   * the two unlink versions do, so we can statically reserve the needed
-   * storage.
-   */
-
-  pointer_track      pointer_tracks[3];
-  int                pointer_track_count;
-  base_pointer_track base_pointer_tracks[2];
-  int                base_pointer_track_count;
-};
-
-/* algorithmic stuff for unique and non-unique variants */
-
-struct hashed_unique_tag{};
-struct hashed_non_unique_tag{};
-
-template<typename Node,typename Category>
-struct hashed_index_node_alg;
-
-template<typename Node>
-struct hashed_index_node_alg<Node,hashed_unique_tag>
-{
-  typedef typename Node::base_pointer       base_pointer;
-  typedef typename Node::const_base_pointer const_base_pointer;
-  typedef typename Node::pointer            pointer;
-  typedef typename Node::const_pointer      const_pointer;
-
-  static bool is_first_of_bucket(pointer x)
-  {
-    return x->prior()->next()!=base_pointer_from(x);
-  }
-
-  static pointer after(pointer x)
-  {
-    return is_last_of_bucket(x)?x->next()->prior():pointer_from(x->next());
-  }
-
-  static pointer after_local(pointer x)
-  {
-    return is_last_of_bucket(x)?pointer(0):pointer_from(x->next());
-  }
-
-  static pointer next_to_inspect(pointer x)
-  {
-    return is_last_of_bucket(x)?pointer(0):pointer_from(x->next());
-  }
-
-  static void link(pointer x,base_pointer buc,pointer end)
-  {
-    if(buc->prior()==pointer(0)){ /* empty bucket */
-      x->prior()=end->prior();
-      x->next()=end->prior()->next();
-      x->prior()->next()=buc;
-      buc->prior()=x;
-      end->prior()=x;
-    }
-    else{
-      x->prior()=buc->prior()->prior();
-      x->next()=base_pointer_from(buc->prior());
-      buc->prior()=x;
-      x->next()->prior()=x;
-    }
-  }
-
-  static void unlink(pointer x)
-  {
-    default_assigner assign;
-    unlink(x,assign);
-  }
-
-  typedef unlink_undo_assigner<Node> unlink_undo;
-
-  template<typename Assigner>
-  static void unlink(pointer x,Assigner& assign)
-  {
-    if(is_first_of_bucket(x)){
-      if(is_last_of_bucket(x)){
-        assign(x->prior()->next()->prior(),pointer(0));
-        assign(x->prior()->next(),x->next());
-        assign(x->next()->prior()->prior(),x->prior());
-      }
-      else{
-        assign(x->prior()->next()->prior(),pointer_from(x->next()));
-        assign(x->next()->prior(),x->prior());
-      }
-    }
-    else if(is_last_of_bucket(x)){
-      assign(x->prior()->next(),x->next());
-      assign(x->next()->prior()->prior(),x->prior());
-    }
-    else{
-      assign(x->prior()->next(),x->next());
-      assign(x->next()->prior(),x->prior());
-    }
-  }
-
-  /* used only at rehashing */
-
-  static void append(pointer x,pointer end)
-  {
-    x->prior()=end->prior();
-    x->next()=end->prior()->next();
-    x->prior()->next()=base_pointer_from(x);
-    end->prior()=x;
-  }
-
-  static bool unlink_last(pointer end)
-  {
-    /* returns true iff bucket is emptied */
-
-    pointer x=end->prior();
-    if(x->prior()->next()==base_pointer_from(x)){
-      x->prior()->next()=x->next();
-      end->prior()=x->prior();
-      return false;
-    }
-    else{
-      x->prior()->next()->prior()=pointer(0);
-      x->prior()->next()=x->next();
-      end->prior()=x->prior();
-      return true;
-    }
-  }
-
-private:
-  static pointer pointer_from(base_pointer x)
-  {
-    return Node::pointer_from(x);
-  }
-
-  static base_pointer base_pointer_from(pointer x)
-  {
-    return Node::base_pointer_from(x);
-  }
-
-  static bool is_last_of_bucket(pointer x)
-  {
-    return x->next()->prior()!=x;
-  }
-};
-
-template<typename Node>
-struct hashed_index_node_alg<Node,hashed_non_unique_tag>
-{
-  typedef typename Node::base_pointer       base_pointer;
-  typedef typename Node::const_base_pointer const_base_pointer;
-  typedef typename Node::pointer            pointer;
-  typedef typename Node::const_pointer      const_pointer;
-
-  static bool is_first_of_bucket(pointer x)
-  {
-    return x->prior()->next()->prior()==x;
-  }
-
-  static bool is_first_of_group(pointer x)
-  {
-    return
-      x->next()->prior()!=x&&
-      x->next()->prior()->prior()->next()==base_pointer_from(x);
-  }
-
-  static pointer after(pointer x)
-  {
-    if(x->next()->prior()==x)return pointer_from(x->next());
-    if(x->next()->prior()->prior()==x)return x->next()->prior();
-    if(x->next()->prior()->prior()->next()==base_pointer_from(x))
-      return pointer_from(x->next());
-    return pointer_from(x->next())->next()->prior();
-  }
-
-  static pointer after_local(pointer x)
-  {
-    if(x->next()->prior()==x)return pointer_from(x->next());
-    if(x->next()->prior()->prior()==x)return pointer(0);
-    if(x->next()->prior()->prior()->next()==base_pointer_from(x))
-      return pointer_from(x->next());
-    return pointer_from(x->next())->next()->prior();
-  }
-
-  static pointer next_to_inspect(pointer x)
-  {
-    if(x->next()->prior()==x)return pointer_from(x->next());
-    if(x->next()->prior()->prior()==x)return pointer(0);
-    if(x->next()->prior()->next()->prior()!=x->next()->prior())
-      return pointer(0);
-    return pointer_from(x->next()->prior()->next());
-  }
-
-  static void link(pointer x,base_pointer buc,pointer end)
-  {
-    if(buc->prior()==pointer(0)){ /* empty bucket */
-      x->prior()=end->prior();
-      x->next()=end->prior()->next();
-      x->prior()->next()=buc;
-      buc->prior()=x;
-      end->prior()=x;
-    }
-    else{
-      x->prior()=buc->prior()->prior();
-      x->next()=base_pointer_from(buc->prior());
-      buc->prior()=x;
-      x->next()->prior()=x;
-    }
-  };
-
-  static void link(pointer x,pointer first,pointer last)
-  {
-    x->prior()=first->prior();
-    x->next()=base_pointer_from(first);
-    if(is_first_of_bucket(first)){
-      x->prior()->next()->prior()=x;
-    }
-    else{
-      x->prior()->next()=base_pointer_from(x);
-    }
-
-    if(first==last){
-      last->prior()=x;
-    }
-    else if(first->next()==base_pointer_from(last)){
-      first->prior()=last;
-      first->next()=base_pointer_from(x);
-    }
-    else{
-      pointer second=pointer_from(first->next()),
-              lastbutone=last->prior();
-      second->prior()=first;
-      first->prior()=last;
-      lastbutone->next()=base_pointer_from(x);
-    }
-  }
-
-  static void unlink(pointer x)
-  {
-    default_assigner assign;
-    unlink(x,assign);
-  }
-
-  typedef unlink_undo_assigner<Node> unlink_undo;
-
-  template<typename Assigner>
-  static void unlink(pointer x,Assigner& assign)
-  {
-    if(x->prior()->next()==base_pointer_from(x)){
-      if(x->next()->prior()==x){
-        left_unlink(x,assign);
-        right_unlink(x,assign);
-      }
-      else if(x->next()->prior()->prior()==x){           /* last of bucket */
-        left_unlink(x,assign);
-        right_unlink_last_of_bucket(x,assign);
-      }
-      else if(x->next()->prior()->prior()->next()==
-              base_pointer_from(x)){                /* first of group size */
-        left_unlink(x,assign);
-        right_unlink_first_of_group(x,assign);
-      }
-      else{                                                /* n-1 of group */
-        unlink_last_but_one_of_group(x,assign);
-      }
-    }
-    else if(x->prior()->next()->prior()==x){            /* first of bucket */
-      if(x->next()->prior()==x){
-        left_unlink_first_of_bucket(x,assign);
-        right_unlink(x,assign);
-      }
-      else if(x->next()->prior()->prior()==x){           /* last of bucket */
-        assign(x->prior()->next()->prior(),pointer(0));
-        assign(x->prior()->next(),x->next());
-        assign(x->next()->prior()->prior(),x->prior());
-      }
-      else{                                              /* first of group */
-        left_unlink_first_of_bucket(x,assign);
-        right_unlink_first_of_group(x,assign);
-      }
-    }
-    else if(x->next()->prior()->prior()==x){   /* last of group and bucket */
-      left_unlink_last_of_group(x,assign);
-      right_unlink_last_of_bucket(x,assign);
-    }
-    else if(pointer_from(x->prior()->prior()->next())
-            ->next()==base_pointer_from(x)){            /* second of group */
-      unlink_second_of_group(x,assign);
-    }
-    else{                              /* last of group, ~(last of bucket) */
-      left_unlink_last_of_group(x,assign);
-      right_unlink(x,assign);
-    }
-  }
-
-  /* used only at rehashing */
-
-  static void link_range(
-    pointer first,pointer last,base_pointer buc,pointer cend)
-  {
-    if(buc->prior()==pointer(0)){ /* empty bucket */
-      first->prior()=cend->prior();
-      last->next()=cend->prior()->next();
-      first->prior()->next()=buc;
-      buc->prior()=first;
-      cend->prior()=last;
-    }
-    else{
-      first->prior()=buc->prior()->prior();
-      last->next()=base_pointer_from(buc->prior());
-      buc->prior()=first;
-      last->next()->prior()=last;
-    }
-  }
-
-  static void append_range(pointer first,pointer last,pointer cend)
-  {
-    first->prior()=cend->prior();
-    last->next()=cend->prior()->next();
-    first->prior()->next()=base_pointer_from(first);
-    cend->prior()=last;
-  }
-
-  static std::pair<pointer,bool> unlink_last_group(pointer end)
-  {
-    /* returns first of group true iff bucket is emptied */
-
-    pointer x=end->prior();
-    if(x->prior()->next()==base_pointer_from(x)){
-      x->prior()->next()=x->next();
-      end->prior()=x->prior();
-      return std::make_pair(x,false);
-    }
-    else if(x->prior()->next()->prior()==x){
-      x->prior()->next()->prior()=pointer(0);
-      x->prior()->next()=x->next();
-      end->prior()=x->prior();
-      return std::make_pair(x,true);
-    }
-    else{
-      pointer y=pointer_from(x->prior()->next());
-
-      if(y->prior()->next()==base_pointer_from(y)){
-        y->prior()->next()=x->next();
-        end->prior()=y->prior();
-        return std::make_pair(y,false);
-      }
-      else{
-        y->prior()->next()->prior()=pointer(0);
-        y->prior()->next()=x->next();
-        end->prior()=y->prior();
-        return std::make_pair(y,true);
-      }
-    }
-  }
-
-  static void unlink_range(pointer first,pointer last)
-  {
-    if(is_first_of_bucket(first)){
-      if(is_last_of_bucket(last)){
-        first->prior()->next()->prior()=pointer(0);
-        first->prior()->next()=last->next();
-        last->next()->prior()->prior()=first->prior();
-      }
-      else{
-        first->prior()->next()->prior()=pointer_from(last->next());
-        last->next()->prior()=first->prior();
-      }
-    }
-    else if(is_last_of_bucket(last)){
-      first->prior()->next()=last->next();
-      last->next()->prior()->prior()=first->prior();
-    }
-    else{
-      first->prior()->next()=last->next();
-      last->next()->prior()=first->prior();
-    }
-  }
-
-private:
-  static pointer pointer_from(base_pointer x)
-  {
-    return Node::pointer_from(x);
-  }
-
-  static base_pointer base_pointer_from(pointer x)
-  {
-    return Node::base_pointer_from(x);
-  }
-
-  static bool is_last_of_bucket(pointer x)
-  {
-    return x->next()->prior()->prior()==x;
-  }
-
-  template<typename Assigner>
-  static void left_unlink(pointer x,Assigner& assign)
-  {
-    assign(x->prior()->next(),x->next());
-  }
-  
-  template<typename Assigner>
-  static void right_unlink(pointer x,Assigner& assign)
-  {
-    assign(x->next()->prior(),x->prior());
-  }
-
-  template<typename Assigner>
-  static void left_unlink_first_of_bucket(pointer x,Assigner& assign)
-  {
-    assign(x->prior()->next()->prior(),pointer_from(x->next()));
-  }
-
-  template<typename Assigner>
-  static void right_unlink_last_of_bucket(pointer x,Assigner& assign)
-  {
-    assign(x->next()->prior()->prior(),x->prior());
-  }
-
-  template<typename Assigner>
-  static void right_unlink_first_of_group(pointer x,Assigner& assign)
-  {
-    pointer second=pointer_from(x->next()),
-            last=second->prior(),
-            lastbutone=last->prior();
-    if(second==lastbutone){
-      assign(second->next(),base_pointer_from(last));
-      assign(second->prior(),x->prior());
-    }
-    else{
-      assign(lastbutone->next(),base_pointer_from(second));
-      assign(second->next()->prior(),last);
-      assign(second->prior(),x->prior());
-    }
-  }
-
-  template<typename Assigner>
-  static void left_unlink_last_of_group(pointer x,Assigner& assign)
-  {
-    pointer lastbutone=x->prior(),
-            first=pointer_from(lastbutone->next()),
-            second=pointer_from(first->next());
-    if(lastbutone==second){
-      assign(lastbutone->prior(),first);
-      assign(lastbutone->next(),x->next());
-    }
-    else{
-      assign(second->prior(),lastbutone);
-      assign(lastbutone->prior()->next(),base_pointer_from(first));
-      assign(lastbutone->next(),x->next());
-    }
-  }
-
-  template<typename Assigner>
-  static void unlink_last_but_one_of_group(pointer x,Assigner& assign)
-  {
-    pointer first=pointer_from(x->next()),
-            second=pointer_from(first->next()),
-            last=second->prior();
-    if(second==x){
-      assign(last->prior(),first);
-      assign(first->next(),base_pointer_from(last));
-    }
-    else{
-      assign(last->prior(),x->prior());
-      assign(x->prior()->next(),base_pointer_from(first));
-    }
-  }
-
-  template<typename Assigner>
-  static void unlink_second_of_group(pointer x,Assigner& assign)
-  {
-    pointer last=x->prior(),
-            lastbutone=last->prior(),
-            first=pointer_from(lastbutone->next());
-    if(lastbutone==x){
-      assign(first->next(),base_pointer_from(last));
-      assign(last->prior(),first);
-    }
-    else{
-      assign(first->next(),x->next());
-      assign(x->next()->prior(),last);
-    }
-  }
-};
-
-template<typename Super>
-struct hashed_index_node_trampoline:
-  hashed_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::type
-  >
-{
-  typedef typename boost::detail::allocator::rebind_to<
-    typename Super::allocator_type,
-    char
-  >::type                                               impl_allocator_type;
-  typedef hashed_index_node_impl<impl_allocator_type>   impl_type;
-};
-
-template<typename Super,typename Category>
-struct hashed_index_node:
-  Super,hashed_index_node_trampoline<Super>
-{
-private:
-  typedef hashed_index_node_trampoline<Super> trampoline;
-
-public:
-  typedef typename trampoline::impl_type          impl_type;
-  typedef hashed_index_node_alg<
-    impl_type,Category>                           node_alg;
-  typedef typename trampoline::base_pointer       impl_base_pointer;
-  typedef typename trampoline::const_base_pointer const_impl_base_pointer;
-  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_base_pointer& next(){return trampoline::next();}
-  impl_base_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 hashed_index_node* from_impl(impl_pointer x)
-  {
-    return
-      static_cast<hashed_index_node*>(
-        static_cast<trampoline*>(
-          raw_ptr<impl_type*>(x)));
-  }
-
-  static const hashed_index_node* from_impl(const_impl_pointer x)
-  {
-    return 
-      static_cast<const hashed_index_node*>(
-        static_cast<const trampoline*>(
-          raw_ptr<const impl_type*>(x)));
-  }
-
-  /* interoperability with hashed_index_iterator */
-
-  static void increment(hashed_index_node*& x)
-  {
-    x=from_impl(node_alg::after(x->impl()));
-  }
-
-  static void increment_local(hashed_index_node*& x)
-  {
-    x=from_impl(node_alg::after_local(x->impl()));
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/header_holder.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/header_holder.hpp
deleted file mode 100644
index ca8a9b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_base.hpp
deleted file mode 100644
index 99000ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_base.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/* Copyright 2003-2014 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)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/allocator_utilities.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/multi_index/detail/copy_map.hpp>
-#include <boost/multi_index/detail/do_not_copy_elements_tag.hpp>
-#include <boost/multi_index/detail/node_type.hpp>
-#include <boost/multi_index/detail/vartempl_support.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.)
- */
-
-struct lvalue_tag{};
-struct rvalue_tag{};
-struct emplaced_tag{};
-
-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 Value                               value_type;
-
-protected:
-  explicit index_base(const ctor_args_list&,const Allocator&){}
-
-  index_base(
-    const index_base<Value,IndexSpecifierList,Allocator>&,
-    do_not_copy_elements_tag)
-  {}
-
-  void copy_(
-    const index_base<Value,IndexSpecifierList,Allocator>&,const copy_map_type&)
-  {}
-
-  final_node_type* insert_(const value_type& v,final_node_type*& x,lvalue_tag)
-  {
-    x=final().allocate_node();
-    BOOST_TRY{
-      boost::detail::allocator::construct(&x->value(),v);
-    }
-    BOOST_CATCH(...){
-      final().deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    return x;
-  }
-
-  final_node_type* insert_(const value_type& v,final_node_type*& x,rvalue_tag)
-  {
-    x=final().allocate_node();
-    BOOST_TRY{
-      /* This shoud have used a modified, T&&-compatible version of
-       * boost::detail::allocator::construct, but 
-       * <boost/detail/allocator_utilities.hpp> is too old and venerable to
-       * mess with; besides, it is a general internal utility and the imperfect
-       * perfect forwarding emulation of Boost.Move might break other libs.
-       */
-
-      new (&x->value()) value_type(boost::move(const_cast<value_type&>(v)));
-    }
-    BOOST_CATCH(...){
-      final().deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    return x;
-  }
-
-  final_node_type* insert_(const value_type&,final_node_type*& x,emplaced_tag)
-  {
-    return x;
-  }
-
-  final_node_type* insert_(
-    const value_type& v,node_type*,final_node_type*& x,lvalue_tag)
-  {
-    return insert_(v,x,lvalue_tag());
-  }
-
-  final_node_type* insert_(
-    const value_type& v,node_type*,final_node_type*& x,rvalue_tag)
-  {
-    return insert_(v,x,rvalue_tag());
-  }
-
-  final_node_type* insert_(
-    const value_type&,node_type*,final_node_type*& x,emplaced_tag)
-  {
-    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>&){}
-
-  void swap_elements_(index_base<Value,IndexSpecifierList,Allocator>&){}
-
-  bool replace_(const value_type& v,node_type* x,lvalue_tag)
-  {
-    x->value()=v;
-    return true;
-  }
-
-  bool replace_(const value_type& v,node_type* x,rvalue_tag)
-  {
-    x->value()=boost::move(const_cast<value_type&>(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_(const value_type& x)
-    {return final().insert_(x);}
-  std::pair<final_node_type*,bool> final_insert_rv_(const value_type& x)
-    {return final().insert_rv_(x);}
-  template<typename T>
-  std::pair<final_node_type*,bool> final_insert_ref_(const T& t)
-    {return final().insert_ref_(t);}
-  template<typename T>
-  std::pair<final_node_type*,bool> final_insert_ref_(T& t)
-    {return final().insert_ref_(t);}
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<final_node_type*,bool> final_emplace_(
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    return final().emplace_(BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-  }
-
-  std::pair<final_node_type*,bool> final_insert_(
-    const value_type& x,final_node_type* position)
-    {return final().insert_(x,position);}
-  std::pair<final_node_type*,bool> final_insert_rv_(
-    const value_type& x,final_node_type* position)
-    {return final().insert_rv_(x,position);}
-  template<typename T>
-  std::pair<final_node_type*,bool> final_insert_ref_(
-    const T& t,final_node_type* position)
-    {return final().insert_ref_(t,position);}
-  template<typename T>
-  std::pair<final_node_type*,bool> final_insert_ref_(
-    T& t,final_node_type* position)
-    {return final().insert_ref_(t,position);}
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<final_node_type*,bool> final_emplace_hint_(
-    final_node_type* position,BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    return final().emplace_hint_(
-      position,BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-  }
-
-  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_(
-    const value_type& k,final_node_type* x)
-    {return final().replace_(k,x);}
-  bool final_replace_rv_(
-    const value_type& k,final_node_type* x)
-    {return final().replace_rv_(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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_loader.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_loader.hpp
deleted file mode 100644
index 71418a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_loader.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Copyright 2003-2015 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)
-#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/multi_index/detail/raw_ptr.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 raw_ptr<Node**>(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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_matcher.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_matcher.hpp
deleted file mode 100644
index 34d1f9d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_matcher.hpp
+++ /dev/null
@@ -1,249 +0,0 @@
-/* Copyright 2003-2015 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)
-#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 <boost/multi_index/detail/raw_ptr.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 raw_ptr<entry*>(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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_node_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_node_base.hpp
deleted file mode 100644
index e6fabe6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_node_base.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Copyright 2003-2015 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)
-#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 *reinterpret_cast<value_type*>(&this->space);
-  }
-
-  const value_type& value()const
-  {
-    return *reinterpret_cast<const value_type*>(&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)
-{
-  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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_saver.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_saver.hpp
deleted file mode 100644
index ae09d4e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/index_saver.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/invariant_assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/invariant_assert.hpp
deleted file mode 100644
index c6c547c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/invariant_assert.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/is_index_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/is_index_list.hpp
deleted file mode 100644
index f6a2421..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/is_index_list.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/is_transparent.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/is_transparent.hpp
deleted file mode 100644
index 72036d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/is_transparent.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2003-2014 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_TRANSPARENT_HPP
-#define BOOST_MULTI_INDEX_DETAIL_IS_TRANSPARENT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Metafunction that checks if f(arg,arg2) executes without argument type
- * conversion. By default (i.e. when it cannot be determined) it evaluates to
- * true.
- */
-
-template<typename F,typename Arg1,typename Arg2,typename=void>
-struct is_transparent:mpl::true_{};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#if !defined(BOOST_NO_SFINAE)&&!defined(BOOST_NO_SFINAE_EXPR)&& \
-    !defined(BOOST_NO_CXX11_DECLTYPE)&& \
-    (defined(BOOST_NO_CXX11_FINAL)||defined(BOOST_IS_FINAL))
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/function_traits.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_final.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-struct not_is_transparent_result_type{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct is_transparent_class_helper:F
-{
-  using F::operator();
-  template<typename T,typename Q>
-  not_is_transparent_result_type operator()(const T&,const Q&)const;
-};
-
-template<typename F,typename Arg1,typename Arg2,typename=void>
-struct is_transparent_class:mpl::true_{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct is_transparent_class<
-  F,Arg1,Arg2,
-  typename enable_if<
-    is_same<
-      decltype(
-        declval<const is_transparent_class_helper<F,Arg1,Arg2> >()(
-          declval<const Arg1&>(),declval<const Arg2&>())
-      ),
-      not_is_transparent_result_type
-    >
-  >::type
->:mpl::false_{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct is_transparent<
-  F,Arg1,Arg2,
-  typename enable_if<
-    mpl::and_<
-      is_class<F>,
-      mpl::not_<is_final<F> > /* is_transparent_class_helper derives from F */
-    >
-  >::type
->:is_transparent_class<F,Arg1,Arg2>{};
-
-template<typename F,typename Arg1,typename Arg2,typename=void>
-struct is_transparent_function:mpl::true_{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct is_transparent_function<
-  F,Arg1,Arg2,
-  typename enable_if<
-    mpl::or_<
-      mpl::not_<mpl::or_<
-        is_same<typename function_traits<F>::arg1_type,const Arg1&>,
-        is_same<typename function_traits<F>::arg1_type,Arg1>
-      > >,
-      mpl::not_<mpl::or_<
-        is_same<typename function_traits<F>::arg2_type,const Arg2&>,
-        is_same<typename function_traits<F>::arg2_type,Arg2>
-      > >
-    >
-  >::type
->:mpl::false_{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct is_transparent<
-  F,Arg1,Arg2,
-  typename enable_if<
-    is_function<typename remove_pointer<F>::type>
-  >::type
->:is_transparent_function<typename remove_pointer<F>::type,Arg1,Arg2>{};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/iter_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/iter_adaptor.hpp
deleted file mode 100644
index 7a03235..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/iter_adaptor.hpp
+++ /dev/null
@@ -1,321 +0,0 @@
-/* Copyright 2003-2013 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)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/apply.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 mpl::apply2<
-    selector,Derived,Base>::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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/modify_key_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/modify_key_adaptor.hpp
deleted file mode 100644
index 6df89b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/modify_key_adaptor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/no_duplicate_tags.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/no_duplicate_tags.hpp
deleted file mode 100644
index ba216ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/no_duplicate_tags.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/node_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/node_type.hpp
deleted file mode 100644
index 7fe85cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/node_type.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/static_assert.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* MPL machinery to construct the internal node type associated to an
- * index list.
- */
-
-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;
-  }; 
-};
-
-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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_args.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_args.hpp
deleted file mode 100644
index 3e2641f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_args.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_impl.hpp
deleted file mode 100644
index 040cb98..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_impl.hpp
+++ /dev/null
@@ -1,1567 +0,0 @@
-/* Copyright 2003-2015 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_IMPL_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_IMPL_HPP
-
-#if defined(_MSC_VER)
-#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/move/core.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/do_not_copy_elements_tag.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_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/detail/vartempl_support.hpp>
-#include <boost/multi_index/detail/ord_index_impl_fwd.hpp>
-#include <boost/ref.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <utility>
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-#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_OF(x)                    \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(x,&ordered_index_impl::check_invariant_);         \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT                          \
-  BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(*this)
-#else
-#define BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(x)
-#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 and accepts
- * an augmenting policy for optional addition of order statistics.
- */
-
-/* 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,typename AugmentPolicy
->
-class ordered_index;
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
->
-class ordered_index_impl:
-  BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  ,public safe_mode::safe_container<
-    ordered_index_impl<
-      KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy> >
-#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<
-    AugmentPolicy,typename super::node_type>         node_type;
-
-protected: /* for the benefit of AugmentPolicy::augmented_interface */
-  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)
-  typedef safe_mode::safe_iterator<
-    bidir_node_iterator<node_type>,
-    ordered_index_impl>                              iterator;
-#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<
-      KeyFromValue,Compare,
-      SuperMeta,TagList,Category,AugmentPolicy
-    > >::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
-
-protected:
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  typedef safe_mode::safe_container<
-    ordered_index_impl>                              safe_super;
-#endif
-
-  typedef typename call_traits<
-    value_type>::param_type                          value_param_type;
-  typedef typename call_traits<
-    key_type>::param_type                            key_param_type;
-
-  /* Needed to avoid commas in BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL
-   * expansion.
-   */
-
-  typedef std::pair<iterator,bool>                   emplace_return_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.
-   * Assignment operators defined at ordered_index rather than here.
-   */
-
-  allocator_type get_allocator()const BOOST_NOEXCEPT
-  {
-    return this->final().get_allocator();
-  }
-
-  /* iterators */
-
-  iterator
-    begin()BOOST_NOEXCEPT{return make_iterator(leftmost());}
-  const_iterator
-    begin()const BOOST_NOEXCEPT{return make_iterator(leftmost());}
-  iterator
-    end()BOOST_NOEXCEPT{return make_iterator(header());}
-  const_iterator
-    end()const BOOST_NOEXCEPT{return make_iterator(header());}
-  reverse_iterator
-    rbegin()BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());}
-  const_reverse_iterator
-    rbegin()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());}
-  reverse_iterator
-    rend()BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());}
-  const_reverse_iterator
-    rend()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());}
-  const_iterator
-    cbegin()const BOOST_NOEXCEPT{return begin();}
-  const_iterator
-    cend()const BOOST_NOEXCEPT{return end();}
-  const_reverse_iterator
-    crbegin()const BOOST_NOEXCEPT{return rbegin();}
-  const_reverse_iterator
-    crend()const BOOST_NOEXCEPT{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 BOOST_NOEXCEPT{return this->final_empty_();}
-  size_type size()const BOOST_NOEXCEPT{return this->final_size_();}
-  size_type max_size()const BOOST_NOEXCEPT{return this->final_max_size_();}
-
-  /* modifiers */
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(
-    emplace_return_type,emplace,emplace_impl)
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG(
-    iterator,emplace_hint,emplace_hint_impl,iterator,position)
-
-  std::pair<iterator,bool> insert(const value_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);
-  }
-
-  std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_rv_(x);
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  iterator insert(iterator position,const value_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);
-  }
-    
-  iterator insert(iterator position,BOOST_RV_REF(value_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_rv_(
-      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;
-    node_type* hint=header(); /* end() */
-    for(;first!=last;++first){
-      hint=this->final_insert_ref_(
-        *first,static_cast<final_node_type*>(hint)).first;
-      node_type::increment(hint);
-    }
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  void insert(std::initializer_list<value_type> list)
-  {
-    insert(list.begin(),list.end());
-  }
-#endif
-
-  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,const value_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()));
-  }
-
-  bool replace(iterator position,BOOST_RV_REF(value_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_rv_(
-      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,AugmentPolicy>& x)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF(x);
-    this->final_swap_(x.final());
-  }
-
-  void clear()BOOST_NOEXCEPT
-  {
-    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_impl(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_impl(
-    const ordered_index_impl<
-      KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& 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 a subsequent call to copy_().
-     */
-  }
-
-  ordered_index_impl(
-     const ordered_index_impl<
-       KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& x,
-     do_not_copy_elements_tag):
-    super(x,do_not_copy_elements_tag()),
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super(),
-#endif
-
-    key(x.key),
-    comp_(x.comp_)
-  {
-    empty_initialize();
-  }
-
-  ~ordered_index_impl()
-  {
-    /* 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_impl*>(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_impl<
-      KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& x,
-    const copy_map_type& map)
-  {
-    if(!x.root()){
-      empty_initialize();
-    }
-    else{
-      header()->color()=x.header()->color();
-      AugmentPolicy::copy(x.header()->impl(),header()->impl());
-
-      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();
-        AugmentPolicy::copy(org->impl(),cpy->impl());
-
-        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);
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,final_node_type*& x,Variant variant)
-  {
-    link_info inf;
-    if(!link_point(key(v),inf,Category())){
-      return static_cast<final_node_type*>(node_type::from_impl(inf.pos));
-    }
-
-    final_node_type* res=super::insert_(v,x,variant);
-    if(res==x){
-      node_impl_type::link(
-        static_cast<node_type*>(x)->impl(),inf.side,inf.pos,header()->impl());
-    }
-    return res;
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,node_type* position,final_node_type*& x,Variant variant)
-  {
-    link_info inf;
-    if(!hinted_link_point(key(v),position,inf,Category())){
-      return static_cast<final_node_type*>(node_type::from_impl(inf.pos));
-    }
-
-    final_node_type* res=super::insert_(v,position,x,variant);
-    if(res==x){
-      node_impl_type::link(
-        static_cast<node_type*>(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_impl<
-      KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& 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);
-  }
-
-  void swap_elements_(
-    ordered_index_impl<
-      KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& x)
-  {
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_elements_(x);
-  }
-
-  template<typename Variant>
-  bool replace_(value_param_type v,node_type* x,Variant variant)
-  {
-    if(in_place(v,x,Category())){
-      return super::replace_(v,x,variant);
-    }
-
-    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,variant)){
-        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(!AugmentPolicy::invariant(x->impl()))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_impl.
-   */
-  void check_invariant_()const{this->final_check_invariant_();}
-#endif
-
-protected: /* for the benefit of AugmentPolicy::augmented_interface */
-  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());}
-
-private:
-  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
-  {
-    /* coverity[uninit_ctor]: suppress warning */
-    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<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_impl(BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool>p=
-      this->final_emplace_(BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  iterator emplace_hint_impl(
-    iterator position,BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    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_emplace_hint_(
-        static_cast<final_node_type*>(position.get_node()),
-        BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-    return make_iterator(p.first);
-  }
-
-  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_impl::rearranger,this,
-        ::boost::arg<1>(),::boost::arg<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 */
-
-protected: /* for the benefit of AugmentPolicy::augmented_interface */
-  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
-};
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
->
-class ordered_index:
-  public AugmentPolicy::template augmented_interface<
-    ordered_index_impl<
-      KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy
-    >
-  >::type
-{
-  typedef typename AugmentPolicy::template
-    augmented_interface<
-      ordered_index_impl<
-        KeyFromValue,Compare,
-        SuperMeta,TagList,Category,AugmentPolicy
-      >
-    >::type                                       super;
-public:
-  typedef typename super::ctor_args_list          ctor_args_list;
-  typedef typename super::allocator_type          allocator_type;
-  typedef typename super::iterator                iterator;
-
-  /* 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& operator=(const ordered_index& x)
-  {
-    this->final()=x.final();
-    return *this;
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  ordered_index& operator=(
-    std::initializer_list<BOOST_DEDUCED_TYPENAME super::value_type> list)
-  {
-    this->final()=list;
-    return *this;
-  }
-#endif
-
-protected:
-  ordered_index(
-    const ctor_args_list& args_list,const allocator_type& al):
-    super(args_list,al){}
-
-  ordered_index(const ordered_index& x):super(x){};
-
-  ordered_index(const ordered_index& x,do_not_copy_elements_tag):
-    super(x,do_not_copy_elements_tag()){};
-};
-
-/* comparison */
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator==(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& 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 AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator<(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& 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 AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator!=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y)
-{
-  return !(x==y);
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator>(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y)
-{
-  return y<x;
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator>=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y)
-{
-  return !(x<y);
-}
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator<=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y)
-{
-  return !(x>y);
-}
-
-/*  specialized algorithms */
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
->
-void swap(
-  ordered_index<
-    KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& x,
-  ordered_index<
-    KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-/* Boost.Foreach compatibility */
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
->
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
-  boost::multi_index::detail::ordered_index<
-    KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>*&,
-  boost_foreach_argument_dependent_lookup_hack)
-{
-  return 0;
-}
-
-#undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT
-#undef BOOST_MULTI_INDEX_ORD_INDEX_CHECK_INVARIANT_OF
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_impl_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_impl_fwd.hpp
deleted file mode 100644
index 6590ef0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_impl_fwd.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 2003-2015 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_IMPL_FWD_HPP
-#define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_IMPL_FWD_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
->
-class ordered_index;
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator==(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator<(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator!=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator>(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator>=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
-
-template<
-  typename KeyFromValue1,typename Compare1,
-  typename SuperMeta1,typename TagList1,typename Category1,
-  typename AugmentPolicy1,
-  typename KeyFromValue2,typename Compare2,
-  typename SuperMeta2,typename TagList2,typename Category2,
-  typename AugmentPolicy2
->
-bool operator<=(
-  const ordered_index<
-    KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
-  const ordered_index<
-    KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
-
-template<
-  typename KeyFromValue,typename Compare,
-  typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
->
-void swap(
-  ordered_index<
-    KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& x,
-  ordered_index<
-    KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& y);
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_node.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_node.hpp
deleted file mode 100644
index e7af037..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_node.hpp
+++ /dev/null
@@ -1,658 +0,0 @@
-/* Copyright 2003-2015 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)
-#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/raw_ptr.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 AugmentPolicy,typename Allocator>
-struct ordered_index_node_impl; /* fwd decl. */
-
-template<typename AugmentPolicy,typename Allocator>
-struct ordered_index_node_std_base
-{
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,
-    ordered_index_node_impl<AugmentPolicy,Allocator>
-  >::type::pointer                                   pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,
-    ordered_index_node_impl<AugmentPolicy,Allocator>
-  >::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 AugmentPolicy,typename Allocator>
-struct ordered_index_node_compressed_base
-{
-  typedef ordered_index_node_impl<
-    AugmentPolicy,Allocator>*            pointer;
-  typedef const ordered_index_node_impl<
-    AugmentPolicy,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_&uintptr_type(1));
-  }
-
-  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 AugmentPolicy,typename Allocator>
-struct ordered_index_node_impl_base:
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_COMPRESSED_ORDERED_INDEX_NODES)
-  AugmentPolicy::template augmented_node<
-    typename mpl::if_c<
-      !(has_uintptr_type::value)||
-      (alignment_of<
-        ordered_index_node_compressed_base<AugmentPolicy,Allocator>
-       >::value%2)||
-      !(is_same<
-        typename boost::detail::allocator::rebind_to<
-          Allocator,
-          ordered_index_node_impl<AugmentPolicy,Allocator>
-        >::type::pointer,
-        ordered_index_node_impl<AugmentPolicy,Allocator>*>::value),
-      ordered_index_node_std_base<AugmentPolicy,Allocator>,
-      ordered_index_node_compressed_base<AugmentPolicy,Allocator>
-    >::type
-  >::type
-#else
-  AugmentPolicy::template augmented_node<
-    ordered_index_node_std_base<AugmentPolicy,Allocator>
-  >::type
-#endif
-
-{};
-
-template<typename AugmentPolicy,typename Allocator>
-struct ordered_index_node_impl:
-  ordered_index_node_impl_base<AugmentPolicy,Allocator>
-{
-private:
-  typedef ordered_index_node_impl_base<AugmentPolicy,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;
-    AugmentPolicy::rotate_left(x,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;
-    AugmentPolicy::rotate_right(x,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);
-    AugmentPolicy::add(x,pointer(header->parent()));
-    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();
-      }
-    }
-    AugmentPolicy::remove(y,pointer(root));
-    if(y!=z){
-      AugmentPolicy::copy(z,y);
-      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 AugmentPolicy,typename Super>
-struct ordered_index_node_trampoline:
-  ordered_index_node_impl<
-    AugmentPolicy,
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::type
-  >
-{
-  typedef ordered_index_node_impl<
-    AugmentPolicy,
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::type
-  > impl_type;
-};
-
-template<typename AugmentPolicy,typename Super>
-struct ordered_index_node:
-  Super,ordered_index_node_trampoline<AugmentPolicy,Super>
-{
-private:
-  typedef ordered_index_node_trampoline<AugmentPolicy,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*>(
-          raw_ptr<impl_type*>(x)));
-  }
-
-  static const ordered_index_node* from_impl(const_impl_pointer x)
-  {
-    return
-      static_cast<const ordered_index_node*>(
-        static_cast<const trampoline*>(
-          raw_ptr<const impl_type*>(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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_ops.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_ops.hpp
deleted file mode 100644
index 84d5cac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/ord_index_ops.hpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Copyright 2003-2014 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)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/and.hpp>
-#include <boost/multi_index/detail/promotes_arg.hpp>
-#include <utility>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Common code for index memfuns having templatized and
- * non-templatized versions.
- * Implementation note: When CompatibleKey is consistently promoted to
- * KeyFromValue::result_type for comparison, the promotion is made once in
- * advance to increase efficiency.
- */
-
-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)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ordered_index_find(
-    top,y,key,x,comp,
-    mpl::and_<
-      promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>,
-      promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey> >());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline Node* ordered_index_find(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ordered_index_find(top,y,key,x,comp,mpl::false_());
-}
-
-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,mpl::false_)
-{
-  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)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ordered_index_lower_bound(
-    top,y,key,x,comp,
-    promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey>());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline Node* ordered_index_lower_bound(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ordered_index_lower_bound(top,y,key,x,comp,mpl::false_());
-}
-
-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,mpl::false_)
-{
-  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)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ordered_index_upper_bound(
-    top,y,key,x,comp,
-    promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline Node* ordered_index_upper_bound(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ordered_index_upper_bound(top,y,key,x,comp,mpl::false_());
-}
-
-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,mpl::false_)
-{
-  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)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ordered_index_equal_range(
-    top,y,key,x,comp,
-    mpl::and_<
-      promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>,
-      promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey> >());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline std::pair<Node*,Node*> ordered_index_equal_range(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ordered_index_equal_range(top,y,key,x,comp,mpl::false_());
-}
-
-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,mpl::false_)
-{
-  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,mpl::false_()),
-        ordered_index_upper_bound(
-          Node::from_impl(top->right()),y,key,x,comp,mpl::false_()));
-    }
-  }
-
-  return std::pair<Node*,Node*>(y,y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/promotes_arg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/promotes_arg.hpp
deleted file mode 100644
index 75cf436..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/promotes_arg.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2003-2014 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_PROMOTES_ARG_HPP
-#define BOOST_MULTI_INDEX_DETAIL_PROMOTES_ARG_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-/* Metafunctions to check if f(arg1,arg2) promotes either arg1 to the type of
- * arg2 or viceversa. By default, (i.e. if it cannot be determined), no
- * promotion is assumed.
- */
-
-#if !defined(BOOST_IS_CONVERTIBLE)
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename F,typename Arg1,typename Arg2>
-struct promotes_1st_arg:mpl::false_{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct promotes_2nd_arg:mpl::false_{};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#else
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/multi_index/detail/is_transparent.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-  
-template<typename F,typename Arg1,typename Arg2>
-struct promotes_1st_arg:
-  mpl::and_<
-    mpl::not_<is_transparent<F,Arg1,Arg2> >,
-    is_convertible<const Arg1,Arg2>,
-    is_transparent<F,Arg2,Arg2>
-  >
-{};
-
-template<typename F,typename Arg1,typename Arg2>
-struct promotes_2nd_arg:
-  mpl::and_<
-    mpl::not_<is_transparent<F,Arg1,Arg2> >,
-    is_convertible<const Arg2,Arg1>,
-    is_transparent<F,Arg1,Arg1>
-  >
-{};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif /* defined(BOOST_IS_CONVERTIBLE) */
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/raw_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/raw_ptr.hpp
deleted file mode 100644
index c320074..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/raw_ptr.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2003-2015 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_RAW_PTR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RAW_PTR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* gets the underlying pointer of a pointer-like value */
-
-template<typename RawPointer>
-inline RawPointer raw_ptr(RawPointer const& p,mpl::true_)
-{
-  return p;
-}
-
-template<typename RawPointer,typename Pointer>
-inline RawPointer raw_ptr(Pointer const& p,mpl::false_)
-{
-  return p==Pointer(0)?0:&*p;
-}
-
-template<typename RawPointer,typename Pointer>
-inline RawPointer raw_ptr(Pointer const& p)
-{
-  return raw_ptr<RawPointer>(p,is_same<RawPointer,Pointer>());
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_loader.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_loader.hpp
deleted file mode 100644
index 4b00345..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_loader.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Copyright 2003-2013 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_RND_INDEX_LOADER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RND_INDEX_LOADER_HPP
-
-#if defined(_MSC_VER)
-#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/auto_space.hpp>
-#include <boost/multi_index/detail/rnd_index_ptr_array.hpp>
-#include <boost/noncopyable.hpp>
-#include <cstddef>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* This class implements a serialization rearranger for random access
- * indices. In order to achieve O(n) performance, the following strategy
- * is followed: the nodes of the index are handled as if in a bidirectional
- * list, where the next pointers are stored in the original
- * random_access_index_ptr_array and the prev pointers are stored in
- * an auxiliary array. Rearranging of nodes in such a bidirectional list
- * is constant time. Once all the arrangements are performed (on destruction
- * time) the list is traversed in reverse order and
- * pointers are swapped and set accordingly so that they recover its
- * original semantics ( *(node->up())==node ) while retaining the
- * new order.
- */
-
-template<typename Allocator>
-class random_access_index_loader_base:private noncopyable
-{
-protected:
-  typedef random_access_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      Allocator,
-      char
-    >::type
-  >                                                 node_impl_type;
-  typedef typename node_impl_type::pointer          node_impl_pointer;
-  typedef random_access_index_ptr_array<Allocator>  ptr_array;
-
-  random_access_index_loader_base(const Allocator& al_,ptr_array& ptrs_):
-    al(al_),
-    ptrs(ptrs_),
-    header(*ptrs.end()),
-    prev_spc(al,0),
-    preprocessed(false)
-  {}
-
-  ~random_access_index_loader_base()
-  {
-    if(preprocessed)
-    {
-      node_impl_pointer n=header;
-      next(n)=n;
-
-      for(std::size_t i=ptrs.size();i--;){
-        n=prev(n);
-        std::size_t d=position(n);
-        if(d!=i){
-          node_impl_pointer m=prev(next_at(i));
-          std::swap(m->up(),n->up());
-          next_at(d)=next_at(i);
-          std::swap(prev_at(d),prev_at(i));
-        }
-        next(n)=n;
-      }
-    }
-  }
-
-  void rearrange(node_impl_pointer position_,node_impl_pointer x)
-  {
-    preprocess(); /* only incur this penalty if rearrange() is ever called */
-    if(position_==node_impl_pointer(0))position_=header;
-    next(prev(x))=next(x);
-    prev(next(x))=prev(x);
-    prev(x)=position_;
-    next(x)=next(position_);
-    next(prev(x))=prev(next(x))=x;
-  }
-
-private:
-  void preprocess()
-  {
-    if(!preprocessed){
-      /* get space for the auxiliary prev array */
-      auto_space<node_impl_pointer,Allocator> tmp(al,ptrs.size()+1);
-      prev_spc.swap(tmp);
-
-      /* prev_spc elements point to the prev nodes */
-      std::rotate_copy(
-        &*ptrs.begin(),&*ptrs.end(),&*ptrs.end()+1,&*prev_spc.data());
-
-      /* ptrs elements point to the next nodes */
-      std::rotate(&*ptrs.begin(),&*ptrs.begin()+1,&*ptrs.end()+1);
-
-      preprocessed=true;
-    }
-  }
-
-  std::size_t position(node_impl_pointer x)const
-  {
-    return (std::size_t)(x->up()-ptrs.begin());
-  }
-
-  node_impl_pointer& next_at(std::size_t n)const
-  {
-    return *ptrs.at(n);
-  }
-
-  node_impl_pointer& prev_at(std::size_t n)const
-  {
-    return *(prev_spc.data()+n);
-  }
-
-  node_impl_pointer& next(node_impl_pointer x)const
-  {
-    return *(x->up());
-  }
-
-  node_impl_pointer& prev(node_impl_pointer x)const
-  {
-    return prev_at(position(x));
-  }
-
-  Allocator                               al;
-  ptr_array&                              ptrs;
-  node_impl_pointer                       header;
-  auto_space<node_impl_pointer,Allocator> prev_spc;
-  bool                                    preprocessed;
-};
-
-template<typename Node,typename Allocator>
-class random_access_index_loader:
-  private random_access_index_loader_base<Allocator>
-{
-  typedef random_access_index_loader_base<Allocator> super;
-  typedef typename super::node_impl_pointer          node_impl_pointer;
-  typedef typename super::ptr_array                  ptr_array;
-
-public:
-  random_access_index_loader(const Allocator& al_,ptr_array& ptrs_):
-    super(al_,ptrs_)
-  {}
-
-  void rearrange(Node* position_,Node *x)
-  {
-    super::rearrange(
-      position_?position_->impl():node_impl_pointer(0),x->impl());
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_node.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_node.hpp
deleted file mode 100644
index ad61ea2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_node.hpp
+++ /dev/null
@@ -1,273 +0,0 @@
-/* Copyright 2003-2015 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_RND_INDEX_NODE_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RND_INDEX_NODE_HPP
-
-#if defined(_MSC_VER)
-#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/integer/common_factor_rt.hpp>
-#include <boost/multi_index/detail/raw_ptr.hpp>
-#include <cstddef>
-#include <functional>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename Allocator>
-struct random_access_index_node_impl
-{
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,random_access_index_node_impl
-  >::type::pointer                          pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,random_access_index_node_impl
-  >::type::const_pointer                    const_pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,pointer
-  >::type::pointer                          ptr_pointer;
-
-  ptr_pointer& up(){return up_;}
-  ptr_pointer  up()const{return up_;}
-
-  /* interoperability with rnd_node_iterator */
-
-  static void increment(pointer& x)
-  {
-    x=*(x->up()+1);
-  }
-
-  static void decrement(pointer& x)
-  {
-    x=*(x->up()-1);
-  }
-
-  static void advance(pointer& x,std::ptrdiff_t n)
-  {
-    x=*(x->up()+n);
-  }
-
-  static std::ptrdiff_t distance(pointer x,pointer y)
-  {
-    return y->up()-x->up();
-  }
-
-  /* algorithmic stuff */
-
-  static void relocate(ptr_pointer pos,ptr_pointer x)
-  {
-    pointer n=*x;
-    if(x<pos){
-      extract(x,pos);
-      *(pos-1)=n;
-      n->up()=pos-1;
-    }
-    else{
-      while(x!=pos){
-        *x=*(x-1);
-        (*x)->up()=x;
-        --x;
-      }
-      *pos=n;
-      n->up()=pos;
-    }
-  };
-
-  static void relocate(ptr_pointer pos,ptr_pointer first,ptr_pointer last)
-  {
-    ptr_pointer begin,middle,end;
-    if(pos<first){
-      begin=pos;
-      middle=first;
-      end=last;
-    }
-    else{
-      begin=first;
-      middle=last;
-      end=pos;
-    }
-
-    std::ptrdiff_t n=end-begin;
-    std::ptrdiff_t m=middle-begin;
-    std::ptrdiff_t n_m=n-m;
-    std::ptrdiff_t p=integer::gcd(n,m);
-
-    for(std::ptrdiff_t i=0;i<p;++i){
-      pointer tmp=begin[i];
-      for(std::ptrdiff_t j=i,k;;){
-        if(j<n_m)k=j+m;
-        else     k=j-n_m;
-        if(k==i){
-          *(begin+j)=tmp;
-          (*(begin+j))->up()=begin+j;
-          break;
-        }
-        else{
-          *(begin+j)=*(begin+k);
-          (*(begin+j))->up()=begin+j;
-        }
-
-        if(k<n_m)j=k+m;
-        else     j=k-n_m;
-        if(j==i){
-          *(begin+k)=tmp;
-          (*(begin+k))->up()=begin+k;
-          break;
-        }
-        else{
-          *(begin+k)=*(begin+j);
-          (*(begin+k))->up()=begin+k;
-        }
-      }
-    }
-  };
-
-  static void extract(ptr_pointer x,ptr_pointer pend)
-  {
-    --pend;
-    while(x!=pend){
-      *x=*(x+1);
-      (*x)->up()=x;
-      ++x;
-    }
-  }
-
-  static void transfer(
-    ptr_pointer pbegin0,ptr_pointer pend0,ptr_pointer pbegin1)
-  {
-    while(pbegin0!=pend0){
-      *pbegin1=*pbegin0++;
-      (*pbegin1)->up()=pbegin1;
-      ++pbegin1;
-    }
-  }
-
-  static void reverse(ptr_pointer pbegin,ptr_pointer pend)
-  {
-    std::ptrdiff_t d=(pend-pbegin)/2;
-    for(std::ptrdiff_t i=0;i<d;++i){
-      std::swap(*pbegin,*--pend);
-      (*pbegin)->up()=pbegin;
-      (*pend)->up()=pend;
-      ++pbegin;
-    }
-  }
-
-private:
-  ptr_pointer up_;
-};
-
-template<typename Super>
-struct random_access_index_node_trampoline:
-  random_access_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::type
-  >
-{
-  typedef random_access_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::type
-  > impl_type;
-};
-
-template<typename Super>
-struct random_access_index_node:
-  Super,random_access_index_node_trampoline<Super>
-{
-private:
-  typedef random_access_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;
-  typedef typename trampoline::ptr_pointer   impl_ptr_pointer;
-
-  impl_ptr_pointer& up(){return trampoline::up();}
-  impl_ptr_pointer  up()const{return trampoline::up();}
-
-  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 random_access_index_node* from_impl(impl_pointer x)
-  {
-    return
-      static_cast<random_access_index_node*>(
-        static_cast<trampoline*>(
-          raw_ptr<impl_type*>(x)));
-  }
-
-  static const random_access_index_node* from_impl(const_impl_pointer x)
-  {
-    return
-      static_cast<const random_access_index_node*>(
-        static_cast<const trampoline*>(
-          raw_ptr<const impl_type*>(x)));
-  }
-
-  /* interoperability with rnd_node_iterator */
-
-  static void increment(random_access_index_node*& x)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::increment(xi);
-    x=from_impl(xi);
-  }
-
-  static void decrement(random_access_index_node*& x)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::decrement(xi);
-    x=from_impl(xi);
-  }
-
-  static void advance(random_access_index_node*& x,std::ptrdiff_t n)
-  {
-    impl_pointer xi=x->impl();
-    trampoline::advance(xi,n);
-    x=from_impl(xi);
-  }
-
-  static std::ptrdiff_t distance(
-    random_access_index_node* x,random_access_index_node* y)
-  {
-    return trampoline::distance(x->impl(),y->impl());
-  }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_ops.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_ops.hpp
deleted file mode 100644
index f5e76e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_ops.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Copyright 2003-2015 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_RND_INDEX_OPS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RND_INDEX_OPS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/multi_index/detail/rnd_index_ptr_array.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Common code for random_access_index memfuns having templatized and
- * non-templatized versions.
- */
-
-template<typename Node,typename Allocator,typename Predicate>
-Node* random_access_index_remove(
-  random_access_index_ptr_array<Allocator>& ptrs,Predicate pred)
-{
-  typedef typename Node::value_type value_type;
-  typedef typename Node::impl_ptr_pointer impl_ptr_pointer;
-
-  impl_ptr_pointer first=ptrs.begin(),
-                   res=first,
-                   last=ptrs.end();
-  for(;first!=last;++first){
-    if(!pred(
-        const_cast<const value_type&>(Node::from_impl(*first)->value()))){
-      if(first!=res){
-        std::swap(*first,*res);
-        (*first)->up()=first;
-        (*res)->up()=res;
-      }
-      ++res;
-    }
-  }
-  return Node::from_impl(*res);
-}
-
-template<typename Node,typename Allocator,class BinaryPredicate>
-Node* random_access_index_unique(
-  random_access_index_ptr_array<Allocator>& ptrs,BinaryPredicate binary_pred)
-{
-  typedef typename Node::value_type       value_type;
-  typedef typename Node::impl_ptr_pointer impl_ptr_pointer;
-
-  impl_ptr_pointer first=ptrs.begin(),
-                   res=first,
-                   last=ptrs.end();
-  if(first!=last){
-    for(;++first!=last;){
-      if(!binary_pred(
-           const_cast<const value_type&>(Node::from_impl(*res)->value()),
-           const_cast<const value_type&>(Node::from_impl(*first)->value()))){
-        ++res;
-        if(first!=res){
-          std::swap(*first,*res);
-          (*first)->up()=first;
-          (*res)->up()=res;
-        }
-      }
-    }
-    ++res;
-  }
-  return Node::from_impl(*res);
-}
-
-template<typename Node,typename Allocator,typename Compare>
-void random_access_index_inplace_merge(
-  const Allocator& al,
-  random_access_index_ptr_array<Allocator>& ptrs,
-  BOOST_DEDUCED_TYPENAME Node::impl_ptr_pointer first1,Compare comp)
-{
-  typedef typename Node::value_type       value_type;
-  typedef typename Node::impl_pointer     impl_pointer;
-  typedef typename Node::impl_ptr_pointer impl_ptr_pointer;
-
-  auto_space<impl_pointer,Allocator> spc(al,ptrs.size());
-
-  impl_ptr_pointer first0=ptrs.begin(),
-                   last0=first1,
-                   last1=ptrs.end(),
-                   out=spc.data();
-  while(first0!=last0&&first1!=last1){
-    if(comp(
-        const_cast<const value_type&>(Node::from_impl(*first1)->value()),
-        const_cast<const value_type&>(Node::from_impl(*first0)->value()))){
-      *out++=*first1++;
-    }
-    else{
-      *out++=*first0++;
-    }
-  }
-  std::copy(&*first0,&*last0,&*out);
-  std::copy(&*first1,&*last1,&*out);
-
-  first1=ptrs.begin();
-  out=spc.data();
-  while(first1!=last1){
-    *first1=*out++;
-    (*first1)->up()=first1;
-    ++first1;
-  }
-}
-
-/* sorting */
-
-/* auxiliary stuff */
-
-template<typename Node,typename Compare>
-struct random_access_index_sort_compare
-{
-  typedef typename Node::impl_pointer first_argument_type;
-  typedef typename Node::impl_pointer second_argument_type;
-  typedef bool                        result_type;
-
-  random_access_index_sort_compare(Compare comp_=Compare()):comp(comp_){}
-
-  bool operator()(
-    typename Node::impl_pointer x,typename Node::impl_pointer y)const
-  {
-    typedef typename Node::value_type value_type;
-
-    return comp(
-      const_cast<const value_type&>(Node::from_impl(x)->value()),
-      const_cast<const value_type&>(Node::from_impl(y)->value()));
-  }
-
-private:
-  Compare comp;
-};
-
-template<typename Node,typename Allocator,class Compare>
-void random_access_index_sort(
-  const Allocator& al,
-  random_access_index_ptr_array<Allocator>& ptrs,
-  Compare comp)
-{
-  /* The implementation is extremely simple: an auxiliary
-   * array of pointers is sorted using stdlib facilities and
-   * then used to rearrange the index. This is suboptimal
-   * in space and time, but has some advantages over other
-   * possible approaches:
-   *   - Use std::stable_sort() directly on ptrs using some
-   *     special iterator in charge of maintaining pointers
-   *     and up() pointers in sync: we cannot guarantee
-   *     preservation of the container invariants in the face of
-   *     exceptions, if, for instance, std::stable_sort throws
-   *     when ptrs transitorily contains duplicate elements.
-   *   - Rewrite the internal algorithms of std::stable_sort
-   *     adapted for this case: besides being a fair amount of
-   *     work, making a stable sort compatible with Boost.MultiIndex
-   *     invariants (basically, no duplicates or missing elements
-   *     even if an exception is thrown) is complicated, error-prone
-   *     and possibly won't perform much better than the
-   *     solution adopted.
-   */
-
-  if(ptrs.size()<=1)return;
-
-  typedef typename Node::impl_pointer       impl_pointer;
-  typedef typename Node::impl_ptr_pointer   impl_ptr_pointer;
-  typedef random_access_index_sort_compare<
-    Node,Compare>                           ptr_compare;
-  
-  impl_ptr_pointer   first=ptrs.begin();
-  impl_ptr_pointer   last=ptrs.end();
-  auto_space<
-    impl_pointer,
-    Allocator>       spc(al,ptrs.size());
-  impl_ptr_pointer   buf=spc.data();
-
-  std::copy(&*first,&*last,&*buf);
-  std::stable_sort(&*buf,&*buf+ptrs.size(),ptr_compare(comp));
-
-  while(first!=last){
-    *first=*buf++;
-    (*first)->up()=first;
-    ++first;
-  }
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_ptr_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_ptr_array.hpp
deleted file mode 100644
index bae1c85..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_index_ptr_array.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Copyright 2003-2013 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_RND_INDEX_PTR_ARRAY_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RND_INDEX_PTR_ARRAY_HPP
-
-#if defined(_MSC_VER)
-#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/auto_space.hpp>
-#include <boost/multi_index/detail/rnd_index_node.hpp>
-#include <boost/noncopyable.hpp>
-#include <cstddef>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* pointer structure for use by random access indices */
-
-template<typename Allocator>
-class random_access_index_ptr_array:private noncopyable
-{
-  typedef random_access_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      Allocator,
-      char
-    >::type
-  >                                                     node_impl_type;
-
-public:
-  typedef typename node_impl_type::pointer              value_type;
-  typedef typename boost::detail::allocator::rebind_to<
-    Allocator,value_type
-  >::type::pointer                                      pointer;
-
-  random_access_index_ptr_array(
-    const Allocator& al,value_type end_,std::size_t sz):
-    size_(sz),
-    capacity_(sz),
-    spc(al,capacity_+1)
-  {
-    *end()=end_;
-    end_->up()=end();
-  }
-
-  std::size_t size()const{return size_;}
-  std::size_t capacity()const{return capacity_;}
-
-  void room_for_one()
-  {
-    if(size_==capacity_){
-      reserve(capacity_<=10?15:capacity_+capacity_/2);
-    }
-  }
-
-  void reserve(std::size_t c)
-  {
-    if(c>capacity_)set_capacity(c);
-  }
-
-  void shrink_to_fit()
-  {
-    if(capacity_>size_)set_capacity(size_);
-  }
-
-  pointer begin()const{return ptrs();}
-  pointer end()const{return ptrs()+size_;}
-  pointer at(std::size_t n)const{return ptrs()+n;}
-
-  void push_back(value_type x)
-  {
-    *(end()+1)=*end();
-    (*(end()+1))->up()=end()+1;
-    *end()=x;
-    (*end())->up()=end();
-    ++size_;
-  }
-
-  void erase(value_type x)
-  {
-    node_impl_type::extract(x->up(),end()+1);
-    --size_;
-  }
-
-  void clear()
-  {
-    *begin()=*end();
-    (*begin())->up()=begin();
-    size_=0;
-  }
-
-  void swap(random_access_index_ptr_array& x)
-  {
-    std::swap(size_,x.size_);
-    std::swap(capacity_,x.capacity_);
-    spc.swap(x.spc);
-  }
-
-private:
-  std::size_t                      size_;
-  std::size_t                      capacity_;
-  auto_space<value_type,Allocator> spc;
-
-  pointer ptrs()const
-  {
-    return spc.data();
-  }
-
-  void set_capacity(std::size_t c)
-  {
-    auto_space<value_type,Allocator> spc1(spc.get_allocator(),c+1);
-    node_impl_type::transfer(begin(),end()+1,spc1.data());
-    spc.swap(spc1);
-    capacity_=c;
-  }
-};
-
-template<typename Allocator>
-void swap(
-  random_access_index_ptr_array<Allocator>& x,
-  random_access_index_ptr_array<Allocator>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_node_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_node_iterator.hpp
deleted file mode 100644
index 4802613..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnd_node_iterator.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright 2003-2014 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_RND_NODE_ITERATOR_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RND_NODE_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-#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 random access iterators. */
-
-template<typename Node>
-class rnd_node_iterator:
-  public random_access_iterator_helper<
-    rnd_node_iterator<Node>,
-    typename Node::value_type,
-    std::ptrdiff_t,
-    const typename Node::value_type*,
-    const typename Node::value_type&>
-{
-public:
-  /* coverity[uninit_ctor]: suppress warning */
-  rnd_node_iterator(){}
-  explicit rnd_node_iterator(Node* node_):node(node_){}
-
-  const typename Node::value_type& operator*()const
-  {
-    return node->value();
-  }
-
-  rnd_node_iterator& operator++()
-  {
-    Node::increment(node);
-    return *this;
-  }
-
-  rnd_node_iterator& operator--()
-  {
-    Node::decrement(node);
-    return *this;
-  }
-
-  rnd_node_iterator& operator+=(std::ptrdiff_t n)
-  {
-    Node::advance(node,n);
-    return *this;
-  }
-
-  rnd_node_iterator& operator-=(std::ptrdiff_t n)
-  {
-    Node::advance(node,-n);
-    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 rnd_node_iterator<Node>& x,
-  const rnd_node_iterator<Node>& y)
-{
-  return x.get_node()==y.get_node();
-}
-
-template<typename Node>
-bool operator<(
-  const rnd_node_iterator<Node>& x,
-  const rnd_node_iterator<Node>& y)
-{
-  return Node::distance(x.get_node(),y.get_node())>0;
-}
-
-template<typename Node>
-std::ptrdiff_t operator-(
-  const rnd_node_iterator<Node>& x,
-  const rnd_node_iterator<Node>& y)
-{
-  return Node::distance(y.get_node(),x.get_node());
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnk_index_ops.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnk_index_ops.hpp
deleted file mode 100644
index 2756422..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/rnk_index_ops.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-/* Copyright 2003-2015 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_RNK_INDEX_OPS_HPP
-#define BOOST_MULTI_INDEX_DETAIL_RNK_INDEX_OPS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/mpl/and.hpp>
-#include <boost/multi_index/detail/promotes_arg.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* Common code for ranked_index memfuns having templatized and
- * non-templatized versions.
- */
-
-template<typename Pointer>
-inline std::size_t ranked_node_size(Pointer x)
-{
-  return x!=Pointer(0)?x->size:0;
-}
-
-template<typename Pointer>
-inline Pointer ranked_index_nth(std::size_t n,Pointer end_)
-{
-  Pointer top=end_->parent();
-  if(top==Pointer(0)||n>=top->size)return end_;
-
-  for(;;){
-    std::size_t s=ranked_node_size(top->left());
-    if(n==s)return top;
-    if(n<s)top=top->left();
-    else{
-      top=top->right();
-      n-=s+1;
-    }
-  }
-}
-
-template<typename Pointer>
-inline std::size_t ranked_index_rank(Pointer x,Pointer end_)
-{
-  Pointer top=end_->parent();
-  if(top==Pointer(0))return 0;
-  if(x==end_)return top->size;
-
-  std::size_t s=ranked_node_size(x->left());
-  while(x!=top){
-    Pointer z=x->parent();
-    if(x==z->right()){
-      s+=ranked_node_size(z->left())+1;
-    }
-    x=z;
-  }
-  return s;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::size_t ranked_index_find_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ranked_index_find_rank(
-    top,y,key,x,comp,
-    mpl::and_<
-      promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>,
-      promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey> >());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline std::size_t ranked_index_find_rank(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ranked_index_find_rank(top,y,key,x,comp,mpl::false_());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::size_t ranked_index_find_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp,mpl::false_)
-{
-  if(!top)return 0;
-
-  std::size_t s=top->size,
-              s0=s;
-  Node*       y0=y;
-
-  do{
-    if(!comp(key(top->value()),x)){
-      y=top;
-      s-=ranked_node_size(y->right())+1;
-      top=Node::from_impl(top->left());
-    }
-    else top=Node::from_impl(top->right());
-  }while(top);
-    
-  return (y==y0||comp(x,key(y->value())))?s0:s;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::size_t ranked_index_lower_bound_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ranked_index_lower_bound_rank(
-    top,y,key,x,comp,
-    promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey>());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline std::size_t ranked_index_lower_bound_rank(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ranked_index_lower_bound_rank(top,y,key,x,comp,mpl::false_());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::size_t ranked_index_lower_bound_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp,mpl::false_)
-{
-  if(!top)return 0;
-
-  std::size_t s=top->size;
-
-  do{
-    if(!comp(key(top->value()),x)){
-      y=top;
-      s-=ranked_node_size(y->right())+1;
-      top=Node::from_impl(top->left());
-    }
-    else top=Node::from_impl(top->right());
-  }while(top);
-
-  return s;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::size_t ranked_index_upper_bound_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ranked_index_upper_bound_rank(
-    top,y,key,x,comp,
-    promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline std::size_t ranked_index_upper_bound_rank(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ranked_index_upper_bound_rank(top,y,key,x,comp,mpl::false_());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::size_t ranked_index_upper_bound_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp,mpl::false_)
-{
-  if(!top)return 0;
-
-  std::size_t s=top->size;
-
-  do{
-    if(comp(x,key(top->value()))){
-      y=top;
-      s-=ranked_node_size(y->right())+1;
-      top=Node::from_impl(top->left());
-    }
-    else top=Node::from_impl(top->right());
-  }while(top);
-
-  return s;
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::pair<std::size_t,std::size_t> ranked_index_equal_range_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp)
-{
-  typedef typename KeyFromValue::result_type key_type;
-
-  return ranked_index_equal_range_rank(
-    top,y,key,x,comp,
-    mpl::and_<
-      promotes_1st_arg<CompatibleCompare,CompatibleKey,key_type>,
-      promotes_2nd_arg<CompatibleCompare,key_type,CompatibleKey> >());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleCompare
->
-inline std::pair<std::size_t,std::size_t> ranked_index_equal_range_rank(
-  Node* top,Node* y,const KeyFromValue& key,
-  const BOOST_DEDUCED_TYPENAME KeyFromValue::result_type& x,
-  const CompatibleCompare& comp,mpl::true_)
-{
-  return ranked_index_equal_range_rank(top,y,key,x,comp,mpl::false_());
-}
-
-template<
-  typename Node,typename KeyFromValue,
-  typename CompatibleKey,typename CompatibleCompare
->
-inline std::pair<std::size_t,std::size_t> ranked_index_equal_range_rank(
-  Node* top,Node* y,const KeyFromValue& key,const CompatibleKey& x,
-  const CompatibleCompare& comp,mpl::false_)
-{
-  if(!top)return std::pair<std::size_t,std::size_t>(0,0);
-
-  std::size_t s=top->size;
-
-  do{
-    if(comp(key(top->value()),x)){
-      top=Node::from_impl(top->right());
-    }
-    else if(comp(x,key(top->value()))){
-      y=top;
-      s-=ranked_node_size(y->right())+1;
-      top=Node::from_impl(top->left());
-    }
-    else{
-      return std::pair<std::size_t,std::size_t>(
-        s-top->size+
-          ranked_index_lower_bound_rank(
-           Node::from_impl(top->left()),top,key,x,comp,mpl::false_()),
-        s-ranked_node_size(top->right())+
-          ranked_index_upper_bound_rank(
-            Node::from_impl(top->right()),y,key,x,comp,mpl::false_()));
-    }
-  }while(top);
-
-  return std::pair<std::size_t,std::size_t>(s,s);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/safe_mode.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/safe_mode.hpp
deleted file mode 100644
index 905270e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/safe_mode.hpp
+++ /dev/null
@@ -1,588 +0,0 @@
-/* Copyright 2003-2013 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)
-#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>
-#include <boost/serialization/version.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 */
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-namespace serialization{
-template<typename Iterator,typename Container>
-struct version<
-  boost::multi_index::safe_mode::safe_iterator<Iterator,Container>
->
-{
-  BOOST_STATIC_CONSTANT(
-    int,value=boost::serialization::version<Iterator>::value);
-};
-} /* namespace serialization */
-#endif
-
-} /* namespace boost */
-
-#endif /* BOOST_MULTI_INDEX_ENABLE_SAFE_MODE */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/scope_guard.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/scope_guard.hpp
deleted file mode 100644
index 116f8f5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/scope_guard.hpp
+++ /dev/null
@@ -1,453 +0,0 @@
-/* Copyright 2003-2013 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)
-#pragma once
-#endif
-
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/mpl/if.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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/seq_index_node.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/seq_index_node.hpp
deleted file mode 100644
index 85b345a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/seq_index_node.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/* Copyright 2003-2015 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)
-#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/raw_ptr.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
-  boost::detail::allocator::rebind_to<
-    Allocator,sequenced_index_node_impl
-  >::type::pointer                      pointer;
-  typedef typename
-  boost::detail::allocator::rebind_to<
-    Allocator,sequenced_index_node_impl
-  >::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:
-  sequenced_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::type
-  >
-{
-  typedef sequenced_index_node_impl<
-    typename boost::detail::allocator::rebind_to<
-      typename Super::allocator_type,
-      char
-    >::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*>(
-          raw_ptr<impl_type*>(x)));
-  }
-
-  static const sequenced_index_node* from_impl(const_impl_pointer x)
-  {
-    return
-      static_cast<const sequenced_index_node*>(
-        static_cast<const trampoline*>(
-          raw_ptr<const impl_type*>(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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/seq_index_ops.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/seq_index_ops.hpp
deleted file mode 100644
index a3c2bc1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/seq_index_ops.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-/* Copyright 2003-2015 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)
-#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)
-{
-  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=
-    *reinterpret_cast<impl_type*>(&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=
-    reinterpret_cast<impl_type*>(&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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/serialization_version.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/serialization_version.hpp
deleted file mode 100644
index ccd8bb4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/serialization_version.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2003-2013 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)
-#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 */
-
-namespace serialization {
-template<typename T>
-struct version<boost::multi_index::detail::serialization_version<T> >
-{
-  BOOST_STATIC_CONSTANT(int,value=version<T>::value);
-};
-} /* namespace serialization */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/uintptr_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/uintptr_type.hpp
deleted file mode 100644
index 9c92d01..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/uintptr_type.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/unbounded.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/unbounded.hpp
deleted file mode 100644
index dc09be1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/unbounded.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright 2003-2013 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)
-#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() */
-
-/* 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();
-}
-
-/* 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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/value_compare.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/value_compare.hpp
deleted file mode 100644
index ac42e87..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/value_compare.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2003-2015 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)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/call_traits.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename Value,typename KeyFromValue,typename Compare>
-struct value_comparison
-{
-  typedef Value first_argument_type;
-  typedef Value second_argument_type;
-  typedef bool  result_type;
-
-  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/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/vartempl_support.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/vartempl_support.hpp
deleted file mode 100644
index 06ff430..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/detail/vartempl_support.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/* Copyright 2003-2013 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_VARTEMPL_SUPPORT_HPP
-#define BOOST_MULTI_INDEX_DETAIL_VARTEMPL_SUPPORT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-/* Utilities for emulation of variadic template functions. Variadic packs are
- * replaced by lists of BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS parameters:
- *
- *   - typename... Args            --> BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK
- *   - Args&&... args              --> BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK
- *   - std::forward<Args>(args)... --> BOOST_MULTI_INDEX_FORWARD_PARAM_PACK
- *
- * Forwarding emulated with Boost.Move. A template functions foo_imp
- * defined in such way accepts *exactly* BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS
- * arguments: variable number of arguments is emulated by providing a set of
- * overloads foo forwarding to foo_impl with
- * 
- *   BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL
- *   BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG (initial extra arg)
- *
- * which fill the extra args with boost::multi_index::detail::noarg's.
- * boost::multi_index::detail::vartempl_placement_new works the opposite
- * way: it acceps a full a pointer x to Value and a
- * BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK and forwards to
- * new(x) Value(args) where args is the argument pack after discarding
- * noarg's.
- *
- * Emulation decays to the real thing when the compiler supports variadic
- * templates and move semantics natively.
- */
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)||\
-    defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#include <boost/move/core.hpp>
-#include <boost/move/utility.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/preprocessor/logical/and.hpp>
-#include <boost/preprocessor/punctuation/comma.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-
-#if !defined(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS)
-#define BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS 5
-#endif
-
-#define BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK                        \
-BOOST_PP_ENUM_PARAMS(                                                \
-  BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,typename T)
-
-#define BOOST_MULTI_INDEX_VARTEMPL_ARG(z,n,_)                        \
-BOOST_FWD_REF(BOOST_PP_CAT(T,n)) BOOST_PP_CAT(t,n)
-
-#define BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK                        \
-BOOST_PP_ENUM(                                                       \
-  BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,                             \
-  BOOST_MULTI_INDEX_VARTEMPL_ARG,~)
-
-#define BOOST_MULTI_INDEX_VARTEMPL_FORWARD_ARG(z,n,_)                \
-boost::forward<BOOST_PP_CAT(T,n)>(BOOST_PP_CAT(t,n))
-
-#define BOOST_MULTI_INDEX_FORWARD_PARAM_PACK                         \
-BOOST_PP_ENUM(                                                       \
-  BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,                             \
-  BOOST_MULTI_INDEX_VARTEMPL_FORWARD_ARG,~)
-
-namespace boost{namespace multi_index{namespace detail{
-struct noarg{};
-}}}
-
-/* call vartempl function without args */
-
-#define BOOST_MULTI_INDEX_NULL_PARAM_PACK                            \
-BOOST_PP_ENUM_PARAMS(                                                \
-  BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,                             \
-  boost::multi_index::detail::noarg() BOOST_PP_INTERCEPT)
-
-#define BOOST_MULTI_INDEX_TEMPLATE_N(n)                              \
-template<BOOST_PP_ENUM_PARAMS(n,typename T)>
-
-#define BOOST_MULTI_INDEX_TEMPLATE_0(n)
-
-#define BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_AUX(z,n,data)        \
-BOOST_PP_IF(n,                                                       \
-  BOOST_MULTI_INDEX_TEMPLATE_N,                                      \
-  BOOST_MULTI_INDEX_TEMPLATE_0)(n)                                   \
-BOOST_PP_SEQ_ELEM(0,data) /* ret */                                  \
-BOOST_PP_SEQ_ELEM(1,data) /* name_from */ (                          \
-  BOOST_PP_ENUM(n,BOOST_MULTI_INDEX_VARTEMPL_ARG,~))                 \
-{                                                                    \
-  return BOOST_PP_SEQ_ELEM(2,data) /* name_to */ (                   \
-    BOOST_PP_ENUM(n,BOOST_MULTI_INDEX_VARTEMPL_FORWARD_ARG,~)        \
-    BOOST_PP_COMMA_IF(                                               \
-      BOOST_PP_AND(                                                  \
-        n,BOOST_PP_SUB(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,n)))    \
-    BOOST_PP_ENUM_PARAMS(                                            \
-      BOOST_PP_SUB(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,n),         \
-      boost::multi_index::detail::noarg() BOOST_PP_INTERCEPT)        \
-  );                                                                 \
-}
-
-#define BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(                     \
-  ret,name_from,name_to)                                             \
-BOOST_PP_REPEAT_FROM_TO(                                             \
-  0,BOOST_PP_ADD(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,1),           \
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_AUX,                       \
-  (ret)(name_from)(name_to))
-
-#define BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG_AUX(       \
-  z,n,data)                                                          \
-BOOST_PP_IF(n,                                                       \
-  BOOST_MULTI_INDEX_TEMPLATE_N,                                      \
-  BOOST_MULTI_INDEX_TEMPLATE_0)(n)                                   \
-BOOST_PP_SEQ_ELEM(0,data) /* ret */                                  \
-BOOST_PP_SEQ_ELEM(1,data) /* name_from */ (                          \
-  BOOST_PP_SEQ_ELEM(3,data) BOOST_PP_SEQ_ELEM(4,data) /* extra arg */\
-  BOOST_PP_COMMA_IF(n)                                               \
-  BOOST_PP_ENUM(n,BOOST_MULTI_INDEX_VARTEMPL_ARG,~))                 \
-{                                                                    \
-  return BOOST_PP_SEQ_ELEM(2,data) /* name_to */ (                   \
-    BOOST_PP_SEQ_ELEM(4,data) /* extra_arg_name */                   \
-    BOOST_PP_COMMA_IF(n)                                             \
-    BOOST_PP_ENUM(n,BOOST_MULTI_INDEX_VARTEMPL_FORWARD_ARG,~)        \
-    BOOST_PP_COMMA_IF(                                               \
-      BOOST_PP_SUB(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,n))         \
-    BOOST_PP_ENUM_PARAMS(                                            \
-      BOOST_PP_SUB(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,n),         \
-      boost::multi_index::detail::noarg() BOOST_PP_INTERCEPT)        \
-  );                                                                 \
-}
-
-#define BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG(           \
-  ret,name_from,name_to,extra_arg_type,extra_arg_name)               \
-BOOST_PP_REPEAT_FROM_TO(                                             \
-  0,BOOST_PP_ADD(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,1),           \
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG_AUX,             \
-  (ret)(name_from)(name_to)(extra_arg_type)(extra_arg_name))
-
-namespace boost{
-  
-namespace multi_index{
-  
-namespace detail{
-
-#define BOOST_MULTI_INDEX_VARTEMPL_TO_PLACEMENT_NEW_AUX(z,n,name)    \
-template<                                                            \
-  typename Value                                                     \
-  BOOST_PP_COMMA_IF(n)                                               \
-  BOOST_PP_ENUM_PARAMS(n,typename T)                                 \
->                                                                    \
-Value* name(                                                         \
-  Value* x                                                           \
-  BOOST_PP_COMMA_IF(n)                                               \
-  BOOST_PP_ENUM(n,BOOST_MULTI_INDEX_VARTEMPL_ARG,~)                  \
-  BOOST_PP_COMMA_IF(                                                 \
-    BOOST_PP_SUB(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,n))           \
-  BOOST_PP_ENUM_PARAMS(                                              \
-    BOOST_PP_SUB(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,n),           \
-    BOOST_FWD_REF(noarg) BOOST_PP_INTERCEPT))                        \
-{                                                                    \
-  return new(x) Value(                                               \
-    BOOST_PP_ENUM(n,BOOST_MULTI_INDEX_VARTEMPL_FORWARD_ARG,~));      \
-}
-
-#define BOOST_MULTI_INDEX_VARTEMPL_TO_PLACEMENT_NEW(name)            \
-BOOST_PP_REPEAT_FROM_TO(                                             \
-  0,BOOST_PP_ADD(BOOST_MULTI_INDEX_LIMIT_VARTEMPL_ARGS,1),           \
-  BOOST_MULTI_INDEX_VARTEMPL_TO_PLACEMENT_NEW_AUX,                   \
-  name)
-
-BOOST_MULTI_INDEX_VARTEMPL_TO_PLACEMENT_NEW(vartempl_placement_new)
-
-#undef BOOST_MULTI_INDEX_VARTEMPL_TO_PLACEMENT_NEW_AUX
-#undef BOOST_MULTI_INDEX_VARTEMPL_TO_PLACEMENT_NEW
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#else
-
-/* native variadic templates support */
-
-#include <utility>
-
-#define BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK typename... Args
-#define BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK Args&&... args
-#define BOOST_MULTI_INDEX_FORWARD_PARAM_PACK  std::forward<Args>(args)...
-#define BOOST_MULTI_INDEX_NULL_PARAM_PACK
-
-#define BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(                     \
-  ret,name_from,name_to)                                             \
-template<typename... Args> ret name_from(Args&&... args)             \
-{                                                                    \
-  return name_to(std::forward<Args>(args)...);                       \
-}
-
-#define BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG(           \
-  ret,name_from,name_to,extra_arg_type,extra_arg_name)               \
-template<typename... Args> ret name_from(                            \
-  extra_arg_type extra_arg_name,Args&&... args)                      \
-{                                                                    \
-  return name_to(extra_arg_name,std::forward<Args>(args)...);        \
-}
-
-namespace boost{
-  
-namespace multi_index{
-  
-namespace detail{
-
-template<typename Value,typename... Args>
-Value* vartempl_placement_new(Value*x,Args&&... args)
-{
-  return new(x) Value(std::forward<Args>(args)...);
-}
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/global_fun.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/global_fun.hpp
deleted file mode 100644
index 2c13769..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/global_fun.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright 2003-2015 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_GLOBAL_FUN_HPP
-#define BOOST_MULTI_INDEX_GLOBAL_FUN_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_const.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/enable_if.hpp>
-
-#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{
-
-/* global_fun is a read-only key extractor from Value based on a given global
- * (or static member) function with signature:
- *
- *   Type f([const] Value [&]);
- *
- * Additionally, global_fun  and const_global_fun are overloaded to support
- * referece_wrappers of Value and "chained pointers" to Value'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 unique_ptr<T*>.)
- */
-
-template<class Value,typename Type,Type (*PtrToFunction)(Value)>
-struct const_ref_global_fun_base
-{
-  typedef typename remove_reference<Type>::type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,Value>,Type>::type
-#else
-  Type
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type operator()(Value x)const
-  {
-    return PtrToFunction(x);
-  }
-
-  Type operator()(
-    const reference_wrapper<
-      typename remove_reference<Value>::type>& x)const
-  { 
-    return operator()(x.get());
-  }
-
-  Type operator()(
-    const reference_wrapper<
-      typename remove_const<
-        typename remove_reference<Value>::type>::type>& x
-
-#if BOOST_WORKAROUND(BOOST_MSVC,==1310)
-/* http://lists.boost.org/Archives/boost/2015/10/226135.php */
-    ,int=0
-#endif
-
-  )const
-  { 
-    return operator()(x.get());
-  }
-};
-
-template<class Value,typename Type,Type (*PtrToFunction)(Value)>
-struct non_const_ref_global_fun_base
-{
-  typedef typename remove_reference<Type>::type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<ChainedPtr&,Value>,Type>::type
-#else
-  Type
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type operator()(Value x)const
-  {
-    return PtrToFunction(x);
-  }
-
-  Type operator()(
-    const reference_wrapper<
-      typename remove_reference<Value>::type>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-template<class Value,typename Type,Type (*PtrToFunction)(Value)>
-struct non_ref_global_fun_base
-{
-  typedef typename remove_reference<Type>::type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<const ChainedPtr&,const Value&>,Type>::type
-#else
-  Type
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type operator()(const Value& x)const
-  {
-    return PtrToFunction(x);
-  }
-
-  Type operator()(const reference_wrapper<const Value>& x)const
-  { 
-    return operator()(x.get());
-  }
-
-  Type operator()(
-    const reference_wrapper<typename remove_const<Value>::type>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-} /* namespace multi_index::detail */
-
-template<class Value,typename Type,Type (*PtrToFunction)(Value)>
-struct global_fun:
-  mpl::if_c<
-    is_reference<Value>::value,
-    typename mpl::if_c<
-      is_const<typename remove_reference<Value>::type>::value,
-      detail::const_ref_global_fun_base<Value,Type,PtrToFunction>,
-      detail::non_const_ref_global_fun_base<Value,Type,PtrToFunction>
-    >::type,
-    detail::non_ref_global_fun_base<Value,Type,PtrToFunction>
-  >::type
-{
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/hashed_index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/hashed_index.hpp
deleted file mode 100644
index 352d0c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/hashed_index.hpp
+++ /dev/null
@@ -1,1725 +0,0 @@
-/* Copyright 2003-2015 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_HASHED_INDEX_HPP
-#define BOOST_MULTI_INDEX_HASHED_INDEX_HPP
-
-#if defined(_MSC_VER)
-#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/allocator_utilities.hpp>
-#include <boost/detail/no_exceptions_support.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/foreach_fwd.hpp>
-#include <boost/limits.hpp>
-#include <boost/move/core.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/auto_space.hpp>
-#include <boost/multi_index/detail/bucket_array.hpp>
-#include <boost/multi_index/detail/do_not_copy_elements_tag.hpp>
-#include <boost/multi_index/detail/hash_index_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/promotes_arg.hpp>
-#include <boost/multi_index/detail/safe_mode.hpp>
-#include <boost/multi_index/detail/scope_guard.hpp>
-#include <boost/multi_index/detail/vartempl_support.hpp>
-#include <boost/multi_index/hashed_index_fwd.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <cmath>
-#include <cstddef>
-#include <functional>
-#include <iterator>
-#include <utility>
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/serialization/nvp.hpp>
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-#define BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT_OF(x)                 \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(x,&hashed_index::check_invariant_);               \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#define BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT                       \
-  BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT_OF(*this)
-#else
-#define BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT_OF(x)
-#define BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* hashed_index adds a layer of hashed 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
- * Category tags defined in hash_index_node.hpp.
- */
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-class hashed_index:
-  BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  ,public safe_mode::safe_container<
-    hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category> >
-#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 hashed_index_node<
-    typename super::node_type,Category>              node_type;
-
-private:
-  typedef typename node_type::node_alg               node_alg;
-  typedef typename node_type::impl_type              node_impl_type;
-  typedef typename node_impl_type::pointer           node_impl_pointer;
-  typedef typename node_impl_type::base_pointer      node_impl_base_pointer;
-  typedef bucket_array<
-    typename super::final_allocator_type>            bucket_array_type;
-
-public:
-  /* types */
-
-  typedef typename KeyFromValue::result_type         key_type;
-  typedef typename node_type::value_type             value_type;
-  typedef KeyFromValue                               key_from_value;
-  typedef Hash                                       hasher;
-  typedef Pred                                       key_equal;
-  typedef tuple<std::size_t,
-    key_from_value,hasher,key_equal>                 ctor_args;
-  typedef typename super::final_allocator_type       allocator_type;
-  typedef typename allocator_type::pointer           pointer;
-  typedef typename allocator_type::const_pointer     const_pointer;
-  typedef typename allocator_type::reference         reference;
-  typedef typename allocator_type::const_reference   const_reference;
-  typedef std::size_t                                size_type;      
-  typedef std::ptrdiff_t                             difference_type;
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  typedef safe_mode::safe_iterator<
-    hashed_index_iterator<
-      node_type,bucket_array_type,
-      hashed_index_global_iterator_tag>,
-    hashed_index>                                    iterator;
-#else
-  typedef hashed_index_iterator<
-    node_type,bucket_array_type,
-    hashed_index_global_iterator_tag>                iterator;
-#endif
-
-  typedef iterator                                   const_iterator;
-
-  typedef hashed_index_iterator<
-    node_type,bucket_array_type,
-    hashed_index_local_iterator_tag>                 local_iterator;
-  typedef local_iterator                             const_local_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,
-    hashed_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)
-  typedef safe_mode::safe_container<
-    hashed_index>                             safe_super;
-#endif
-
-  typedef typename call_traits<value_type>::param_type value_param_type;
-  typedef typename call_traits<
-    key_type>::param_type                              key_param_type;
-
-  /* Needed to avoid commas in BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL
-   * expansion.
-   */
-
-  typedef std::pair<iterator,bool>                     emplace_return_type;
-
-public:
-
-  /* construct/destroy/copy
-   * Default and copy ctors are in the protected section as indices are
-   * not supposed to be created on their own. No range ctor either.
-   */
-
-  hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& operator=(
-    const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x)
-  {
-    this->final()=x.final();
-    return *this;
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& operator=(
-    std::initializer_list<value_type> list)
-  {
-    this->final()=list;
-    return *this;
-  }
-#endif
-
-  allocator_type get_allocator()const BOOST_NOEXCEPT
-  {
-    return this->final().get_allocator();
-  }
-
-  /* size and capacity */
-
-  bool      empty()const BOOST_NOEXCEPT{return this->final_empty_();}
-  size_type size()const BOOST_NOEXCEPT{return this->final_size_();}
-  size_type max_size()const BOOST_NOEXCEPT{return this->final_max_size_();}
-
-  /* iterators */
-
-  iterator begin()BOOST_NOEXCEPT
-    {return make_iterator(node_type::from_impl(header()->next()->prior()));}
-  const_iterator begin()const BOOST_NOEXCEPT
-    {return make_iterator(node_type::from_impl(header()->next()->prior()));}
-  iterator       end()BOOST_NOEXCEPT{return make_iterator(header());}
-  const_iterator end()const BOOST_NOEXCEPT{return make_iterator(header());}
-  const_iterator cbegin()const BOOST_NOEXCEPT{return begin();}
-  const_iterator cend()const BOOST_NOEXCEPT{return end();}
-
-  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));
-  }
-
-  /* modifiers */
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(
-    emplace_return_type,emplace,emplace_impl)
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG(
-    iterator,emplace_hint,emplace_hint_impl,iterator,position)
-
-  std::pair<iterator,bool> insert(const value_type& x)
-  {
-    BOOST_MULTI_INDEX_HASHED_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);
-  }
-
-  std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
-  {
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_rv_(x);
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  iterator insert(iterator position,const value_type& x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_HASHED_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);
-  }
-    
-  iterator insert(iterator position,BOOST_RV_REF(value_type) x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_rv_(
-      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_HASHED_INDEX_CHECK_INVARIANT;
-    for(;first!=last;++first)this->final_insert_ref_(*first);
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  void insert(std::initializer_list<value_type> list)
-  {
-    insert(list.begin(),list.end());
-  }
-#endif
-
-  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_HASHED_INDEX_CHECK_INVARIANT;
-    this->final_erase_(static_cast<final_node_type*>(position++.get_node()));
-    return position;
-  }
-
-  size_type erase(key_param_type k)
-  {
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-
-    std::size_t buc=buckets.position(hash_(k));
-    for(node_impl_pointer x=buckets.at(buc)->prior();
-        x!=node_impl_pointer(0);x=node_alg::next_to_inspect(x)){
-      if(eq_(k,key(node_type::from_impl(x)->value()))){
-        node_impl_pointer y=end_of_range(x);
-        size_type         s=0;
-        do{
-          node_impl_pointer z=node_alg::after(x);
-          this->final_erase_(
-            static_cast<final_node_type*>(node_type::from_impl(x)));
-          x=z;
-          ++s;
-        }while(x!=y);
-        return s;
-      }
-    }
-    return 0;
-  }
-
-  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_HASHED_INDEX_CHECK_INVARIANT;
-    while(first!=last){
-      first=erase(first);
-    }
-    return first;
-  }
-
-  bool replace(iterator position,const value_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_HASHED_INDEX_CHECK_INVARIANT;
-    return this->final_replace_(
-      x,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  bool replace(iterator position,BOOST_RV_REF(value_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_HASHED_INDEX_CHECK_INVARIANT;
-    return this->final_replace_rv_(
-      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_HASHED_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_HASHED_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_HASHED_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_HASHED_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 clear()BOOST_NOEXCEPT
-  {
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    this->final_clear_();
-  }
-
-  void swap(hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x)
-  {
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT_OF(x);
-    this->final_swap_(x.final());
-  }
-
-  /* observers */
-
-  key_from_value key_extractor()const{return key;}
-  hasher         hash_function()const{return hash_;}
-  key_equal      key_eq()const{return eq_;}
-  
-  /* lookup */
-
-  /* Internally, these ops rely on const_iterator being the same
-   * type as iterator.
-   */
-
-  /* Implementation note: When CompatibleKey is consistently promoted to
-   * KeyFromValue::result_type for equality comparison, the promotion is made
-   * once in advance to increase efficiency.
-   */
-
-  template<typename CompatibleKey>
-  iterator find(const CompatibleKey& k)const
-  {
-    return find(k,hash_,eq_);
-  }
-
-  template<
-    typename CompatibleKey,typename CompatibleHash,typename CompatiblePred
-  >
-  iterator find(
-    const CompatibleKey& k,
-    const CompatibleHash& hash,const CompatiblePred& eq)const
-  {
-    return find(
-      k,hash,eq,promotes_1st_arg<CompatiblePred,CompatibleKey,key_type>());
-  }
-
-  template<typename CompatibleKey>
-  size_type count(const CompatibleKey& k)const
-  {
-    return count(k,hash_,eq_);
-  }
-
-  template<
-    typename CompatibleKey,typename CompatibleHash,typename CompatiblePred
-  >
-  size_type count(
-    const CompatibleKey& k,
-    const CompatibleHash& hash,const CompatiblePred& eq)const
-  {
-    return count(
-      k,hash,eq,promotes_1st_arg<CompatiblePred,CompatibleKey,key_type>());
-  }
-
-  template<typename CompatibleKey>
-  std::pair<iterator,iterator> equal_range(const CompatibleKey& k)const
-  {
-    return equal_range(k,hash_,eq_);
-  }
-
-  template<
-    typename CompatibleKey,typename CompatibleHash,typename CompatiblePred
-  >
-  std::pair<iterator,iterator> equal_range(
-    const CompatibleKey& k,
-    const CompatibleHash& hash,const CompatiblePred& eq)const
-  {
-    return equal_range(
-      k,hash,eq,promotes_1st_arg<CompatiblePred,CompatibleKey,key_type>());
-  }
-
-  /* bucket interface */
-
-  size_type bucket_count()const BOOST_NOEXCEPT{return buckets.size();}
-  size_type max_bucket_count()const BOOST_NOEXCEPT{return static_cast<size_type>(-1);}
-
-  size_type bucket_size(size_type n)const
-  {
-    size_type res=0;
-    for(node_impl_pointer x=buckets.at(n)->prior();
-        x!=node_impl_pointer(0);x=node_alg::after_local(x)){
-      ++res;
-    }
-    return res;
-  }
-
-  size_type bucket(key_param_type k)const
-  {
-    return buckets.position(hash_(k));
-  }
-
-  local_iterator begin(size_type n)
-  {
-    return const_cast<const hashed_index*>(this)->begin(n);
-  }
-
-  const_local_iterator begin(size_type n)const
-  {
-    node_impl_pointer x=buckets.at(n)->prior();
-    if(x==node_impl_pointer(0))return end(n);
-    return make_local_iterator(node_type::from_impl(x));
-  }
-
-  local_iterator end(size_type n)
-  {
-    return const_cast<const hashed_index*>(this)->end(n);
-  }
-
-  const_local_iterator end(size_type)const
-  {
-    return make_local_iterator(0);
-  }
-
-  const_local_iterator cbegin(size_type n)const{return begin(n);}
-  const_local_iterator cend(size_type n)const{return end(n);}
-
-  local_iterator local_iterator_to(const value_type& x)
-  {
-    return make_local_iterator(node_from_value<node_type>(&x));
-  }
-
-  const_local_iterator local_iterator_to(const value_type& x)const
-  {
-    return make_local_iterator(node_from_value<node_type>(&x));
-  }
-
-  /* hash policy */
-
-  float load_factor()const BOOST_NOEXCEPT
-    {return static_cast<float>(size())/bucket_count();}
-  float max_load_factor()const BOOST_NOEXCEPT{return mlf;}
-  void  max_load_factor(float z){mlf=z;calculate_max_load();}
-
-  void rehash(size_type n)
-  {
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    if(size()<=max_load&&n<=bucket_count())return;
-
-    size_type bc =(std::numeric_limits<size_type>::max)();
-    float     fbc=static_cast<float>(1+size()/mlf);
-    if(bc>fbc){
-      bc=static_cast<size_type>(fbc);
-      if(bc<n)bc=n;
-    }
-    unchecked_rehash(bc);
-  }
-
-  void reserve(size_type n)
-  {
-    rehash(static_cast<size_type>(std::ceil(static_cast<double>(n)/mlf)));
-  }
-
-BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
-  hashed_index(const ctor_args_list& args_list,const allocator_type& al):
-    super(args_list.get_tail(),al),
-    key(tuples::get<1>(args_list.get_head())),
-    hash_(tuples::get<2>(args_list.get_head())),
-    eq_(tuples::get<3>(args_list.get_head())),
-    buckets(al,header()->impl(),tuples::get<0>(args_list.get_head())),
-    mlf(1.0f)
-  {
-    calculate_max_load();
-  }
-
-  hashed_index(
-    const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x):
-    super(x),
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super(),
-#endif
-
-    key(x.key),
-    hash_(x.hash_),
-    eq_(x.eq_),
-    buckets(x.get_allocator(),header()->impl(),x.buckets.size()),
-    mlf(x.mlf),
-    max_load(x.max_load)
-  {
-    /* Copy ctor just takes the internal configuration objects from x. The rest
-     * is done in subsequent call to copy_().
-     */
-  }
-
-  hashed_index(
-    const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-    do_not_copy_elements_tag):
-    super(x,do_not_copy_elements_tag()),
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super(),
-#endif
-
-    key(x.key),
-    hash_(x.hash_),
-    eq_(x.eq_),
-    buckets(x.get_allocator(),header()->impl(),0),
-    mlf(1.0f)
-  {
-     calculate_max_load();
-  }
-
-  ~hashed_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<hashed_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
-
-  local_iterator make_local_iterator(node_type* node)
-  {
-    return local_iterator(node);
-  }
-
-  const_local_iterator make_local_iterator(node_type* node)const
-  {
-    return const_local_iterator(node);
-  }
-
-  void copy_(
-    const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-    const copy_map_type& map)
-  {
-    copy_(x,map,Category());
-  }
-
-  void copy_(
-    const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-    const copy_map_type& map,hashed_unique_tag)
-  {
-    if(x.size()!=0){
-      node_impl_pointer end_org=x.header()->impl(),
-                        org=end_org,
-                        cpy=header()->impl();
-      do{
-        node_impl_pointer prev_org=org->prior(),
-                          prev_cpy=
-          static_cast<node_type*>(map.find(static_cast<final_node_type*>(
-            node_type::from_impl(prev_org))))->impl();
-        cpy->prior()=prev_cpy;
-        if(node_alg::is_first_of_bucket(org)){
-          node_impl_base_pointer buc_org=prev_org->next(),
-                                 buc_cpy=
-            buckets.begin()+(buc_org-x.buckets.begin());
-          prev_cpy->next()=buc_cpy;
-          buc_cpy->prior()=cpy;
-        }
-        else{
-          prev_cpy->next()=node_impl_type::base_pointer_from(cpy);
-        }
-        org=prev_org;
-        cpy=prev_cpy;
-      }while(org!=end_org);
-    }
-
-    super::copy_(x,map);
-  }
-  
-  void copy_(
-    const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-    const copy_map_type& map,hashed_non_unique_tag)
-  {
-    if(x.size()!=0){
-      node_impl_pointer end_org=x.header()->impl(),
-                        org=end_org,
-                        cpy=header()->impl();
-      do{
-        node_impl_pointer next_org=node_alg::after(org),
-                          next_cpy=
-          static_cast<node_type*>(map.find(static_cast<final_node_type*>(
-            node_type::from_impl(next_org))))->impl();
-        if(node_alg::is_first_of_bucket(next_org)){
-          node_impl_base_pointer buc_org=org->next(),
-                                 buc_cpy=
-            buckets.begin()+(buc_org-x.buckets.begin());
-          cpy->next()=buc_cpy;
-          buc_cpy->prior()=next_cpy;
-          next_cpy->prior()=cpy;
-        }
-        else{
-          if(org->next()==node_impl_type::base_pointer_from(next_org)){
-            cpy->next()=node_impl_type::base_pointer_from(next_cpy);
-          }
-          else{
-            cpy->next()=
-              node_impl_type::base_pointer_from(
-                static_cast<node_type*>(map.find(static_cast<final_node_type*>(
-                  node_type::from_impl(
-                    node_impl_type::pointer_from(org->next())))))->impl());
-          }
-
-          if(next_org->prior()!=org){
-            next_cpy->prior()=
-              static_cast<node_type*>(map.find(static_cast<final_node_type*>(
-                node_type::from_impl(next_org->prior()))))->impl();
-          }
-          else{
-            next_cpy->prior()=cpy;
-          }
-        }
-        org=next_org;
-        cpy=next_cpy;
-      }while(org!=end_org);
-    }
-
-    super::copy_(x,map);
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,final_node_type*& x,Variant variant)
-  {
-    reserve_for_insert(size()+1);
-
-    std::size_t buc=find_bucket(v);
-    link_info   pos(buckets.at(buc));
-    if(!link_point(v,pos)){
-      return static_cast<final_node_type*>(
-        node_type::from_impl(node_impl_type::pointer_from(pos)));
-    }
-
-    final_node_type* res=super::insert_(v,x,variant);
-    if(res==x)link(static_cast<node_type*>(x),pos);
-    return res;
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,node_type* position,final_node_type*& x,Variant variant)
-  {
-    reserve_for_insert(size()+1);
-
-    std::size_t buc=find_bucket(v);
-    link_info   pos(buckets.at(buc));
-    if(!link_point(v,pos)){
-      return static_cast<final_node_type*>(
-        node_type::from_impl(node_impl_type::pointer_from(pos)));
-    }
-
-    final_node_type* res=super::insert_(v,position,x,variant);
-    if(res==x)link(static_cast<node_type*>(x),pos);
-    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_()
-  {
-    delete_all_nodes_(Category());
-  }
-
-  void delete_all_nodes_(hashed_unique_tag)
-  {
-    for(node_impl_pointer x_end=header()->impl(),x=x_end->prior();x!=x_end;){
-      node_impl_pointer y=x->prior();
-      this->final_delete_node_(
-        static_cast<final_node_type*>(node_type::from_impl(x)));
-      x=y;
-    }
-  }
-
-  void delete_all_nodes_(hashed_non_unique_tag)
-  {
-    for(node_impl_pointer x_end=header()->impl(),x=x_end->prior();x!=x_end;){
-      node_impl_pointer y=x->prior();
-      if(y->next()!=node_impl_type::base_pointer_from(x)&&
-         y->next()->prior()!=x){ /* n-1 of group */
-        /* Make the second node prior() pointer back-linked so that it won't
-         * refer to a deleted node when the time for its own destruction comes.
-         */
-
-        node_impl_pointer first=node_impl_type::pointer_from(y->next());
-        first->next()->prior()=first;
-      }
-      this->final_delete_node_(
-        static_cast<final_node_type*>(node_type::from_impl(x)));
-      x=y;
-    }
-  }
-
-  void clear_()
-  {
-    super::clear_();
-    buckets.clear(header()->impl());
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::detach_dereferenceable_iterators();
-#endif
-  }
-
-  void swap_(
-    hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x)
-  {
-    std::swap(key,x.key);
-    std::swap(hash_,x.hash_);
-    std::swap(eq_,x.eq_);
-    buckets.swap(x.buckets);
-    std::swap(mlf,x.mlf);
-    std::swap(max_load,x.max_load);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_(x);
-  }
-
-  void swap_elements_(
-    hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x)
-  {
-    buckets.swap(x.buckets);
-    std::swap(mlf,x.mlf);
-    std::swap(max_load,x.max_load);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_elements_(x);
-  }
-
-  template<typename Variant>
-  bool replace_(value_param_type v,node_type* x,Variant variant)
-  {
-    if(eq_(key(v),key(x->value()))){
-      return super::replace_(v,x,variant);
-    }
-      
-    unlink_undo undo;
-    unlink(x,undo);
-
-    BOOST_TRY{
-      std::size_t  buc=find_bucket(v);
-      link_info    pos(buckets.at(buc));
-      if(link_point(v,pos)&&super::replace_(v,x,variant)){
-        link(x,pos);
-        return true;
-      }
-      undo();
-      return false;
-    }
-    BOOST_CATCH(...){
-      undo();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  bool modify_(node_type* x)
-  {
-    std::size_t buc;
-    bool        b; 
-    BOOST_TRY{
-      buc=find_bucket(x->value());
-      b=in_place(x->impl(),key(x->value()),buc);
-    }
-    BOOST_CATCH(...){
-      erase_(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    if(!b){
-      unlink(x);
-      BOOST_TRY{
-        link_info pos(buckets.at(buc));
-        if(!link_point(x->value(),pos)){
-          super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-          detach_iterators(x);
-#endif
-          return false;
-        }
-        link(x,pos);
-      }
-      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)){
-        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)
-  {
-    std::size_t buc=find_bucket(x->value());
-    if(in_place(x->impl(),key(x->value()),buc)){
-      return super::modify_rollback_(x);
-    }
-
-    unlink_undo undo;
-    unlink(x,undo);
-
-    BOOST_TRY{
-      link_info pos(buckets.at(buc));
-      if(link_point(x->value(),pos)&&super::modify_rollback_(x)){
-        link(x,pos);
-        return true;
-      }
-      undo();
-      return false;
-    }
-    BOOST_CATCH(...){
-      undo();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  /* comparison */
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-  /* defect macro refers to class, not function, templates, but anyway */
-
-  template<typename K,typename H,typename P,typename S,typename T,typename C>
-  friend bool operator==(
-    const hashed_index<K,H,P,S,T,C>&,const hashed_index<K,H,P,S,T,C>& y);
-#endif
-
-  bool equals(const hashed_index& x)const{return equals(x,Category());}
-
-  bool equals(const hashed_index& x,hashed_unique_tag)const
-  {
-    if(size()!=x.size())return false;
-    for(const_iterator it=begin(),it_end=end(),it2_end=x.end();
-        it!=it_end;++it){
-      const_iterator it2=x.find(key(*it));
-      if(it2==it2_end||!(*it==*it2))return false;
-    }
-    return true;
-  }
-
-  bool equals(const hashed_index& x,hashed_non_unique_tag)const
-  {
-    if(size()!=x.size())return false;
-    for(const_iterator it=begin(),it_end=end();it!=it_end;){
-      const_iterator it2,it2_last;
-      boost::tie(it2,it2_last)=x.equal_range(key(*it));
-      if(it2==it2_last)return false;
-
-      const_iterator it_last=make_iterator(
-        node_type::from_impl(end_of_range(it.get_node()->impl())));
-      if(std::distance(it,it_last)!=std::distance(it2,it2_last))return false;
-
-      /* From is_permutation code in
-       * http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3068.pdf
-       */
-
-      for(;it!=it_last;++it,++it2){
-        if(!(*it==*it2))break;
-      }
-      if(it!=it_last){
-        for(const_iterator scan=it;scan!=it_last;++scan){
-          if(std::find(it,scan,*scan)!=scan)continue;
-          std::ptrdiff_t matches=std::count(it2,it2_last,*scan);
-          if(matches==0||matches!=std::count(scan,it_last,*scan))return false;
-        }
-        it=it_last;
-      }
-    }
-    return true;
-  }
-
-#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
-  {
-    ar<<serialization::make_nvp("position",buckets);
-    super::save_(ar,version,sm);
-  }
-
-  template<typename Archive>
-  void load_(Archive& ar,const unsigned int version,const index_loader_type& lm)
-  {
-    ar>>serialization::make_nvp("position",buckets);
-    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())return false;
-    }
-    else{
-      size_type s0=0;
-      for(const_iterator it=begin(),it_end=end();it!=it_end;++it,++s0){}
-      if(s0!=size())return false;
-
-      size_type s1=0;
-      for(size_type buc=0;buc<bucket_count();++buc){
-        size_type ss1=0;
-        for(const_local_iterator it=begin(buc),it_end=end(buc);
-            it!=it_end;++it,++ss1){
-          if(find_bucket(*it)!=buc)return false;
-        }
-        if(ss1!=bucket_size(buc))return false;
-        s1+=ss1;
-      }
-      if(s1!=size())return false;
-    }
-
-    return super::invariant_();
-  }
-
-  /* This forwarding function eases things for the boost::mem_fn construct
-   * in BOOST_MULTI_INDEX_HASHED_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();}
-
-  std::size_t find_bucket(value_param_type v)const
-  {
-    return bucket(key(v));
-  }
-
-  struct link_info_non_unique
-  {
-    link_info_non_unique(node_impl_base_pointer pos):
-      first(pos),last(node_impl_base_pointer(0)){}
-
-    operator const node_impl_base_pointer&()const{return this->first;}
-
-    node_impl_base_pointer first,last;
-  };
-
-  typedef typename mpl::if_<
-    is_same<Category,hashed_unique_tag>,
-    node_impl_base_pointer,
-    link_info_non_unique
-  >::type                                link_info;
-
-  bool link_point(value_param_type v,link_info& pos)
-  {
-    return link_point(v,pos,Category());
-  }
-
-  bool link_point(
-    value_param_type v,node_impl_base_pointer& pos,hashed_unique_tag)
-  {
-    for(node_impl_pointer x=pos->prior();x!=node_impl_pointer(0);
-        x=node_alg::after_local(x)){
-      if(eq_(key(v),key(node_type::from_impl(x)->value()))){
-        pos=node_impl_type::base_pointer_from(x);
-        return false;
-      }
-    }
-    return true;
-  }
-
-  bool link_point(
-    value_param_type v,link_info_non_unique& pos,hashed_non_unique_tag)
-  {
-    for(node_impl_pointer x=pos.first->prior();x!=node_impl_pointer(0);
-        x=node_alg::next_to_inspect(x)){
-      if(eq_(key(v),key(node_type::from_impl(x)->value()))){
-        pos.first=node_impl_type::base_pointer_from(x);
-        pos.last=node_impl_type::base_pointer_from(last_of_range(x));
-        return true;
-      }
-    }
-    return true;
-  }
-
-  node_impl_pointer last_of_range(node_impl_pointer x)const
-  {
-    return last_of_range(x,Category());
-  }
-
-  node_impl_pointer last_of_range(node_impl_pointer x,hashed_unique_tag)const
-  {
-    return x;
-  }
-
-  node_impl_pointer last_of_range(
-    node_impl_pointer x,hashed_non_unique_tag)const
-  {
-    node_impl_base_pointer y=x->next();
-    node_impl_pointer      z=y->prior();
-    if(z==x){                      /* range of size 1 or 2 */
-      node_impl_pointer yy=node_impl_type::pointer_from(y);
-      return
-        eq_(
-          key(node_type::from_impl(x)->value()),
-          key(node_type::from_impl(yy)->value()))?yy:x;
-    }
-    else if(z->prior()==x)               /* last of bucket */
-      return x;
-    else                                /* group of size>2 */        
-      return z;
-  }
-
-  node_impl_pointer end_of_range(node_impl_pointer x)const
-  {
-    return end_of_range(x,Category());
-  }
-
-  node_impl_pointer end_of_range(node_impl_pointer x,hashed_unique_tag)const
-  {
-    return node_alg::after(last_of_range(x));
-  }
-
-  node_impl_pointer end_of_range(
-    node_impl_pointer x,hashed_non_unique_tag)const
-  {
-    node_impl_base_pointer y=x->next();
-    node_impl_pointer      z=y->prior();
-    if(z==x){                      /* range of size 1 or 2 */
-      node_impl_pointer yy=node_impl_type::pointer_from(y);
-      if(!eq_(
-           key(node_type::from_impl(x)->value()),
-           key(node_type::from_impl(yy)->value())))yy=x;
-      return yy->next()->prior()==yy?
-               node_impl_type::pointer_from(yy->next()):
-               yy->next()->prior();
-    }
-    else if(z->prior()==x)               /* last of bucket */
-      return z;
-    else                                /* group of size>2 */        
-      return z->next()->prior()==z?
-               node_impl_type::pointer_from(z->next()):
-               z->next()->prior();
-  }
-
-  void link(node_type* x,const link_info& pos)
-  {
-    link(x,pos,Category());
-  }
-
-  void link(node_type* x,node_impl_base_pointer pos,hashed_unique_tag)
-  {
-    node_alg::link(x->impl(),pos,header()->impl());
-  }
-
-  void link(node_type* x,const link_info_non_unique& pos,hashed_non_unique_tag)
-  {
-    if(pos.last==node_impl_base_pointer(0)){
-      node_alg::link(x->impl(),pos.first,header()->impl());
-    }
-    else{
-      node_alg::link(
-        x->impl(),
-        node_impl_type::pointer_from(pos.first),
-        node_impl_type::pointer_from(pos.last));
-    }
-  }
-
-  void unlink(node_type* x)
-  {
-    node_alg::unlink(x->impl());
-  }
-
-  typedef typename node_alg::unlink_undo unlink_undo;
-
-  void unlink(node_type* x,unlink_undo& undo)
-  {
-    node_alg::unlink(x->impl(),undo);
-  }
-
-  void calculate_max_load()
-  {
-    float fml=static_cast<float>(mlf*static_cast<float>(bucket_count()));
-    max_load=(std::numeric_limits<size_type>::max)();
-    if(max_load>fml)max_load=static_cast<size_type>(fml);
-  }
-
-  void reserve_for_insert(size_type n)
-  {
-    if(n>max_load){
-      size_type bc =(std::numeric_limits<size_type>::max)();
-      float     fbc=static_cast<float>(1+static_cast<double>(n)/mlf);
-      if(bc>fbc)bc =static_cast<size_type>(fbc);
-      unchecked_rehash(bc);
-    }
-  }
-
-  void unchecked_rehash(size_type n){unchecked_rehash(n,Category());}
-
-  void unchecked_rehash(size_type n,hashed_unique_tag)
-  {
-    node_impl_type    cpy_end_node;
-    node_impl_pointer cpy_end=node_impl_pointer(&cpy_end_node),
-                      end_=header()->impl();
-    bucket_array_type buckets_cpy(get_allocator(),cpy_end,n);
-
-    if(size()!=0){
-      auto_space<
-        std::size_t,allocator_type>       hashes(get_allocator(),size());
-      auto_space<
-        node_impl_pointer,allocator_type> node_ptrs(get_allocator(),size());
-      std::size_t                         i=0,size_=size();
-      bool                                within_bucket=false;
-      BOOST_TRY{
-        for(;i!=size_;++i){
-          node_impl_pointer x=end_->prior();
-
-          /* only this can possibly throw */
-          std::size_t h=hash_(key(node_type::from_impl(x)->value()));
-
-          hashes.data()[i]=h;
-          node_ptrs.data()[i]=x;
-          within_bucket=!node_alg::unlink_last(end_);
-          node_alg::link(x,buckets_cpy.at(buckets_cpy.position(h)),cpy_end);
-        }
-      }
-      BOOST_CATCH(...){
-        if(i!=0){
-          std::size_t prev_buc=buckets.position(hashes.data()[i-1]);
-          if(!within_bucket)prev_buc=~prev_buc;
-
-          for(std::size_t j=i;j--;){
-            std::size_t       buc=buckets.position(hashes.data()[j]);
-            node_impl_pointer x=node_ptrs.data()[j];
-            if(buc==prev_buc)node_alg::append(x,end_);
-            else node_alg::link(x,buckets.at(buc),end_);
-            prev_buc=buc;
-          }
-        }
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-
-    end_->prior()=cpy_end->prior()!=cpy_end?cpy_end->prior():end_;
-    end_->next()=cpy_end->next();
-    end_->prior()->next()->prior()=end_->next()->prior()->prior()=end_;
-    buckets.swap(buckets_cpy);
-    calculate_max_load();
-  }
-
-  void unchecked_rehash(size_type n,hashed_non_unique_tag)
-  {
-    node_impl_type    cpy_end_node;
-    node_impl_pointer cpy_end=node_impl_pointer(&cpy_end_node),
-                      end_=header()->impl();
-    bucket_array_type buckets_cpy(get_allocator(),cpy_end,n);
-
-    if(size()!=0){
-      auto_space<
-        std::size_t,allocator_type>       hashes(get_allocator(),size());
-      auto_space<
-        node_impl_pointer,allocator_type> node_ptrs(get_allocator(),size());
-      std::size_t                         i=0;
-      bool                                within_bucket=false;
-      BOOST_TRY{
-        for(;;++i){
-          node_impl_pointer x=end_->prior();
-          if(x==end_)break;
-
-          /* only this can possibly throw */
-          std::size_t h=hash_(key(node_type::from_impl(x)->value()));
-
-          hashes.data()[i]=h;
-          node_ptrs.data()[i]=x;
-          std::pair<node_impl_pointer,bool> p=
-            node_alg::unlink_last_group(end_);
-          node_alg::link_range(
-            p.first,x,buckets_cpy.at(buckets_cpy.position(h)),cpy_end);
-          within_bucket=!(p.second);
-        }
-      }
-      BOOST_CATCH(...){
-        if(i!=0){
-          std::size_t prev_buc=buckets.position(hashes.data()[i-1]);
-          if(!within_bucket)prev_buc=~prev_buc;
-
-          for(std::size_t j=i;j--;){
-            std::size_t       buc=buckets.position(hashes.data()[j]);
-            node_impl_pointer x=node_ptrs.data()[j],
-                              y=
-              x->prior()->next()!=node_impl_type::base_pointer_from(x)&&
-              x->prior()->next()->prior()!=x?
-                node_impl_type::pointer_from(x->prior()->next()):x;
-            node_alg::unlink_range(y,x);
-            if(buc==prev_buc)node_alg::append_range(y,x,end_);
-            else node_alg::link_range(y,x,buckets.at(buc),end_);
-            prev_buc=buc;
-          }
-        }
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-
-    end_->prior()=cpy_end->prior()!=cpy_end?cpy_end->prior():end_;
-    end_->next()=cpy_end->next();
-    end_->prior()->next()->prior()=end_->next()->prior()->prior()=end_;
-    buckets.swap(buckets_cpy);
-    calculate_max_load();
-  }
-
-  bool in_place(node_impl_pointer x,key_param_type k,std::size_t buc)const
-  {
-    return in_place(x,k,buc,Category());
-  }
-
-  bool in_place(
-    node_impl_pointer x,key_param_type k,std::size_t buc,
-    hashed_unique_tag)const
-  {
-    bool found=false;
-    for(node_impl_pointer y=buckets.at(buc)->prior();
-        y!=node_impl_pointer(0);y=node_alg::after_local(y)){
-      if(y==x)found=true;
-      else if(eq_(k,key(node_type::from_impl(y)->value())))return false;
-    }
-    return found;
-  }
-
-  bool in_place(
-    node_impl_pointer x,key_param_type k,std::size_t buc,
-    hashed_non_unique_tag)const
-  {
-    bool found=false;
-    int  range_size=0;
-    for(node_impl_pointer y=buckets.at(buc)->prior();y!=node_impl_pointer(0);){
-      if(node_alg::is_first_of_group(y)){ /* group of 3 or more */
-        if(y==x){
-          /* in place <-> equal to some other member of the group */
-          return eq_(
-            k,
-            key(node_type::from_impl(
-              node_impl_type::pointer_from(y->next()))->value()));
-        }
-        else{
-          node_impl_pointer z=
-            node_alg::after_local(y->next()->prior()); /* end of range */
-          if(eq_(k,key(node_type::from_impl(y)->value()))){
-            if(found)return false; /* x lies outside */
-            do{
-              if(y==x)return true;
-              y=node_alg::after_local(y);
-            }while(y!=z);
-            return false; /* x not found */
-          }
-          else{
-            if(range_size==1&&!found)return false;
-            if(range_size==2)return found;
-            range_size=0;
-            y=z; /* skip range (and potentially x, too, which is fine) */
-          }
-        }
-      }
-      else{ /* group of 1 or 2 */
-        if(y==x){
-          if(range_size==1)return true;
-          range_size=1;
-          found=true;
-        }
-        else if(eq_(k,key(node_type::from_impl(y)->value()))){
-          if(range_size==0&&found)return false;
-          if(range_size==1&&!found)return false;
-          if(range_size==2)return false;
-          ++range_size;
-        }
-        else{
-          if(range_size==1&&!found)return false;
-          if(range_size==2)return found;
-          range_size=0;
-        }
-        y=node_alg::after_local(y);
-      }
-    }
-    return found;
-  }
-
-#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<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_impl(BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool>p=
-      this->final_emplace_(BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  iterator emplace_hint_impl(
-    iterator position,BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool>p=
-      this->final_emplace_hint_(
-        static_cast<final_node_type*>(position.get_node()),
-        BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-    return make_iterator(p.first);
-  }
-
-  template<
-    typename CompatibleHash,typename CompatiblePred
-  >
-  iterator find(
-    const key_type& k,
-    const CompatibleHash& hash,const CompatiblePred& eq,mpl::true_)const
-  {
-    return find(k,hash,eq,mpl::false_());
-  }
-
-  template<
-    typename CompatibleKey,typename CompatibleHash,typename CompatiblePred
-  >
-  iterator find(
-    const CompatibleKey& k,
-    const CompatibleHash& hash,const CompatiblePred& eq,mpl::false_)const
-  {
-    std::size_t buc=buckets.position(hash(k));
-    for(node_impl_pointer x=buckets.at(buc)->prior();
-        x!=node_impl_pointer(0);x=node_alg::next_to_inspect(x)){
-      if(eq(k,key(node_type::from_impl(x)->value()))){
-        return make_iterator(node_type::from_impl(x));
-      }
-    }
-    return end();
-  }
-
-  template<
-    typename CompatibleHash,typename CompatiblePred
-  >
-  size_type count(
-    const key_type& k,
-    const CompatibleHash& hash,const CompatiblePred& eq,mpl::true_)const
-  {
-    return count(k,hash,eq,mpl::false_());
-  }
-
-  template<
-    typename CompatibleKey,typename CompatibleHash,typename CompatiblePred
-  >
-  size_type count(
-    const CompatibleKey& k,
-    const CompatibleHash& hash,const CompatiblePred& eq,mpl::false_)const
-  {
-    std::size_t buc=buckets.position(hash(k));
-    for(node_impl_pointer x=buckets.at(buc)->prior();
-        x!=node_impl_pointer(0);x=node_alg::next_to_inspect(x)){
-      if(eq(k,key(node_type::from_impl(x)->value()))){
-        size_type         res=0;
-        node_impl_pointer y=end_of_range(x);
-        do{
-          ++res;
-          x=node_alg::after(x);
-        }while(x!=y);
-        return res;
-      }
-    }
-    return 0;
-  }
-
-  template<
-    typename CompatibleHash,typename CompatiblePred
-  >
-  std::pair<iterator,iterator> equal_range(
-    const key_type& k,
-    const CompatibleHash& hash,const CompatiblePred& eq,mpl::true_)const
-  {
-    return equal_range(k,hash,eq,mpl::false_());
-  }
-
-  template<
-    typename CompatibleKey,typename CompatibleHash,typename CompatiblePred
-  >
-  std::pair<iterator,iterator> equal_range(
-    const CompatibleKey& k,
-    const CompatibleHash& hash,const CompatiblePred& eq,mpl::false_)const
-  {
-    std::size_t buc=buckets.position(hash(k));
-    for(node_impl_pointer x=buckets.at(buc)->prior();
-        x!=node_impl_pointer(0);x=node_alg::next_to_inspect(x)){
-      if(eq(k,key(node_type::from_impl(x)->value()))){
-        return std::pair<iterator,iterator>(
-          make_iterator(node_type::from_impl(x)),
-          make_iterator(node_type::from_impl(end_of_range(x))));
-      }
-    }
-    return std::pair<iterator,iterator>(end(),end());
-  }
-
-  key_from_value               key;
-  hasher                       hash_;
-  key_equal                    eq_;
-  bucket_array_type            buckets;
-  float                        mlf;
-  size_type                    max_load;
-      
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
-    BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-#pragma parse_mfunc_templ reset
-#endif
-};
-
-/* comparison */
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-bool operator==(
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y)
-{
-  return x.equals(y);
-}
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-bool operator!=(
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y)
-{
-  return !(x==y);
-}
-
-/*  specialized algorithms */
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-void swap(
-  hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-  hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-/* hashed index specifiers */
-
-template<typename Arg1,typename Arg2,typename Arg3,typename Arg4>
-struct hashed_unique
-{
-  typedef typename detail::hashed_index_args<
-    Arg1,Arg2,Arg3,Arg4>                           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::hash_type           hash_type;
-  typedef typename index_args::pred_type           pred_type;
-
-  template<typename Super>
-  struct node_class
-  {
-    typedef detail::hashed_index_node<Super,detail::hashed_unique_tag> type;
-  };
-
-  template<typename SuperMeta>
-  struct index_class
-  {
-    typedef detail::hashed_index<
-      key_from_value_type,hash_type,pred_type,
-      SuperMeta,tag_list_type,detail::hashed_unique_tag> type;
-  };
-};
-
-template<typename Arg1,typename Arg2,typename Arg3,typename Arg4>
-struct hashed_non_unique
-{
-  typedef typename detail::hashed_index_args<
-    Arg1,Arg2,Arg3,Arg4>                           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::hash_type           hash_type;
-  typedef typename index_args::pred_type           pred_type;
-
-  template<typename Super>
-  struct node_class
-  {
-    typedef detail::hashed_index_node<
-      Super,detail::hashed_non_unique_tag> type;
-  };
-
-  template<typename SuperMeta>
-  struct index_class
-  {
-    typedef detail::hashed_index<
-      key_from_value_type,hash_type,pred_type,
-      SuperMeta,tag_list_type,detail::hashed_non_unique_tag> type;
-  };
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-/* Boost.Foreach compatibility */
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-inline boost::mpl::true_* boost_foreach_is_noncopyable(
-  boost::multi_index::detail::hashed_index<
-    KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>*&,
-  boost_foreach_argument_dependent_lookup_hack)
-{
-  return 0;
-}
-
-#undef BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT
-#undef BOOST_MULTI_INDEX_HASHED_INDEX_CHECK_INVARIANT_OF
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/hashed_index_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/hashed_index_fwd.hpp
deleted file mode 100644
index d77e36c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/hashed_index_fwd.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright 2003-2013 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_HASHED_INDEX_FWD_HPP
-#define BOOST_MULTI_INDEX_HASHED_INDEX_FWD_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/multi_index/detail/hash_index_args.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-class hashed_index;
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-bool operator==(
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y);
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-bool operator!=(
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-  const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y);
-
-template<
-  typename KeyFromValue,typename Hash,typename Pred,
-  typename SuperMeta,typename TagList,typename Category
->
-void swap(
-  hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
-  hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y);
-
-} /* namespace multi_index::detail */
-
-/* hashed_index specifiers */
-
-template<
-  typename Arg1,typename Arg2=mpl::na,
-  typename Arg3=mpl::na,typename Arg4=mpl::na
->
-struct hashed_unique;
-
-template<
-  typename Arg1,typename Arg2=mpl::na,
-  typename Arg3=mpl::na,typename Arg4=mpl::na
->
-struct hashed_non_unique;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/identity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/identity.hpp
deleted file mode 100644
index 6c832ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/identity.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright 2003-2015 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)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.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 unique_ptr<Type*>.)
- */
-
-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
-
-#if BOOST_WORKAROUND(BOOST_MSVC,==1310)
-/* http://lists.boost.org/Archives/boost/2015/10/226135.php */
-    ,int=0
-#endif
-
-  )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)const
-  {
-    return x;
-  }
-
-  Type& operator()(Type& x)const
-  {
-    return x;
-  }
-
-  const Type& operator()(const reference_wrapper<const Type>& x)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/rbgl_trimmed_boost_1_61_0/boost/multi_index/identity_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/identity_fwd.hpp
deleted file mode 100644
index af6bd55..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/identity_fwd.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2003-2013 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)
-#pragma once
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-template<class Type> struct identity;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/indexed_by.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/indexed_by.hpp
deleted file mode 100644
index d2217e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/indexed_by.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2003-2013 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)
-#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)
-#define BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/key_extractors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/key_extractors.hpp
deleted file mode 100644
index 60179ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/key_extractors.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2003-2013 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_KEY_EXTRACTORS_HPP
-#define BOOST_MULTI_INDEX_KEY_EXTRACTORS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/multi_index/composite_key.hpp>
-#include <boost/multi_index/identity.hpp>
-#include <boost/multi_index/global_fun.hpp>
-#include <boost/multi_index/member.hpp>
-#include <boost/multi_index/mem_fun.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/mem_fun.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/mem_fun.hpp
deleted file mode 100644
index 111c386..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/mem_fun.hpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/* Copyright 2003-2015 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_MEM_FUN_HPP
-#define BOOST_MULTI_INDEX_MEM_FUN_HPP
-
-#if defined(_MSC_VER)
-#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/remove_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#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{
-
-/* mem_fun implements a read-only key extractor based on a given non-const
- * member function of a class.
- * const_mem_fun does the same for const member functions.
- * Additionally, mem_fun  and const_mem_fun are 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 unique_ptr<T*>.)
- */
-
-template<class Class,typename Type,Type (Class::*PtrToMemberFunction)()const>
-struct const_mem_fun
-{
-  typedef typename remove_reference<Type>::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.*PtrToMemberFunction)();
-  }
-
-  Type operator()(const reference_wrapper<const Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-
-  Type operator()(const reference_wrapper<Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-template<class Class,typename Type,Type (Class::*PtrToMemberFunction)()>
-struct mem_fun
-{
-  typedef typename remove_reference<Type>::type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<ChainedPtr&,Class&>,Type>::type
-#else
-  Type
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type operator()(Class& x)const
-  {
-    return (x.*PtrToMemberFunction)();
-  }
-
-  Type operator()(const reference_wrapper<Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-/* MSVC++ 6.0 has problems with const member functions as non-type template
- * parameters, somehow it takes them as non-const. const_mem_fun_explicit
- * workarounds this deficiency by accepting an extra type parameter that
- * specifies the signature of the member function. The workaround was found at:
- *   Daniel, C.:"Re: weird typedef problem in VC",
- *   news:microsoft.public.vc.language, 21st nov 2002, 
- *   http://groups.google.com/groups?
- *     hl=en&lr=&ie=UTF-8&selm=ukwvg3O0BHA.1512%40tkmsftngp05
- *
- * MSVC++ 6.0 support has been dropped and [const_]mem_fun_explicit is
- * deprecated.
- */
-
-template<
-  class Class,typename Type,
-  typename PtrToMemberFunctionType,PtrToMemberFunctionType PtrToMemberFunction>
-struct const_mem_fun_explicit
-{
-  typedef typename remove_reference<Type>::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.*PtrToMemberFunction)();
-  }
-
-  Type operator()(const reference_wrapper<const Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-
-  Type operator()(const reference_wrapper<Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-template<
-  class Class,typename Type,
-  typename PtrToMemberFunctionType,PtrToMemberFunctionType PtrToMemberFunction>
-struct mem_fun_explicit
-{
-  typedef typename remove_reference<Type>::type result_type;
-
-  template<typename ChainedPtr>
-
-#if !defined(BOOST_NO_SFINAE)
-  typename disable_if<
-    is_convertible<ChainedPtr&,Class&>,Type>::type
-#else
-  Type
-#endif
-
-  operator()(const ChainedPtr& x)const
-  {
-    return operator()(*x);
-  }
-
-  Type operator()(Class& x)const
-  {
-    return (x.*PtrToMemberFunction)();
-  }
-
-  Type operator()(const reference_wrapper<Class>& x)const
-  { 
-    return operator()(x.get());
-  }
-};
-
-/* BOOST_MULTI_INDEX_CONST_MEM_FUN and BOOST_MULTI_INDEX_MEM_FUN used to
- * resolve to [const_]mem_fun_explicit for MSVC++ 6.0 and to
- * [const_]mem_fun otherwise. Support for this compiler having been dropped,
- * they are now just wrappers over [const_]mem_fun kept for backwards-
- * compatibility reasons.
- */
-
-#define BOOST_MULTI_INDEX_CONST_MEM_FUN(Class,Type,MemberFunName) \
-::boost::multi_index::const_mem_fun< Class,Type,&Class::MemberFunName >
-#define BOOST_MULTI_INDEX_MEM_FUN(Class,Type,MemberFunName) \
-::boost::multi_index::mem_fun< Class,Type,&Class::MemberFunName >
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/member.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/member.hpp
deleted file mode 100644
index a8e6450..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/member.hpp
+++ /dev/null
@@ -1,262 +0,0 @@
-/* Copyright 2003-2015 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)
-#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 unique_ptr<T*>.)
- */
-
-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)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)const
-  {
-    return x.*PtrToMember;
-  }
-
-  Type& operator()(Class& x)const
-  { 
-    return x.*PtrToMember;
-  }
-
-  const Type& operator()(const reference_wrapper<const Class>& x)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.
- *
- * Support for such old compilers is dropped and
- * [non_]const_member_offset_base is deprecated.
- */
-
-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)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)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)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/rbgl_trimmed_boost_1_61_0/boost/multi_index/ordered_index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ordered_index.hpp
deleted file mode 100644
index 5bcd69d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ordered_index.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2003-2015 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_HPP
-#define BOOST_MULTI_INDEX_ORDERED_INDEX_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/multi_index/detail/ord_index_impl.hpp>
-#include <boost/multi_index/ordered_index_fwd.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* no augment policy for plain ordered indices */
-
-struct null_augment_policy
-{
-  template<typename OrderedIndexImpl>
-  struct augmented_interface
-  {
-    typedef OrderedIndexImpl type;
-  };
-
-  template<typename OrderedIndexNodeImpl>
-  struct augmented_node
-  {
-    typedef OrderedIndexNodeImpl type;
-  };
-
-  template<typename Pointer> static void add(Pointer,Pointer){}
-  template<typename Pointer> static void remove(Pointer,Pointer){}
-  template<typename Pointer> static void copy(Pointer,Pointer){}
-  template<typename Pointer> static void rotate_left(Pointer,Pointer){}
-  template<typename Pointer> static void rotate_right(Pointer,Pointer){}
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  template<typename Pointer> static bool invariant(Pointer){return true;}
-
-#endif
-};
-
-} /* 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<detail::null_augment_policy,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,
-      detail::null_augment_policy>                        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<detail::null_augment_policy,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,
-      detail::null_augment_policy>                            type;
-  };
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ordered_index_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ordered_index_fwd.hpp
deleted file mode 100644
index fe44aaf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ordered_index_fwd.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2003-2015 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)
-#pragma once
-#endif
-
-#include <boost/multi_index/detail/ord_index_args.hpp>
-#include <boost/multi_index/detail/ord_index_impl_fwd.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-/* 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/rbgl_trimmed_boost_1_61_0/boost/multi_index/random_access_index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/random_access_index.hpp
deleted file mode 100644
index fe1884d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/random_access_index.hpp
+++ /dev/null
@@ -1,1167 +0,0 @@
-/* Copyright 2003-2015 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_RANDOM_ACCESS_INDEX_HPP
-#define BOOST_MULTI_INDEX_RANDOM_ACCESS_INDEX_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <algorithm>
-#include <boost/bind.hpp>
-#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/move/core.hpp>
-#include <boost/move/utility.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/do_not_copy_elements_tag.hpp>
-#include <boost/multi_index/detail/index_node_base.hpp>
-#include <boost/multi_index/detail/rnd_node_iterator.hpp>
-#include <boost/multi_index/detail/rnd_index_node.hpp>
-#include <boost/multi_index/detail/rnd_index_ops.hpp>
-#include <boost/multi_index/detail/rnd_index_ptr_array.hpp>
-#include <boost/multi_index/detail/safe_mode.hpp>
-#include <boost/multi_index/detail/scope_guard.hpp>
-#include <boost/multi_index/detail/vartempl_support.hpp>
-#include <boost/multi_index/random_access_index_fwd.hpp>
-#include <boost/throw_exception.hpp> 
-#include <boost/tuple/tuple.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <cstddef>
-#include <functional>
-#include <stdexcept> 
-#include <utility>
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include<initializer_list>
-#endif
-
-#if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION)
-#include <boost/multi_index/detail/rnd_index_loader.hpp>
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-#define BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT_OF(x)                    \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(x,&random_access_index::check_invariant_);        \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#define BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT                          \
-  BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT_OF(*this)
-#else
-#define BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT_OF(x)
-#define BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* random_access_index adds a layer of random access indexing
- * to a given Super
- */
-
-template<typename SuperMeta,typename TagList>
-class random_access_index:
-  BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-  ,public safe_mode::safe_container<
-    random_access_index<SuperMeta,TagList> >
-#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 random_access_index_node<
-    typename super::node_type>                     node_type;
-
-private:
-  typedef typename node_type::impl_type            node_impl_type;
-  typedef random_access_index_ptr_array<
-    typename super::final_allocator_type>          ptr_array;
-  typedef typename ptr_array::pointer              node_impl_ptr_pointer;
-
-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)
-  typedef safe_mode::safe_iterator<
-    rnd_node_iterator<node_type>,
-    random_access_index>                           iterator;
-#else
-  typedef rnd_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,
-    random_access_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)
-  typedef safe_mode::safe_container<
-    random_access_index>                      safe_super;
-#endif
-
-  typedef typename call_traits<
-    value_type>::param_type                   value_param_type;
-
-  /* Needed to avoid commas in BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL
-   * expansion.
-   */
-
-  typedef std::pair<iterator,bool>            emplace_return_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.
-   */
-
-  random_access_index<SuperMeta,TagList>& operator=(
-    const random_access_index<SuperMeta,TagList>& x)
-  {
-    this->final()=x.final();
-    return *this;
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  random_access_index<SuperMeta,TagList>& operator=(
-    std::initializer_list<value_type> list)
-  {
-    this->final()=list;
-    return *this;
-  }
-#endif
-
-  template <class InputIterator>
-  void assign(InputIterator first,InputIterator last)
-  {
-    assign_iter(first,last,mpl::not_<is_integral<InputIterator> >());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  void assign(std::initializer_list<value_type> list)
-  {
-    assign(list.begin(),list.end());
-  }
-#endif
-
-  void assign(size_type n,value_param_type value)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    clear();
-    for(size_type i=0;i<n;++i)push_back(value);
-  }
-    
-  allocator_type get_allocator()const BOOST_NOEXCEPT
-  {
-    return this->final().get_allocator();
-  }
-
-  /* iterators */
-
-  iterator begin()BOOST_NOEXCEPT
-    {return make_iterator(node_type::from_impl(*ptrs.begin()));}
-  const_iterator begin()const BOOST_NOEXCEPT
-    {return make_iterator(node_type::from_impl(*ptrs.begin()));}
-  iterator
-    end()BOOST_NOEXCEPT{return make_iterator(header());}
-  const_iterator
-    end()const BOOST_NOEXCEPT{return make_iterator(header());}
-  reverse_iterator
-    rbegin()BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());}
-  const_reverse_iterator
-    rbegin()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());}
-  reverse_iterator
-    rend()BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());}
-  const_reverse_iterator
-    rend()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());}
-  const_iterator
-    cbegin()const BOOST_NOEXCEPT{return begin();}
-  const_iterator
-    cend()const BOOST_NOEXCEPT{return end();}
-  const_reverse_iterator
-    crbegin()const BOOST_NOEXCEPT{return rbegin();}
-  const_reverse_iterator
-    crend()const BOOST_NOEXCEPT{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 BOOST_NOEXCEPT{return this->final_empty_();}
-  size_type size()const BOOST_NOEXCEPT{return this->final_size_();}
-  size_type max_size()const BOOST_NOEXCEPT{return this->final_max_size_();}
-  size_type capacity()const BOOST_NOEXCEPT{return ptrs.capacity();}
-
-  void reserve(size_type n)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    ptrs.reserve(n);
-  }
-  
-  void shrink_to_fit()
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    ptrs.shrink_to_fit();
-  }
-
-  void resize(size_type n)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    if(n>size())
-      for(size_type m=n-size();m--;)
-        this->final_emplace_(BOOST_MULTI_INDEX_NULL_PARAM_PACK);
-    else if(n<size())erase(begin()+n,end());
-  }
-
-  void resize(size_type n,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    if(n>size())for(size_type m=n-size();m--;)this->final_insert_(x); 
-    else if(n<size())erase(begin()+n,end());
-  }
-
-  /* access: no non-const versions provided as random_access_index
-   * handles const elements.
-   */
-
-  const_reference operator[](size_type n)const
-  {
-    BOOST_MULTI_INDEX_SAFE_MODE_ASSERT(n<size(),safe_mode::out_of_bounds);
-    return node_type::from_impl(*ptrs.at(n))->value();
-  }
-
-  const_reference at(size_type n)const
-  {
-    if(n>=size())throw_exception(std::out_of_range("random access index"));
-    return node_type::from_impl(*ptrs.at(n))->value();
-  }
-
-  const_reference front()const{return operator[](0);}
-  const_reference back()const{return operator[](size()-1);}
-
-  /* modifiers */
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(
-    emplace_return_type,emplace_front,emplace_front_impl)
-    
-  std::pair<iterator,bool> push_front(const value_type& x)
-                             {return insert(begin(),x);}
-  std::pair<iterator,bool> push_front(BOOST_RV_REF(value_type) x)
-                             {return insert(begin(),boost::move(x));}
-  void                     pop_front(){erase(begin());}
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(
-    emplace_return_type,emplace_back,emplace_back_impl)
-
-  std::pair<iterator,bool> push_back(const value_type& x)
-                             {return insert(end(),x);}
-  std::pair<iterator,bool> push_back(BOOST_RV_REF(value_type) x)
-                             {return insert(end(),boost::move(x));}
-  void                     pop_back(){erase(--end());}
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG(
-    emplace_return_type,emplace,emplace_impl,iterator,position)
-    
-  std::pair<iterator,bool> insert(iterator position,const value_type& x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_(x);
-    if(p.second&&position.get_node()!=header()){
-      relocate(position.get_node(),p.first);
-    }
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  std::pair<iterator,bool> insert(iterator position,BOOST_RV_REF(value_type) x)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=this->final_insert_rv_(x);
-    if(p.second&&position.get_node()!=header()){
-      relocate(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_RND_INDEX_CHECK_INVARIANT;
-    size_type s=0;
-    BOOST_TRY{
-      while(n--){
-        if(push_back(x).second)++s;
-      }
-    }
-    BOOST_CATCH(...){
-      relocate(position,end()-s,end());
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    relocate(position,end()-s,end());
-  }
- 
-  template<typename InputIterator>
-  void insert(iterator position,InputIterator first,InputIterator last)
-  {
-    insert_iter(position,first,last,mpl::not_<is_integral<InputIterator> >());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  void insert(iterator position,std::initializer_list<value_type> list)
-  {
-    insert(position,list.begin(),list.end());
-  }
-#endif
-
-  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_RND_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_RND_INDEX_CHECK_INVARIANT;
-    difference_type n=last-first;
-    relocate(end(),first,last);
-    while(n--)pop_back();
-    return last;
-  }
-
-  bool replace(iterator position,const value_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_RND_INDEX_CHECK_INVARIANT;
-    return this->final_replace_(
-      x,static_cast<final_node_type*>(position.get_node()));
-  }
-
-  bool replace(iterator position,BOOST_RV_REF(value_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_RND_INDEX_CHECK_INVARIANT;
-    return this->final_replace_rv_(
-      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_RND_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_RND_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(random_access_index<SuperMeta,TagList>& x)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT_OF(x);
-    this->final_swap_(x.final());
-  }
-
-  void clear()BOOST_NOEXCEPT
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    this->final_clear_();
-  }
-
-  /* list operations */
-
-  void splice(iterator position,random_access_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_RND_INDEX_CHECK_INVARIANT;
-    iterator  first=x.begin(),last=x.end();
-    size_type n=0;
-    BOOST_TRY{
-      while(first!=last){
-        if(push_back(*first).second){
-          first=x.erase(first);
-          ++n;
-        }
-        else ++first;
-      }
-    }
-    BOOST_CATCH(...){
-      relocate(position,end()-n,end());
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    relocate(position,end()-n,end());
-  }
-
-  void splice(
-    iterator position,random_access_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_RND_INDEX_CHECK_INVARIANT;
-    if(&x==this)relocate(position,i);
-    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,random_access_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_RND_INDEX_CHECK_INVARIANT;
-    if(&x==this)relocate(position,first,last);
-    else{
-      size_type n=0;
-      BOOST_TRY{
-        while(first!=last){
-          if(push_back(*first).second){
-            first=x.erase(first);
-            ++n;
-          }
-          else ++first;
-        }
-      }
-      BOOST_CATCH(...){
-        relocate(position,end()-n,end());
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-      relocate(position,end()-n,end());
-    }
-  }
-
-  void remove(value_param_type value)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    difference_type n=
-      end()-make_iterator(
-        random_access_index_remove<node_type>(
-          ptrs,
-          ::boost::bind(std::equal_to<value_type>(),::boost::arg<1>(),value)));
-    while(n--)pop_back();
-  }
-
-  template<typename Predicate>
-  void remove_if(Predicate pred)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    difference_type n=
-      end()-make_iterator(random_access_index_remove<node_type>(ptrs,pred));
-    while(n--)pop_back();
-  }
-
-  void unique()
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    difference_type n=
-      end()-make_iterator(
-        random_access_index_unique<node_type>(
-          ptrs,std::equal_to<value_type>()));
-    while(n--)pop_back();
-  }
-
-  template <class BinaryPredicate>
-  void unique(BinaryPredicate binary_pred)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    difference_type n=
-      end()-make_iterator(
-        random_access_index_unique<node_type>(ptrs,binary_pred));
-    while(n--)pop_back();
-  }
-
-  void merge(random_access_index<SuperMeta,TagList>& x)
-  {
-    if(this!=&x){
-      BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-      size_type s=size();
-      splice(end(),x);
-      random_access_index_inplace_merge<node_type>(
-        get_allocator(),ptrs,ptrs.at(s),std::less<value_type>());
-    }
-  }
-
-  template <typename Compare>
-  void merge(random_access_index<SuperMeta,TagList>& x,Compare comp)
-  {
-    if(this!=&x){
-      BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-      size_type s=size();
-      splice(end(),x);
-      random_access_index_inplace_merge<node_type>(
-        get_allocator(),ptrs,ptrs.at(s),comp);
-    }
-  }
-
-  void sort()
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    random_access_index_sort<node_type>(
-      get_allocator(),ptrs,std::less<value_type>());
-  }
-
-  template <typename Compare>
-  void sort(Compare comp)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    random_access_index_sort<node_type>(
-      get_allocator(),ptrs,comp);
-  }
-
-  void reverse()BOOST_NOEXCEPT
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    node_impl_type::reverse(ptrs.begin(),ptrs.end());
-  }
-
-  /* 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_RND_INDEX_CHECK_INVARIANT;
-    if(position!=i)relocate(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_RND_INDEX_CHECK_INVARIANT;
-    if(position!=last)relocate(
-      position.get_node(),first.get_node(),last.get_node());
-  }
-
-  template<typename InputIterator>
-  void rearrange(InputIterator first)
-  {
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    for(node_impl_ptr_pointer p0=ptrs.begin(),p0_end=ptrs.end();
-        p0!=p0_end;++first,++p0){
-      const value_type& v1=*first;
-      node_impl_ptr_pointer p1=node_from_value<node_type>(&v1)->up();
-
-      std::swap(*p0,*p1);
-      (*p0)->up()=p0;
-      (*p1)->up()=p1;
-    }
-  }
-    
-BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS:
-  random_access_index(
-    const ctor_args_list& args_list,const allocator_type& al):
-    super(args_list.get_tail(),al),
-    ptrs(al,header()->impl(),0)
-  {
-  }
-
-  random_access_index(const random_access_index<SuperMeta,TagList>& x):
-    super(x),
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super(),
-#endif
-
-    ptrs(x.get_allocator(),header()->impl(),x.size())
-  {
-    /* The actual copying takes place in subsequent call to copy_().
-     */
-  }
-
-  random_access_index(
-    const random_access_index<SuperMeta,TagList>& x,do_not_copy_elements_tag):
-    super(x,do_not_copy_elements_tag()),
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super(),
-#endif
-
-    ptrs(x.get_allocator(),header()->impl(),0)
-  {
-  }
-
-  ~random_access_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<random_access_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 random_access_index<SuperMeta,TagList>& x,const copy_map_type& map)
-  {
-    for(node_impl_ptr_pointer begin_org=x.ptrs.begin(),
-                              begin_cpy=ptrs.begin(),
-                              end_org=x.ptrs.end();
-        begin_org!=end_org;++begin_org,++begin_cpy){
-      *begin_cpy=
-         static_cast<node_type*>(
-           map.find(
-             static_cast<final_node_type*>(
-               node_type::from_impl(*begin_org))))->impl();
-      (*begin_cpy)->up()=begin_cpy;
-    }
-
-    super::copy_(x,map);
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,final_node_type*& x,Variant variant)
-  {
-    ptrs.room_for_one();
-    final_node_type* res=super::insert_(v,x,variant);
-    if(res==x)ptrs.push_back(static_cast<node_type*>(x)->impl());
-    return res;
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,node_type* position,final_node_type*& x,Variant variant)
-  {
-    ptrs.room_for_one();
-    final_node_type* res=super::insert_(v,position,x,variant);
-    if(res==x)ptrs.push_back(static_cast<node_type*>(x)->impl());
-    return res;
-  }
-
-  void erase_(node_type* x)
-  {
-    ptrs.erase(x->impl());
-    super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    detach_iterators(x);
-#endif
-  }
-
-  void delete_all_nodes_()
-  {
-    for(node_impl_ptr_pointer x=ptrs.begin(),x_end=ptrs.end();x!=x_end;++x){
-      this->final_delete_node_(
-        static_cast<final_node_type*>(node_type::from_impl(*x)));
-    }
-  }
-
-  void clear_()
-  {
-    super::clear_();
-    ptrs.clear();
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::detach_dereferenceable_iterators();
-#endif
-  }
-
-  void swap_(random_access_index<SuperMeta,TagList>& x)
-  {
-    ptrs.swap(x.ptrs);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_(x);
-  }
-
-  void swap_elements_(random_access_index<SuperMeta,TagList>& x)
-  {
-    ptrs.swap(x.ptrs);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_elements_(x);
-  }
-
-  template<typename Variant>
-  bool replace_(value_param_type v,node_type* x,Variant variant)
-  {
-    return super::replace_(v,x,variant);
-  }
-
-  bool modify_(node_type* x)
-  {
-    BOOST_TRY{
-      if(!super::modify_(x)){
-        ptrs.erase(x->impl());
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-        detach_iterators(x);
-#endif
-
-        return false;
-      }
-      else return true;
-    }
-    BOOST_CATCH(...){
-      ptrs.erase(x->impl());
-
-#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)
-  {
-    {
-      typedef random_access_index_loader<node_type,allocator_type> loader;
-
-      loader ld(get_allocator(),ptrs);
-      lm.load(
-        ::boost::bind(
-          &loader::rearrange,&ld,::boost::arg<1>(),::boost::arg<2>()),
-        ar,version);
-    } /* exit scope so that ld frees its resources */
-    super::load_(ar,version,lm);
-  }
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  bool invariant_()const
-  {
-    if(size()>capacity())return false;
-    if(size()==0||begin()==end()){
-      if(size()!=0||begin()!=end())return false;
-    }
-    else{
-      size_type s=0;
-      for(const_iterator it=begin(),it_end=end();;++it,++s){
-        if(*(it.get_node()->up())!=it.get_node()->impl())return false;
-        if(it==it_end)break;
-      }
-      if(s!=size())return false;
-    }
-
-    return super::invariant_();
-  }
-
-  /* This forwarding function eases things for the boost::mem_fn construct
-   * in BOOST_MULTI_INDEX_RND_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();}
-
-  static void relocate(node_type* position,node_type* x)
-  {
-    node_impl_type::relocate(position->up(),x->up());
-  }
-
-  static void relocate(node_type* position,node_type* first,node_type* last)
-  {
-    node_impl_type::relocate(
-      position->up(),first->up(),last->up());
-  }
-
-#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_RND_INDEX_CHECK_INVARIANT;
-    clear();
-    for(;first!=last;++first)this->final_insert_ref_(*first);
-  }
-
-  void assign_iter(size_type n,value_param_type value,mpl::false_)
-  {
-    BOOST_MULTI_INDEX_RND_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_RND_INDEX_CHECK_INVARIANT;
-    size_type s=0;
-    BOOST_TRY{
-      for(;first!=last;++first){
-        if(this->final_insert_ref_(*first).second)++s;
-      }
-    }
-    BOOST_CATCH(...){
-      relocate(position,end()-s,end());
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    relocate(position,end()-s,end());
-  }
-
-  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_RND_INDEX_CHECK_INVARIANT;
-    size_type  s=0;
-    BOOST_TRY{
-      while(n--){
-        if(push_back(x).second)++s;
-      }
-    }
-    BOOST_CATCH(...){
-      relocate(position,end()-s,end());
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-    relocate(position,end()-s,end());
-  }
- 
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_front_impl(
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    return emplace_impl(begin(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_back_impl(
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    return emplace_impl(end(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_impl(
-    iterator position,BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-    BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT;
-    std::pair<final_node_type*,bool> p=
-      this->final_emplace_(BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-    if(p.second&&position.get_node()!=header()){
-      relocate(position.get_node(),p.first);
-    }
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-  ptr_array ptrs;
-
-#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 random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_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 random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_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 random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y)
-{
-  return !(x==y);
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y)
-{
-  return y<x;
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>=(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y)
-{
-  return !(x<y);
-}
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<=(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y)
-{
-  return !(x>y);
-}
-
-/*  specialized algorithms */
-
-template<typename SuperMeta,typename TagList>
-void swap(
-  random_access_index<SuperMeta,TagList>& x,
-  random_access_index<SuperMeta,TagList>& y)
-{
-  x.swap(y);
-}
-
-} /* namespace multi_index::detail */
-
-/* random access index specifier */
-
-template <typename TagList>
-struct random_access
-{
-  BOOST_STATIC_ASSERT(detail::is_tag<TagList>::value);
-
-  template<typename Super>
-  struct node_class
-  {
-    typedef detail::random_access_index_node<Super> type;
-  };
-
-  template<typename SuperMeta>
-  struct index_class
-  {
-    typedef detail::random_access_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::random_access_index<SuperMeta,TagList>*&,
-  boost_foreach_argument_dependent_lookup_hack)
-{
-  return 0;
-}
-
-#undef BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT
-#undef BOOST_MULTI_INDEX_RND_INDEX_CHECK_INVARIANT_OF
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/random_access_index_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/random_access_index_fwd.hpp
deleted file mode 100644
index 2ea1929..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/random_access_index_fwd.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2003-2013 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_RANDOM_ACCESS_INDEX_FWD_HPP
-#define BOOST_MULTI_INDEX_RANDOM_ACCESS_INDEX_FWD_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/multi_index/tag.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename SuperMeta,typename TagList>
-class random_access_index;
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator==(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator!=(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator>=(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y);
-
-template<
-  typename SuperMeta1,typename TagList1,
-  typename SuperMeta2,typename TagList2
->
-bool operator<=(
-  const random_access_index<SuperMeta1,TagList1>& x,
-  const random_access_index<SuperMeta2,TagList2>& y);
-
-template<typename SuperMeta,typename TagList>
-void swap(
-  random_access_index<SuperMeta,TagList>& x,
-  random_access_index<SuperMeta,TagList>& y);
-
-} /* namespace multi_index::detail */
-
-/* index specifiers */
-
-template <typename TagList=tag<> >
-struct random_access;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ranked_index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ranked_index.hpp
deleted file mode 100644
index 4fd4d32..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ranked_index.hpp
+++ /dev/null
@@ -1,382 +0,0 @@
-/* Copyright 2003-2015 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_RANKED_INDEX_HPP
-#define BOOST_MULTI_INDEX_RANKED_INDEX_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/multi_index/detail/ord_index_impl.hpp>
-#include <boost/multi_index/detail/rnk_index_ops.hpp>
-#include <boost/multi_index/ranked_index_fwd.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* ranked_index augments a given ordered index to provide rank operations */
-
-template<typename OrderedIndexNodeImpl>
-struct ranked_node:OrderedIndexNodeImpl
-{
-  std::size_t size;
-};
-
-template<typename OrderedIndexImpl>
-class ranked_index:public OrderedIndexImpl
-{
-  typedef          OrderedIndexImpl         super;
-
-protected:
-  typedef typename super::node_type         node_type;
-  typedef typename super::node_impl_pointer node_impl_pointer;
-
-public:
-  typedef typename super::ctor_args_list ctor_args_list;
-  typedef typename super::allocator_type allocator_type;
-  typedef typename super::iterator       iterator;
-
-  /* rank operations */
-
-  iterator nth(std::size_t n)const
-  {
-    return this->make_iterator(node_type::from_impl(
-      ranked_index_nth(n,this->header()->impl())));
-  }
-
-  std::size_t rank(iterator position)const
-  {
-    BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
-    BOOST_MULTI_INDEX_CHECK_IS_OWNER(position,*this);
-
-    return ranked_index_rank(
-      position.get_node()->impl(),this->header()->impl());
-  }
-
-  template<typename CompatibleKey>
-  std::size_t find_rank(const CompatibleKey& x)const
-  {
-    return ranked_index_find_rank(
-      this->root(),this->header(),this->key,x,this->comp_);
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  std::size_t find_rank(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return ranked_index_find_rank(
-      this->root(),this->header(),this->key,x,comp);
-  }
-
-  template<typename CompatibleKey>
-  std::size_t lower_bound_rank(const CompatibleKey& x)const
-  {
-    return ranked_index_lower_bound_rank(
-      this->root(),this->header(),this->key,x,this->comp_);
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  std::size_t lower_bound_rank(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return ranked_index_lower_bound_rank(
-      this->root(),this->header(),this->key,x,comp);
-  }
-
-  template<typename CompatibleKey>
-  std::size_t upper_bound_rank(const CompatibleKey& x)const
-  {
-    return ranked_index_upper_bound_rank(
-      this->root(),this->header(),this->key,x,this->comp_);
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  std::size_t upper_bound_rank(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return ranked_index_upper_bound_rank(
-      this->root(),this->header(),this->key,x,comp);
-  }
-
-  template<typename CompatibleKey>
-  std::pair<std::size_t,std::size_t> equal_range_rank(
-    const CompatibleKey& x)const
-  {
-    return ranked_index_equal_range_rank(
-      this->root(),this->header(),this->key,x,this->comp_);
-  }
-
-  template<typename CompatibleKey,typename CompatibleCompare>
-  std::pair<std::size_t,std::size_t> equal_range_rank(
-    const CompatibleKey& x,const CompatibleCompare& comp)const
-  {
-    return ranked_index_equal_range_rank(
-      this->root(),this->header(),this->key,x,comp);
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<std::size_t,std::size_t>
-  range_rank(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_rank(lower,upper,dispatch());
-  }
-
-protected:
-  ranked_index(const ranked_index& x):super(x){};
-
-  ranked_index(const ranked_index& x,do_not_copy_elements_tag):
-    super(x,do_not_copy_elements_tag()){};
-
-  ranked_index(
-    const ctor_args_list& args_list,const allocator_type& al):
-    super(args_list,al){}
-
-private:
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<std::size_t,std::size_t>
-  range_rank(LowerBounder lower,UpperBounder upper,none_unbounded_tag)const
-  {
-    node_type* y=this->header();
-    node_type* z=this->root();
-
-    if(!z)return std::pair<std::size_t,std::size_t>(0,0);
-
-    std::size_t s=z->size;
-
-    do{
-      if(!lower(this->key(z->value()))){
-        z=node_type::from_impl(z->right());
-      }
-      else if(!upper(this->key(z->value()))){
-        y=z;
-        s-=ranked_node_size(y->right())+1;
-        z=node_type::from_impl(z->left());
-      }
-      else{
-        return std::pair<std::size_t,std::size_t>(
-          s-z->size+
-            lower_range_rank(node_type::from_impl(z->left()),z,lower),
-          s-ranked_node_size(z->right())+
-            upper_range_rank(node_type::from_impl(z->right()),y,upper));
-      }
-    }while(z);
-
-    return std::pair<std::size_t,std::size_t>(s,s);
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<std::size_t,std::size_t>
-  range_rank(LowerBounder,UpperBounder upper,lower_unbounded_tag)const
-  {
-    return std::pair<std::size_t,std::size_t>(
-      0,
-      upper_range_rank(this->root(),this->header(),upper));
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<std::size_t,std::size_t>
-  range_rank(LowerBounder lower,UpperBounder,upper_unbounded_tag)const
-  {
-    return std::pair<std::size_t,std::size_t>(
-      lower_range_rank(this->root(),this->header(),lower),
-      this->size());
-  }
-
-  template<typename LowerBounder,typename UpperBounder>
-  std::pair<std::size_t,std::size_t>
-  range_rank(LowerBounder,UpperBounder,both_unbounded_tag)const
-  {
-    return std::pair<std::size_t,std::size_t>(0,this->size());
-  }
-
-  template<typename LowerBounder>
-  std::size_t
-  lower_range_rank(node_type* top,node_type* y,LowerBounder lower)const
-  {
-    if(!top)return 0;
-
-    std::size_t s=top->size;
-
-    do{
-      if(lower(this->key(top->value()))){
-        y=top;
-        s-=ranked_node_size(y->right())+1;
-        top=node_type::from_impl(top->left());
-      }
-      else top=node_type::from_impl(top->right());
-    }while(top);
-
-    return s;
-  }
-
-  template<typename UpperBounder>
-  std::size_t
-  upper_range_rank(node_type* top,node_type* y,UpperBounder upper)const
-  {
-    if(!top)return 0;
-
-    std::size_t s=top->size;
-
-    do{
-      if(!upper(this->key(top->value()))){
-        y=top;
-        s-=ranked_node_size(y->right())+1;
-        top=node_type::from_impl(top->left());
-      }
-      else top=node_type::from_impl(top->right());
-    }while(top);
-
-    return s;
-  }
-};
-
-/* augmenting policy for ordered_index */
-
-struct rank_policy
-{
-  template<typename OrderedIndexNodeImpl>
-  struct augmented_node
-  {
-    typedef ranked_node<OrderedIndexNodeImpl> type;
-  };
-
-  template<typename OrderedIndexImpl>
-  struct augmented_interface
-  {
-    typedef ranked_index<OrderedIndexImpl> type;
-  };
-
-  /* algorithmic stuff */
-
-  template<typename Pointer>
-  static void add(Pointer x,Pointer root)
-  {
-    x->size=1;
-    while(x!=root){
-      x=x->parent();
-      ++(x->size);
-    }
-  }
-
-  template<typename Pointer>
-  static void remove(Pointer x,Pointer root)
-  {
-    while(x!=root){
-      x=x->parent();
-      --(x->size);
-    }
-  }
-
-  template<typename Pointer>
-  static void copy(Pointer x,Pointer y)
-  {
-    y->size=x->size;
-  }
-
-  template<typename Pointer>
-  static void rotate_left(Pointer x,Pointer y) /* in: x==y->left() */
-  {
-    y->size=x->size;
-    x->size=ranked_node_size(x->left())+ranked_node_size(x->right())+1;
-  }
-
-  template<typename Pointer>
-  static void rotate_right(Pointer x,Pointer y) /* in: x==y->right() */
-  {
-    rotate_left(x,y);
-  }
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)
-  /* invariant stuff */
-
-  template<typename Pointer>
-  static bool invariant(Pointer x)
-  {
-    return x->size==ranked_node_size(x->left())+ranked_node_size(x->right())+1;
-  }
-#endif
-};
-
-} /* namespace multi_index::detail */
-
-/* ranked_index specifiers */
-
-template<typename Arg1,typename Arg2,typename Arg3>
-struct ranked_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<detail::rank_policy,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,
-      detail::rank_policy>                                type;
-  };
-};
-
-template<typename Arg1,typename Arg2,typename Arg3>
-struct ranked_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<detail::rank_policy,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,
-      detail::rank_policy>                                    type;
-  };
-};
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ranked_index_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ranked_index_fwd.hpp
deleted file mode 100644
index 380d348..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/ranked_index_fwd.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2003-2015 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_RANKED_INDEX_FWD_HPP
-#define BOOST_MULTI_INDEX_RANKED_INDEX_FWD_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/multi_index/detail/ord_index_args.hpp>
-#include <boost/multi_index/detail/ord_index_impl_fwd.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-/* ranked_index specifiers */
-
-template<typename Arg1,typename Arg2=mpl::na,typename Arg3=mpl::na>
-struct ranked_unique;
-
-template<typename Arg1,typename Arg2=mpl::na,typename Arg3=mpl::na>
-struct ranked_non_unique;
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/safe_mode_errors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/safe_mode_errors.hpp
deleted file mode 100644
index 1904706..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/safe_mode_errors.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/sequenced_index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/sequenced_index.hpp
deleted file mode 100644
index 424eebc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/sequenced_index.hpp
+++ /dev/null
@@ -1,1062 +0,0 @@
-/* Copyright 2003-2015 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)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/bind.hpp>
-#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/move/core.hpp>
-#include <boost/move/utility.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/do_not_copy_elements_tag.hpp>
-#include <boost/multi_index/detail/index_node_base.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/detail/vartempl_support.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_NO_CXX11_HDR_INITIALIZER_LIST)
-#include<initializer_list>
-#endif
-
-#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_OF(x)                    \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(x,&sequenced_index::check_invariant_);            \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#define BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT                          \
-  BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT_OF(*this)
-#else
-#define BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT_OF(x)
-#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)
-  ,public safe_mode::safe_container<
-    sequenced_index<SuperMeta,TagList> >
-#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)
-  typedef safe_mode::safe_iterator<
-    bidir_node_iterator<node_type>,
-    sequenced_index>                                  iterator;
-#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)
-  typedef safe_mode::safe_container<
-    sequenced_index>                          safe_super;
-#endif
-
-  typedef typename call_traits<value_type>::param_type value_param_type;
-
-  /* Needed to avoid commas in BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL
-   * expansion.
-   */
-
-  typedef std::pair<iterator,bool>                     emplace_return_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;
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  sequenced_index<SuperMeta,TagList>& operator=(
-    std::initializer_list<value_type> list)
-  {
-    this->final()=list;
-    return *this;
-  }
-#endif
-
-  template <class InputIterator>
-  void assign(InputIterator first,InputIterator last)
-  {
-    assign_iter(first,last,mpl::not_<is_integral<InputIterator> >());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  void assign(std::initializer_list<value_type> list)
-  {
-    assign(list.begin(),list.end());
-  }
-#endif
-
-  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 BOOST_NOEXCEPT
-  {
-    return this->final().get_allocator();
-  }
-
-  /* iterators */
-
-  iterator  begin()BOOST_NOEXCEPT
-    {return make_iterator(node_type::from_impl(header()->next()));}
-  const_iterator begin()const BOOST_NOEXCEPT
-    {return make_iterator(node_type::from_impl(header()->next()));}
-  iterator
-    end()BOOST_NOEXCEPT{return make_iterator(header());}
-  const_iterator
-    end()const BOOST_NOEXCEPT{return make_iterator(header());}
-  reverse_iterator
-    rbegin()BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());}
-  const_reverse_iterator
-    rbegin()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(end());}
-  reverse_iterator
-    rend()BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());}
-  const_reverse_iterator
-    rend()const BOOST_NOEXCEPT{return boost::make_reverse_iterator(begin());}
-  const_iterator
-    cbegin()const BOOST_NOEXCEPT{return begin();}
-  const_iterator
-    cend()const BOOST_NOEXCEPT{return end();}
-  const_reverse_iterator
-    crbegin()const BOOST_NOEXCEPT{return rbegin();}
-  const_reverse_iterator
-    crend()const BOOST_NOEXCEPT{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 BOOST_NOEXCEPT{return this->final_empty_();}
-  size_type size()const BOOST_NOEXCEPT{return this->final_size_();}
-  size_type max_size()const BOOST_NOEXCEPT{return this->final_max_size_();}
-
-  void resize(size_type n)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(n>size()){
-      for(size_type m=n-size();m--;)
-        this->final_emplace_(BOOST_MULTI_INDEX_NULL_PARAM_PACK);
-    }
-    else if(n<size()){for(size_type m=size()-n;m--;)pop_back();}
-  }
-
-  void resize(size_type n,value_param_type x)
-  {
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT;
-    if(n>size())insert(end(),n-size(),x);
-    else if(n<size())for(size_type m=size()-n;m--;)pop_back();
-  }
-
-  /* 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 */
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(
-    emplace_return_type,emplace_front,emplace_front_impl)
-
-  std::pair<iterator,bool> push_front(const value_type& x)
-                             {return insert(begin(),x);}
-  std::pair<iterator,bool> push_front(BOOST_RV_REF(value_type) x)
-                             {return insert(begin(),boost::move(x));}
-  void                     pop_front(){erase(begin());}
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL(
-    emplace_return_type,emplace_back,emplace_back_impl)
-
-  std::pair<iterator,bool> push_back(const value_type& x)
-                             {return insert(end(),x);}
-  std::pair<iterator,bool> push_back(BOOST_RV_REF(value_type) x)
-                             {return insert(end(),boost::move(x));}
-  void                     pop_back(){erase(--end());}
-
-  BOOST_MULTI_INDEX_OVERLOADS_TO_VARTEMPL_EXTRA_ARG(
-    emplace_return_type,emplace,emplace_impl,iterator,position)
-
-  std::pair<iterator,bool> insert(iterator position,const value_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);
-  }
-
-  std::pair<iterator,bool> insert(iterator position,BOOST_RV_REF(value_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_rv_(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> >());
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  void insert(iterator position,std::initializer_list<value_type> list)
-  {
-    insert(position,list.begin(),list.end());
-  }
-#endif
-
-  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,const value_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()));
-  }
-
-  bool replace(iterator position,BOOST_RV_REF(value_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_rv_(
-      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;
-    BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT_OF(x);
-    this->final_swap_(x.final());
-  }
-
-  void clear()BOOST_NOEXCEPT
-  {
-    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,
-      ::boost::bind(std::equal_to<value_type>(),::boost::arg<1>(),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_NOEXCEPT
-  {
-    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(
-    const sequenced_index<SuperMeta,TagList>& x,do_not_copy_elements_tag):
-    super(x,do_not_copy_elements_tag())
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    ,safe_super()
-#endif
-
-  {
-    empty_initialize();
-  }
-
-  ~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);
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,final_node_type*& x,Variant variant)
-  {
-    final_node_type* res=super::insert_(v,x,variant);
-    if(res==x)link(static_cast<node_type*>(x));
-    return res;
-  }
-
-  template<typename Variant>
-  final_node_type* insert_(
-    value_param_type v,node_type* position,final_node_type*& x,Variant variant)
-  {
-    final_node_type* res=super::insert_(v,position,x,variant);
-    if(res==x)link(static_cast<node_type*>(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);
-  }
-
-  void swap_elements_(sequenced_index<SuperMeta,TagList>& x)
-  {
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-    safe_super::swap(x);
-#endif
-
-    super::swap_elements_(x);
-  }
-
-  template<typename Variant>
-  bool replace_(value_param_type v,node_type* x,Variant variant)
-  {
-    return super::replace_(v,x,variant);
-  }
-
-  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,::boost::arg<1>(),::boost::arg<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)this->final_insert_ref_(*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){
-      std::pair<final_node_type*,bool> p=
-        this->final_insert_ref_(*first);
-      if(p.second&&position.get_node()!=header()){
-        relink(position.get_node(),p.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);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_front_impl(
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    return emplace_impl(begin(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_back_impl(
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    return emplace_impl(end(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<iterator,bool> emplace_impl(
-    iterator position,BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    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_emplace_(BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-    if(p.second&&position.get_node()!=header()){
-      relink(position.get_node(),p.first);
-    }
-    return std::pair<iterator,bool>(make_iterator(p.first),p.second);
-  }
-
-#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_argument_dependent_lookup_hack)
-{
-  return 0;
-}
-
-#undef BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT
-#undef BOOST_MULTI_INDEX_SEQ_INDEX_CHECK_INVARIANT_OF
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/sequenced_index_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/sequenced_index_fwd.hpp
deleted file mode 100644
index a019f2a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/sequenced_index_fwd.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/tag.hpp
deleted file mode 100644
index ce51f82..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index/tag.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright 2003-2013 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)
-#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)
-#define BOOST_MULTI_INDEX_LIMIT_TAG_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
-#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/rbgl_trimmed_boost_1_61_0/boost/multi_index_container.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index_container.hpp
deleted file mode 100644
index 9993a8d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index_container.hpp
+++ /dev/null
@@ -1,1362 +0,0 @@
-/* Multiply indexed container.
- *
- * Copyright 2003-2014 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)
-#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/move/core.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/do_not_copy_elements_tag.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/safe_mode.hpp>
-#include <boost/multi_index/detail/scope_guard.hpp>
-#include <boost/multi_index/detail/vartempl_support.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/utility/base_from_member.hpp>
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-#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_OF(x)                              \
-  detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)=                 \
-    detail::make_obj_guard(x,&multi_index_container::check_invariant_);      \
-  BOOST_JOIN(check_invariant_,__LINE__).touch();
-#define BOOST_MULTI_INDEX_CHECK_INVARIANT                                    \
-  BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(*this)
-#else
-#define BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(x)
-#define BOOST_MULTI_INDEX_CHECK_INVARIANT
-#endif
-
-namespace boost{
-
-namespace multi_index{
-
-#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
-#pragma warning(push)
-#pragma warning(disable:4522) /* spurious warning on multiple operator=()'s */
-#endif
-
-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 boost::detail::allocator::rebind_to<
-      Allocator,
-      typename detail::multi_index_node_type<
-        Value,IndexSpecifierList,Allocator>::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:
-  BOOST_COPYABLE_AND_MOVABLE(multi_index_container)
-
-#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 node_allocator::pointer,
-    multi_index_container>                        bfm_header;
-
-
-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;
- 
-  typedef typename super::index_type_list          index_type_list;
-
-  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_ref_(*first,hint.get_node()).first);
-        ++hint;
-      }
-    }
-    BOOST_CATCH(...){
-      clear_();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  multi_index_container(
-    std::initializer_list<Value> list,
-    const ctor_args_list& args_list=ctor_args_list(),
-    const allocator_type& al=allocator_type()):
-    bfm_allocator(al),
-    super(args_list,bfm_allocator::member),
-    node_count(0)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-    BOOST_TRY{
-      typedef const Value* init_iterator;
-
-      iterator hint=super::end();
-      for(init_iterator first=list.begin(),last=list.end();
-          first!=last;++first){
-        hint=super::make_iterator(insert_(*first,hint.get_node()).first);
-        ++hint;
-      }
-    }
-    BOOST_CATCH(...){
-      clear_();
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-#endif
-
-  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(BOOST_RV_REF(multi_index_container) x):
-    bfm_allocator(x.bfm_allocator::member),
-    bfm_header(),
-    super(x,detail::do_not_copy_elements_tag()),
-    node_count(0)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-    BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(x);
-    swap_elements_(x);
-  }
-
-  ~multi_index_container()
-  {
-    delete_all_nodes_();
-  }
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-  /* As per http://www.boost.org/doc/html/move/emulation_limitations.html
-   * #move.emulation_limitations.assignment_operator
-   */
-
-  multi_index_container<Value,IndexSpecifierList,Allocator>& operator=(
-    const multi_index_container<Value,IndexSpecifierList,Allocator>& x)
-  {
-    multi_index_container y(x);
-    this->swap(y);
-    return *this;
-  }
-#endif
-
-  multi_index_container<Value,IndexSpecifierList,Allocator>& operator=(
-    BOOST_COPY_ASSIGN_REF(multi_index_container) x)
-  {
-    multi_index_container y(x);
-    this->swap(y);
-    return *this;
-  }
-
-  multi_index_container<Value,IndexSpecifierList,Allocator>& operator=(
-    BOOST_RV_REF(multi_index_container) x)
-  {
-    this->swap(x);
-    return *this;
-  }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  multi_index_container<Value,IndexSpecifierList,Allocator>& operator=(
-    std::initializer_list<Value> list)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-    typedef const Value* init_iterator;
-
-    multi_index_container x(*this,detail::do_not_copy_elements_tag());    
-    iterator hint=x.end();
-    for(init_iterator first=list.begin(),last=list.end();
-        first!=last;++first){
-      hint=x.make_iterator(x.insert_(*first,hint.get_node()).first);
-      ++hint;
-    }
-    x.swap_elements_(*this);
-    return*this;
-  }
-#endif
-
-  allocator_type get_allocator()const BOOST_NOEXCEPT
-  {
-    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_NOEXCEPT
-  {
-    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()const BOOST_NOEXCEPT
-  {
-    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_NOEXCEPT
-  {
-    return *this;
-  }
-
-  template<typename Tag>
-  const typename index<Tag>::type& get()const BOOST_NOEXCEPT
-  {
-    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)
-  {
-    typedef typename nth_index<N>::type index_type;
-
-#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_type::make_iterator(static_cast<node_type*>(it.get_node()));
-  }
-
-  template<int N,typename IteratorType>
-  typename nth_index_const_iterator<N>::type project(IteratorType it)const
-  {
-    typedef typename nth_index<N>::type index_type;
-
-#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_type::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)
-  {
-    typedef typename index<Tag>::type index_type;
-
-#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_type::make_iterator(static_cast<node_type*>(it.get_node()));
-  }
-
-  template<typename Tag,typename IteratorType>
-  typename index_const_iterator<Tag>::type project(IteratorType it)const
-  {
-    typedef typename index<Tag>::type index_type;
-
-#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_type::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;
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-  multi_index_container(
-    const multi_index_container<Value,IndexSpecifierList,Allocator>& x,
-    detail::do_not_copy_elements_tag):
-    bfm_allocator(x.bfm_allocator::member),
-    bfm_header(),
-    super(x,detail::do_not_copy_elements_tag()),
-    node_count(0)
-  {
-    BOOST_MULTI_INDEX_CHECK_INVARIANT;
-  }
-#endif
-
-  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);
-  }
-
-  template<typename Variant>
-  std::pair<node_type*,bool> insert_(const Value& v,Variant variant)
-  {
-    node_type* x=0;
-    node_type* res=super::insert_(v,x,variant);
-    if(res==x){
-      ++node_count;
-      return std::pair<node_type*,bool>(res,true);
-    }
-    else{
-      return std::pair<node_type*,bool>(res,false);
-    }
-  }
-
-  std::pair<node_type*,bool> insert_(const Value& v)
-  {
-    return insert_(v,detail::lvalue_tag());
-  }
-
-  std::pair<node_type*,bool> insert_rv_(const Value& v)
-  {
-    return insert_(v,detail::rvalue_tag());
-  }
-
-  template<typename T>
-  std::pair<node_type*,bool> insert_ref_(T& t)
-  {
-    node_type* x=allocate_node();
-    BOOST_TRY{
-      new(&x->value()) value_type(t);
-      BOOST_TRY{
-        node_type* res=super::insert_(x->value(),x,detail::emplaced_tag());
-        if(res==x){
-          ++node_count;
-          return std::pair<node_type*,bool>(res,true);
-        }
-        else{
-          boost::detail::allocator::destroy(&x->value());
-          deallocate_node(x);
-          return std::pair<node_type*,bool>(res,false);
-        }
-      }
-      BOOST_CATCH(...){
-        boost::detail::allocator::destroy(&x->value());
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-    BOOST_CATCH(...){
-      deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  std::pair<node_type*,bool> insert_ref_(const value_type& x)
-  {
-    return insert_(x);
-  }
-
-  std::pair<node_type*,bool> insert_ref_(value_type& x)
-  {
-    return insert_(x);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<node_type*,bool> emplace_(
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    node_type* x=allocate_node();
-    BOOST_TRY{
-      detail::vartempl_placement_new(
-        &x->value(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-      BOOST_TRY{
-        node_type* res=super::insert_(x->value(),x,detail::emplaced_tag());
-        if(res==x){
-          ++node_count;
-          return std::pair<node_type*,bool>(res,true);
-        }
-        else{
-          boost::detail::allocator::destroy(&x->value());
-          deallocate_node(x);
-          return std::pair<node_type*,bool>(res,false);
-        }
-      }
-      BOOST_CATCH(...){
-        boost::detail::allocator::destroy(&x->value());
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-    BOOST_CATCH(...){
-      deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  template<typename Variant>
-  std::pair<node_type*,bool> insert_(
-    const Value& v,node_type* position,Variant variant)
-  {
-    node_type* x=0;
-    node_type* res=super::insert_(v,position,x,variant);
-    if(res==x){
-      ++node_count;
-      return std::pair<node_type*,bool>(res,true);
-    }
-    else{
-      return std::pair<node_type*,bool>(res,false);
-    }
-  }
-
-  std::pair<node_type*,bool> insert_(const Value& v,node_type* position)
-  {
-    return insert_(v,position,detail::lvalue_tag());
-  }
-
-  std::pair<node_type*,bool> insert_rv_(const Value& v,node_type* position)
-  {
-    return insert_(v,position,detail::rvalue_tag());
-  }
-
-  template<typename T>
-  std::pair<node_type*,bool> insert_ref_(
-    T& t,node_type* position)
-  {
-    node_type* x=allocate_node();
-    BOOST_TRY{
-      new(&x->value()) value_type(t);
-      BOOST_TRY{
-        node_type* res=super::insert_(
-          x->value(),position,x,detail::emplaced_tag());
-        if(res==x){
-          ++node_count;
-          return std::pair<node_type*,bool>(res,true);
-        }
-        else{
-          boost::detail::allocator::destroy(&x->value());
-          deallocate_node(x);
-          return std::pair<node_type*,bool>(res,false);
-        }
-      }
-      BOOST_CATCH(...){
-        boost::detail::allocator::destroy(&x->value());
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-    BOOST_CATCH(...){
-      deallocate_node(x);
-      BOOST_RETHROW;
-    }
-    BOOST_CATCH_END
-  }
-
-  std::pair<node_type*,bool> insert_ref_(
-    const value_type& x,node_type* position)
-  {
-    return insert_(x,position);
-  }
-
-  std::pair<node_type*,bool> insert_ref_(
-    value_type& x,node_type* position)
-  {
-    return insert_(x,position);
-  }
-
-  template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK>
-  std::pair<node_type*,bool> emplace_hint_(
-    node_type* position,
-    BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
-  {
-    node_type* x=allocate_node();
-    BOOST_TRY{
-      detail::vartempl_placement_new(
-        &x->value(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK);
-      BOOST_TRY{
-        node_type* res=super::insert_(
-          x->value(),position,x,detail::emplaced_tag());
-        if(res==x){
-          ++node_count;
-          return std::pair<node_type*,bool>(res,true);
-        }
-        else{
-          boost::detail::allocator::destroy(&x->value());
-          deallocate_node(x);
-          return std::pair<node_type*,bool>(res,false);
-        }
-      }
-      BOOST_CATCH(...){
-        boost::detail::allocator::destroy(&x->value());
-        BOOST_RETHROW;
-      }
-      BOOST_CATCH_END
-    }
-    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);
-  }
-
-  void swap_elements_(
-    multi_index_container<Value,IndexSpecifierList,Allocator>& x)
-  {
-    std::swap(bfm_header::member,x.bfm_header::member);
-    super::swap_elements_(x);
-    std::swap(node_count,x.node_count);
-  }
-
-  bool replace_(const Value& k,node_type* x)
-  {
-    return super::replace_(k,x,detail::lvalue_tag());
-  }
-
-  bool replace_rv_(const Value& k,node_type* x)
-  {
-    return super::replace_(k,x,detail::rvalue_tag());
-  }
-
-  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
-  {
-    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);
-
-    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_(); 
-    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=static_cast<serialization::collection_size_type>(sz);
-    }
-    else{
-      ar>>serialization::make_nvp("count",s);
-    }
-    if(version<2){
-      value_version=0;
-    }
-    else{
-      ar>>serialization::make_nvp("value_version",value_version);
-    }
-
-    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
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
-#pragma warning(pop) /* C4522 */
-#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_NOEXCEPT
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>    multi_index_type;
-  typedef typename nth_index<
-    multi_index_container<
-      Value,IndexSpecifierList,Allocator>,
-    N
-  >::type                                  index_type;
-
-  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_type>::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_NOEXCEPT
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>    multi_index_type;
-  typedef typename nth_index<
-    multi_index_container<
-      Value,IndexSpecifierList,Allocator>,
-    N
-  >::type                                  index_type;
-
-  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_type>::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_NOEXCEPT
-{
-  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_type;
-
-  return detail::converter<multi_index_type,index_type>::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_NOEXCEPT
-{
-  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_type;
-
-  return detail::converter<multi_index_type,index_type>::index(m);
-}
-
-/* projection of iterators by number */
-
-template<typename MultiIndexContainer,int N>
-struct nth_index_iterator
-{
-  typedef typename nth_index<MultiIndexContainer,N>::type::iterator type;
-};
-
-template<typename MultiIndexContainer,int N>
-struct nth_index_const_iterator
-{
-  typedef typename nth_index<MultiIndexContainer,N>::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)
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>                multi_index_type;
-  typedef typename nth_index<multi_index_type,N>::type index_type;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */
-  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_type>::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)
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>                multi_index_type;
-  typedef typename nth_index<multi_index_type,N>::type index_type;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */
-  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_type>::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)
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>         multi_index_type;
-  typedef typename ::boost::multi_index::index<
-    multi_index_type,Tag>::type                 index_type;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */
-  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_type>::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)
-{
-  typedef multi_index_container<
-    Value,IndexSpecifierList,Allocator>         multi_index_type;
-  typedef typename ::boost::multi_index::index<
-    multi_index_type,Tag>::type                 index_type;
-
-#if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */
-  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_type>::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)
-/* 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
-#undef BOOST_MULTI_INDEX_CHECK_INVARIANT_OF
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index_container_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/multi_index_container_fwd.hpp
deleted file mode 100644
index b35acad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/multi_index_container_fwd.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2003-2013 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)
-#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/rbgl_trimmed_boost_1_61_0/boost/next_prior.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/next_prior.hpp
deleted file mode 100644
index 7854ec4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/next_prior.hpp
+++ /dev/null
@@ -1,165 +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>
-#if defined(_MSC_VER) && _MSC_VER <= 1310
-#include <boost/mpl/and.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#endif
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/type_traits/integral_promotion.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include <boost/type_traits/has_plus.hpp>
-#include <boost/type_traits/has_plus_assign.hpp>
-#include <boost/type_traits/has_minus.hpp>
-#include <boost/type_traits/has_minus_assign.hpp>
-
-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
-
-namespace next_prior_detail {
-
-template< typename T, typename Distance, bool HasPlus = has_plus< T, Distance >::value >
-struct next_impl2
-{
-    static T call(T x, Distance n)
-    {
-        std::advance(x, n);
-        return x;
-    }
-};
-
-template< typename T, typename Distance >
-struct next_impl2< T, Distance, true >
-{
-    static T call(T x, Distance n)
-    {
-        return x + n;
-    }
-};
-
-
-template< typename T, typename Distance, bool HasPlusAssign = has_plus_assign< T, Distance >::value >
-struct next_impl1 :
-    public next_impl2< T, Distance >
-{
-};
-
-template< typename T, typename Distance >
-struct next_impl1< T, Distance, true >
-{
-    static T call(T x, Distance n)
-    {
-        x += n;
-        return x;
-    }
-};
-
-
-template<
-    typename T,
-    typename Distance,
-    typename PromotedDistance = typename integral_promotion< Distance >::type,
-#if !defined(_MSC_VER) || _MSC_VER > 1310
-    bool IsUInt = is_unsigned< PromotedDistance >::value
-#else
-    // MSVC 7.1 has problems with applying is_unsigned to non-integral types
-    bool IsUInt = mpl::and_< is_integral< PromotedDistance >, is_unsigned< PromotedDistance > >::value
-#endif
->
-struct prior_impl3
-{
-    static T call(T x, Distance n)
-    {
-        std::advance(x, -n);
-        return x;
-    }
-};
-
-template< typename T, typename Distance, typename PromotedDistance >
-struct prior_impl3< T, Distance, PromotedDistance, true >
-{
-    static T call(T x, Distance n)
-    {
-        typedef typename make_signed< PromotedDistance >::type signed_distance;
-        std::advance(x, -static_cast< signed_distance >(static_cast< PromotedDistance >(n)));
-        return x;
-    }
-};
-
-
-template< typename T, typename Distance, bool HasMinus = has_minus< T, Distance >::value >
-struct prior_impl2 :
-    public prior_impl3< T, Distance >
-{
-};
-
-template< typename T, typename Distance >
-struct prior_impl2< T, Distance, true >
-{
-    static T call(T x, Distance n)
-    {
-        return x - n;
-    }
-};
-
-
-template< typename T, typename Distance, bool HasMinusAssign = has_minus_assign< T, Distance >::value >
-struct prior_impl1 :
-    public prior_impl2< T, Distance >
-{
-};
-
-template< typename T, typename Distance >
-struct prior_impl1< T, Distance, true >
-{
-    static T call(T x, Distance n)
-    {
-        x -= n;
-        return x;
-    }
-};
-
-} // namespace next_prior_detail
-
-template <class T>
-inline T next(T x) { return ++x; }
-
-template <class T, class Distance>
-inline T next(T x, Distance n)
-{
-    return next_prior_detail::next_impl1< T, Distance >::call(x, n);
-}
-
-template <class T>
-inline T prior(T x) { return --x; }
-
-template <class T, class Distance>
-inline T prior(T x, Distance n)
-{
-    return next_prior_detail::prior_impl1< T, Distance >::call(x, n);
-}
-
-} // namespace boost
-
-#endif  // BOOST_NEXT_PRIOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/non_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/non_type.hpp
deleted file mode 100644
index 896aed4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/noncopyable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/noncopyable.hpp
deleted file mode 100644
index e998ee8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/noncopyable.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_NONCOPYABLE_HPP
-#define BOOST_NONCOPYABLE_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/noncopyable.hpp instead.
-
-#include <boost/core/noncopyable.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/nondet_random.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/nondet_random.hpp
deleted file mode 100644
index 1ec2e44..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/nondet_random.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/* boost nondet_random.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$
- *
- * Revision history
- *  2000-02-18  Portability fixes (thanks to Beman Dawes)
- */
-
-//  See http://www.boost.org/libs/random for documentation.
-
-
-#ifndef BOOST_NONDET_RANDOM_HPP
-#define BOOST_NONDET_RANDOM_HPP
-
-#include <boost/random/random_device.hpp>
-
-#endif /* BOOST_NONDET_RANDOM_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/none.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/none.hpp
deleted file mode 100644
index a37c45c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/none.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2014, 2015 Andrzej Krzemienski.
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (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 {
-
-#ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
-
-none_t const none = (static_cast<none_t>(0)) ;
-
-#elif defined BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE
-
-namespace detail { namespace optional_detail {
-
-  // the trick here is to make boost::none defined once as a global but in a header file
-  template <typename T>
-  struct none_instance
-  {
-    static const T instance;
-  };
-  
-  template <typename T>
-  const T none_instance<T>::instance = T(); // global, but because 'tis a template, no cpp file required
-
-} } // namespace detail::optional_detail
-
-
-namespace {
-  // TU-local
-  const none_t& none = detail::optional_detail::none_instance<none_t>::instance; 
-}
-
-#else
-
-const none_t none ((none_t::init_tag()));
-
-#endif // older definitions
-
-} // namespace boost
-
-#endif // header guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/none_t.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/none_t.hpp
deleted file mode 100644
index 008f369..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/none_t.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2014, 2015 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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 {
-
-#ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
-
-namespace detail { struct none_helper{}; }
-typedef int detail::none_helper::*none_t ;
-
-#elif defined BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE
-
-class none_t {};
-
-#else
-
-struct none_t
-{
-  struct init_tag{};
-  explicit none_t(init_tag){} // to disable default constructor
-};
-
-#endif // old implementation workarounds
-
-} // namespace boost
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/operators.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/operators.hpp
deleted file mode 100644
index 3fc08d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/operators.hpp
+++ /dev/null
@@ -1,892 +0,0 @@
-//  Boost operators.hpp header file  ----------------------------------------//
-
-//  (C) Copyright David Abrahams, Jeremy Siek, Daryle Walker 1999-2001.
-//  (C) Copyright Daniel Frey 2002-2016.
-//  Distributed under the Boost Software License, Version 1.0. (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
-//  22 Feb 16 Added ADL protection, preserve old work-arounds in
-//            operators_v1.hpp and clean up this file. (Daniel Frey)
-//  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 'operators_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
-
-// If old work-arounds are needed, refer to the preserved version without
-// ADL protection.
-#if defined(BOOST_NO_OPERATORS_IN_NAMESPACE) || defined(BOOST_USE_OPERATORS_V1)
-#include "operators_v1.hpp"
-#else
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.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
-
-// 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.
-
-namespace boost
-{
-namespace operators_impl
-{
-namespace operators_detail
-{
-
-template <typename T> class empty_base {};
-
-} // namespace operators_detail
-
-//  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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_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 = operators_detail::empty_base<T> >
-struct totally_ordered2
-    : less_than_comparable2<T, U
-    , equality_comparable2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct totally_ordered1
-    : less_than_comparable1<T
-    , equality_comparable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct additive2
-    : addable2<T, U
-    , subtractable2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct additive1
-    : addable1<T
-    , subtractable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct multiplicative2
-    : multipliable2<T, U
-    , dividable2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct multiplicative1
-    : multipliable1<T
-    , dividable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct integer_multiplicative2
-    : multiplicative2<T, U
-    , modable2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct integer_multiplicative1
-    : multiplicative1<T
-    , modable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct arithmetic2
-    : additive2<T, U
-    , multiplicative2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct arithmetic1
-    : additive1<T
-    , multiplicative1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct integer_arithmetic2
-    : additive2<T, U
-    , integer_multiplicative2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct integer_arithmetic1
-    : additive1<T
-    , integer_multiplicative1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct bitwise2
-    : xorable2<T, U
-    , andable2<T, U
-    , orable2<T, U, B
-      > > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct bitwise1
-    : xorable1<T
-    , andable1<T
-    , orable1<T, B
-      > > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct unit_steppable
-    : incrementable<T
-    , decrementable<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct shiftable2
-    : left_shiftable2<T, U
-    , right_shiftable2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct shiftable1
-    : left_shiftable1<T
-    , right_shiftable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct ring_operators2
-    : additive2<T, U
-    , subtractable2_left<T, U
-    , multipliable2<T, U, B
-      > > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct ring_operators1
-    : additive1<T
-    , multipliable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct ordered_ring_operators2
-    : ring_operators2<T, U
-    , totally_ordered2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct ordered_ring_operators1
-    : ring_operators1<T
-    , totally_ordered1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct field_operators2
-    : ring_operators2<T, U
-    , dividable2<T, U
-    , dividable2_left<T, U, B
-      > > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct field_operators1
-    : ring_operators1<T
-    , dividable1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct ordered_field_operators2
-    : field_operators2<T, U
-    , totally_ordered2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct ordered_field_operators1
-    : field_operators1<T
-    , totally_ordered1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_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 = operators_detail::empty_base<T> >
-struct euclidian_ring_operators1
-    : ring_operators1<T
-    , dividable1<T
-    , modable1<T, B
-      > > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct ordered_euclidian_ring_operators2
-    : totally_ordered2<T, U
-    , euclidian_ring_operators2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct ordered_euclidian_ring_operators1
-    : totally_ordered1<T
-    , euclidian_ring_operators1<T, B
-      > > {};
-
-template <class T, class U, class B = operators_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 = operators_detail::empty_base<T> >
-struct euclidean_ring_operators1
-    : ring_operators1<T
-    , dividable1<T
-    , modable1<T, B
-      > > > {};
-
-template <class T, class U, class B = operators_detail::empty_base<T> >
-struct ordered_euclidean_ring_operators2
-    : totally_ordered2<T, U
-    , euclidean_ring_operators2<T, U, B
-      > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct ordered_euclidean_ring_operators1
-    : totally_ordered1<T
-    , euclidean_ring_operators1<T, B
-      > > {};
-
-template <class T, class P, class B = operators_detail::empty_base<T> >
-struct input_iteratable
-    : equality_comparable1<T
-    , incrementable<T
-    , dereferenceable<T, P, B
-      > > > {};
-
-template <class T, class B = operators_detail::empty_base<T> >
-struct output_iteratable
-    : incrementable<T, B
-      > {};
-
-template <class T, class P, class B = operators_detail::empty_base<T> >
-struct forward_iteratable
-    : input_iteratable<T, P, B
-      > {};
-
-template <class T, class P, class B = operators_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 = operators_detail::empty_base<T> >
-struct random_access_iteratable
-    : bidirectional_iteratable<T, P
-    , less_than_comparable1<T
-    , additive2<T, D
-    , indexable<T, D, R, B
-      > > > > {};
-
-
-//
-// Here's where we put it all together, defining the xxxx forms of the templates.
-// We also define specializations of is_chained_base<> for
-// the xxxx, xxxx1, and xxxx2 templates.
-//
-
-namespace operators_detail
-{
-
-// 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.
-struct true_t {};
-struct false_t {};
-
-} // namespace operators_detail
-
-// 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.
-
-// 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 operators_detail::false_t value;
-};
-
-// Provide a specialization of 'is_chained_base<>'
-// for a 4-type-argument operator template.
-# define BOOST_OPERATOR_TEMPLATE4(template_name4)           \
-  template<class T, class U, class V, class W, class B>     \
-  struct is_chained_base< template_name4<T, U, V, W, B> > { \
-    typedef operators_detail::true_t value;                 \
-  };
-
-// Provide a specialization of 'is_chained_base<>'
-// for a 3-type-argument operator template.
-# define BOOST_OPERATOR_TEMPLATE3(template_name3)        \
-  template<class T, class U, class V, class B>           \
-  struct is_chained_base< template_name3<T, U, V, B> > { \
-    typedef operators_detail::true_t value;              \
-  };
-
-// Provide a specialization of 'is_chained_base<>'
-// for a 2-type-argument operator template.
-# define BOOST_OPERATOR_TEMPLATE2(template_name2)     \
-  template<class T, class U, class B>                 \
-  struct is_chained_base< template_name2<T, U, B> > { \
-    typedef operators_detail::true_t value;           \
-  };
-
-// Provide a specialization of 'is_chained_base<>'
-// for a 1-type-argument operator template.
-# define BOOST_OPERATOR_TEMPLATE1(template_name1)  \
-  template<class T, class B>                       \
-  struct is_chained_base< template_name1<T, B> > { \
-    typedef operators_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 = operators_detail::empty_base<T>                                   \
-         ,class O = typename is_chained_base<U>::value                                \
-         >                                                                            \
-struct template_name;                                                                 \
-                                                                                      \
-template<class T, class U, class B>                                                   \
-struct template_name<T, U, B, operators_detail::false_t>                              \
-  : template_name##2<T, U, B> {};                                                     \
-                                                                                      \
-template<class T, class U>                                                            \
-struct template_name<T, U, operators_detail::empty_base<T>, operators_detail::true_t> \
-  : template_name##1<T, U> {};                                                        \
-                                                                                      \
-template <class T, class B>                                                           \
-struct template_name<T, T, B, operators_detail::false_t>                              \
-  : template_name##1<T, B> {};                                                        \
-                                                                                      \
-template<class T, class U, class B, class O>                                          \
-struct is_chained_base< template_name<T, U, B, O> > {                                 \
-  typedef operators_detail::true_t value;                                             \
-};                                                                                    \
-                                                                                      \
-BOOST_OPERATOR_TEMPLATE2(template_name##2)                                            \
-BOOST_OPERATOR_TEMPLATE1(template_name##1)
-
-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
-
-template <class T, class U>
-struct operators2
-    : totally_ordered2<T,U
-    , integer_arithmetic2<T,U
-    , bitwise2<T,U
-      > > > {};
-
-template <class T, class U = T>
-struct operators : operators2<T, U> {};
-
-template <class T> struct operators<T, T>
-    : 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
-  , std::iterator<std::input_iterator_tag, V, D, P, R
-    > > {};
-
-template<class T>
-struct output_iterator_helper
-  : output_iteratable<T
-  , std::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
-  , std::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
-  , std::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
-  , std::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 operators_impl
-using namespace operators_impl;
-
-} // namespace boost
-
-#if defined(__sgi) && !defined(__GNUC__)
-#pragma reset woff 1234
-#endif
-
-#endif // BOOST_NO_OPERATORS_IN_NAMESPACE
-#endif // BOOST_OPERATORS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/operators_v1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/operators_v1.hpp
deleted file mode 100644
index e1c53e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/operators_v1.hpp
+++ /dev/null
@@ -1,951 +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
-//  22 Feb 16 Preserve old work-arounds. (Daniel Frey)
-//  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_V1_HPP
-#define BOOST_OPERATORS_V1_HPP
-
-#include <cstddef>
-#include <iterator>
-
-#include <boost/config.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 {};
-
-} // 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.
-//
-
-// 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)
-
-
-
-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
-      > > > {};
-
-template <class T, class U = T>
-struct operators : operators2<T, U> {};
-
-template <class T> struct operators<T, T>
-    : 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
-  , std::iterator<std::input_iterator_tag, V, D, P, R
-    > > {};
-
-template<class T>
-struct output_iterator_helper
-  : output_iteratable<T
-  , std::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
-  , std::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
-  , std::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
-  , std::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_V1_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional.hpp
deleted file mode 100644
index 40cf12e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/optional/bad_optional_access.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/bad_optional_access.hpp
deleted file mode 100644
index cabf43f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/bad_optional_access.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (C) 2014, Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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:
-//  akrzemi1 at gmail.com
-//
-#ifndef BOOST_BAD_OPTIONAL_ACCESS_22MAY2014_HPP
-#define BOOST_BAD_OPTIONAL_ACCESS_22MAY2014_HPP
-
-#include <stdexcept>
-#if __cplusplus < 201103L
-#include <string> // to make converting-ctor std::string(char const*) visible
-#endif
-
-namespace boost {
-
-class bad_optional_access : public std::logic_error
-{
-public:
-  bad_optional_access()
-    : std::logic_error("Attempted to access the value of an uninitialized optional object.")
-    {}
-};
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/old_optional_implementation.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/old_optional_implementation.hpp
deleted file mode 100644
index f2e6718..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/old_optional_implementation.hpp
+++ /dev/null
@@ -1,1059 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2014-2016 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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 maintainer at:
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_DETAIL_OLD_OPTIONAL_IMPLEMENTATION_AJK_28JAN2015_HPP
-#define BOOST_OPTIONAL_DETAIL_OLD_OPTIONAL_IMPLEMENTATION_AJK_28JAN2015_HPP
-
-#include <boost/detail/reference_content.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-namespace boost {
-
-namespace optional_detail {
-
-
-template<class T>
-struct types_when_isnt_ref
-{
-  typedef T const& reference_const_type ;
-  typedef T &      reference_type ;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-  typedef T &&     rval_reference_type ;
-  typedef T &&     reference_type_of_temporary_wrapper;
-#ifdef BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
-  // GCC 4.4 has support for an early draft of rvalue references. The conforming version below
-  // causes warnings about returning references to a temporary.
-  static T&& move(T&& r) { return r; }
-#else
-  static rval_reference_type move(reference_type r) { return boost::move(r); }
-#endif
-#endif
-  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 ;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-  typedef BOOST_DEDUCED_TYPENAME remove_const<raw_type>::type&& rval_reference_type ;
-  typedef raw_type&  reference_type_of_temporary_wrapper;
-  static reference_type move(reference_type r) { return r; }
-#endif
-  typedef raw_type*  pointer_const_type ;
-  typedef raw_type*  pointer_type ;
-  typedef raw_type&  argument_type ;
-} ;
-
-template <class To, class From>
-void prevent_binding_rvalue_ref_to_optional_lvalue_ref()
-{
-#ifndef BOOST_OPTIONAL_CONFIG_ALLOW_BINDING_TO_RVALUES
-  BOOST_STATIC_ASSERT_MSG(
-    !boost::is_lvalue_reference<To>::value || !boost::is_rvalue_reference<From>::value, 
-    "binding rvalue references to optional lvalue references is disallowed");
-#endif    
-}
-
-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 BOOST_DEDUCED_TYPENAME types::reference_type       reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::reference_const_type reference_const_type ;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    typedef BOOST_DEDUCED_TYPENAME types::rval_reference_type  rval_reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ;
-#endif
-    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);
-    }
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // move-construct an optional<T> initialized from an rvalue-ref to 'val'.
-    // Can throw if T::T(T&&) does
-    optional_base ( rval_reference_type val )
-      :
-      m_initialized(false)
-    {
-      construct( boost::move(val) );
-    }
-#endif
-
-    // 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());
-    }
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Creates a deep move of another optional<T>
-    // Can throw if T::T(T&&) does
-    optional_base ( optional_base&& rhs )
-      :
-      m_initialized(false)
-    {
-      if ( rhs.is_initialized() )
-        construct( boost::move(rhs.get_impl()) );
-    }
-#endif
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-    template<class Expr, class PtrExpr>
-    explicit optional_base ( Expr&& expr, PtrExpr const* tag )
-      :
-      m_initialized(false)
-    {
-      construct(boost::forward<Expr>(expr),tag);
-    }
-
-#else
-    // 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);
-    }
-
-#endif
-
-
-    // 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());
-      }
-    }
-    
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from another optional<T> (deep-moves the rhs value)
-    void assign ( optional_base&& rhs )
-    {
-      if (is_initialized())
-      {
-        if ( rhs.is_initialized() )
-             assign_value(boost::move(rhs.get_impl()), is_reference_predicate() );
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(boost::move(rhs.get_impl()));
-      }
-    }
-#endif 
-
-    // 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() )
-#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES
-          assign_value(rhs.get(), is_reference_predicate() );
-#else
-          assign_value(static_cast<value_type>(rhs.get()), is_reference_predicate() );
-#endif
-          
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES
-          construct(rhs.get());
-#else
-          construct(static_cast<value_type>(rhs.get()));
-#endif
-      }
-    }
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // move-assigns from another _convertible_ optional<U> (deep-moves from the rhs value)
-    template<class U>
-    void assign ( optional<U>&& rhs )
-    {
-      typedef BOOST_DEDUCED_TYPENAME optional<U>::rval_reference_type ref_type;
-      if (is_initialized())
-      {
-        if ( rhs.is_initialized() )
-             assign_value(static_cast<ref_type>(rhs.get()), is_reference_predicate() );
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(static_cast<ref_type>(rhs.get()));
-      }
-    }
-#endif
-    
-    // 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);
-    }
-    
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from a T (deep-moves the rhs value)
-    void assign ( rval_reference_type val )
-    {
-      if (is_initialized())
-           assign_value( boost::move(val), is_reference_predicate() );
-      else construct( boost::move(val) );
-    }
-#endif
-
-    // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    void assign ( none_t ) BOOST_NOEXCEPT { destroy(); }
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    template<class Expr, class ExprPtr>
-    void assign_expr ( Expr&& expr, ExprPtr const* tag )
-    {
-      if (is_initialized())
-        assign_expr_to_initialized(boost::forward<Expr>(expr),tag);
-      else construct(boost::forward<Expr>(expr),tag);
-    }
-#else
-    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
-
-#endif
-
-  public :
-
-    // **DEPPRECATED** Destroys the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    void reset() BOOST_NOEXCEPT { destroy(); }
-
-    // **DEPPRECATED** 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_DETAIL_NO_RVALUE_REFERENCES
-    void construct ( rval_reference_type val )
-     {
-       ::new (m_storage.address()) internal_type( types::move(val) ) ;
-       m_initialized = true ;
-     }
-#endif
-
-
-#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    // Constructs in-place
-    // upon exception *this is always uninitialized
-    template<class... Args>
-    void emplace_assign ( Args&&... args )
-     {
-       destroy();
-       ::new (m_storage.address()) internal_type( boost::forward<Args>(args)... );
-       m_initialized = true ;
-     }
-#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
-    template<class Arg>
-    void emplace_assign ( Arg&& arg )
-     {
-       destroy();
-       ::new (m_storage.address()) internal_type( boost::forward<Arg>(arg) );
-       m_initialized = true ;
-     }
-     
-    void emplace_assign ()
-     {
-       destroy();
-       ::new (m_storage.address()) internal_type();
-       m_initialized = true ;
-     }
-#else
-    template<class Arg>
-    void emplace_assign ( const Arg& arg )
-     {
-       destroy();
-       ::new (m_storage.address()) internal_type( arg );
-       m_initialized = true ;
-     }
-     
-    template<class Arg>
-    void emplace_assign ( Arg& arg )
-     {
-       destroy();
-       ::new (m_storage.address()) internal_type( arg );
-       m_initialized = true ;
-     }
-     
-    void emplace_assign ()
-     {
-       destroy();
-       ::new (m_storage.address()) internal_type();
-       m_initialized = true ;
-     }
-#endif
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Constructs in-place using the given factory
-    template<class Expr>
-    void construct ( Expr&& 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&& 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&& 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&& factory, typed_in_place_factory_base const* tag )
-     {
-       destroy();
-       construct(factory,tag);
-     }
-
-#else
-    // 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
-
-#endif
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Constructs using any expression implicitly 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&& expr, void const* )
-    {
-      new (m_storage.address()) internal_type(boost::forward<Expr>(expr)) ;
-      m_initialized = true ;
-    }
-
-    // Assigns using a form any expression implicitly 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&& expr, void const* )
-    {
-      assign_value(boost::forward<Expr>(expr), is_reference_predicate());
-    }
-#else
-    // Constructs using any expression implicitly 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 implicitly 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());
-     }
-
-#endif
-
-#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
-    //
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Notice that 'Expr' will be optional<T> or optional<U> (but not optional_base<..>)
-    template<class Expr>
-    void construct ( Expr&& 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(types::move(expr.get())) ;
-         m_initialized = true ;
-       }
-     }
-#else
-    // 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
-#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
-
-    void assign_value ( argument_type val, is_not_reference_tag ) { get_impl() = val; }
-    void assign_value ( argument_type val, is_reference_tag     ) { construct(val); }
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    void assign_value ( rval_reference_type val, is_not_reference_tag ) { get_impl() = static_cast<rval_reference_type>(val); }
-    void assign_value ( rval_reference_type val, is_reference_tag     ) { construct( static_cast<rval_reference_type>(val) ); }
-#endif
-
-    void destroy()
-    {
-      if ( m_initialized )
-        destroy_impl(is_reference_predicate()) ;
-    }
-
-    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() ; 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 ;
-
-  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 ;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type  rval_reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ;
-#endif
-    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() BOOST_NOEXCEPT : base() {}
-
-    // Creates an optional<T> uninitialized.
-    // No-throw
-    optional( none_t none_ ) BOOST_NOEXCEPT : base(none_) {}
-
-    // Creates an optional<T> initialized with 'val'.
-    // Can throw if T::T(T const&) does
-    optional ( argument_type val ) : base(val) {}
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Creates an optional<T> initialized with 'move(val)'.
-    // Can throw if T::T(T &&) does
-    optional ( rval_reference_type val ) : base( boost::forward<T>(val) ) 
-      {optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref<T, rval_reference_type>();}
-#endif
-
-    // 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) {}
-
-    // 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());
-    }
-    
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Creates a deep move of another convertible optional<U>
-    // Requires a valid conversion from U to T.
-    // Can throw if T::T(U&&) does
-    template<class U>
-    explicit optional ( optional<U> && rhs )
-      :
-      base()
-    {
-      if ( rhs.is_initialized() )
-        this->construct( boost::move(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 implicitly 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 if the resolved T ctor throws.
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-
-  template<class Expr>
-  explicit optional ( Expr&& expr, 
-                      BOOST_DEDUCED_TYPENAME boost::disable_if_c<
-                        (boost::is_base_of<optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay<Expr>::type>::value) || 
-                        boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<Expr>::type, none_t>::value >::type* = 0 
-  ) 
-    : base(boost::forward<Expr>(expr),boost::addressof(expr)) 
-    {optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref<T, Expr&&>();}
-
-#else
-    template<class Expr>
-    explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {}
-#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-#endif // !defined BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-
-    // 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) ) {}
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-	// Creates a deep move of another optional<T>
-	// Can throw if T::T(T&&) does
-	optional ( optional && rhs ) 
-	  BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value)
-	  : base( boost::move(rhs) ) 
-	{}
-
-#endif
-   // 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
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-    template<class Expr>
-    BOOST_DEDUCED_TYPENAME boost::disable_if_c<
-      boost::is_base_of<optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay<Expr>::type>::value || 
-        boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<Expr>::type, none_t>::value,
-      optional&
-    >::type 
-    operator= ( Expr&& expr )
-      {
-        optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref<T, Expr&&>();
-        this->assign_expr(boost::forward<Expr>(expr),boost::addressof(expr));
-        return *this ;
-      }
-
-#else
-    template<class Expr>
-    optional& operator= ( Expr const& expr )
-      {
-        this->assign_expr(expr,boost::addressof(expr));
-        return *this ;
-      }
-#endif // !defined  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-#endif // !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
-
-    // Copy-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 ;
-      }
-      
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Move-assigns from another convertible optional<U> (converts && deep-moves the rhs value)
-    // Requires a valid conversion from U to T.
-    // Basic Guarantee: If T::T( U && ) throws, this is left UNINITIALIZED
-    template<class U>
-    optional& operator= ( optional<U> && rhs )
-      {
-        this->assign(boost::move(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 ;
-      }
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from another optional<T> (deep-moves the rhs value)
-    optional& operator= ( optional && rhs ) 
-	  BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && ::boost::is_nothrow_move_assignable<T>::value)
-      {
-        this->assign( static_cast<base &&>(rhs) ) ;
-        return *this ;
-      }
-#endif
-
-    // 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 ;
-      }
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from a T (deep-moves the rhs value)
-    optional& operator= ( rval_reference_type val )
-      {
-        optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref<T, rval_reference_type>();
-        this->assign( boost::move(val) ) ;
-        return *this ;
-      }
-#endif
-
-    // 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_ ) BOOST_NOEXCEPT
-      {
-        this->assign( none_ ) ;
-        return *this ;
-      }
-      
-#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    // Constructs in-place
-    // upon exception *this is always uninitialized
-    template<class... Args>
-    void emplace ( Args&&... args )
-     {
-       this->emplace_assign( boost::forward<Args>(args)... );
-     }
-#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
-    template<class Arg>
-    void emplace ( Arg&& arg )
-     {
-       this->emplace_assign( boost::forward<Arg>(arg) );
-     }
-     
-    void emplace ()
-     {
-       this->emplace_assign();
-     }
-#else
-    template<class Arg>
-    void emplace ( const Arg& arg )
-     {
-       this->emplace_assign( arg );
-     }
-     
-    template<class Arg>
-    void emplace ( Arg& arg )
-     {
-       this->emplace_assign( arg );
-     }
-     
-    void emplace ()
-     {
-       this->emplace_assign();
-     }
-#endif
-
-    void swap( optional & arg )
-	  BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && ::boost::is_nothrow_move_assignable<T>::value)
-      {
-        // allow for Koenig lookup
-        boost::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
-#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) 
-    reference_const_type operator *() const& { return this->get() ; }
-    reference_type       operator *() &      { return this->get() ; }
-    reference_type_of_temporary_wrapper operator *() && { return base::types::move(this->get()) ; }
-#else
-    reference_const_type operator *() const { return this->get() ; }
-    reference_type       operator *()       { return this->get() ; }
-#endif // !defined BOOST_NO_CXX11_REF_QUALIFIERS
-
-#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) 
-    reference_const_type value() const&
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-      
-    reference_type value() &
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-      
-    reference_type_of_temporary_wrapper value() &&
-      { 
-        if (this->is_initialized())
-          return base::types::move(this->get()) ;
-        else
-          throw_exception(bad_optional_access());
-      }
-
-#else 
-    reference_const_type value() const
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-      
-    reference_type value()
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-#endif
-
-
-#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
-    template <class U>
-    value_type value_or ( U&& v ) const&
-      { 
-        if (this->is_initialized())
-          return get();
-        else
-          return boost::forward<U>(v);
-      }
-    
-    template <class U>
-    value_type value_or ( U&& v ) && 
-      { 
-        if (this->is_initialized())
-          return base::types::move(get());
-        else
-          return boost::forward<U>(v);
-      }
-#elif !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    template <class U>
-    value_type value_or ( U&& v ) const 
-      {
-        if (this->is_initialized())
-          return get();
-        else
-          return boost::forward<U>(v);
-      }
-#else
-    template <class U>
-    value_type value_or ( U const& v ) const 
-      { 
-        if (this->is_initialized())
-          return get();
-        else
-          return v;
-      }
-      
-    template <class U>
-    value_type value_or ( U& v ) const 
-      { 
-        if (this->is_initialized())
-          return get();
-        else
-          return v;
-      }
-#endif
-
-
-#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
-    template <typename F>
-    value_type value_or_eval ( F f ) const&
-      {
-        if (this->is_initialized())
-          return get();
-        else
-          return f();
-      }
-      
-    template <typename F>
-    value_type value_or_eval ( F f ) &&
-      {
-        if (this->is_initialized())
-          return base::types::move(get());
-        else
-          return f();
-      }
-#else
-    template <typename F>
-    value_type value_or_eval ( F f ) const
-      {
-        if (this->is_initialized())
-          return get();
-        else
-          return f();
-      }
-#endif
-      
-    bool operator!() const BOOST_NOEXCEPT { return !this->is_initialized() ; }
-    
-    BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-} ;
-
-} // namespace boost
-
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_aligned_storage.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_aligned_storage.hpp
deleted file mode 100644
index 6c7d581..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_aligned_storage.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2016 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_ALIGNED_STORAGE_AJK_12FEB2016_HPP
-#define BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_ALIGNED_STORAGE_AJK_12FEB2016_HPP
-
-namespace boost {
-
-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
-
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
-	// This workaround is supposed to silence GCC warnings about broken strict aliasing rules
-	T const* ptr_ref() const
-	{
-		union { void const* ap_pvoid; T const* as_ptype; } caster = { address() };
-		return caster.as_ptype;
-	}
-	T *      ptr_ref()
-	{
-		union { void* ap_pvoid; T* as_ptype; } caster = { address() };
-		return caster.as_ptype;
-	}
-#else
-	T const* ptr_ref() const { return static_cast<T const*>(address()); }
-	T *      ptr_ref()       { return static_cast<T *>     (address()); }
-#endif
-
-	T const& ref() const { return *ptr_ref(); }
-	T &      ref()       { return *ptr_ref(); }
-  
-} ;
-
-} // namespace optional_detail
-} // namespace boost
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_config.hpp
deleted file mode 100644
index 648744e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_config.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2015 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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:
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_DETAIL_OPTIONAL_CONFIG_AJK_28JAN2015_HPP
-#define BOOST_OPTIONAL_DETAIL_OPTIONAL_CONFIG_AJK_28JAN2015_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if (defined BOOST_NO_CXX11_RVALUE_REFERENCES) || (defined BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES)
-# define BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-#endif
-
-#if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700)
-// AFAICT only Intel 7 correctly resolves the overload set
-// that includes the in-place factory taking functions,
-// so for the other icc 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) \
-    && defined BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-// 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 incorrectly sink to this general catch-all member function template as shown above.
-# define BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
-#endif
-
-#if defined(__GNUC__) && !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
-
-#if (defined(_MSC_VER) && _MSC_VER <= 1800)
-// on MSCV 2013 and earlier an unwanted temporary is created when you assign from
-// a const lvalue of integral type. Thus we bind not to the original address but
-// to a temporary. 
-# define BOOST_OPTIONAL_CONFIG_NO_PROPER_ASSIGN_FROM_CONST_INT
-#endif
-
-#if (defined __GNUC__) && (!defined BOOST_INTEL_CXX_VERSION) && (!defined __clang__)
-// On some GCC versions an unwanted temporary is created when you copy-initialize
-// from a const lvalue of integral type. Thus we bind not to the original address but
-// to a temporary.
-
-# if (__GNUC__ < 4)
-#  define BOOST_OPTIONAL_CONFIG_NO_PROPER_CONVERT_FROM_CONST_INT
-# endif
-
-# if (__GNUC__ == 4 && __GNUC_MINOR__ <= 5)
-#  define BOOST_OPTIONAL_CONFIG_NO_PROPER_CONVERT_FROM_CONST_INT
-# endif
-
-# if (__GNUC__ == 5 && __GNUC_MINOR__ < 2)
-#  define BOOST_OPTIONAL_CONFIG_NO_PROPER_CONVERT_FROM_CONST_INT
-# endif
-
-# if (__GNUC__ == 5 && __GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ == 0)
-#  define BOOST_OPTIONAL_CONFIG_NO_PROPER_CONVERT_FROM_CONST_INT
-# endif
-
-#endif // defined(__GNUC__)
-
-#if (defined __GNUC__) && (!defined BOOST_NO_CXX11_RVALUE_REFERENCES)
-// On some initial rvalue reference implementations GCC does it in a strange way,
-// preferring perfect-forwarding constructor to implicit copy constructor.
-
-# if (__GNUC__ == 4 && __GNUC_MINOR__ == 4)
-#  define BOOST_OPTIONAL_CONFIG_NO_LEGAL_CONVERT_FROM_REF
-# endif
-
-# if (__GNUC__ == 4 && __GNUC_MINOR__ == 5)
-#  define BOOST_OPTIONAL_CONFIG_NO_LEGAL_CONVERT_FROM_REF
-# endif
-
-#endif // defined(__GNUC__)
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_factory_support.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_factory_support.hpp
deleted file mode 100644
index efff92a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_factory_support.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2016 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_FACTORY_SUPPORT_AJK_12FEB2016_HPP
-#define BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_FACTORY_SUPPORT_AJK_12FEB2016_HPP
-
-// 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 ;
-}
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_reference_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_reference_spec.hpp
deleted file mode 100644
index ba3951a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_reference_spec.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright (C) 2015-2016 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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:
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_DETAIL_OPTIONAL_REFERENCE_SPEC_AJK_03OCT2015_HPP
-#define BOOST_OPTIONAL_DETAIL_OPTIONAL_REFERENCE_SPEC_AJK_03OCT2015_HPP
-
-#ifdef BOOST_OPTIONAL_CONFIG_NO_PROPER_ASSIGN_FROM_CONST_INT
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_const.hpp>
-#endif
-
-# if 1
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-template <class From>
-void prevent_binding_rvalue()
-{
-#ifndef BOOST_OPTIONAL_CONFIG_ALLOW_BINDING_TO_RVALUES
-    BOOST_STATIC_ASSERT_MSG(boost::is_lvalue_reference<From>::value, 
-                            "binding rvalue references to optional lvalue references is disallowed");
-#endif    
-}
-
-template <class T>
-BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type& forward_reference(T&& r)
-{
-    BOOST_STATIC_ASSERT_MSG(boost::is_lvalue_reference<T>::value, 
-                            "binding rvalue references to optional lvalue references is disallowed");
-    return boost::forward<T>(r);
-}
-
-#endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-template <class From>
-void prevent_assignment_from_false_const_integral()
-{
-#ifndef BOOST_OPTIONAL_CONFIG_ALLOW_BINDING_TO_RVALUES
-#ifdef BOOST_OPTIONAL_CONFIG_NO_PROPER_ASSIGN_FROM_CONST_INT
-    // MSVC compiler without rvalue refernces: we need to disable the asignment from
-    // const integral lvalue reference, as it may be an invalid temporary
-    BOOST_STATIC_ASSERT_MSG(!(boost::is_const<From>::value && boost::is_integral<From>::value), 
-                            "binding const lvalue references to integral types is disabled in this compiler");
-#endif
-#endif   
-}
-
-template <class T>
-struct is_optional_
-{
-  static const bool value = false;
-};
-
-template <class U>
-struct is_optional_< ::boost::optional<U> >
-{
-  static const bool value = true;
-};
-
-template <class T>
-struct is_no_optional
-{
-  static const bool value = !is_optional_<BOOST_DEDUCED_TYPENAME boost::decay<T>::type>::value;
-};
-
-} // namespace detail
-
-template <class T>
-class optional<T&> : public optional_detail::optional_tag
-{
-    T* ptr_;
-    
-public:
-    typedef T& value_type;
-    typedef T& reference_type;
-    typedef T& reference_const_type;
-    typedef T& rval_reference_type;
-    typedef T* pointer_type;
-    typedef T* pointer_const_type;
-    
-    optional() BOOST_NOEXCEPT : ptr_() {}
-    optional(none_t) BOOST_NOEXCEPT : ptr_() {}  
-
-    template <class U>
-        explicit optional(const optional<U&>& rhs) BOOST_NOEXCEPT : ptr_(rhs.ptr_) {}
-    optional(const optional& rhs) BOOST_NOEXCEPT : ptr_(rhs.ptr_) {}
-    
-
-    optional& operator=(const optional& rhs) BOOST_NOEXCEPT { ptr_ = rhs.ptr_; return *this; }
-    template <class U>
-        optional& operator=(const optional<U&>& rhs) BOOST_NOEXCEPT { ptr_ = rhs.ptr_; return *this; }
-    optional& operator=(none_t) BOOST_NOEXCEPT { ptr_ = 0; return *this; }
-    
-    
-    void swap(optional& rhs) BOOST_NOEXCEPT { std::swap(ptr_, rhs.ptr_); }
-    T& get() const { BOOST_ASSERT(ptr_); return   *ptr_; }
-
-    T* get_ptr() const BOOST_NOEXCEPT { return ptr_; }
-    T* operator->() const { BOOST_ASSERT(ptr_); return ptr_; }
-    T& operator*() const { BOOST_ASSERT(ptr_); return *ptr_; }
-    T& value() const { return ptr_ ? *ptr_ : (throw_exception(bad_optional_access()), *ptr_); }
-    
-    bool operator!() const BOOST_NOEXCEPT { return ptr_ == 0; }  
-    BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-      
-    void reset() BOOST_NOEXCEPT { ptr_ = 0; }
-
-    bool is_initialized() const BOOST_NOEXCEPT { return ptr_ != 0; }
-    
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES   
- 
-    template <class R>
-        optional(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R> >::type* = 0) BOOST_NOEXCEPT
-        : ptr_(boost::addressof(r)) { detail::prevent_binding_rvalue<R>(); }
-        
-    template <class R>
-        optional(bool cond, R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R> >::type* = 0) BOOST_NOEXCEPT
-        : ptr_(cond ? boost::addressof(r) : 0) { detail::prevent_binding_rvalue<R>(); }
-        
-    template <class R>
-        BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R>, optional<T&>&>::type
-        operator=(R&& r) BOOST_NOEXCEPT { detail::prevent_binding_rvalue<R>(); ptr_ = boost::addressof(r); return *this; }
-        
-    template <class R>
-        void emplace(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R> >::type* = 0) BOOST_NOEXCEPT
-        { detail::prevent_binding_rvalue<R>(); ptr_ = boost::addressof(r); }
-        
-    template <class R>
-      T& get_value_or(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R> >::type* = 0) const BOOST_NOEXCEPT
-      { detail::prevent_binding_rvalue<R>(); return ptr_ ? *ptr_ : r; }
-      
-    template <class R>
-        T& value_or(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R> >::type* = 0) const BOOST_NOEXCEPT
-        { detail::prevent_binding_rvalue<R>(); return ptr_ ? *ptr_ : r; }
-        
-    template <class R>
-      void reset(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<R> >::type* = 0) BOOST_NOEXCEPT
-      { detail::prevent_binding_rvalue<R>(); ptr_ = boost::addressof(r); }
-      
-    template <class F>
-        T& value_or_eval(F f) const { return ptr_ ? *ptr_ : detail::forward_reference(f()); }
-      
-#else  // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-    template <class U>
-        optional(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U> >::type* = 0) BOOST_NOEXCEPT : ptr_(boost::addressof(v)) { }
-        
-    template <class U>
-        optional(bool cond, U& v, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U> >::type* = 0) BOOST_NOEXCEPT : ptr_(cond ? boost::addressof(v) : 0) {}
-
-    template <class U>
-        BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U>, optional<T&>&>::type
-        operator=(U& v) BOOST_NOEXCEPT
-        {
-            detail::prevent_assignment_from_false_const_integral<U>();
-            ptr_ = boost::addressof(v); return *this;
-        }
-
-    template <class U>
-        void emplace(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U> >::type* = 0) BOOST_NOEXCEPT
-        { ptr_ = boost::addressof(v); }
-        
-    template <class U>
-      T& get_value_or(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U> >::type* = 0) const BOOST_NOEXCEPT
-      { return ptr_ ? *ptr_ : v; }
-      
-    template <class U>
-        T& value_or(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U> >::type* = 0) const BOOST_NOEXCEPT
-        { return ptr_ ? *ptr_ : v; }
-        
-    template <class U>
-      void reset(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if<detail::is_no_optional<U> >::type* = 0) BOOST_NOEXCEPT
-      { ptr_ = boost::addressof(v); }
-      
-    template <class F>
-      T& value_or_eval(F f) const { return ptr_ ? *ptr_ : f(); }
-      
-#endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-};
-
-template <class T> 
-  void swap ( optional<T&>& x, optional<T&>& y) BOOST_NOEXCEPT
-{
-  x.swap(y);
-}
-
-} // namespace boost
-
-#endif // 1/0
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_relops.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_relops.hpp
deleted file mode 100644
index 3f96117..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_relops.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2015 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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:
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_DETAIL_OPTIONAL_RELOPS_AJK_03OCT2015_HPP
-#define BOOST_OPTIONAL_DETAIL_OPTIONAL_RELOPS_AJK_03OCT2015_HPP
-
-namespace boost {
-
-// 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 ) BOOST_NOEXCEPT
-{ return !x; }
-
-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 ) BOOST_NOEXCEPT
-{ return bool(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 !( 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 , optional<T> const& y ) BOOST_NOEXCEPT
-{ return !y; }
-
-template<class T>
-inline
-bool operator < ( none_t , optional<T> const& y )
-{ return less_pointees(optional<T>() ,y); }
-
-template<class T>
-inline
-bool operator != ( none_t, optional<T> const& y ) BOOST_NOEXCEPT
-{ return bool(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 boost
-
-#endif // header guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_swap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_swap.hpp
deleted file mode 100644
index 2a7059e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/detail/optional_swap.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2015 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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:
-//  akrzemi1 at gmail.com
-
-#ifndef BOOST_OPTIONAL_DETAIL_OPTIONAL_SWAP_AJK_28JAN2015_HPP
-#define BOOST_OPTIONAL_DETAIL_OPTIONAL_SWAP_AJK_28JAN2015_HPP
-
-#include <boost/core/swap.hpp>
-#include <boost/optional/optional_fwd.hpp>
-
-namespace boost {
-
-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.emplace();
-        else if ( !hasY )
-            y.emplace();
-
-        // 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 ;
-    }
-};
-
-#ifdef BOOST_OPTIONAL_DETAIL_MOVE
-# undef BOOST_OPTIONAL_DETAIL_MOVE
-#endif
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-# define BOOST_OPTIONAL_DETAIL_MOVE(EXPR_) boost::move(EXPR_)
-#else
-# define BOOST_OPTIONAL_DETAIL_MOVE(EXPR_) EXPR_
-#endif
-
-template <>
-struct swap_selector<false>
-{
-    template <class T>
-    static void optional_swap ( optional<T>& x, optional<T>& y ) 
-    //BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && BOOST_NOEXCEPT_EXPR(boost::swap(*x, *y)))
-    {
-        if (x)
-        {
-            if (y)
-            {
-                boost::swap(*x, *y);
-            }
-            else
-            {
-                y = BOOST_OPTIONAL_DETAIL_MOVE(*x);
-                x = boost::none;
-            }
-        }
-        else
-        {
-            if (y)
-            {
-                x = BOOST_OPTIONAL_DETAIL_MOVE(*y);
-                y = boost::none;
-            }
-        }
-    }
-};
-
-} // namespace optional_detail
-
-#if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined BOOST_CONFIG_RESTORE_OBSOLETE_SWAP_IMPLEMENTATION)
-
-template<class T>
-struct optional_swap_should_use_default_constructor : boost::false_type {} ;
-
-#else
-
-template<class T>
-struct optional_swap_should_use_default_constructor : has_nothrow_default_constructor<T> {} ;
-
-#endif
-
-template <class T>
-inline void swap ( optional<T>& x, optional<T>& y )
-//BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && BOOST_NOEXCEPT_EXPR(boost::swap(*x, *y)))
-{
-    optional_detail::swap_selector<optional_swap_should_use_default_constructor<T>::value>::optional_swap(x, y);
-}
-
-} // namespace boost
-
-#undef BOOST_OPTIONAL_DETAIL_MOVE
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional.hpp
deleted file mode 100644
index ff1a16c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional.hpp
+++ /dev/null
@@ -1,1146 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2014, 2015 Andrzej Krzemienski.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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
-// 05 May 2014 (Added move semantics) Andrzej Krzemienski
-//
-#ifndef BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-
-#include <new>
-#include <iosfwd>
-
-#include <boost/assert.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/core/swap.hpp>
-#include <boost/optional/bad_optional_access.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/type.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/conditional.hpp>
-#include <boost/type_traits/has_nothrow_constructor.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_constructible.hpp>
-#include <boost/type_traits/is_lvalue_reference.hpp>
-#include <boost/type_traits/is_nothrow_move_assignable.hpp>
-#include <boost/type_traits/is_nothrow_move_constructible.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/move/utility.hpp>
-#include <boost/none.hpp>
-#include <boost/utility/compare_pointees.hpp>
-
-#include <boost/optional/optional_fwd.hpp>
-#include <boost/optional/detail/optional_config.hpp>
-#include <boost/optional/detail/optional_factory_support.hpp>
-#include <boost/optional/detail/optional_aligned_storage.hpp>
-
-#ifdef BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL
-#include <boost/optional/detail/old_optional_implementation.hpp>
-#else
-namespace boost {
-
-namespace optional_detail {
-
-struct optional_tag {} ;
-
-
-template<class T>
-class optional_base : public optional_tag
-{
-  private :
-
-    typedef aligned_storage<T> storage_type ;
-    typedef optional_base<T> this_type ;
-
-  protected :
-
-    typedef T value_type ;
-
-  protected:
-    typedef T &       reference_type ;
-    typedef T const&  reference_const_type ;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    typedef T &&  rval_reference_type ;
-    typedef T &&  reference_type_of_temporary_wrapper ;
-#endif
-    typedef T *         pointer_type ;
-    typedef T const*    pointer_const_type ;
-    typedef T const&    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);
-    }
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // move-construct an optional<T> initialized from an rvalue-ref to 'val'.
-    // Can throw if T::T(T&&) does
-    optional_base ( rval_reference_type val )
-      :
-      m_initialized(false)
-    {
-      construct( boost::move(val) );
-    }
-#endif
-
-    // 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());
-    }
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Creates a deep move of another optional<T>
-    // Can throw if T::T(T&&) does
-    optional_base ( optional_base&& rhs )
-      :
-      m_initialized(false)
-    {
-      if ( rhs.is_initialized() )
-        construct( boost::move(rhs.get_impl()) );
-    }
-#endif
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-    template<class Expr, class PtrExpr>
-    explicit optional_base ( Expr&& expr, PtrExpr const* tag )
-      :
-      m_initialized(false)
-    {
-      construct(boost::forward<Expr>(expr),tag);
-    }
-
-#else
-    // 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);
-    }
-
-#endif
-
-
-    // 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());
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(rhs.get_impl());
-      }
-    }
-    
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from another optional<T> (deep-moves the rhs value)
-    void assign ( optional_base&& rhs )
-    {
-      if (is_initialized())
-      {
-        if ( rhs.is_initialized() )
-             assign_value( boost::move(rhs.get_impl()) );
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(boost::move(rhs.get_impl()));
-      }
-    }
-#endif 
-
-    // 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() )
-#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES
-          assign_value( rhs.get() );
-#else
-          assign_value( static_cast<value_type>(rhs.get()) );
-#endif
-          
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES
-          construct(rhs.get());
-#else
-          construct(static_cast<value_type>(rhs.get()));
-#endif
-      }
-    }
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // move-assigns from another _convertible_ optional<U> (deep-moves from the rhs value)
-    template<class U>
-    void assign ( optional<U>&& rhs )
-    {
-      typedef BOOST_DEDUCED_TYPENAME optional<U>::rval_reference_type ref_type;
-      if (is_initialized())
-      {
-        if ( rhs.is_initialized() )
-             assign_value( static_cast<ref_type>(rhs.get()) );
-        else destroy();
-      }
-      else
-      {
-        if ( rhs.is_initialized() )
-          construct(static_cast<ref_type>(rhs.get()));
-      }
-    }
-#endif
-    
-    // Assigns from a T (deep-copies the rhs value)
-    void assign ( argument_type val )
-    {
-      if (is_initialized())
-           assign_value(val);
-      else construct(val);
-    }
-    
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from a T (deep-moves the rhs value)
-    void assign ( rval_reference_type val )
-    {
-      if (is_initialized())
-           assign_value( boost::move(val) );
-      else construct( boost::move(val) );
-    }
-#endif
-
-    // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    void assign ( none_t ) BOOST_NOEXCEPT { destroy(); }
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    template<class Expr, class ExprPtr>
-    void assign_expr ( Expr&& expr, ExprPtr const* tag )
-    {
-      if (is_initialized())
-        assign_expr_to_initialized(boost::forward<Expr>(expr),tag);
-      else construct(boost::forward<Expr>(expr),tag);
-    }
-#else
-    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
-
-#endif
-
-  public :
-
-    // **DEPPRECATED** Destroys the current value, if any, leaving this UNINITIALIZED
-    // No-throw (assuming T::~T() doesn't)
-    void reset() BOOST_NOEXCEPT { destroy(); }
-
-    // **DEPPRECATED** 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()) value_type(val) ;
-       m_initialized = true ;
-     }
-     
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    void construct ( rval_reference_type val )
-     {
-       ::new (m_storage.address()) value_type( boost::move(val) ) ;
-       m_initialized = true ;
-     }
-#endif
-
-
-#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    // Constructs in-place
-    // upon exception *this is always uninitialized
-    template<class... Args>
-    void emplace_assign ( Args&&... args )
-     {
-       destroy();
-       ::new (m_storage.address()) value_type( boost::forward<Args>(args)... );
-       m_initialized = true ;
-     }
-#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
-    template<class Arg>
-    void emplace_assign ( Arg&& arg )
-     {
-       destroy();
-       ::new (m_storage.address()) value_type( boost::forward<Arg>(arg) );
-       m_initialized = true ;
-     }
-     
-    void emplace_assign ()
-     {
-       destroy();
-       ::new (m_storage.address()) value_type();
-       m_initialized = true ;
-     }
-#else
-    template<class Arg>
-    void emplace_assign ( const Arg& arg )
-     {
-       destroy();
-       ::new (m_storage.address()) value_type( arg );
-       m_initialized = true ;
-     }
-     
-    template<class Arg>
-    void emplace_assign ( Arg& arg )
-     {
-       destroy();
-       ::new (m_storage.address()) value_type( arg );
-       m_initialized = true ;
-     }
-     
-    void emplace_assign ()
-     {
-       destroy();
-       ::new (m_storage.address()) value_type();
-       m_initialized = true ;
-     }
-#endif
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Constructs in-place using the given factory
-    template<class Expr>
-    void construct ( Expr&& factory, in_place_factory_base const* )
-     {
-       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&& factory, typed_in_place_factory_base const* )
-     {
-       factory.apply(m_storage.address()) ;
-       m_initialized = true ;
-     }
-
-    template<class Expr>
-    void assign_expr_to_initialized ( Expr&& 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&& factory, typed_in_place_factory_base const* tag )
-     {
-       destroy();
-       construct(factory,tag);
-     }
-
-#else
-    // Constructs in-place using the given factory
-    template<class Expr>
-    void construct ( Expr const& factory, in_place_factory_base const* )
-     {
-       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* )
-     {
-       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
-
-#endif
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Constructs using any expression implicitly 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&& expr, void const* )
-    {
-      new (m_storage.address()) value_type(boost::forward<Expr>(expr)) ;
-      m_initialized = true ;
-    }
-
-    // Assigns using a form any expression implicitly 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&& expr, void const* )
-    {
-      assign_value( boost::forward<Expr>(expr) );
-    }
-#else
-    // Constructs using any expression implicitly 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()) value_type(expr) ;
-       m_initialized = true ;
-     }
-
-    // Assigns using a form any expression implicitly 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);
-     }
-
-#endif
-
-#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
-    //
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Notice that 'Expr' will be optional<T> or optional<U> (but not optional_base<..>)
-    template<class Expr>
-    void construct ( Expr&& 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()) value_type(boost::move(expr.get())) ;
-         m_initialized = true ;
-       }
-     }
-#else
-    // 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()) value_type(expr.get()) ;
-         m_initialized = true ;
-       }
-     }
-#endif
-#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
-
-    void assign_value ( argument_type val ) { get_impl() = val; }
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    void assign_value ( rval_reference_type val ) { get_impl() = static_cast<rval_reference_type>(val); }
-#endif
-
-    void destroy()
-    {
-      if ( m_initialized )
-        destroy_impl() ;
-    }
-
-    reference_const_type get_impl() const { return m_storage.ref() ; }
-    reference_type       get_impl()       { return m_storage.ref() ; }
-
-    pointer_const_type get_ptr_impl() const { return m_storage.ptr_ref(); }
-    pointer_type       get_ptr_impl()       { return m_storage.ptr_ref(); }
-
-  private :
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600)
-    void destroy_impl ( ) { m_storage.ptr_ref()->~T() ; m_initialized = false ; }
-#else
-    void destroy_impl ( ) { m_storage.ref().T::~T() ; m_initialized = false ; }
-#endif
-
-    bool m_initialized ;
-    storage_type m_storage ;
-} ;
-
-// definition of metafunciton is_optional_val_init_candidate
-template <typename U>
-struct is_optional_related
-  : boost::conditional< boost::is_base_of<optional_detail::optional_tag, BOOST_DEDUCED_TYPENAME boost::decay<U>::type>::value
-                     || boost::is_same<BOOST_DEDUCED_TYPENAME boost::decay<U>::type, none_t>::value,
-    boost::true_type, boost::false_type>::type
-{};
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) && !defined(__SUNPRO_CC)
-  // this condition is a copy paste from is_constructible.hpp
-  // I also disable SUNPRO, as it seems not to support type_traits correctly
-  
-template <typename T, typename U>
-struct is_convertible_to_T_or_factory
-  : boost::conditional< boost::is_base_of<boost::in_place_factory_base, BOOST_DEDUCED_TYPENAME boost::decay<U>::type>::value
-                     || boost::is_base_of<boost::typed_in_place_factory_base, BOOST_DEDUCED_TYPENAME boost::decay<U>::type>::value
-                     || boost::is_constructible<T, U&&>::value
-                      , boost::true_type, boost::false_type>::type
-{};
-
-#else
-
-#define BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT
-
-template <typename, typename>
-struct is_convertible_to_T_or_factory : boost::true_type
-{};
-
-#endif // is_convertible condition
-
-template <typename T, typename U>
-struct is_optional_val_init_candidate
-  : boost::conditional< !is_optional_related<U>::value && is_convertible_to_T_or_factory<T, U>::value
-                      , boost::true_type, boost::false_type>::type
-{};
-    
-} // namespace optional_detail
-
-template<class T>
-class optional : public optional_detail::optional_base<T>
-{
-    typedef optional_detail::optional_base<T> base ;
-
-  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 ;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type  rval_reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ;
-#endif
-    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() BOOST_NOEXCEPT : base() {}
-
-    // Creates an optional<T> uninitialized.
-    // No-throw
-    optional( none_t none_ ) BOOST_NOEXCEPT : base(none_) {}
-
-    // Creates an optional<T> initialized with 'val'.
-    // Can throw if T::T(T const&) does
-    optional ( argument_type val ) : base(val) {}
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Creates an optional<T> initialized with 'move(val)'.
-    // Can throw if T::T(T &&) does
-    optional ( rval_reference_type val ) : base( boost::forward<T>(val) ) 
-      {}
-#endif
-
-    // 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) {}
-
-    // 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());
-    }
-    
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Creates a deep move of another convertible optional<U>
-    // Requires a valid conversion from U to T.
-    // Can throw if T::T(U&&) does
-    template<class U>
-    explicit optional ( optional<U> && rhs )
-      :
-      base()
-    {
-      if ( rhs.is_initialized() )
-        this->construct( boost::move(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 implicitly 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 if the resolved T ctor throws.
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-
-  template<class Expr>
-  explicit optional ( Expr&& expr, 
-                      BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_val_init_candidate<T, Expr> >::type* = 0 
-  ) 
-    : base(boost::forward<Expr>(expr),boost::addressof(expr)) 
-    {}
-
-#else
-    template<class Expr>
-    explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {}
-#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-#endif // !defined BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-
-    // 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) ) {}
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-	// Creates a deep move of another optional<T>
-	// Can throw if T::T(T&&) does
-	optional ( optional && rhs ) 
-	  BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value)
-	  : base( boost::move(rhs) ) 
-	{}
-
-#endif
-
-#if BOOST_WORKAROUND(_MSC_VER, <= 1600)
-    //  On old MSVC compilers the implicitly declared dtor is not called
-    ~optional() {}
-#endif
-
-	
-#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
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-
-    template<class Expr>
-    BOOST_DEDUCED_TYPENAME boost::enable_if<optional_detail::is_optional_val_init_candidate<T, Expr>, optional&>::type 
-    operator= ( Expr&& expr )
-      {
-        this->assign_expr(boost::forward<Expr>(expr),boost::addressof(expr));
-        return *this ;
-      }
-
-#else
-    template<class Expr>
-    optional& operator= ( Expr const& expr )
-      {
-        this->assign_expr(expr,boost::addressof(expr));
-        return *this ;
-      }
-#endif // !defined  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-#endif // !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
-
-    // Copy-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 ;
-      }
-      
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Move-assigns from another convertible optional<U> (converts && deep-moves the rhs value)
-    // Requires a valid conversion from U to T.
-    // Basic Guarantee: If T::T( U && ) throws, this is left UNINITIALIZED
-    template<class U>
-    optional& operator= ( optional<U> && rhs )
-      {
-        this->assign(boost::move(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 ;
-      }
-
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from another optional<T> (deep-moves the rhs value)
-    optional& operator= ( optional && rhs ) 
-	  BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && ::boost::is_nothrow_move_assignable<T>::value)
-      {
-        this->assign( static_cast<base &&>(rhs) ) ;
-        return *this ;
-      }
-#endif
-
-    // 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 ;
-      }
-
-#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    // Assigns from a T (deep-moves the rhs value)
-    optional& operator= ( rval_reference_type val )
-      {
-        this->assign( boost::move(val) ) ;
-        return *this ;
-      }
-#endif
-
-    // 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_ ) BOOST_NOEXCEPT
-      {
-        this->assign( none_ ) ;
-        return *this ;
-      }
-      
-#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    // Constructs in-place
-    // upon exception *this is always uninitialized
-    template<class... Args>
-    void emplace ( Args&&... args )
-     {
-       this->emplace_assign( boost::forward<Args>(args)... );
-     }
-#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
-    template<class Arg>
-    void emplace ( Arg&& arg )
-     {
-       this->emplace_assign( boost::forward<Arg>(arg) );
-     }
-     
-    void emplace ()
-     {
-       this->emplace_assign();
-     }
-#else
-    template<class Arg>
-    void emplace ( const Arg& arg )
-     {
-       this->emplace_assign( arg );
-     }
-     
-    template<class Arg>
-    void emplace ( Arg& arg )
-     {
-       this->emplace_assign( arg );
-     }
-     
-    void emplace ()
-     {
-       this->emplace_assign();
-     }
-#endif
-
-    void swap( optional & arg )
-	  BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible<T>::value && ::boost::is_nothrow_move_assignable<T>::value)
-      {
-        // allow for Koenig lookup
-        boost::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
-#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) 
-    reference_const_type operator *() const& { return this->get() ; }
-    reference_type       operator *() &      { return this->get() ; }
-    reference_type_of_temporary_wrapper operator *() && { return boost::move(this->get()) ; }
-#else
-    reference_const_type operator *() const { return this->get() ; }
-    reference_type       operator *()       { return this->get() ; }
-#endif // !defined BOOST_NO_CXX11_REF_QUALIFIERS
-
-#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) 
-    reference_const_type value() const&
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-      
-    reference_type value() &
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-      
-    reference_type_of_temporary_wrapper value() &&
-      { 
-        if (this->is_initialized())
-          return boost::move(this->get()) ;
-        else
-          throw_exception(bad_optional_access());
-      }
-
-#else 
-    reference_const_type value() const
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-      
-    reference_type value()
-      { 
-        if (this->is_initialized())
-          return this->get() ;
-        else
-          throw_exception(bad_optional_access());
-      }
-#endif
-
-
-#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
-    template <class U>
-    value_type value_or ( U&& v ) const&
-      { 
-        if (this->is_initialized())
-          return get();
-        else
-          return boost::forward<U>(v);
-      }
-    
-    template <class U>
-    value_type value_or ( U&& v ) && 
-      { 
-        if (this->is_initialized())
-          return boost::move(get());
-        else
-          return boost::forward<U>(v);
-      }
-#elif !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-    template <class U>
-    value_type value_or ( U&& v ) const 
-      {
-        if (this->is_initialized())
-          return get();
-        else
-          return boost::forward<U>(v);
-      }
-#else
-    template <class U>
-    value_type value_or ( U const& v ) const 
-      { 
-        if (this->is_initialized())
-          return get();
-        else
-          return v;
-      }
-      
-    template <class U>
-    value_type value_or ( U& v ) const 
-      { 
-        if (this->is_initialized())
-          return get();
-        else
-          return v;
-      }
-#endif
-
-
-#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
-    template <typename F>
-    value_type value_or_eval ( F f ) const&
-      {
-        if (this->is_initialized())
-          return get();
-        else
-          return f();
-      }
-      
-    template <typename F>
-    value_type value_or_eval ( F f ) &&
-      {
-        if (this->is_initialized())
-          return boost::move(get());
-        else
-          return f();
-      }
-#else
-    template <typename F>
-    value_type value_or_eval ( F f ) const
-      {
-        if (this->is_initialized())
-          return get();
-        else
-          return f();
-      }
-#endif
-      
-    bool operator!() const BOOST_NOEXCEPT { return !this->is_initialized() ; }
-    
-    BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-} ;
-
-} // namespace boost
-
-#endif // BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL
-
-namespace boost {
-  
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-template<class T>
-class optional<T&&>
-{
-  BOOST_STATIC_ASSERT_MSG(sizeof(T) == 0, "Optional rvalue references are illegal.");
-} ;
-#endif
-
-} // namespace boost
-
-#ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS
-# include <boost/optional/detail/optional_reference_spec.hpp>
-#endif
-
-namespace boost {
-
-// 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() ;
-}
-
-} // namespace boost
-
-namespace boost {
-  
-// The following declaration prevents a bug where operator safe-bool is used upon streaming optional object if you forget the IO header.
-template<class CharType, class CharTrait>
-std::basic_ostream<CharType, CharTrait>&
-operator<<(std::basic_ostream<CharType, CharTrait>& os, optional_detail::optional_tag const&)
-{
-  BOOST_STATIC_ASSERT_MSG(sizeof(CharType) == 0, "If you want to output boost::optional, include header <boost/optional/optional_io.hpp>");
-  return os;  
-}
-
-} // namespace boost
-
-#include <boost/optional/detail/optional_relops.hpp>
-#include <boost/optional/detail/optional_swap.hpp>
-
-#endif // header guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional_fwd.hpp
deleted file mode 100644
index c41a34d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional_fwd.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
-// Copyright (C) 2016 Andrzej Krzemienski
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (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
-
-#include <boost/config/suffix.hpp>
-
-namespace boost {
-
-template<class T> class optional ;
-
-// This forward is needed to refer to namespace scope swap from the member swap
-template<class T> void swap ( optional<T>& , optional<T>& ) ;
-
-template<class T> struct optional_swap_should_use_default_constructor ;
-
-#ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS
-
-template<class T> class optional<T&> ;
-
-template<class T> void swap ( optional<T&>& , optional<T&>& ) BOOST_NOEXCEPT;
-
-#endif
-
-} // namespace boost
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional_io.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional_io.hpp
deleted file mode 100644
index ce81b68..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/optional/optional_io.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (C) 2005, 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_OPTIONAL_IO_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_IO_FLC_19NOV2002_HPP
-
-#include <istream>
-#include <ostream>
-
-#include "boost/none.hpp"
-#include "boost/optional/optional.hpp"
-
-
-namespace boost
-{
-
-template<class CharType, class CharTrait>
-inline
-std::basic_ostream<CharType, CharTrait>&
-operator<<(std::basic_ostream<CharType, CharTrait>& out, none_t)
-{
-  if (out.good())
-  {
-    out << "--";
-  }
-   
-  return out;
-}
-
-template<class CharType, class CharTrait, class T>
-inline
-std::basic_ostream<CharType, CharTrait>&
-operator<<(std::basic_ostream<CharType, CharTrait>& out, optional<T> const& v)
-{
-  if (out.good())
-  {
-    if (!v)
-         out << "--" ;
-    else out << ' ' << *v ;
-  }
-
-  return out;
-}
-
-template<class CharType, class CharTrait, class T>
-inline
-std::basic_istream<CharType, CharTrait>&
-operator>>(std::basic_istream<CharType, CharTrait>& in, optional<T>& v)
-{
-  if (in.good())
-  {
-    int d = in.get();
-    if (d == ' ')
-    {
-      T x;
-      in >> x;
-#ifndef  BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES
-      v = boost::move(x);
-#else
-      v = x;
-#endif
-    }
-    else
-    {
-      if (d == '-')
-      {
-        d = in.get();
-
-        if (d == '-')
-        {
-          v = none;
-          return in;
-        }
-      }
-
-      in.setstate( std::ios::failbit );
-    }
-  }
-
-  return in;
-}
-
-} // namespace boost
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter.hpp
deleted file mode 100755
index 3cc70cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright David Abrahams, Daniel Wallin 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 www.boost.org/libs/parameter for documentation.
-
-#ifndef BOOST_PARAMETER_050401_HPP
-#define BOOST_PARAMETER_050401_HPP
-
-#include <boost/parameter/parameters.hpp>
-#include <boost/parameter/keyword.hpp>
-#include <boost/parameter/binding.hpp>
-#include <boost/parameter/value_type.hpp>
-#include <boost/parameter/macros.hpp>
-#include <boost/parameter/match.hpp>
-#include <boost/parameter/name.hpp>
-#include <boost/parameter/preprocessor.hpp>
-
-#endif // BOOST_PARAMETER_050401_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/arg_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/arg_list.hpp
deleted file mode 100644
index 71e4da2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/arg_list.hpp
+++ /dev/null
@@ -1,436 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef ARG_LIST_050329_HPP
-#define ARG_LIST_050329_HPP
-
-#include <boost/parameter/aux_/void.hpp>
-#include <boost/parameter/aux_/result_of0.hpp>
-#include <boost/parameter/aux_/default.hpp>
-#include <boost/parameter/aux_/parameter_requirements.hpp>
-#include <boost/parameter/aux_/yesno.hpp>
-#include <boost/parameter/aux_/is_maybe.hpp>
-#include <boost/parameter/config.hpp>
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-
-namespace boost { namespace parameter {
-
-// Forward declaration for aux::arg_list, below.
-template<class T> struct keyword;
-
-namespace aux {
-
-// Tag type passed to MPL lambda.
-struct lambda_tag;
-
-//
-// Structures used to build the tuple of actual arguments.  The
-// tuple is a nested cons-style list of arg_list specializations
-// terminated by an empty_arg_list.
-//
-// Each specialization of arg_list is derived from its successor in
-// the list type.  This feature is used along with using
-// declarations to build member function overload sets that can
-// match against keywords.
-//
-
-// MPL sequence support
-struct arg_list_tag;
-
-// Terminates arg_list<> and represents an empty list.  Since this
-// is just the terminating case you might want to look at arg_list
-// first, to get a feel for what's really happening here.
-
-struct empty_arg_list
-{
-    empty_arg_list() {}
-
-    // Constructor taking BOOST_PARAMETER_MAX_ARITY empty_arg_list
-    // arguments; this makes initialization
-    empty_arg_list(
-        BOOST_PP_ENUM_PARAMS(
-            BOOST_PARAMETER_MAX_ARITY, void_ BOOST_PP_INTERCEPT
-        ))
-    {}
-
-    // A metafunction class that, given a keyword and a default
-    // type, returns the appropriate result type for a keyword
-    // lookup given that default
-    struct binding
-    {
-        template<class KW, class Default, class Reference>
-        struct apply
-        {
-            typedef Default type;
-        };
-    };
-
-    // Terminator for has_key, indicating that the keyword is unique
-    template <class KW>
-    static no_tag has_key(KW*);
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-    // The overload set technique doesn't work with these older
-    // compilers, so they need some explicit handholding.
-
-    // A metafunction class that, given a keyword, returns the type
-    // of the base sublist whose get() function can produce the
-    // value for that key
-    struct key_owner
-    {
-        template<class KW>
-        struct apply
-        {
-            typedef empty_arg_list type;
-        };
-    };
-
-    template <class K, class T>
-    T& get(default_<K,T> x) const
-    {
-        return x.value;
-    }
-
-    template <class K, class F>
-    typename result_of0<F>::type
-    get(lazy_default<K,F> x) const
-    {
-        return x.compute_default();
-    }
-#endif
-
-    // If this function is called, it means there is no argument
-    // in the list that matches the supplied keyword. Just return
-    // the default value.
-    template <class K, class Default>
-    Default& operator[](default_<K, Default> x) const
-    {
-        return x.value;
-    }
-
-    // If this function is called, it means there is no argument
-    // in the list that matches the supplied keyword. Just evaluate
-    // and return the default value.
-    template <class K, class F>
-    typename result_of0<F>::type
-    operator[](
-        BOOST_PARAMETER_lazy_default_fallback<K,F> x) const
-    {
-        return x.compute_default();
-    }
-
-    // No argument corresponding to ParameterRequirements::key_type
-    // was found if we match this overload, so unless that parameter
-    // has a default, we indicate that the actual arguments don't
-    // match the function's requirements.
-    template <class ParameterRequirements, class ArgPack>
-    static typename ParameterRequirements::has_default
-    satisfies(ParameterRequirements*, ArgPack*);
-
-    // MPL sequence support
-    typedef empty_arg_list type;   // convenience
-    typedef arg_list_tag tag; // For dispatching to sequence intrinsics
-};
-
-// Forward declaration for arg_list::operator,
-template <class KW, class T>
-struct tagged_argument;
-
-template <class T>
-struct get_reference
-{
-    typedef typename T::reference type;
-};
-
-// A tuple of tagged arguments, terminated with empty_arg_list.
-// Every TaggedArg is an instance of tagged_argument<>.
-template <class TaggedArg, class Next = empty_arg_list>
-struct arg_list : Next
-{
-    typedef arg_list<TaggedArg,Next> self;
-    typedef typename TaggedArg::key_type key_type;
-
-    typedef typename is_maybe<typename TaggedArg::value_type>::type holds_maybe;
-
-    typedef typename mpl::eval_if<
-        holds_maybe
-      , get_reference<typename TaggedArg::value_type>
-      , get_reference<TaggedArg>
-    >::type reference;
-
-    typedef typename mpl::if_<
-        holds_maybe
-      , reference
-      , typename TaggedArg::value_type
-    >::type value_type;
-
-    TaggedArg arg;      // Stores the argument
-
-    // Store the arguments in successive nodes of this list
-    template< // class A0, class A1, ...
-        BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A)
-    >
-    arg_list( // A0& a0, A1& a1, ...
-        BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PARAMETER_MAX_ARITY, A, & a)
-    )
-      : Next( // a1, a2, ...
-            BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PARAMETER_MAX_ARITY, a)
-          , void_reference()
-        )
-      , arg(a0)
-    {}
-
-    // Create a new list by prepending arg to a copy of tail.  Used
-    // when incrementally building this structure with the comma
-    // operator.
-    arg_list(TaggedArg head, Next const& tail)
-      : Next(tail)
-      , arg(head)
-    {}
-
-    // A metafunction class that, given a keyword and a default
-    // type, returns the appropriate result type for a keyword
-    // lookup given that default
-    struct binding
-    {
-        template <class KW, class Default, class Reference>
-        struct apply
-        {
-          typedef typename mpl::eval_if<
-                boost::is_same<KW, key_type>
-              , mpl::if_<Reference, reference, value_type>
-              , mpl::apply_wrap3<typename Next::binding, KW, Default, Reference>
-          >::type type;
-        };
-    };
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    // Overload for key_type, so the assert below will fire if the
-    // same keyword is used again
-    static yes_tag has_key(key_type*);
-    using Next::has_key;
-
-    BOOST_MPL_ASSERT_MSG(
-        sizeof(Next::has_key((key_type*)0)) == sizeof(no_tag)
-      , duplicate_keyword, (key_type)
-    );
-
-#endif
-    //
-    // Begin implementation of indexing operators for looking up
-    // specific arguments by name
-    //
-
-    // Helpers that handle the case when TaggedArg is
-    // empty<T>.
-    template <class D>
-    reference get_default(D const&, mpl::false_) const
-    {
-        return arg.value;
-    }
-
-    template <class D>
-    reference get_default(D const& d, mpl::true_) const
-    {
-        return arg.value ? arg.value.get() : arg.value.construct(d.value);
-    }
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    // These older compilers don't support the overload set creation
-    // idiom well, so we need to do all the return type calculation
-    // for the compiler and dispatch through an outer function template
-
-    // A metafunction class that, given a keyword, returns the base
-    // sublist whose get() function can produce the value for that
-    // key.
-    struct key_owner
-    {
-        template<class KW>
-        struct apply
-        {
-          typedef typename mpl::eval_if<
-                boost::is_same<KW, key_type>
-              , mpl::identity<arg_list<TaggedArg,Next> >
-              , mpl::apply_wrap1<typename Next::key_owner,KW>
-          >::type type;
-        };
-    };
-
-    // Outer indexing operators that dispatch to the right node's
-    // get() function.
-    template <class KW>
-    typename mpl::apply_wrap3<binding, KW, void_, mpl::true_>::type
-    operator[](keyword<KW> const& x) const
-    {
-        typename mpl::apply_wrap1<key_owner, KW>::type const& sublist = *this;
-        return sublist.get(x);
-    }
-
-    template <class KW, class Default>
-    typename mpl::apply_wrap3<binding, KW, Default&, mpl::true_>::type
-    operator[](default_<KW, Default> x) const
-    {
-        typename mpl::apply_wrap1<key_owner, KW>::type const& sublist = *this;
-        return sublist.get(x);
-    }
-
-    template <class KW, class F>
-    typename mpl::apply_wrap3<
-        binding,KW
-      , typename result_of0<F>::type
-      , mpl::true_
-    >::type
-    operator[](lazy_default<KW,F> x) const
-    {
-        typename mpl::apply_wrap1<key_owner, KW>::type const& sublist = *this;
-        return sublist.get(x);
-    }
-
-    // These just return the stored value; when empty_arg_list is
-    // reached, indicating no matching argument was passed, the
-    // default is returned, or if no default_ or lazy_default was
-    // passed, compilation fails.
-    reference get(keyword<key_type> const&) const
-    {
-        BOOST_MPL_ASSERT_NOT((holds_maybe));
-        return arg.value;
-    }
-
-    template <class Default>
-    reference get(default_<key_type,Default> const& d) const
-    {
-        return get_default(d, holds_maybe());
-    }
-
-    template <class Default>
-    reference get(lazy_default<key_type, Default>) const
-    {
-        return arg.value;
-    }
-
-#else
-
-    reference operator[](keyword<key_type> const&) const
-    {
-        BOOST_MPL_ASSERT_NOT((holds_maybe));
-        return arg.value;
-    }
-
-    template <class Default>
-    reference operator[](default_<key_type, Default> const& d) const
-    {
-        return get_default(d, holds_maybe());
-    }
-
-    template <class Default>
-    reference operator[](lazy_default<key_type, Default>) const
-    {
-        return arg.value;
-    }
-
-    // Builds an overload set including operator[]s defined in base
-    // classes.
-    using Next::operator[];
-
-    //
-    // End of indexing support
-    //
-
-
-    //
-    // For parameter_requirements matching this node's key_type,
-    // return a bool constant wrapper indicating whether the
-    // requirements are satisfied by TaggedArg.  Used only for
-    // compile-time computation and never really called, so a
-    // declaration is enough.
-    //
-    template <class HasDefault, class Predicate, class ArgPack>
-    static typename mpl::apply_wrap2<
-        typename mpl::lambda<Predicate, lambda_tag>::type
-      , value_type, ArgPack
-    >::type
-    satisfies(
-        parameter_requirements<key_type,Predicate,HasDefault>*
-      , ArgPack*
-    );
-
-    // Builds an overload set including satisfies functions defined
-    // in base classes.
-    using Next::satisfies;
-#endif
-
-    // Comma operator to compose argument list without using parameters<>.
-    // Useful for argument lists with undetermined length.
-    template <class KW, class T2>
-    arg_list<tagged_argument<KW, T2>, self>
-    operator,(tagged_argument<KW,T2> x) const
-    {
-        return arg_list<tagged_argument<KW,T2>, self>(x, *this);
-    }
-
-    // MPL sequence support
-    typedef self type;             // Convenience for users
-    typedef Next tail_type;        // For the benefit of iterators
-    typedef arg_list_tag tag; // For dispatching to sequence intrinsics
-};
-
-// MPL sequence support
-template <class ArgumentPack>
-struct arg_list_iterator
-{
-    typedef mpl::forward_iterator_tag category;
-
-    // The incremented iterator
-    typedef arg_list_iterator<typename ArgumentPack::tail_type> next;
-
-    // dereferencing yields the key type
-    typedef typename ArgumentPack::key_type type;
-};
-
-template <>
-struct arg_list_iterator<empty_arg_list> {};
-
-}} // namespace parameter::aux
-
-// MPL sequence support
-namespace mpl
-{
-  template <>
-  struct begin_impl<parameter::aux::arg_list_tag>
-  {
-      template <class S>
-      struct apply
-      {
-          typedef parameter::aux::arg_list_iterator<S> type;
-      };
-  };
-
-  template <>
-  struct end_impl<parameter::aux::arg_list_tag>
-  {
-      template <class>
-      struct apply
-      {
-          typedef parameter::aux::arg_list_iterator<parameter::aux::empty_arg_list> type;
-      };
-  };
-}
-
-} // namespace boost
-
-#endif // ARG_LIST_050329_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/cast.hpp
deleted file mode 100644
index bd3de2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/cast.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_CAST_060902_HPP
-# define BOOST_PARAMETER_CAST_060902_HPP
-
-# include <boost/detail/workaround.hpp>
-
-# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  include <boost/type_traits/add_reference.hpp>
-#  include <boost/type_traits/remove_const.hpp>
-# endif
-
-namespace boost { namespace parameter { namespace aux {
-
-struct use_default_tag {};
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-#  define BOOST_PARAMETER_FUNCTION_CAST(value, predicate) value
-
-# else
-
-// Handles possible implicit casts. Used by preprocessor.hpp to
-// normalize user input.
-//
-// cast<void*>::execute() is identity
-// cast<void*(X)>::execute() is identity
-// cast<void(X)>::execute() casts to X
-//
-// preprocessor.hpp uses this like this:
-//
-//   #define X(value, predicate)
-//      cast<void predicate>::execute(value)
-//
-//   X(something, *)
-//   X(something, *(predicate))
-//   X(something, (int))
-
-template <class T, class Args>
-struct cast;
-
-template <class Args>
-struct cast<void*, Args>
-{
-    static use_default_tag execute(use_default_tag)
-    {
-        return use_default_tag();
-    }
-
-    static use_default_tag remove_const(use_default_tag)
-    {
-        return use_default_tag();
-    }
-
-    template <class U>
-    static U& execute(U& value)
-    {
-        return value;
-    }
-
-    template <class U>
-    static U& remove_const(U& x)
-    {
-        return x;
-    }
-};
-
-#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580))
-
-typedef void* voidstar;
-
-template <class T, class Args>
-struct cast<voidstar(T), Args>
-  : cast<void*, Args>
-{
-};
-
-#else
-
-template <class T, class Args>
-struct cast<void*(T), Args>
-  : cast<void*, Args>
-{
-};
-
-#endif
-
-// This is a hack used in cast<> to turn the user supplied type,
-// which may or may not be a placeholder expression into one, so
-// that it will be properly evaluated by mpl::apply.
-template <class T, class Dummy = mpl::_1>
-struct as_placeholder_expr
-{
-    typedef T type;
-};
-
-template <class T, class Args>
-struct cast<void(T), Args>
-{
-    typedef typename mpl::apply2<
-        as_placeholder_expr<T>, Args, Args>::type type0;
-
-    typedef typename boost::add_reference<
-        typename boost::remove_const<type0>::type 
-    >::type reference;
-
-    static use_default_tag execute(use_default_tag)
-    {
-        return use_default_tag();
-    }
-
-    static use_default_tag remove_const(use_default_tag)
-    {
-        return use_default_tag();
-    }
-
-    static type0 execute(type0 value)
-    {
-        return value;
-    }
-
-    template <class U>
-    static reference remove_const(U const& x)
-    {
-        return const_cast<reference>(x);
-    }
-};
-
-#  define BOOST_PARAMETER_FUNCTION_CAST(value, predicate, args) \
-    boost::parameter::aux::cast<void predicate, args>::remove_const( \
-        boost::parameter::aux::cast<void predicate, args>::execute(value) \
-    )
-
-# endif
-
-}}} // namespace boost::parameter::aux
-
-#endif // BOOST_PARAMETER_CAST_060902_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/default.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/default.hpp
deleted file mode 100644
index 604da61..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/default.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef DEFAULT_050329_HPP
-# define DEFAULT_050329_HPP
-
-# include <boost/detail/workaround.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-// A wrapper for the default value passed by the user when resolving
-// the value of the parameter with the given Keyword
-template <class Keyword, class Value>
-struct default_
-{
-    default_(Value& x)
-      : value(x)
-    {}
-
-    Value& value;
-};
-
-//
-// lazy_default -- 
-//
-//    A wrapper for the default value computation function passed by
-//    the user when resolving the value of the parameter with the
-//    given keyword
-//
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 300)
-// These compilers need a little extra help with overload
-// resolution; we have empty_arg_list's operator[] accept a base
-// class to make that overload less preferable.
-template <class KW, class DefaultComputer>
-struct lazy_default_base
-{
-    lazy_default_base(DefaultComputer const& x)
-      : compute_default(x)
-    {}
-    DefaultComputer const& compute_default;
-};
-
-template <class KW, class DefaultComputer>
-struct lazy_default
-  : lazy_default_base<KW,DefaultComputer>
-  {
-      lazy_default(DefaultComputer const & x)
-        : lazy_default_base<KW,DefaultComputer>(x)
-      {}
-  };
-#  define BOOST_PARAMETER_lazy_default_fallback lazy_default_base
-# else 
-template <class KW, class DefaultComputer>
-struct lazy_default
-{
-    lazy_default(const DefaultComputer& x)
-      : compute_default(x)
-    {}
-    DefaultComputer const& compute_default;
-};
-#  define BOOST_PARAMETER_lazy_default_fallback lazy_default
-# endif 
-
-}}} // namespace boost::parameter::aux
-
-#endif // DEFAULT_050329_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/is_maybe.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/is_maybe.hpp
deleted file mode 100644
index b875852..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/is_maybe.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 2010. Use, modification and
-// distribution is subject to the 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_PARAMETER_IS_MAYBE_050329_HPP
-#define BOOST_PARAMETER_IS_MAYBE_050329_HPP
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-
-namespace boost {
-namespace parameter {
-namespace aux {
-
-struct maybe_base {};
-
-template <class T>
-struct is_maybe
-  : is_base_and_derived<maybe_base, T>
-{};
-
-} // namespace aux
-} // namespace parameter
-} // namespace boost
-
-#endif // BOOST_PARAMETER_IS_MAYBE_050329_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/maybe.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/maybe.hpp
deleted file mode 100644
index 55e083e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/maybe.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-//
-// 2009.10.21 TDS remove depenency on boost::python::detail::referent_storage
-//
-#ifndef BOOST_PARAMETER_MAYBE_091021_HPP
-# define BOOST_PARAMETER_MAYBE_091021_HPP
-
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/add_reference.hpp>
-# include <boost/optional.hpp>
-# include <boost/aligned_storage.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/type_traits/add_const.hpp>
-# include <boost/parameter/aux_/is_maybe.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-template <class T> struct referent_size;
-
-template <class T>
-struct referent_size<T&>
-{
-  BOOST_STATIC_CONSTANT(std::size_t, value = sizeof(T));
-};
-
-// A metafunction returning a POD type which can store U, where T ==
-// U&. If T is not a reference type, returns a POD which can store T.
-template <class T>
-struct referent_storage
-{
-  typedef typename boost::aligned_storage<
-    referent_size<T>::value
-    >::type type;
-};
-
-template <class T>
-struct maybe : maybe_base
-{
-    typedef typename add_reference<
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-        T const
-# else
-        typename add_const<T>::type
-# endif
-    >::type reference;
-
-    typedef typename remove_cv<
-        BOOST_DEDUCED_TYPENAME remove_reference<reference>::type
-    >::type non_cv_value;
-
-    explicit maybe(T value_)
-      : value(value_)
-      , constructed(false)
-    {}
-
-    maybe()
-      : constructed(false)
-    {}
-
-    ~maybe()
-    {
-        if (constructed)
-            this->destroy();
-    }
-
-    reference construct(reference value_) const
-    {
-        return value_;
-    }
-
-    template <class U>
-    reference construct2(U const& value_) const
-    {
-        new (m_storage.address()) non_cv_value(value_);
-        constructed = true;
-        return *(non_cv_value*)m_storage.address();
-    }
-
-    template <class U>
-    reference construct(U const& value_) const
-    {
-        return this->construct2(value_);
-    }
-
-    void destroy()
-    {
-        ((non_cv_value*)m_storage.address())->~non_cv_value();
-    }
-
-    typedef reference(maybe<T>::*safe_bool)() const;
-
-    operator safe_bool() const
-    {
-        return value ? &maybe<T>::get : 0 ;
-    }
-
-    reference get() const
-    {
-        return value.get();
-    }
-
-private:
-    boost::optional<T> value;
-    mutable bool constructed;
-
-
-    mutable typename referent_storage<
-        reference
-    >::type m_storage;
-};
-
-}}} // namespace boost::parameter::aux
-
-#endif // BOOST_PARAMETER_MAYBE_060211_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/overloads.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/overloads.hpp
deleted file mode 100755
index dcc92d4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/overloads.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright David Abrahams, Daniel Wallin 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)
-
-// This file generates overloads in this format:
-//
-//     template<class A0, class A1>
-//     typename mpl::apply_wrap1<
-//         aux::make_arg_list<
-//             PS0,A0
-//           , aux::make_arg_list<
-//                 PS1,A1
-//               , mpl::identity<aux::empty_arg_list>
-//             >
-//         >
-//      , unnamed_list
-//     >::type
-//     operator()(A0 const& a0, A1 const& a1) const
-//     {
-//         typedef typename mpl::apply_wrap1<
-//             aux::make_arg_list<
-//                 PS0,A0
-//               , aux::make_arg_list<
-//                     PS1,A1
-//                   , mpl::identity<aux::empty_arg_list>
-//                 >
-//             >
-//         >::type arg_tuple;
-//
-//         return arg_tuple(
-//             a0
-//           , a1
-//           , aux::void_()
-//             ...
-//         );
-//     }
-//
-
-#if !defined(BOOST_PP_IS_ITERATING)
-# error Boost.Parameters - do not include this file!
-#endif
-
-#define N BOOST_PP_ITERATION()
-
-#define BOOST_PARAMETER_open_list(z, n, text) \
-    aux::item< \
-        BOOST_PP_CAT(PS, n), BOOST_PP_CAT(A, n)
-
-#define BOOST_PARAMETER_close_list(z, n, text) > 
-
-#define BOOST_PARAMETER_arg_list(n) \
-    aux::make_arg_list< \
-        BOOST_PP_ENUM(N, BOOST_PARAMETER_open_list, _) \
-      , void_ \
-        BOOST_PP_REPEAT(N, BOOST_PARAMETER_close_list, _) \
-      , deduced_list \
-      , aux::tag_keyword_arg \
-    >
-
-#define BOOST_PARAMETER_arg_pack_init(z, n, limit) \
-    BOOST_PP_CAT(a, BOOST_PP_SUB(limit,n))
-
-template<BOOST_PP_ENUM_PARAMS(N, class A)>
-typename mpl::first<
-    typename BOOST_PARAMETER_arg_list(N)::type
->::type
-operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)) const
-{
-    typedef typename BOOST_PARAMETER_arg_list(N)::type result;
-
-    typedef typename mpl::first<result>::type result_type;
-    typedef typename mpl::second<result>::type error;
-    error();
-
-    return result_type(
-        BOOST_PP_ENUM(N, BOOST_PARAMETER_arg_pack_init, BOOST_PP_DEC(N))
-        BOOST_PP_ENUM_TRAILING_PARAMS(
-            BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, N)
-          , aux::void_reference() BOOST_PP_INTERCEPT
-        ));
-}
-
-#undef BOOST_PARAMETER_arg_list
-#undef BOOST_PARAMETER_open_list
-#undef BOOST_PARAMETER_close_list
-#undef N
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/parameter_requirements.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/parameter_requirements.hpp
deleted file mode 100755
index ad7a129..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/parameter_requirements.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef PARAMETER_REQUIREMENTS_050331_HPP
-#define PARAMETER_REQUIREMENTS_050331_HPP
-
-namespace boost { namespace parameter { namespace aux {
-
-// Used to pass static information about parameter requirements
-// through the satisfies() overload set (below).  The
-// matched function is never invoked, but its type indicates whether
-// a parameter matches at compile-time
-template <class Keyword, class Predicate, class HasDefault>
-struct parameter_requirements
-{
-    typedef Keyword keyword;
-    typedef Predicate predicate;
-    typedef HasDefault has_default;
-};
-
-}}} // namespace boost::parameter::aux
-
-#endif // PARAMETER_REQUIREMENTS_050331_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/parenthesized_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/parenthesized_type.hpp
deleted file mode 100644
index 69e7a23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/parenthesized_type.hpp
+++ /dev/null
@@ -1,35 +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_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP
-# define BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-
-namespace boost { namespace parameter { namespace aux { 
-
-// A macro that takes a parenthesized C++ type name (T) and transforms
-// it into an un-parenthesized type expression equivalent to T.
-#  define BOOST_PARAMETER_PARENTHESIZED_TYPE(x)                    \
-    boost::parameter::aux::unaryfunptr_arg_type< void(*)x >::type
-
-// A metafunction that transforms void(*)(T) -> T
-template <class UnaryFunctionPointer>
-struct unaryfunptr_arg_type;
-
-template <class Arg>
-struct unaryfunptr_arg_type<void(*)(Arg)>
-{
-    typedef Arg type;
-};
-
-template <>
-struct unaryfunptr_arg_type<void(*)(void)>
-{
-    typedef void type;
-};
-    
-}}} // namespace boost::parameter::aux
-
-#endif // BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/preprocessor/flatten.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/preprocessor/flatten.hpp
deleted file mode 100755
index 5d7615e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/preprocessor/flatten.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_FLATTEN_051217_HPP
-# define BOOST_PARAMETER_FLATTEN_051217_HPP
-
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/seq/for_each.hpp>
-# include <boost/preprocessor/seq/for_each_i.hpp>
-# include <boost/preprocessor/identity.hpp>
-# include <boost/preprocessor/selection/max.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/repetition/enum_trailing.hpp>
-# include <boost/parameter/aux_/preprocessor/for_each.hpp>
-
-# define BOOST_PARAMETER_FLATTEN_SPLIT_required required,
-# define BOOST_PARAMETER_FLATTEN_SPLIT_optional optional,
-# define BOOST_PARAMETER_FLATTEN_SPLIT_deduced deduced,
-
-# define BOOST_PARAMETER_FLATTEN_SPLIT(sub) \
-    BOOST_PP_CAT(BOOST_PARAMETER_FLATTEN_SPLIT_, sub)
-
-# define BOOST_PARAMETER_FLATTEN_QUALIFIER(sub) \
-    BOOST_PP_SPLIT(0, BOOST_PARAMETER_FLATTEN_SPLIT(sub))
-
-# define BOOST_PARAMETER_FLATTEN_ARGS(sub) \
-    BOOST_PP_SPLIT(1, BOOST_PARAMETER_FLATTEN_SPLIT(sub))
-
-# define BOOST_PARAMETER_FLATTEN_ARITY_optional(arities) \
-    BOOST_PP_TUPLE_ELEM(3,0,arities)
-
-# define BOOST_PARAMETER_FLATTEN_ARITY_required(arities) \
-    BOOST_PP_TUPLE_ELEM(3,1,arities)
-
-# define BOOST_PARAMETER_FLATTEN_SPEC0_DUMMY_ELEM(z, n, data) ~
-# define BOOST_PARAMETER_FLATTEN_SPEC0(r, n, elem, data) \
-    (( \
-        BOOST_PP_TUPLE_ELEM(3,2,data) \
-      , BOOST_PP_TUPLE_REM(BOOST_PP_TUPLE_ELEM(3,0,data)) elem \
-        BOOST_PP_ENUM_TRAILING( \
-            BOOST_PP_SUB( \
-                BOOST_PP_TUPLE_ELEM(3,1,data) \
-              , BOOST_PP_TUPLE_ELEM(3,0,data) \
-            ) \
-          , BOOST_PARAMETER_FLATTEN_SPEC0_DUMMY_ELEM \
-          , ~ \
-        ) \
-    ))
-
-# define BOOST_PARAMETER_FLATTEN_SPEC_AUX(r, arity, max_arity, spec, transform) \
-    BOOST_PARAMETER_FOR_EACH_R( \
-        r \
-      , arity \
-      , BOOST_PARAMETER_FLATTEN_ARGS(spec) \
-      , (arity, max_arity, transform(BOOST_PARAMETER_FLATTEN_QUALIFIER(spec))) \
-      , BOOST_PARAMETER_FLATTEN_SPEC0 \
-    )
-
-# define BOOST_PARAMETER_FLATTEN_IDENTITY(x) x
-
-# define BOOST_PARAMETER_FLATTEN_SPEC_optional(r, arities, spec) \
-    BOOST_PARAMETER_FLATTEN_SPEC_AUX( \
-        r \
-      , BOOST_PP_CAT( \
-            BOOST_PARAMETER_FLATTEN_ARITY_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \
-        )(arities) \
-      , BOOST_PP_TUPLE_ELEM(3,2,arities) \
-      , spec \
-      , BOOST_PARAMETER_FLATTEN_IDENTITY \
-    )
-
-# define BOOST_PARAMETER_FLATTEN_SPEC_required(r, arities, spec) \
-    BOOST_PARAMETER_FLATTEN_SPEC_optional(r, arities, spec)
-
-# define BOOST_PARAMETER_FLATTEN_SPEC_AS_DEDUCED(x) BOOST_PP_CAT(deduced_,x)
-
-# define BOOST_PARAMETER_FLATTEN_SPEC_deduced_M(r, arities, n, spec) \
-    BOOST_PARAMETER_FLATTEN_SPEC_AUX( \
-        r \
-      , BOOST_PP_CAT( \
-            BOOST_PARAMETER_FLATTEN_ARITY_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \
-        )(arities) \
-      , BOOST_PP_TUPLE_ELEM(3,2,arities) \
-      , spec \
-      , BOOST_PARAMETER_FLATTEN_SPEC_AS_DEDUCED \
-    )
-
-# define BOOST_PARAMETER_FLATTEN_SPEC_deduced(r, arities, spec) \
-    BOOST_PP_SEQ_FOR_EACH_I_R( \
-        r \
-      , BOOST_PARAMETER_FLATTEN_SPEC_deduced_M \
-      , arities \
-      , BOOST_PARAMETER_FLATTEN_ARGS(spec) \
-    )
-
-# define BOOST_PARAMETER_FLATTEN_SPEC(r, arities, spec) \
-    BOOST_PP_CAT( \
-        BOOST_PARAMETER_FLATTEN_SPEC_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \
-    )(r, arities, spec)
-
-# define BOOST_PARAMETER_FLATTEN(optional_arity, required_arity, wanted_arity, specs) \
-    BOOST_PP_SEQ_FOR_EACH( \
-        BOOST_PARAMETER_FLATTEN_SPEC \
-      , ( \
-            optional_arity, required_arity \
-          , wanted_arity \
-        ) \
-      , specs \
-    )
-
-#endif // BOOST_PARAMETER_FLATTEN_051217_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/preprocessor/for_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/preprocessor/for_each.hpp
deleted file mode 100755
index 0eb1f70..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/preprocessor/for_each.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_FOR_EACH_051217_HPP
-# define BOOST_PARAMETER_FOR_EACH_051217_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/detail/split.hpp>
-# include <boost/preprocessor/logical/not.hpp>
-# include <boost/preprocessor/facilities/is_empty.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/for.hpp>
-# include <boost/preprocessor/repetition/deduce_r.hpp>
-
-# define BOOST_PARAMETER_FOR_EACH_head_aux2(x,y) (x,y), ~
-# define BOOST_PARAMETER_FOR_EACH_head_aux3(x,y,z) (x,y,z), ~
-# define BOOST_PARAMETER_FOR_EACH_head_aux4(x,y,z,u) (x,y,z,u), ~
-# define BOOST_PARAMETER_FOR_EACH_head(n,x) \
-    BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_head_aux,n) x)
-
-# define BOOST_PARAMETER_FOR_EACH_pred_aux_BOOST_PARAMETER_FOR_EACH_END_SENTINEL
-# define BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) \
-    BOOST_PP_NOT(BOOST_PP_IS_EMPTY( \
-        BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_pred_aux_, x) \
-    )), ~
-
-# define BOOST_PARAMETER_FOR_EACH_pred_aux2(x,y) \
-    BOOST_PARAMETER_FOR_EACH_pred_aux_check(x)
-# define BOOST_PARAMETER_FOR_EACH_pred_aux3(x,y,z) \
-    BOOST_PARAMETER_FOR_EACH_pred_aux_check(x)
-# define BOOST_PARAMETER_FOR_EACH_pred_aux4(x,y,z,u) \
-    BOOST_PARAMETER_FOR_EACH_pred_aux_check(x)
-
-# define BOOST_PARAMETER_FOR_EACH_pred_aux0(n,x) \
-    BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_pred_aux,n) x
-
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#  define BOOST_PARAMETER_FOR_EACH_pred_SPLIT_FIRST(x) \
-    BOOST_PP_SPLIT(0, x)
-
-#  define BOOST_PARAMETER_FOR_EACH_pred(r, state) \
-    BOOST_PARAMETER_FOR_EACH_pred_SPLIT_FIRST( \
-        BOOST_PARAMETER_FOR_EACH_pred_aux0( \
-            BOOST_PP_TUPLE_ELEM(5,3,state) \
-          , BOOST_PP_TUPLE_ELEM(5,0,state) \
-        ) \
-    )
-# else
-#  define BOOST_PARAMETER_FOR_EACH_pred(r, state) \
-    BOOST_PP_SPLIT( \
-        0 \
-      , BOOST_PARAMETER_FOR_EACH_pred_aux0( \
-            BOOST_PP_TUPLE_ELEM(5,3,state) \
-          , BOOST_PP_TUPLE_ELEM(5,0,state) \
-        ) \
-    )
-# endif
-
-# define BOOST_PARAMETER_FOR_EACH_op(r, state) \
-    ( \
-        BOOST_PP_TUPLE_EAT(BOOST_PP_TUPLE_ELEM(5,3,state)) \
-          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_INC(BOOST_PP_TUPLE_ELEM(5,4,state)) \
-    )
-
-# define BOOST_PARAMETER_FOR_EACH_macro(r, state) \
-    BOOST_PP_TUPLE_ELEM(5,2,state)( \
-        r \
-      , BOOST_PP_TUPLE_ELEM(5,4,state) \
-      , BOOST_PARAMETER_FOR_EACH_head( \
-            BOOST_PP_TUPLE_ELEM(5,3,state) \
-          , BOOST_PP_TUPLE_ELEM(5,0,state) \
-        ) \
-      , BOOST_PP_TUPLE_ELEM(5,1,state) \
-    )
-
-# define BOOST_PARAMETER_FOR_EACH_build_end_sentinel(z,n,text) \
-    BOOST_PP_COMMA_IF(n) BOOST_PARAMETER_FOR_EACH_END_SENTINEL
-# define BOOST_PARAMETER_FOR_EACH_build_end_sentinel_tuple(arity) \
-    ( \
-        BOOST_PP_REPEAT(arity, BOOST_PARAMETER_FOR_EACH_build_end_sentinel, _) \
-    )
-
-# define BOOST_PARAMETER_FOR_EACH_R(r, arity, list, data, macro) \
-    BOOST_PP_CAT(BOOST_PP_FOR_, r)( \
-        (list BOOST_PARAMETER_FOR_EACH_build_end_sentinel_tuple(arity), data, macro, arity, 0) \
-      , BOOST_PARAMETER_FOR_EACH_pred \
-      , BOOST_PARAMETER_FOR_EACH_op \
-      , BOOST_PARAMETER_FOR_EACH_macro \
-    )
-
-# define BOOST_PARAMETER_FOR_EACH(arity, list, data, macro) \
-    BOOST_PARAMETER_FOR_EACH_R(BOOST_PP_DEDUCE_R(), arity, list, data, macro)
-
-#endif // BOOST_PARAMETER_FOR_EACH_051217_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/python/invoker.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/python/invoker.hpp
deleted file mode 100644
index 0e61d40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/python/invoker.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_INVOKER_051210_HPP
-# define BOOST_PARAMETER_INVOKER_051210_HPP
-
-# include <boost/mpl/begin.hpp>
-# include <boost/mpl/next.hpp>
-# include <boost/mpl/deref.hpp>
-# include <boost/mpl/size.hpp>
-# include <boost/parameter/keyword.hpp>
-# include <boost/preprocessor/iteration/iterate.hpp>
-
-namespace boost { namespace parameter { namespace python { namespace aux {
-
-template <long Arity, class M, class R, class Args>
-struct invoker;
-
-template <class M, class R>
-struct make_invoker
-{
-    template <class Args>
-    struct apply
-    {
-        typedef invoker<
-            mpl::size<Args>::value, M, R, Args
-        > type;
-    };
-};
-
-template <long Arity, class M, class R, class T, class Args>
-struct member_invoker;
-
-template <class M, class R, class T>
-struct make_member_invoker
-{
-    template <class Args>
-    struct apply
-    {
-        typedef member_invoker<
-            mpl::size<Args>::value, M, R, T, Args
-        > type;
-    };
-};
-
-template <long Arity, class T, class R, class Args>
-struct call_invoker;
-
-template <class T, class R>
-struct make_call_invoker
-{
-    template <class Args>
-    struct apply
-    {
-        typedef call_invoker<
-            mpl::size<Args>::value, T, R, Args
-        > type;
-    };
-};
-
-template <long Arity, class T, class Args>
-struct init_invoker;
-
-template <class T>
-struct make_init_invoker
-{
-    template <class Args>
-    struct apply
-    {
-        typedef init_invoker<
-            mpl::size<Args>::value, T, Args
-        > type;
-    };
-};
-
-template <class M, class R, class Args>
-struct invoker<0, M, R, Args>
-{
-    static R execute()
-    {
-        return M()(boost::type<R>());
-    }
-};
-
-template <class M, class R, class T, class Args>
-struct member_invoker<0, M, R, T, Args>
-{
-    static R execute(T& self)
-    {
-        return M()(boost::type<R>(), self);
-    }
-};
-
-template <class T, class R, class Args>
-struct call_invoker<0, T, R, Args>
-{
-    static R execute(T& self)
-    {
-        return self();
-    }
-};
-
-template <class T, class Args>
-struct init_invoker<0, T, Args>
-{
-    static T* execute(T& self)
-    {
-        return new T;
-    }
-};
-
-# define BOOST_PP_ITERATION_PARAMS_1 (4, \
-    (1, BOOST_PARAMETER_MAX_ARITY, <boost/parameter/aux_/python/invoker_iterate.hpp>, 1))
-# include BOOST_PP_ITERATE()
-
-# define BOOST_PP_ITERATION_PARAMS_1 (4, \
-    (1, BOOST_PARAMETER_MAX_ARITY, <boost/parameter/aux_/python/invoker_iterate.hpp>, 2))
-# include BOOST_PP_ITERATE()
-
-# define BOOST_PP_ITERATION_PARAMS_1 (4, \
-    (1, BOOST_PARAMETER_MAX_ARITY, <boost/parameter/aux_/python/invoker_iterate.hpp>, 3))
-# include BOOST_PP_ITERATE()
-
-# define BOOST_PP_ITERATION_PARAMS_1 (4, \
-    (1, BOOST_PARAMETER_MAX_ARITY, <boost/parameter/aux_/python/invoker_iterate.hpp>, 4))
-# include BOOST_PP_ITERATE()
-
-}}}} // namespace boost::parameter::python::aux
-
-#endif // BOOST_PARAMETER_INVOKER_051210_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/python/invoker_iterate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/python/invoker_iterate.hpp
deleted file mode 100755
index c18f6d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/python/invoker_iterate.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-#define N BOOST_PP_ITERATION()
-
-#define BOOST_PARAMETER_PY_ARG_TYPES(z, n, _) \
-    typedef typename mpl::next< \
-        BOOST_PP_CAT(iter,BOOST_PP_DEC(n)) \
-    >::type BOOST_PP_CAT(iter,n); \
-    \
-    typedef typename mpl::deref<BOOST_PP_CAT(iter,n)>::type BOOST_PP_CAT(spec,n); \
-    typedef typename mpl::if_< \
-        mpl::and_< \
-            mpl::not_<typename BOOST_PP_CAT(spec,n)::required> \
-          , typename BOOST_PP_CAT(spec,n)::optimized_default \
-        > \
-      , parameter::aux::maybe<typename BOOST_PP_CAT(spec,n)::type> \
-      , typename BOOST_PP_CAT(spec,n)::type \
-    >::type BOOST_PP_CAT(arg,n); \
-    typedef typename BOOST_PP_CAT(spec,n)::keyword BOOST_PP_CAT(kw,n);
-
-#if BOOST_PP_ITERATION_FLAGS() == 1
-template <class M, class R, class Args>
-struct invoker<N, M, R, Args>
-#elif BOOST_PP_ITERATION_FLAGS() == 2
-template <class T, class R, class Args>
-struct call_invoker<N, T, R, Args>
-#elif BOOST_PP_ITERATION_FLAGS() == 3
-template <class T, class Args>
-struct init_invoker<N, T, Args>
-#elif BOOST_PP_ITERATION_FLAGS() == 4
-template <class M, class R, class T, class Args>
-struct member_invoker<N, M, R, T, Args>
-#endif
-{
-    typedef typename mpl::begin<Args>::type iter0;
-    typedef typename mpl::deref<iter0>::type spec0;
-    typedef typename mpl::if_<
-        mpl::and_<
-            mpl::not_<typename spec0::required>
-          , typename spec0::optimized_default
-        >
-      , parameter::aux::maybe<typename spec0::type>
-      , typename spec0::type
-    >::type arg0;
-    typedef typename spec0::keyword kw0;
-
-    BOOST_PP_REPEAT_FROM_TO(1, N, BOOST_PARAMETER_PY_ARG_TYPES, ~)
-
-    static
-#if BOOST_PP_ITERATION_FLAGS() == 3
-    T*
-#else
-    R
-#endif 
-    execute(
-#if BOOST_PP_ITERATION_FLAGS() == 2 || BOOST_PP_ITERATION_FLAGS() == 4
-        T& self
-      ,
-#endif
-        BOOST_PP_ENUM_BINARY_PARAMS(N, arg, a)
-    )
-    {
-        return
-#if BOOST_PP_ITERATION_FLAGS() == 1 || BOOST_PP_ITERATION_FLAGS() == 4
-         M()(
-              boost::type<R>()
-# if BOOST_PP_ITERATION_FLAGS() == 4
-            , self
-# endif
-            , BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword<kw, >::get() = a)
-         );
-#elif BOOST_PP_ITERATION_FLAGS() == 2
-         self(
-            BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword<kw, >::get() = a)
-         );
-#elif BOOST_PP_ITERATION_FLAGS() == 3
-         new T(
-             BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword<kw, >::get() = a)
-         );
-#endif
-    }
-};
-
-#undef BOOST_PARAMETER_PY_ARG_TYPES
-#undef N
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/result_of0.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/result_of0.hpp
deleted file mode 100755
index e009614..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/result_of0.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP
-# define BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP
-
-# include <boost/utility/result_of.hpp>
-
-// A metafunction returning the result of invoking a nullary function
-// object of the given type.
-
-#ifndef BOOST_NO_RESULT_OF
-
-# include <boost/utility/result_of.hpp>
-namespace boost { namespace parameter { namespace aux { 
-template <class F>
-struct result_of0 : result_of<F()>
-{};
-
-}}} // namespace boost::parameter::aux_
-
-#else
-
-namespace boost { namespace parameter { namespace aux { 
-template <class F>
-struct result_of0
-{
-    typedef typename F::result_type type;
-};
-
-}}} // namespace boost::parameter::aux_
-
-#endif 
-
-
-#endif // BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/set.hpp
deleted file mode 100644
index 7ab93dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/set.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_SET_060912_HPP
-# define BOOST_PARAMETER_SET_060912_HPP
-
-# include <boost/detail/workaround.hpp>
-
-# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  include <boost/mpl/insert.hpp>
-#  include <boost/mpl/set/set0.hpp>
-#  include <boost/mpl/has_key.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-typedef mpl::set0<> set0;
-
-template <class Set, class K>
-struct insert_
-{
-    typedef typename mpl::insert<Set, K>::type type;
-};
-
-template <class Set, class K>
-struct has_key_
-{
-    typedef typename mpl::has_key<Set, K>::type type;
-};
-
-}}} // namespace boost::parameter::aux
-
-# else
-
-#  include <boost/mpl/list.hpp>
-#  include <boost/mpl/end.hpp>
-#  include <boost/mpl/find.hpp>
-#  include <boost/mpl/not.hpp>
-#  include <boost/mpl/push_front.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-typedef mpl::list0<> set0;
-
-template <class Set, class K>
-struct insert_
-{
-    typedef typename mpl::push_front<Set, K>::type type;
-};
-
-template <class Set, class K>
-struct has_key_
-{
-    typedef typename mpl::find<Set, K>::type iter;
-    typedef mpl::not_<
-        is_same<iter, typename mpl::end<Set>::type> 
-    > type;
-};
-
-}}} // namespace boost::parameter::aux
-
-# endif
-
-
-#endif // BOOST_PARAMETER_SET_060912_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/tag.hpp
deleted file mode 100755
index 475efb9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/tag.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP
-# define BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP
-
-# include <boost/parameter/aux_/unwrap_cv_reference.hpp>
-# include <boost/parameter/aux_/tagged_argument.hpp>
-
-namespace boost { namespace parameter { namespace aux { 
-
-template <class Keyword, class ActualArg
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-        , class = typename is_cv_reference_wrapper<ActualArg>::type
-#endif 
-          >
-struct tag
-{
-    typedef tagged_argument<
-        Keyword
-      , typename unwrap_cv_reference<ActualArg>::type
-    > type;
-};
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template <class Keyword, class ActualArg>
-struct tag<Keyword,ActualArg,mpl::false_>
-{
-    typedef tagged_argument<
-        Keyword
-      , ActualArg
-    > type;
-};
-#endif 
-
-}}} // namespace boost::parameter::aux_
-
-#endif // BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/tagged_argument.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/tagged_argument.hpp
deleted file mode 100644
index 79d273e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/tagged_argument.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP
-# define BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP
-
-# include <boost/parameter/aux_/void.hpp>
-# include <boost/parameter/aux_/arg_list.hpp>
-# include <boost/parameter/aux_/result_of0.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_convertible.hpp>
-# include <boost/type_traits/is_reference.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-struct empty_arg_list;
-struct arg_list_tag;
-
-struct tagged_argument_base {};
-
-// Holds a reference to an argument of type Arg associated with
-// keyword Keyword
-    
-template <class Keyword, class Arg>
-struct tagged_argument : tagged_argument_base
-{
-    typedef Keyword key_type;
-    typedef Arg value_type;
-    typedef Arg& reference;
-
-    tagged_argument(reference x) : value(x) {}
-
-    // A metafunction class that, given a keyword and a default
-    // type, returns the appropriate result type for a keyword
-    // lookup given that default
-    struct binding
-    {
-        template <class KW, class Default, class Reference>
-        struct apply
-        {
-          typedef typename mpl::eval_if<
-                boost::is_same<KW, key_type>
-              , mpl::if_<Reference, reference, value_type>
-              , mpl::identity<Default>
-          >::type type;
-        };
-    };
-
-    // Comma operator to compose argument list without using parameters<>.
-    // Useful for argument lists with undetermined length.
-    template <class Keyword2, class Arg2>
-    arg_list<
-        tagged_argument<Keyword, Arg>
-      , arg_list<tagged_argument<Keyword2, Arg2> > 
-    >
-    operator,(tagged_argument<Keyword2, Arg2> x) const
-    {
-        return arg_list<
-            tagged_argument<Keyword, Arg>
-          , arg_list<tagged_argument<Keyword2, Arg2> > 
-        >(
-            *this
-          , arg_list<tagged_argument<Keyword2, Arg2> >(x, empty_arg_list())
-        );
-    }
-
-    reference operator[](keyword<Keyword> const&) const
-    {
-        return value;
-    }
-
-# if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    template <class KW, class Default>
-    Default& get_with_default(default_<KW,Default> const& x, int) const
-    {
-        return x.value;
-    }
-
-    template <class Default>
-    reference get_with_default(default_<key_type,Default> const&, long) const
-    {
-        return value;
-    }
-
-    template <class KW, class Default>
-    typename mpl::apply_wrap3<binding, KW, Default&, mpl::true_>::type
-    operator[](default_<KW,Default> const& x) const
-    {
-        return get_with_default(x, 0L);
-    }
-
-    template <class KW, class F>
-    typename result_of0<F>::type 
-    get_with_lazy_default(lazy_default<KW,F> const& x, int) const
-    {
-        return x.compute_default();
-    }
-
-    template <class F>
-    reference get_with_lazy_default(lazy_default<key_type,F> const&, long) const
-    {
-        return value;
-    }
-
-    template <class KW, class F>
-    typename mpl::apply_wrap3<
-        binding,KW
-      , typename result_of0<F>::type
-      , mpl::true_
-    >::type
-    operator[](lazy_default<KW,F> const& x) const
-    {
-        return get_with_lazy_default(x, 0L);
-    }
-# else
-    template <class Default>
-    reference operator[](default_<key_type,Default> const& ) const
-    {
-        return value;
-    }
-
-    template <class F>
-    reference operator[](lazy_default<key_type,F> const& ) const
-    {
-        return value;
-    }
-
-    template <class KW, class Default>
-    Default& operator[](default_<KW,Default> const& x) const
-    {
-        return x.value;
-    }
-
-    template <class KW, class F>
-    typename result_of0<F>::type operator[](lazy_default<KW,F> const& x) const
-    {
-        return x.compute_default();
-    }
-
-    template <class ParameterRequirements>
-    static typename ParameterRequirements::has_default
-    satisfies(ParameterRequirements*);
-
-    template <class HasDefault, class Predicate>
-    static typename mpl::apply1<Predicate, value_type>::type
-    satisfies(
-        parameter_requirements<key_type,Predicate,HasDefault>*
-    );
-# endif
-
-    reference value;
-# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
-    // warning suppression
- private:
-    void operator=(tagged_argument const&);
- public:    
-# endif
-    // MPL sequence support
-    typedef tagged_argument type;            // Convenience for users
-    typedef empty_arg_list tail_type;        // For the benefit of iterators
-    typedef arg_list_tag tag; // For dispatching to sequence intrinsics
-};
-
-// Defines a metafunction, is_tagged_argument, that identifies
-// tagged_argument specializations and their derived classes.
-template <class T>
-struct is_tagged_argument_aux
-  : is_convertible<T*,tagged_argument_base const*>
-{};
-
-template <class T>
-struct is_tagged_argument
-  : mpl::and_<
-        mpl::not_<is_reference<T> >
-      , is_tagged_argument_aux<T>
-    >
-{};
-
-}}} // namespace boost::parameter::aux
-
-#endif // BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/template_keyword.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/template_keyword.hpp
deleted file mode 100755
index 5a02f00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/template_keyword.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
-# define BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
-
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/type_traits/is_convertible.hpp>
-# include <boost/type_traits/is_reference.hpp>
-
-namespace boost { namespace parameter { 
-
-namespace aux 
-{
-
-  struct template_keyword_tag {}; 
-
-  template <class T, class U>
-  struct is_pointer_convertible
-    : is_convertible<T*, U*>
-  {};
-
-  template <class T>
-  struct is_template_keyword
-    : mpl::and_<
-          mpl::not_<is_reference<T> >
-        , is_pointer_convertible<T, template_keyword_tag>
-      >
-  {};
-
-} // namespace aux
-
-template <class Tag, class T>
-struct template_keyword
-  : aux::template_keyword_tag
-{
-    typedef Tag key_type;
-    typedef T value_type;
-    typedef value_type reference;
-};
-
-}} // namespace boost::parameter
-
-#endif // BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/unwrap_cv_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/unwrap_cv_reference.hpp
deleted file mode 100644
index b6c263f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/unwrap_cv_reference.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef UNWRAP_CV_REFERENCE_050328_HPP
-#define UNWRAP_CV_REFERENCE_050328_HPP
-
-#include <boost/parameter/aux_/yesno.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-namespace boost { template<class T> class reference_wrapper; }
-
-namespace boost { namespace parameter { namespace aux {
-
-//
-// reference_wrapper support -- because of the forwarding problem,
-// when passing arguments positionally by non-const reference, we
-// ask users of named parameter interfaces to use ref(x) to wrap
-// them.
-//
-
-// is_cv_reference_wrapper returns mpl::true_ if T is of type
-// reference_wrapper<U> cv
-template <class U>
-yes_tag is_cv_reference_wrapper_check(reference_wrapper<U> const volatile*);
-no_tag is_cv_reference_wrapper_check(...);
-
-template <class T>
-struct is_cv_reference_wrapper
-{
-    BOOST_STATIC_CONSTANT(
-        bool, value = (
-            sizeof(is_cv_reference_wrapper_check((T*)0)) == sizeof(yes_tag)
-        )
-    );
-
-    typedef mpl::bool_<
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-        is_cv_reference_wrapper::
-#endif 
-    value> type;
-};
-
-// Needed for unwrap_cv_reference below. T might be const, so
-// eval_if might fail because of deriving from T const on EDG.
-template <class T>
-struct get_type
-{
-    typedef typename T::type type;
-};
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template <class T, class is_reference_wrapper = typename is_cv_reference_wrapper<T>::type>
-struct unwrap_cv_reference
-{
-    typedef T type;
-};
-
-template <class T>
-struct unwrap_cv_reference<T const, mpl::false_>
-{
-    typedef T const type;
-};
-
-template <class T>
-struct unwrap_cv_reference<T, mpl::true_>
-  : T
-{};
-
-#else 
-// Produces the unwrapped type to hold a reference to in named<>
-// Can't use boost::unwrap_reference<> here because it
-// doesn't handle the case where T = reference_wrapper<U> cv
-template <class T>
-struct unwrap_cv_reference
-{
-    typedef typename mpl::eval_if<
-        is_cv_reference_wrapper<T>
-      , get_type<T>
-      , mpl::identity<T>
-    >::type type;
-};
-#endif
-
-}}} // namespace boost::parameter::aux
-
-#endif // UNWRAP_CV_REFERENCE_050328_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/void.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/void.hpp
deleted file mode 100755
index 7061a7d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/void.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef BOOST_PARAMETER_VOID_050329_HPP
-#define BOOST_PARAMETER_VOID_050329_HPP
-
-namespace boost { namespace parameter { 
-
-// A placemarker for "no argument passed."
-// MAINTAINER NOTE: Do not make this into a metafunction
-struct void_ {}; 
-
-namespace aux 
-{
-
-  inline void_& void_reference()
-  {
-      static void_ instance;
-      return instance;
-  }
-
-} // namespace aux
-
-}} // namespace boost::parameter
-
-#endif // BOOST_PARAMETER_VOID_050329_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/yesno.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/yesno.hpp
deleted file mode 100755
index 13fa545..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/aux_/yesno.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef YESNO_050328_HPP
-#define YESNO_050328_HPP
-
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-// types used with the "sizeof trick" to capture the results of
-// overload resolution at compile-time.
-typedef char yes_tag;
-typedef char (&no_tag)[2];
-
-// mpl::true_ and mpl::false_ are not distinguishable by sizeof(),
-// so we pass them through these functions to get a type that is.
-yes_tag to_yesno(mpl::true_);
-no_tag to_yesno(mpl::false_);
-
-}}} // namespace boost::parameter::aux
-
-#endif // YESNO_050328_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/binding.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/binding.hpp
deleted file mode 100644
index 778a7b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/binding.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef BOOST_PARAMETER_BINDING_DWA200558_HPP
-# define BOOST_PARAMETER_BINDING_DWA200558_HPP
-
-# include <boost/mpl/apply.hpp>
-# include <boost/mpl/assert.hpp>
-# include <boost/mpl/and.hpp>
-# include <boost/parameter/aux_/result_of0.hpp>
-# include <boost/parameter/aux_/void.hpp>
-# include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace parameter { 
-
-// A metafunction that, given an argument pack, returns the type of
-// the parameter identified by the given keyword.  If no such
-// parameter has been specified, returns Default
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template <class Parameters, class Keyword, class Default>
-struct binding0
-{
-    typedef typename mpl::apply_wrap3<
-        typename Parameters::binding,Keyword,Default,mpl::true_
-    >::type type;
-
-    BOOST_MPL_ASSERT_NOT((
-        mpl::and_<
-            is_same<Default, void_>
-          , is_same<type, void_>
-        >
-    ));
-};
-# endif
-
-template <class Parameters, class Keyword, class Default = void_>
-struct binding
-{
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    typedef typename mpl::eval_if<
-        mpl::is_placeholder<Parameters>
-      , mpl::identity<int>
-      , binding0<Parameters,Keyword,Default>
-    >::type type;
-# else
-    typedef typename mpl::apply_wrap3<
-        typename Parameters::binding,Keyword,Default,mpl::true_
-    >::type type;
-
-    BOOST_MPL_ASSERT_NOT((
-        mpl::and_<
-            is_same<Default, void_>
-          , is_same<type, void_>
-        >
-    ));
-# endif
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,binding,(Parameters,Keyword,Default))
-};
-
-// A metafunction that, given an argument pack, returns the type of
-// the parameter identified by the given keyword.  If no such
-// parameter has been specified, returns the type returned by invoking
-// DefaultFn
-template <class Parameters, class Keyword, class DefaultFn>
-struct lazy_binding
-{
-  typedef typename mpl::apply_wrap3<
-      typename Parameters::binding
-    , Keyword
-    , typename aux::result_of0<DefaultFn>::type
-    , mpl::true_
-  >::type type;
-};
-
-
-}} // namespace boost::parameter
-
-#endif // BOOST_PARAMETER_BINDING_DWA200558_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/config.hpp
deleted file mode 100644
index 5710c92..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/config.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef BOOST_PARAMETER_CONFIG_050403_HPP
-#define BOOST_PARAMETER_CONFIG_050403_HPP
-
-#ifndef BOOST_PARAMETER_MAX_ARITY
-# define BOOST_PARAMETER_MAX_ARITY 8
-#endif
-
-#endif // BOOST_PARAMETER_CONFIG_050403_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/keyword.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/keyword.hpp
deleted file mode 100644
index 925c772..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/keyword.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright Daniel Wallin, David Abrahams 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)
-
-#ifndef KEYWORD_050328_HPP
-#define KEYWORD_050328_HPP
-
-#include <boost/parameter/aux_/unwrap_cv_reference.hpp>
-#include <boost/parameter/aux_/tag.hpp>
-#include <boost/parameter/aux_/default.hpp>
-
-namespace boost { namespace parameter {
-
-// Instances of unique specializations of keyword<...> serve to
-// associate arguments with parameter names.  For example:
-//
-//    struct rate_;           // parameter names
-//    struct skew_;
-//    namespace
-//    {
-//      keyword<rate_> rate;  // keywords
-//      keyword<skew_> skew;
-//    }
-//
-//    ...
-//
-//    f(rate = 1, skew = 2.4);
-//
-template <class Tag>
-struct keyword
-{
-    template <class T>
-    typename aux::tag<Tag, T>::type const
-    operator=(T& x) const
-    {
-        typedef typename aux::tag<Tag, T>::type result;
-        return result(x);
-    }
-
-    template <class Default>
-    aux::default_<Tag, Default>
-    operator|(Default& default_) const
-    {
-        return aux::default_<Tag, Default>(default_);
-    }
-
-    template <class Default>
-    aux::lazy_default<Tag, Default>
-    operator||(Default& default_) const
-    {
-        return aux::lazy_default<Tag, Default>(default_);
-    }
-
-    template <class T>
-    typename aux::tag<Tag, T const>::type const
-    operator=(T const& x) const
-    {
-        typedef typename aux::tag<Tag, T const>::type result;
-        return result(x);
-    }
-
-    template <class Default>
-    aux::default_<Tag, const Default>
-    operator|(const Default& default_) const
-    {
-        return aux::default_<Tag, const Default>(default_);
-    }
-
-    template <class Default>
-    aux::lazy_default<Tag, Default>
-    operator||(Default const& default_) const
-    {
-        return aux::lazy_default<Tag, Default>(default_);
-    }
-
- public: // Insurance against ODR violations
-    
-    // People will need to define these keywords in header files.  To
-    // prevent ODR violations, it's important that the keyword used in
-    // every instantiation of a function template is the same object.
-    // We provide a reference to a common instance of each keyword
-    // object and prevent construction by users.
-    static keyword<Tag> const instance;
-
-    // This interface is deprecated
-    static keyword<Tag>& get()
-    {
-        return const_cast<keyword<Tag>&>(instance);
-    }
-};
-
-template <class Tag>
-keyword<Tag> const keyword<Tag>::instance = {};
-
-// Reduces boilerplate required to declare and initialize keywords
-// without violating ODR.  Declares a keyword tag type with the given
-// name in namespace tag_namespace, and declares and initializes a
-// reference in an anonymous namespace to a singleton instance of that
-// type.
-
-#define BOOST_PARAMETER_KEYWORD(tag_namespace,name)                 \
-    namespace tag_namespace                                         \
-    {                                                               \
-      struct name                                                   \
-      {                                                             \
-          static char const* keyword_name()                         \
-          {                                                         \
-              return #name;                                         \
-          }                                                         \
-      };                                                            \
-    }                                                               \
-    namespace                                                       \
-    {                                                               \
-       ::boost::parameter::keyword<tag_namespace::name> const& name \
-       = ::boost::parameter::keyword<tag_namespace::name>::instance;\
-    }
-
-}} // namespace boost::parameter
-
-#endif // KEYWORD_050328_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/macros.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/macros.hpp
deleted file mode 100644
index 83fbfb5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/macros.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright David Abrahams, Daniel Wallin 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 BOOST_PARAMETER_MACROS_050412_HPP
-#define BOOST_PARAMETER_MACROS_050412_HPP
-
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/logical/bool.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/control/expr_if.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/detail/workaround.hpp>
-
-#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD1(n) \
-    template<BOOST_PP_ENUM_PARAMS(n, class T)>
-
-#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD0(n)
-
-#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) 
-
-# define BOOST_PARAMETER_MATCH_TYPE(n, param)           \
-            BOOST_PP_EXPR_IF(n, typename) param::match  \
-            <                                           \
-                BOOST_PP_ENUM_PARAMS(n, T)              \
-            >::type 
-
-#else
-
-# define BOOST_PARAMETER_MATCH_TYPE(n, param) param
-
-#endif
-
-#define BOOST_PARAMETER_FUN_DECL(z, n, params)                                      \
-                                                                                    \
-    BOOST_PP_CAT(BOOST_PARAMETER_FUN_TEMPLATE_HEAD, BOOST_PP_BOOL(n))(n)            \
-                                                                                    \
-    BOOST_PP_TUPLE_ELEM(3, 0, params)                                               \
-        BOOST_PP_TUPLE_ELEM(3, 1, params)(                                          \
-            BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& p)                             \
-            BOOST_PP_COMMA_IF(n)                                                    \
-            BOOST_PARAMETER_MATCH_TYPE(n,BOOST_PP_TUPLE_ELEM(3, 2, params))         \
-            kw = BOOST_PP_TUPLE_ELEM(3, 2, params)()                                \
-        )                                                                           \
-    {                                                                               \
-        return BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 1, params), _with_named_params)( \
-            kw(BOOST_PP_ENUM_PARAMS(n, p))                                          \
-        );                                                                          \
-    }
-
-// Generates:
-//
-// template<class Params>
-// ret name ## _with_named_params(Params const&);
-//
-// template<class T0>
-// ret name(T0 const& p0, typename parameters::match<T0>::type kw = parameters())
-// {
-//     return name ## _with_named_params(kw(p0));
-// }
-//
-// template<class T0, ..., class TN>
-// ret name(T0 const& p0, ..., TN const& PN
-//    , typename parameters::match<T0, ..., TN>::type kw = parameters())
-// {
-//     return name ## _with_named_params(kw(p0, ..., pN));
-// }
-//
-// template<class Params>
-// ret name ## _with_named_params(Params const&)
-//
-// lo and hi determines the min and max arity of the generated functions.
-
-#define BOOST_PARAMETER_FUN(ret, name, lo, hi, parameters)                          \
-                                                                                    \
-    template<class Params>                                                          \
-    ret BOOST_PP_CAT(name, _with_named_params)(Params const& p);                    \
-                                                                                    \
-    BOOST_PP_REPEAT_FROM_TO(                                                        \
-        lo, BOOST_PP_INC(hi), BOOST_PARAMETER_FUN_DECL, (ret, name, parameters))    \
-                                                                                    \
-    template<class Params>                                                          \
-    ret BOOST_PP_CAT(name, _with_named_params)(Params const& p)
-
-#define BOOST_PARAMETER_MEMFUN(ret, name, lo, hi, parameters)                       \
-                                                                                    \
-    BOOST_PP_REPEAT_FROM_TO(                                                        \
-        lo, BOOST_PP_INC(hi), BOOST_PARAMETER_FUN_DECL, (ret, name, parameters))    \
-                                                                                    \
-    template<class Params>                                                          \
-    ret BOOST_PP_CAT(name, _with_named_params)(Params const& p)
-
-#endif // BOOST_PARAMETER_MACROS_050412_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/match.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/match.hpp
deleted file mode 100755
index 2fa3f17..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/match.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef BOOST_PARAMETER_MATCH_DWA2005714_HPP
-# define BOOST_PARAMETER_MATCH_DWA2005714_HPP
-
-# include <boost/detail/workaround.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-
-# if BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
-// Temporary version of BOOST_PP_SEQ_ENUM until Paul M. integrates the workaround.
-#  define BOOST_PARAMETER_SEQ_ENUM_I(size,seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq
-#  define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PARAMETER_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)
-# else
-#  define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM(seq)
-# endif 
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-#  include <boost/parameter/config.hpp>
-#  include <boost/parameter/aux_/void.hpp>
-#  include <boost/preprocessor/arithmetic/sub.hpp>
-#  include <boost/preprocessor/facilities/intercept.hpp>
-#  include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-#  define BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes)              \
-        BOOST_PP_ENUM_TRAILING_PARAMS(                          \
-            BOOST_PP_SUB(                                       \
-                BOOST_PARAMETER_MAX_ARITY                       \
-              , BOOST_PP_SEQ_SIZE(ArgTypes)                     \
-            )                                                   \
-          , ::boost::parameter::void_ BOOST_PP_INTERCEPT   \
-        )
-
-# else
-
-#  define BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes)
-
-# endif 
-
-//
-// Generates, e.g.
-//
-//    typename dfs_params::match<A1,A2>::type name = dfs_params()
-//
-// with workarounds for Borland compatibility.
-//
-
-# define BOOST_PARAMETER_MATCH(ParameterSpec, ArgTypes, name)   \
-    typename ParameterSpec ::match<                             \
-        BOOST_PARAMETER_SEQ_ENUM(ArgTypes)                      \
-        BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes)                \
-    >::type name = ParameterSpec ()
-
-#endif // BOOST_PARAMETER_MATCH_DWA2005714_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/name.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/name.hpp
deleted file mode 100644
index f439df4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/name.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_NAME_060806_HPP
-# define BOOST_PARAMETER_NAME_060806_HPP
-
-# include <boost/parameter/keyword.hpp>
-# include <boost/parameter/value_type.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/stringize.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/mpl/placeholders.hpp>
-
-# if !defined(BOOST_NO_SFINAE) \
-  && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-
-#  include <boost/utility/enable_if.hpp>
-#  include <boost/mpl/lambda.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-// Tag type passed to MPL lambda.
-struct lambda_tag;
-
-struct name_tag_base
-{};
-
-template <class Tag>
-struct name_tag
-{};
-
-template <class T>
-struct is_name_tag
-  : mpl::false_
-{};
-
-}}} // namespace boost::parameter::aux
-
-namespace boost { namespace mpl {
-
-template <class T>
-struct lambda<
-    T
-  , typename boost::enable_if<
-        parameter::aux::is_name_tag<T>, parameter::aux::lambda_tag
-    >::type
->
-{
-    typedef true_ is_le;
-    typedef bind3< quote3<parameter::value_type>, arg<2>, T, void> result_;
-    typedef result_ type;
-};
-
-}} // namespace boost::mpl
-
-# endif
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-# include <boost/preprocessor/detail/split.hpp>
-// From Paul Mensonides
-#  define BOOST_PARAMETER_IS_BINARY(x) \
-    BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_BINARY_C x BOOST_PP_COMMA() 0) \
-    /**/
-#  define BOOST_PARAMETER_IS_BINARY_C(x,y) \
-    ~, 1 BOOST_PP_RPAREN() \
-    BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \
-    /**/
-# else
-#  include <boost/preprocessor/detail/is_binary.hpp>
-#  define BOOST_PARAMETER_IS_BINARY(x) BOOST_PP_IS_BINARY(x)
-# endif
-
-# define BOOST_PARAMETER_BASIC_NAME(tag_namespace, tag, name)       \
-    namespace tag_namespace                                         \
-    {                                                               \
-      struct tag                                                    \
-      {                                                             \
-          static char const* keyword_name()                         \
-          {                                                         \
-              return BOOST_PP_STRINGIZE(tag);                       \
-          }                                                         \
-                                                                    \
-          typedef boost::parameter::value_type<                     \
-              boost::mpl::_2, tag, boost::parameter::void_          \
-          > _;                                                      \
-                                                                    \
-          typedef boost::parameter::value_type<                     \
-              boost::mpl::_2, tag, boost::parameter::void_          \
-          > _1;                                                     \
-      };                                                            \
-    }                                                               \
-    namespace                                                       \
-    {                                                               \
-       ::boost::parameter::keyword<tag_namespace::tag> const& name  \
-       = ::boost::parameter::keyword<tag_namespace::tag>::instance; \
-    }
-
-# define BOOST_PARAMETER_COMPLEX_NAME_TUPLE1(tag,namespace)         \
-    (tag, namespace), ~
-
-# define BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)                   \
-    BOOST_PP_TUPLE_ELEM(2, 0, (BOOST_PARAMETER_COMPLEX_NAME_TUPLE1 name))
-
-# define BOOST_PARAMETER_COMPLEX_NAME_TAG(name)                     \
-    BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name))
-
-# define BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name)               \
-    BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name))
-
-# define BOOST_PARAMETER_COMPLEX_NAME(name)                         \
-    BOOST_PARAMETER_BASIC_NAME(                                     \
-        BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name)                \
-      , BOOST_PP_TUPLE_EAT(2) name                                  \
-      , BOOST_PARAMETER_COMPLEX_NAME_TAG(name)                      \
-    )                                                               \
-/**/
-
-# define BOOST_PARAMETER_SIMPLE_NAME(name)                          \
-    BOOST_PARAMETER_BASIC_NAME(tag, name, BOOST_PP_CAT(_, name))
-
-# define BOOST_PARAMETER_NAME(name)                                 \
-    BOOST_PP_IIF(                                                   \
-        BOOST_PARAMETER_IS_BINARY(name)                             \
-      , BOOST_PARAMETER_COMPLEX_NAME                                \
-      , BOOST_PARAMETER_SIMPLE_NAME                                 \
-    )(name)                                                         \
-/**/
-
-
-# define BOOST_PARAMETER_TEMPLATE_KEYWORD(name)                     \
-    namespace tag                                                   \
-    {                                                               \
-      struct name;                                                  \
-    }                                                               \
-    template <class T>                                              \
-    struct name                                                     \
-      : boost::parameter::template_keyword<tag::name, T>            \
-    {};                                                             \
-/**/
-
-#endif // BOOST_PARAMETER_NAME_060806_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/parameters.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/parameters.hpp
deleted file mode 100755
index 97e1024..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/parameters.hpp
+++ /dev/null
@@ -1,931 +0,0 @@
-// Copyright David Abrahams, Daniel Wallin 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 BOOST_PARAMETERS_031014_HPP
-#define BOOST_PARAMETERS_031014_HPP
-
-#include <boost/detail/is_xxx.hpp>
-
-#include <boost/type_traits/is_const.hpp>
-
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/pair.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#include <boost/parameter/aux_/arg_list.hpp>
-#include <boost/parameter/aux_/yesno.hpp>
-#include <boost/parameter/aux_/void.hpp>
-#include <boost/parameter/aux_/default.hpp>
-#include <boost/parameter/aux_/unwrap_cv_reference.hpp>
-#include <boost/parameter/aux_/tagged_argument.hpp>
-#include <boost/parameter/aux_/tag.hpp>
-#include <boost/parameter/aux_/template_keyword.hpp>
-#include <boost/parameter/aux_/set.hpp>
-#include <boost/parameter/config.hpp>
-
-namespace parameter_
-{
-  template <class T>
-  struct unmatched_argument
-  {
-      BOOST_MPL_ASSERT((boost::is_same<T,void>));
-      typedef int type;
-  }; 
-} // namespace parameter_
-
-namespace boost {
-
-template<class T> class reference_wrapper;
-
-namespace parameter {
-
-namespace aux { struct use_default {}; }
-
-// These templates can be used to describe the treatment of particular
-// named parameters for the purposes of overload elimination with
-// SFINAE, by placing specializations in the parameters<...> list.  In
-// order for a treated function to participate in overload resolution:
-//
-//   - all keyword tags wrapped in required<...> must have a matching
-//     actual argument
-//
-//   - The actual argument type matched by every keyword tag
-//     associated with a predicate must satisfy that predicate
-//
-// If a keyword k is specified without an optional<...> or
-// required<...>, wrapper, it is treated as though optional<k> were
-// specified.
-//
-// If a keyword k is specified with deduced<...>, that keyword
-// will be automatically deduced from the argument list.
-//
-template <class Tag, class Predicate = aux::use_default>
-struct required
-{
-    typedef Tag key_type;
-    typedef Predicate predicate;
-};
-
-template <class Tag, class Predicate = aux::use_default>
-struct optional
-{
-    typedef Tag key_type;
-    typedef Predicate predicate;
-};
-
-template <class Tag>
-struct deduced
-{
-    typedef Tag key_type;
-};
-
-namespace aux
-{
-  // Defines metafunctions, is_required and is_optional, that
-  // identify required<...>, optional<...> and deduced<...> specializations.
-  BOOST_DETAIL_IS_XXX_DEF(required, required, 2)
-  BOOST_DETAIL_IS_XXX_DEF(optional, optional, 2)
-  BOOST_DETAIL_IS_XXX_DEF(deduced_aux, deduced, 1)
-
-  template <class S>
-  struct is_deduced0
-    : is_deduced_aux<
-          typename S::key_type
-      >::type
-  {};
-
-  template <class S>
-  struct is_deduced
-    : mpl::eval_if<
-          mpl::or_<
-              is_optional<S>, is_required<S>
-          >
-        , is_deduced0<S>
-        , mpl::false_
-      >::type
-  {};
-
-  //
-  // key_type, has_default, and predicate --
-  //
-  // These metafunctions accept a ParameterSpec and extract the
-  // keyword tag, whether or not a default is supplied for the
-  // parameter, and the predicate that the corresponding actual
-  // argument type is required match.
-  //
-  // a ParameterSpec is a specialization of either keyword<...>,
-  // required<...>, optional<...>
-  //
-
-  // helper for key_type<...>, below.
-  template <class T>
-  struct get_tag_type0
-  {
-      typedef typename T::key_type type;
-  };
-
-  template <class T>
-  struct get_tag_type
-    : mpl::eval_if<
-          is_deduced_aux<typename T::key_type>
-        , get_tag_type0<typename T::key_type>
-        , mpl::identity<typename T::key_type>
-      >
-  {};
-
-  template <class T>
-  struct tag_type
-    : mpl::eval_if<
-          mpl::or_<
-              is_optional<T>
-            , is_required<T>
-          >
-        , get_tag_type<T>
-        , mpl::identity<T>
-      >
-  {};
-
-  template <class T>
-  struct has_default
-    : mpl::not_<is_required<T> >
-  {};
-
-  // helper for get_predicate<...>, below
-  template <class T>
-  struct get_predicate_or_default
-  {
-      typedef T type;
-  };
-
-  template <>
-  struct get_predicate_or_default<use_default>
-  {
-      typedef mpl::always<mpl::true_> type;
-  };
-
-  // helper for predicate<...>, below
-  template <class T>
-  struct get_predicate
-  {
-      typedef typename
-          get_predicate_or_default<typename T::predicate>::type
-      type;
-  };
-
-  template <class T>
-  struct predicate
-    : mpl::eval_if<
-         mpl::or_<
-              is_optional<T>
-            , is_required<T>
-          >
-        , get_predicate<T>
-        , mpl::identity<mpl::always<mpl::true_> >
-      >
-  {
-  };
-
-
-  // Converts a ParameterSpec into a specialization of
-  // parameter_requirements.  We need to do this in order to get the
-  // tag_type into the type in a way that can be conveniently matched
-  // by a satisfies(...) member function in arg_list.
-  template <class ParameterSpec>
-  struct as_parameter_requirements
-  {
-      typedef parameter_requirements<
-          typename tag_type<ParameterSpec>::type
-        , typename predicate<ParameterSpec>::type
-        , typename has_default<ParameterSpec>::type
-      > type;
-  };
-
-  template <class T>
-  struct is_named_argument
-    : mpl::or_<
-          is_template_keyword<T>
-        , is_tagged_argument<T>
-      >
-  {};
-  
-  // Returns mpl::true_ iff the given ParameterRequirements are
-  // satisfied by ArgList.
-  template <class ArgList, class ParameterRequirements>
-  struct satisfies
-  {
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-      // VC7.1 can't handle the sizeof() implementation below,
-      // so we use this instead.
-      typedef typename mpl::apply_wrap3<
-          typename ArgList::binding
-        , typename ParameterRequirements::keyword
-        , void_
-        , mpl::false_
-      >::type bound;
-
-      typedef typename mpl::eval_if<
-          is_same<bound, void_>
-        , typename ParameterRequirements::has_default
-        , mpl::apply_wrap2<
-              typename mpl::lambda<
-                  typename ParameterRequirements::predicate, lambda_tag
-              >::type
-            , bound
-            , ArgList
-          >
-      >::type type;
-#else
-      BOOST_STATIC_CONSTANT(
-          bool, value = (
-              sizeof(
-                  aux::to_yesno(
-                      ArgList::satisfies((ParameterRequirements*)0, (ArgList*)0)
-                  )
-              ) == sizeof(yes_tag)
-          )
-      );
-
-      typedef mpl::bool_<satisfies::value> type;
-#endif
-  };
-
-  // Returns mpl::true_ if the requirements of the given ParameterSpec
-  // are satisfied by ArgList.
-  template <class ArgList, class ParameterSpec>
-  struct satisfies_requirements_of
-    : satisfies<
-          ArgList
-        , typename as_parameter_requirements<ParameterSpec>::type
-      >
-  {};
-
-  // Tags a deduced argument Arg with the keyword tag of Spec using TagFn.
-  // Returns the tagged argument and the mpl::set<> UsedArgs with the
-  // tag of Spec inserted.
-  template <class UsedArgs, class Spec, class Arg, class TagFn>
-  struct tag_deduced
-  {
-      typedef mpl::pair<
-          typename mpl::apply_wrap2<TagFn, typename tag_type<Spec>::type, Arg>::type
-        , typename aux::insert_<UsedArgs, typename tag_type<Spec>::type>::type
-      > type;
-  };
-
-  template <
-      class Argument
-    , class ArgumentPack
-    , class DeducedArgs
-    , class UsedArgs
-    , class TagFn
-  >
-  struct deduce_tag;
-
-  // Tag type passed to MPL lambda.
-  struct lambda_tag;
-
-  // Helper for deduce_tag<> below.
-  template <
-      class Argument
-    , class ArgumentPack
-    , class DeducedArgs
-    , class UsedArgs
-    , class TagFn
-  >
-  struct deduce_tag0
-  {
-      typedef typename DeducedArgs::spec spec;
-
-      typedef typename mpl::apply_wrap2<
-          typename mpl::lambda<
-              typename spec::predicate, lambda_tag
-          >::type
-        , Argument
-        , ArgumentPack
-      >::type condition;
-
-      // Deduced parameter matches several arguments.
-
-      BOOST_MPL_ASSERT((
-          mpl::not_<mpl::and_<
-              condition
-            , aux::has_key_<UsedArgs, typename tag_type<spec>::type>
-          > >
-      ));
-
-      typedef typename mpl::eval_if<
-          condition
-        , tag_deduced<UsedArgs, spec, Argument, TagFn>
-        , deduce_tag<Argument, ArgumentPack, typename DeducedArgs::tail, UsedArgs, TagFn>
-      >::type type;
-  };
-
-  // Tries to deduced a keyword tag for a given Argument.
-  // Returns an mpl::pair<> consisting of the tagged_argument<>, 
-  // and an mpl::set<> where the new tag has been inserted.
-  //
-  //  Argument: The argument type to be tagged.
-  //
-  //  ArgumentPack: The ArgumentPack built so far.
-  //
-  //  DeducedArgs: A specialization of deduced_item<> (see below).
-  //               A list containing only the deduced ParameterSpecs.
-  //
-  //  UsedArgs: An mpl::set<> containing the keyword tags used so far.
-  //
-  //  TagFn: A metafunction class used to tag positional or deduced
-  //         arguments with a keyword tag.
-
-  template <
-      class Argument
-    , class ArgumentPack
-    , class DeducedArgs
-    , class UsedArgs
-    , class TagFn
-  >
-  struct deduce_tag
-  {
-      typedef typename mpl::eval_if<
-          is_same<DeducedArgs, void_>
-        , mpl::pair<void_, UsedArgs>
-        , deduce_tag0<Argument, ArgumentPack, DeducedArgs, UsedArgs, TagFn>
-      >::type type;
-  };
-
-  template <
-      class List
-    , class DeducedArgs
-    , class TagFn
-    , class Positional
-    , class UsedArgs
-    , class ArgumentPack
-    , class Error
-  >
-  struct make_arg_list_aux;
-
-  // Inserts Tagged::key_type into the UserArgs set.
-  // Extra indirection to lazily evaluate Tagged::key_type.
-  template <class UsedArgs, class Tagged>
-  struct insert_tagged
-  {
-      typedef typename aux::insert_<
-          UsedArgs, typename Tagged::key_type
-      >::type type;
-  };
-
-  // Borland needs the insane extra-indirection workaround below
-  // so that it doesn't magically drop the const qualifier from
-  // the argument type.
-
-  template <
-      class List
-    , class DeducedArgs
-    , class TagFn
-    , class Positional
-    , class UsedArgs
-    , class ArgumentPack
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    , class argument
-#endif
-    , class Error
-  >
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-  struct make_arg_list00
-#else
-  struct make_arg_list0
-#endif
-  {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-      typedef typename List::arg argument;
-#endif
-      typedef typename List::spec parameter_spec;
-      typedef typename tag_type<parameter_spec>::type tag_;
-
-      typedef is_named_argument<argument> is_tagged;
-
-      // If this argument is either explicitly tagged or a deduced
-      // parameter, we turn off positional matching.
-      typedef mpl::and_<
-          mpl::not_<
-              mpl::or_<is_deduced<parameter_spec>, is_tagged> 
-          > 
-        , Positional
-      > positional;
-
-      // If this parameter is explicitly tagged we add it to the
-      // used-parmeters set. We only really need to add parameters
-      // that are deduced, but we would need a way to check if
-      // a given tag corresponds to a deduced parameter spec.
-      typedef typename mpl::eval_if<
-          is_tagged
-        , insert_tagged<UsedArgs, argument>
-        , mpl::identity<UsedArgs>
-      >::type used_args;
-
-      // If this parameter is neither explicitly tagged, nor
-      // positionally matched; deduce the tag from the deduced
-      // parameter specs.
-      typedef typename mpl::eval_if<
-          mpl::or_<is_tagged, positional>
-        , mpl::pair<void_, used_args>
-        , deduce_tag<argument, ArgumentPack, DeducedArgs, used_args, TagFn>
-      >::type deduced_data;
-
-      // If this parameter is explicitly tagged..
-      typedef typename mpl::eval_if<
-          is_tagged
-        , mpl::identity<argument>                        // .. just use it
-        , mpl::eval_if<                                  // .. else, if positional matching is turned on..
-                positional
-              , mpl::apply_wrap2<TagFn, tag_, argument>  // .. tag it positionally
-              , mpl::first<deduced_data>                 // .. else, use the deduced tag
-          >
-      >::type tagged;
-
-      // We build the arg_list incrementally as we go, prepending new
-      // nodes.
-
-      typedef typename mpl::if_<
-          mpl::and_<
-              is_same<Error, void_>
-            , is_same<tagged, void_>
-          >
-        , parameter_::unmatched_argument<argument>
-        , void_
-      >::type error;
-
-      typedef typename mpl::if_<
-          is_same<tagged, void_>
-        , ArgumentPack
-        , arg_list<tagged, ArgumentPack>
-      >::type argument_pack;
-
-      typedef typename make_arg_list_aux<
-          typename List::tail
-        , DeducedArgs
-        , TagFn
-        , positional
-        , typename deduced_data::second
-        , argument_pack
-        , error
-      >::type type;
-  };
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-  template <
-      class List
-    , class DeducedArgs
-    , class TagFn
-    , class Positional
-    , class UsedArgs
-    , class ArgumentPack
-    , class Error
-  >
-  struct make_arg_list0
-  {
-      typedef typename mpl::eval_if<
-          typename List::is_arg_const
-        , make_arg_list00<
-              List
-            , DeducedArgs
-            , TagFn
-            , Positional
-            , UsedArgs
-            , ArgumentPack
-            , typename List::arg const
-            , Error
-          >
-        , make_arg_list00<
-              List
-            , DeducedArgs
-            , TagFn
-            , Positional
-            , UsedArgs
-            , ArgumentPack
-            , typename List::arg
-            , Error
-          >
-      >::type type;
-  };
-#endif
-
-  // Returns an ArgumentPack where the list of arguments has
-  // been tagged with keyword tags.
-  //
-  //   List: A specialization of item<> (see below). Contains
-  //         both the ordered ParameterSpecs, and the given arguments.
-  //
-  //   DeducedArgs: A specialization of deduced_item<> (see below).
-  //                A list containing only the deduced ParameterSpecs.
-  //
-  //   TagFn: A metafunction class used to tag positional or deduced
-  //          arguments with a keyword tag.
-  //
-  //   Position: An mpl::bool_<> specialization indicating if positional
-  //             matching is to be performed.
-  //
-  //   DeducedSet: An mpl::set<> containing the keyword tags used so far.
-  //
-  //   ArgumentPack: The ArgumentPack built so far. This is initially an
-  //                 empty_arg_list and is built incrementally.
-  //
-
-  template <
-      class List
-    , class DeducedArgs
-    , class TagFn
-    , class Positional
-    , class DeducedSet
-    , class ArgumentPack
-    , class Error
-  >
-  struct make_arg_list_aux
-  {
-      typedef typename mpl::eval_if<
-          is_same<List, void_>
-        , mpl::identity<mpl::pair<ArgumentPack, Error> >
-        , make_arg_list0<List, DeducedArgs, TagFn, Positional, DeducedSet, ArgumentPack, Error>
-      >::type type;
-  };
-
-  // VC6.5 was choking on the default parameters for make_arg_list_aux, so
-  // this just forwards to that adding in the defaults.
-  template <
-      class List
-    , class DeducedArgs
-    , class TagFn
-    , class EmitErrors = mpl::true_
-  >
-  struct make_arg_list
-  {
-      typedef typename make_arg_list_aux<
-          List, DeducedArgs, TagFn, mpl::true_, aux::set0, empty_arg_list, void_
-      >::type type;
-  };
-
-  // A parameter spec item typelist.
-  template <class Spec, class Arg, class Tail = void_>
-  struct item
-  {
-      typedef Spec spec;
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-      typedef is_const<Arg> is_arg_const;
-#endif
-
-      typedef Arg arg;
-      typedef Tail tail;
-  };
-
-  template <class Spec, class Arg, class Tail>
-  struct make_item
-  {
-      typedef item<Spec, Arg, typename Tail::type> type;
-  };
-
-  // Creates a item typelist.
-  template <class Spec, class Arg, class Tail>
-  struct make_items
-  {
-      typedef typename mpl::eval_if<
-          is_same<Arg, void_>
-        , mpl::identity<void_>
-        , make_item<Spec, Arg, Tail>
-      >::type type;
-  };
-
-  // A typelist that stored deduced parameter specs.
-  template <class ParameterSpec, class Tail = void_>
-  struct deduced_item
-  {
-      typedef ParameterSpec spec;
-      typedef Tail tail;
-  };
-
-  // Evaluate Tail and construct deduced_item list.
-  template <class Spec, class Tail>
-  struct make_deduced_item
-  {
-      typedef deduced_item<Spec, typename Tail::type> type;
-  };
-
-  template <class Spec, class Tail>
-  struct make_deduced_items
-  {
-      typedef typename mpl::eval_if<
-          is_same<Spec, void_>
-        , mpl::identity<void_>
-        , mpl::eval_if<
-              is_deduced<Spec>
-            , make_deduced_item<Spec, Tail>
-            , Tail
-          >
-      >::type type;
-  };
-
-  // Generates:
-  //
-  //   make<
-  //       parameter_spec#0, argument_type#0
-  //     , make<
-  //           parameter_spec#1, argument_type#1
-  //         , ... mpl::identity<aux::empty_arg_list>
-  //    ...>
-  //   >
-#define BOOST_PARAMETER_make_arg_list(z, n, names)      \
-      BOOST_PP_SEQ_ELEM(0,names)<                       \
-          BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names), n),  \
-          BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(2,names), n), 
-
-#define BOOST_PARAMETER_right_angle(z, n, text) >
-
-#define BOOST_PARAMETER_build_arg_list(n, make, parameter_spec, argument_type)      \
-  BOOST_PP_REPEAT(                                                                  \
-      n, BOOST_PARAMETER_make_arg_list, (make)(parameter_spec)(argument_type))      \
-      mpl::identity<void_>                                                          \
-  BOOST_PP_REPEAT(n, BOOST_PARAMETER_right_angle, _)
-
-#define BOOST_PARAMETER_make_deduced_list(z, n, names)  \
-      BOOST_PP_SEQ_ELEM(0,names)<                       \
-          BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names), n),
-
-#define BOOST_PARAMETER_build_deduced_list(n, make, parameter_spec)                 \
-  BOOST_PP_REPEAT(                                                                  \
-      n, BOOST_PARAMETER_make_deduced_list, (make)(parameter_spec))                 \
-  mpl::identity<void_>                                                              \
-  BOOST_PP_REPEAT(n, BOOST_PARAMETER_right_angle, _)
-
-  struct tag_keyword_arg
-  {
-      template <class K, class T>
-      struct apply
-        : tag<K,T>
-      {};
-  };
-
-  struct tag_template_keyword_arg
-  {
-      template <class K, class T>
-      struct apply
-      {
-          typedef template_keyword<K,T> type;
-      };
-  };
-
-} // namespace aux
-
-#define BOOST_PARAMETER_FORWARD_TYPEDEF(z, i, names) \
-    typedef BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0,names),i) BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names),i);
-
-#define BOOST_PARAMETER_FORWARD_TYPEDEFS(n, src, dest) \
-    BOOST_PP_REPEAT(n, BOOST_PARAMETER_FORWARD_TYPEDEF, (src)(dest))
-
-
-#define BOOST_PARAMETER_TEMPLATE_ARGS(z, n, text) class BOOST_PP_CAT(PS, n) = void_
-
-template<
-     class PS0
-   , BOOST_PP_ENUM_SHIFTED(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_TEMPLATE_ARGS, _)
->
-struct parameters
-{
-#undef BOOST_PARAMETER_TEMPLATE_ARGS
-
-    typedef typename BOOST_PARAMETER_build_deduced_list(
-        BOOST_PARAMETER_MAX_ARITY, aux::make_deduced_items, PS
-    )::type deduced_list;
-
-    // if the elements of NamedList match the criteria of overload
-    // resolution, returns a type which can be constructed from
-    // parameters.  Otherwise, this is not a valid metafunction (no nested
-    // ::type).
-
-
-#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-    // If NamedList satisfies the PS0, PS1, ..., this is a
-    // metafunction returning parameters.  Otherwise it 
-    // has no nested ::type.
-    template <class ArgumentPackAndError>
-    struct match_base
-      : mpl::if_<
-            // mpl::and_<
-            //    aux::satisfies_requirements_of<NamedList,PS0>
-            //  , mpl::and_<
-            //       aux::satisfies_requirements_of<NamedList,PS1>...
-            //           ..., mpl::true_
-            // ...> >
-            
-# define BOOST_PARAMETER_satisfies(z, n, text)                                      \
-            mpl::and_<                                                              \
-                aux::satisfies_requirements_of<                                     \
-                    typename mpl::first<ArgumentPackAndError>::type                 \
-                  , BOOST_PP_CAT(PS, n)>                                            \
-                  ,
-            mpl::and_<
-                is_same<typename mpl::second<ArgumentPackAndError>::type, void_>
-              , BOOST_PP_REPEAT(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_satisfies, _)
-                mpl::true_
-                BOOST_PP_REPEAT(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_right_angle, _)
-            >
-
-# undef BOOST_PARAMETER_satisfies
-
-          , mpl::identity<parameters>
-          , void_
-        >
-    {};
-#endif
-    
-    // Specializations are to be used as an optional argument to
-    // eliminate overloads via SFINAE
-    template<
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-        // Borland simply can't handle default arguments in member
-        // class templates.  People wishing to write portable code can
-        // explicitly specify BOOST_PARAMETER_MAX_ARITY arguments
-        BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A)
-#else 
-        BOOST_PP_ENUM_BINARY_PARAMS(
-            BOOST_PARAMETER_MAX_ARITY, class A, = void_ BOOST_PP_INTERCEPT
-        )
-#endif
-    >
-    struct match
-# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-      : match_base<
-            typename aux::make_arg_list<
-                typename BOOST_PARAMETER_build_arg_list(
-                    BOOST_PARAMETER_MAX_ARITY, aux::make_items, PS, A
-                )::type
-              , deduced_list
-              , aux::tag_keyword_arg
-              , mpl::false_ // Don't emit errors when doing SFINAE
-            >::type
-        >::type
-    {};
-# else
-    { 
-        typedef parameters<
-            BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, PS)
-        > type; 
-    };
-# endif
-
-    // Metafunction that returns an ArgumentPack.
-
-    // TODO, bind has to instantiate the error type in the result
-    // of make_arg_list.
-
-    template <
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-        // Borland simply can't handle default arguments in member
-        // class templates.  People wishing to write portable code can
-        // explicitly specify BOOST_PARAMETER_MAX_ARITY arguments
-        BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A)
-#else 
-        BOOST_PP_ENUM_BINARY_PARAMS(
-            BOOST_PARAMETER_MAX_ARITY, class A, = void_ BOOST_PP_INTERCEPT
-        )
-#endif            
-    >
-    struct bind
-    {
-        typedef typename aux::make_arg_list<
-            typename BOOST_PARAMETER_build_arg_list(
-                BOOST_PARAMETER_MAX_ARITY, aux::make_items, PS, A
-            )::type
-          , deduced_list
-          , aux::tag_template_keyword_arg
-        >::type result;
-
-        typedef typename mpl::first<result>::type type;
-    };
-
-    BOOST_PARAMETER_FORWARD_TYPEDEFS(BOOST_PARAMETER_MAX_ARITY, PS, parameter_spec)
-
-    //
-    // The function call operator is used to build an arg_list that
-    // labels the positional parameters and maintains whatever other
-    // tags may have been specified by the caller.
-    //
-    // !!!NOTE!!!
-    //
-    // The make_arg_list<> produces a reversed arg_list, so
-    // we need to pass the arguments to its constructor
-    // reversed.
-    //
-    aux::empty_arg_list operator()() const
-    {
-       return aux::empty_arg_list();
-    }
-
-    template<class A0>
-    typename mpl::first<
-        typename aux::make_arg_list<
-            aux::item<
-                PS0,A0
-            >
-          , deduced_list
-          , aux::tag_keyword_arg
-        >::type
-    >::type
-    operator()(A0& a0) const
-    {
-        typedef typename aux::make_arg_list<
-            aux::item<
-                PS0,A0
-            >
-          , deduced_list
-          , aux::tag_keyword_arg
-        >::type result;
-
-        typedef typename mpl::first<result>::type result_type;
-        typedef typename mpl::second<result>::type error;
-        error();
-
-        return result_type(
-            a0
-            // , void_(), void_(), void_() ...
-            BOOST_PP_ENUM_TRAILING_PARAMS(
-                BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, 1)
-              , aux::void_reference() BOOST_PP_INTERCEPT)
-        );
-    }
-
-    template<class A0, class A1>
-    typename mpl::first<
-        typename aux::make_arg_list<
-            aux::item<
-                PS0,A0
-              , aux::item<
-                    PS1,A1
-                >
-            >
-          , deduced_list
-          , aux::tag_keyword_arg
-        >::type
-    >::type
-    operator()(A0& a0, A1& a1) const
-    {
-        typedef typename aux::make_arg_list<
-            aux::item<
-                PS0,A0
-              , aux::item<
-                    PS1,A1
-                >
-            >
-          , deduced_list
-          , aux::tag_keyword_arg
-        >::type result;
-
-        typedef typename mpl::first<result>::type result_type;
-        typedef typename mpl::second<result>::type error;
-        error();
-
-        return result_type(
-            a1,a0
-            // , void_(), void_() ...
-            BOOST_PP_ENUM_TRAILING_PARAMS(
-                BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, 2)
-              , aux::void_reference() BOOST_PP_INTERCEPT)
-        );
-    }
-
-    // Higher arities are handled by the preprocessor
-#define BOOST_PP_ITERATION_PARAMS_1 (3,( \
-        3,BOOST_PARAMETER_MAX_ARITY,<boost/parameter/aux_/overloads.hpp> \
-    ))
-#include BOOST_PP_ITERATE()
-
-};
-
-} // namespace parameter
-
-} // namespace boost
-
-#endif // BOOST_PARAMETERS_031014_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/preprocessor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/preprocessor.hpp
deleted file mode 100644
index 8ea370c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/preprocessor.hpp
+++ /dev/null
@@ -1,1077 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_PREPROCESSOR_060206_HPP
-# define BOOST_PARAMETER_PREPROCESSOR_060206_HPP
-
-# include <boost/parameter/parameters.hpp>
-# include <boost/parameter/binding.hpp>
-# include <boost/parameter/match.hpp>
-
-# include <boost/parameter/aux_/parenthesized_type.hpp>
-# include <boost/parameter/aux_/cast.hpp>
-# include <boost/parameter/aux_/preprocessor/flatten.hpp>
-
-# include <boost/preprocessor/repetition/repeat_from_to.hpp>
-# include <boost/preprocessor/comparison/equal.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/control/expr_if.hpp>
-# include <boost/preprocessor/repetition/enum_params.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
-# include <boost/preprocessor/repetition/enum_trailing.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/for_each_product.hpp>
-# include <boost/preprocessor/seq/for_each_i.hpp> 
-# include <boost/preprocessor/tuple/elem.hpp> 
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/push_back.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-# include <boost/preprocessor/seq/push_back.hpp>
-
-# include <boost/preprocessor/detail/is_nullary.hpp>
-
-# include <boost/mpl/always.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-
-namespace boost { namespace parameter { namespace aux {
-
-#  if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-
-// Given Match, which is "void x" where x is an argument matching
-// criterion, extract a corresponding MPL predicate.
-template <class Match>
-struct unwrap_predicate;
-
-// Match anything
-template <>
-struct unwrap_predicate<void*>
-{
-    typedef mpl::always<mpl::true_> type;
-};
-
-#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580))
-
-typedef void* voidstar;
-
-// A matching predicate is explicitly specified
-template <class Predicate>
-struct unwrap_predicate<voidstar (Predicate)>
-{
-    typedef Predicate type;
-};
-
-#else
-
-// A matching predicate is explicitly specified
-template <class Predicate>
-struct unwrap_predicate<void *(Predicate)>
-{
-    typedef Predicate type;
-};
-
-#endif 
-
-
-// A type to which the argument is supposed to be convertible is
-// specified
-template <class Target>
-struct unwrap_predicate<void (Target)>
-{
-    typedef is_convertible<mpl::_, Target> type;
-};
-
-// Recast the ParameterSpec's nested match metafunction as a free metafunction
-template <
-    class Parameters
-  , BOOST_PP_ENUM_BINARY_PARAMS(
-        BOOST_PARAMETER_MAX_ARITY, class A, = boost::parameter::void_ BOOST_PP_INTERCEPT
-    )
->
-struct match
-  : Parameters::template match<
-        BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, A)
-    >
-{};
-# endif 
-
-# undef false_
-
-template <
-    class Parameters
-  , BOOST_PP_ENUM_BINARY_PARAMS(
-        BOOST_PARAMETER_MAX_ARITY, class A, = boost::parameter::void_ BOOST_PP_INTERCEPT
-    )
->
-struct argument_pack
-{
-    typedef typename make_arg_list<
-        typename BOOST_PARAMETER_build_arg_list(
-            BOOST_PARAMETER_MAX_ARITY, make_items, typename Parameters::parameter_spec, A
-        )::type
-      , typename Parameters::deduced_list
-      , tag_keyword_arg
-      , mpl::false_
-    >::type result;
-    typedef typename mpl::first<result>::type type;
-};
-
-// Works around VC6 problem where it won't accept rvalues.
-template <class T>
-T& as_lvalue(T& value, long)
-{
-    return value;
-}
-
-template <class T>
-T const& as_lvalue(T const& value, int)
-{
-    return value;
-}
-
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-template <class Predicate, class T, class Args>
-struct apply_predicate
-{
-    BOOST_MPL_ASSERT((
-        mpl::and_<mpl::false_,T>
-    ));
-
-    typedef typename mpl::if_<
-        typename mpl::apply2<Predicate,T,Args>::type
-      , char
-      , int
-    >::type type;
-};
-
-template <class P>
-struct funptr_predicate
-{
-    static P p;
-
-    template <class T, class Args, class P0>
-    static typename apply_predicate<P0,T,Args>::type
-    check_predicate(type<T>, Args*, void**(*)(P0));
-
-    template <class T, class Args, class P0>
-    static typename mpl::if_<
-        is_convertible<T,P0>
-      , char
-      , int
-     >::type check_predicate(type<T>, Args*, void*(*)(P0));
-
-    template <class T, class Args>
-    struct apply
-    {
-        BOOST_STATIC_CONSTANT(bool, result = 
-            sizeof(check_predicate(boost::type<T>(), (Args*)0, &p)) == 1
-        );
-
-        typedef mpl::bool_<apply<T,Args>::result> type;
-    };
-};
-
-template <>
-struct funptr_predicate<void**>
-  : mpl::always<mpl::true_>
-{};
-
-# endif
-
-}}} // namespace boost::parameter::aux
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-// From Paul Mensonides
-#  define BOOST_PARAMETER_IS_NULLARY(x) \
-    BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_NULLARY_C x BOOST_PP_COMMA() 0) \
-    /**/
-#  define BOOST_PARAMETER_IS_NULLARY_C() \
-    ~, 1 BOOST_PP_RPAREN() \
-    BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \
-    /**/
-# else
-#  define BOOST_PARAMETER_IS_NULLARY(x) BOOST_PP_IS_NULLARY(x)
-# endif
-
-# define BOOST_PARAMETER_MEMBER_FUNCTION_CHECK_STATIC_static ()
-# define BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \
-    BOOST_PARAMETER_IS_NULLARY( \
-        BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_CHECK_STATIC_,name) \
-    )
-
-# if !defined(BOOST_MSVC)
-#  define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_static
-#  define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC(name) \
-    BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_, name)
-# else
-// Workaround for MSVC preprocessor.
-//
-// When stripping static from "static f", msvc will produce
-// " f". The leading whitespace doesn't go away when pasting
-// the token with something else, so this thing is a hack to
-// strip the whitespace.
-#  define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_static (
-#  define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_AUX(name) \
-    BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_, name))
-#  define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC(name) \
-    BOOST_PP_SEQ_HEAD( \
-        BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_AUX(name) \
-    )
-# endif
-
-# define BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \
-    BOOST_PP_EXPR_IF( \
-        BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \
-      , static \
-    )
-
-# define BOOST_PARAMETER_MEMBER_FUNCTION_NAME(name) \
-    BOOST_PP_IF( \
-        BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \
-      , BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC \
-      , name BOOST_PP_TUPLE_EAT(1) \
-    )(name)
-
-// Calculates [begin, end) arity range.
-
-# define BOOST_PARAMETER_ARITY_RANGE_M_optional(state) state
-# define BOOST_PARAMETER_ARITY_RANGE_M_deduced_optional(state) state
-# define BOOST_PARAMETER_ARITY_RANGE_M_required(state) BOOST_PP_INC(state)
-# define BOOST_PARAMETER_ARITY_RANGE_M_deduced_required(state) BOOST_PP_INC(state)
-
-# define BOOST_PARAMETER_ARITY_RANGE_M(s, state, x) \
-    BOOST_PP_CAT( \
-        BOOST_PARAMETER_ARITY_RANGE_M_ \
-      , BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \
-    )(state)
-/**/
-
-# define BOOST_PARAMETER_ARITY_RANGE(args) \
-    ( \
-        BOOST_PP_SEQ_FOLD_LEFT(BOOST_PARAMETER_ARITY_RANGE_M, 0, args) \
-      , BOOST_PP_INC(BOOST_PP_SEQ_SIZE(args)) \
-    )
-/**/
-
-// Accessor macros for the argument specs tuple.
-# define BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \
-    BOOST_PP_TUPLE_ELEM(4,0,x)
-/**/
-
-# define BOOST_PARAMETER_FN_ARG_NAME(x) \
-    BOOST_PP_TUPLE_ELEM(4,1,x)
-/**/
-
-# define BOOST_PARAMETER_FN_ARG_PRED(x) \
-    BOOST_PP_TUPLE_ELEM(4,2,x)
-/**/
-
-# define BOOST_PARAMETER_FN_ARG_DEFAULT(x) \
-    BOOST_PP_TUPLE_ELEM(4,3,x)
-/**/
-
-# define BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_out(x)
-# define BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_in_out(x)
-
-// Returns 1 if x is either "out(k)" or "in_out(k)".
-# define BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER(x) \
-    BOOST_PP_IS_EMPTY( \
-        BOOST_PP_CAT(BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_, x) \
-    ) \
-/**/
-
-# define BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_out(x) x
-# define BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_in_out(x) x
-# define BOOST_PARAMETER_FUNCTION_KEYWORD_GET(x) \
-    BOOST_PP_CAT(BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_, x)
-/**/
-
-// Returns the keyword of x, where x is either a keyword qualifier
-// or a keyword.
-//
-//   k => k
-//   out(k) => k
-//   in_out(k) => k
-//
-# define BOOST_PARAMETER_FUNCTION_KEYWORD(x) \
-    BOOST_PP_IF( \
-        BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER(x) \
-      , BOOST_PARAMETER_FUNCTION_KEYWORD_GET \
-      , x BOOST_PP_TUPLE_EAT(1) \
-    )(x)
-/**/
-
-# define BOOST_PARAMETER_FN_ARG_KEYWORD(x) \
-    BOOST_PARAMETER_FUNCTION_KEYWORD( \
-        BOOST_PARAMETER_FN_ARG_NAME(x) \
-    )
-
-// Builds forwarding functions.
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z(z, n) \
-    template<BOOST_PP_ENUM_PARAMS_Z(z, n, class ParameterArgumentType)>
-/**/
-
-# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
-#  define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n) \
-    , typename boost::parameter::aux::match< \
-          parameters, BOOST_PP_ENUM_PARAMS(n, ParameterArgumentType) \
-      >::type = parameters()
-# else
-#  define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n)
-# endif
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(base) \
-    BOOST_PP_CAT( \
-        boost_param_parameters_ \
-      , BOOST_PP_CAT(__LINE__, BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) \
-    )
-
-// Produce a name for a result type metafunction for the function
-// named base
-# define BOOST_PARAMETER_FUNCTION_RESULT_NAME(base) \
-    BOOST_PP_CAT( \
-        boost_param_result_ \
-      , BOOST_PP_CAT(__LINE__,BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) \
-    )
-
-// Can't do boost_param_impl_ ## basee because base might start with an underscore
-// daniel: what? how is that relevant? the reason for using CAT() is to make sure
-// base is expanded. i'm not sure we need to here, but it's more stable to do it.
-# define BOOST_PARAMETER_IMPL(base) \
-    BOOST_PP_CAT(boost_param_impl,BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base))
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00(z, n, r, data, elem) \
-    BOOST_PP_IF( \
-        n \
-      , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z, BOOST_PP_TUPLE_EAT(2) \
-    )(z,n) \
-    BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(BOOST_PP_TUPLE_ELEM(7,3,data)) \
-    inline \
-    BOOST_PP_EXPR_IF(n, typename) \
-        BOOST_PARAMETER_FUNCTION_RESULT_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))<   \
-        BOOST_PP_EXPR_IF(n, typename) \
-        boost::parameter::aux::argument_pack< \
-            BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data)) \
-            BOOST_PP_COMMA_IF(n) \
-            BOOST_PP_IF( \
-                n, BOOST_PP_SEQ_ENUM, BOOST_PP_TUPLE_EAT(1) \
-            )(elem) \
-        >::type \
-    >::type \
-    BOOST_PARAMETER_MEMBER_FUNCTION_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))( \
-        BOOST_PP_IF( \
-            n \
-          , BOOST_PP_SEQ_FOR_EACH_I_R \
-          , BOOST_PP_TUPLE_EAT(4) \
-        )( \
-            r \
-          , BOOST_PARAMETER_FUNCTION_ARGUMENT \
-          , ~ \
-          , elem \
-        ) \
-        BOOST_PP_IF(n, BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z, BOOST_PP_TUPLE_EAT(4))( \
-            z \
-          , BOOST_PP_TUPLE_ELEM(7,3,data) \
-          , BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data)) \
-          , n \
-        ) \
-    ) BOOST_PP_EXPR_IF(BOOST_PP_TUPLE_ELEM(7,4,data), const) \
-    { \
-        return BOOST_PARAMETER_IMPL(BOOST_PP_TUPLE_ELEM(7,3,data))( \
-            BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))()( \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, a) \
-            ) \
-        ); \
-    }
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION0(r, data, elem) \
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00( \
-        BOOST_PP_TUPLE_ELEM(7,0,data) \
-      , BOOST_PP_TUPLE_ELEM(7,1,data) \
-      , r \
-      , data \
-      , elem \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_0(z, n, data) \
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00( \
-        z, n, BOOST_PP_DEDUCE_R() \
-      , (z, n, BOOST_PP_TUPLE_REM(5) data) \
-      , ~ \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_N(z, n, data) \
-    BOOST_PP_SEQ_FOR_EACH( \
-        BOOST_PARAMETER_FUNCTION_FWD_FUNCTION0 \
-      , (z, n, BOOST_PP_TUPLE_REM(5) data) \
-      , BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
-            BOOST_PARAMETER_FUNCTION_FWD_PRODUCT \
-          , BOOST_PP_SEQ_FIRST_N( \
-                n, BOOST_PP_TUPLE_ELEM(5,3,data) \
-            ) \
-        ) \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION(z, n, data) \
-    BOOST_PP_IF( \
-        n \
-      , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_N \
-      , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_0 \
-    )(z,n,data) \
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS0( \
-    result,name,args,const_,combinations,range \
-) \
-    BOOST_PP_REPEAT_FROM_TO( \
-        BOOST_PP_TUPLE_ELEM(2,0,range), BOOST_PP_TUPLE_ELEM(2,1,range) \
-      , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION \
-      , (result,name,const_,combinations,BOOST_PP_TUPLE_ELEM(2,1,range)) \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(result,name,args, const_, combinations) \
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS0( \
-        result, name, args, const_, combinations, BOOST_PARAMETER_ARITY_RANGE(args) \
-    )
-/**/
-
-// Builds boost::parameter::parameters<> specialization
-#  define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_optional(tag) \
-    optional<tag
-
-#  define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_required(tag) \
-    required<tag
-
-#  define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_deduced_optional(tag) \
-    optional<boost::parameter::deduced<tag>
-
-#  define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_deduced_required(tag) \
-    required<boost::parameter::deduced<tag>
-
-# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-#  define BOOST_PARAMETER_FUNCTION_PARAMETERS_M(r,tag_namespace,i,elem) \
-    BOOST_PP_COMMA_IF(i) \
-    boost::parameter::BOOST_PP_CAT( \
-        BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_ \
-      , BOOST_PARAMETER_FN_ARG_QUALIFIER(elem) \
-    )( \
-        tag_namespace::BOOST_PARAMETER_FUNCTION_KEYWORD( \
-            BOOST_PARAMETER_FN_ARG_KEYWORD(elem) \
-        ) \
-    ) \
-      , typename boost::parameter::aux::unwrap_predicate< \
-            void BOOST_PARAMETER_FN_ARG_PRED(elem) \
-        >::type \
-    >
-# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#  define BOOST_PARAMETER_FUNCTION_PARAMETERS_M(r,tag_namespace,i,elem) \
-    BOOST_PP_COMMA_IF(i) \
-    boost::parameter::BOOST_PP_CAT( \
-        BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_ \
-      , BOOST_PARAMETER_FN_ARG_QUALIFIER(elem) \
-    )( \
-        tag_namespace::BOOST_PARAMETER_FUNCTION_KEYWORD( \
-            BOOST_PARAMETER_FN_ARG_KEYWORD(elem) \
-        ) \
-    ) \
-      , boost::mpl::always<boost::mpl::true_> \
-    >
-# endif
-
-# define BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, base, args)             \
-    template <class BoostParameterDummy>                                            \
-    struct BOOST_PP_CAT(                                                            \
-            BOOST_PP_CAT(boost_param_params_, __LINE__)                             \
-          , BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)                              \
-    ) : boost::parameter::parameters<                                               \
-            BOOST_PP_SEQ_FOR_EACH_I(                                                \
-                BOOST_PARAMETER_FUNCTION_PARAMETERS_M, tag_namespace, args          \
-            )                                                                       \
-        >                                                                           \
-    {};                                                                             \
-                                                                                    \
-    typedef BOOST_PP_CAT( \
-            BOOST_PP_CAT(boost_param_params_, __LINE__) \
-          , BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base) \
-    )<int>
-
-// Defines result type metafunction
-# define BOOST_PARAMETER_FUNCTION_RESULT_ARG(z, _, i, x) \
-    BOOST_PP_COMMA_IF(i) class BOOST_PP_TUPLE_ELEM(3,1,x)
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_RESULT_(result, name, args)                                   \
-    template <class Args>                                                                       \
-    struct BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)                                           \
-    {                                                                                           \
-        typedef typename BOOST_PARAMETER_PARENTHESIZED_TYPE(result) type;                       \
-    };
-
-// Defines implementation function
-# define BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name)           \
-    template <class Args>                                   \
-    typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)<    \
-       Args                                                 \
-    >::type BOOST_PARAMETER_IMPL(name)(Args const& args)
-
-# define BOOST_PARAMETER_FUNCTION_IMPL_FWD(name) \
-    BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name);
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_required(state, arg) \
-    ( \
-        BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 0, state)) \
-      , BOOST_PP_SEQ_PUSH_BACK(BOOST_PP_TUPLE_ELEM(4, 1, state), arg) \
-      , BOOST_PP_TUPLE_ELEM(4, 2, state) \
-      , BOOST_PP_TUPLE_ELEM(4, 3, state) \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_deduced_required(state, arg) \
-    BOOST_PARAMETER_FUNCTION_SPLIT_ARG_required(state, arg)
-
-# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_optional(state, arg) \
-    ( \
-        BOOST_PP_TUPLE_ELEM(4, 0, state) \
-      , BOOST_PP_TUPLE_ELEM(4, 1, state) \
-      , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 2, state)) \
-      , BOOST_PP_SEQ_PUSH_BACK(BOOST_PP_TUPLE_ELEM(4, 3, state), arg) \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_deduced_optional(state, arg) \
-    BOOST_PARAMETER_FUNCTION_SPLIT_ARG_optional(state, arg)
-
-# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG(s, state, arg) \
-    BOOST_PP_CAT( \
-        BOOST_PARAMETER_FUNCTION_SPLIT_ARG_ \
-      , BOOST_PARAMETER_FN_ARG_QUALIFIER(arg) \
-    )(state, arg)
-
-// Returns (required_count, required, optional_count, optionals) tuple
-# define BOOST_PARAMETER_FUNCTION_SPLIT_ARGS(args) \
-    BOOST_PP_SEQ_FOLD_LEFT( \
-        BOOST_PARAMETER_FUNCTION_SPLIT_ARG \
-      , (0,BOOST_PP_SEQ_NIL, 0,BOOST_PP_SEQ_NIL) \
-      , args \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME(keyword) \
-    BOOST_PP_CAT(BOOST_PP_CAT(keyword,_),type)
-
-// Helpers used as parameters to BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG(r, _, arg) \
-    , class BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME( \
-              BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \
-      )
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG(r, _, arg) \
-    , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME( \
-              BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \
-      )& BOOST_PARAMETER_FN_ARG_KEYWORD(arg)
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER(r, _, arg) \
-    , BOOST_PARAMETER_FN_ARG_KEYWORD(arg)
-
-// Produces a name for the dispatch functions.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name) \
-    BOOST_PP_CAT( \
-        boost_param_default_ \
-      , BOOST_PP_CAT(__LINE__, BOOST_PARAMETER_MEMBER_FUNCTION_NAME(name)) \
-    )
-
-// Helper macro used below to produce lists based on the keyword argument
-// names. macro is applied to every element. n is the number of
-// optional arguments that should be included.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS(macro, n, split_args) \
-    BOOST_PP_SEQ_FOR_EACH( \
-        macro \
-      , ~ \
-      , BOOST_PP_TUPLE_ELEM(4,1,split_args) \
-    ) \
-    BOOST_PP_SEQ_FOR_EACH( \
-        macro \
-      , ~ \
-      , BOOST_PP_SEQ_FIRST_N( \
-          BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), n) \
-        , BOOST_PP_TUPLE_ELEM(4,3,split_args) \
-        ) \
-    )
-
-// Generates a keyword | default expression.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT(arg, tag_namespace) \
-    boost::parameter::keyword< \
-        tag_namespace::BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \
-    >::instance | boost::parameter::aux::use_default_tag()
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_GET_ARG(arg, tag_ns) \
-    BOOST_PARAMETER_FUNCTION_CAST( \
-        args[ \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT( \
-                arg, tag_ns \
-            ) \
-        ] \
-      , BOOST_PARAMETER_FN_ARG_PRED(arg) \
-      , Args \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_BODY(name, n, split_args, tag_namespace) \
-    { \
-        return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \
-            (ResultType(*)())0 \
-          , args \
-          , 0L \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-                BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER \
-              , n \
-              , split_args \
-            ) \
-          , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_GET_ARG( \
-                BOOST_PP_SEQ_ELEM( \
-                    BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), n) \
-                  , BOOST_PP_TUPLE_ELEM(4,3,split_args) \
-                ) \
-              , tag_namespace \
-            ) \
-        ); \
-    }
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_ACTUAL_DEFAULT(arg) \
-    BOOST_PARAMETER_FUNCTION_CAST( \
-        boost::parameter::aux::as_lvalue(BOOST_PARAMETER_FN_ARG_DEFAULT(arg), 0L) \
-      , BOOST_PARAMETER_FN_ARG_PRED(arg) \
-      , Args \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT_BODY(name, n, split_args, tag_ns, const_) \
-    template < \
-        class ResultType \
-      , class Args \
-        BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \
-          , BOOST_PP_INC(n) \
-          , split_args \
-        ) \
-    > \
-    BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \
-    ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \
-        ResultType(*)() \
-      , Args const& args \
-      , long \
-        BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \
-          , BOOST_PP_INC(n) \
-          , split_args \
-        ) \
-      , boost::parameter::aux::use_default_tag \
-    ) BOOST_PP_EXPR_IF(const_, const) \
-    { \
-        return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \
-            (ResultType(*)())0 \
-          , args \
-          , 0L \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-                BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER \
-              , BOOST_PP_INC(n) \
-              , split_args \
-            ) \
-          , BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_ACTUAL_DEFAULT( \
-                BOOST_PP_SEQ_ELEM( \
-                    BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), BOOST_PP_INC(n)) \
-                  , BOOST_PP_TUPLE_ELEM(4,3,split_args) \
-                ) \
-            ) \
-        ); \
-    }
-
-// Produces a forwarding layer in the default evaluation machine.
-//
-// data is a tuple:
-//
-//   (name, split_args)
-//
-// Where name is the base name of the function, and split_args is a tuple:
-//
-//   (required_count, required_args, optional_count, required_args)
-//
-
-
-// defines the actual function body for BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION below.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION0(z, n, data) \
-    template < \
-        class ResultType \
-      , class Args \
-        BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \
-          , n \
-          , BOOST_PP_TUPLE_ELEM(5,1,data) \
-        ) \
-    > \
-    BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(BOOST_PP_TUPLE_ELEM(5,0,data)) \
-    ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(BOOST_PP_TUPLE_ELEM(5,0,data))( \
-        ResultType(*)() \
-      , Args const& args \
-      , int \
-        BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \
-          , n \
-          , BOOST_PP_TUPLE_ELEM(5,1,data) \
-        ) \
-    ) BOOST_PP_EXPR_IF(BOOST_PP_TUPLE_ELEM(5,2,data), const) \
-    BOOST_PP_IF( \
-        n \
-      , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_BODY \
-      , ; BOOST_PP_TUPLE_EAT(4) \
-    )( \
-        BOOST_PP_TUPLE_ELEM(5,0,data) \
-      , n \
-      , BOOST_PP_TUPLE_ELEM(5,1,data) \
-      , BOOST_PP_TUPLE_ELEM(5,3,data) \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION(z, n, data) \
-    BOOST_PP_IF( \
-        BOOST_PP_AND( \
-            BOOST_PP_NOT(n) \
-          , BOOST_PP_TUPLE_ELEM(5,4,data) \
-        ) \
-      , BOOST_PP_TUPLE_EAT(3) \
-      , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION0 \
-    )(z, n, data) \
-    BOOST_PP_IF( \
-        BOOST_PP_EQUAL(n, BOOST_PP_TUPLE_ELEM(4,2,BOOST_PP_TUPLE_ELEM(5,1,data))) \
-      , BOOST_PP_TUPLE_EAT(5) \
-      , BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT_BODY \
-    )( \
-        BOOST_PP_TUPLE_ELEM(5,0,data) \
-      , n \
-      , BOOST_PP_TUPLE_ELEM(5,1,data) \
-      , BOOST_PP_TUPLE_ELEM(5,3,data) \
-      , BOOST_PP_TUPLE_ELEM(5,2,data) \
-    )
-
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_GET_ARG(r, tag_ns, arg) \
-    , BOOST_PARAMETER_FUNCTION_CAST( \
-          args[ \
-              boost::parameter::keyword<tag_ns::BOOST_PARAMETER_FN_ARG_KEYWORD(arg)>::instance \
-          ] \
-        , BOOST_PARAMETER_FN_ARG_PRED(arg) \
-        , Args \
-      )
-
-// Generates the function template that recives a ArgumentPack, and then
-// goes on to call the layers of overloads generated by 
-// BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER.
-# define BOOST_PARAMETER_FUNCTION_INITIAL_DISPATCH_FUNCTION(name, split_args, const_, tag_ns) \
-    template <class Args> \
-    typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)<Args>::type \
-    BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \
-    BOOST_PARAMETER_IMPL(name)(Args const& args) BOOST_PP_EXPR_IF(const_, const) \
-    { \
-        return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \
-            (typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)<Args>::type(*)())0 \
-          , args \
-          , 0L \
- \
-            BOOST_PP_SEQ_FOR_EACH( \
-                BOOST_PARAMETER_FUNCTION_DEFAULT_GET_ARG \
-              , tag_ns \
-              , BOOST_PP_TUPLE_ELEM(4,1,split_args) \
-            ) \
- \
-        ); \
-    }
-
-// Helper for BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER below.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER_AUX( \
-    name, split_args, skip_fwd_decl, const_, tag_namespace \
-  ) \
-    BOOST_PP_REPEAT_FROM_TO( \
-        0 \
-      , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 2, split_args)) \
-      , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION \
-      , (name, split_args, const_, tag_namespace, skip_fwd_decl) \
-    ) \
- \
-    BOOST_PARAMETER_FUNCTION_INITIAL_DISPATCH_FUNCTION(name, split_args, const_, tag_namespace) \
-\
-    template < \
-        class ResultType \
-      , class Args \
-        BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \
-          , 0 \
-          , split_args \
-        ) \
-    > \
-    BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \
-    ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \
-        ResultType(*)() \
-      , Args const& \
-      , int \
-        BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \
-            BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \
-          , 0 \
-          , split_args \
-        ) \
-    ) BOOST_PP_EXPR_IF(const_, const)
-
-// Generates a bunch of forwarding functions that each extract
-// one more argument.
-# define BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, skip_fwd_decl, const_, tag_ns) \
-    BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER_AUX( \
-        name, BOOST_PARAMETER_FUNCTION_SPLIT_ARGS(args), skip_fwd_decl, const_, tag_ns \
-    )
-/**/
-
-// Defines the result metafunction and the parameters specialization.
-# define BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args)   \
-      BOOST_PARAMETER_FUNCTION_RESULT_(result, name, args)                   \
-                                                                            \
-          BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, name, args)    \
-          BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(name);                   \
-
-// Helper for BOOST_PARAMETER_FUNCTION below.
-# define BOOST_PARAMETER_FUNCTION_AUX(result, name, tag_namespace, args)    \
-    BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args)         \
-    BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name); \
-\
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(                                  \
-        result, name, args, 0                                                \
-      , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args)                      \
-    )                                                                        \
-                                                                             \
-    BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, 0, 0, tag_namespace)
-
-// Defines a Boost.Parameter enabled function with the new syntax.
-# define BOOST_PARAMETER_FUNCTION(result, name, tag_namespace, args)    \
-    BOOST_PARAMETER_FUNCTION_AUX(                                       \
-        result, name, tag_namespace                                      \
-      , BOOST_PARAMETER_FLATTEN(3, 2, 3, args)                           \
-    )                                                                    \
-/**/
-
-// Defines a Boost.Parameter enabled function.
-# define BOOST_PARAMETER_BASIC_FUNCTION_AUX(result, name, tag_namespace, args)    \
-    BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args)        \
-                                                                            \
-    BOOST_PARAMETER_FUNCTION_IMPL_FWD(name)                                 \
-                                                                            \
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(                                 \
-        result, name, args, 0                                               \
-      , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args)                     \
-    )                                                                       \
-                                                                            \
-    BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name)
-
-# define BOOST_PARAMETER_BASIC_FUNCTION(result, name, tag_namespace, args)  \
-    BOOST_PARAMETER_BASIC_FUNCTION_AUX(                                     \
-        result, name, tag_namespace                                     \
-      , BOOST_PARAMETER_FLATTEN(2, 2, 3, args)                          \
-    )                                                                   \
-/**/
-
-// Defines a Boost.Parameter enabled member function.
-# define BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX(result, name, tag_namespace, args, const_) \
-    BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args)                    \
-                                                                                        \
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(                                             \
-        result, name, args, const_                                                      \
-      , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args)                                 \
-    )                                                                                   \
-                                                                                        \
-    BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) BOOST_PP_EXPR_IF(const_, const)            \
-/**/
-
-# define BOOST_PARAMETER_BASIC_MEMBER_FUNCTION(result, name, tag_namespace, args) \
-    BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX( \
-        result, name, tag_namespace \
-      , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \
-      , 0 \
-    )
-/**/
-
-# define BOOST_PARAMETER_BASIC_CONST_MEMBER_FUNCTION(result, name, tag_namespace, args) \
-    BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX( \
-        result, name, tag_namespace \
-      , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \
-      , 1 \
-    )
-/**/
-
-
-
-# define BOOST_PARAMETER_MEMBER_FUNCTION_AUX(result, name, tag_namespace, const_, args)    \
-    BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args)         \
-\
-    BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(                                  \
-        result, name, args, const_                                           \
-      , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args)                      \
-    )                                                                        \
-                                                                             \
-    BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, 1, const_, tag_namespace)
-
-// Defines a Boost.Parameter enabled function with the new syntax.
-# define BOOST_PARAMETER_MEMBER_FUNCTION(result, name, tag_namespace, args)    \
-    BOOST_PARAMETER_MEMBER_FUNCTION_AUX(                                       \
-        result, name, tag_namespace, 0                                     \
-      , BOOST_PARAMETER_FLATTEN(3, 2, 3, args)                           \
-    )                                                                    \
-/**/
-
-# define BOOST_PARAMETER_CONST_MEMBER_FUNCTION(result, name, tag_namespace, args)    \
-    BOOST_PARAMETER_MEMBER_FUNCTION_AUX(                                       \
-        result, name, tag_namespace, 1                                     \
-      , BOOST_PARAMETER_FLATTEN(3, 2, 3, args)                           \
-    )                                                                    \
-/**/
-
-// Defines a Boost.Parameter enabled constructor.
-
-# define BOOST_PARAMETER_FUNCTION_ARGUMENT(r, _, i, elem) \
-    BOOST_PP_COMMA_IF(i) elem& BOOST_PP_CAT(a, i)
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00(z, n, r, data, elem) \
-    BOOST_PP_IF( \
-        n \
-      , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z, BOOST_PP_TUPLE_EAT(2) \
-    )(z, n) \
-    BOOST_PP_EXPR_IF(BOOST_PP_EQUAL(n,1), explicit) \
-    BOOST_PP_TUPLE_ELEM(6,2,data)( \
-        BOOST_PP_IF( \
-            n \
-          , BOOST_PP_SEQ_FOR_EACH_I_R \
-          , BOOST_PP_TUPLE_EAT(4) \
-        )( \
-            r \
-          , BOOST_PARAMETER_FUNCTION_ARGUMENT \
-          , ~ \
-          , elem \
-        ) \
-        BOOST_PP_IF(n, BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z, BOOST_PP_TUPLE_EAT(4))( \
-            z \
-          , BOOST_PP_TUPLE_ELEM(6,3,data) \
-          , BOOST_PP_CAT(constructor_parameters, __LINE__) \
-          , n \
-        ) \
-    ) \
-      : BOOST_PARAMETER_PARENTHESIZED_TYPE(BOOST_PP_TUPLE_ELEM(6,3,data)) ( \
-            BOOST_PP_CAT(constructor_parameters, __LINE__)()( \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, a) \
-            ) \
-        ) \
-    {}
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR0(r, data, elem) \
-    BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00( \
-        BOOST_PP_TUPLE_ELEM(6,0,data) \
-      , BOOST_PP_TUPLE_ELEM(6,1,data) \
-      , r \
-      , data \
-      , elem \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_PRODUCT(r, product) \
-    (product)
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_0(z, n, data) \
-    BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00( \
-        z, n, BOOST_PP_DEDUCE_R() \
-      , (z, n, BOOST_PP_TUPLE_REM(4) data) \
-      , ~ \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_N(z, n, data) \
-    BOOST_PP_SEQ_FOR_EACH( \
-        BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR0 \
-      , (z, n, BOOST_PP_TUPLE_REM(4) data) \
-      , BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
-            BOOST_PARAMETER_FUNCTION_FWD_PRODUCT \
-          , BOOST_PP_SEQ_FIRST_N( \
-                n, BOOST_PP_TUPLE_ELEM(4,2,data) \
-            ) \
-        ) \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR(z, n, data) \
-    BOOST_PP_IF( \
-        n \
-      , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_N \
-      , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_0 \
-    )(z,n,data) \
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS0(class_,base,args,combinations,range) \
-    BOOST_PP_REPEAT_FROM_TO( \
-        BOOST_PP_TUPLE_ELEM(2,0,range), BOOST_PP_TUPLE_ELEM(2,1,range) \
-      , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR \
-      , (class_,base,combinations,BOOST_PP_TUPLE_ELEM(2,1,range)) \
-    )
-/**/
-
-# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS(class_,base,args,combinations) \
-    BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS0( \
-        class_, base, args, combinations, BOOST_PARAMETER_ARITY_RANGE(args) \
-    )
-/**/
-
-# define BOOST_PARAMETER_CONSTRUCTOR_AUX(class_, base, tag_namespace, args) \
-    BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, ctor, args)          \
-        BOOST_PP_CAT(constructor_parameters, __LINE__); \
-\
-    BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS( \
-        class_, base, args \
-      , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \
-    ) \
-/**/
-
-# define BOOST_PARAMETER_CONSTRUCTOR(class_, base, tag_namespace, args) \
-    BOOST_PARAMETER_CONSTRUCTOR_AUX( \
-        class_, base, tag_namespace \
-      , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \
-    )
-/**/
-
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#  define BOOST_PARAMETER_FUNCTION_FWD_COMBINATION(r, _, i, elem) \
-    (BOOST_PP_IF( \
-        BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER( \
-            BOOST_PARAMETER_FN_ARG_NAME(elem) \
-        ) \
-      , (const ParameterArgumentType ## i)(ParameterArgumentType ## i) \
-      , (const ParameterArgumentType ## i) \
-    ))
-// No partial ordering. This feature doesn't work.
-# else
-#  define BOOST_PARAMETER_FUNCTION_FWD_COMBINATION(r, _, i, elem) \
-    (BOOST_PP_IF( \
-        BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER( \
-            BOOST_PARAMETER_FN_ARG_NAME(elem) \
-        ) \
-      , (ParameterArgumentType ## i) \
-      , (const ParameterArgumentType ## i) \
-    ))
-# endif
-
-# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \
-    BOOST_PP_SEQ_FOR_EACH_I(BOOST_PARAMETER_FUNCTION_FWD_COMBINATION, ~, args)
-
-#endif // BOOST_PARAMETER_PREPROCESSOR_060206_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/python.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/python.hpp
deleted file mode 100755
index a52fc6e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/python.hpp
+++ /dev/null
@@ -1,735 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_PYTHON_060209_HPP
-# define BOOST_PARAMETER_PYTHON_060209_HPP
-
-# include <boost/mpl/vector.hpp>
-# include <boost/mpl/fold.hpp>
-# include <boost/mpl/prior.hpp>
-# include <boost/mpl/shift_right.hpp>
-# include <boost/mpl/shift_left.hpp>
-# include <boost/mpl/bitand.hpp>
-# include <boost/mpl/pair.hpp>
-# include <boost/mpl/size.hpp>
-# include <boost/mpl/push_back.hpp>
-# include <boost/mpl/or.hpp>
-# include <boost/mpl/count_if.hpp>
-# include <boost/mpl/transform.hpp>
-# include <boost/mpl/front.hpp>
-# include <boost/mpl/iterator_range.hpp>
-# include <boost/mpl/next.hpp>
-# include <boost/mpl/begin_end.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/mpl/empty.hpp>
-# include <boost/python/def.hpp>
-# include <boost/python/make_constructor.hpp>
-# include <boost/python/init.hpp>
-# include <boost/python/to_python_converter.hpp>
-# include <boost/parameter/aux_/maybe.hpp>
-# include <boost/parameter/aux_/python/invoker.hpp>
-
-namespace boost { namespace parameter { namespace python 
-{
-  namespace python_ = boost::python;
-}}}
-
-namespace boost { namespace parameter { namespace python { namespace aux 
-{
-
-  inline PyObject* unspecified_type()
-  {
-      static PyTypeObject unspecified = {
-          PyObject_HEAD_INIT(NULL)
-          0,                                /* ob_size        */
-          "Boost.Parameter.Unspecified",    /* tp_name        */
-          PyType_Type.tp_basicsize,         /* tp_basicsize   */
-          0,                                /* tp_itemsize    */
-          0,                                /* tp_dealloc     */
-          0,                                /* tp_print       */
-          0,                                /* tp_getattr     */
-          0,                                /* tp_setattr     */
-          0,                                /* tp_compare     */
-          0,                                /* tp_repr        */
-          0,                                /* tp_as_number   */
-          0,                                /* tp_as_sequence */
-          0,                                /* tp_as_mapping  */
-          0,                                /* tp_hash        */
-          0,                                /* tp_call        */
-          0,                                /* tp_str         */
-          0,                                /* tp_getattro    */
-          0,                                /* tp_setattro    */
-          0,                                /* tp_as_buffer   */
-          Py_TPFLAGS_DEFAULT,               /* tp_flags       */
-          0,                                /* tp_doc         */
-      };
-
-      if (unspecified.ob_type == 0)
-      {
-          unspecified.ob_type = &PyType_Type;
-          PyType_Ready(&unspecified);
-      }
-
-      return (PyObject*)&unspecified;
-  }
-
-  struct empty_tag {};
-
-  struct empty_tag_to_python
-  {
-      static PyObject* convert(empty_tag)
-      {
-          return python_::xincref(unspecified_type());
-      }
-  };
-
-}}}} // namespace boost::parameter::python::aux
-
-namespace boost { namespace python 
-{
-
-  // Converts a Python value to a maybe<T>
-  template <class T>
-  struct arg_from_python<parameter::aux::maybe<T> >
-    : arg_from_python<T>
-  {
-      arg_from_python(PyObject* p)
-        : arg_from_python<T>(p)
-        , empty(parameter::python::aux::unspecified_type() == p)
-      {}
-
-      bool convertible() const
-      {
-          return empty || arg_from_python<T>::convertible();
-      }
-
-      parameter::aux::maybe<T> operator()()
-      {
-          if (empty)
-          {
-              return parameter::aux::maybe<T>();
-          }
-          else
-          {
-              return parameter::aux::maybe<T>(
-                  arg_from_python<T>::operator()()
-              );
-          }
-      }
-
-      bool empty;
-  };
-
-}} // namespace boost::python
-
-namespace boost { namespace parameter { namespace python {
-
-namespace aux
-{
-
-  template <class K>
-  struct is_optional
-    : mpl::not_<
-          mpl::or_<typename K::required, typename K::optimized_default>
-      >
-  {};
-
-  template <class K, class Required, class Optimized, class T>
-  struct arg_spec
-  {
-      typedef K keyword;
-      typedef Required required;
-      typedef T type;
-      typedef Optimized optimized_default;
-  };
-  
-  template <class K, class T, class Optimized = mpl::false_>
-  struct make_arg_spec_impl
-  {
-      typedef arg_spec<
-          typename K::first, typename K::second, Optimized, T
-      > type;
-  };
-
-  template <class K, class T>
-  struct make_arg_spec_impl<K, T, typename K::third>
-  {
-      typedef arg_spec<
-          typename K::first, typename K::second, typename K::third, T
-      > type;
-  };
-
-  template <class K, class T>
-  struct make_arg_spec
-    : make_arg_spec_impl<K, T>
-  {
-  };
-
-  template <class Spec, class State>
-  struct combinations_op
-  {
-      typedef typename State::second bits;
-      typedef typename State::first result0;
-
-      typedef typename mpl::if_<
-          mpl::or_<
-              typename Spec::required
-            , typename Spec::optimized_default
-            , mpl::bitand_<bits, mpl::long_<1> >
-          >
-        , typename mpl::push_back<result0, Spec>::type
-        , result0
-      >::type result;
-
-      typedef typename mpl::if_<
-          mpl::or_<
-              typename Spec::required
-            , typename Spec::optimized_default
-          >
-        , bits
-        , typename mpl::shift_right<bits, mpl::long_<1> >::type
-      >::type next_bits;
-
-      typedef mpl::pair<
-          result
-        , next_bits
-      > type;
-  };
-
-  // Used as start value in the recursive arg() composition below.
-  struct no_keywords
-  {
-      template <class T>
-      T const& operator,(T const& x) const
-      {
-          return x;
-      }
-  };
-
-  template <class Def, class F, class Iter, class End, class Keywords>
-  void def_combination_aux0(
-      Def def, F f, Iter, End, Keywords const& keywords, mpl::false_)
-  {
-      typedef typename mpl::deref<Iter>::type spec;
-      typedef typename spec::keyword kw;
-
-      def_combination_aux(
-          def, f, typename mpl::next<Iter>::type(), End()
-        , (
-              keywords, boost::python::arg(kw::keyword_name())
-          )
-      );
-  }
-
-  template <class Def, class F, class Iter, class End, class Keywords>
-  void def_combination_aux0(
-      Def def, F f, Iter, End, Keywords const& keywords, mpl::true_)
-  {
-      typedef typename mpl::deref<Iter>::type spec;
-      typedef typename spec::keyword kw;
-
-      def_combination_aux(
-          def, f, typename mpl::next<Iter>::type(), End()
-        , (
-              keywords, boost::python::arg(kw::keyword_name()) = empty_tag()
-          )
-      );
-  }
-
-  inline void initialize_converter()
-  {
-      static python_::to_python_converter<empty_tag, empty_tag_to_python> x;
-  }
-
-  template <class Def, class F, class Iter, class End, class Keywords>
-  void def_combination_aux(
-      Def def, F f, Iter, End, Keywords const& keywords)
-  {
-      typedef typename mpl::deref<Iter>::type spec;
-
-      typedef typename mpl::and_<
-          typename spec::optimized_default
-        , mpl::not_<typename spec::required>
-      >::type optimized_default;
-      
-      def_combination_aux0(
-          def, f, Iter(), End(), keywords, optimized_default()
-      );
-  }
-
-  template <class Def, class F, class End, class Keywords>
-  void def_combination_aux(
-      Def def, F f, End, End, Keywords const& keywords)
-  {
-      def(f, keywords);
-  } 
-
-  template <class Def, class F, class End>
-  void def_combination_aux(
-      Def def, F f, End, End, no_keywords const&)
-  {
-      def(f);
-  }
-
-  template <
-      class Def, class Specs, class Bits, class Invoker
-  >
-  void def_combination(
-      Def def, Specs*, Bits, Invoker*)
-  {
-      typedef typename mpl::fold<
-          Specs
-        , mpl::pair<mpl::vector0<>, Bits>
-        , combinations_op<mpl::_2, mpl::_1>
-      >::type combination0;
-
-      typedef typename combination0::first combination;
-
-      typedef typename mpl::apply_wrap1<
-          Invoker, combination
-      >::type invoker;
-
-      def_combination_aux(
-          def
-        , &invoker::execute
-        , typename mpl::begin<combination>::type()
-        , typename mpl::end<combination>::type()
-        , no_keywords()
-      );
-  }
-
-  template <
-      class Def, class Specs, class Bits, class End, class Invoker
-  >
-  void def_combinations(
-      Def def, Specs*, Bits, End, Invoker*)
-  {
-      initialize_converter();
-
-      def_combination(def, (Specs*)0, Bits(), (Invoker*)0);
-
-      def_combinations(
-          def
-        , (Specs*)0
-        , mpl::long_<Bits::value + 1>()
-        , End()
-        , (Invoker*)0
-      );
-  }
-
-  template <
-      class Def, class Specs, class End, class Invoker
-  >
-  void def_combinations(
-      Def, Specs*, End, End, Invoker*)
-  {}
-
-  struct not_specified {};
-
-  template <class CallPolicies>
-  struct call_policies_as_options
-  {
-      call_policies_as_options(CallPolicies const& call_policies)
-        : call_policies(call_policies)
-      {}
-
-      CallPolicies const& policies() const
-      {
-          return call_policies;
-      }
-
-      char const* doc() const
-      {
-          return 0;
-      }
-
-      CallPolicies call_policies;
-  };
-
-  template <class Class, class Options = not_specified>
-  struct def_class
-  {
-      def_class(Class& cl, char const* name, Options options = Options())
-        : cl(cl)
-        , name(name)
-        , options(options)
-      {}
-
-      template <class F>
-      void def(F f, not_specified const*) const
-      {
-          cl.def(name, f);
-      }
-
-      template <class F>
-      void def(F f, void const*) const
-      {
-          cl.def(name, f, options.doc(), options.policies());
-      }
-      
-      template <class F>
-      void operator()(F f) const
-      {
-          this->def(f, &options);
-      }
-
-      template <class F, class Keywords>
-      void def(F f, Keywords const& keywords, not_specified const*) const
-      {
-          cl.def(name, f, keywords);
-      }
-
-      template <class F, class Keywords>
-      void def(F f, Keywords const& keywords, void const*) const
-      {
-          cl.def(name, f, keywords, options.doc(), options.policies());
-      }
-
-      template <class F, class Keywords>
-      void operator()(F f, Keywords const& keywords) const
-      {
-          this->def(f, keywords, &options);
-      }
-
-      Class& cl;
-      char const* name;
-      Options options;
-  };
-
-  template <class Class, class CallPolicies = boost::python::default_call_policies>
-  struct def_init
-  {
-      def_init(Class& cl, CallPolicies call_policies = CallPolicies())
-        : cl(cl)
-        , call_policies(call_policies)
-      {}
-
-      template <class F>
-      void operator()(F f) const
-      {
-          cl.def(
-              "__init__"
-            , boost::python::make_constructor(f, call_policies)
-          );
-      }
-
-      template <class F, class Keywords>
-      void operator()(F f, Keywords const& keywords) const
-      {
-          cl.def(
-              "__init__"
-            , boost::python::make_constructor(f, call_policies, keywords)
-          );
-      }
-
-      Class& cl;
-      CallPolicies call_policies;
-  };
-
-  struct def_function
-  {
-      def_function(char const* name)
-        : name(name)
-      {}
-      
-      template <class F>
-      void operator()(F f) const
-      {
-          boost::python::def(name, f);
-      }
-
-      template <class F, class Keywords>
-      void operator()(F f, Keywords const& keywords) const
-      {
-          boost::python::def(name, f, keywords);
-      }
-
-      char const* name;
-  };
-
-} // namespace aux
-
-template <class M, class Signature>
-void def(char const* name, Signature)
-{
-    typedef mpl::iterator_range<
-        typename mpl::next<
-            typename mpl::begin<Signature>::type
-        >::type
-      , typename mpl::end<Signature>::type
-    > arg_types;
-
-    typedef typename mpl::transform<
-        typename M::keywords
-      , arg_types
-      , aux::make_arg_spec<mpl::_1, mpl::_2>
-      , mpl::back_inserter<mpl::vector0<> >
-    >::type arg_specs;
-
-    typedef typename mpl::count_if<
-        arg_specs
-      , aux::is_optional<mpl::_1>
-    >::type optional_arity;
-    
-    typedef typename mpl::front<Signature>::type result_type;
-    typedef typename mpl::shift_left<mpl::long_<1>, optional_arity>::type upper;
-
-    aux::def_combinations(
-        aux::def_function(name)
-      , (arg_specs*)0
-      , mpl::long_<0>()
-      , mpl::long_<upper::value>()
-      , (aux::make_invoker<M, result_type>*)0
-    );
-}
-
-template <class M, class Class, class Signature>
-void def(Class& cl, char const* name, Signature)
-{
-    typedef mpl::iterator_range<
-        typename mpl::next<
-            typename mpl::begin<Signature>::type
-        >::type
-      , typename mpl::end<Signature>::type
-    > arg_types;
-
-    typedef typename mpl::transform<
-        typename M::keywords
-      , arg_types
-      , aux::make_arg_spec<mpl::_1, mpl::_2>
-      , mpl::back_inserter<mpl::vector0<> >
-    >::type arg_specs;
-
-    typedef typename mpl::count_if<
-        arg_specs
-      , aux::is_optional<mpl::_1>
-    >::type optional_arity;
-    
-    typedef typename mpl::front<Signature>::type result_type;
-    typedef typename mpl::shift_left<mpl::long_<1>, optional_arity>::type upper;
-
-    aux::def_combinations(
-        aux::def_class<Class>(cl, name)
-      , (arg_specs*)0
-      , mpl::long_<0>()
-      , mpl::long_<upper::value>()
-      , (aux::make_invoker<M, result_type>*)0
-    );
-}
-
-namespace aux
-{
-
-  template <class K>
-  struct keyword
-  {
-      typedef K type;
-  };
-
-  template <class K>
-  struct keyword<K*>
-  {
-      typedef K type;
-  };
-
-  template <class K>
-  struct keyword<K**>
-  {
-      typedef K type;
-  };
-
-  template <class K>
-  struct required
-  {
-      typedef mpl::true_ type;
-  };
-
-  template <class K>
-  struct required<K*>
-  {
-      typedef mpl::false_ type;
-  };
-
-  template <class K>
-  struct optimized
-  {
-      typedef mpl::true_ type;
-  };
-
-  template <class K>
-  struct optimized<K**>
-  {
-      typedef mpl::false_ type;
-  };
-
-  template <class T>
-  struct make_kw_spec;
-
-  template <class K, class T>
-  struct make_kw_spec<K(T)>
-  {
-      typedef arg_spec<
-          typename keyword<K>::type
-        , typename required<K>::type
-        , typename optimized<K>::type
-        , T
-      > type;
-  };
-
-} // namespace aux
-
-template <class ParameterSpecs, class CallPolicies = boost::python::default_call_policies>
-struct init 
-  : boost::python::def_visitor<init<ParameterSpecs, CallPolicies> >
-{
-    init(CallPolicies call_policies = CallPolicies())
-      : call_policies(call_policies)
-    {}
-
-    template <class CallPolicies1>
-    init<ParameterSpecs, CallPolicies1> 
-    operator[](CallPolicies1 const& call_policies) const
-    {
-        return init<ParameterSpecs, CallPolicies1>(call_policies);
-    }
-
-    template <class Class>
-    void visit_aux(Class& cl, mpl::true_) const
-    {
-        cl.def(boost::python::init<>()[call_policies]);
-    }
-
-    template <class Class>
-    void visit_aux(Class& cl, mpl::false_) const
-    {
-        typedef typename mpl::transform<
-            ParameterSpecs
-          , aux::make_kw_spec<mpl::_>
-          , mpl::back_inserter<mpl::vector0<> >
-        >::type arg_specs;
-
-        typedef typename mpl::count_if<
-            arg_specs
-          , aux::is_optional<mpl::_>
-        >::type optional_arity;
-
-        typedef typename mpl::shift_left<mpl::long_<1>, optional_arity>::type upper;
-
-        aux::def_combinations(
-            aux::def_init<Class, CallPolicies>(cl, call_policies)
-          , (arg_specs*)0
-          , mpl::long_<0>()
-          , mpl::long_<upper::value>()
-          , (aux::make_init_invoker<typename Class::wrapped_type>*)0
-        );
-    }
-
-    template <class Class>
-    void visit(Class& cl) const
-    {
-        visit_aux(cl, mpl::empty<ParameterSpecs>());
-    }
-
-    CallPolicies call_policies;
-};
-
-template <class ParameterSpecs, class CallPolicies = boost::python::default_call_policies>
-struct call 
-  : boost::python::def_visitor<call<ParameterSpecs, CallPolicies> >
-{
-    call(CallPolicies const& call_policies = CallPolicies())
-      : call_policies(call_policies)
-    {}
-
-    template <class CallPolicies1>
-    call<ParameterSpecs, CallPolicies1>
-    operator[](CallPolicies1 const& call_policies) const
-    {
-        return call<ParameterSpecs, CallPolicies1>(call_policies);
-    }
-
-    template <class Class>
-    void visit(Class& cl) const
-    {
-        typedef mpl::iterator_range<
-            typename mpl::next<
-                typename mpl::begin<ParameterSpecs>::type
-            >::type
-          , typename mpl::end<ParameterSpecs>::type
-        > arg_types;
-
-        typedef typename mpl::front<ParameterSpecs>::type result_type;
-
-        typedef typename mpl::transform<
-            arg_types
-          , aux::make_kw_spec<mpl::_>
-          , mpl::back_inserter<mpl::vector0<> >
-        >::type arg_specs;
-
-        typedef typename mpl::count_if<
-            arg_specs
-          , aux::is_optional<mpl::_>
-        >::type optional_arity;
-
-        typedef typename mpl::shift_left<mpl::long_<1>, optional_arity>::type upper;
-
-        typedef aux::call_policies_as_options<CallPolicies> options;
-
-        aux::def_combinations(
-            aux::def_class<Class, options>(cl, "__call__", options(call_policies))
-          , (arg_specs*)0
-          , mpl::long_<0>()
-          , mpl::long_<upper::value>()
-          , (aux::make_call_invoker<typename Class::wrapped_type, result_type>*)0
-        );
-    }
-
-    CallPolicies call_policies;
-};
-
-template <class Fwd, class ParameterSpecs>
-struct function 
-  : boost::python::def_visitor<function<Fwd, ParameterSpecs> >
-{
-    template <class Class, class Options>
-    void visit(Class& cl, char const* name, Options const& options) const
-    {
-        typedef mpl::iterator_range<
-            typename mpl::next<
-                typename mpl::begin<ParameterSpecs>::type
-            >::type
-          , typename mpl::end<ParameterSpecs>::type
-        > arg_types;
-
-        typedef typename mpl::front<ParameterSpecs>::type result_type;
-
-        typedef typename mpl::transform<
-            arg_types
-          , aux::make_kw_spec<mpl::_>
-          , mpl::back_inserter<mpl::vector0<> >
-        >::type arg_specs;
-
-        typedef typename mpl::count_if<
-            arg_specs
-          , aux::is_optional<mpl::_>
-        >::type optional_arity;
-
-        typedef typename mpl::shift_left<mpl::long_<1>, optional_arity>::type upper;
-
-        aux::def_combinations(
-            aux::def_class<Class, Options>(cl, name, options)
-          , (arg_specs*)0
-          , mpl::long_<0>()
-          , mpl::long_<upper::value>()
-          , (aux::make_member_invoker<
-                Fwd, result_type, typename Class::wrapped_type
-            >*)0
-        );
-    }
-};
-
-}}} // namespace boost::parameter::python
-
-#endif // BOOST_PARAMETER_PYTHON_060209_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/value_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/parameter/value_type.hpp
deleted file mode 100644
index a323dcf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/parameter/value_type.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright Daniel Wallin 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)
-
-#ifndef BOOST_PARAMETER_VALUE_TYPE_060921_HPP
-# define BOOST_PARAMETER_VALUE_TYPE_060921_HPP
-
-# include <boost/mpl/apply.hpp>
-# include <boost/mpl/assert.hpp>
-# include <boost/mpl/and.hpp>
-# include <boost/parameter/aux_/result_of0.hpp>
-# include <boost/parameter/aux_/void.hpp>
-# include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace parameter { 
-
-// A metafunction that, given an argument pack, returns the type of
-// the parameter identified by the given keyword.  If no such
-// parameter has been specified, returns Default
-
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-template <class Parameters, class Keyword, class Default>
-struct value_type0
-{
-    typedef typename mpl::apply_wrap3<
-        typename Parameters::binding,Keyword,Default,mpl::false_
-    >::type type;
-
-    BOOST_MPL_ASSERT_NOT((
-        mpl::and_<
-            is_same<Default, void_>
-          , is_same<type, void_>
-        >
-    ));
-};
-# endif
-
-template <class Parameters, class Keyword, class Default = void_>
-struct value_type
-{
-# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    typedef typename mpl::eval_if<
-        mpl::is_placeholder<Parameters>
-      , mpl::identity<int>
-      , value_type0<Parameters,Keyword,Default>
-    >::type type;
-# else
-    typedef typename mpl::apply_wrap3<
-        typename Parameters::binding,Keyword,Default,mpl::false_
-    >::type type;
-
-    BOOST_MPL_ASSERT_NOT((
-        mpl::and_<
-            is_same<Default, void_>
-          , is_same<type, void_>
-        >
-    ));
-# endif
-
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,value_type,(Parameters,Keyword,Default))
-};
-
-// A metafunction that, given an argument pack, returns the type of
-// the parameter identified by the given keyword.  If no such
-// parameter has been specified, returns the type returned by invoking
-// DefaultFn
-template <class Parameters, class Keyword, class DefaultFn>
-struct lazy_value_type
-{
-  typedef typename mpl::apply_wrap3<
-      typename Parameters::binding
-    , Keyword
-    , typename aux::result_of0<DefaultFn>::type
-    , mpl::false_
-  >::type type;
-};
-
-
-}} // namespace boost::parameter
-
-#endif // BOOST_PARAMETER_VALUE_TYPE_060921_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/bucket_sorter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/bucket_sorter.hpp
deleted file mode 100644
index 8b7926d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/bucket_sorter.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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:
-//   13 June 2001: Changed some names for clarity. (Jeremy Siek)
-//   01 April 2001: Modified to use new <boost/limits.hpp> header. (JMaddock)
-//
-#ifndef BOOST_GRAPH_DETAIL_BUCKET_SORTER_HPP
-#define BOOST_GRAPH_DETAIL_BUCKET_SORTER_HPP
-
-#include <vector>
-#include <cassert>
-#include <boost/limits.hpp>
-
-namespace boost {
-
-  template <class BucketType, class ValueType, class Bucket, 
-            class ValueIndexMap>
-  class bucket_sorter {
-  public:
-    typedef BucketType bucket_type;
-    typedef ValueType value_type;
-    typedef typename std::vector<value_type>::size_type size_type;
-    
-    bucket_sorter(size_type _length, bucket_type _max_bucket, 
-                  const Bucket& _bucket = Bucket(), 
-                  const ValueIndexMap& _id = ValueIndexMap()) 
-      : head(_max_bucket, invalid_value()),
-        next(_length, invalid_value()), 
-        prev(_length, invalid_value()),
-        id_to_value(_length),
-        bucket(_bucket), id(_id) { }
-    
-    void remove(const value_type& x) {
-      const size_type i = get(id, x);
-      const size_type& next_node = next[i];
-      const size_type& prev_node = prev[i];
-    
-      //check if i is the end of the bucket list 
-      if ( next_node != invalid_value() )
-        prev[next_node] = prev_node; 
-      //check if i is the begin of the bucket list
-      if ( prev_node != invalid_value() )
-        next[prev_node] = next_node;
-      else //need update head of current bucket list
-        head[ bucket[x] ] = next_node;
-    }
-
-    void push(const value_type& x) {
-      id_to_value[get(id, x)] = x;
-      (*this)[bucket[x]].push(x);
-    }
-    
-    void update(const value_type& x) {
-      remove(x);
-      (*this)[bucket[x]].push(x);
-    }
-    //  private: 
-    //    with KCC, the nested stack class is having access problems
-    //    despite the friend decl.
-    static size_type invalid_value() {
-      return (std::numeric_limits<size_type>::max)();
-    }
-    
-    typedef typename std::vector<size_type>::iterator Iter;
-    typedef typename std::vector<value_type>::iterator IndexValueMap;
-    
-  public:
-    friend class stack;
-
-    class stack {
-    public:
-      stack(bucket_type _bucket_id, Iter h, Iter n, Iter p, IndexValueMap v,
-            const ValueIndexMap& _id)
-      : bucket_id(_bucket_id), head(h), next(n), prev(p), value(v), id(_id) {}
-
-      // Avoid using default arg for ValueIndexMap so that the default
-      // constructor of the ValueIndexMap is not required if not used.
-      stack(bucket_type _bucket_id, Iter h, Iter n, Iter p, IndexValueMap v)
-        : bucket_id(_bucket_id), head(h), next(n), prev(p), value(v) {}
-      
-      void push(const value_type& x) {
-        const size_type new_head = get(id, x);
-        const size_type current = head[bucket_id];
-        if ( current != invalid_value() )
-          prev[current] = new_head;
-        prev[new_head] = invalid_value();
-        next[new_head] = current;
-        head[bucket_id] = new_head;
-      }
-      void pop() {
-        size_type current = head[bucket_id];
-        size_type next_node = next[current];
-        head[bucket_id] = next_node;
-        if ( next_node != invalid_value() )
-          prev[next_node] = invalid_value();
-      }
-      value_type& top() { return value[ head[bucket_id] ]; }
-      const value_type& top() const { return value[ head[bucket_id] ]; }
-      bool empty() const { return head[bucket_id] == invalid_value(); }
-    private:
-      bucket_type bucket_id;
-      Iter head;
-      Iter next;
-      Iter prev;
-      IndexValueMap value;
-      ValueIndexMap id;
-    };
-    
-    stack operator[](const bucket_type& i) {
-      assert(i < head.size());
-      return stack(i, head.begin(), next.begin(), prev.begin(),
-                   id_to_value.begin(), id);
-    }
-  protected:
-    std::vector<size_type>   head;
-    std::vector<size_type>   next;
-    std::vector<size_type>   prev;
-    std::vector<value_type>  id_to_value;
-    Bucket bucket;
-    ValueIndexMap id;
-  };
-  
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/container_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/container_traits.hpp
deleted file mode 100644
index a58b524..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/container_traits.hpp
+++ /dev/null
@@ -1,630 +0,0 @@
-//  (C) Copyright Jeremy Siek 2004 
-//  (C) Copyright Thomas Claveirole 2010
-//  (C) Copyright Ignacy Gawedzki 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)
-
-#ifndef BOOST_GRAPH_DETAIL_CONTAINER_TRAITS_H
-#define BOOST_GRAPH_DETAIL_CONTAINER_TRAITS_H
-
-// Sure would be nice to be able to forward declare these
-// instead of pulling in all the headers. Too bad that
-// is not legal. There ought to be a standard <stlfwd> header. -JGS 
-
-#include <boost/next_prior.hpp>
-
-#include <algorithm>   // for std::remove
-#include <utility>
-#include <vector>
-#include <list>
-#include <map>
-#include <set>
-#include <boost/unordered_set.hpp>
-#include <boost/unordered_map.hpp>
-
-#if !defined BOOST_NO_SLIST
-#  ifdef BOOST_SLIST_HEADER
-#    include BOOST_SLIST_HEADER
-#  else
-#    include <slist>
-#  endif
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-#include <unordered_set>
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#include <unordered_map>
-#endif
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_PENDING_FWD_TYPE(type) const type&
-#define BOOST_PENDING_FWD_VALUE(type, var) (var)
-#else
-#define BOOST_PENDING_FWD_TYPE(type) type&&
-#define BOOST_PENDING_FWD_VALUE(type, var) (std::forward<type>((var)))
-#endif
-
-// The content of this file is in 'graph_detail' because otherwise
-// there will be name clashes with 
-// sandbox/boost/sequence_algo/container_traits.hpp
-// The 'detail' subnamespace will still cause problems.
-namespace boost { namespace graph_detail {
-
-  //======================================================================
-  // Container Category Tags
-  //
-  //   They use virtual inheritance because there are lots of
-  //   inheritance diamonds.
-
-  struct container_tag { };
-  struct forward_container_tag : virtual public container_tag { };
-  struct reversible_container_tag : virtual public forward_container_tag { };
-  struct random_access_container_tag
-    : virtual public reversible_container_tag { };
-  
-  struct sequence_tag : virtual public forward_container_tag { };
-
-  struct associative_container_tag : virtual public forward_container_tag { };
-
-  struct sorted_associative_container_tag 
-    : virtual public associative_container_tag,
-      virtual public reversible_container_tag { };
-
-  struct front_insertion_sequence_tag : virtual public sequence_tag { };
-  struct back_insertion_sequence_tag : virtual public sequence_tag { };
-
-  struct unique_associative_container_tag 
-    : virtual public associative_container_tag { };
-  struct multiple_associative_container_tag 
-    : virtual public associative_container_tag { };
-  struct simple_associative_container_tag 
-    : virtual public associative_container_tag { };
-  struct pair_associative_container_tag 
-    : virtual public associative_container_tag { };
-
-
-  //======================================================================
-  // Iterator Stability Tags
-  //
-  // Do mutating operations such as insert/erase/resize invalidate all
-  // outstanding iterators?
-
-  struct stable_tag { };
-  struct unstable_tag { };
-
-  //======================================================================
-  // Container Traits Class and container_category() function
-
-  // don't use this unless there is partial specialization 
-  template <class Container>
-  struct container_traits {
-    typedef typename Container::category category;
-    typedef typename Container::iterator_stability iterator_stability;
-  };
-
-  // Use this as a compile-time assertion that X is stable
-  inline void require_stable(stable_tag) { }
-
-  // std::vector
-  struct vector_tag :
-    virtual public random_access_container_tag,
-    virtual public back_insertion_sequence_tag { };
-
-  template <class T, class Alloc>
-  vector_tag container_category(const std::vector<T,Alloc>&)
-    { return vector_tag(); }
-
-  template <class T, class Alloc>
-  unstable_tag iterator_stability(const std::vector<T,Alloc>&)
-    { return unstable_tag(); }
-
-  template <class T, class Alloc>
-  struct container_traits< std::vector<T,Alloc> > {
-    typedef vector_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-
-  // std::list
-  struct list_tag :
-    virtual public reversible_container_tag,
-    virtual public back_insertion_sequence_tag
-    // this causes problems for push_dispatch...
-    //    virtual public front_insertion_sequence_tag
-    { };
-
-  template <class T, class Alloc>
-  list_tag container_category(const std::list<T,Alloc>&)
-    { return list_tag(); }
-
-  template <class T, class Alloc>
-  stable_tag iterator_stability(const std::list<T,Alloc>&)
-    { return stable_tag(); }
-
-  template <class T, class Alloc>
-  struct container_traits< std::list<T,Alloc> > {
-    typedef list_tag category;
-    typedef stable_tag iterator_stability;
-  };
-
-
-  // std::slist
-#ifndef BOOST_NO_SLIST
-  template <class T, class Alloc>
-  struct container_traits<BOOST_STD_EXTENSION_NAMESPACE::slist<T,Alloc> > {
-    typedef front_insertion_sequence_tag category;
-    typedef stable_tag iterator_stability;
-  };
-  template <class T, class Alloc>
-  front_insertion_sequence_tag container_category(
-  const BOOST_STD_EXTENSION_NAMESPACE::slist<T,Alloc>&
-  )
-    { return front_insertion_sequence_tag(); }
-
-  template <class T, class Alloc>
-  stable_tag iterator_stability(
-  const BOOST_STD_EXTENSION_NAMESPACE::slist<T,Alloc>&)
-    { return stable_tag(); }
-#endif
-
-
-  // std::set
-  struct set_tag :
-    virtual public sorted_associative_container_tag,
-    virtual public simple_associative_container_tag,
-    virtual public unique_associative_container_tag 
-    { };
-
-  template <class Key, class Cmp, class Alloc> 
-  set_tag container_category(const std::set<Key,Cmp,Alloc>&)
-  { return set_tag(); }
-
-  template <class Key, class Cmp, class Alloc> 
-  stable_tag iterator_stability(const std::set<Key,Cmp,Alloc>&)
-  { return stable_tag(); }
-
-  template <class Key, class Cmp, class Alloc> 
-  struct container_traits< std::set<Key,Cmp,Alloc> > {
-    typedef set_tag category;
-    typedef stable_tag iterator_stability;
-  };
-
-  // std::multiset
-  struct multiset_tag :
-    virtual public sorted_associative_container_tag,
-    virtual public simple_associative_container_tag,
-    virtual public multiple_associative_container_tag 
-    { };
-
-  template <class Key, class Cmp, class Alloc> 
-  multiset_tag container_category(const std::multiset<Key,Cmp,Alloc>&)
-  { return multiset_tag(); }
-
-  template <class Key, class Cmp, class Alloc> 
-  stable_tag iterator_stability(const std::multiset<Key,Cmp,Alloc>&)
-  { return stable_tag(); }
-
-  template <class Key, class Cmp, class Alloc> 
-  struct container_traits< std::multiset<Key,Cmp,Alloc> > {
-    typedef multiset_tag category;
-    typedef stable_tag iterator_stability;
-  };
-
-  // deque
-
-  // std::map
-  struct map_tag :
-    virtual public sorted_associative_container_tag,
-    virtual public pair_associative_container_tag,
-    virtual public unique_associative_container_tag 
-    { };
-
-  template <class Key, class T, class Cmp, class Alloc> 
-  struct container_traits< std::map<Key,T,Cmp,Alloc> > {
-    typedef map_tag category;
-    typedef stable_tag iterator_stability;
-  };
-
-  template <class Key, class T, class Cmp, class Alloc> 
-  map_tag container_category(const std::map<Key,T,Cmp,Alloc>&)
-  { return map_tag(); }
-
-  template <class Key, class T, class Cmp, class Alloc> 
-  stable_tag iterator_stability(const std::map<Key,T,Cmp,Alloc>&)
-  { return stable_tag(); }
-
-  // std::multimap
-  struct multimap_tag :
-    virtual public sorted_associative_container_tag,
-    virtual public pair_associative_container_tag,
-    virtual public multiple_associative_container_tag 
-    { };
-
-  template <class Key, class T, class Cmp, class Alloc> 
-  struct container_traits< std::multimap<Key,T,Cmp,Alloc> > {
-    typedef multimap_tag category;
-    typedef stable_tag iterator_stability;
-  };
-
-  template <class Key, class T, class Cmp, class Alloc> 
-  multimap_tag container_category(const std::multimap<Key,T,Cmp,Alloc>&)
-  { return multimap_tag(); }
-
-  template <class Key, class T, class Cmp, class Alloc> 
-  stable_tag iterator_stability(const std::multimap<Key,T,Cmp,Alloc>&)
-  { return stable_tag(); }
-
-
- // hash_set, hash_map
-
-  struct unordered_set_tag :
-    virtual public simple_associative_container_tag,
-    virtual public unique_associative_container_tag
-    { };
-
-  struct unordered_multiset_tag :
-    virtual public simple_associative_container_tag,
-    virtual public multiple_associative_container_tag
-    { };
-
-
-  struct unordered_map_tag :
-    virtual public pair_associative_container_tag,
-    virtual public unique_associative_container_tag
-    { };
-
-  struct unordered_multimap_tag :
-    virtual public pair_associative_container_tag,
-    virtual public multiple_associative_container_tag
-    { };
-
-
-  template <class Key, class Eq, class Hash, class Alloc> 
-  struct container_traits< boost::unordered_set<Key,Eq,Hash,Alloc> > {
-    typedef unordered_set_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  struct container_traits< boost::unordered_map<Key,T,Eq,Hash,Alloc> > {
-    typedef unordered_map_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-  template <class Key, class Eq, class Hash, class Alloc>
-  struct container_traits< boost::unordered_multiset<Key,Eq,Hash,Alloc> > {
-    typedef unordered_multiset_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  struct container_traits< boost::unordered_multimap<Key,T,Eq,Hash,Alloc> > {
-    typedef unordered_multimap_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-
-  template <class Key, class Eq, class Hash, class Alloc>
-  unordered_set_tag
-  container_category(const boost::unordered_set<Key,Eq,Hash,Alloc>&)
-  { return unordered_set_tag(); }
-
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unordered_map_tag
-  container_category(const boost::unordered_map<Key,T,Eq,Hash,Alloc>&)
-  { return unordered_map_tag(); }
-
-  template <class Key, class Eq, class Hash, class Alloc>
-  unstable_tag iterator_stability(const boost::unordered_set<Key,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unstable_tag iterator_stability(const boost::unordered_map<Key,T,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-  template <class Key, class Eq, class Hash, class Alloc>
-  unordered_multiset_tag
-  container_category(const boost::unordered_multiset<Key,Eq,Hash,Alloc>&)
-  { return unordered_multiset_tag(); }
-
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unordered_multimap_tag
-  container_category(const boost::unordered_multimap<Key,T,Eq,Hash,Alloc>&)
-  { return unordered_multimap_tag(); }
-
-  template <class Key, class Eq, class Hash, class Alloc>
-  unstable_tag
-  iterator_stability(const boost::unordered_multiset<Key,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unstable_tag
-  iterator_stability(const boost::unordered_multimap<Key,T,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-  template <class Key, class Eq, class Hash, class Alloc> 
-  struct container_traits< std::unordered_set<Key,Eq,Hash,Alloc> > {
-    typedef unordered_set_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-#endif
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  struct container_traits< std::unordered_map<Key,T,Eq,Hash,Alloc> > {
-    typedef unordered_map_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-#endif
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-  template <class Key, class Eq, class Hash, class Alloc>
-  struct container_traits< std::unordered_multiset<Key,Eq,Hash,Alloc> > {
-    typedef unordered_multiset_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-#endif
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  struct container_traits< std::unordered_multimap<Key,T,Eq,Hash,Alloc> > {
-    typedef unordered_multimap_tag category;
-    typedef unstable_tag iterator_stability;
-  };
-#endif
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-  template <class Key, class Eq, class Hash, class Alloc>
-  unordered_set_tag
-  container_category(const std::unordered_set<Key,Eq,Hash,Alloc>&)
-  { return unordered_set_tag(); }
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unordered_map_tag
-  container_category(const std::unordered_map<Key,T,Eq,Hash,Alloc>&)
-  { return unordered_map_tag(); }
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-  template <class Key, class Eq, class Hash, class Alloc>
-  unstable_tag iterator_stability(const std::unordered_set<Key,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unstable_tag iterator_stability(const std::unordered_map<Key,T,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-#endif
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-  template <class Key, class Eq, class Hash, class Alloc>
-  unordered_multiset_tag
-  container_category(const std::unordered_multiset<Key,Eq,Hash,Alloc>&)
-  { return unordered_multiset_tag(); }
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unordered_multimap_tag
-  container_category(const std::unordered_multimap<Key,T,Eq,Hash,Alloc>&)
-  { return unordered_multimap_tag(); }
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
-  template <class Key, class Eq, class Hash, class Alloc>
-  unstable_tag
-  iterator_stability(const std::unordered_multiset<Key,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-  template <class Key, class T, class Eq, class Hash, class Alloc>
-  unstable_tag
-  iterator_stability(const std::unordered_multimap<Key,T,Eq,Hash,Alloc>&)
-  { return unstable_tag(); }
-#endif
-
-
-  //===========================================================================
-  // Generalized Container Functions
-
-
-  // Erase
-  template <class Sequence, class T>
-  void erase_dispatch(Sequence& c, const T& x, 
-                      sequence_tag)
-  {
-    c.erase(std::remove(c.begin(), c.end(), x), c.end());
-  }
-
-  template <class AssociativeContainer, class T>
-  void erase_dispatch(AssociativeContainer& c, const T& x, 
-                      associative_container_tag)
-  {
-    c.erase(x);
-  }
-  template <class Container, class T>
-  void erase(Container& c, const T& x)
-  {
-    erase_dispatch(c, x, container_category(c));
-  }
-
-  // Erase If
-  template <class Sequence, class Predicate, class IteratorStability>
-  void erase_if_dispatch(Sequence& c, Predicate p,
-                         sequence_tag, IteratorStability)
-  {
-#if 0
-    c.erase(std::remove_if(c.begin(), c.end(), p), c.end());
-#else
-    if (! c.empty())
-      c.erase(std::remove_if(c.begin(), c.end(), p), c.end());
-#endif
-  }
-  template <class AssociativeContainer, class Predicate>
-  void erase_if_dispatch(AssociativeContainer& c, Predicate p,
-                         associative_container_tag, stable_tag)
-  {
-    typename AssociativeContainer::iterator i, next;
-    for (i = next = c.begin(); next != c.end(); i = next) {
-      ++next;
-      if (p(*i))
-        c.erase(i);
-    }
-  }
-  template <class AssociativeContainer, class Predicate>
-  void erase_if_dispatch(AssociativeContainer& c, Predicate p,
-                         associative_container_tag, unstable_tag)
-  {
-    // This method is really slow, so hopefully we won't have any
-    // associative containers with unstable iterators!
-    // Is there a better way to do this?
-    typename AssociativeContainer::iterator i;
-    typename AssociativeContainer::size_type n = c.size();
-    while (n--)
-      for (i = c.begin(); i != c.end(); ++i)
-        if (p(*i)) {
-          c.erase(i);
-          break;
-        }
-  }
-  template <class Container, class Predicate>
-  void erase_if(Container& c, Predicate p)
-  {
-    erase_if_dispatch(c, p, container_category(c), iterator_stability(c));
-  }
-
-  // Push
-  template <class Container, class T>
-  std::pair<typename Container::iterator, bool>
-  push_dispatch(Container& c, BOOST_PENDING_FWD_TYPE(T) v, back_insertion_sequence_tag)
-  {
-    c.push_back(BOOST_PENDING_FWD_VALUE(T, v));
-    return std::make_pair(boost::prior(c.end()), true);
-  }
-
-  template <class Container, class T>
-  std::pair<typename Container::iterator, bool>
-  push_dispatch(Container& c, BOOST_PENDING_FWD_TYPE(T) v, front_insertion_sequence_tag)
-  {
-    c.push_front(BOOST_PENDING_FWD_VALUE(T, v));
-    return std::make_pair(c.begin(), true);
-  }
-
-  template <class AssociativeContainer, class T>
-  std::pair<typename AssociativeContainer::iterator, bool>
-  push_dispatch(AssociativeContainer& c, BOOST_PENDING_FWD_TYPE(T) v, 
-                unique_associative_container_tag)
-  {
-    return c.insert(BOOST_PENDING_FWD_VALUE(T, v));
-  }
-
-  template <class AssociativeContainer, class T>
-  std::pair<typename AssociativeContainer::iterator, bool>
-  push_dispatch(AssociativeContainer& c, BOOST_PENDING_FWD_TYPE(T) v,
-                multiple_associative_container_tag)
-  {
-    return std::make_pair(c.insert(BOOST_PENDING_FWD_VALUE(T, v)), true);
-  }
-
-  template <class Container, class T>
-  std::pair<typename Container::iterator,bool>
-  push(Container& c, BOOST_PENDING_FWD_TYPE(T) v)
-  {
-    return push_dispatch(c, BOOST_PENDING_FWD_VALUE(T, v), container_category(c));
-  }
-
-  // Find
-  template <class Container, class Value>
-  typename Container::iterator
-  find_dispatch(Container& c,
-                const Value& value,
-                container_tag)
-  {
-    return std::find(c.begin(), c.end(), value);
-  }
-
-  template <class AssociativeContainer, class Value>
-  typename AssociativeContainer::iterator
-  find_dispatch(AssociativeContainer& c,
-                const Value& value,
-                associative_container_tag)
-  {
-    return c.find(value);
-  }
-
-  template <class Container, class Value>
-  typename Container::iterator
-  find(Container& c,
-       const Value& value)
-  {
-    return find_dispatch(c, value,
-                         graph_detail::container_category(c));
-  }
-
-  // Find (const versions)
-  template <class Container, class Value>
-  typename Container::const_iterator
-  find_dispatch(const Container& c,
-                const Value& value,
-                container_tag)
-  {
-    return std::find(c.begin(), c.end(), value);
-  }
-
-  template <class AssociativeContainer, class Value>
-  typename AssociativeContainer::const_iterator
-  find_dispatch(const AssociativeContainer& c,
-                const Value& value,
-                associative_container_tag)
-  {
-    return c.find(value);
-  }
-
-  template <class Container, class Value>
-  typename Container::const_iterator
-  find(const Container& c,
-       const Value& value)
-  {
-    return find_dispatch(c, value,
-                         graph_detail::container_category(c));
-  }
-
-  // Equal range
-#if 0
-  // Make the dispatch fail if c is not an Associative Container (and thus
-  // doesn't have equal_range unless it is sorted, which we cannot check
-  // statically and is not typically true for BGL's uses of this function).
-  template <class Container,
-            class LessThanComparable>
-  std::pair<typename Container::iterator, typename Container::iterator>
-  equal_range_dispatch(Container& c,
-                       const LessThanComparable& value,
-                       container_tag)
-  {
-    // c must be sorted for std::equal_range to behave properly.
-    return std::equal_range(c.begin(), c.end(), value);
-  }
-#endif
-
-  template <class AssociativeContainer, class Value>
-  std::pair<typename AssociativeContainer::iterator,
-            typename AssociativeContainer::iterator>
-  equal_range_dispatch(AssociativeContainer& c,
-                       const Value& value,
-                       associative_container_tag)
-  {
-    return c.equal_range(value);
-  }
-
-  template <class Container, class Value>
-  std::pair<typename Container::iterator, typename Container::iterator>
-  equal_range(Container& c,
-              const Value& value)
-  {
-    return equal_range_dispatch(c, value,
-                                graph_detail::container_category(c));
-  }
-
-}} // namespace boost::graph_detail
-
-#undef BOOST_PENDING_FWD_TYPE
-#undef BOOST_PENDING_FWD_VALUE
-
-#endif // BOOST_GRAPH_DETAIL_CONTAINER_TRAITS_H
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/disjoint_sets.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/disjoint_sets.hpp
deleted file mode 100644
index 6d1ec3a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/disjoint_sets.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//  (C) Copyright Jeremy Siek 2004 
-//  Distributed under the 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_DISJOINT_SETS_HPP
-#define BOOST_DETAIL_DISJOINT_SETS_HPP
-
-namespace boost {
-
-namespace detail {
-
-template <class ParentPA, class Vertex>
-Vertex
-find_representative_with_path_halving(ParentPA p, Vertex v)
-{ 
-  Vertex parent = get(p, v);
-  Vertex grandparent = get(p, parent);
-  while (parent != grandparent) {
-    put(p, v, grandparent);
-    v =  grandparent;
-    parent = get(p, v);
-    grandparent = get(p, parent); 
-  }
-  return parent;
-}
-
-template <class ParentPA, class Vertex>
-Vertex
-find_representative_with_full_compression(ParentPA parent, Vertex v)
-{
-  Vertex old = v;
-  Vertex ancestor = get(parent, v);
-  while (ancestor != v) {
-    v = ancestor;
-    ancestor = get(parent, v);
-  }
-  v = get(parent, old);
-  while (ancestor != v) {
-    put(parent, old, ancestor);
-    old = v;
-    v = get(parent, old);
-  }
-  return ancestor;
-}
-
-/* the postcondition of link sets is:
- component_representative(i) == component_representative(j)
- */
-template <class ParentPA, class RankPA, class Vertex, 
-          class ComponentRepresentative>
-inline void
-link_sets(ParentPA p, RankPA rank, Vertex i, Vertex j,
-          ComponentRepresentative comp_rep)
-{
-  i = comp_rep(p, i);
-  j = comp_rep(p, j);
-  if (i == j) return;
-  if (get(rank, i) > get(rank, j)) 
-    put(p, j, i);
-  else {
-    put(p, i, j);
-    if (get(rank, i) == get(rank, j)) 
-      put(rank, j, get(rank, j) + 1);
-  }
-}  
-
-// normalize components has the following postcondidition:
-// i >= p[i]
-// that is, the representative is the node with the smallest index in its class
-// as its precondition it it assumes that the node container is compressed
-
-template <class ParentPA, class Vertex>
-inline void
-normalize_node(ParentPA p, Vertex i)
-{
-  if (i > get(p,i) || get(p, get(p,i)) != get(p,i))   
-    put(p,i, get(p, get(p,i)));
-  else {
-    put(p, get(p,i), i);
-    put(p, i, i);
-  } 
-}
-
-  } // namespace detail
-} // namespace boost
-
-#endif // BOOST_DETAIL_DISJOINT_SETS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/int_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/int_iterator.hpp
deleted file mode 100644
index ca8372b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/int_iterator.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//  (C) Copyright Jeremy Siek 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)
-
-#ifndef BOOST_INT_ITERATOR_H
-#define BOOST_INT_ITERATOR_H
-
-#include <boost/iterator.hpp>
-#if !defined BOOST_MSVC
-#include <boost/operators.hpp>
-#endif
-#include <iostream>
-//using namespace std;
-
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-namespace boost {
-namespace iterators {
-#endif
-
-// this should use random_access_iterator_helper but I've had
-// VC++ portablility problems with that. -JGS
-template <class IntT>
-class int_iterator
-{
-  typedef int_iterator self;
-public:
-  typedef std::random_access_iterator_tag iterator_category;
-  typedef IntT value_type;
-  typedef IntT& reference;
-  typedef IntT* pointer;
-  typedef std::ptrdiff_t difference_type;
-
-  inline int_iterator() : _i(0) { }
-  inline int_iterator(IntT i) : _i(i) { }
-  inline int_iterator(const self& x) : _i(x._i) { }
-  inline self& operator=(const self& x) { _i = x._i; return *this; }
-  inline IntT operator*() { return _i; }
-  inline IntT operator[](IntT n) { return _i + n; }
-  inline self& operator++() { ++_i; return *this; }
-  inline self operator++(int) { self t = *this; ++_i; return t; }
-  inline self& operator+=(IntT n) { _i += n; return *this; }
-  inline self operator+(IntT n) { self t = *this; t += n; return t; }
-  inline self& operator--() { --_i; return *this; }
-  inline self operator--(int) { self t = *this; --_i; return t; }
-  inline self& operator-=(IntT n) { _i -= n; return *this; }
-  inline IntT operator-(const self& x) const { return _i - x._i; }
-  inline bool operator==(const self& x) const { return _i == x._i; }
-  // vc++ had a problem finding != in random_access_iterator_helper
-  // need to look into this... for now implementing everything here -JGS
-  inline bool operator!=(const self& x) const { return _i != x._i; }
-  inline bool operator<(const self& x) const { return _i < x._i; }
-  inline bool operator<=(const self& x) const { return _i <= x._i; }
-  inline bool operator>(const self& x) const { return _i > x._i; }
-  inline bool operator>=(const self& x) const { return _i >= x._i; }
-protected:
-  IntT _i;
-};
-
-template <class IntT>
-inline int_iterator<IntT>
-operator+(IntT n, int_iterator<IntT> t) { t += n; return t; }
-
-#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
-} /* namespace iterators */
-
-using iterators::int_iterator;
-
-} /* namespace boost */
-#endif
-
-#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE
-namespace boost {
-using ::int_iterator;
-namespace iterators {
-using ::int_iterator;
-}}
-#endif
-
-
-#endif /* BOOST_INT_ITERATOR_H */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/property.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/property.hpp
deleted file mode 100644
index 42c7ce0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/detail/property.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//  (C) Copyright Jeremy Siek 2004 
-//  Distributed under the 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_PROPERTY_HPP
-#define BOOST_DETAIL_PROPERTY_HPP
-
-#include <utility> // for std::pair
-#include <boost/type_traits/same_traits.hpp> // for is_same
-
-namespace boost {
-
-  namespace detail {
-
-    struct error_property_not_found { };
-
-  } // namespace detail 
-} // namespace boost
-
-#endif // BOOST_DETAIL_PROPERTY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/disjoint_sets.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/disjoint_sets.hpp
deleted file mode 100644
index e64bc2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/disjoint_sets.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_DISJOINT_SETS_HPP
-#define BOOST_DISJOINT_SETS_HPP
-
-#include <vector>
-#include <boost/graph/properties.hpp>
-#include <boost/pending/detail/disjoint_sets.hpp>
-
-namespace boost {
-
-  struct find_with_path_halving {
-    template <class ParentPA, class Vertex>
-    Vertex operator()(ParentPA p, Vertex v) { 
-      return detail::find_representative_with_path_halving(p, v);
-    }
-  };
-
-  struct find_with_full_path_compression {
-    template <class ParentPA, class Vertex>
-    Vertex operator()(ParentPA p, Vertex v){
-      return detail::find_representative_with_full_compression(p, v);
-    }
-  };
-
-  // This is a generalized functor to provide disjoint sets operations
-  // with "union by rank" and "path compression".  A disjoint-set data
-  // structure maintains a collection S={S1, S2, ..., Sk} of disjoint
-  // sets. Each set is identified by a representative, which is some
-  // member of of the set. Sets are represented by rooted trees. Two
-  // heuristics: "union by rank" and "path compression" are used to
-  // speed up the operations.
-
-  // Disjoint Set requires two vertex properties for internal use.  A
-  // RankPA and a ParentPA. The RankPA must map Vertex to some Integral type
-  // (preferably the size_type associated with Vertex). The ParentPA
-  // must map Vertex to Vertex.
-  template <class RankPA, class ParentPA,
-    class FindCompress = find_with_full_path_compression
-    >
-  class disjoint_sets {
-    typedef disjoint_sets self;
-    
-    inline disjoint_sets() {}
-  public:
-    inline disjoint_sets(RankPA r, ParentPA p) 
-      : rank(r), parent(p) {}
-
-    inline disjoint_sets(const self& c) 
-      : rank(c.rank), parent(c.parent) {}
-    
-    // Make Set -- Create a singleton set containing vertex x
-    template <class Element>
-    inline void make_set(Element x)
-    {
-      put(parent, x, x);
-      typedef typename property_traits<RankPA>::value_type R;
-      put(rank, x, R());
-    }
-    
-    // Link - union the two sets represented by vertex x and y
-    template <class Element>
-    inline void link(Element x, Element y)
-    {
-      detail::link_sets(parent, rank, x, y, rep);
-    }
-    
-    // Union-Set - union the two sets containing vertex x and y 
-    template <class Element>
-    inline void union_set(Element x, Element y)
-    {
-      link(find_set(x), find_set(y));
-    }
-    
-    // Find-Set - returns the Element representative of the set
-    // containing Element x and applies path compression.
-    template <class Element>
-    inline Element find_set(Element x)
-    {
-      return rep(parent, x);
-    }
-
-    template <class ElementIterator>
-    inline std::size_t count_sets(ElementIterator first, ElementIterator last)
-    {
-      std::size_t count = 0;  
-      for ( ; first != last; ++first)
-      if (get(parent, *first) == *first)
-        ++count;
-      return count;
-    }
-
-    template <class ElementIterator>
-    inline void normalize_sets(ElementIterator first, ElementIterator last)
-    {
-      for (; first != last; ++first) 
-        detail::normalize_node(parent, *first);
-    }    
-    
-    template <class ElementIterator>
-    inline void compress_sets(ElementIterator first, ElementIterator last)
-    {
-      for (; first != last; ++first) 
-        detail::find_representative_with_full_compression(parent, *first);
-    }    
-  protected:
-    RankPA rank;
-    ParentPA parent;
-    FindCompress rep;
-  };
-
-
-  
-
-  template <class ID = identity_property_map,
-            class InverseID = identity_property_map,
-            class FindCompress = find_with_full_path_compression
-            >
-  class disjoint_sets_with_storage
-  {
-    typedef typename property_traits<ID>::value_type Index;
-    typedef std::vector<Index> ParentContainer;
-    typedef std::vector<unsigned char> RankContainer;
-  public:
-    typedef typename ParentContainer::size_type size_type;
-
-    disjoint_sets_with_storage(size_type n = 0,
-                               ID id_ = ID(),
-                               InverseID inv = InverseID())
-      : id(id_), id_to_vertex(inv), rank(n, 0), parent(n)
-    {
-      for (Index i = 0; i < n; ++i)
-        parent[i] = i;
-    }
-    // note this is not normally needed
-    template <class Element>
-    inline void 
-    make_set(Element x) {
-      parent[x] = x;
-      rank[x]   = 0;
-    }
-    template <class Element>
-    inline void 
-    link(Element x, Element y)
-    {
-      extend_sets(x,y);
-      detail::link_sets(&parent[0], &rank[0], 
-                        get(id,x), get(id,y), rep);
-    }
-    template <class Element>
-    inline void 
-    union_set(Element x, Element y) {
-      Element rx = find_set(x);
-      Element ry = find_set(y);
-      link(rx, ry);
-    }
-    template <class Element>
-    inline Element find_set(Element x) {
-      return id_to_vertex[rep(&parent[0], get(id,x))];
-    }
-
-    template <class ElementIterator>
-    inline std::size_t count_sets(ElementIterator first, ElementIterator last)
-    {
-      std::size_t count = 0;  
-      for ( ; first != last; ++first)
-      if (parent[*first] == *first)
-        ++count;
-      return count;
-    }
-
-    template <class ElementIterator>
-    inline void normalize_sets(ElementIterator first, ElementIterator last)
-    {
-      for (; first != last; ++first) 
-        detail::normalize_node(&parent[0], *first);
-    }    
-    
-    template <class ElementIterator>
-    inline void compress_sets(ElementIterator first, ElementIterator last)
-    {
-      for (; first != last; ++first) 
-        detail::find_representative_with_full_compression(&parent[0],
-                                                          *first);
-    }    
-
-    const ParentContainer& parents() { return parent; }
-
-  protected:
-
-    template <class Element>
-    inline void 
-    extend_sets(Element x, Element y)
-    {
-      Index needed = get(id,x) > get(id,y) ? get(id,x) + 1 : get(id,y) + 1;
-      if (needed > parent.size()) {
-        rank.insert(rank.end(), needed - rank.size(), 0);
-        for (Index k = parent.size(); k < needed; ++k)
-        parent.push_back(k);
-      } 
-    }
-
-    ID id;
-    InverseID id_to_vertex;
-    RankContainer rank;
-    ParentContainer parent;
-    FindCompress rep;
-  };
-
-} // namespace boost
-
-#endif // BOOST_DISJOINT_SETS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/fenced_priority_queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/fenced_priority_queue.hpp
deleted file mode 100644
index 4d4e3af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/fenced_priority_queue.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-//  (C) Copyright Jeremiah Willcock 2004 
-//  Distributed under the 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_FENCED_PRIORITY_QUEUE_HPP
-#define BOOST_FENCED_PRIORITY_QUEUE_HPP
-
-#include <vector>
-#include <queue>
-#include <functional>
-#include <boost/pending/queue.hpp>
-
-// Fenced priority queue
-// Jeremiah Willcock
-
-// This class implements a fenced priority queue.  This is similar to
-// a normal priority queue (sorts its members, and only returns the
-// first), except that members cannot be sorted around a "fence" that
-// can be placed into the buffer.  This fence is inserted using the
-// fence() member function or (possibly) implicitly by the top() and
-// pop() methods, and is removed automatically when the elements
-// around it are popped.
-
-// The implementation is as follows:  Q is an unsorted queue that
-// contains the already-sorted list data, and PQ is a priority queue
-// that contains new elements (since the last fence) that have yet to
-// be sorted.  New elements are inserted into PQ, and a fence moves
-// all elements in PQ into the back of Q in sorted order.  Elements
-// are then popped from the front of Q, and if that is empty the front
-// of PQ.
-
-namespace boost {
-
-  template<class T, class Compare = std::less<T>, bool implicit_fence = true,
-           class Buffer = boost::queue<T> >
-  class fenced_priority_queue {
-  public:
-    typedef T value_type;
-    typedef typename Buffer::size_type size_type;
-
-    fenced_priority_queue(const Compare _comp = Compare() ) 
-      : PQ(_comp) {} 
-    
-    void push(const T& data);
-    void pop(void);
-    T& top(void);
-    const T& top(void) const;
-    size_type size(void) const;
-    bool empty(void) const;
-    void fence(void);
-    
-  private:
-    void fence(void) const;
-
-    //let them mutable to allow const version of top and the same 
-    //semantics with non-constant version. Rich Lee
-    mutable std::priority_queue<T, std::vector<T>, Compare> PQ;
-    mutable Buffer Q;
-  };
-  
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline void 
-  fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  push(const T &t) {
-    // Push a new element after the last fence.  This puts it into the
-    // priority queue to be sorted with all other elements in its
-    // partition.
-    PQ.push(t);
-  }
-
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline void fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  pop(void) {
-    // Pop one element from the front of the queue.  Removes from the
-    // already-sorted part of the queue if it is non-empty, otherwise
-    // removes from the new-element priority queue.  Runs an implicit
-    // "fence" operation if the implicit_fence template argument is
-    // true.
-    if (implicit_fence) fence();
-    if ( !Q.empty() )
-      Q.pop();
-    else
-      PQ.pop();
-  }
-
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline T& fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  top(void) {
-    // Get the top element from the queue.  This element comes from Q if
-    // possible, otherwise from PQ.  Causes an implicit "fence"
-    // operation if the implicit_fence template argument is true.
-    if (implicit_fence) fence();
-    if ( !Q.empty() )
-      return Q.top();
-    else
-      //std::priority_queue only have const version of top. Rich Lee
-      return const_cast<T&>(PQ.top());
-  }
-
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline const T&
-  fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  top(void) const {
-    if (implicit_fence) fence();
-    if ( !Q.empty() )
-      return Q.top();
-    else
-      return PQ.top();
-  }
-
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline typename fenced_priority_queue<T, Compare, implicit_fence, Buffer>::size_type 
-  fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  size(void) const {
-    // Returns the size of the queue (both parts together).
-    return Q.size() + PQ.size();
-  }
-
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline bool 
-  fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  empty(void) const {
-    // Returns if the queue is empty, i.e. both parts are empty.
-    return Q.empty() && PQ.empty();
-  }
-  
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline void 
-  fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  fence(void) {
-    // Perform a fence operation.  Remove elements from PQ in sorted
-    // order and insert them in the back of Q.
-    while ( !PQ.empty() ) {
-      Q.push(PQ.top());
-      PQ.pop();
-    }
-  }
-  template<class T, class Compare, bool implicit_fence, class Buffer>
-  inline void 
-  fenced_priority_queue<T, Compare, implicit_fence, Buffer>::
-  fence(void) const {
-    // Perform a fence operation.  Remove elements from PQ in sorted
-    // order and insert them in the back of Q.
-    while ( !PQ.empty() ) {
-      Q.push(PQ.top());
-      PQ.pop();
-    }
-  }
-
-}  
-#endif /* BOOST_FENCED_PRIORITY_QUEUE_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/fibonacci_heap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/fibonacci_heap.hpp
deleted file mode 100644
index a386e28..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/fibonacci_heap.hpp
+++ /dev/null
@@ -1,271 +0,0 @@
-// (C) Copyright Jeremy Siek    2004.
-// Distributed under the 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_FIBONACCI_HEAP_HPP
-#define BOOST_FIBONACCI_HEAP_HPP
-
-#if defined(__sgi) && !defined(__GNUC__)
-# include <math.h>
-#else
-# include <boost/config/no_tr1/cmath.hpp>
-#endif
-#include <iosfwd>
-#include <vector>
-#include <functional>
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-
-//
-// An adaptation of Knuth's Fibonacci heap implementation
-// in "The Stanford Graph Base", pages 475-482.
-//
-
-namespace boost {
-
-
-template <class T, 
-          class Compare = std::less<T>,
-          class ID = identity_property_map>
-class fibonacci_heap
-{
-  typedef typename boost::property_traits<ID>::value_type size_type;
-  typedef T value_type;
-protected:
-  typedef fibonacci_heap self;
-  typedef std::vector<size_type> LinkVec;
-  typedef typename LinkVec::iterator LinkIter;
-public:
-
-  fibonacci_heap(size_type n, 
-                 const Compare& cmp, 
-                 const ID& id = identity_property_map())
-    : _key(n), _left(n), _right(n), _p(n), _mark(n), _degree(n),
-      _n(0), _root(n), _id(id), _compare(cmp), _child(n),
-#if defined(BOOST_MSVC) || defined(__ICL) // need a new macro?
-      new_roots(size_type(log(float(n))) + 5) { }
-#else
-      new_roots(size_type(std::log(float(n))) + 5) { }
-#endif
-
-  // 33
-  void push(const T& d) {
-    ++_n;
-    size_type v = get(_id, d);
-    _key[v] = d;
-    _p[v] = nil();
-    _degree[v] = 0;
-    _mark[v] = false;
-    _child[v] = nil();
-    if (_root == nil()) {
-      _root = _left[v] = _right[v] = v;
-      //std::cout << "root added" << std::endl;
-    } else {
-      size_type u = _left[_root];
-      _left[v] = u;
-      _right[v] = _root;
-      _left[_root] = _right[u] = v;
-      if (_compare(d, _key[_root]))
-        _root = v;
-      //std::cout << "non-root node added" << std::endl;
-    }
-  }
-  T& top() { return _key[_root]; }
-  const T& top() const { return _key[_root]; }
-
-  // 38
-  void pop() {
-    --_n;
-    int h = -1;
-    size_type v, w;
-    if (_root != nil()) {
-      if (_degree[_root] == 0) {
-        v = _right[_root];
-      } else {
-        w = _child[_root];
-        v = _right[w];
-        _right[w] = _right[_root];
-        for (w = v; w != _right[_root]; w = _right[w])
-          _p[w] = nil();
-      }
-      while (v != _root) {
-        w = _right[v];
-        add_tree_to_new_roots(v, new_roots.begin(), h);
-        v = w;
-      }
-      rebuild_root_list(new_roots.begin(), h);
-    }
-  }
-  // 39
-  inline void add_tree_to_new_roots(size_type v, 
-                                    LinkIter new_roots,
-                                    int& h)
-  {
-    int r;
-    size_type u;
-    r = _degree[v];
-    while (1) {
-      if (h < r) {
-        do { 
-          ++h; 
-          new_roots[h] = (h == r ? v : nil());
-        } while (h < r);
-        break;
-      }
-      if (new_roots[r] == nil()) {
-        new_roots[r] = v;
-        break;
-      }
-      u = new_roots[r];
-      new_roots[r] = nil();
-      if (_compare(_key[u], _key[v])) {
-        _degree[v] = r;
-        _mark[v] = false;
-        std::swap(u, v);
-      }
-      make_child(u, v, r);
-      ++r;
-    }
-    _degree[v] = r;
-    _mark[v] = false;
-  }
-  // 40
-  void make_child(size_type u, size_type v, size_type r) {
-    if (r == 0) {
-      _child[v] = u;
-      _left[u] = u;
-      _right[u] = u;
-    } else {
-      size_type t = _child[v];
-      _right[u] = _right[t];
-      _left[u] = t;
-      _right[t] = u;
-      _left[_right[u]] = u;
-    }
-    _p[u] = v;
-  }
-  // 41
-  inline void rebuild_root_list(LinkIter new_roots, int& h)
-  {
-    size_type u, v, w;
-    if (h < 0)
-      _root = nil();
-    else {
-      T d;
-      u = v = new_roots[h];
-      d = _key[u];
-      _root = u;
-      for (h--; h >= 0; --h)
-        if (new_roots[h] != nil()) {
-          w = new_roots[h];
-          _left[w] = v;
-          _right[v] = w;
-          if (_compare(_key[w], d)) {
-            _root = w;
-            d = _key[w];
-          }
-          v = w;
-        }
-      _right[v] = u;
-      _left[u] = v;
-    }
-  }
-
-  // 34
-  void update(const T& d) {
-    size_type v = get(_id, d);
-    assert(!_compare(_key[v], d));
-    _key[v] = d;
-    size_type p = _p[v];
-    if (p == nil()) {
-      if (_compare(d, _key[_root]))
-        _root = v;
-    } else if (_compare(d, _key[p]))
-      while (1) {
-        size_type r = _degree[p];
-        if (r >= 2)
-          remove_from_family(v, p);
-        insert_into_forest(v, d);
-        size_type pp = _p[p];
-        if (pp == nil()) {
-          --_degree[p];
-          break;
-        }
-        if (_mark[p] == false) {
-          _mark[p] = true;
-          --_degree[p];
-          break;
-        } else
-          --_degree[p];
-        v = p;
-        p = pp;
-      }
-  }
-
-  inline size_type size() const { return _n; }
-  inline bool empty() const { return _n == 0; }
-
-  void print(std::ostream& os) {
-    if (_root != nil()) {
-      size_type i = _root;
-      do {
-        print_recur(i, os);
-        os << std::endl;
-        i = _right[i];
-      } while (i != _root);
-    }
-  }
-
-protected:
-  // 35
-  inline void remove_from_family(size_type v, size_type p) {
-    size_type u = _left[v];
-    size_type w = _right[v];
-    _right[u] = w;
-    _left[w] = u;
-    if (_child[p] == v)
-      _child[p] = w;
-  }
-  // 36
-  inline void insert_into_forest(size_type v, const T& d) {
-    _p[v] = nil();
-    size_type u = _left[_root];
-    _left[v] = u;
-    _right[v] = _root;
-    _left[_root] = _right[u] = v;
-    if (_compare(d, _key[_root]))
-      _root = v;
-  }
-
-  void print_recur(size_type x, std::ostream& os) {
-    if (x != nil()) {
-      os << x;
-      if (_degree[x] > 0) {
-        os << "(";
-        size_type i = _child[x];
-        do {
-          print_recur(i, os); os << " ";
-          i = _right[i];
-        } while (i != _child[x]);
-        os << ")";
-      }
-    }
-  }
-  
-  size_type nil() const { return _left.size(); }
-
-  std::vector<T> _key;
-  LinkVec _left, _right, _p;
-  std::vector<bool> _mark;
-  LinkVec _degree;
-  size_type _n, _root;
-  ID _id;
-  Compare _compare;
-  LinkVec _child;
-  LinkVec new_roots;
-};
-
-} // namespace boost
-
-
-#endif // BOOST_FIBONACCI_HEAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/indirect_cmp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/indirect_cmp.hpp
deleted file mode 100644
index 14ee531..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/indirect_cmp.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_INDIRECT_CMP_HPP
-#define BOOST_INDIRECT_CMP_HPP
-
-#include <functional>
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-  //: indirect_cmp
-  //
-  // could also do this with compose_f_gx_hx, and the member binder...
-  //
-  //!category: functors
-  //!component: type
-  //!tparam: ReadablePropertyMap - a model of ReadablePropertyMap
-  //!definition: functor.h
-  template <class ReadablePropertyMap, class Compare>
-  class indirect_cmp {
-  public:
-    typedef typename boost::property_traits<ReadablePropertyMap>::value_type T;
-    typedef typename boost::property_traits<ReadablePropertyMap>::key_type K;
-    typedef K first_argument_type;
-    typedef K second_argument_type;
-    typedef bool result_type;
-    inline indirect_cmp(const ReadablePropertyMap& df, const Compare& c = Compare())
-      : d(df), cmp(c) { }
-
-    template <class A, class B>
-    inline bool 
-    operator()(const A& u, const B& v) const {
-      const T& du = get(d, u);
-      const T& dv = get(d, v);
-      return cmp(du, dv);
-    }
-  protected:
-    ReadablePropertyMap d;
-    Compare cmp;
-  };
-
-  template <typename Compare, typename ReadablePropertyMap>
-  indirect_cmp<ReadablePropertyMap, Compare>
-  make_indirect_cmp(const Compare& cmp, ReadablePropertyMap pmap) {
-    indirect_cmp<ReadablePropertyMap, Compare> p(pmap, cmp);
-    return p;
-  }
-
-  template <class ReadablePropertyMap>
-  class indirect_pmap {
-  public:
-    typedef typename boost::property_traits<ReadablePropertyMap>::value_type T;
-    typedef typename boost::property_traits<ReadablePropertyMap>::key_type K;
-    typedef K argument_type;
-    typedef T result_type;
-    inline indirect_pmap(const ReadablePropertyMap& df)
-      : d(df) { }
-
-    inline T operator()(const K& u) const {
-      return get(d, u);
-    }
-  protected:
-    ReadablePropertyMap d;
-  };
-
-  template <typename ReadablePropertyMap>
-  indirect_pmap<ReadablePropertyMap>
-  make_indirect_pmap(ReadablePropertyMap pmap) {
-    indirect_pmap<ReadablePropertyMap> f(pmap);
-    return f;
-  }
-
-
-} // namespace boost
-
-
-#endif // GGCL_INDIRECT_CMP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/integer_log2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/integer_log2.hpp
deleted file mode 100644
index 023ec7a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/integer_log2.hpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef BOOST_PENDING_INTEGER_LOG2_HPP
-#define BOOST_PENDING_INTEGER_LOG2_HPP
-
-// The header file at this path is deprecated;
-// use boost/integer/integer_log2.hpp instead.
-
-#include <boost/integer/integer_log2.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/is_heap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/is_heap.hpp
deleted file mode 100644
index b2e4b00..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/is_heap.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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 __KCC
-namespace std {
-
-template <class RandomAccessIterator, class Distance>
-bool __is_heap(RandomAccessIterator first, RandomAccessIterator last,
-               Distance*)
-{
-  const Distance n = last - first;
-
-  Distance parent = 0;
-  for (Distance child = 1; child < n; ++child) {
-    if (first[parent] < first[child]) 
-      return false;
-    if ((child & 1) == 0)
-      ++parent;
-  }
-  return true;
-}
-
-template <class RandomAccessIterator>
-inline bool is_heap(RandomAccessIterator first, RandomAccessIterator last)
-{
-  return __is_heap(first, last, distance_type(first));
-}
-
-
-template <class RandomAccessIterator, class Distance, class StrictWeakOrdering>
-bool __is_heap(RandomAccessIterator first, RandomAccessIterator last,
-               StrictWeakOrdering comp,
-               Distance*)
-{
-  const Distance n = last - first;
-
-  Distance parent = 0;
-  for (Distance child = 1; child < n; ++child) {
-    if (comp(first[parent], first[child]))
-      return false;
-    if ((child & 1) == 0)
-      ++parent;
-  }
-  return true;
-}
-
-template <class RandomAccessIterator, class StrictWeakOrdering>
-inline bool is_heap(RandomAccessIterator first, RandomAccessIterator last,
-                    StrictWeakOrdering comp)
-{
-  return __is_heap(first, last, comp, distance_type(first));
-}
-
-}
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/iterator_adaptors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/iterator_adaptors.hpp
deleted file mode 100644
index 2256e81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/iterator_adaptors.hpp
+++ /dev/null
@@ -1,6 +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)
-
-#include <boost/iterator_adaptors.hpp>
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/iterator_tests.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/iterator_tests.hpp
deleted file mode 100644
index 37c839b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/iterator_tests.hpp
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright David Abrahams and Jeremy Siek 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_ITERATOR_TESTS_HPP
-# define BOOST_ITERATOR_TESTS_HPP
-
-// This is meant to be the beginnings of a comprehensive, generic
-// test suite for STL concepts such as iterators and containers.
-//
-// Revision History:
-// 28 Apr 2002  Fixed input iterator requirements.
-//              For a == b a++ == b++ is no longer required.
-//              See 24.1.1/3 for details.
-//              (Thomas Witt)
-// 08 Feb 2001  Fixed bidirectional iterator test so that
-//              --i is no longer a precondition.
-//              (Jeremy Siek)
-// 04 Feb 2001  Added lvalue test, corrected preconditions
-//              (David Abrahams)
-
-# include <iterator>
-# include <assert.h>
-# include <boost/type_traits.hpp>
-# include <boost/static_assert.hpp>
-# include <boost/concept_archetype.hpp> // for detail::dummy_constructor
-# include <boost/implicit_cast.hpp>
-
-namespace boost {
-
-  // use this for the value type
-struct dummyT {
-  dummyT() { }
-  dummyT(detail::dummy_constructor) { }
-  dummyT(int x) : m_x(x) { }
-  int foo() const { return m_x; }
-  bool operator==(const dummyT& d) const { return m_x == d.m_x; }
-  int m_x;
-};
-
-}
-
-namespace boost {
-namespace iterators {
-
-// Tests whether type Iterator satisfies the requirements for a
-// TrivialIterator.
-// Preconditions: i != j, *i == val
-template <class Iterator, class T>
-void trivial_iterator_test(const Iterator i, const Iterator j, T val)
-{
-  Iterator k;
-  assert(i == i);
-  assert(j == j);
-  assert(i != j);
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-  T v = *i;
-#else
-  typename std::iterator_traits<Iterator>::value_type v = *i;
-#endif
-  assert(v == val);
-#if 0
-  // hmm, this will give a warning for transform_iterator...  perhaps
-  // this should be separated out into a stand-alone test since there
-  // are several situations where it can't be used, like for
-  // integer_range::iterator.
-  assert(v == i->foo());
-#endif
-  k = i;
-  assert(k == k);
-  assert(k == i);
-  assert(k != j);
-  assert(*k == val);
-}
-
-
-// Preconditions: i != j
-template <class Iterator, class T>
-void mutable_trivial_iterator_test(const Iterator i, const Iterator j, T val)
-{
-  *i = val;
-  trivial_iterator_test(i, j, val);
-}
-
-
-// Preconditions: *i == v1, *++i == v2
-template <class Iterator, class T>
-void input_iterator_test(Iterator i, T v1, T v2)
-{
-  Iterator i1(i);
-
-  assert(i == i1);
-  assert(!(i != i1));
-
-  // I can see no generic way to create an input iterator
-  // that is in the domain of== of i and != i.
-  // The following works for istream_iterator but is not
-  // guaranteed to work for arbitrary input iterators.
-  //
-  //   Iterator i2;
-  //
-  //   assert(i != i2);
-  //   assert(!(i == i2));
-
-  assert(*i1 == v1);
-  assert(*i  == v1);
-
-  // we cannot test for equivalence of (void)++i & (void)i++
-  // as i is only guaranteed to be single pass.
-  assert(*i++ == v1);
-
-  i1 = i;
-
-  assert(i == i1);
-  assert(!(i != i1));
-
-  assert(*i1 == v2);
-  assert(*i  == v2);
-
-  // i is dereferencable, so it must be incrementable.
-  ++i;
-
-  // how to test for operator-> ?
-}
-
-// how to test output iterator?
-
-
-template <bool is_pointer> struct lvalue_test
-{
-    template <class Iterator> static void check(Iterator)
-    {
-# ifndef BOOST_NO_STD_ITERATOR_TRAITS
-        typedef typename std::iterator_traits<Iterator>::reference reference;
-        typedef typename std::iterator_traits<Iterator>::value_type value_type;
-# else
-        typedef typename Iterator::reference reference;
-        typedef typename Iterator::value_type value_type;
-# endif
-        BOOST_STATIC_ASSERT(boost::is_reference<reference>::value);
-        BOOST_STATIC_ASSERT((boost::is_same<reference,value_type&>::value
-                             || boost::is_same<reference,const value_type&>::value
-            ));
-    }
-};
-
-# ifdef BOOST_NO_STD_ITERATOR_TRAITS
-template <> struct lvalue_test<true> {
-    template <class T> static void check(T) {}
-};
-#endif
-
-template <class Iterator, class T>
-void forward_iterator_test(Iterator i, T v1, T v2)
-{
-  input_iterator_test(i, v1, v2);
-
-  Iterator i1 = i, i2 = i;
-
-  assert(i == i1++);
-  assert(i != ++i2);
-
-  trivial_iterator_test(i, i1, v1);
-  trivial_iterator_test(i, i2, v1);
-
-  ++i;
-  assert(i == i1);
-  assert(i == i2);
-  ++i1;
-  ++i2;
-
-  trivial_iterator_test(i, i1, v2);
-  trivial_iterator_test(i, i2, v2);
-
- // borland doesn't allow non-type template parameters
-# if !defined(__BORLANDC__) || (__BORLANDC__ > 0x551)
-  lvalue_test<(boost::is_pointer<Iterator>::value)>::check(i);
-#endif
-}
-
-// Preconditions: *i == v1, *++i == v2
-template <class Iterator, class T>
-void bidirectional_iterator_test(Iterator i, T v1, T v2)
-{
-  forward_iterator_test(i, v1, v2);
-  ++i;
-
-  Iterator i1 = i, i2 = i;
-
-  assert(i == i1--);
-  assert(i != --i2);
-
-  trivial_iterator_test(i, i1, v2);
-  trivial_iterator_test(i, i2, v2);
-
-  --i;
-  assert(i == i1);
-  assert(i == i2);
-  ++i1;
-  ++i2;
-
-  trivial_iterator_test(i, i1, v1);
-  trivial_iterator_test(i, i2, v1);
-}
-
-// mutable_bidirectional_iterator_test
-
-template <class U> struct undefined;
-
-// Preconditions: [i,i+N) is a valid range
-template <class Iterator, class TrueVals>
-void random_access_iterator_test(Iterator i, int N, TrueVals vals)
-{
-  bidirectional_iterator_test(i, vals[0], vals[1]);
-  const Iterator j = i;
-  int c;
-
-  typedef typename boost::detail::iterator_traits<Iterator>::value_type value_type;
-
-  for (c = 0; c < N-1; ++c) {
-    assert(i == j + c);
-    assert(*i == vals[c]);
-    assert(*i == boost::implicit_cast<value_type>(j[c]));
-    assert(*i == *(j + c));
-    assert(*i == *(c + j));
-    ++i;
-    assert(i > j);
-    assert(i >= j);
-    assert(j <= i);
-    assert(j < i);
-  }
-
-  Iterator k = j + N - 1;
-  for (c = 0; c < N-1; ++c) {
-    assert(i == k - c);
-    assert(*i == vals[N - 1 - c]);
-    assert(*i == boost::implicit_cast<value_type>(j[N - 1 - c]));
-    Iterator q = k - c;
-    assert(*i == *q);
-    assert(i > j);
-    assert(i >= j);
-    assert(j <= i);
-    assert(j < i);
-    --i;
-  }
-}
-
-// Precondition: i != j
-template <class Iterator, class ConstIterator>
-void const_nonconst_iterator_test(Iterator i, ConstIterator j)
-{
-  assert(i != j);
-  assert(j != i);
-
-  ConstIterator k(i);
-  assert(k == i);
-  assert(i == k);
-
-  k = i;
-  assert(k == i);
-  assert(i == k);
-}
-
-} // namespace iterators
-
-using iterators::undefined;
-using iterators::trivial_iterator_test;
-using iterators::mutable_trivial_iterator_test;
-using iterators::input_iterator_test;
-using iterators::lvalue_test;
-using iterators::forward_iterator_test;
-using iterators::bidirectional_iterator_test;
-using iterators::random_access_iterator_test;
-using iterators::const_nonconst_iterator_test;
-
-} // namespace boost
-
-#endif // BOOST_ITERATOR_TESTS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/lowest_bit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/lowest_bit.hpp
deleted file mode 100644
index dd6e6e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/lowest_bit.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// -----------------------------------------------------------
-// lowest_bit.hpp
-//
-//           Position of the lowest bit 'on'
-//
-//         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_LOWEST_BIT_HPP_GP_20030301
-#define BOOST_LOWEST_BIT_HPP_GP_20030301
-
-#include <assert.h>
-#include "boost/pending/integer_log2.hpp"
-
-
-namespace boost {
-
-    template <typename T>
-    int lowest_bit(T x) {
-
-        assert(x >= 1); // PRE
-
-        // clear all bits on except the rightmost one,
-        // then calculate the logarithm base 2
-        //
-        return boost::integer_log2<T>( x - ( x & (x-1) ) );
-
-    }
-
-
-}
-
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/mutable_heap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/mutable_heap.hpp
deleted file mode 100644
index bbc8188..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/mutable_heap.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_GRAPH_DETAIL_MUTABLE_HEAP_H
-#define BOOST_GRAPH_DETAIL_MUTABLE_HEAP_H
-
-/*
-  There are a few things wrong with this set of functions.
-
-  ExternalData should be removed, it is not part of the core
-  algorithm. It can be handled inside the tree nodes.
-
-  The swap() should be replaced by assignment since its use is causing
-  the number of memory references to double.
-
-  The min_element should be replaced by a fixed length loop
-  (fixed at d for d-heaps).
-
-  The member functions of TreeNode should be changed to global
-  functions.
-
-  These functions will be replaced by those in heap_tree.h
-
- */
-
-namespace boost {
-
-  template <class TreeNode, class Compare, class ExternalData>
-  inline TreeNode up_heap(TreeNode x, const Compare& comp, ExternalData& edata) {
-    while (x.has_parent() && comp(x, x.parent()))
-      x.swap(x.parent(), edata);
-    return x;
-  }
-
-  template <class TreeNode, class Compare, class ExternalData>
-  inline TreeNode down_heap(TreeNode x, const Compare& comp, ExternalData& edata) {
-    while (x.children().size() > 0) {
-      typename TreeNode::children_type::iterator 
-        child_iter = std::min_element(x.children().begin(),
-                                      x.children().end(), 
-                                      comp);
-      if (comp(*child_iter, x))
-        x.swap(*child_iter, edata);
-      else
-        break;
-    }
-    return x;
-  }
-
-  template <class TreeNode, class Compare, class ExternalData>
-  inline void update_heap(TreeNode x, const Compare& comp, ExternalData& edata) {
-    x = down_heap(x, comp, edata);
-    (void)up_heap(x, comp, edata);
-  }
-
-}
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/mutable_queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/mutable_queue.hpp
deleted file mode 100644
index 82cfdd8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/mutable_queue.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-//
-//=======================================================================
-// Copyright 1997, 1998, 1999, 2000 University of Notre Dame.
-// Authors: Andrew Lumsdaine, Lie-Quan Lee, Jeremy G. Siek
-//
-// Distributed under the 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_MUTABLE_QUEUE_HPP
-#define BOOST_MUTABLE_QUEUE_HPP
-
-#include <vector>
-#include <algorithm>
-#include <functional>
-#include <boost/property_map/property_map.hpp>
-#include <boost/pending/mutable_heap.hpp>
-#include <boost/pending/is_heap.hpp>
-#include <boost/graph/detail/array_binary_tree.hpp>
-#include <iterator>
-
-namespace boost {
-
-  // The mutable queue whose elements are indexed
-  //
-  // This adaptor provides a special kind of priority queue that has
-  // and update operation. This allows the ordering of the items to
-  // change. After the ordering criteria for item x changes, one must
-  // call the Q.update(x)
-  //
-  // In order to efficiently find x in the queue, a functor must be
-  // provided to map value_type to a unique ID, which the
-  // mutable_queue will then use to map to the location of the
-  // item. The ID's generated must be between 0 and N, where N is the
-  // value passed to the constructor of mutable_queue
-
-  template <class IndexedType,
-            class RandomAccessContainer = std::vector<IndexedType>,
-            class Comp = std::less<typename RandomAccessContainer::value_type>,
-            class ID = identity_property_map >
-  class mutable_queue {
-  public:
-    typedef IndexedType value_type;
-    typedef typename RandomAccessContainer::size_type size_type;
-  protected:
-    typedef typename RandomAccessContainer::iterator iterator;
-#if !defined BOOST_NO_STD_ITERATOR_TRAITS
-    typedef array_binary_tree_node<iterator, ID> Node;
-#else
-    typedef array_binary_tree_node<iterator, value_type, ID> Node;
-#endif
-    typedef compare_array_node<RandomAccessContainer,Comp> Compare;
-    typedef std::vector<size_type> IndexArray;
-  public:
-    typedef Compare value_compare;
-    typedef ID id_generator;
-
-    mutable_queue(size_type n, const Comp& x, const ID& _id)
-      : index_array(n), comp(x), id(_id) {
-      c.reserve(n);
-    }
-    template <class ForwardIterator>
-    mutable_queue(ForwardIterator first, ForwardIterator last,
-                  const Comp& x, const ID& _id)
-      : index_array(std::distance(first, last)), comp(x), id(_id)
-    {
-      while( first != last ) {
-        push(*first);
-        ++first;
-      }
-    }
-
-    bool empty() const { return c.empty(); }
-
-    void pop() {
-      value_type tmp = c.back();
-      c.back() = c.front();
-      c.front() = tmp;
-
-      size_type id_f = get(id, c.back());
-      size_type id_b = get(id, tmp);
-      size_type i = index_array[ id_b ];
-      index_array[ id_b ] = index_array[ id_f ];
-      index_array[ id_f ] = i;
-
-      c.pop_back();
-      Node node(c.begin(), c.end(), c.begin(), id);
-      down_heap(node, comp, index_array);
-    }
-    void push(const IndexedType& x) {
-      c.push_back(x);
-      /*set index-array*/
-      index_array[ get(id, x) ] = c.size()-1;
-      Node node(c.begin(), c.end(), c.end() - 1, id);
-      up_heap(node, comp, index_array);
-    }
-
-    void update(const IndexedType& x) {
-      size_type current_pos = index_array[ get(id, x) ];
-      c[current_pos] = x;
-
-      Node node(c.begin(), c.end(), c.begin()+current_pos, id);
-      update_heap(node, comp, index_array);
-    }
-
-    value_type& front() { return c.front(); }
-    value_type& top() { return c.front(); }
-
-    const value_type& front() const { return c.front(); }
-    const value_type& top() const { return c.front(); }
-
-    size_type size() const { return c.size(); }
-
-    void clear() { c.clear(); }
-
-#if 0
-        // dwa 2003/7/11 - I don't know what compiler is supposed to
-        // be able to compile this, but is_heap is not standard!!
-    bool test() {
-      return std::is_heap(c.begin(), c.end(), Comp());
-    }
-#endif
-
-   protected:
-    IndexArray index_array;
-    Compare comp;
-    RandomAccessContainer c;
-    ID id;
-  };
-
-
-}
-
-#endif // BOOST_MUTABLE_QUEUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/property.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/property.hpp
deleted file mode 100644
index e63a2d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/property.hpp
+++ /dev/null
@@ -1,270 +0,0 @@
-//  (C) Copyright Jeremy Siek 2004
-//  Distributed under the 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_PROPERTY_HPP
-#define BOOST_PROPERTY_HPP
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost {
-
-  struct no_property {};
-
-  template <class Tag, class T, class Base = no_property>
-  struct property {
-    typedef Base next_type;
-    typedef Tag tag_type;
-    typedef T value_type;
-    property(const T& v = T()) : m_value(v) { }
-    property(const T& v, const Base& b) : m_value(v), m_base(b) { }
-    // copy constructor and assignment operator will be generated by compiler
-
-    T m_value;
-    Base m_base;
-  };
-
-  // Kinds of properties
-  namespace graph_introspect_detail {
-    BOOST_MPL_HAS_XXX_TRAIT_DEF(kind)
-    template <typename T, bool Cond> struct get_kind {typedef void type;};
-    template <typename T> struct get_kind<T, true> {typedef typename T::kind type;};
-  }
-
-  // Having a default is to make this trait work for any type, not just valid
-  // properties, to work around VC++ <= 10 bugs related to SFINAE in
-  // compressed_sparse_row_graph's get functions and similar
-  template <class PropertyTag>
-  struct property_kind:
-    graph_introspect_detail::get_kind<PropertyTag, graph_introspect_detail::has_kind<PropertyTag>::value>
-  {};
-
-  // Some standard properties defined independently of Boost.Graph:
-  enum vertex_all_t {vertex_all};
-  enum edge_all_t {edge_all};
-  enum graph_all_t {graph_all};
-  enum vertex_bundle_t {vertex_bundle};
-  enum edge_bundle_t {edge_bundle};
-  enum graph_bundle_t {graph_bundle};
-
-  // Code to look up one property in a property list:
-  template <typename PList, typename PropName, typename Enable = void>
-  struct lookup_one_property_internal {BOOST_STATIC_CONSTANT(bool, found = false); typedef void type;};
-
-  // Special-case properties (vertex_all, edge_all, graph_all)
-#define BGL_ALL_PROP(tag) \
-  template <typename T> \
-  struct lookup_one_property_internal<T, tag> { \
-    BOOST_STATIC_CONSTANT(bool, found = true); \
-    typedef T type; \
-    static T& lookup(T& x, tag) {return x;} \
-    static const T& lookup(const T& x, tag) {return x;} \
-  }; \
-  template <typename Tag, typename T, typename Base> \
-  struct lookup_one_property_internal<property<Tag, T, Base>, tag> { /* Avoid ambiguity */ \
-    BOOST_STATIC_CONSTANT(bool, found = true); \
-    typedef property<Tag, T, Base> type; \
-    static type& lookup(type& x, tag) {return x;} \
-    static const type& lookup(const type& x, tag) {return x;} \
-  };
-
-  BGL_ALL_PROP(vertex_all_t)
-  BGL_ALL_PROP(edge_all_t)
-  BGL_ALL_PROP(graph_all_t)
-#undef BGL_ALL_PROP
-
-  // *_bundled; these need to be macros rather than inheritance to resolve ambiguities
-  #define BGL_DO_ONE_BUNDLE_TYPE(kind) \
-  template <typename T> \
-  struct lookup_one_property_internal<T, BOOST_JOIN(kind, _bundle_t)> { \
-    BOOST_STATIC_CONSTANT(bool, found = true); \
-    typedef T type; \
-    static T& lookup(T& x, BOOST_JOIN(kind, _bundle_t)) {return x;} \
-    static const T& lookup(const T& x, BOOST_JOIN(kind, _bundle_t)) {return x;} \
-  }; \
- \
-  template <typename Tag, typename T, typename Base> \
-  struct lookup_one_property_internal<property<Tag, T, Base>, BOOST_JOIN(kind, _bundle_t)>: lookup_one_property_internal<Base, BOOST_JOIN(kind, _bundle_t)> { \
-    private: \
-    typedef lookup_one_property_internal<Base, BOOST_JOIN(kind, _bundle_t)> base_type; \
-    public: \
-    template <typename BundleTag> \
-    static typename lazy_enable_if_c<(base_type::found && (is_same<BundleTag, BOOST_JOIN(kind, _bundle_t)>::value)), \
-                                     add_reference<typename base_type::type> >::type \
-    lookup(property<Tag, T, Base>& p, BundleTag) {return base_type::lookup(p.m_base, BOOST_JOIN(kind, _bundle_t)());} \
-    template <typename BundleTag> \
-    static typename lazy_enable_if_c<(base_type::found && (is_same<BundleTag, BOOST_JOIN(kind, _bundle_t)>::value)), \
-                                     add_reference<const typename base_type::type> >::type \
-    lookup(const property<Tag, T, Base>& p, BundleTag) {return base_type::lookup(p.m_base, BOOST_JOIN(kind, _bundle_t)());} \
-  }; \
-
-  BGL_DO_ONE_BUNDLE_TYPE(vertex)
-  BGL_DO_ONE_BUNDLE_TYPE(edge)
-  BGL_DO_ONE_BUNDLE_TYPE(graph)
-#undef BGL_DO_ONE_BUNDLE_TYPE
-
-  // Normal old-style properties; second case also handles chaining of bundled property accesses
-  template <typename Tag, typename T, typename Base>
-  struct lookup_one_property_internal<boost::property<Tag, T, Base>, Tag> {
-    BOOST_STATIC_CONSTANT(bool, found = true);
-    typedef property<Tag, T, Base> prop;
-    typedef T type;
-    template <typename U>
-    static typename enable_if<is_same<prop, U>, T&>::type
-    lookup(U& prop, const Tag&) {return prop.m_value;}
-    template <typename U>
-    static typename enable_if<is_same<prop, U>, const T&>::type
-    lookup(const U& prop, const Tag&) {return prop.m_value;}
-  };
-
-  template <typename Tag, typename T, typename Base, typename PropName>
-  struct lookup_one_property_internal<boost::property<Tag, T, Base>, PropName>: lookup_one_property_internal<Base, PropName> {
-    private:
-    typedef lookup_one_property_internal<Base, PropName> base_type;
-    public:
-    template <typename PL>
-    static typename lazy_enable_if<is_same<PL, boost::property<Tag, T, Base> >,
-                                   add_reference<typename base_type::type> >::type
-    lookup(PL& prop, const PropName& tag) {
-      return base_type::lookup(prop.m_base, tag);
-    }
-    template <typename PL>
-    static typename lazy_enable_if<is_same<PL, boost::property<Tag, T, Base> >,
-                                   add_reference<const typename base_type::type> >::type
-    lookup(const PL& prop, const PropName& tag) {
-      return base_type::lookup(prop.m_base, tag);
-    }
-  };
-
-  // Pointer-to-member access to bundled properties
-#ifndef BOOST_GRAPH_NO_BUNDLED_PROPERTIES
-  template <typename T, typename TMaybeBase, typename R>
-  struct lookup_one_property_internal<T, R TMaybeBase::*, typename enable_if<is_base_of<TMaybeBase, T> >::type> {
-    BOOST_STATIC_CONSTANT(bool, found = true);
-    typedef R type;
-    static R& lookup(T& x, R TMaybeBase::*ptr) {return x.*ptr;}
-    static const R& lookup(const T& x, R TMaybeBase::*ptr) {return x.*ptr;}
-  };
-#endif
-
-  // Version of above handling const property lists properly
-  template <typename T, typename Tag>
-  struct lookup_one_property: lookup_one_property_internal<T, Tag> {};
-
-  template <typename T, typename Tag>
-  struct lookup_one_property<const T, Tag> {
-    BOOST_STATIC_CONSTANT(bool, found = (lookup_one_property_internal<T, Tag>::found));
-    typedef const typename lookup_one_property_internal<T, Tag>::type type;
-    template <typename U>
-    static typename lazy_enable_if<is_same<T, U>,
-                                   add_reference<const typename lookup_one_property_internal<T, Tag>::type> >::type
-    lookup(const U& p, Tag tag) {
-      return lookup_one_property_internal<T, Tag>::lookup(p, tag);
-    }
-  };
-
-  // The BGL properties specialize property_kind and
-  // property_num, and use enum's for the Property type (see
-  // graph/properties.hpp), but the user may want to use a class
-  // instead with a nested kind type and num.  Also, we may want to
-  // switch BGL back to using class types for properties at some point.
-
-  template <class P>
-  struct has_property : boost::mpl::true_ {};
-  template <>
-  struct has_property<no_property> : boost::mpl::false_ {};
-
-} // namespace boost
-
-#include <boost/pending/detail/property.hpp>
-
-namespace boost {
-
-  template <class PropertyList, class Tag>
-  struct property_value: lookup_one_property<PropertyList, Tag> {};
-
-  template <class PropertyList, class Tag>
-  inline typename lookup_one_property<PropertyList, Tag>::type&
-  get_property_value(PropertyList& p, Tag tag) {
-    return lookup_one_property<PropertyList, Tag>::lookup(p, tag);
-  }
-
-  template <class PropertyList, class Tag>
-  inline const typename lookup_one_property<PropertyList, Tag>::type&
-  get_property_value(const PropertyList& p, Tag tag) {
-    return lookup_one_property<PropertyList, Tag>::lookup(p, tag);
-  }
-
- namespace detail {
-
-     /** This trait returns true if T is no_property. */
-    template <typename T>
-    struct is_no_property
-        : mpl::bool_<is_same<T, no_property>::value>
-    { };
-
-    template <typename PList, typename Tag>
-    class lookup_one_property_f;
-
-    template <typename PList, typename Tag, typename F> struct lookup_one_property_f_result;
-
-    template <typename PList, typename Tag>
-    struct lookup_one_property_f_result<PList, Tag, const lookup_one_property_f<PList, Tag>(PList)> {
-      typedef typename lookup_one_property<PList, Tag>::type type;
-    };
-
-    template <typename PList, typename Tag>
-    struct lookup_one_property_f_result<PList, Tag, const lookup_one_property_f<PList, Tag>(PList&)> {
-      typedef typename lookup_one_property<PList, Tag>::type& type;
-    };
-
-    template <typename PList, typename Tag>
-    struct lookup_one_property_f_result<PList, Tag, const lookup_one_property_f<PList, Tag>(const PList&)> {
-      typedef const typename lookup_one_property<PList, Tag>::type& type;
-    };
-
-    template <typename PList, typename Tag>
-    class lookup_one_property_f {
-      Tag tag;
-      public:
-      lookup_one_property_f(Tag tag): tag(tag) {}
-      template <typename F> struct result: lookup_one_property_f_result<PList, Tag, F> {};
-
-      typename lookup_one_property_f_result<PList, Tag, const lookup_one_property_f(PList&)>::type
-      operator()(PList& pl) const {
-        return lookup_one_property<PList, Tag>::lookup(pl, tag);
-      }
-    };
-
-} // namespace detail
-
-namespace detail {
-  // Stuff for directed_graph and undirected_graph to skip over their first
-  // vertex_index and edge_index properties when providing vertex_all and
-  // edge_all; make sure you know the exact structure of your properties if you
-  // use there.
-  struct remove_first_property {
-    template <typename F>
-    struct result {
-      typedef typename boost::function_traits<F>::arg1_type a1;
-      typedef typename boost::remove_reference<a1>::type non_ref;
-      typedef typename non_ref::next_type nx;
-      typedef typename boost::mpl::if_<boost::is_const<non_ref>, boost::add_const<nx>, nx>::type with_const;
-      typedef typename boost::add_reference<with_const>::type type;
-    };
-    template <typename Prop>
-    typename Prop::next_type& operator()(Prop& p) const {return p.m_base;}
-    template <typename Prop>
-    const typename Prop::next_type& operator()(const Prop& p) const {return p.m_base;}
-  };
-}
-
-} // namesapce boost
-
-#endif /* BOOST_PROPERTY_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/property_serialize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/property_serialize.hpp
deleted file mode 100644
index a3cf9f6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/property_serialize.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//  (C) Copyright Jeremy Siek 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_PROPERTY_SERIALIZE_HPP
-#define BOOST_PROPERTY_SERIALIZE_HPP
-
-#include <boost/pending/property.hpp>
-#ifdef BOOST_GRAPH_USE_MPI
-#include <boost/mpi/datatype.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#endif // BOOST_GRAPH_USE_MPI
-
-#include <boost/serialization/base_object.hpp>
-#include <boost/serialization/nvp.hpp>
-
-namespace boost {
-  template<class Archive>
-  inline void serialize(Archive&, no_property&, const unsigned int) { }
-
-  template<class Archive, class Tag, class T, class Base>
-  void 
-  serialize(Archive& ar, property<Tag, T, Base>& prop, 
-            const unsigned int /*version*/) 
-  {
-    ar & serialization::make_nvp( "property_value" , prop.m_value );
-    ar & serialization::make_nvp( "property_base" , prop.m_base );
-  }
-
-#ifdef BOOST_GRAPH_USE_MPI
-  namespace mpi {
-    template<typename Tag, typename T, typename Base>
-    struct is_mpi_datatype<property<Tag, T, Base> >
-      : mpl::and_<is_mpi_datatype<T>,
-                  is_mpi_datatype<Base> > { };
-  }
-
-  namespace serialization {
-    template<typename Tag, typename T, typename Base>
-    struct is_bitwise_serializable<property<Tag, T, Base> >
-      : mpl::and_<is_bitwise_serializable<T>,
-                  is_bitwise_serializable<Base> > { };
-
-  template<typename Tag, typename T, typename Base>
-  struct implementation_level<property<Tag, T, Base>  >
-   : mpl::int_<object_serializable> {} ;
-
-  template<typename Tag, typename T, typename Base>
-  struct tracking_level<property<Tag, T, Base>  >
-   : mpl::int_<track_never> {} ;
-
-  }
-#endif // BOOST_GRAPH_USE_MPI
-  
-} // end namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-namespace boost { namespace mpi {
-    template<>
-    struct is_mpi_datatype<boost::no_property> : mpl::true_ { };
-
-} } // end namespace boost::mpi
-
-BOOST_IS_BITWISE_SERIALIZABLE(boost::no_property)
-BOOST_CLASS_IMPLEMENTATION(boost::no_property,object_serializable)
-BOOST_CLASS_TRACKING(boost::no_property,track_never)
-#endif // BOOST_GRAPH_USE_MPI
-
-#endif // BOOST_PROPERTY_SERIALIZE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/queue.hpp
deleted file mode 100644
index f5f5b63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/queue.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//  (C) Copyright Jeremy Siek 2004 
-//  Distributed under the 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_QUEUE_HPP
-#define BOOST_QUEUE_HPP
-
-#include <deque>
-#include <algorithm>
-
-namespace boost {
-
-template <class _Tp, 
-          class _Sequence = std::deque<_Tp> >
-class queue;
-
-template <class _Tp, class _Seq>
-inline bool operator==(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&);
-
-template <class _Tp, class _Seq>
-inline bool operator<(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&);
-
-
-template <class _Tp, class _Sequence>
-class queue {
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-  template <class _Tp1, class _Seq1>
-  friend bool operator== (const queue<_Tp1, _Seq1>&,
-                          const queue<_Tp1, _Seq1>&);
-  template <class _Tp1, class _Seq1>
-  friend bool operator< (const queue<_Tp1, _Seq1>&,
-                         const queue<_Tp1, _Seq1>&);
-#endif
-public:
-  typedef typename _Sequence::value_type      value_type;
-  typedef typename _Sequence::size_type       size_type;
-  typedef          _Sequence                  container_type;
-
-  typedef typename _Sequence::reference       reference;
-  typedef typename _Sequence::const_reference const_reference;
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-protected:
-#endif
-  _Sequence c;
-public:
-  queue() : c() {}
-  explicit queue(const _Sequence& __c) : c(__c) {}
-
-  bool empty() const { return c.empty(); }
-  size_type size() const { return c.size(); }
-  reference front() { return c.front(); }
-  const_reference front() const { return c.front(); }
-  reference top() { return c.front(); }
-  const_reference top() const { return c.front(); }
-  reference back() { return c.back(); }
-  const_reference back() const { return c.back(); }
-  void push(const value_type& __x) { c.push_back(__x); }
-  void pop() { c.pop_front(); }
-
-  void swap(queue& other)
-  {
-    using std::swap;
-    swap(c, other.c);
-  }
-};
-
-template <class _Tp, class _Sequence>
-bool 
-operator==(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
-{
-  return __x.c == __y.c;
-}
-
-template <class _Tp, class _Sequence>
-bool
-operator<(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
-{
-  return __x.c < __y.c;
-}
-
-template <class _Tp, class _Sequence>
-bool
-operator!=(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
-{
-  return !(__x == __y);
-}
-
-template <class _Tp, class _Sequence>
-bool 
-operator>(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
-{
-  return __y < __x;
-}
-
-template <class _Tp, class _Sequence>
-bool 
-operator<=(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
-{
-  return !(__y < __x);
-}
-
-template <class _Tp, class _Sequence>
-bool 
-operator>=(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y)
-{
-  return !(__x < __y);
-}
-
-template <class _Tp, class _Sequence>
-inline void
-swap(queue<_Tp, _Sequence>& __x, queue<_Tp, _Sequence>& __y)
-{ __x.swap(__y); }
-
-} /* namespace boost */
-
-#endif /* BOOST_QUEUE_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/relaxed_heap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/relaxed_heap.hpp
deleted file mode 100644
index 1c80df6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/relaxed_heap.hpp
+++ /dev/null
@@ -1,647 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_RELAXED_HEAP_HEADER
-#define BOOST_RELAXED_HEAP_HEADER
-
-#include <functional>
-#include <boost/property_map/property_map.hpp>
-#include <boost/optional.hpp>
-#include <vector>
-#include <climits> // for CHAR_BIT
-#include <boost/none.hpp>
-
-#ifdef BOOST_RELAXED_HEAP_DEBUG
-#  include <iostream>
-#endif // BOOST_RELAXED_HEAP_DEBUG
-
-#if defined(BOOST_MSVC)
-#  pragma warning(push)
-#  pragma warning(disable:4355) // complaint about using 'this' to
-#endif                          // initialize a member
-
-namespace boost {
-
-template<typename IndexedType,
-         typename Compare = std::less<IndexedType>,
-         typename ID = identity_property_map>
-class relaxed_heap
-{
-  struct group;
-
-  typedef relaxed_heap self_type;
-  typedef std::size_t  rank_type;
-
-public:
-  typedef IndexedType  value_type;
-  typedef rank_type    size_type;
-
-private:
-  /**
-   * The kind of key that a group has. The actual values are discussed
-   * in-depth in the documentation of the @c kind field of the @c group
-   * structure. Note that the order of the enumerators *IS* important
-   * and must not be changed.
-   */
-  enum group_key_kind { smallest_key, stored_key, largest_key };
-
-  struct group {
-    explicit group(group_key_kind kind = largest_key)
-      : kind(kind), parent(this), rank(0) { }
-
-    /** The value associated with this group. This value is only valid
-     *  when @c kind!=largest_key (which indicates a deleted
-     *  element). Note that the use of boost::optional increases the
-     *  memory requirements slightly but does not result in extraneous
-     *  memory allocations or deallocations. The optional could be
-     *  eliminated when @c value_type is a model of
-     *  DefaultConstructible.
-     */
-    ::boost::optional<value_type> value;
-
-    /**
-     * The kind of key stored at this group. This may be @c
-     * smallest_key, which indicates that the key is infinitely small;
-     * @c largest_key, which indicates that the key is infinitely
-     * large; or @c stored_key, which means that the key is unknown,
-     * but its relationship to other keys can be determined via the
-     * comparison function object.
-     */
-    group_key_kind        kind;
-
-    /// The parent of this group. Will only be NULL for the dummy root group
-    group*                parent;
-
-    /// The rank of this group. Equivalent to the number of children in
-    /// the group.
-    rank_type            rank;
-
-    /** The children of this group. For the dummy root group, these are
-     * the roots. This is an array of length log n containing pointers
-     * to the child groups.
-     */
-    group**               children;
-  };
-
-  size_type log_base_2(size_type n) // log2 is a macro on some platforms
-  {
-    size_type leading_zeroes = 0;
-    do {
-      size_type next = n << 1;
-      if (n == (next >> 1)) {
-        ++leading_zeroes;
-        n = next;
-      } else {
-        break;
-      }
-    } while (true);
-    return sizeof(size_type) * CHAR_BIT - leading_zeroes - 1;
-  }
-
-public:
-  relaxed_heap(size_type n, const Compare& compare = Compare(),
-               const ID& id = ID())
-    : compare(compare), id(id), root(smallest_key), groups(n),
-      smallest_value(0)
-  {
-    if (n == 0) {
-      root.children = new group*[1];
-      return;
-    }
-
-    log_n = log_base_2(n);
-    if (log_n == 0) log_n = 1;
-    size_type g = n / log_n;
-    if (n % log_n > 0) ++g;
-    size_type log_g = log_base_2(g);
-    size_type r = log_g;
-
-    // Reserve an appropriate amount of space for data structures, so
-    // that we do not need to expand them.
-    index_to_group.resize(g);
-    A.resize(r + 1, 0);
-    root.rank = r + 1;
-    root.children = new group*[(log_g + 1) * (g + 1)];
-    for (rank_type i = 0; i < r+1; ++i) root.children[i] = 0;
-
-    // Build initial heap
-    size_type idx = 0;
-    while (idx < g) {
-      root.children[r] = &index_to_group[idx];
-      idx = build_tree(root, idx, r, log_g + 1);
-      if (idx != g)
-        r = static_cast<size_type>(log_base_2(g-idx));
-    }
-  }
-
-  ~relaxed_heap() { delete [] root.children; }
-
-  void push(const value_type& x)
-  {
-    groups[get(id, x)] = x;
-    update(x);
-  }
-
-  void update(const value_type& x)
-  {
-    group* a = &index_to_group[get(id, x) / log_n];
-    if (!a->value
-        || *a->value == x
-        || compare(x, *a->value)) {
-      if (a != smallest_value) smallest_value = 0;
-      a->kind = stored_key;
-      a->value = x;
-      promote(a);
-    }
-  }
-
-  void remove(const value_type& x)
-  {
-    group* a = &index_to_group[get(id, x) / log_n];
-    assert(groups[get(id, x)]);
-    a->value = x;
-    a->kind = smallest_key;
-    promote(a);
-    smallest_value = a;
-    pop();
-  }
-
-  value_type& top()
-  {
-    find_smallest();
-    assert(smallest_value->value != none);
-    return *smallest_value->value;
-  }
-
-  const value_type& top() const
-  {
-    find_smallest();
-    assert(smallest_value->value != none);
-    return *smallest_value->value;
-  }
-
-  bool empty() const
-  {
-    find_smallest();
-    return !smallest_value || (smallest_value->kind == largest_key);
-  }
-
-  bool contains(const value_type& x) const {
-    return static_cast<bool>(groups[get(id, x)]);
-  }
-
-
-  void pop()
-  {
-    // Fill in smallest_value. This is the group x.
-    find_smallest();
-    group* x = smallest_value;
-    smallest_value = 0;
-
-    // Make x a leaf, giving it the smallest value within its group
-    rank_type r = x->rank;
-    group* p = x->parent;
-    {
-      assert(x->value != none);
-
-      // Find x's group
-      size_type start = get(id, *x->value) - get(id, *x->value) % log_n;
-      size_type end = start + log_n;
-      if (end > groups.size()) end = groups.size();
-
-      // Remove the smallest value from the group, and find the new
-      // smallest value.
-      groups[get(id, *x->value)].reset();
-      x->value.reset();
-      x->kind = largest_key;
-      for (size_type i = start; i < end; ++i) {
-        if (groups[i] && (!x->value || compare(*groups[i], *x->value))) {
-          x->kind = stored_key;
-          x->value = groups[i];
-        }
-      }
-    }
-    x->rank = 0;
-
-    // Combine prior children of x with x
-    group* y = x;
-    for (size_type c = 0; c < r; ++c) {
-      group* child = x->children[c];
-      if (A[c] == child) A[c] = 0;
-      y = combine(y, child);
-    }
-
-    // If we got back something other than x, let y take x's place
-    if (y != x) {
-      y->parent = p;
-      p->children[r] = y;
-
-      assert(r == y->rank);
-      if (A[y->rank] == x)
-        A[y->rank] = do_compare(y, p)? y : 0;
-    }
-  }
-
-#ifdef BOOST_RELAXED_HEAP_DEBUG
-  /*************************************************************************
-   * Debugging support                                                     *
-   *************************************************************************/
-  void dump_tree() { dump_tree(std::cout); }
-  void dump_tree(std::ostream& out) { dump_tree(out, &root); }
-
-  void dump_tree(std::ostream& out, group* p, bool in_progress = false)
-  {
-    if (!in_progress) {
-      out << "digraph heap {\n"
-          << "  edge[dir=\"back\"];\n";
-    }
-
-    size_type p_index = 0;
-    if (p != &root) while (&index_to_group[p_index] != p) ++p_index;
-
-    for (size_type i = 0; i < p->rank; ++i) {
-      group* c = p->children[i];
-      if (c) {
-        size_type c_index = 0;
-        if (c != &root) while (&index_to_group[c_index] != c) ++c_index;
-
-        out << "  ";
-        if (p == &root) out << 'p'; else out << p_index;
-        out << " -> ";
-        if (c == &root) out << 'p'; else out << c_index;
-        if (A[c->rank] == c) out << " [style=\"dotted\"]";
-        out << ";\n";
-        dump_tree(out, c, true);
-
-        // Emit node information
-        out << "  ";
-        if (c == &root) out << 'p'; else out << c_index;
-        out << " [label=\"";
-        if (c == &root) out << 'p'; else out << c_index;
-        out << ":";
-        size_type start = c_index * log_n;
-        size_type end = start + log_n;
-        if (end > groups.size()) end = groups.size();
-        while (start != end) {
-          if (groups[start]) {
-            out << " " << get(id, *groups[start]);
-            if (*groups[start] == *c->value) out << "(*)";
-          }
-          ++start;
-        }
-        out << '"';
-
-        if (do_compare(c, p)) {
-          out << "  ";
-          if (c == &root) out << 'p'; else out << c_index;
-          out << ", style=\"filled\", fillcolor=\"gray\"";
-        }
-        out << "];\n";
-      } else {
-        assert(p->parent == p);
-      }
-    }
-    if (!in_progress) out << "}\n";
-  }
-
-  bool valid()
-  {
-    // Check that the ranks in the A array match the ranks of the
-    // groups stored there. Also, the active groups must be the last
-    // child of their parent.
-    for (size_type r = 0; r < A.size(); ++r) {
-      if (A[r] && A[r]->rank != r) return false;
-
-      if (A[r] && A[r]->parent->children[A[r]->parent->rank-1] != A[r])
-        return false;
-    }
-
-    // The root must have no value and a key of -Infinity
-    if (root.kind != smallest_key) return false;
-
-    return valid(&root);
-  }
-
-  bool valid(group* p)
-  {
-    for (size_type i = 0; i < p->rank; ++i) {
-      group* c = p->children[i];
-      if (c) {
-        // Check link structure
-        if (c->parent != p) return false;
-        if (c->rank != i) return false;
-
-        // A bad group must be active
-        if (do_compare(c, p) && A[i] != c) return false;
-
-        // Check recursively
-        if (!valid(c)) return false;
-      } else {
-        // Only the root may
-        if (p != &root) return false;
-      }
-    }
-    return true;
-  }
-
-#endif // BOOST_RELAXED_HEAP_DEBUG
-
-private:
-  size_type
-  build_tree(group& parent, size_type idx, size_type r, size_type max_rank)
-  {
-    group& this_group = index_to_group[idx];
-    this_group.parent = &parent;
-    ++idx;
-
-    this_group.children = root.children + (idx * max_rank);
-    this_group.rank = r;
-    for (size_type i = 0; i < r; ++i) {
-      this_group.children[i] = &index_to_group[idx];
-      idx = build_tree(this_group, idx, i, max_rank);
-    }
-    return idx;
-  }
-
-  void find_smallest() const
-  {
-    group** roots = root.children;
-
-    if (!smallest_value) {
-      std::size_t i;
-      for (i = 0; i < root.rank; ++i) {
-        if (roots[i] &&
-            (!smallest_value || do_compare(roots[i], smallest_value))) {
-          smallest_value = roots[i];
-        }
-      }
-      for (i = 0; i < A.size(); ++i) {
-        if (A[i] && (!smallest_value || do_compare(A[i], smallest_value)))
-          smallest_value = A[i];
-      }
-    }
-  }
-
-  bool do_compare(group* x, group* y) const
-  {
-    return (x->kind < y->kind
-            || (x->kind == y->kind
-                && x->kind == stored_key
-                && compare(*x->value, *y->value)));
-  }
-
-  void promote(group* a)
-  {
-    assert(a != 0);
-    rank_type r = a->rank;
-    group* p = a->parent;
-    assert(p != 0);
-    if (do_compare(a, p)) {
-      // s is the rank + 1 sibling
-      group* s = p->rank > r + 1? p->children[r + 1] : 0;
-
-      // If a is the last child of p
-      if (r == p->rank - 1) {
-        if (!A[r]) A[r] = a;
-        else if (A[r] != a) pair_transform(a);
-      } else {
-        assert(s != 0);
-        if (A[r + 1] == s) active_sibling_transform(a, s);
-        else good_sibling_transform(a, s);
-      }
-    }
-  }
-
-  group* combine(group* a1, group* a2)
-  {
-    assert(a1->rank == a2->rank);
-    if (do_compare(a2, a1)) do_swap(a1, a2);
-    a1->children[a1->rank++] = a2;
-    a2->parent = a1;
-    clean(a1);
-    return a1;
-  }
-
-  void clean(group* q)
-  {
-    if (2 > q->rank) return;
-    group* qp = q->children[q->rank-1];
-    rank_type s = q->rank - 2;
-    group* x = q->children[s];
-    group* xp = qp->children[s];
-    assert(s == x->rank);
-
-    // If x is active, swap x and xp
-    if (A[s] == x) {
-      q->children[s] = xp;
-      xp->parent = q;
-      qp->children[s] = x;
-      x->parent = qp;
-    }
-  }
-
-  void pair_transform(group* a)
-  {
-#if defined(BOOST_RELAXED_HEAP_DEBUG) && BOOST_RELAXED_HEAP_DEBUG > 1
-    std::cerr << "- pair transform\n";
-#endif
-    rank_type r = a->rank;
-
-    // p is a's parent
-    group* p = a->parent;
-    assert(p != 0);
-
-    // g is p's parent (a's grandparent)
-    group* g = p->parent;
-    assert(g != 0);
-
-    // a' <- A(r)
-    assert(A[r] != 0);
-    group* ap = A[r];
-    assert(ap != 0);
-
-    // A(r) <- nil
-    A[r] = 0;
-
-    // let a' have parent p'
-    group* pp = ap->parent;
-    assert(pp != 0);
-
-    // let a' have grandparent g'
-    group* gp = pp->parent;
-    assert(gp != 0);
-
-    // Remove a and a' from their parents
-    assert(ap == pp->children[pp->rank-1]); // Guaranteed because ap is active
-    --pp->rank;
-
-    // Guaranteed by caller
-    assert(a == p->children[p->rank-1]);
-    --p->rank;
-
-    // Note: a, ap, p, pp all have rank r
-    if (do_compare(pp, p)) {
-      do_swap(a, ap);
-      do_swap(p, pp);
-      do_swap(g, gp);
-    }
-
-    // Assuming k(p) <= k(p')
-    // make p' the rank r child of p
-    assert(r == p->rank);
-    p->children[p->rank++] = pp;
-    pp->parent = p;
-
-    // Combine a, ap into a rank r+1 group c
-    group* c = combine(a, ap);
-
-    // make c the rank r+1 child of g'
-    assert(gp->rank > r+1);
-    gp->children[r+1] = c;
-    c->parent = gp;
-
-#if defined(BOOST_RELAXED_HEAP_DEBUG) && BOOST_RELAXED_HEAP_DEBUG > 1
-    std::cerr << "After pair transform...\n";
-    dump_tree();
-#endif
-
-    if (A[r+1] == pp) A[r+1] = c;
-    else promote(c);
-  }
-
-  void active_sibling_transform(group* a, group* s)
-  {
-#if defined(BOOST_RELAXED_HEAP_DEBUG) && BOOST_RELAXED_HEAP_DEBUG > 1
-    std::cerr << "- active sibling transform\n";
-#endif
-    group* p = a->parent;
-    group* g = p->parent;
-
-    // remove a, s from their parents
-    assert(s->parent == p);
-    assert(p->children[p->rank-1] == s);
-    --p->rank;
-    assert(p->children[p->rank-1] == a);
-    --p->rank;
-
-    rank_type r = a->rank;
-    A[r+1] = 0;
-    a = combine(p, a);
-    group* c = combine(a, s);
-
-    // make c the rank r+2 child of g
-    assert(g->children[r+2] == p);
-    g->children[r+2] = c;
-    c->parent = g;
-    if (A[r+2] == p) A[r+2] = c;
-    else promote(c);
-  }
-
-  void good_sibling_transform(group* a, group* s)
-  {
-#if defined(BOOST_RELAXED_HEAP_DEBUG) && BOOST_RELAXED_HEAP_DEBUG > 1
-    std::cerr << "- good sibling transform\n";
-#endif
-    rank_type r = a->rank;
-    group* c = s->children[s->rank-1];
-    assert(c->rank == r);
-    if (A[r] == c) {
-#if defined(BOOST_RELAXED_HEAP_DEBUG) && BOOST_RELAXED_HEAP_DEBUG > 1
-      std::cerr << "- good sibling pair transform\n";
-#endif
-      A[r] = 0;
-      group* p = a->parent;
-
-      // Remove c from its parent
-      --s->rank;
-
-      // Make s the rank r child of p
-      s->parent = p;
-      p->children[r] = s;
-
-      // combine a, c and let the result by the rank r+1 child of p
-      assert(p->rank > r+1);
-      group* x = combine(a, c);
-      x->parent = p;
-      p->children[r+1] = x;
-
-      if (A[r+1] == s) A[r+1] = x;
-      else promote(x);
-
-#if defined(BOOST_RELAXED_HEAP_DEBUG) && BOOST_RELAXED_HEAP_DEBUG > 1
-      dump_tree(std::cerr);
-#endif
-      //      pair_transform(a);
-    } else {
-      // Clean operation
-      group* p = a->parent;
-      s->children[r] = a;
-      a->parent = s;
-      p->children[r] = c;
-      c->parent = p;
-
-      promote(a);
-    }
-  }
-
-  static void do_swap(group*& x, group*& y)
-  {
-    group* tmp = x;
-    x = y;
-    y = tmp;
-  }
-
-  /// Function object that compares two values in the heap
-  Compare compare;
-
-  /// Mapping from values to indices in the range [0, n).
-  ID id;
-
-  /** The root group of the queue. This group is special because it will
-   *  never store a value, but it acts as a parent to all of the
-   *  roots. Thus, its list of children is the list of roots.
-   */
-  group root;
-
-  /** Mapping from the group index of a value to the group associated
-   *  with that value. If a value is not in the queue, then the "value"
-   *  field will be empty.
-   */
-  std::vector<group> index_to_group;
-
-  /** Flat data structure containing the values in each of the
-   *  groups. It will be indexed via the id of the values. The groups
-   *  are each log_n long, with the last group potentially being
-   *  smaller.
-   */
-  std::vector< ::boost::optional<value_type> > groups;
-
-  /** The list of active groups, indexed by rank. When A[r] is null,
-   *  there is no active group of rank r. Otherwise, A[r] is the active
-   *  group of rank r.
-   */
-  std::vector<group*> A;
-
-  /** The group containing the smallest value in the queue, which must
-   *  be either a root or an active group. If this group is null, then we
-   *  will need to search for this group when it is needed.
-   */
-  mutable group* smallest_value;
-
-  /// Cached value log_base_2(n)
-  size_type log_n;
-};
-
-
-} // end namespace boost
-
-#if defined(BOOST_MSVC)
-#  pragma warning(pop)
-#endif
-
-#endif // BOOST_RELAXED_HEAP_HEADER
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pending/stringtok.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pending/stringtok.hpp
deleted file mode 100644
index 3b8e5e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pending/stringtok.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//  (C) Copyright Jeremy Siek 2004 
-//  Distributed under the 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_STRINGTOK_HPP
-#define BOOST_STRINGTOK_HPP
-
-/*
- * stringtok.hpp -- Breaks a string into tokens.  This is an example for lib3.
- *
- * Template function looks like this:
- *
- *    template <typename Container>
- *    void stringtok (Container &l,
- *                    string const &s,
- *                    char const * const ws = " \t\n");
- *
- * A nondestructive version of strtok() that handles its own memory and can
- * be broken up by any character(s).  Does all the work at once rather than
- * in an invocation loop like strtok() requires.
- *
- * Container is any type that supports push_back(a_string), although using
- * list<string> and deque<string> are indicated due to their O(1) push_back.
- * (I prefer deque<> because op[]/at() is available as well.)  The first
- * parameter references an existing Container.
- *
- * s is the string to be tokenized.  From the parameter declaration, it can
- * be seen that s is not affected.  Since references-to-const may refer to
- * temporaries, you could use stringtok(some_container, readline("")) when
- * using the GNU readline library.
- *
- * The final parameter is an array of characters that serve as whitespace.
- * Whitespace characters default to one or more of tab, space, and newline,
- * in any combination.
- *
- * 'l' need not be empty on entry.  On return, 'l' will have the token
- * strings appended.
- *
- *
- * [Example:
- *       list<string>       ls;
- *       stringtok (ls, " this  \t is\t\n  a test  ");
- *       for (list<string>::const_iterator i = ls.begin();
- *            i != ls.end(); ++i)
- *       {
- *            cerr << ':' << (*i) << ":\n";
- *       }
- *
- *  would print
- *       :this:
- *       :is:
- *       :a:
- *       :test:
- * -end example]
- *
- * pedwards at jaj.com  May 1999
-*/
-
-
-#include <string>
-#include <cstring>    // for strchr
-
-
-/*****************************************************************
- * This is the only part of the implementation that I don't like.
- * It can probably be improved upon by the reader...
-*/
-
-    inline bool
-    isws (char c, char const * const wstr)
-    {
-        using namespace std;
-        return (strchr(wstr,c) != NULL);
-    }
-
-
-namespace boost {
-
-/*****************************************************************
- * Simplistic and quite Standard, but a bit slow.  This should be
- * templatized on basic_string instead, or on a more generic StringT
- * that just happens to support ::size_type, .substr(), and so on.
- * I had hoped that "whitespace" would be a trait, but it isn't, so
- * the user must supply it.  Enh, this lets them break up strings on
- * different things easier than traits would anyhow.
-*/
-template <typename Container>
-void
-stringtok (Container &l, std::string const &s, char const * const ws = " \t\n")
-{
-  typedef std::string::size_type size_type;
-    const size_type  S = s.size();
-          size_type  i = 0;
-
-    while (i < S) {
-        // eat leading whitespace
-        while ((i < S) && (isws(s[i],ws)))  ++i;
-        if (i == S)  return;  // nothing left but WS
-
-        // find end of word
-        size_type  j = i+1;
-        while ((j < S) && (!isws(s[j],ws)))  ++j;
-
-        // add word
-        l.push_back(s.substr(i,j-i));
-
-        // set up for next loop
-        i = j+1;
-    }
-}
-
-
-} // namespace boost
-
-#endif // BOOST_STRINGTOK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/phoenix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/phoenix.hpp
deleted file mode 100644
index 189460d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/phoenix.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*==============================================================================
-    Copyright (c) 2005-2010 Joel de Guzman
-    Copyright (c) 2010-2011 Thomas Heller
-
-    Distributed under the 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_PHOENIX_HPP
-
-#include <boost/phoenix/phoenix.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pointee.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pointee.hpp
deleted file mode 100644
index 0f561b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/pointer_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pointer_cast.hpp
deleted file mode 100644
index 6e532eb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/pointer_cast.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 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)
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_POINTER_CAST_HPP
-#define BOOST_POINTER_CAST_HPP
-
-namespace boost { 
-
-//static_pointer_cast overload for raw pointers
-template<class T, class U>
-inline T* static_pointer_cast(U *ptr)
-{  
-   return static_cast<T*>(ptr);
-}
-
-//dynamic_pointer_cast overload for raw pointers
-template<class T, class U>
-inline T* dynamic_pointer_cast(U *ptr)
-{  
-   return dynamic_cast<T*>(ptr);
-}
-
-//const_pointer_cast overload for raw pointers
-template<class T, class U>
-inline T* const_pointer_cast(U *ptr)
-{  
-   return const_cast<T*>(ptr);
-}
-
-//reinterpret_pointer_cast overload for raw pointers
-template<class T, class U>
-inline T* reinterpret_pointer_cast(U *ptr)
-{  
-   return reinterpret_cast<T*>(ptr);
-}
-
-} // namespace boost
-
-#endif   //BOOST_POINTER_CAST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/pointer_to_other.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/pointer_to_other.hpp
deleted file mode 100644
index 8516734..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/polymorphic_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/polymorphic_cast.hpp
deleted file mode 100644
index 70afa6b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/polymorphic_cast.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-//  boost polymorphic_cast.hpp header file  ----------------------------------------------//
-
-//  (C) Copyright Kevlin Henney and Dave Abrahams 1999.
-//  (C) Copyright Boris Rasin 2014.
-//  Distributed under the Boost
-//  Software License, Version 1.0. (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
-//  10 Nov 14  polymorphic_pointer_downcast moved to a separate header,
-//             minor improvements to stisfy latest Boost coding style
-//  08 Nov 14  Add polymorphic_pointer_downcast (Boris Rasin)
-//  09 Jun 14  "cast.hpp" was renamed to "polymorphic_cast.hpp" and
-//             inclusion of numeric_cast was removed (Antony Polukhin)
-//  23 Jun 05  numeric_cast removed and redirected to the new verion (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_POLYMORPHIC_CAST_HPP
-#define BOOST_POLYMORPHIC_CAST_HPP
-
-# include <boost/config.hpp>
-# include <boost/assert.hpp>
-# include <boost/throw_exception.hpp>
-# include <typeinfo>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#   pragma once
-#endif
-
-namespace boost
-{
-//  See the documentation for descriptions of how to choose between
-//  static_cast<>, dynamic_cast<>, polymorphic_cast<> and polymorphic_downcast<>
-
-//  polymorphic_cast  --------------------------------------------------------//
-
-    //  Runtime checked polymorphic downcasts and crosscasts.
-    //  Suggested in The C++ Programming Language, 3rd Ed, Bjarne Stroustrup,
-    //  section 15.8 exercise 1, page 425.
-
-    template <class Target, class Source>
-    inline Target polymorphic_cast(Source* x)
-    {
-        Target tmp = dynamic_cast<Target>(x);
-        if ( tmp == 0 ) boost::throw_exception( std::bad_cast() );
-        return tmp;
-    }
-
-//  polymorphic_downcast  ----------------------------------------------------//
-
-    //  BOOST_ASSERT() checked polymorphic downcast.  Crosscasts prohibited.
-
-    //  WARNING: Because this cast uses BOOST_ASSERT(), it violates
-    //  the One Definition Rule if used in multiple translation units
-    //  where BOOST_DISABLE_ASSERTS, BOOST_ENABLE_ASSERT_HANDLER
-    //  NDEBUG are defined inconsistently.
-
-    //  Contributed by Dave Abrahams
-
-    template <class Target, class Source>
-    inline Target polymorphic_downcast(Source* x)
-    {
-        BOOST_ASSERT( dynamic_cast<Target>(x) == x );  // detect logic error
-        return static_cast<Target>(x);
-    }
-
-} // namespace boost
-
-#endif  // BOOST_POLYMORPHIC_CAST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/polymorphic_pointer_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/polymorphic_pointer_cast.hpp
deleted file mode 100644
index 9c8b5ca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/polymorphic_pointer_cast.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//  boost polymorphic_pointer_cast.hpp header file  ----------------------------------------------//
-//  (C) Copyright Boris Rasin and Antony Polukhin 2014-2015.
-//  Distributed under the Boost
-//  Software License, Version 1.0. (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.
-
-#ifndef BOOST_CONVERSION_POLYMORPHIC_POINTER_CAST_HPP
-#define BOOST_CONVERSION_POLYMORPHIC_POINTER_CAST_HPP
-
-# include <boost/config.hpp>
-# include <boost/assert.hpp>
-# include <boost/pointer_cast.hpp>
-# include <boost/throw_exception.hpp>
-# include <boost/utility/declval.hpp>
-# ifdef BOOST_NO_CXX11_DECLTYPE
-#   include <boost/typeof/typeof.hpp>
-# endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#   pragma once
-#endif
-
-namespace boost
-{
-//  See the documentation for descriptions of how to choose between
-//  static_pointer_cast<>, dynamic_pointer_cast<>, polymorphic_pointer_cast<> and polymorphic_pointer_downcast<>
-
-//  polymorphic_pointer_downcast  --------------------------------------------//
-
-    //  BOOST_ASSERT() checked polymorphic downcast.  Crosscasts prohibited.
-    //  Supports any type with static_pointer_cast/dynamic_pointer_cast functions:
-    //  built-in pointers, std::shared_ptr, boost::shared_ptr, boost::intrusive_ptr, etc.
-
-    //  WARNING: Because this cast uses BOOST_ASSERT(), it violates
-    //  the One Definition Rule if used in multiple translation units
-    //  where BOOST_DISABLE_ASSERTS, BOOST_ENABLE_ASSERT_HANDLER
-    //  NDEBUG are defined inconsistently.
-
-    //  Contributed by Boris Rasin
-
-    namespace detail
-    {
-        template <typename Target, typename Source>
-        struct dynamic_pointer_cast_result
-        {
-#ifdef BOOST_NO_CXX11_DECLTYPE
-            BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, dynamic_pointer_cast<Target>(boost::declval<Source>()))
-            typedef typename nested::type type;
-#else
-            typedef decltype(dynamic_pointer_cast<Target>(boost::declval<Source>())) type;
-#endif
-        };
-    }
-
-    template <typename Target, typename Source>
-    inline typename detail::dynamic_pointer_cast_result<Target, Source>::type
-    polymorphic_pointer_downcast (const Source& x)
-    {
-        BOOST_ASSERT(dynamic_pointer_cast<Target> (x) == x);
-        return static_pointer_cast<Target> (x);
-    }
-
-    template <typename Target, typename Source>
-    inline typename detail::dynamic_pointer_cast_result<Target, Source>::type
-    polymorphic_pointer_cast (const Source& x)
-    {
-        typename detail::dynamic_pointer_cast_result<Target, Source>::type tmp
-            = dynamic_pointer_cast<Target> (x);
-        if ( !tmp ) boost::throw_exception( std::bad_cast() );
-
-        return tmp;
-    }
-
-} // namespace boost
-
-#endif  // BOOST_CONVERSION_POLYMORPHIC_POINTER_CAST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef.h
deleted file mode 100644
index 4965337..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_H
-#define BOOST_PREDEF_H
-#endif
-
-#include <boost/predef/language.h>
-#include <boost/predef/architecture.h>
-#include <boost/predef/compiler.h>
-#include <boost/predef/library.h>
-#include <boost/predef/os.h>
-#include <boost/predef/other.h>
-#include <boost/predef/platform.h>
-#include <boost/predef/hardware.h>
-
-#include <boost/predef/version.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture.h
deleted file mode 100644
index c433d43..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_ARCHITECTURE_H
-#define BOOST_PREDEF_ARCHITECTURE_H
-#endif
-
-#include <boost/predef/architecture/alpha.h>
-#include <boost/predef/architecture/arm.h>
-#include <boost/predef/architecture/blackfin.h>
-#include <boost/predef/architecture/convex.h>
-#include <boost/predef/architecture/ia64.h>
-#include <boost/predef/architecture/m68k.h>
-#include <boost/predef/architecture/mips.h>
-#include <boost/predef/architecture/parisc.h>
-#include <boost/predef/architecture/ppc.h>
-#include <boost/predef/architecture/pyramid.h>
-#include <boost/predef/architecture/rs6k.h>
-#include <boost/predef/architecture/sparc.h>
-#include <boost/predef/architecture/superh.h>
-#include <boost/predef/architecture/sys370.h>
-#include <boost/predef/architecture/sys390.h>
-#include <boost/predef/architecture/x86.h>
-#include <boost/predef/architecture/z.h>
-/*#include <boost/predef/architecture/.h>*/
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/alpha.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/alpha.h
deleted file mode 100644
index 5bcade1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/alpha.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_ALPHA_H
-#define BOOST_PREDEF_ARCHITECTURE_ALPHA_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_ALPHA`]
-
-[@http://en.wikipedia.org/wiki/DEC_Alpha DEC Alpha] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-    [[`__alpha__`] [__predef_detection__]]
-    [[`__alpha`] [__predef_detection__]]
-    [[`_M_ALPHA`] [__predef_detection__]]
-
-    [[`__alpha_ev4__`] [4.0.0]]
-    [[`__alpha_ev5__`] [5.0.0]]
-    [[`__alpha_ev6__`] [6.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__alpha__) || defined(__alpha) || \
-    defined(_M_ALPHA)
-#   undef BOOST_ARCH_ALPHA
-#   if !defined(BOOST_ARCH_ALPHA) && defined(__alpha_ev4__)
-#       define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ALPHA) && defined(__alpha_ev5__)
-#       define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(5,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ALPHA) && defined(__alpha_ev6__)
-#       define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(6,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ALPHA)
-#       define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_ALPHA
-#   define BOOST_ARCH_ALPHA_AVAILABLE
-#endif
-
-#define BOOST_ARCH_ALPHA_NAME "DEC Alpha"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ALPHA,BOOST_ARCH_ALPHA_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/arm.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/arm.h
deleted file mode 100644
index b200c62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/arm.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Copyright Franz Detro 2014
-Copyright (c) Microsoft Corporation 2014
-Distributed under the 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_PREDEF_ARCHITECTURE_ARM_H
-#define BOOST_PREDEF_ARCHITECTURE_ARM_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_ARM`]
-
-[@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__arm__`] [__predef_detection__]]
-    [[`__arm64`] [__predef_detection__]]
-    [[`__thumb__`] [__predef_detection__]]
-    [[`__TARGET_ARCH_ARM`] [__predef_detection__]]
-    [[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
-    [[`_M_ARM`] [__predef_detection__]]
-
-    [[`__arm64`] [8.0.0]]
-    [[`__TARGET_ARCH_ARM`] [V.0.0]]
-    [[`__TARGET_ARCH_THUMB`] [V.0.0]]
-    [[`_M_ARM`] [V.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
-    defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \
-    defined(_M_ARM)
-#   undef BOOST_ARCH_ARM
-#   if !defined(BOOST_ARCH_ARM) && defined(__arm64)
-#       define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
-#       define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
-#       define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ARM) && defined(_M_ARM)
-#       define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_ARM)
-#       define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_ARM
-#   define BOOST_ARCH_ARM_AVAILABLE
-#endif
-
-#define BOOST_ARCH_ARM_NAME "ARM"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ARM,BOOST_ARCH_ARM_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/blackfin.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/blackfin.h
deleted file mode 100644
index 84c58a2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/blackfin.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Rene Rivera 2013-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_BLACKFIN_H
-#define BOOST_PREDEF_ARCHITECTURE_BLACKFIN_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_BLACKFIN`]
-
-Blackfin Processors from Analog Devices.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__bfin__`] [__predef_detection__]]
-    [[`__BFIN__`] [__predef_detection__]]
-    [[`bfin`] [__predef_detection__]]
-    [[`BFIN`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__bfin__) || defined(__BFIN__) || \
-    defined(bfin) || defined(BFIN)
-#   undef BOOST_ARCH_BLACKFIN
-#   define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_BLACKFIN
-#   define BOOST_ARCH_BLACKFIN_AVAILABLE
-#endif
-
-#define BOOST_ARCH_BLACKFIN_NAME "Blackfin"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_BLACKFIN,BOOST_ARCH_BLACKFIN_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/convex.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/convex.h
deleted file mode 100644
index ac783a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/convex.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_CONVEX_H
-#define BOOST_PREDEF_ARCHITECTURE_CONVEX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_CONVEX`]
-
-[@http://en.wikipedia.org/wiki/Convex_Computer Convex Computer] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__convex__`] [__predef_detection__]]
-
-    [[`__convex_c1__`] [1.0.0]]
-    [[`__convex_c2__`] [2.0.0]]
-    [[`__convex_c32__`] [3.2.0]]
-    [[`__convex_c34__`] [3.4.0]]
-    [[`__convex_c38__`] [3.8.0]]
-    ]
- */
-
-#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__convex__)
-#   undef BOOST_ARCH_CONVEX
-#   if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c1__)
-#       define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(1,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c2__)
-#       define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(2,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c32__)
-#       define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,2,0)
-#   endif
-#   if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c34__)
-#       define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,4,0)
-#   endif
-#   if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c38__)
-#       define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,8,0)
-#   endif
-#   if !defined(BOOST_ARCH_CONVEX)
-#       define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_CONVEX
-#   define BOOST_ARCH_CONVEX_AVAILABLE
-#endif
-
-#define BOOST_ARCH_CONVEX_NAME "Convex Computer"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_CONVEX,BOOST_ARCH_CONVEX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/ia64.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/ia64.h
deleted file mode 100644
index 9b1972b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/ia64.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_IA64_H
-#define BOOST_PREDEF_ARCHITECTURE_IA64_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_IA64`]
-
-[@http://en.wikipedia.org/wiki/Ia64 Intel Itanium 64] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__ia64__`] [__predef_detection__]]
-    [[`_IA64`] [__predef_detection__]]
-    [[`__IA64__`] [__predef_detection__]]
-    [[`__ia64`] [__predef_detection__]]
-    [[`_M_IA64`] [__predef_detection__]]
-    [[`__itanium__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__ia64__) || defined(_IA64) || \
-    defined(__IA64__) || defined(__ia64) || \
-    defined(_M_IA64) || defined(__itanium__)
-#   undef BOOST_ARCH_IA64
-#   define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_IA64
-#   define BOOST_ARCH_IA64_AVAILABLE
-#endif
-
-#define BOOST_ARCH_IA64_NAME "Intel Itanium 64"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_IA64,BOOST_ARCH_IA64_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/m68k.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/m68k.h
deleted file mode 100644
index 63ed5f8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/m68k.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_M68K_H
-#define BOOST_PREDEF_ARCHITECTURE_M68K_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_M68K`]
-
-[@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__m68k__`] [__predef_detection__]]
-    [[`M68000`] [__predef_detection__]]
-
-    [[`__mc68060__`] [6.0.0]]
-    [[`mc68060`] [6.0.0]]
-    [[`__mc68060`] [6.0.0]]
-    [[`__mc68040__`] [4.0.0]]
-    [[`mc68040`] [4.0.0]]
-    [[`__mc68040`] [4.0.0]]
-    [[`__mc68030__`] [3.0.0]]
-    [[`mc68030`] [3.0.0]]
-    [[`__mc68030`] [3.0.0]]
-    [[`__mc68020__`] [2.0.0]]
-    [[`mc68020`] [2.0.0]]
-    [[`__mc68020`] [2.0.0]]
-    [[`__mc68010__`] [1.0.0]]
-    [[`mc68010`] [1.0.0]]
-    [[`__mc68010`] [1.0.0]]
-    [[`__mc68000__`] [0.0.1]]
-    [[`mc68000`] [0.0.1]]
-    [[`__mc68000`] [0.0.1]]
-    ]
- */
-
-#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__m68k__) || defined(M68000)
-#   undef BOOST_ARCH_M68K
-#   if !defined(BOOST_ARCH_M68K) && (defined(__mc68060__) || defined(mc68060) || defined(__mc68060))
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(6,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_M68K) && (defined(__mc68040__) || defined(mc68040) || defined(__mc68040))
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_M68K) && (defined(__mc68030__) || defined(mc68030) || defined(__mc68030))
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(3,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_M68K) && (defined(__mc68020__) || defined(mc68020) || defined(__mc68020))
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(2,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_M68K) && (defined(__mc68010__) || defined(mc68010) || defined(__mc68010))
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(1,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_M68K) && (defined(__mc68000__) || defined(mc68000) || defined(__mc68000))
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#   if !defined(BOOST_ARCH_M68K)
-#       define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_M68K
-#   define BOOST_ARCH_M68K_AVAILABLE
-#endif
-
-#define BOOST_ARCH_M68K_NAME "Motorola 68k"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_M68K,BOOST_ARCH_M68K_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/mips.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/mips.h
deleted file mode 100644
index 0189d7d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/mips.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_MIPS_H
-#define BOOST_PREDEF_ARCHITECTURE_MIPS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_MIPS`]
-
-[@http://en.wikipedia.org/wiki/MIPS_architecture MIPS] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__mips__`] [__predef_detection__]]
-    [[`__mips`] [__predef_detection__]]
-    [[`__MIPS__`] [__predef_detection__]]
-
-    [[`__mips`] [V.0.0]]
-    [[`_MIPS_ISA_MIPS1`] [1.0.0]]
-    [[`_R3000`] [1.0.0]]
-    [[`_MIPS_ISA_MIPS2`] [2.0.0]]
-    [[`__MIPS_ISA2__`] [2.0.0]]
-    [[`_R4000`] [2.0.0]]
-    [[`_MIPS_ISA_MIPS3`] [3.0.0]]
-    [[`__MIPS_ISA3__`] [3.0.0]]
-    [[`_MIPS_ISA_MIPS4`] [4.0.0]]
-    [[`__MIPS_ISA4__`] [4.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__mips__) || defined(__mips) || \
-    defined(__MIPS__)
-#   undef BOOST_ARCH_MIPS
-#   if !defined(BOOST_ARCH_MIPS) && (defined(__mips))
-#       define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(__mips,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS1) || defined(_R3000))
-#       define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(1,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS2) || defined(__MIPS_ISA2__) || defined(_R4000))
-#       define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(2,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS3) || defined(__MIPS_ISA3__))
-#       define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(3,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS4) || defined(__MIPS_ISA4__))
-#       define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_MIPS)
-#       define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_MIPS
-#   define BOOST_ARCH_MIPS_AVAILABLE
-#endif
-
-#define BOOST_ARCH_MIPS_NAME "MIPS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_MIPS,BOOST_ARCH_MIPS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/parisc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/parisc.h
deleted file mode 100644
index 7c7625f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/parisc.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_PARISC_H
-#define BOOST_PREDEF_ARCHITECTURE_PARISC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_PARISK`]
-
-[@http://en.wikipedia.org/wiki/PA-RISC_family HP/PA RISC] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__hppa__`] [__predef_detection__]]
-    [[`__hppa`] [__predef_detection__]]
-    [[`__HPPA__`] [__predef_detection__]]
-
-    [[`_PA_RISC1_0`] [1.0.0]]
-    [[`_PA_RISC1_1`] [1.1.0]]
-    [[`__HPPA11__`] [1.1.0]]
-    [[`__PA7100__`] [1.1.0]]
-    [[`_PA_RISC2_0`] [2.0.0]]
-    [[`__RISC2_0__`] [2.0.0]]
-    [[`__HPPA20__`] [2.0.0]]
-    [[`__PA8000__`] [2.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__hppa__) || defined(__hppa) || defined(__HPPA__)
-#   undef BOOST_ARCH_PARISC
-#   if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC1_0))
-#       define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC1_1) || defined(__HPPA11__) || defined(__PA7100__))
-#       define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,1,0)
-#   endif
-#   if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC2_0) || defined(__RISC2_0__) || defined(__HPPA20__) || defined(__PA8000__))
-#       define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(2,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_PARISC)
-#       define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_PARISC
-#   define BOOST_ARCH_PARISC_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PARISC_NAME "HP/PA RISC"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PARISC,BOOST_ARCH_PARISC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/ppc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/ppc.h
deleted file mode 100644
index e8c57c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/ppc.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_PPC_H
-#define BOOST_PREDEF_ARCHITECTURE_PPC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_PPC`]
-
-[@http://en.wikipedia.org/wiki/PowerPC PowerPC] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__powerpc`] [__predef_detection__]]
-    [[`__powerpc__`] [__predef_detection__]]
-    [[`__POWERPC__`] [__predef_detection__]]
-    [[`__ppc__`] [__predef_detection__]]
-    [[`_M_PPC`] [__predef_detection__]]
-    [[`_ARCH_PPC`] [__predef_detection__]]
-    [[`__PPCGECKO__`] [__predef_detection__]]
-    [[`__PPCBROADWAY__`] [__predef_detection__]]
-    [[`_XENON`] [__predef_detection__]]
-
-    [[`__ppc601__`] [6.1.0]]
-    [[`_ARCH_601`] [6.1.0]]
-    [[`__ppc603__`] [6.3.0]]
-    [[`_ARCH_603`] [6.3.0]]
-    [[`__ppc604__`] [6.4.0]]
-    [[`__ppc604__`] [6.4.0]]
-    ]
- */
-
-#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__powerpc) || defined(__powerpc__) || \
-    defined(__POWERPC__) || defined(__ppc__) || \
-    defined(_M_PPC) || defined(_ARCH_PPC) || \
-    defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
-    defined(_XENON)
-#   undef BOOST_ARCH_PPC
-#   if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
-#       define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
-#   endif
-#   if !defined (BOOST_ARCH_PPC) && (defined(__ppc603__) || defined(_ARCH_603))
-#       define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,3,0)
-#   endif
-#   if !defined (BOOST_ARCH_PPC) && (defined(__ppc604__) || defined(__ppc604__))
-#       define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,4,0)
-#   endif
-#   if !defined (BOOST_ARCH_PPC)
-#       define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_PPC
-#   define BOOST_ARCH_PPC_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PPC_NAME "PowerPC"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC,BOOST_ARCH_PPC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/pyramid.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/pyramid.h
deleted file mode 100644
index 4f13253..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/pyramid.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_PYRAMID_H
-#define BOOST_PREDEF_ARCHITECTURE_PYRAMID_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_PYRAMID`]
-
-Pyramid 9810 architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`pyr`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(pyr)
-#   undef BOOST_ARCH_PYRAMID
-#   define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_PYRAMID
-#   define BOOST_ARCH_PYRAMID_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PYRAMID_NAME "Pyramid 9810"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PYRAMID,BOOST_ARCH_PYRAMID_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/rs6k.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/rs6k.h
deleted file mode 100644
index 8a6e9b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/rs6k.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_RS6K_H
-#define BOOST_PREDEF_ARCHITECTURE_RS6K_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_RS6000`]
-
-[@http://en.wikipedia.org/wiki/RS/6000 RS/6000] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__THW_RS6000`] [__predef_detection__]]
-    [[`_IBMR2`] [__predef_detection__]]
-    [[`_POWER`] [__predef_detection__]]
-    [[`_ARCH_PWR`] [__predef_detection__]]
-    [[`_ARCH_PWR2`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__THW_RS6000) || defined(_IBMR2) || \
-    defined(_POWER) || defined(_ARCH_PWR) || \
-    defined(_ARCH_PWR2)
-#   undef BOOST_ARCH_RS6000
-#   define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_RS6000
-#   define BOOST_ARCH_RS6000_AVAILABLE
-#endif
-
-#define BOOST_ARCH_RS6000_NAME "RS/6000"
-
-#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
-
-#if BOOST_ARCH_PWR
-#   define BOOST_ARCH_PWR_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PWR_NAME BOOST_ARCH_RS6000_NAME
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RS6000,BOOST_ARCH_RS6000_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sparc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sparc.h
deleted file mode 100644
index a89a510..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sparc.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_SPARC_H
-#define BOOST_PREDEF_ARCHITECTURE_SPARC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SPARC`]
-
-[@http://en.wikipedia.org/wiki/SPARC SPARC] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__sparc__`] [__predef_detection__]]
-    [[`__sparc`] [__predef_detection__]]
-
-    [[`__sparcv9`] [9.0.0]]
-    [[`__sparcv8`] [8.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__sparc__) || defined(__sparc)
-#   undef BOOST_ARCH_SPARC
-#   if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
-#       define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
-#       define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SPARC)
-#       define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_SPARC
-#   define BOOST_ARCH_SPARC_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SPARC_NAME "SPARC"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SPARC,BOOST_ARCH_SPARC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/superh.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/superh.h
deleted file mode 100644
index da0529e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/superh.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_SUPERH_H
-#define BOOST_PREDEF_ARCHITECTURE_SUPERH_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SH`]
-
-[@http://en.wikipedia.org/wiki/SuperH SuperH] architecture:
-If available versions \[1-5\] are specifically detected.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__sh__`] [__predef_detection__]]
-
-    [[`__SH5__`] [5.0.0]]
-    [[`__SH4__`] [4.0.0]]
-    [[`__sh3__`] [3.0.0]]
-    [[`__SH3__`] [3.0.0]]
-    [[`__sh2__`] [2.0.0]]
-    [[`__sh1__`] [1.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__sh__)
-#   undef BOOST_ARCH_SH
-#   if !defined(BOOST_ARCH_SH) && (defined(__SH5__))
-#       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(5,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SH) && (defined(__SH4__))
-#       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SH) && (defined(__sh3__) || defined(__SH3__))
-#       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(3,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SH) && (defined(__sh2__))
-#       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(2,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SH) && (defined(__sh1__))
-#       define BOOST_ARCH_SH BOOST_VERSION_NUMBER(1,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_SH)
-#       define BOOST_ARCH_SH BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_SH
-#   define BOOST_ARCH_SH_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SH_NAME "SuperH"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SH,BOOST_ARCH_SH_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sys370.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sys370.h
deleted file mode 100644
index cfd85dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sys370.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_SYS370_H
-#define BOOST_PREDEF_ARCHITECTURE_SYS370_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SYS370`]
-
-[@http://en.wikipedia.org/wiki/System/370 System/370] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__370__`] [__predef_detection__]]
-    [[`__THW_370__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__370__) || defined(__THW_370__)
-#   undef BOOST_ARCH_SYS370
-#   define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_SYS370
-#   define BOOST_ARCH_SYS370_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SYS370_NAME "System/370"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SYS370,BOOST_ARCH_SYS370_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sys390.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sys390.h
deleted file mode 100644
index 47aff6a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/sys390.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_SYS390_H
-#define BOOST_PREDEF_ARCHITECTURE_SYS390_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SYS390`]
-
-[@http://en.wikipedia.org/wiki/System/390 System/390] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__s390__`] [__predef_detection__]]
-    [[`__s390x__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__s390__) || defined(__s390x__)
-#   undef BOOST_ARCH_SYS390
-#   define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_SYS390
-#   define BOOST_ARCH_SYS390_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SYS390_NAME "System/390"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SYS390,BOOST_ARCH_SYS390_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86.h
deleted file mode 100644
index 0ef3ef4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the Boost 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/predef/architecture/x86/32.h>
-#include <boost/predef/architecture/x86/64.h>
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_X86_H
-#define BOOST_PREDEF_ARCHITECTURE_X86_H
-
-/*`
-[heading `BOOST_ARCH_X86`]
-
-[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture. This is
-a category to indicate that either `BOOST_ARCH_X86_32` or
-`BOOST_ARCH_X86_64` is detected.
- */
-
-#define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if BOOST_ARCH_X86_32 || BOOST_ARCH_X86_64
-#   undef BOOST_ARCH_X86
-#   define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_X86
-#   define BOOST_ARCH_X86_AVAILABLE
-#endif
-
-#define BOOST_ARCH_X86_NAME "Intel x86"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86,BOOST_ARCH_X86_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86/32.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86/32.h
deleted file mode 100644
index 17fbff5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86/32.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_X86_32_H
-#define BOOST_PREDEF_ARCHITECTURE_X86_32_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_X86_32`]
-
-[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture:
-If available versions \[3-6\] are specifically detected.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`i386`] [__predef_detection__]]
-    [[`__i386__`] [__predef_detection__]]
-    [[`__i486__`] [__predef_detection__]]
-    [[`__i586__`] [__predef_detection__]]
-    [[`__i686__`] [__predef_detection__]]
-    [[`__i386`] [__predef_detection__]]
-    [[`_M_IX86`] [__predef_detection__]]
-    [[`_X86_`] [__predef_detection__]]
-    [[`__THW_INTEL__`] [__predef_detection__]]
-    [[`__I86__`] [__predef_detection__]]
-    [[`__INTEL__`] [__predef_detection__]]
-
-    [[`__I86__`] [V.0.0]]
-    [[`_M_IX86`] [V.0.0]]
-    [[`__i686__`] [6.0.0]]
-    [[`__i586__`] [5.0.0]]
-    [[`__i486__`] [4.0.0]]
-    [[`__i386__`] [3.0.0]]
-    ]
- */
-
-#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(i386) || defined(__i386__) || \
-    defined(__i486__) || defined(__i586__) || \
-    defined(__i686__) || defined(__i386) || \
-    defined(_M_IX86) || defined(_X86_) || \
-    defined(__THW_INTEL__) || defined(__I86__) || \
-    defined(__INTEL__)
-#   undef BOOST_ARCH_X86_32
-#   if !defined(BOOST_ARCH_X86_32) && defined(__I86__)
-#       define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(__I86__,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_X86_32) && defined(_M_IX86)
-#       define BOOST_ARCH_X86_32 BOOST_PREDEF_MAKE_10_VV00(_M_IX86)
-#   endif
-#   if !defined(BOOST_ARCH_X86_32) && defined(__i686__)
-#       define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(6,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_X86_32) && defined(__i586__)
-#       define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(5,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_X86_32) && defined(__i486__)
-#       define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_X86_32) && defined(__i386__)
-#       define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(3,0,0)
-#   endif
-#   if !defined(BOOST_ARCH_X86_32)
-#       define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_ARCH_X86_32
-#   define BOOST_ARCH_X86_32_AVAILABLE
-#endif
-
-#define BOOST_ARCH_X86_32_NAME "Intel x86-32"
-
-#include <boost/predef/architecture/x86.h>
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_32,BOOST_ARCH_X86_32_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86/64.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86/64.h
deleted file mode 100644
index f761c92..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/x86/64.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_X86_64_H
-#define BOOST_PREDEF_ARCHITECTURE_X86_64_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_X86_64`]
-
-[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__x86_64`] [__predef_detection__]]
-    [[`__x86_64__`] [__predef_detection__]]
-    [[`__amd64__`] [__predef_detection__]]
-    [[`__amd64`] [__predef_detection__]]
-    [[`_M_X64`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__x86_64) || defined(__x86_64__) || \
-    defined(__amd64__) || defined(__amd64) || \
-    defined(_M_X64)
-#   undef BOOST_ARCH_X86_64
-#   define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_X86_64
-#   define BOOST_ARCH_X86_64_AVAILABLE
-#endif
-
-#define BOOST_ARCH_X86_64_NAME "Intel x86-64"
-
-#include <boost/predef/architecture/x86.h>
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_64,BOOST_ARCH_X86_64_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/z.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/z.h
deleted file mode 100644
index 3d218aa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/architecture/z.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_ARCHITECTURE_Z_H
-#define BOOST_PREDEF_ARCHITECTURE_Z_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_Z`]
-
-[@http://en.wikipedia.org/wiki/Z/Architecture z/Architecture] architecture.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__SYSC_ZARCH__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_ARCH_Z BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__SYSC_ZARCH__)
-#   undef BOOST_ARCH_Z
-#   define BOOST_ARCH_Z BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_Z
-#   define BOOST_ARCH_Z_AVAILABLE
-#endif
-
-#define BOOST_ARCH_Z_NAME "z/Architecture"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_Z,BOOST_ARCH_Z_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler.h
deleted file mode 100644
index 61a4c52..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_COMPILER_H
-#define BOOST_PREDEF_COMPILER_H
-#endif
-
-#include <boost/predef/compiler/borland.h>
-#include <boost/predef/compiler/clang.h>
-#include <boost/predef/compiler/comeau.h>
-#include <boost/predef/compiler/compaq.h>
-#include <boost/predef/compiler/diab.h>
-#include <boost/predef/compiler/digitalmars.h>
-#include <boost/predef/compiler/dignus.h>
-#include <boost/predef/compiler/edg.h>
-#include <boost/predef/compiler/ekopath.h>
-#include <boost/predef/compiler/gcc_xml.h>
-#include <boost/predef/compiler/gcc.h>
-#include <boost/predef/compiler/greenhills.h>
-#include <boost/predef/compiler/hp_acc.h>
-#include <boost/predef/compiler/iar.h>
-#include <boost/predef/compiler/ibm.h>
-#include <boost/predef/compiler/intel.h>
-#include <boost/predef/compiler/kai.h>
-#include <boost/predef/compiler/llvm.h>
-#include <boost/predef/compiler/metaware.h>
-#include <boost/predef/compiler/metrowerks.h>
-#include <boost/predef/compiler/microtec.h>
-#include <boost/predef/compiler/mpw.h>
-#include <boost/predef/compiler/palm.h>
-#include <boost/predef/compiler/pgi.h>
-#include <boost/predef/compiler/sgi_mipspro.h>
-#include <boost/predef/compiler/sunpro.h>
-#include <boost/predef/compiler/tendra.h>
-#include <boost/predef/compiler/visualc.h>
-#include <boost/predef/compiler/watcom.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/borland.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/borland.h
deleted file mode 100644
index 3677cca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/borland.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_BORLAND_H
-#define BOOST_PREDEF_COMPILER_BORLAND_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_BORLAND`]
-
-[@http://en.wikipedia.org/wiki/C_plus_plus_builder Borland C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__BORLANDC__`] [__predef_detection__]]
-    [[`__CODEGEARC__`] [__predef_detection__]]
-
-    [[`__BORLANDC__`] [V.R.P]]
-    [[`__CODEGEARC__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__BORLANDC__) || defined(__CODEGEARC__)
-#   if !defined(BOOST_COMP_BORLAND_DETECTION) && (defined(__CODEGEARC__))
-#       define BOOST_COMP_BORLAND_DETECTION BOOST_PREDEF_MAKE_0X_VVRP(__CODEGEARC__)
-#   endif
-#   if !defined(BOOST_COMP_BORLAND_DETECTION)
-#       define BOOST_COMP_BORLAND_DETECTION BOOST_PREDEF_MAKE_0X_VVRP(__BORLANDC__)
-#   endif
-#endif
-
-#ifdef BOOST_COMP_BORLAND_DETECTION
-#   define BOOST_COMP_BORLAND_AVAILABLE
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_BORLAND_EMULATED BOOST_COMP_BORLAND_DETECTION
-#   else
-#       undef BOOST_COMP_BORLAND
-#       define BOOST_COMP_BORLAND BOOST_COMP_BORLAND_DETECTION
-#   endif
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_BORLAND_NAME "Borland C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_BORLAND,BOOST_COMP_BORLAND_NAME)
-
-#ifdef BOOST_COMP_BORLAND_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_BORLAND_EMULATED,BOOST_COMP_BORLAND_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/clang.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/clang.h
deleted file mode 100644
index 56678fe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/clang.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_CLANG_H
-#define BOOST_PREDEF_COMPILER_CLANG_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_CLANG`]
-
-[@http://en.wikipedia.org/wiki/Clang Clang] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__clang__`] [__predef_detection__]]
-
-    [[`__clang_major__`, `__clang_minor__`, `__clang_patchlevel__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__clang__)
-#   define BOOST_COMP_CLANG_DETECTION BOOST_VERSION_NUMBER(__clang_major__,__clang_minor__,__clang_patchlevel__)
-#endif
-
-#ifdef BOOST_COMP_CLANG_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_CLANG_EMULATED BOOST_COMP_CLANG_DETECTION
-#   else
-#       undef BOOST_COMP_CLANG
-#       define BOOST_COMP_CLANG BOOST_COMP_CLANG_DETECTION
-#   endif
-#   define BOOST_COMP_CLANG_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_CLANG_NAME "Clang"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_CLANG,BOOST_COMP_CLANG_NAME)
-
-#ifdef BOOST_COMP_CLANG_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_CLANG_EMULATED,BOOST_COMP_CLANG_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/comeau.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/comeau.h
deleted file mode 100644
index 15a4564..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/comeau.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_COMEAU_H
-#define BOOST_PREDEF_COMPILER_COMEAU_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-#define BOOST_COMP_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-/*`
-[heading `BOOST_COMP_COMO`]
-
-[@http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B Comeau C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__COMO__`] [__predef_detection__]]
-
-    [[`__COMO_VERSION__`] [V.R.P]]
-    ]
- */
-
-#if defined(__COMO__)
-#   if !defined(BOOST_COMP_COMO_DETECTION) && defined(__COMO_VERSION__)
-#       define BOOST_COMP_COMO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__COMO_VERSION__)
-#   endif
-#   if !defined(BOOST_COMP_COMO_DETECTION)
-#       define BOOST_COMP_COMO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_COMO_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_COMO_EMULATED BOOST_COMP_COMO_DETECTION
-#   else
-#       undef BOOST_COMP_COMO
-#       define BOOST_COMP_COMO BOOST_COMP_COMO_DETECTION
-#   endif
-#   define BOOST_COMP_COMO_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_COMO_NAME "Comeau C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_COMO,BOOST_COMP_COMO_NAME)
-
-#ifdef BOOST_COMP_COMO_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_COMO_EMULATED,BOOST_COMP_COMO_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/compaq.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/compaq.h
deleted file mode 100644
index 96a79e6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/compaq.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_COMPAQ_H
-#define BOOST_PREDEF_COMPILER_COMPAQ_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_DEC`]
-
-[@http://www.openvms.compaq.com/openvms/brochures/deccplus/ Compaq C/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__DECCXX`] [__predef_detection__]]
-    [[`__DECC`] [__predef_detection__]]
-
-    [[`__DECCXX_VER`] [V.R.P]]
-    [[`__DECC_VER`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__DECC) || defined(__DECCXX)
-#   if !defined(BOOST_COMP_DEC_DETECTION) && defined(__DECCXX_VER)
-#       define BOOST_COMP_DEC_DETECTION BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECCXX_VER)
-#   endif
-#   if !defined(BOOST_COMP_DEC_DETECTION) && defined(__DECC_VER)
-#       define BOOST_COMP_DEC_DETECTION BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
-#   endif
-#   if !defined(BOOST_COMP_DEC_DETECTION)
-#       define BOOST_COM_DEC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_DEC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_DEC_EMULATED BOOST_COMP_DEC_DETECTION
-#   else
-#       undef BOOST_COMP_DEC
-#       define BOOST_COMP_DEC BOOST_COMP_DEC_DETECTION
-#   endif
-#   define BOOST_COMP_DEC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_DEC_NAME "Compaq C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DEC,BOOST_COMP_DEC_NAME)
-
-#ifdef BOOST_COMP_DEC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DEC_EMULATED,BOOST_COMP_DEC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/diab.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/diab.h
deleted file mode 100644
index f5a37de..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/diab.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_DIAB_H
-#define BOOST_PREDEF_COMPILER_DIAB_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_DIAB`]
-
-[@http://www.windriver.com/products/development_suite/wind_river_compiler/ Diab C/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__DCC__`] [__predef_detection__]]
-
-    [[`__VERSION_NUMBER__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__DCC__)
-#   define BOOST_COMP_DIAB_DETECTION BOOST_PREDEF_MAKE_10_VRPP(__VERSION_NUMBER__)
-#endif
-
-#ifdef BOOST_COMP_DIAB_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_DIAB_EMULATED BOOST_COMP_DIAB_DETECTION
-#   else
-#       undef BOOST_COMP_DIAB
-#       define BOOST_COMP_DIAB BOOST_COMP_DIAB_DETECTION
-#   endif
-#   define BOOST_COMP_DIAB_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_DIAB_NAME "Diab C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DIAB,BOOST_COMP_DIAB_NAME)
-
-#ifdef BOOST_COMP_DIAB_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DIAB_EMULATED,BOOST_COMP_DIAB_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/digitalmars.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/digitalmars.h
deleted file mode 100644
index 9bd5850..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/digitalmars.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_DIGITALMARS_H
-#define BOOST_PREDEF_COMPILER_DIGITALMARS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_DMC`]
-
-[@http://en.wikipedia.org/wiki/Digital_Mars Digital Mars] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__DMC__`] [__predef_detection__]]
-
-    [[`__DMC__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__DMC__)
-#   define BOOST_COMP_DMC_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__DMC__)
-#endif
-
-#ifdef BOOST_COMP_DMC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_DMC_EMULATED BOOST_COMP_DMC_DETECTION
-#   else
-#       undef BOOST_COMP_DMC
-#       define BOOST_COMP_DMC BOOST_COMP_DMC_DETECTION
-#   endif
-#   define BOOST_COMP_DMC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_DMC_NAME "Digital Mars"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DMC,BOOST_COMP_DMC_NAME)
-
-#ifdef BOOST_COMP_DMC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_DMC_EMULATED,BOOST_COMP_DMC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/dignus.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/dignus.h
deleted file mode 100644
index c65d3dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/dignus.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_DIGNUS_H
-#define BOOST_PREDEF_COMPILER_DIGNUS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_SYSC`]
-
-[@http://www.dignus.com/dcxx/ Dignus Systems/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__SYSC__`] [__predef_detection__]]
-
-    [[`__SYSC_VER__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__SYSC__)
-#   define BOOST_COMP_SYSC_DETECTION BOOST_PREDEF_MAKE_10_VRRPP(__SYSC_VER__)
-#endif
-
-#ifdef BOOST_COMP_SYSC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_SYSC_EMULATED BOOST_COMP_SYSC_DETECTION
-#   else
-#       undef BOOST_COMP_SYSC
-#       define BOOST_COMP_SYSC BOOST_COMP_SYSC_DETECTION
-#   endif
-#   define BOOST_COMP_SYSC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_SYSC_NAME "Dignus Systems/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SYSC,BOOST_COMP_SYSC_NAME)
-
-#ifdef BOOST_COMP_SYSC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SYSC_EMULATED,BOOST_COMP_SYSC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/edg.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/edg.h
deleted file mode 100644
index 2ffb9b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/edg.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_EDG_H
-#define BOOST_PREDEF_COMPILER_EDG_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_EDG`]
-
-[@http://en.wikipedia.org/wiki/Edison_Design_Group EDG C++ Frontend] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__EDG__`] [__predef_detection__]]
-
-    [[`__EDG_VERSION__`] [V.R.0]]
-    ]
- */
-
-#define BOOST_COMP_EDG BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__EDG__)
-#   define BOOST_COMP_EDG_DETECTION BOOST_PREDEF_MAKE_10_VRR(__EDG_VERSION__)
-#endif
-
-#ifdef BOOST_COMP_EDG_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_EDG_EMULATED BOOST_COMP_EDG_DETECTION
-#   else
-#       undef BOOST_COMP_EDG
-#       define BOOST_COMP_EDG BOOST_COMP_EDG_DETECTION
-#   endif
-#   define BOOST_COMP_EDG_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_EDG_NAME "EDG C++ Frontend"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_EDG,BOOST_COMP_EDG_NAME)
-
-#ifdef BOOST_COMP_EDG_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_EDG_EMULATED,BOOST_COMP_EDG_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/ekopath.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/ekopath.h
deleted file mode 100644
index e5cde36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/ekopath.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_EKOPATH_H
-#define BOOST_PREDEF_COMPILER_EKOPATH_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_PATH`]
-
-[@http://en.wikipedia.org/wiki/PathScale EKOpath] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__PATHCC__`] [__predef_detection__]]
-
-    [[`__PATHCC__`, `__PATHCC_MINOR__`, `__PATHCC_PATCHLEVEL__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__PATHCC__)
-#   define BOOST_COMP_PATH_DETECTION \
-        BOOST_VERSION_NUMBER(__PATHCC__,__PATHCC_MINOR__,__PATHCC_PATCHLEVEL__)
-#endif
-
-#ifdef BOOST_COMP_PATH_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_PATH_EMULATED BOOST_COMP_PATH_DETECTION
-#   else
-#       undef BOOST_COMP_PATH
-#       define BOOST_COMP_PATH BOOST_COMP_PATH_DETECTION
-#   endif
-#   define BOOST_COMP_PATH_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_PATH_NAME "EKOpath"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PATH,BOOST_COMP_PATH_NAME)
-
-#ifdef BOOST_COMP_PATH_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PATH_EMULATED,BOOST_COMP_PATH_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/gcc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/gcc.h
deleted file mode 100644
index c2d7fff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/gcc.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_GCC_H
-#define BOOST_PREDEF_COMPILER_GCC_H
-
-/* Other compilers that emulate this one need to be detected first. */
-
-#include <boost/predef/compiler/clang.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_GNUC`]
-
-[@http://en.wikipedia.org/wiki/GNU_Compiler_Collection Gnu GCC C/C++] compiler.
-Version number available as major, minor, and patch (if available).
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__GNUC__`] [__predef_detection__]]
-
-    [[`__GNUC__`, `__GNUC_MINOR__`, `__GNUC_PATCHLEVEL__`] [V.R.P]]
-    [[`__GNUC__`, `__GNUC_MINOR__`] [V.R.0]]
-    ]
- */
-
-#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__GNUC__)
-#   if !defined(BOOST_COMP_GNUC_DETECTION) && defined(__GNUC_PATCHLEVEL__)
-#       define BOOST_COMP_GNUC_DETECTION \
-            BOOST_VERSION_NUMBER(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__)
-#   endif
-#   if !defined(BOOST_COMP_GNUC_DETECTION)
-#       define BOOST_COMP_GNUC_DETECTION \
-            BOOST_VERSION_NUMBER(__GNUC__,__GNUC_MINOR__,0)
-#   endif
-#endif
-
-#ifdef BOOST_COMP_GNUC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_GNUC_EMULATED BOOST_COMP_GNUC_DETECTION
-#   else
-#       undef BOOST_COMP_GNUC
-#       define BOOST_COMP_GNUC BOOST_COMP_GNUC_DETECTION
-#   endif
-#   define BOOST_COMP_GNUC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_GNUC_NAME "Gnu GCC C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GNUC,BOOST_COMP_GNUC_NAME)
-
-#ifdef BOOST_COMP_GNUC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GNUC_EMULATED,BOOST_COMP_GNUC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/gcc_xml.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/gcc_xml.h
deleted file mode 100644
index acae600..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/gcc_xml.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_GCC_XML_H
-#define BOOST_PREDEF_COMPILER_GCC_XML_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_GCCXML`]
-
-[@http://www.gccxml.org/ GCC XML] compiler.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__GCCXML__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__GCCXML__)
-#   define BOOST_COMP_GCCXML_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#ifdef BOOST_COMP_GCCXML_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_GCCXML_EMULATED BOOST_COMP_GCCXML_DETECTION
-#   else
-#       undef BOOST_COMP_GCCXML
-#       define BOOST_COMP_GCCXML BOOST_COMP_GCCXML_DETECTION
-#   endif
-#   define BOOST_COMP_GCCXML_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_GCCXML_NAME "GCC XML"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GCCXML,BOOST_COMP_GCCXML_NAME)
-
-#ifdef BOOST_COMP_GCCXML_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GCCXML_EMULATED,BOOST_COMP_GCCXML_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/greenhills.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/greenhills.h
deleted file mode 100644
index 23b8f01..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/greenhills.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_GREENHILLS_H
-#define BOOST_PREDEF_COMPILER_GREENHILLS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_GHS`]
-
-[@http://en.wikipedia.org/wiki/Green_Hills_Software Green Hills C/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__ghs`] [__predef_detection__]]
-    [[`__ghs__`] [__predef_detection__]]
-
-    [[`__GHS_VERSION_NUMBER__`] [V.R.P]]
-    [[`__ghs`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_GHS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__ghs) || defined(__ghs__)
-#   if !defined(BOOST_COMP_GHS_DETECTION) && defined(__GHS_VERSION_NUMBER__)
-#       define BOOST_COMP_GHS_DETECTION BOOST_PREDEF_MAKE_10_VRP(__GHS_VERSION_NUMBER__)
-#   endif
-#   if !defined(BOOST_COMP_GHS_DETECTION) && defined(__ghs)
-#       define BOOST_COMP_GHS_DETECTION BOOST_PREDEF_MAKE_10_VRP(__ghs)
-#   endif
-#   if !defined(BOOST_COMP_GHS_DETECTION)
-#       define BOOST_COMP_GHS_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_GHS_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_GHS_EMULATED BOOST_COMP_GHS_DETECTION
-#   else
-#       undef BOOST_COMP_GHS
-#       define BOOST_COMP_GHS BOOST_COMP_GHS_DETECTION
-#   endif
-#   define BOOST_COMP_GHS_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_GHS_NAME "Green Hills C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GHS,BOOST_COMP_GHS_NAME)
-
-#ifdef BOOST_COMP_GHS_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_GHS_EMULATED,BOOST_COMP_GHS_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/hp_acc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/hp_acc.h
deleted file mode 100644
index 7b3ffe9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/hp_acc.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_HP_ACC_H
-#define BOOST_PREDEF_COMPILER_HP_ACC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_HPACC`]
-
-HP aC++ compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__HP_aCC`] [__predef_detection__]]
-
-    [[`__HP_aCC`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__HP_aCC)
-#   if !defined(BOOST_COMP_HPACC_DETECTION) && (__HP_aCC > 1)
-#       define BOOST_COMP_HPACC_DETECTION BOOST_PREDEF_MAKE_10_VVRRPP(__HP_aCC)
-#   endif
-#   if !defined(BOOST_COMP_HPACC_DETECTION)
-#       define BOOST_COMP_HPACC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_HPACC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_HPACC_EMULATED BOOST_COMP_HPACC_DETECTION
-#   else
-#       undef BOOST_COMP_HPACC
-#       define BOOST_COMP_HPACC BOOST_COMP_HPACC_DETECTION
-#   endif
-#   define BOOST_COMP_HPACC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_HPACC_NAME "HP aC++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HPACC,BOOST_COMP_HPACC_NAME)
-
-#ifdef BOOST_COMP_HPACC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HPACC_EMULATED,BOOST_COMP_HPACC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/iar.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/iar.h
deleted file mode 100644
index 237f492..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/iar.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_IAR_H
-#define BOOST_PREDEF_COMPILER_IAR_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_IAR`]
-
-IAR C/C++ compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__IAR_SYSTEMS_ICC__`] [__predef_detection__]]
-
-    [[`__VER__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_IAR BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__IAR_SYSTEMS_ICC__)
-#   define BOOST_COMP_IAR_DETECTION BOOST_PREDEF_MAKE_10_VVRR(__VER__)
-#endif
-
-#ifdef BOOST_COMP_IAR_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_IAR_EMULATED BOOST_COMP_IAR_DETECTION
-#   else
-#       undef BOOST_COMP_IAR
-#       define BOOST_COMP_IAR BOOST_COMP_IAR_DETECTION
-#   endif
-#   define BOOST_COMP_IAR_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_IAR_NAME "IAR C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IAR,BOOST_COMP_IAR_NAME)
-
-#ifdef BOOST_COMP_IAR_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IAR_EMULATED,BOOST_COMP_IAR_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/ibm.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/ibm.h
deleted file mode 100644
index 6931ebd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/ibm.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_IBM_H
-#define BOOST_PREDEF_COMPILER_IBM_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_IBM`]
-
-[@http://en.wikipedia.org/wiki/VisualAge IBM XL C/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__IBMCPP__`] [__predef_detection__]]
-    [[`__xlC__`] [__predef_detection__]]
-    [[`__xlc__`] [__predef_detection__]]
-
-    [[`__COMPILER_VER__`] [V.R.P]]
-    [[`__xlC__`] [V.R.P]]
-    [[`__xlc__`] [V.R.P]]
-    [[`__IBMCPP__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__)
-#   if !defined(BOOST_COMP_IBM_DETECTION) && defined(__COMPILER_VER__)
-#       define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VRRPPPP(__COMPILER_VER__)
-#   endif
-#   if !defined(BOOST_COMP_IBM_DETECTION) && defined(__xlC__)
-#       define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__xlC__)
-#   endif
-#   if !defined(BOOST_COMP_IBM_DETECTION) && defined(__xlc__)
-#       define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__xlc__)
-#   endif
-#   if !defined(BOOST_COMP_IBM_DETECTION)
-#       define BOOST_COMP_IBM_DETECTION BOOST_PREDEF_MAKE_10_VRP(__IBMCPP__)
-#   endif
-#endif
-
-#ifdef BOOST_COMP_IBM_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_IBM_EMULATED BOOST_COMP_IBM_DETECTION
-#   else
-#       undef BOOST_COMP_IBM
-#       define BOOST_COMP_IBM BOOST_COMP_IBM_DETECTION
-#   endif
-#   define BOOST_COMP_IBM_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_IBM_NAME "IBM XL C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IBM,BOOST_COMP_IBM_NAME)
-
-#ifdef BOOST_COMP_IBM_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_IBM_EMULATED,BOOST_COMP_IBM_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/intel.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/intel.h
deleted file mode 100644
index 65bde67..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/intel.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_INTEL_H
-#define BOOST_PREDEF_COMPILER_INTEL_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_INTEL`]
-
-[@http://en.wikipedia.org/wiki/Intel_C%2B%2B Intel C/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__INTEL_COMPILER`] [__predef_detection__]]
-    [[`__ICL`] [__predef_detection__]]
-    [[`__ICC`] [__predef_detection__]]
-    [[`__ECC`] [__predef_detection__]]
-
-    [[`__INTEL_COMPILER`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
-    defined(__ECC)
-#   if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER)
-#       define BOOST_COMP_INTEL_DETECTION BOOST_PREDEF_MAKE_10_VRP(__INTEL_COMPILER)
-#   endif
-#   if !defined(BOOST_COMP_INTEL_DETECTION)
-#       define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_INTEL_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_INTEL_EMULATED BOOST_COMP_INTEL_DETECTION
-#   else
-#       undef BOOST_COMP_INTEL
-#       define BOOST_COMP_INTEL BOOST_COMP_INTEL_DETECTION
-#   endif
-#   define BOOST_COMP_INTEL_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_INTEL_NAME "Intel C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_INTEL,BOOST_COMP_INTEL_NAME)
-
-#ifdef BOOST_COMP_INTEL_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_INTEL_EMULATED,BOOST_COMP_INTEL_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/kai.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/kai.h
deleted file mode 100644
index 68ce84e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/kai.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_KAI_H
-#define BOOST_PREDEF_COMPILER_KAI_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_KCC`]
-
-Kai C++ compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__KCC`] [__predef_detection__]]
-
-    [[`__KCC_VERSION`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_KCC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__KCC)
-#   define BOOST_COMP_KCC_DETECTION BOOST_PREDEF_MAKE_0X_VRPP(__KCC_VERSION)
-#endif
-
-#ifdef BOOST_COMP_KCC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_KCC_EMULATED BOOST_COMP_KCC_DETECTION
-#   else
-#       undef BOOST_COMP_KCC
-#       define BOOST_COMP_KCC BOOST_COMP_KCC_DETECTION
-#   endif
-#   define BOOST_COMP_KCC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_KCC_NAME "Kai C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_KCC,BOOST_COMP_KCC_NAME)
-
-#ifdef BOOST_COMP_KCC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_KCC_EMULATED,BOOST_COMP_KCC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/llvm.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/llvm.h
deleted file mode 100644
index de654eb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/llvm.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_LLVM_H
-#define BOOST_PREDEF_COMPILER_LLVM_H
-
-/* Other compilers that emulate this one need to be detected first. */
-
-#include <boost/predef/compiler/clang.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_LLVM`]
-
-[@http://en.wikipedia.org/wiki/LLVM LLVM] compiler.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__llvm__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__llvm__)
-#   define BOOST_COMP_LLVM_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#ifdef BOOST_COMP_LLVM_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_LLVM_EMULATED BOOST_COMP_LLVM_DETECTION
-#   else
-#       undef BOOST_COMP_LLVM
-#       define BOOST_COMP_LLVM BOOST_COMP_LLVM_DETECTION
-#   endif
-#   define BOOST_COMP_LLVM_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_LLVM_NAME "LLVM"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM,BOOST_COMP_LLVM_NAME)
-
-#ifdef BOOST_COMP_LLVM_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_LLVM_EMULATED,BOOST_COMP_LLVM_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/metaware.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/metaware.h
deleted file mode 100644
index 1a32039..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/metaware.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_METAWARE_H
-#define BOOST_PREDEF_COMPILER_METAWARE_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_HIGHC`]
-
-MetaWare High C/C++ compiler.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__HIGHC__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__HIGHC__)
-#   define BOOST_COMP_HIGHC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#ifdef BOOST_COMP_HIGHC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_HIGHC_EMULATED BOOST_COMP_HIGHC_DETECTION
-#   else
-#       undef BOOST_COMP_HIGHC
-#       define BOOST_COMP_HIGHC BOOST_COMP_HIGHC_DETECTION
-#   endif
-#   define BOOST_COMP_HIGHC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_HIGHC_NAME "MetaWare High C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HIGHC,BOOST_COMP_HIGHC_NAME)
-
-#ifdef BOOST_COMP_HIGHC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_HIGHC_EMULATED,BOOST_COMP_HIGHC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/metrowerks.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/metrowerks.h
deleted file mode 100644
index f2d739b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/metrowerks.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_METROWERKS_H
-#define BOOST_PREDEF_COMPILER_METROWERKS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_MWERKS`]
-
-[@http://en.wikipedia.org/wiki/CodeWarrior Metrowerks CodeWarrior] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__MWERKS__`] [__predef_detection__]]
-    [[`__CWCC__`] [__predef_detection__]]
-
-    [[`__CWCC__`] [V.R.P]]
-    [[`__MWERKS__`] [V.R.P >= 4.2.0]]
-    [[`__MWERKS__`] [9.R.0]]
-    [[`__MWERKS__`] [8.R.0]]
-    ]
- */
-
-#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__MWERKS__) || defined(__CWCC__)
-#   if !defined(BOOST_COMP_MWERKS_DETECTION) && defined(__CWCC__)
-#       define BOOST_COMP_MWERKS_DETECTION BOOST_PREDEF_MAKE_0X_VRPP(__CWCC__)
-#   endif
-#   if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x4200)
-#       define BOOST_COMP_MWERKS_DETECTION BOOST_PREDEF_MAKE_0X_VRPP(__MWERKS__)
-#   endif
-#   if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3204) // note the "skip": 04->9.3
-#       define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0)
-#   endif
-#   if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3200)
-#       define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0)
-#   endif
-#   if !defined(BOOST_COMP_MWERKS_DETECTION) && (__MWERKS__ >= 0x3000)
-#       define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0)
-#   endif
-#   if !defined(BOOST_COMP_MWERKS_DETECTION)
-#       define BOOST_COMP_MWERKS_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_MWERKS_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_MWERKS_EMULATED BOOST_COMP_MWERKS_DETECTION
-#   else
-#       undef BOOST_COMP_MWERKS
-#       define BOOST_COMP_MWERKS BOOST_COMP_MWERKS_DETECTION
-#   endif
-#   define BOOST_COMP_MWERKS_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_MWERKS_NAME "Metrowerks CodeWarrior"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MWERKS,BOOST_COMP_MWERKS_NAME)
-
-#ifdef BOOST_COMP_MWERKS_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MWERKS_EMULATED,BOOST_COMP_MWERKS_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/microtec.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/microtec.h
deleted file mode 100644
index 066a6d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/microtec.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_MICROTEC_H
-#define BOOST_PREDEF_COMPILER_MICROTEC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_MRI`]
-
-[@http://www.mentor.com/microtec/ Microtec C/C++] compiler.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_MRI`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_COMP_MRI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(_MRI)
-#   define BOOST_COMP_MRI_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#ifdef BOOST_COMP_MRI_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_MRI_EMULATED BOOST_COMP_MRI_DETECTION
-#   else
-#       undef BOOST_COMP_MRI
-#       define BOOST_COMP_MRI BOOST_COMP_MRI_DETECTION
-#   endif
-#   define BOOST_COMP_MRI_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_MRI_NAME "Microtec C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MRI,BOOST_COMP_MRI_NAME)
-
-#ifdef BOOST_COMP_MRI_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MRI_EMULATED,BOOST_COMP_MRI_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/mpw.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/mpw.h
deleted file mode 100644
index 1183306..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/mpw.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_MPW_H
-#define BOOST_PREDEF_COMPILER_MPW_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_MPW`]
-
-[@http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop MPW C++] compiler.
-Version number available as major, and minor.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__MRC__`] [__predef_detection__]]
-    [[`MPW_C`] [__predef_detection__]]
-    [[`MPW_CPLUS`] [__predef_detection__]]
-
-    [[`__MRC__`] [V.R.0]]
-    ]
- */
-
-#define BOOST_COMP_MPW BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS)
-#   if !defined(BOOST_COMP_MPW_DETECTION) && defined(__MRC__)
-#       define BOOST_COMP_MPW_DETECTION BOOST_PREDEF_MAKE_0X_VVRR(__MRC__)
-#   endif
-#   if !defined(BOOST_COMP_MPW_DETECTION)
-#       define BOOST_COMP_MPW_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_MPW_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_MPW_EMULATED BOOST_COMP_MPW_DETECTION
-#   else
-#       undef BOOST_COMP_MPW
-#       define BOOST_COMP_MPW BOOST_COMP_MPW_DETECTION
-#   endif
-#   define BOOST_COMP_MPW_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_MPW_NAME "MPW C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MPW,BOOST_COMP_MPW_NAME)
-
-#ifdef BOOST_COMP_MPW_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MPW_EMULATED,BOOST_COMP_MPW_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/palm.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/palm.h
deleted file mode 100644
index 707925a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/palm.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_PALM_H
-#define BOOST_PREDEF_COMPILER_PALM_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_PALM`]
-
-Palm C/C++ compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_PACC_VER`] [__predef_detection__]]
-
-    [[`_PACC_VER`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_PALM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(_PACC_VER)
-#   define BOOST_COMP_PALM_DETECTION BOOST_PREDEF_MAKE_0X_VRRPP000(_PACC_VER)
-#endif
-
-#ifdef BOOST_COMP_PALM_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_PALM_EMULATED BOOST_COMP_PALM_DETECTION
-#   else
-#       undef BOOST_COMP_PALM
-#       define BOOST_COMP_PALM BOOST_COMP_PALM_DETECTION
-#   endif
-#   define BOOST_COMP_PALM_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_PALM_NAME "Palm C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PALM,BOOST_COMP_PALM_NAME)
-
-#ifdef BOOST_COMP_PALM_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PALM_EMULATED,BOOST_COMP_PALM_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/pgi.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/pgi.h
deleted file mode 100644
index e016aeb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/pgi.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_PGI_H
-#define BOOST_PREDEF_COMPILER_PGI_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_PGI`]
-
-[@http://en.wikipedia.org/wiki/The_Portland_Group Portland Group C/C++] compiler.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__PGI`] [__predef_detection__]]
-
-    [[`__PGIC__`, `__PGIC_MINOR__`, `__PGIC_PATCHLEVEL__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_PGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__PGI)
-#   if !defined(BOOST_COMP_PGI_DETECTION) && (defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__))
-#       define BOOST_COMP_PGI_DETECTION BOOST_VERSION_NUMBER(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__)
-#   endif
-#   if !defined(BOOST_COMP_PGI_DETECTION)
-#       define BOOST_COMP_PGI_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_PGI_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_PGI_EMULATED BOOST_COMP_PGI_DETECTION
-#   else
-#       undef BOOST_COMP_PGI
-#       define BOOST_COMP_PGI BOOST_COMP_PGI_DETECTION
-#   endif
-#   define BOOST_COMP_PGI_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_PGI_NAME "Portland Group C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PGI,BOOST_COMP_PGI_NAME)
-
-#ifdef BOOST_COMP_PGI_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_PGI_EMULATED,BOOST_COMP_PGI_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/sgi_mipspro.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/sgi_mipspro.h
deleted file mode 100644
index 00739f0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/sgi_mipspro.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_SGI_MIPSPRO_H
-#define BOOST_PREDEF_COMPILER_SGI_MIPSPRO_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_SGI`]
-
-[@http://en.wikipedia.org/wiki/MIPSpro SGI MIPSpro] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__sgi`] [__predef_detection__]]
-    [[`sgi`] [__predef_detection__]]
-
-    [[`_SGI_COMPILER_VERSION`] [V.R.P]]
-    [[`_COMPILER_VERSION`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__sgi) || defined(sgi)
-#   if !defined(BOOST_COMP_SGI_DETECTION) && defined(_SGI_COMPILER_VERSION)
-#       define BOOST_COMP_SGI_DETECTION BOOST_PREDEF_MAKE_10_VRP(_SGI_COMPILER_VERSION)
-#   endif
-#   if !defined(BOOST_COMP_SGI_DETECTION) && defined(_COMPILER_VERSION)
-#       define BOOST_COMP_SGI_DETECTION BOOST_PREDEF_MAKE_10_VRP(_COMPILER_VERSION)
-#   endif
-#   if !defined(BOOST_COMP_SGI_DETECTION)
-#       define BOOST_COMP_SGI_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_SGI_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_SGI_EMULATED BOOST_COMP_SGI_DETECTION
-#   else
-#       undef BOOST_COMP_SGI
-#       define BOOST_COMP_SGI BOOST_COMP_SGI_DETECTION
-#   endif
-#   define BOOST_COMP_SGI_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_SGI_NAME "SGI MIPSpro"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SGI,BOOST_COMP_SGI_NAME)
-
-#ifdef BOOST_COMP_SGI_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SGI_EMULATED,BOOST_COMP_SGI_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/sunpro.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/sunpro.h
deleted file mode 100644
index 92c3926..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/sunpro.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_SUNPRO_H
-#define BOOST_PREDEF_COMPILER_SUNPRO_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_SUNPRO`]
-
-[@http://en.wikipedia.org/wiki/Oracle_Solaris_Studio Oracle Solaris Studio] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__SUNPRO_CC`] [__predef_detection__]]
-    [[`__SUNPRO_C`] [__predef_detection__]]
-
-    [[`__SUNPRO_CC`] [V.R.P]]
-    [[`__SUNPRO_C`] [V.R.P]]
-    [[`__SUNPRO_CC`] [VV.RR.P]]
-    [[`__SUNPRO_C`] [VV.RR.P]]
-    ]
- */
-
-#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
-#   if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_CC)
-#       if (__SUNPRO_CC < 0x5100)
-#           define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_CC)
-#       else
-#           define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VVRRP(__SUNPRO_CC)
-#       endif
-#   endif
-#   if !defined(BOOST_COMP_SUNPRO_DETECTION) && defined(__SUNPRO_C)
-#       if (__SUNPRO_C < 0x5100)
-#           define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VRP(__SUNPRO_C)
-#       else
-#           define BOOST_COMP_SUNPRO_DETECTION BOOST_PREDEF_MAKE_0X_VVRRP(__SUNPRO_C)
-#       endif
-#   endif
-#   if !defined(BOOST_COMP_SUNPRO_DETECTION)
-#       define BOOST_COMP_SUNPRO_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_COMP_SUNPRO_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_SUNPRO_EMULATED BOOST_COMP_SUNPRO_DETECTION
-#   else
-#       undef BOOST_COMP_SUNPRO
-#       define BOOST_COMP_SUNPRO BOOST_COMP_SUNPRO_DETECTION
-#   endif
-#   define BOOST_COMP_SUNPRO_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_SUNPRO_NAME "Oracle Solaris Studio"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO,BOOST_COMP_SUNPRO_NAME)
-
-#ifdef BOOST_COMP_SUNPRO_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_SUNPRO_EMULATED,BOOST_COMP_SUNPRO_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/tendra.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/tendra.h
deleted file mode 100644
index c2bc5e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/tendra.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_TENDRA_H
-#define BOOST_PREDEF_COMPILER_TENDRA_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_TENDRA`]
-
-[@http://en.wikipedia.org/wiki/TenDRA_Compiler TenDRA C/C++] compiler.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__TenDRA__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__TenDRA__)
-#   define BOOST_COMP_TENDRA_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#ifdef BOOST_COMP_TENDRA_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_TENDRA_EMULATED BOOST_COMP_TENDRA_DETECTION
-#   else
-#       undef BOOST_COMP_TENDRA
-#       define BOOST_COMP_TENDRA BOOST_COMP_TENDRA_DETECTION
-#   endif
-#   define BOOST_COMP_TENDRA_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_TENDRA_NAME "TenDRA C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_TENDRA,BOOST_COMP_TENDRA_NAME)
-
-#ifdef BOOST_COMP_TENDRA_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_TENDRA_EMULATED,BOOST_COMP_TENDRA_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/visualc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/visualc.h
deleted file mode 100644
index 9481d9d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/visualc.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_VISUALC_H
-#define BOOST_PREDEF_COMPILER_VISUALC_H
-
-/* Other compilers that emulate this one need to be detected first. */
-
-#include <boost/predef/compiler/clang.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_MSVC`]
-
-[@http://en.wikipedia.org/wiki/Visual_studio Microsoft Visual C/C++] compiler.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_MSC_VER`] [__predef_detection__]]
-
-    [[`_MSC_FULL_VER`] [V.R.P]]
-    [[`_MSC_VER`] [V.R.0]]
-    ]
- */
-
-#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(_MSC_VER)
-#   if !defined (_MSC_FULL_VER)
-#       define BOOST_COMP_MSVC_BUILD 0
-#   else
-        /* how many digits does the build number have? */
-#       if _MSC_FULL_VER / 10000 == _MSC_VER
-            /* four digits */
-#           define BOOST_COMP_MSVC_BUILD (_MSC_FULL_VER % 10000)
-#       elif _MSC_FULL_VER / 100000 == _MSC_VER
-            /* five digits */
-#           define BOOST_COMP_MSVC_BUILD (_MSC_FULL_VER % 100000)
-#       else
-#           error "Cannot determine build number from _MSC_FULL_VER"
-#       endif
-#   endif
-    /*
-    VS2014 was skipped in the release sequence for MS. Which
-    means that the compiler and VS product versions are no longer
-    in sync. Hence we need to use different formulas for
-    mapping from MSC version to VS product version.
-    */
-#   if (_MSC_VER >= 1900)
-#       define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\
-            _MSC_VER/100-5,\
-            _MSC_VER%100,\
-            BOOST_COMP_MSVC_BUILD)
-#   else
-#       define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\
-            _MSC_VER/100-6,\
-            _MSC_VER%100,\
-            BOOST_COMP_MSVC_BUILD)
-#   endif
-#endif
-
-#ifdef BOOST_COMP_MSVC_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_MSVC_EMULATED BOOST_COMP_MSVC_DETECTION
-#   else
-#       undef BOOST_COMP_MSVC
-#       define BOOST_COMP_MSVC BOOST_COMP_MSVC_DETECTION
-#   endif
-#   define BOOST_COMP_MSVC_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_MSVC_NAME "Microsoft Visual C/C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MSVC,BOOST_COMP_MSVC_NAME)
-
-#ifdef BOOST_COMP_MSVC_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_MSVC_EMULATED,BOOST_COMP_MSVC_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/watcom.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/watcom.h
deleted file mode 100644
index b0e7776..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/compiler/watcom.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_WATCOM_H
-#define BOOST_PREDEF_COMPILER_WATCOM_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_COMP_WATCOM`]
-
-[@http://en.wikipedia.org/wiki/Watcom Watcom C++] compiler.
-Version number available as major, and minor.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__WATCOMC__`] [__predef_detection__]]
-
-    [[`__WATCOMC__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__WATCOMC__)
-#   define BOOST_COMP_WATCOM_DETECTION BOOST_PREDEF_MAKE_10_VVRR(__WATCOMC__)
-#endif
-
-#ifdef BOOST_COMP_WATCOM_DETECTION
-#   if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED)
-#       define BOOST_COMP_WATCOM_EMULATED BOOST_COMP_WATCOM_DETECTION
-#   else
-#       undef BOOST_COMP_WATCOM
-#       define BOOST_COMP_WATCOM BOOST_COMP_WATCOM_DETECTION
-#   endif
-#   define BOOST_COMP_WATCOM_AVAILABLE
-#   include <boost/predef/detail/comp_detected.h>
-#endif
-
-#define BOOST_COMP_WATCOM_NAME "Watcom C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_WATCOM,BOOST_COMP_WATCOM_NAME)
-
-#ifdef BOOST_COMP_WATCOM_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_WATCOM_EMULATED,BOOST_COMP_WATCOM_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/_cassert.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/_cassert.h
deleted file mode 100644
index 940e944..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/_cassert.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2012
-Distributed under the 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_PREDEF_DETAIL__CASSERT_H
-#define BOOST_PREDEF_DETAIL__CASSERT_H
-
-#if defined(__cplusplus)
-#include <cassert>
-#else
-#include <assert.h>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/_exception.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/_exception.h
deleted file mode 100644
index f5a6687..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/_exception.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2012
-Distributed under the 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_PREDEF_DETAIL__EXCEPTION_H
-#define BOOST_PREDEF_DETAIL__EXCEPTION_H
-
-#if defined(__cplusplus)
-#include <exception>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/comp_detected.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/comp_detected.h
deleted file mode 100644
index fda1801..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/comp_detected.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright Rene Rivera 2014
-Distributed under the 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_PREDEF_DETAIL_COMP_DETECTED
-#define BOOST_PREDEF_DETAIL_COMP_DETECTED 1
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/endian_compat.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/endian_compat.h
deleted file mode 100644
index 7725e68..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/endian_compat.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright Rene Rivera 2013
-Distributed under the 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_PREDEF_DETAIL_ENDIAN_COMPAT_H
-#define BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
-
-#include <boost/predef/other/endian.h>
-
-#if BOOST_ENDIAN_BIG_BYTE
-#   define BOOST_BIG_ENDIAN
-#   define BOOST_BYTE_ORDER 4321
-#endif
-#if BOOST_ENDIAN_LITTLE_BYTE
-#   define BOOST_LITTLE_ENDIAN
-#   define BOOST_BYTE_ORDER 1234
-#endif
-#if BOOST_ENDIAN_LITTLE_WORD
-#   define BOOST_PDP_ENDIAN
-#   define BOOST_BYTE_ORDER 2134
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/os_detected.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/os_detected.h
deleted file mode 100644
index 08e10f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/os_detected.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright Rene Rivera 2013
-Distributed under the 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_PREDEF_DETAIL_OS_DETECTED
-#define BOOST_PREDEF_DETAIL_OS_DETECTED 1
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/platform_detected.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/platform_detected.h
deleted file mode 100644
index 4faf693..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/platform_detected.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright Rene Rivera 2014
-Distributed under the 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_PREDEF_DETAIL_PLAT_DETECTED
-#define BOOST_PREDEF_DETAIL_PLAT_DETECTED 1
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/test.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/test.h
deleted file mode 100644
index 546a9e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/test.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2012
-Distributed under the 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_PREDEF_DETAIL_TEST_H
-#define BOOST_PREDEF_DETAIL_TEST_H
-
-#if !defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-
-#define BOOST_PREDEF_DECLARE_TEST(x,s)
-
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/test_def.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/test_def.h
deleted file mode 100644
index c2f195b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/detail/test_def.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the Boost 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/predef.h>
-
-#define BOOST_PREDEF_INTERNAL_GENERATE_TESTS
-
-void * add_predef_entry(const char * name, const char * description, unsigned value);
-#undef BOOST_PREDEF_DECLARE_TEST
-#define BOOST_PREDEF_DECLARE_TEST(x,s) void predef_entry_##x() { add_predef_entry(#x, s, x); }
-#include <boost/predef.h>
-
-#undef BOOST_PREDEF_DECLARE_TEST
-#define BOOST_PREDEF_DECLARE_TEST(x,s) predef_entry_##x();
-void create_predef_entries()
-{
-#include <boost/predef.h>
-}
-
-#ifdef __cplusplus
-#include <cstring>
-#include <cstdio>
-#include <cstdlib>
-using namespace std;
-#else
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#endif
-
-typedef struct predef_info
-{
-    const char * name;
-    const char * description;
-    unsigned value;
-} predef_info;
-
-#ifdef __cplusplus
-using namespace std;
-#endif
-
-unsigned generated_predef_info_count = 0;
-predef_info* generated_predef_info = 0;
-void * add_predef_entry(const char * name, const char * description, unsigned value)
-{
-    if (0 == generated_predef_info_count)
-    {
-        generated_predef_info_count = 1;
-        generated_predef_info = (predef_info*)malloc(sizeof(predef_info));
-    }
-    else
-    {
-        generated_predef_info_count += 1;
-        generated_predef_info = (predef_info*)realloc(generated_predef_info,
-            generated_predef_info_count*sizeof(predef_info));
-    }
-    generated_predef_info[generated_predef_info_count-1].name = name;
-    generated_predef_info[generated_predef_info_count-1].description = description;
-    generated_predef_info[generated_predef_info_count-1].value = value;
-    return 0;
-}
-
-int predef_info_compare(const void * a, const void * b)
-{
-    const predef_info * i = (const predef_info *)a;
-    const predef_info * j = (const predef_info *)b;
-    return strcmp(i->name,j->name);
-}
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware.h
deleted file mode 100644
index 972b73a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_HARDWARE_H
-#define BOOST_PREDEF_HARDWARE_H
-#endif
-
-#include <boost/predef/hardware/simd.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd.h
deleted file mode 100644
index ac5c9da..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the Boost 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/predef/hardware/simd/x86.h>
-#include <boost/predef/hardware/simd/x86_amd.h>
-#include <boost/predef/hardware/simd/arm.h>
-#include <boost/predef/hardware/simd/ppc.h>
-
-#ifndef BOOST_PREDEF_HARDWARE_SIMD_H
-#define BOOST_PREDEF_HARDWARE_SIMD_H
-
-#include <boost/predef/version_number.h>
-
-/*`
- [section Using the `BOOST_HW_SIMD_*` predefs]
- [include ../doc/hardware_simd.qbk]
- [endsect]
-
- [/ --------------------------- ]
-
- [section `BOOST_HW_SIMD_*`]
-
- [heading `BOOST_HW_SIMD`]
-
- The SIMD extension detected for a specific architectures.
- Version number depends on the detected extension.
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`BOOST_HW_SIMD_X86_AVAILABLE`] [__predef_detection__]]
-     [[`BOOST_HW_SIMD_X86_AMD_AVAILABLE`] [__predef_detection__]]
-     [[`BOOST_HW_SIMD_ARM_AVAILABLE`] [__predef_detection__]]
-     [[`BOOST_HW_SIMD_PPC_AVAILABLE`] [__predef_detection__]]
-     ]
-
- [include ../include/boost/predef/hardware/simd/x86.h]
- [include ../include/boost/predef/hardware/simd/x86_amd.h]
- [include ../include/boost/predef/hardware/simd/arm.h]
- [include ../include/boost/predef/hardware/simd/ppc.h]
-
- [endsect]
-
- [/ --------------------------- ]
-
- [section `BOOST_HW_SIMD_X86_*_VERSION`]
- [include ../include/boost/predef/hardware/simd/x86/versions.h]
- [endsect]
-
- [section `BOOST_HW_SIMD_X86_AMD_*_VERSION`]
- [include ../include/boost/predef/hardware/simd/x86_amd/versions.h]
- [endsect]
-
- [section `BOOST_HW_SIMD_ARM_*_VERSION`]
- [include ../include/boost/predef/hardware/simd/arm/versions.h]
- [endsect]
-
- [section `BOOST_HW_SIMD_PPC_*_VERSION`]
- [include ../include/boost/predef/hardware/simd/ppc/versions.h]
- [endsect]
-
- */
-
-// We check if SIMD extension of multiples architectures have been detected,
-// if yes, then this is an error!
-//
-// NOTE: _X86_AMD implies _X86, so there is no need to check for it here!
-//
-#if defined(BOOST_HW_SIMD_ARM_AVAILABLE) && defined(BOOST_HW_SIMD_PPC_AVAILABLE) ||\
-    defined(BOOST_HW_SIMD_ARM_AVAILABLE) && defined(BOOST_HW_SIMD_X86_AVAILABLE) ||\
-    defined(BOOST_HW_SIMD_PPC_AVAILABLE) && defined(BOOST_HW_SIMD_X86_AVAILABLE)
-#   error "Multiple SIMD architectures detected, this cannot happen!"
-#endif
-
-#if defined(BOOST_HW_SIMD_X86_AVAILABLE) && defined(BOOST_HW_SIMD_X86_AMD_AVAILABLE)
-    // If both standard _X86 and _X86_AMD are available,
-    // then take the biggest version of the two!
-#   if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_AMD
-#      define BOOST_HW_SIMD BOOST_HW_SIMD_X86
-#   else
-#      define BOOST_HW_SIMD BOOST_HW_SIMD_X86_AMD
-#   endif
-#endif
-
-#if !defined(BOOST_HW_SIMD)
-    // At this point, only one of these two is defined
-#   if defined(BOOST_HW_SIMD_X86_AVAILABLE)
-#      define BOOST_HW_SIMD BOOST_HW_SIMD_X86
-#   endif
-#   if defined(BOOST_HW_SIMD_X86_AMD_AVAILABLE)
-#      define BOOST_HW_SIMD BOOST_HW_SIMD_X86_AMD
-#   endif
-#endif
-
-#if defined(BOOST_HW_SIMD_ARM_AVAILABLE)
-#   define BOOST_HW_SIMD BOOST_HW_SIMD_ARM
-#endif
-
-#if defined(BOOST_HW_SIMD_PPC_AVAILABLE)
-#   define BOOST_HW_SIMD BOOST_HW_SIMD_PPC
-#endif
-
-#if defined(BOOST_HW_SIMD)
-#   define BOOST_HW_SIMD_AVAILABLE
-#else
-#   define BOOST_HW_SIMD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#endif
-
-#define BOOST_HW_SIMD_NAME "Hardware SIMD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD, BOOST_HW_SIMD_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/arm.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/arm.h
deleted file mode 100644
index d067c93..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/arm.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_ARM_H
-#define BOOST_PREDEF_HARDWARE_SIMD_ARM_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/hardware/simd/arm/versions.h>
-
-/*`
- [heading `BOOST_HW_SIMD_ARM`]
-
- The SIMD extension for ARM (*if detected*).
- Version number depends on the most recent detected extension.
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__ARM_NEON__`] [__predef_detection__]]
-     [[`__aarch64__`] [__predef_detection__]]
-     [[`_M_ARM`] [__predef_detection__]]
-     ]
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__ARM_NEON__`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
-     [[`__aarch64__`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
-     [[`_M_ARM`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
-     ]
-
- */
-
-#define BOOST_HW_SIMD_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#undef BOOST_HW_SIMD_ARM
-#if !defined(BOOST_HW_SIMD_ARM) && (defined(__ARM_NEON__) || defined(__aarch64__) || defined (_M_ARM))
-#   define BOOST_HW_SIMD_ARM BOOST_HW_SIMD_ARM_NEON_VERSION
-#endif
-
-#if !defined(BOOST_HW_SIMD_ARM)
-#   define BOOST_HW_SIMD_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#else
-#   define BOOST_HW_SIMD_ARM_AVAILABLE
-#endif
-
-#define BOOST_HW_SIMD_ARM_NAME "ARM SIMD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD_ARM, BOOST_HW_SIMD_ARM_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/arm/versions.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/arm/versions.h
deleted file mode 100644
index 8425b31..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/arm/versions.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_H
-#define BOOST_PREDEF_HARDWARE_SIMD_ARM_VERSIONS_H
-
-#include <boost/predef/version_number.h>
-
-/*`
- Those defines represent ARM SIMD extensions versions.
-
- [note You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.]
- */
-
-// ---------------------------------
-
-/*`
- [heading `BOOST_HW_SIMD_ARM_NEON_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29 NEON]
- ARM extension version number.
-
- Version number is: *1.0.0*.
- */
-#define BOOST_HW_SIMD_ARM_NEON_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/ppc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/ppc.h
deleted file mode 100644
index eef25c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/ppc.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_PPC_H
-#define BOOST_PREDEF_HARDWARE_SIMD_PPC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/hardware/simd/ppc/versions.h>
-
-/*`
- [heading `BOOST_HW_SIMD_PPC`]
-
- The SIMD extension for PowerPC (*if detected*).
- Version number depends on the most recent detected extension.
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__VECTOR4DOUBLE__`] [__predef_detection__]]
-
-     [[`__ALTIVEC__`] [__predef_detection__]]
-     [[`__VEC__`] [__predef_detection__]]
-
-     [[`__VSX__`] [__predef_detection__]]
-     ]
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__VECTOR4DOUBLE__`] [BOOST_HW_SIMD_PPC_QPX_VERSION]]
-
-     [[`__ALTIVEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
-     [[`__VEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
-
-     [[`__VSX__`] [BOOST_HW_SIMD_PPC_VSX_VERSION]]
-     ]
-
- */
-
-#define BOOST_HW_SIMD_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#undef BOOST_HW_SIMD_PPC
-#if !defined(BOOST_HW_SIMD_PPC) && defined(__VECTOR4DOUBLE__)
-#   define BOOST_HW_SIMD_PPC BOOST_HW_SIMD_PPC_QPX_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_PPC) && defined(__VSX__)
-#   define BOOST_HW_SIMD_PPC BOOST_HW_SIMD_PPC_VSX_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_PPC) && (defined(__ALTIVEC__) || defined(__VEC__))
-#   define BOOST_HW_SIMD_PPC BOOST_HW_SIMD_PPC_VMX_VERSION
-#endif
-
-#if !defined(BOOST_HW_SIMD_PPC)
-#   define BOOST_HW_SIMD_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#else
-#   define BOOST_HW_SIMD_PPC_AVAILABLE
-#endif
-
-#define BOOST_HW_SIMD_PPC_NAME "PPC SIMD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD_PPC, BOOST_HW_SIMD_PPC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/ppc/versions.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/ppc/versions.h
deleted file mode 100644
index ffe3f0b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/ppc/versions.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_H
-#define BOOST_PREDEF_HARDWARE_SIMD_PPC_VERSIONS_H
-
-#include <boost/predef/version_number.h>
-
-/*`
- Those defines represent Power PC SIMD extensions versions.
-
- [note You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.]
- */
-
-// ---------------------------------
-
-/*`
- [heading `BOOST_HW_SIMD_PPC_VMX_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/AltiVec#VMX128 VMX] powerpc extension
- version number.
-
- Version number is: *1.0.0*.
- */
-#define BOOST_HW_SIMD_PPC_VMX_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_PPC_VSX_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/AltiVec#VSX VSX] powerpc extension version
- number.
-
- Version number is: *1.1.0*.
- */
-#define BOOST_HW_SIMD_PPC_VSX_VERSION BOOST_VERSION_NUMBER(1, 1, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_PPC_QPX_VERSION`]
-
- The QPX powerpc extension version number.
-
- Version number is: *2.0.0*.
- */
-#define BOOST_HW_SIMD_PPC_QPX_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86.h
deleted file mode 100644
index 88bd81e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_X86_H
-#define BOOST_PREDEF_HARDWARE_SIMD_X86_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/hardware/simd/x86/versions.h>
-
-/*`
- [heading `BOOST_HW_SIMD_X86`]
-
- The SIMD extension for x86 (*if detected*).
- Version number depends on the most recent detected extension.
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__SSE__`] [__predef_detection__]]
-     [[`_M_X64`] [__predef_detection__]]
-     [[`_M_IX86_FP >= 1`] [__predef_detection__]]
-
-     [[`__SSE2__`] [__predef_detection__]]
-     [[`_M_X64`] [__predef_detection__]]
-     [[`_M_IX86_FP >= 2`] [__predef_detection__]]
-
-     [[`__SSE3__`] [__predef_detection__]]
-
-     [[`__SSSE3__`] [__predef_detection__]]
-
-     [[`__SSE4_1__`] [__predef_detection__]]
-
-     [[`__SSE4_2__`] [__predef_detection__]]
-
-     [[`__AVX__`] [__predef_detection__]]
-
-     [[`__FMA__`] [__predef_detection__]]
-
-     [[`__AVX2__`] [__predef_detection__]]
-     ]
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__SSE__`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
-     [[`_M_X64`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
-     [[`_M_IX86_FP >= 1`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
-
-     [[`__SSE2__`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
-     [[`_M_X64`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
-     [[`_M_IX86_FP >= 2`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
-
-     [[`__SSE3__`] [BOOST_HW_SIMD_X86_SSE3_VERSION]]
-
-     [[`__SSSE3__`] [BOOST_HW_SIMD_X86_SSSE3_VERSION]]
-
-     [[`__SSE4_1__`] [BOOST_HW_SIMD_X86_SSE4_1_VERSION]]
-
-     [[`__SSE4_2__`] [BOOST_HW_SIMD_X86_SSE4_2_VERSION]]
-
-     [[`__AVX__`] [BOOST_HW_SIMD_X86_AVX_VERSION]]
-
-     [[`__FMA__`] [BOOST_HW_SIMD_X86_FMA3_VERSION]]
-
-     [[`__AVX2__`] [BOOST_HW_SIMD_X86_AVX2_VERSION]]
-     ]
-
- */
-
-#define BOOST_HW_SIMD_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#undef BOOST_HW_SIMD_X86
-#if !defined(BOOST_HW_SIMD_X86) && defined(__MIC__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_MIC_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__AVX2__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_AVX2_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__AVX__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_AVX_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__FMA__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_FMA_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__SSE4_2__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_SSE4_2_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__SSE4_1__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_SSE4_1_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__SSSE3__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_SSSE3_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__SSE3__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_SSE3_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && (defined(__SSE2__) || defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2))
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_SSE2_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && (defined(__SSE__) || defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 1))
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_SSE_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86) && defined(__MMX__)
-#   define BOOST_HW_SIMD_X86 BOOST_HW_SIMD_X86_MMX_VERSION
-#endif
-
-#if !defined(BOOST_HW_SIMD_X86)
-#   define BOOST_HW_SIMD_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#else
-#   define BOOST_HW_SIMD_X86_AVAILABLE
-#endif
-
-#define BOOST_HW_SIMD_X86_NAME "x86 SIMD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD_X86, BOOST_HW_SIMD_X86_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86/versions.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86/versions.h
deleted file mode 100644
index 0c7a4d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86/versions.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_X86_VERSIONS_H
-#define BOOST_PREDEF_HARDWARE_SIMD_X86_VERSIONS_H
-
-#include <boost/predef/version_number.h>
-
-/*`
- Those defines represent x86 SIMD extensions versions.
-
- [note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.]
- */
-
-// ---------------------------------
-
-/*`
- [heading `BOOST_HW_SIMD_X86_MMX_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/MMX_(instruction_set) MMX] x86 extension
- version number.
-
- Version number is: *0.99.0*.
- */
-#define BOOST_HW_SIMD_X86_MMX_VERSION BOOST_VERSION_NUMBER(0, 99, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSE_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] x86 extension
- version number.
-
- Version number is: *1.0.0*.
- */
-#define BOOST_HW_SIMD_X86_SSE_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSE2_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/SSE2 SSE2] x86 extension version number.
-
- Version number is: *2.0.0*.
- */
-#define BOOST_HW_SIMD_X86_SSE2_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSE3_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/SSE3 SSE3] x86 extension version number.
-
- Version number is: *3.0.0*.
- */
-#define BOOST_HW_SIMD_X86_SSE3_VERSION BOOST_VERSION_NUMBER(3, 0, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSSE3_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/SSSE3 SSSE3] x86 extension version number.
-
- Version number is: *3.1.0*.
- */
-#define BOOST_HW_SIMD_X86_SSSE3_VERSION BOOST_VERSION_NUMBER(3, 1, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSE4_1_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/SSE4#SSE4.1 SSE4_1] x86 extension version
- number.
-
- Version number is: *4.1.0*.
- */
-#define BOOST_HW_SIMD_X86_SSE4_1_VERSION BOOST_VERSION_NUMBER(4, 1, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSE4_2_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/SSE4##SSE4.2 SSE4_2] x86 extension version
- number.
-
- Version number is: *4.2.0*.
- */
-#define BOOST_HW_SIMD_X86_SSE4_2_VERSION BOOST_VERSION_NUMBER(4, 2, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_AVX_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions AVX] x86
- extension version number.
-
- Version number is: *5.0.0*.
- */
-#define BOOST_HW_SIMD_X86_AVX_VERSION BOOST_VERSION_NUMBER(5, 0, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_FMA3_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension
- version number.
-
- Version number is: *5.2.0*.
- */
-#define BOOST_HW_SIMD_X86_FMA3_VERSION BOOST_VERSION_NUMBER(5, 2, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_AVX2_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2]
- x86 extension version number.
-
- Version number is: *5.3.0*.
- */
-#define BOOST_HW_SIMD_X86_AVX2_VERSION BOOST_VERSION_NUMBER(5, 3, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_MIC_VERSION`]
-
- The [@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension
- version number.
-
- Version number is: *9.0.0*.
- */
-#define BOOST_HW_SIMD_X86_MIC_VERSION BOOST_VERSION_NUMBER(9, 0, 0)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86_amd.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86_amd.h
deleted file mode 100644
index c80d1ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86_amd.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_X86_AMD_H
-#define BOOST_PREDEF_HARDWARE_SIMD_X86_AMD_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/hardware/simd/x86_amd/versions.h>
-
-/*`
- [heading `BOOST_HW_SIMD_X86_AMD`]
-
- The SIMD extension for x86 (AMD) (*if detected*).
- Version number depends on the most recent detected extension.
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__SSE4A__`] [__predef_detection__]]
-
-     [[`__FMA4__`] [__predef_detection__]]
-
-     [[`__XOP__`] [__predef_detection__]]
-
-     [[`BOOST_HW_SIMD_X86`] [__predef_detection__]]
-     ]
-
- [table
-     [[__predef_symbol__] [__predef_version__]]
-
-     [[`__SSE4A__`] [BOOST_HW_SIMD_X86_SSE4A_VERSION]]
-
-     [[`__FMA4__`] [BOOST_HW_SIMD_X86_FMA4_VERSION]]
-
-     [[`__XOP__`] [BOOST_HW_SIMD_X86_XOP_VERSION]]
-
-     [[`BOOST_HW_SIMD_X86`] [BOOST_HW_SIMD_X86]]
-     ]
-
- [note This predef includes every other x86 SIMD extensions and also has other
- more specific extensions (FMA4, XOP, SSE4a). You should use this predef
- instead of `BOOST_HW_SIMD_X86` to test if those specific extensions have
- been detected.]
-
- */
-
-#define BOOST_HW_SIMD_X86_AMD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-// AMD CPUs also use x86 architecture. We first try to detect if any AMD
-// specific extension are detected, if yes, then try to detect more recent x86
-// common extensions.
-
-#undef BOOST_HW_SIMD_X86_AMD
-#if !defined(BOOST_HW_SIMD_X86_AMD) && defined(__XOP__)
-#   define BOOST_HW_SIMD_X86_AMD BOOST_HW_SIMD_X86_AMD_XOP_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86_AMD) && defined(__FMA4__)
-#   define BOOST_HW_SIMD_X86_AMD BOOST_HW_SIMD_X86_AMD_FMA4_VERSION
-#endif
-#if !defined(BOOST_HW_SIMD_X86_AMD) && defined(__SSE4A__)
-#   define BOOST_HW_SIMD_X86_AMD BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION
-#endif
-
-#if !defined(BOOST_HW_SIMD_X86_AMD)
-#   define BOOST_HW_SIMD_X86_AMD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#else
-    // At this point, we know that we have an AMD CPU, we do need to check for
-    // other x86 extensions to determine the final version number.
-#   include <boost/predef/hardware/simd/x86.h>
-#   if BOOST_HW_SIMD_X86 > BOOST_HW_SIMD_X86_AMD
-#      undef BOOST_HW_SIMD_X86_AMD
-#      define BOOST_HW_SIMD_X86_AMD BOOST_HW_SIMD_X86
-#   endif
-#   define BOOST_HW_SIMD_X86_AMD_AVAILABLE
-#endif
-
-#define BOOST_HW_SIMD_X86_AMD_NAME "x86 (AMD) SIMD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD_X86_AMD, BOOST_HW_SIMD_X86_AMD_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86_amd/versions.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86_amd/versions.h
deleted file mode 100644
index 1115716..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/hardware/simd/x86_amd/versions.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright Charly Chevalier 2015
-Copyright Joel Falcou 2015
-Distributed under the 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_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_H
-#define BOOST_PREDEF_HARDWARE_SIMD_X86_AMD_VERSIONS_H
-
-#include <boost/predef/version_number.h>
-
-/*`
- Those defines represent x86 (AMD specific) SIMD extensions versions.
-
- [note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.]
- */
-
-
-// ---------------------------------
-
-/*`
- [heading `BOOST_HW_SIMD_X86_SSE4A_VERSION`]
-
- [@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension (AMD specific).
-
- Version number is: *4.0.0*.
- */
-#define BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION BOOST_VERSION_NUMBER(4, 0, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_FMA4_VERSION`]
-
- [@https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set FMA4] x86 extension (AMD specific).
-
- Version number is: *5.1.0*.
- */
-#define BOOST_HW_SIMD_X86_AMD_FMA4_VERSION BOOST_VERSION_NUMBER(5, 1, 0)
-
-/*`
- [heading `BOOST_HW_SIMD_X86_XOP_VERSION`]
-
- [@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension (AMD specific).
-
- Version number is: *5.1.1*.
- */
-#define BOOST_HW_SIMD_X86_AMD_XOP_VERSION BOOST_VERSION_NUMBER(5, 1, 1)
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/language.h
deleted file mode 100644
index 0a317d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_LANGUAGE_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_LANGUAGE_H
-#define BOOST_PREDEF_LANGUAGE_H
-#endif
-
-#include <boost/predef/language/stdc.h>
-#include <boost/predef/language/stdcpp.h>
-#include <boost/predef/language/objc.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/objc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/objc.h
deleted file mode 100644
index 24e3ad3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/objc.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_LANGUAGE_OBJC_H
-#define BOOST_PREDEF_LANGUAGE_OBJC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LANG_OBJC`]
-
-[@http://en.wikipedia.org/wiki/Objective-C Objective-C] language.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__OBJC__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__OBJC__)
-#   undef BOOST_LANG_OBJC
-#   define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_LANG_OBJC
-#   define BOOST_LANG_OBJC_AVAILABLE
-#endif
-
-#define BOOST_LANG_OBJC_NAME "Objective-C"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_OBJC,BOOST_LANG_OBJC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/stdc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/stdc.h
deleted file mode 100644
index db25c12..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/stdc.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_LANGUAGE_STDC_H
-#define BOOST_PREDEF_LANGUAGE_STDC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LANG_STDC`]
-
-[@http://en.wikipedia.org/wiki/C_(programming_language) Standard C] language.
-If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__STDC__`] [__predef_detection__]]
-
-    [[`__STDC_VERSION__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__STDC__)
-#   undef BOOST_LANG_STDC
-#   if defined(__STDC_VERSION__)
-#       if (__STDC_VERSION__ > 100)
-#           define BOOST_LANG_STDC BOOST_PREDEF_MAKE_YYYYMM(__STDC_VERSION__)
-#       else
-#           define BOOST_LANG_STDC BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#   else
-#       define BOOST_LANG_STDC BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LANG_STDC
-#   define BOOST_LANG_STDC_AVAILABLE
-#endif
-
-#define BOOST_LANG_STDC_NAME "Standard C"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDC,BOOST_LANG_STDC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/stdcpp.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/stdcpp.h
deleted file mode 100644
index 34dc8c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/language/stdcpp.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_LANGUAGE_STDCPP_H
-#define BOOST_PREDEF_LANGUAGE_STDCPP_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LANG_STDCPP`]
-
-[@http://en.wikipedia.org/wiki/C%2B%2B Standard C++] language.
-If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
-Because of the way the C++ standardization process works the
-defined version year will not be the commonly known year of the standard.
-Specifically the defined versions are:
-
-[table Detected Version Number vs. C++ Standard Year
-  [[Detected Version Number] [Standard Year] [C++ Standard]]
-  [[27.11.1] [1998] [ISO/IEC 14882:1998]]
-  [[41.12.1] [2011] [ISO/IEC 14882:2011]]
-]
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__cplusplus`] [__predef_detection__]]
-
-    [[`__cplusplus`] [YYYY.MM.1]]
-    ]
- */
-
-#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__cplusplus)
-#   undef BOOST_LANG_STDCPP
-#   if (__cplusplus > 100)
-#       define BOOST_LANG_STDCPP BOOST_PREDEF_MAKE_YYYYMM(__cplusplus)
-#   else
-#       define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LANG_STDCPP
-#   define BOOST_LANG_STDCPP_AVAILABLE
-#endif
-
-#define BOOST_LANG_STDCPP_NAME "Standard C++"
-
-/*`
-[heading `BOOST_LANG_STDCPPCLI`]
-
-[@http://en.wikipedia.org/wiki/C%2B%2B/CLI Standard C++/CLI] language.
-If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__cplusplus_cli`] [__predef_detection__]]
-
-    [[`__cplusplus_cli`] [YYYY.MM.1]]
-    ]
- */
-
-#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__cplusplus_cli)
-#   undef BOOST_LANG_STDCPPCLI
-#   if (__cplusplus_cli > 100)
-#       define BOOST_LANG_STDCPPCLI BOOST_PREDEF_MAKE_YYYYMM(__cplusplus_cli)
-#   else
-#       define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LANG_STDCPPCLI
-#   define BOOST_LANG_STDCPPCLI_AVAILABLE
-#endif
-
-#define BOOST_LANG_STDCPPCLI_NAME "Standard C++/CLI"
-
-/*`
-[heading `BOOST_LANG_STDECPP`]
-
-[@http://en.wikipedia.org/wiki/Embedded_C%2B%2B Standard Embedded C++] language.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__embedded_cplusplus`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__embedded_cplusplus)
-#   undef BOOST_LANG_STDECPP
-#   define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_LANG_STDECPP
-#   define BOOST_LANG_STDECPP_AVAILABLE
-#endif
-
-#define BOOST_LANG_STDECPP_NAME "Standard Embedded C++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDCPP,BOOST_LANG_STDCPP_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDCPPCLI,BOOST_LANG_STDCPPCLI_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_STDECPP,BOOST_LANG_STDECPP_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library.h
deleted file mode 100644
index 40518a9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_LIBRARY_H
-#define BOOST_PREDEF_LIBRARY_H
-#endif
-
-#include <boost/predef/library/c.h>
-#include <boost/predef/library/std.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c.h
deleted file mode 100644
index fa8841e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_C_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_LIBRARY_C_H
-#define BOOST_PREDEF_LIBRARY_C_H
-#endif
-
-#include <boost/predef/library/c/_prefix.h>
-
-#include <boost/predef/library/c/gnu.h>
-#include <boost/predef/library/c/uc.h>
-#include <boost/predef/library/c/vms.h>
-#include <boost/predef/library/c/zos.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/_prefix.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/_prefix.h
deleted file mode 100644
index 12bcb0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/_prefix.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2013
-Distributed under the 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_PREDEF_LIBRARY_C__PREFIX_H
-#define BOOST_PREDEF_LIBRARY_C__PREFIX_H
-
-#include <boost/predef/detail/_cassert.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/gnu.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/gnu.h
deleted file mode 100644
index 9e4ca89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/gnu.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_C_GNU_H
-#define BOOST_PREDEF_LIBRARY_C_GNU_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-#include <boost/predef/library/c/_prefix.h>
-
-#if defined(__STDC__)
-#include <stddef.h>
-#elif defined(__cplusplus)
-#include <cstddef>
-#endif
-
-/*`
-[heading `BOOST_LIB_C_GNU`]
-
-[@http://en.wikipedia.org/wiki/Glibc GNU glibc] Standard C library.
-Version number available as major, and minor.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__GLIBC__`] [__predef_detection__]]
-    [[`__GNU_LIBRARY__`] [__predef_detection__]]
-
-    [[`__GLIBC__`, `__GLIBC_MINOR__`] [V.R.0]]
-    [[`__GNU_LIBRARY__`, `__GNU_LIBRARY_MINOR__`] [V.R.0]]
-    ]
- */
-
-#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__GLIBC__) || defined(__GNU_LIBRARY__)
-#   undef BOOST_LIB_C_GNU
-#   if defined(__GLIBC__)
-#       define BOOST_LIB_C_GNU \
-            BOOST_VERSION_NUMBER(__GLIBC__,__GLIBC_MINOR__,0)
-#   else
-#       define BOOST_LIB_C_GNU \
-            BOOST_VERSION_NUMBER(__GNU_LIBRARY__,__GNU_LIBRARY_MINOR__,0)
-#   endif
-#endif
-
-#if BOOST_LIB_C_GNU
-#   define BOOST_LIB_C_GNU_AVAILABLE
-#endif
-
-#define BOOST_LIB_C_GNU_NAME "GNU"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_GNU,BOOST_LIB_C_GNU_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/uc.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/uc.h
deleted file mode 100644
index 03081e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/uc.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_C_UC_H
-#define BOOST_PREDEF_LIBRARY_C_UC_H
-
-#include <boost/predef/library/c/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_C_UC`]
-
-[@http://en.wikipedia.org/wiki/Uclibc uClibc] Standard C library.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__UCLIBC__`] [__predef_detection__]]
-
-    [[`__UCLIBC_MAJOR__`, `__UCLIBC_MINOR__`, `__UCLIBC_SUBLEVEL__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_C_UC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__UCLIBC__)
-#   undef BOOST_LIB_C_UC
-#   define BOOST_LIB_C_UC BOOST_VERSION_NUMBER(\
-        __UCLIBC_MAJOR__,__UCLIBC_MINOR__,__UCLIBC_SUBLEVEL__)
-#endif
-
-#if BOOST_LIB_C_UC
-#   define BOOST_LIB_C_UC_AVAILABLE
-#endif
-
-#define BOOST_LIB_C_UC_NAME "uClibc"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_UC,BOOST_LIB_C_UC_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/vms.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/vms.h
deleted file mode 100644
index 685f1a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/vms.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_C_VMS_H
-#define BOOST_PREDEF_LIBRARY_C_VMS_H
-
-#include <boost/predef/library/c/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_C_VMS`]
-
-VMS libc Standard C library.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__CRTL_VER`] [__predef_detection__]]
-
-    [[`__CRTL_VER`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_C_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__CRTL_VER)
-#   undef BOOST_LIB_C_VMS
-#   define BOOST_LIB_C_VMS BOOST_PREDEF_MAKE_10_VVRR0PP00(__CRTL_VER)
-#endif
-
-#if BOOST_LIB_C_VMS
-#   define BOOST_LIB_C_VMS_AVAILABLE
-#endif
-
-#define BOOST_LIB_C_VMS_NAME "VMS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_VMS,BOOST_LIB_C_VMS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/zos.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/zos.h
deleted file mode 100644
index 222d355..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/c/zos.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_C_ZOS_H
-#define BOOST_PREDEF_LIBRARY_C_ZOS_H
-
-#include <boost/predef/library/c/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_C_ZOS`]
-
-z/OS libc Standard C library.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__LIBREL__`] [__predef_detection__]]
-
-    [[`__LIBREL__`] [V.R.P]]
-    [[`__TARGET_LIB__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__LIBREL__)
-#   undef BOOST_LIB_C_ZOS
-#   if !defined(BOOST_LIB_C_ZOS) && defined(__LIBREL__)
-#       define BOOST_LIB_C_ZOS BOOST_PREDEF_MAKE_0X_VRRPPPP(__LIBREL__)
-#   endif
-#   if !defined(BOOST_LIB_C_ZOS) && defined(__TARGET_LIB__)
-#       define BOOST_LIB_C_ZOS BOOST_PREDEF_MAKE_0X_VRRPPPP(__TARGET_LIB__)
-#   endif
-#   if !defined(BOOST_LIB_C_ZOS)
-#       define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LIB_C_ZOS
-#   define BOOST_LIB_C_ZOS_AVAILABLE
-#endif
-
-#define BOOST_LIB_C_ZOS_NAME "z/OS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_ZOS,BOOST_LIB_C_ZOS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std.h
deleted file mode 100644
index 403b6ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_LIBRARY_STD_H
-#define BOOST_PREDEF_LIBRARY_STD_H
-#endif
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/library/std/cxx.h>
-#include <boost/predef/library/std/dinkumware.h>
-#include <boost/predef/library/std/libcomo.h>
-#include <boost/predef/library/std/modena.h>
-#include <boost/predef/library/std/msl.h>
-#include <boost/predef/library/std/roguewave.h>
-#include <boost/predef/library/std/sgi.h>
-#include <boost/predef/library/std/stdcpp3.h>
-#include <boost/predef/library/std/stlport.h>
-#include <boost/predef/library/std/vacpp.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/_prefix.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/_prefix.h
deleted file mode 100644
index 932b855..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/_prefix.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2013
-Distributed under the 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_PREDEF_LIBRARY_STD__PREFIX_H
-#define BOOST_PREDEF_LIBRARY_STD__PREFIX_H
-
-/*
-We need to include an STD header to gives us the context
-of which library we are using. The "smallest" code-wise header
-seems to be <exception>. Boost uses <utility> but as far
-as I can tell (RR) it's not a stand-alone header in most
-implementations. Using <exception> also has the benefit of
-being available in EC++, so we get a chance to make this work
-for embedded users. And since it's not a header impacted by TR1
-there's no magic needed for inclusion in the face of the
-Boost.TR1 library.
-*/
-#include <boost/predef/detail/_exception.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/cxx.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/cxx.h
deleted file mode 100644
index 07b52cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/cxx.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_CXX_H
-#define BOOST_PREDEF_LIBRARY_STD_CXX_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_CXX`]
-
-[@http://libcxx.llvm.org/ libc++] C++ Standard Library.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_LIBCPP_VERSION`] [__predef_detection__]]
-
-    [[`_LIBCPP_VERSION`] [V.0.P]]
-    ]
- */
-
-#define BOOST_LIB_STD_CXX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(_LIBCPP_VERSION)
-#   undef BOOST_LIB_STD_CXX
-#   define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VPPP(_LIBCPP_VERSION)
-#endif
-
-#if BOOST_LIB_STD_CXX
-#   define BOOST_LIB_STD_CXX_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_CXX_NAME "libc++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_CXX,BOOST_LIB_STD_CXX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/dinkumware.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/dinkumware.h
deleted file mode 100644
index 0fc0776..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/dinkumware.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_DINKUMWARE_H
-#define BOOST_PREDEF_LIBRARY_STD_DINKUMWARE_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_DINKUMWARE`]
-
-[@http://en.wikipedia.org/wiki/Dinkumware Dinkumware] Standard C++ Library.
-If available version number as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_YVALS`, `__IBMCPP__`] [__predef_detection__]]
-    [[`_CPPLIB_VER`] [__predef_detection__]]
-
-    [[`_CPPLIB_VER`] [V.R.0]]
-    ]
- */
-
-#define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-#   undef BOOST_LIB_STD_DINKUMWARE
-#   if defined(_CPPLIB_VER)
-#       define BOOST_LIB_STD_DINKUMWARE BOOST_PREDEF_MAKE_10_VVRR(_CPPLIB_VER)
-#   else
-#       define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LIB_STD_DINKUMWARE
-#   define BOOST_LIB_STD_DINKUMWARE_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_DINKUMWARE_NAME "Dinkumware"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_DINKUMWARE,BOOST_LIB_STD_DINKUMWARE_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/libcomo.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/libcomo.h
deleted file mode 100644
index 97d4a53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/libcomo.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_LIBCOMO_H
-#define BOOST_PREDEF_LIBRARY_STD_LIBCOMO_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_COMO`]
-
-[@http://www.comeaucomputing.com/libcomo/ Comeau Computing] Standard C++ Library.
-Version number available as major.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__LIBCOMO__`] [__predef_detection__]]
-
-    [[`__LIBCOMO_VERSION__`] [V.0.0]]
-    ]
- */
-
-#define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__LIBCOMO__)
-#   undef BOOST_LIB_STD_COMO
-#   define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER(__LIBCOMO_VERSION__,0,0)
-#endif
-
-#if BOOST_LIB_STD_COMO
-#   define BOOST_LIB_STD_COMO_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_COMO_NAME "Comeau Computing"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_COMO,BOOST_LIB_STD_COMO_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/modena.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/modena.h
deleted file mode 100644
index b67ac62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/modena.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_MODENA_H
-#define BOOST_PREDEF_LIBRARY_STD_MODENA_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_MSIPL`]
-
-[@http://modena.us/ Modena Software Lib++] Standard C++ Library.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`MSIPL_COMPILE_H`] [__predef_detection__]]
-    [[`__MSIPL_COMPILE_H`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(MSIPL_COMPILE_H) || defined(__MSIPL_COMPILE_H)
-#   undef BOOST_LIB_STD_MSIPL
-#   define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_LIB_STD_MSIPL
-#   define BOOST_LIB_STD_MSIPL_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_MSIPL_NAME "Modena Software Lib++"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_MSIPL,BOOST_LIB_STD_MSIPL_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/msl.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/msl.h
deleted file mode 100644
index d73c74c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/msl.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_MSL_H
-#define BOOST_PREDEF_LIBRARY_STD_MSL_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_MSL`]
-
-[@http://www.freescale.com/ Metrowerks] Standard C++ Library.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__MSL_CPP__`] [__predef_detection__]]
-    [[`__MSL__`] [__predef_detection__]]
-
-    [[`__MSL_CPP__`] [V.R.P]]
-    [[`__MSL__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_STD_MSL BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__MSL_CPP__) || defined(__MSL__)
-#   undef BOOST_LIB_STD_MSL
-#   if defined(__MSL_CPP__)
-#       define BOOST_LIB_STD_MSL BOOST_PREDEF_MAKE_0X_VRPP(__MSL_CPP__)
-#   else
-#       define BOOST_LIB_STD_MSL BOOST_PREDEF_MAKE_0X_VRPP(__MSL__)
-#   endif
-#endif
-
-#if BOOST_LIB_STD_MSL
-#   define BOOST_LIB_STD_MSL_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_MSL_NAME "Metrowerks"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_MSL,BOOST_LIB_STD_MSL_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/roguewave.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/roguewave.h
deleted file mode 100644
index 9c3f288..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/roguewave.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_ROGUEWAVE_H
-#define BOOST_PREDEF_LIBRARY_STD_ROGUEWAVE_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_RW`]
-
-[@http://stdcxx.apache.org/ Roguewave] Standard C++ library.
-If available version number as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__STD_RWCOMPILER_H__`] [__predef_detection__]]
-    [[`_RWSTD_VER`] [__predef_detection__]]
-
-    [[`_RWSTD_VER`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-#   undef BOOST_LIB_STD_RW
-#   if defined(_RWSTD_VER)
-#       if _RWSTD_VER < 0x010000
-#           define BOOST_LIB_STD_RW BOOST_PREDEF_MAKE_0X_VVRRP(_RWSTD_VER)
-#       else
-#           define BOOST_LIB_STD_RW BOOST_PREDEF_MAKE_0X_VVRRPP(_RWSTD_VER)
-#       endif
-#   else
-#       define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LIB_STD_RW
-#   define BOOST_LIB_STD_RW_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_RW_NAME "Roguewave"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_RW,BOOST_LIB_STD_RW_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/sgi.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/sgi.h
deleted file mode 100644
index 5d19bba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/sgi.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_SGI_H
-#define BOOST_PREDEF_LIBRARY_STD_SGI_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_SGI`]
-
-[@http://www.sgi.com/tech/stl/ SGI] Standard C++ library.
-If available version number as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__STL_CONFIG_H`] [__predef_detection__]]
-
-    [[`__SGI_STL`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__STL_CONFIG_H)
-#   undef BOOST_LIB_STD_SGI
-#   if defined(__SGI_STL)
-#       define BOOST_LIB_STD_SGI BOOST_PREDEF_MAKE_0X_VRP(__SGI_STL)
-#   else
-#       define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_LIB_STD_SGI
-#   define BOOST_LIB_STD_SGI_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_SGI_NAME "SGI"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_SGI,BOOST_LIB_STD_SGI_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/stdcpp3.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/stdcpp3.h
deleted file mode 100644
index c980292..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/stdcpp3.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_STDCPP3_H
-#define BOOST_PREDEF_LIBRARY_STD_STDCPP3_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_GNU`]
-
-[@http://gcc.gnu.org/libstdc++/ GNU libstdc++] Standard C++ library.
-Version number available as year (from 1970), month, and day.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__GLIBCXX__`] [__predef_detection__]]
-    [[`__GLIBCPP__`] [__predef_detection__]]
-
-    [[`__GLIBCXX__`] [V.R.P]]
-    [[`__GLIBCPP__`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_STD_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
-#   undef BOOST_LIB_STD_GNU
-#   if defined(__GLIBCXX__)
-#       define BOOST_LIB_STD_GNU BOOST_PREDEF_MAKE_YYYYMMDD(__GLIBCXX__)
-#   else
-#       define BOOST_LIB_STD_GNU BOOST_PREDEF_MAKE_YYYYMMDD(__GLIBCPP__)
-#   endif
-#endif
-
-#if BOOST_LIB_STD_GNU
-#   define BOOST_LIB_STD_GNU_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_GNU_NAME "GNU"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_GNU,BOOST_LIB_STD_GNU_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/stlport.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/stlport.h
deleted file mode 100644
index c09483b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/stlport.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_STLPORT_H
-#define BOOST_PREDEF_LIBRARY_STD_STLPORT_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_STLPORT`]
-
-[@http://sourceforge.net/projects/stlport/ STLport Standard C++] library.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__SGI_STL_PORT`] [__predef_detection__]]
-    [[`_STLPORT_VERSION`] [__predef_detection__]]
-
-    [[`_STLPORT_MAJOR`, `_STLPORT_MINOR`, `_STLPORT_PATCHLEVEL`] [V.R.P]]
-    [[`_STLPORT_VERSION`] [V.R.P]]
-    [[`__SGI_STL_PORT`] [V.R.P]]
-    ]
- */
-
-#define BOOST_LIB_STD_STLPORT BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-#   undef BOOST_LIB_STD_STLPORT
-#   if !defined(BOOST_LIB_STD_STLPORT) && defined(_STLPORT_MAJOR)
-#       define BOOST_LIB_STD_STLPORT \
-            BOOST_VERSION_NUMBER(_STLPORT_MAJOR,_STLPORT_MINOR,_STLPORT_PATCHLEVEL)
-#   endif
-#   if !defined(BOOST_LIB_STD_STLPORT) && defined(_STLPORT_VERSION)
-#       define BOOST_LIB_STD_STLPORT BOOST_PREDEF_MAKE_0X_VRP(_STLPORT_VERSION)
-#   endif
-#   if !defined(BOOST_LIB_STD_STLPORT)
-#       define BOOST_LIB_STD_STLPORT BOOST_PREDEF_MAKE_0X_VRP(__SGI_STL_PORT)
-#   endif
-#endif
-
-#if BOOST_LIB_STD_STLPORT
-#   define BOOST_LIB_STD_STLPORT_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_STLPORT_NAME "STLport"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_STLPORT,BOOST_LIB_STD_STLPORT_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/vacpp.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/vacpp.h
deleted file mode 100644
index 632f846..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/library/std/vacpp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_LIBRARY_STD_VACPP_H
-#define BOOST_PREDEF_LIBRARY_STD_VACPP_H
-
-#include <boost/predef/library/std/_prefix.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_LIB_STD_IBM`]
-
-[@http://www.ibm.com/software/awdtools/xlcpp/ IBM VACPP Standard C++] library.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__IBMCPP__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__IBMCPP__)
-#   undef BOOST_LIB_STD_IBM
-#   define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_LIB_STD_IBM
-#   define BOOST_LIB_STD_IBM_AVAILABLE
-#endif
-
-#define BOOST_LIB_STD_IBM_NAME "IBM VACPP"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_STD_IBM,BOOST_LIB_STD_IBM_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/make.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/make.h
deleted file mode 100644
index 4f2f9ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/make.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the Boost 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/predef/detail/test.h>
-
-#ifndef BOOST_PREDEF_MAKE_H
-#define BOOST_PREDEF_MAKE_H
-
-/*
-Shorthands for the common version number formats used by vendors...
-*/
-
-/*`
-[heading `BOOST_PREDEF_MAKE_..` macros]
-
-These set of macros decompose common vendor version number
-macros which are composed version, revision, and patch digits.
-The naming convention indicates:
-
-* The base of the specified version number. "`BOOST_PREDEF_MAKE_0X`" for
-  hexadecimal digits, and "`BOOST_PREDEF_MAKE_10`" for decimal digits.
-* The format of the vendor version number. Where "`V`" indicates the version digits,
-  "`R`" indicates the revision digits, "`P`" indicates the patch digits, and "`0`"
-  indicates an ignored digit.
-
-Macros are:
-*/
-/*` `BOOST_PREDEF_MAKE_0X_VRP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRP(V) BOOST_VERSION_NUMBER((V&0xF00)>>8,(V&0xF0)>>4,(V&0xF))
-/*` `BOOST_PREDEF_MAKE_0X_VVRP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRP(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xF0)>>4,(V&0xF))
-/*` `BOOST_PREDEF_MAKE_0X_VRPP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRPP(V) BOOST_VERSION_NUMBER((V&0xF000)>>12,(V&0xF00)>>8,(V&0xFF))
-/*` `BOOST_PREDEF_MAKE_0X_VVRR(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRR(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xFF),0)
-/*` `BOOST_PREDEF_MAKE_0X_VRRPPPP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRRPPPP(V) BOOST_VERSION_NUMBER((V&0xF000000)>>24,(V&0xFF0000)>>16,(V&0xFFFF))
-/*` `BOOST_PREDEF_MAKE_0X_VVRRP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRRP(V) BOOST_VERSION_NUMBER((V&0xFF000)>>12,(V&0xFF0)>>4,(V&0xF))
-/*` `BOOST_PREDEF_MAKE_0X_VRRPP000(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRRPP000(V) BOOST_VERSION_NUMBER((V&0xF0000000)>>28,(V&0xFF00000)>>20,(V&0xFF000)>>12)
-/*` `BOOST_PREDEF_MAKE_0X_VVRRPP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRRPP(V) BOOST_VERSION_NUMBER((V&0xFF0000)>>16,(V&0xFF00)>>8,(V&0xFF))
-/*` `BOOST_PREDEF_MAKE_10_VPPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000)
-/*` `BOOST_PREDEF_MAKE_10_VRP(V)` */
-#define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10)
-/*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */
-#define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10)
-/*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100)
-/*` `BOOST_PREDEF_MAKE_10_VRR(V)` */
-#define BOOST_PREDEF_MAKE_10_VRR(V) BOOST_VERSION_NUMBER(((V)/100)%10,(V)%100,0)
-/*` `BOOST_PREDEF_MAKE_10_VRRPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%10,((V)/100)%100,(V)%100)
-/*` `BOOST_PREDEF_MAKE_10_VRR000(V)` */
-#define BOOST_PREDEF_MAKE_10_VRR000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/1000)%100,0)
-/*` `BOOST_PREDEF_MAKE_10_VV00(V)` */
-#define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
-/*` `BOOST_PREDEF_MAKE_10_VVRR(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
-/*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100)
-/*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100)
-/*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR0PPPP(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,(V)%10000)
-/*` `BOOST_PREDEF_MAKE_10_VVRR00PP00(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR00PP00(V) BOOST_VERSION_NUMBER(((V)/100000000)%100,((V)/1000000)%100,((V)/100)%100)
-/*`
-[heading `BOOST_PREDEF_MAKE_*..` date macros]
-
-Date decomposition macros return a date in the relative to the 1970
-Epoch date. If the month is not available, January 1st is used as the month and day.
-If the day is not available, but the month is, the 1st of the month is used as the day.
-*/
-/*` `BOOST_PREDEF_MAKE_DATE(Y,M,D)` */
-#define BOOST_PREDEF_MAKE_DATE(Y,M,D) BOOST_VERSION_NUMBER((Y)%10000-1970,(M)%100,(D)%100)
-/*` `BOOST_PREDEF_MAKE_YYYYMMDD(V)` */
-#define BOOST_PREDEF_MAKE_YYYYMMDD(V) BOOST_PREDEF_MAKE_DATE(((V)/10000)%10000,((V)/100)%100,(V)%100)
-/*` `BOOST_PREDEF_MAKE_YYYY(V)` */
-#define BOOST_PREDEF_MAKE_YYYY(V) BOOST_PREDEF_MAKE_DATE(V,1,1)
-/*` `BOOST_PREDEF_MAKE_YYYYMM(V)` */
-#define BOOST_PREDEF_MAKE_YYYYMM(V) BOOST_PREDEF_MAKE_DATE((V)/100,(V)%100,1)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os.h
deleted file mode 100644
index bedf99e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Copyright Franz Detro 2014
-Distributed under the 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_PREDEF_OS_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_OS_H
-#define BOOST_PREDEF_OS_H
-#endif
-
-#include <boost/predef/os/aix.h>
-#include <boost/predef/os/amigaos.h>
-#include <boost/predef/os/android.h>
-#include <boost/predef/os/beos.h>
-#include <boost/predef/os/bsd.h>
-#include <boost/predef/os/cygwin.h>
-#include <boost/predef/os/haiku.h>
-#include <boost/predef/os/hpux.h>
-#include <boost/predef/os/irix.h>
-#include <boost/predef/os/ios.h>
-#include <boost/predef/os/linux.h>
-#include <boost/predef/os/macos.h>
-#include <boost/predef/os/os400.h>
-#include <boost/predef/os/qnxnto.h>
-#include <boost/predef/os/solaris.h>
-#include <boost/predef/os/unix.h>
-#include <boost/predef/os/vms.h>
-#include <boost/predef/os/windows.h>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/aix.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/aix.h
deleted file mode 100644
index 3e5a953..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/aix.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_AIX_H
-#define BOOST_PREDEF_OS_AIX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_AIX`]
-
-[@http://en.wikipedia.org/wiki/AIX_operating_system IBM AIX] operating system.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_AIX`] [__predef_detection__]]
-    [[`__TOS_AIX__`] [__predef_detection__]]
-
-    [[`_AIX43`] [4.3.0]]
-    [[`_AIX41`] [4.1.0]]
-    [[`_AIX32`] [3.2.0]]
-    [[`_AIX3`] [3.0.0]]
-    ]
- */
-
-#define BOOST_OS_AIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(_AIX) || defined(__TOS_AIX__) \
-    )
-#   undef BOOST_OS_AIX
-#   if !defined(BOOST_OS_AIX) && defined(_AIX43)
-#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,3,0)
-#   endif
-#   if !defined(BOOST_OS_AIX) && defined(_AIX41)
-#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(4,1,0)
-#   endif
-#   if !defined(BOOST_OS_AIX) && defined(_AIX32)
-#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,2,0)
-#   endif
-#   if !defined(BOOST_OS_AIX) && defined(_AIX3)
-#       define BOOST_OS_AIX BOOST_VERSION_NUMBER(3,0,0)
-#   endif
-#   if !defined(BOOST_OS_AIX)
-#       define BOOST_OS_AIX BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_AIX
-#   define BOOST_OS_AIX_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_AIX_NAME "IBM AIX"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AIX,BOOST_OS_AIX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/amigaos.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/amigaos.h
deleted file mode 100644
index 7b32ddf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/amigaos.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_AMIGAOS_H
-#define BOOST_PREDEF_OS_AMIGAOS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_AMIGAOS`]
-
-[@http://en.wikipedia.org/wiki/AmigaOS AmigaOS] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`AMIGA`] [__predef_detection__]]
-    [[`__amigaos__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(AMIGA) || defined(__amigaos__) \
-    )
-#   undef BOOST_OS_AMIGAOS
-#   define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_AMIGAOS
-#   define BOOST_OS_AMIGAOS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_AMIGAOS_NAME "AmigaOS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AMIGAOS,BOOST_OS_AMIGAOS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/android.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/android.h
deleted file mode 100644
index 00836e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/android.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright Rene Rivera 2015
-Distributed under the 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_PREDEF_OS_ADROID_H
-#define BOOST_PREDEF_OS_ADROID_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_ANDROID`]
-
-[@http://en.wikipedia.org/wiki/Android_%28operating_system%29 Android] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__ANDROID__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_ANDROID BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__ANDROID__) \
-    )
-#   undef BOOST_OS_ANDROID
-#   define BOOST_OS_ANDROID BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_ANDROID
-#   define BOOST_OS_ANDROID_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_ANDROID_NAME "Android"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_ANDROID,BOOST_OS_ANDROID_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/beos.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/beos.h
deleted file mode 100644
index 19f4cb7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/beos.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_BEOS_H
-#define BOOST_PREDEF_OS_BEOS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_BEOS`]
-
-[@http://en.wikipedia.org/wiki/BeOS BeOS] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__BEOS__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_BEOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__BEOS__) \
-    )
-#   undef BOOST_OS_BEOS
-#   define BOOST_OS_BEOS BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_BEOS
-#   define BOOST_OS_BEOS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BEOS_NAME "BeOS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BEOS,BOOST_OS_BEOS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd.h
deleted file mode 100644
index fad9aed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_BSD_H
-#define BOOST_PREDEF_OS_BSD_H
-
-/* Special case: OSX will define BSD predefs if the sys/param.h
- * header is included. We can guard against that, but only if we
- * detect OSX first. Hence we will force include OSX detection
- * before doing any BSD detection.
- */
-#include <boost/predef/os/macos.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_BSD`]
-
-[@http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD] operating system.
-
-BSD has various branch operating systems possible and each detected
-individually. This detects the following variations and sets a specific
-version number macro to match:
-
-* `BOOST_OS_BSD_DRAGONFLY` [@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD]
-* `BOOST_OS_BSD_FREE` [@http://en.wikipedia.org/wiki/Freebsd FreeBSD]
-* `BOOST_OS_BSD_BSDI` [@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS]
-* `BOOST_OS_BSD_NET` [@http://en.wikipedia.org/wiki/Netbsd NetBSD]
-* `BOOST_OS_BSD_OPEN` [@http://en.wikipedia.org/wiki/Openbsd OpenBSD]
-
-[note The general `BOOST_OS_BSD` is set in all cases to indicate some form
-of BSD. If the above variants is detected the corresponding macro is also set.]
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`BSD`] [__predef_detection__]]
-    [[`_SYSTYPE_BSD`] [__predef_detection__]]
-
-    [[`BSD4_2`] [4.2.0]]
-    [[`BSD4_3`] [4.3.0]]
-    [[`BSD4_4`] [4.4.0]]
-    [[`BSD`] [V.R.0]]
-    ]
- */
-
-#include <boost/predef/os/bsd/bsdi.h>
-#include <boost/predef/os/bsd/dragonfly.h>
-#include <boost/predef/os/bsd/free.h>
-#include <boost/predef/os/bsd/open.h>
-#include <boost/predef/os/bsd/net.h>
-
-#ifndef BOOST_OS_BSD
-#define BOOST_OS_BSD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#endif
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(BSD) || \
-    defined(_SYSTYPE_BSD) \
-    )
-#   undef BOOST_OS_BSD
-#   include <sys/param.h>
-#   if !defined(BOOST_OS_BSD) && defined(BSD4_4)
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,4,0)
-#   endif
-#   if !defined(BOOST_OS_BSD) && defined(BSD4_3)
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,3,0)
-#   endif
-#   if !defined(BOOST_OS_BSD) && defined(BSD4_2)
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,2,0)
-#   endif
-#   if !defined(BOOST_OS_BSD) && defined(BSD)
-#       define BOOST_OS_BSD BOOST_PREDEF_MAKE_10_VVRR(BSD)
-#   endif
-#   if !defined(BOOST_OS_BSD)
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_BSD
-#   define BOOST_OS_BSD_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_NAME "BSD"
-
-#else
-
-#include <boost/predef/os/bsd/bsdi.h>
-#include <boost/predef/os/bsd/dragonfly.h>
-#include <boost/predef/os/bsd/free.h>
-#include <boost/predef/os/bsd/open.h>
-#include <boost/predef/os/bsd/net.h>
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD,BOOST_OS_BSD_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/bsdi.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/bsdi.h
deleted file mode 100644
index afdcd3e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/bsdi.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright Rene Rivera 2012-2015
-Distributed under the 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_PREDEF_OS_BSD_BSDI_H
-#define BOOST_PREDEF_OS_BSD_BSDI_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_BSDI`]
-
-[@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__bsdi__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__bsdi__) \
-    )
-#   ifndef BOOST_OS_BSD_AVAILABLE
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#       define BOOST_OS_BSD_AVAILABLE
-#   endif
-#   undef BOOST_OS_BSD_BSDI
-#   define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_BSD_BSDI
-#   define BOOST_OS_BSD_BSDI_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_BSDI_NAME "BSDi BSD/OS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_BSDI,BOOST_OS_BSD_BSDI_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/dragonfly.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/dragonfly.h
deleted file mode 100644
index 1d07579..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/dragonfly.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright Rene Rivera 2012-2015
-Distributed under the 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_PREDEF_OS_BSD_DRAGONFLY_H
-#define BOOST_PREDEF_OS_BSD_DRAGONFLY_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_DRAGONFLY`]
-
-[@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__DragonFly__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_BSD_DRAGONFLY BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__DragonFly__) \
-    )
-#   ifndef BOOST_OS_BSD_AVAILABLE
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#       define BOOST_OS_BSD_AVAILABLE
-#   endif
-#   undef BOOST_OS_BSD_DRAGONFLY
-#   if defined(__DragonFly__)
-#       define BOOST_OS_DRAGONFLY_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_BSD_DRAGONFLY
-#   define BOOST_OS_BSD_DRAGONFLY_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_DRAGONFLY_NAME "DragonFly BSD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_DRAGONFLY,BOOST_OS_BSD_DRAGONFLY_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/free.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/free.h
deleted file mode 100644
index 248011a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/free.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright Rene Rivera 2012-2015
-Distributed under the 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_PREDEF_OS_BSD_FREE_H
-#define BOOST_PREDEF_OS_BSD_FREE_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_FREE`]
-
-[@http://en.wikipedia.org/wiki/Freebsd FreeBSD] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__FreeBSD__`] [__predef_detection__]]
-
-    [[`__FreeBSD_version`] [V.R.P]]
-    ]
- */
-
-#define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__FreeBSD__) \
-    )
-#   ifndef BOOST_OS_BSD_AVAILABLE
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#       define BOOST_OS_BSD_AVAILABLE
-#   endif
-#   undef BOOST_OS_BSD_FREE
-#   if defined(__FreeBSD_version)
-#       if __FreeBSD_version < 500000
-#           define BOOST_OS_BSD_FREE \
-                BOOST_PREDEF_MAKE_10_VRP000(__FreeBSD_version)
-#       else
-#           define BOOST_OS_BSD_FREE \
-                BOOST_PREDEF_MAKE_10_VRR000(__FreeBSD_version)
-#       endif
-#   else
-#       define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_BSD_FREE
-#   define BOOST_OS_BSD_FREE_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_FREE_NAME "Free BSD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_FREE,BOOST_OS_BSD_FREE_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/net.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/net.h
deleted file mode 100644
index 387cbde..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/net.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-Copyright Rene Rivera 2012-2015
-Distributed under the 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_PREDEF_OS_BSD_NET_H
-#define BOOST_PREDEF_OS_BSD_NET_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_NET`]
-
-[@http://en.wikipedia.org/wiki/Netbsd NetBSD] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__NETBSD__`] [__predef_detection__]]
-    [[`__NetBSD__`] [__predef_detection__]]
-
-    [[`__NETBSD_version`] [V.R.P]]
-    [[`NetBSD0_8`] [0.8.0]]
-    [[`NetBSD0_9`] [0.9.0]]
-    [[`NetBSD1_0`] [1.0.0]]
-    [[`__NetBSD_Version`] [V.R.P]]
-    ]
- */
-
-#define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__NETBSD__) || defined(__NetBSD__) \
-    )
-#   ifndef BOOST_OS_BSD_AVAILABLE
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#       define BOOST_OS_BSD_AVAILABLE
-#   endif
-#   undef BOOST_OS_BSD_NET
-#   if defined(__NETBSD__)
-#       if defined(__NETBSD_version)
-#           if __NETBSD_version < 500000
-#               define BOOST_OS_BSD_NET \
-                    BOOST_PREDEF_MAKE_10_VRP000(__NETBSD_version)
-#           else
-#               define BOOST_OS_BSD_NET \
-                    BOOST_PREDEF_MAKE_10_VRR000(__NETBSD_version)
-#           endif
-#       else
-#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#   elif defined(__NetBSD__)
-#       if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_8)
-#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,8,0)
-#       endif
-#       if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_9)
-#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,9,0)
-#       endif
-#       if !defined(BOOST_OS_BSD_NET) && defined(NetBSD1_0)
-#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(1,0,0)
-#       endif
-#       if !defined(BOOST_OS_BSD_NET) && defined(__NetBSD_Version)
-#           define BOOST_OS_BSD_NET \
-                BOOST_PREDEF_MAKE_10_VVRR00PP00(__NetBSD_Version)
-#       endif
-#       if !defined(BOOST_OS_BSD_NET)
-#           define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#   endif
-#endif
-
-#if BOOST_OS_BSD_NET
-#   define BOOST_OS_BSD_NET_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_NET_NAME "DragonFly BSD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_NET,BOOST_OS_BSD_NET_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/open.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/open.h
deleted file mode 100644
index 423103a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/bsd/open.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-Copyright Rene Rivera 2012-2015
-Distributed under the 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_PREDEF_OS_BSD_OPEN_H
-#define BOOST_PREDEF_OS_BSD_OPEN_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_OPEN`]
-
-[@http://en.wikipedia.org/wiki/Openbsd OpenBSD] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__OpenBSD__`] [__predef_detection__]]
-
-    [[`OpenBSD2_0`] [2.0.0]]
-    [[`OpenBSD2_1`] [2.1.0]]
-    [[`OpenBSD2_2`] [2.2.0]]
-    [[`OpenBSD2_3`] [2.3.0]]
-    [[`OpenBSD2_4`] [2.4.0]]
-    [[`OpenBSD2_5`] [2.5.0]]
-    [[`OpenBSD2_6`] [2.6.0]]
-    [[`OpenBSD2_7`] [2.7.0]]
-    [[`OpenBSD2_8`] [2.8.0]]
-    [[`OpenBSD2_9`] [2.9.0]]
-    [[`OpenBSD3_0`] [3.0.0]]
-    [[`OpenBSD3_1`] [3.1.0]]
-    [[`OpenBSD3_2`] [3.2.0]]
-    [[`OpenBSD3_3`] [3.3.0]]
-    [[`OpenBSD3_4`] [3.4.0]]
-    [[`OpenBSD3_5`] [3.5.0]]
-    [[`OpenBSD3_6`] [3.6.0]]
-    [[`OpenBSD3_7`] [3.7.0]]
-    [[`OpenBSD3_8`] [3.8.0]]
-    [[`OpenBSD3_9`] [3.9.0]]
-    [[`OpenBSD4_0`] [4.0.0]]
-    [[`OpenBSD4_1`] [4.1.0]]
-    [[`OpenBSD4_2`] [4.2.0]]
-    [[`OpenBSD4_3`] [4.3.0]]
-    [[`OpenBSD4_4`] [4.4.0]]
-    [[`OpenBSD4_5`] [4.5.0]]
-    [[`OpenBSD4_6`] [4.6.0]]
-    [[`OpenBSD4_7`] [4.7.0]]
-    [[`OpenBSD4_8`] [4.8.0]]
-    [[`OpenBSD4_9`] [4.9.0]]
-    ]
- */
-
-#define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__OpenBSD__) \
-    )
-#   ifndef BOOST_OS_BSD_AVAILABLE
-#       define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-#       define BOOST_OS_BSD_AVAILABLE
-#   endif
-#   undef BOOST_OS_BSD_OPEN
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_0)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,0,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_1)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,1,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_2)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,2,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_3)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,3,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_4)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,4,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_5)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,5,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_6)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,6,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_7)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,7,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_8)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,8,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_9)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,9,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_0)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,0,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_1)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,1,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_2)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,2,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_3)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,3,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_4)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,4,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_5)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,5,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_6)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,6,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_7)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,7,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_8)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,8,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_9)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,9,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_0)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_1)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,1,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_2)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,2,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_3)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,3,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_4)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,4,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_5)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,5,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_6)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,6,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_7)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,7,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_8)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,8,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_9)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,9,0)
-#   endif
-#   if !defined(BOOST_OS_BSD_OPEN)
-#       define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_BSD_OPEN
-#   define BOOST_OS_BSD_OPEN_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_OPEN_NAME "OpenBSD"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_OPEN,BOOST_OS_BSD_OPEN_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/cygwin.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/cygwin.h
deleted file mode 100644
index 9d36f0f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/cygwin.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_CYGWIN_H
-#define BOOST_PREDEF_OS_CYGWIN_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_CYGWIN`]
-
-[@http://en.wikipedia.org/wiki/Cygwin Cygwin] evironment.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__CYGWIN__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__CYGWIN__) \
-    )
-#   undef BOOST_OS_CYGWIN
-#   define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_CYGWIN
-#   define BOOST_OS_CYGWIN_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_CYGWIN_NAME "Cygwin"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_CYGWIN,BOOST_OS_CYGWIN_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/haiku.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/haiku.h
deleted file mode 100644
index d79dbea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/haiku.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Jessica Hamilton 2014
-Copyright Rene Rivera 2014-2015
-Distributed under the 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_PREDEF_OS_HAIKU_H
-#define BOOST_PREDEF_OS_HAIKU_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_HAIKU`]
-
-[@http://en.wikipedia.org/wiki/Haiku_(operating_system) Haiku] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__HAIKU__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_HAIKU BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__HAIKU__) \
-    )
-#   undef BOOST_OS_HAIKU
-#   define BOOST_OS_HAIKU BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_HAIKU
-#   define BOOST_OS_HAIKU_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_HAIKU_NAME "Haiku"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_HAIKU,BOOST_OS_HAIKU_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/hpux.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/hpux.h
deleted file mode 100644
index 29243f4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/hpux.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_HPUX_H
-#define BOOST_PREDEF_OS_HPUX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_HPUX`]
-
-[@http://en.wikipedia.org/wiki/HP-UX HP-UX] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`hpux`] [__predef_detection__]]
-    [[`_hpux`] [__predef_detection__]]
-    [[`__hpux`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_HPUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(hpux) || defined(_hpux) || defined(__hpux) \
-    )
-#   undef BOOST_OS_HPUX
-#   define BOOST_OS_HPUX BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_HPUX
-#   define BOOST_OS_HPUX_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_HPUX_NAME "HP-UX"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_HPUX,BOOST_OS_HPUX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/ios.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/ios.h
deleted file mode 100644
index f853815..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/ios.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright Franz Detro 2014
-Copyright Rene Rivera 2015
-Distributed under the 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_PREDEF_OS_IOS_H
-#define BOOST_PREDEF_OS_IOS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_IOS`]
-
-[@http://en.wikipedia.org/wiki/iOS iOS] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__APPLE__`] [__predef_detection__]]
-    [[`__MACH__`] [__predef_detection__]]
-    [[`__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__`] [__predef_detection__]]
-
-    [[`__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__`] [__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__*1000]]
-    ]
- */
-
-#define BOOST_OS_IOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__APPLE__) && defined(__MACH__) && \
-    defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) \
-    )
-#   undef BOOST_OS_IOS
-#   define BOOST_OS_IOS (__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__*1000)
-#endif
-
-#if BOOST_OS_IOS
-#   define BOOST_OS_IOS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_IOS_NAME "iOS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_IOS,BOOST_OS_IOS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/irix.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/irix.h
deleted file mode 100644
index fa6ac41..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/irix.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_IRIX_H
-#define BOOST_PREDEF_OS_IRIX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_IRIX`]
-
-[@http://en.wikipedia.org/wiki/Irix IRIX] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`sgi`] [__predef_detection__]]
-    [[`__sgi`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_IRIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(sgi) || defined(__sgi) \
-    )
-#   undef BOOST_OS_IRIX
-#   define BOOST_OS_IRIX BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_IRIX
-#   define BOOST_OS_IRIX_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_IRIX_NAME "IRIX"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_IRIX,BOOST_OS_IRIX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/linux.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/linux.h
deleted file mode 100644
index a297d08..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/linux.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_LINUX_H
-#define BOOST_PREDEF_OS_LINUX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_LINUX`]
-
-[@http://en.wikipedia.org/wiki/Linux Linux] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`linux`] [__predef_detection__]]
-    [[`__linux`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_LINUX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(linux) || defined(__linux) \
-    )
-#   undef BOOST_OS_LINUX
-#   define BOOST_OS_LINUX BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_LINUX
-#   define BOOST_OS_LINUX_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_LINUX_NAME "Linux"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_LINUX,BOOST_OS_LINUX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/macos.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/macos.h
deleted file mode 100644
index 4afb30d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/macos.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Copyright Franz Detro 2014
-Distributed under the 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_PREDEF_OS_MACOS_H
-#define BOOST_PREDEF_OS_MACOS_H
-
-/* Special case: iOS will define the same predefs as MacOS, and additionally
- '__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__'. We can guard against that,
- but only if we detect iOS first. Hence we will force include iOS detection
- * before doing any MacOS detection.
- */
-#include <boost/predef/os/ios.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_MACOS`]
-
-[@http://en.wikipedia.org/wiki/Mac_OS Mac OS] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`macintosh`] [__predef_detection__]]
-    [[`Macintosh`] [__predef_detection__]]
-    [[`__APPLE__`] [__predef_detection__]]
-    [[`__MACH__`] [__predef_detection__]]
-
-    [[`__APPLE__`, `__MACH__`] [10.0.0]]
-    [[ /otherwise/ ] [9.0.0]]
-    ]
- */
-
-#define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(macintosh) || defined(Macintosh) || \
-    (defined(__APPLE__) && defined(__MACH__)) \
-    )
-#   undef BOOST_OS_MACOS
-#   if !defined(BOOST_OS_MACOS) && defined(__APPLE__) && defined(__MACH__)
-#       define BOOST_OS_MACOS BOOST_VERSION_NUMBER(10,0,0)
-#   endif
-#   if !defined(BOOST_OS_MACOS)
-#       define BOOST_OS_MACOS BOOST_VERSION_NUMBER(9,0,0)
-#   endif
-#endif
-
-#if BOOST_OS_MACOS
-#   define BOOST_OS_MACOS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_MACOS_NAME "Mac OS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,BOOST_OS_MACOS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/os400.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/os400.h
deleted file mode 100644
index b3446c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/os400.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_OS_OS400_H
-#define BOOST_PREDEF_OS_OS400_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_OS400`]
-
-[@http://en.wikipedia.org/wiki/IBM_i IBM OS/400] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__OS400__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_OS400 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__OS400__) \
-    )
-#   undef BOOST_OS_OS400
-#   define BOOST_OS_OS400 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_OS400
-#   define BOOST_OS_OS400_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_OS400_NAME "IBM OS/400"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_OS400,BOOST_OS_OS400_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/qnxnto.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/qnxnto.h
deleted file mode 100644
index e76fbf2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/qnxnto.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_QNXNTO_H
-#define BOOST_PREDEF_OS_QNXNTO_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_QNX`]
-
-[@http://en.wikipedia.org/wiki/QNX QNX] operating system.
-Version number available as major, and minor if possible. And
-version 4 is specifically detected.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__QNX__`] [__predef_detection__]]
-    [[`__QNXNTO__`] [__predef_detection__]]
-
-    [[`_NTO_VERSION`] [V.R.0]]
-    [[`__QNX__`] [4.0.0]]
-    ]
- */
-
-#define BOOST_OS_QNX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(__QNX__) || defined(__QNXNTO__) \
-    )
-#   undef BOOST_OS_QNX
-#   if !defined(BOOST_OS_QNX) && defined(_NTO_VERSION)
-#       define BOOST_OS_QNX BOOST_PREDEF_MAKE_10_VVRR(_NTO_VERSION)
-#   endif
-#   if !defined(BOOST_OS_QNX) && defined(__QNX__)
-#       define BOOST_OS_QNX BOOST_VERSION_NUMBER(4,0,0)
-#   endif
-#   if !defined(BOOST_OS_QNX)
-#       define BOOST_OS_QNX BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_QNX
-#   define BOOST_OS_QNX_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_QNX_NAME "QNX"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_QNX,BOOST_OS_QNX_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/solaris.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/solaris.h
deleted file mode 100644
index 75ddc91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/solaris.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_SOLARIS_H
-#define BOOST_PREDEF_OS_SOLARIS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_SOLARIS`]
-
-[@http://en.wikipedia.org/wiki/Solaris_Operating_Environment Solaris] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`sun`] [__predef_detection__]]
-    [[`__sun`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(sun) || defined(__sun) \
-    )
-#   undef BOOST_OS_SOLARIS
-#   define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_SOLARIS
-#   define BOOST_OS_SOLARIS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_SOLARIS_NAME "Solaris"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_SOLARIS,BOOST_OS_SOLARIS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/unix.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/unix.h
deleted file mode 100644
index a607104..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/unix.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_UNIX_H
-#define BOOST_PREDEF_OS_UNIX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_UNIX`]
-
-[@http://en.wikipedia.org/wiki/Unix Unix Environment] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`unix`] [__predef_detection__]]
-    [[`__unix`] [__predef_detection__]]
-    [[`_XOPEN_SOURCE`] [__predef_detection__]]
-    [[`_POSIX_SOURCE`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_UNIX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(unix) || defined(__unix) || \
-    defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE)
-#   undef BOOST_OS_UNIX
-#   define BOOST_OS_UNIX BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_UNIX
-#   define BOOST_OS_UNIX_AVAILABLE
-#endif
-
-#define BOOST_OS_UNIX_NAME "Unix Environment"
-
-/*`
-[heading `BOOST_OS_SVR4`]
-
-[@http://en.wikipedia.org/wiki/UNIX_System_V SVR4 Environment] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__sysv__`] [__predef_detection__]]
-    [[`__SVR4`] [__predef_detection__]]
-    [[`__svr4__`] [__predef_detection__]]
-    [[`_SYSTYPE_SVR4`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_SVR4 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__sysv__) || defined(__SVR4) || \
-    defined(__svr4__) || defined(_SYSTYPE_SVR4)
-#   undef BOOST_OS_SVR4
-#   define BOOST_OS_SVR4 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_SVR4
-#   define BOOST_OS_SVR4_AVAILABLE
-#endif
-
-#define BOOST_OS_SVR4_NAME "SVR4 Environment"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_UNIX,BOOST_OS_UNIX_NAME)
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_SVR4,BOOST_OS_SVR4_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/vms.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/vms.h
deleted file mode 100644
index 2f8f786..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/vms.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright Rene Rivera 2011-2015
-Distributed under the 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_PREDEF_OS_VMS_H
-#define BOOST_PREDEF_OS_VMS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_VMS`]
-
-[@http://en.wikipedia.org/wiki/Vms VMS] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`VMS`] [__predef_detection__]]
-    [[`__VMS`] [__predef_detection__]]
-
-    [[`__VMS_VER`] [V.R.P]]
-    ]
- */
-
-#define BOOST_OS_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(VMS) || defined(__VMS) \
-    )
-#   undef BOOST_OS_VMS
-#   if defined(__VMS_VER)
-#       define BOOST_OS_VMS BOOST_PREDEF_MAKE_10_VVRR00PP00(__VMS_VER)
-#   else
-#       define BOOST_OS_VMS BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#if BOOST_OS_VMS
-#   define BOOST_OS_VMS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_VMS_NAME "VMS"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_VMS,BOOST_OS_VMS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/windows.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/windows.h
deleted file mode 100644
index 9db4390..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/os/windows.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_OS_WINDOWS_H
-#define BOOST_PREDEF_OS_WINDOWS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_WINDOWS`]
-
-[@http://en.wikipedia.org/wiki/Category:Microsoft_Windows Microsoft Windows] operating system.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`_WIN32`] [__predef_detection__]]
-    [[`_WIN64`] [__predef_detection__]]
-    [[`__WIN32__`] [__predef_detection__]]
-    [[`__TOS_WIN__`] [__predef_detection__]]
-    [[`__WINDOWS__`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !defined(BOOST_PREDEF_DETAIL_OS_DETECTED) && ( \
-    defined(_WIN32) || defined(_WIN64) || \
-    defined(__WIN32__) || defined(__TOS_WIN__) || \
-    defined(__WINDOWS__) \
-    )
-#   undef BOOST_OS_WINDOWS
-#   define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_WINDOWS
-#   define BOOST_OS_WINDOWS_AVAILABLE
-#   include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_WINDOWS_NAME "Microsoft Windows"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_WINDOWS,BOOST_OS_WINDOWS_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/other.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/other.h
deleted file mode 100644
index c09ad49..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/other.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-Copyright Rene Rivera 2013-2015
-Distributed under the 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_PREDEF_OTHER_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_OTHER_H
-#define BOOST_PREDEF_OTHER_H
-#endif
-
-#include <boost/predef/other/endian.h>
-/*#include <boost/predef/other/.h>*/
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/other/endian.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/other/endian.h
deleted file mode 100644
index 6d1f43f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/other/endian.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
-Copyright Rene Rivera 2013-2015
-Distributed under the 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_PREDEF_ENDIAN_H
-#define BOOST_PREDEF_ENDIAN_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-#include <boost/predef/library/c/gnu.h>
-#include <boost/predef/os/macos.h>
-#include <boost/predef/os/bsd.h>
-#include <boost/predef/os/android.h>
-
-/*`
-[heading `BOOST_ENDIAN_*`]
-
-Detection of endian memory ordering. There are four defined macros
-in this header that define the various generally possible endian
-memory orderings:
-
-* `BOOST_ENDIAN_BIG_BYTE`, byte-swapped big-endian.
-* `BOOST_ENDIAN_BIG_WORD`, word-swapped big-endian.
-* `BOOST_ENDIAN_LITTLE_BYTE`, byte-swapped little-endian.
-* `BOOST_ENDIAN_LITTLE_WORD`, word-swapped little-endian.
-
-The detection is conservative in that it only identifies endianness
-that it knows for certain. In particular bi-endianness is not
-indicated as is it not practically possible to determine the
-endianness from anything but an operating system provided
-header. And the currently known headers do not define that
-programatic bi-endianness is available.
-
-This implementation is a compilation of various publicly available
-information and acquired knowledge:
-
-# The indispensable documentation of "Pre-defined Compiler Macros"
-  [@http://sourceforge.net/p/predef/wiki/Endianness Endianness].
-# The various endian specifications available in the
-  [@http://wikipedia.org/ Wikipedia] computer architecture pages.
-# Generally available searches for headers that define endianness.
- */
-
-#define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#define BOOST_ENDIAN_BIG_WORD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-/* GNU libc provides a header defining __BYTE_ORDER, or _BYTE_ORDER.
- * And some OSs provide some for of endian header also.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
-    !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-#   if BOOST_LIB_C_GNU || BOOST_OS_ANDROID
-#       include <endian.h>
-#   else
-#       if BOOST_OS_MACOS
-#           include <machine/endian.h>
-#       else
-#           if BOOST_OS_BSD
-#               if BOOST_OS_BSD_OPEN
-#                   include <machine/endian.h>
-#               else
-#                   include <sys/endian.h>
-#               endif
-#           endif
-#       endif
-#   endif
-#   if defined(__BYTE_ORDER)
-#       if defined(__BIG_ENDIAN) && (__BYTE_ORDER == __BIG_ENDIAN)
-#           undef BOOST_ENDIAN_BIG_BYTE
-#           define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#       if defined(__LITTLE_ENDIAN) && (__BYTE_ORDER == __LITTLE_ENDIAN)
-#           undef BOOST_ENDIAN_LITTLE_BYTE
-#           define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#       if defined(__PDP_ENDIAN) && (__BYTE_ORDER == __PDP_ENDIAN)
-#           undef BOOST_ENDIAN_LITTLE_WORD
-#           define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#   endif
-#   if !defined(__BYTE_ORDER) && defined(_BYTE_ORDER)
-#       if defined(_BIG_ENDIAN) && (_BYTE_ORDER == _BIG_ENDIAN)
-#           undef BOOST_ENDIAN_BIG_BYTE
-#           define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#       if defined(_LITTLE_ENDIAN) && (_BYTE_ORDER == _LITTLE_ENDIAN)
-#           undef BOOST_ENDIAN_LITTLE_BYTE
-#           define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#       if defined(_PDP_ENDIAN) && (_BYTE_ORDER == _PDP_ENDIAN)
-#           undef BOOST_ENDIAN_LITTLE_WORD
-#           define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#   endif
-#endif
-
-/* Built-in byte-swpped big-endian macros.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
-    !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-#   if (defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)) || \
-       (defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)) || \
-        defined(__ARMEB__) || \
-        defined(__THUMBEB__) || \
-        defined(__AARCH64EB__) || \
-        defined(_MIPSEB) || \
-        defined(__MIPSEB) || \
-        defined(__MIPSEB__)
-#       undef BOOST_ENDIAN_BIG_BYTE
-#       define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-/* Built-in byte-swpped little-endian macros.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
-    !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-#   if (defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)) || \
-       (defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)) || \
-        defined(__ARMEL__) || \
-        defined(__THUMBEL__) || \
-        defined(__AARCH64EL__) || \
-        defined(_MIPSEL) || \
-        defined(__MIPSEL) || \
-        defined(__MIPSEL__)
-#       undef BOOST_ENDIAN_LITTLE_BYTE
-#       define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-/* Some architectures are strictly one endianess (as opposed
- * the current common bi-endianess).
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
-    !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-#   include <boost/predef/architecture.h>
-#   if BOOST_ARCH_M68K || \
-        BOOST_ARCH_PARISC || \
-        BOOST_ARCH_SPARC || \
-        BOOST_ARCH_SYS370 || \
-        BOOST_ARCH_SYS390 || \
-        BOOST_ARCH_Z
-#       undef BOOST_ENDIAN_BIG_BYTE
-#       define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#   if BOOST_ARCH_AMD64 || \
-        BOOST_ARCH_IA64 || \
-        BOOST_ARCH_X86 || \
-        BOOST_ARCH_BLACKFIN
-#       undef BOOST_ENDIAN_LITTLE_BYTE
-#       define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-/* Windows on ARM, if not otherwise detected/specified, is always
- * byte-swaped little-endian.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
-    !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-#   if BOOST_ARCH_ARM
-#       include <boost/predef/os/windows.h>
-#       if BOOST_OS_WINDOWS
-#           undef BOOST_ENDIAN_LITTLE_BYTE
-#           define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-#       endif
-#   endif
-#endif
-
-#if BOOST_ENDIAN_BIG_BYTE
-#   define BOOST_ENDIAN_BIG_BYTE_AVAILABLE
-#endif
-#if BOOST_ENDIAN_BIG_WORD
-#   define BOOST_ENDIAN_BIG_WORD_BYTE_AVAILABLE
-#endif
-#if BOOST_ENDIAN_LITTLE_BYTE
-#   define BOOST_ENDIAN_LITTLE_BYTE_AVAILABLE
-#endif
-#if BOOST_ENDIAN_LITTLE_WORD
-#   define BOOST_ENDIAN_LITTLE_WORD_BYTE_AVAILABLE
-#endif
-
-#define BOOST_ENDIAN_BIG_BYTE_NAME "Byte-Swapped Big-Endian"
-#define BOOST_ENDIAN_BIG_WORD_NAME "Word-Swapped Big-Endian"
-#define BOOST_ENDIAN_LITTLE_BYTE_NAME "Byte-Swapped Little-Endian"
-#define BOOST_ENDIAN_LITTLE_WORD_NAME "Word-Swapped Little-Endian"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_BIG_BYTE,BOOST_ENDIAN_BIG_BYTE_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_BIG_WORD,BOOST_ENDIAN_BIG_WORD_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_LITTLE_BYTE,BOOST_ENDIAN_LITTLE_BYTE_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_LITTLE_WORD,BOOST_ENDIAN_LITTLE_WORD_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform.h
deleted file mode 100644
index c0c8706..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright Rene Rivera 2013-2015
-Copyright (c) Microsoft Corporation 2014
-Distributed under the 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_PREDEF_PLATFORM_H) || defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-#ifndef BOOST_PREDEF_PLATFORM_H
-#define BOOST_PREDEF_PLATFORM_H
-#endif
-
-#include <boost/predef/platform/mingw.h>
-#include <boost/predef/platform/windows_desktop.h>
-#include <boost/predef/platform/windows_store.h>
-#include <boost/predef/platform/windows_phone.h>
-#include <boost/predef/platform/windows_runtime.h>
-/*#include <boost/predef/platform/.h>*/
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/mingw.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/mingw.h
deleted file mode 100644
index 64c5837..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/mingw.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-Copyright Rene Rivera 2008-2015
-Distributed under the 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_PREDEF_COMPILER_MINGW_H
-#define BOOST_PREDEF_COMPILER_MINGW_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_PLAT_MINGW`]
-
-[@http://en.wikipedia.org/wiki/MinGW MinGW] platform.
-Version number available as major, minor, and patch.
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`__MINGW32__`] [__predef_detection__]]
-    [[`__MINGW64__`] [__predef_detection__]]
-
-    [[`__MINGW64_VERSION_MAJOR`, `__MINGW64_VERSION_MINOR`] [V.R.0]]
-    [[`__MINGW32_VERSION_MAJOR`, `__MINGW32_VERSION_MINOR`] [V.R.0]]
-    ]
- */
-
-#define BOOST_PLAT_MINGW BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__MINGW32__) || defined(__MINGW64__)
-#   include <_mingw.h>
-#   if !defined(BOOST_PLAT_MINGW_DETECTION) && (defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR))
-#       define BOOST_PLAT_MINGW_DETECTION \
-            BOOST_VERSION_NUMBER(__MINGW64_VERSION_MAJOR,__MINGW64_VERSION_MINOR,0)
-#   endif
-#   if !defined(BOOST_PLAT_MINGW_DETECTION) && (defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR))
-#       define BOOST_PLAT_MINGW_DETECTION \
-            BOOST_VERSION_NUMBER(__MINGW32_MAJOR_VERSION,__MINGW32_MINOR_VERSION,0)
-#   endif
-#   if !defined(BOOST_PLAT_MINGW_DETECTION)
-#       define BOOST_PLAT_MINGW_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
-#   endif
-#endif
-
-#ifdef BOOST_PLAT_MINGW_DETECTION
-#   define BOOST_PLAT_MINGW_AVAILABLE
-#   if defined(BOOST_PREDEF_DETAIL_PLAT_DETECTED)
-#       define BOOST_PLAT_MINGW_EMULATED BOOST_PLAT_MINGW_DETECTION
-#   else
-#       undef BOOST_PLAT_MINGW
-#       define BOOST_PLAT_MINGW BOOST_PLAT_MINGW_DETECTION
-#   endif
-#   include <boost/predef/detail/platform_detected.h>
-#endif
-
-#define BOOST_PLAT_MINGW_NAME "MinGW"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW,BOOST_PLAT_MINGW_NAME)
-
-#ifdef BOOST_PLAT_MINGW_EMULATED
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW_EMULATED,BOOST_PLAT_MINGW_NAME)
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_desktop.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_desktop.h
deleted file mode 100644
index 62719b4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_desktop.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright (c) Microsoft Corporation 2014
-Copyright Rene Rivera 2015
-Distributed under the 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_PREDEF_PLAT_WINDOWS_DESKTOP_H
-#define BOOST_PREDEF_PLAT_WINDOWS_DESKTOP_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-#include <boost/predef/os/windows.h>
-
-/*`
-[heading `BOOST_PLAT_WINDOWS_DESKTOP`]
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`!WINAPI_FAMILY`] [__predef_detection__]]
-    [[`WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_PLAT_WINDOWS_DESKTOP BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if BOOST_OS_WINDOWS && \
-    ( !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) )
-#   undef BOOST_PLAT_WINDOWS_DESKTOP
-#   define BOOST_PLAT_WINDOWS_DESKTOP BOOST_VERSION_NUMBER_AVAILABLE
-#endif
- 
-#if BOOST_PLAT_WINDOWS_DESKTOP
-#   define BOOST_PLAT_WINDOWS_DESKTOP_AVAILABLE
-#   include <boost/predef/detail/platform_detected.h>
-#endif
-
-#define BOOST_PLAT_WINDOWS_DESKTOP_NAME "Windows Desktop"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_DESKTOP,BOOST_PLAT_WINDOWS_DESKTOP_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_phone.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_phone.h
deleted file mode 100644
index df583ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_phone.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright (c) Microsoft Corporation 2014
-Copyright Rene Rivera 2015
-Distributed under the 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_PREDEF_PLAT_WINDOWS_PHONE_H
-#define BOOST_PREDEF_PLAT_WINDOWS_PHONE_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-#include <boost/predef/os/windows.h>
-
-/*`
-[heading `BOOST_PLAT_WINDOWS_PHONE`]
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_PLAT_WINDOWS_PHONE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
-#   undef BOOST_PLAT_WINDOWS_PHONE
-#   define BOOST_PLAT_WINDOWS_PHONE BOOST_VERSION_NUMBER_AVAILABLE
-#endif
- 
-#if BOOST_PLAT_WINDOWS_PHONE
-#   define BOOST_PLAT_WINDOWS_PHONE_AVAILABLE
-#   include <boost/predef/detail/platform_detected.h>
-#endif
-
-#define BOOST_PLAT_WINDOWS_PHONE_NAME "Windows Phone"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_PHONE,BOOST_PLAT_WINDOWS_PHONE_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_runtime.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_runtime.h
deleted file mode 100644
index 03be514..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_runtime.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright (c) Microsoft Corporation 2014
-Copyright Rene Rivera 2015
-Distributed under the 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_PREDEF_PLAT_WINDOWS_RUNTIME_H
-#define BOOST_PREDEF_PLAT_WINDOWS_RUNTIME_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-#include <boost/predef/os/windows.h>
-
-/*`
-[heading `BOOST_PLAT_WINDOWS_RUNTIME`]
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`WINAPI_FAMILY == WINAPI_FAMILY_APP`] [__predef_detection__]]
-    [[`WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_PLAT_WINDOWS_RUNTIME BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && \
-    ( WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP )
-#   undef BOOST_PLAT_WINDOWS_RUNTIME
-#   define BOOST_PLAT_WINDOWS_RUNTIME BOOST_VERSION_NUMBER_AVAILABLE
-#endif
- 
-#if BOOST_PLAT_WINDOWS_RUNTIME
-#   define BOOST_PLAT_WINDOWS_RUNTIME_AVAILABLE
-#   include <boost/predef/detail/platform_detected.h>
-#endif
-
-#define BOOST_PLAT_WINDOWS_RUNTIME_NAME "Windows Runtime"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_RUNTIME,BOOST_PLAT_WINDOWS_RUNTIME_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_store.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_store.h
deleted file mode 100644
index a34968b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/platform/windows_store.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright (c) Microsoft Corporation 2014
-Copyright Rene Rivera 2015
-Distributed under the 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_PREDEF_PLAT_WINDOWS_STORE_H
-#define BOOST_PREDEF_PLAT_WINDOWS_STORE_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-#include <boost/predef/os/windows.h>
-
-/*`
-[heading `BOOST_PLAT_WINDOWS_STORE`]
-
-[table
-    [[__predef_symbol__] [__predef_version__]]
-
-    [[`WINAPI_FAMILY == WINAPI_FAMILY_APP`] [__predef_detection__]]
-    ]
- */
-
-#define BOOST_PLAT_WINDOWS_STORE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if BOOST_OS_WINDOWS && defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_APP
-#   undef BOOST_PLAT_WINDOWS_STORE
-#   define BOOST_PLAT_WINDOWS_STORE BOOST_VERSION_NUMBER_AVAILABLE
-#endif
- 
-#if BOOST_PLAT_WINDOWS_STORE
-#   define BOOST_PLAT_WINDOWS_STORE_AVAILABLE
-#   include <boost/predef/detail/platform_detected.h>
-#endif
-
-#define BOOST_PLAT_WINDOWS_STORE_NAME "Windows Store"
-
-#endif
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_WINDOWS_STORE,BOOST_PLAT_WINDOWS_STORE_NAME)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/version.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/version.h
deleted file mode 100644
index 8745c94..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/version.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-Copyright Rene Rivera 2015-2016
-Distributed under the 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_PREDEF_VERSION_H
-#define BOOST_PREDEF_VERSION_H
-
-#include <boost/predef/version_number.h>
-
-#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,4,1)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/predef/version_number.h b/src/rbgl_trimmed_boost_1_61_0/boost/predef/version_number.h
deleted file mode 100644
index 3903a36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/predef/version_number.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright Rene Rivera 2005, 2008-2013
-Distributed under the 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_PREDEF_VERSION_NUMBER_H
-#define BOOST_PREDEF_VERSION_NUMBER_H
-
-/*`
-[heading `BOOST_VERSION_NUMBER`]
-
-``
-BOOST_VERSION_NUMBER(major,minor,patch)
-``
-
-Defines standard version numbers, with these properties:
-
-* Decimal base whole numbers in the range \[0,1000000000).
-  The number range is designed to allow for a (2,2,5) triplet.
-  Which fits within a 32 bit value.
-* The `major` number can be in the \[0,99\] range.
-* The `minor` number can be in the \[0,99\] range.
-* The `patch` number can be in the \[0,99999\] range.
-* Values can be specified in any base. As the defined value
-  is an constant expression.
-* Value can be directly used in both preprocessor and compiler
-  expressions for comparison to other similarly defined values.
-* The implementation enforces the individual ranges for the
-  major, minor, and patch numbers. And values over the ranges
-  are truncated (modulo).
-
-*/
-#define BOOST_VERSION_NUMBER(major,minor,patch) \
-    ( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) )
-
-#define BOOST_VERSION_NUMBER_MAX \
-    BOOST_VERSION_NUMBER(99,99,99999)
-
-#define BOOST_VERSION_NUMBER_ZERO \
-    BOOST_VERSION_NUMBER(0,0,0)
-
-#define BOOST_VERSION_NUMBER_MIN \
-    BOOST_VERSION_NUMBER(0,0,1)
-
-#define BOOST_VERSION_NUMBER_AVAILABLE \
-    BOOST_VERSION_NUMBER_MIN
-
-#define BOOST_VERSION_NUMBER_NOT_AVAILABLE \
-    BOOST_VERSION_NUMBER_ZERO
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor.hpp
deleted file mode 100644
index b5c928e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic.hpp
deleted file mode 100644
index b1be781..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/add.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/add.hpp
deleted file mode 100644
index 5a29f55..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/dec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/dec.hpp
deleted file mode 100644
index 23dd0a3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/dec.hpp
+++ /dev/null
@@ -1,289 +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
-# define BOOST_PP_DEC_257 256
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/detail/div_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/detail/div_base.hpp
deleted file mode 100644
index 106632a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/div.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/div.hpp
deleted file mode 100644
index 277596c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/inc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/inc.hpp
deleted file mode 100644
index 1597ab8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/mod.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/mod.hpp
deleted file mode 100644
index 62489d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/mul.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/mul.hpp
deleted file mode 100644
index f3d9ffc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/sub.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/arithmetic/sub.hpp
deleted file mode 100644
index 5262cda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array.hpp
deleted file mode 100644
index 3b6a771..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# 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/enum.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>
-# include <boost/preprocessor/array/to_list.hpp>
-# include <boost/preprocessor/array/to_seq.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/data.hpp
deleted file mode 100644
index 10c926a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/detail/get_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/detail/get_data.hpp
deleted file mode 100644
index 15ae740..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/detail/get_data.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.                                    *
-#  *     Distributed under the Boost Software License, Version 1.0. (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_DETAIL_GET_DATA_HPP
-# define BOOST_PREPROCESSOR_ARRAY_DETAIL_GET_DATA_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/facilities/is_1.hpp>
-#
-# /* BOOST_PP_ARRAY_DETAIL_GET_DATA */
-#
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA_NONE(size, data)
-
-# if BOOST_PP_VARIADICS && !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400)
-# 	 if BOOST_PP_VARIADICS_MSVC
-# 		define BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_DEFAULT(size, data) BOOST_PP_TUPLE_REM(size) data
-# 		define BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_CAT(size, data) BOOST_PP_TUPLE_REM_CAT(size) data
-# 		define BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) \
-			BOOST_PP_IIF \
-				( \
-				BOOST_PP_IS_1(size), \
-				BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_CAT, \
-				BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY_VC_DEFAULT \
-				) \
-			(size,data) \
-/**/
-#    else
-# 		define BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) BOOST_PP_TUPLE_REM(size) data
-#    endif
-# else
-# 	 define BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) BOOST_PP_TUPLE_REM(size) data
-# endif
-
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA(size, data) \
-	BOOST_PP_IF \
-		( \
-		size, \
-		BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY, \
-		BOOST_PP_ARRAY_DETAIL_GET_DATA_NONE \
-		) \
-	(size,data) \
-/**/
-#
-# endif /* BOOST_PREPROCESSOR_ARRAY_DETAIL_GET_DATA_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/elem.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/elem.hpp
deleted file mode 100644
index 105ba24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/enum.hpp
deleted file mode 100644
index 9710f9c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/enum.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_ENUM_HPP
-# define BOOST_PREPROCESSOR_ARRAY_ENUM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ARRAY_ENUM */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_ARRAY_ENUM(array) BOOST_PP_ARRAY_ENUM_I(BOOST_PP_TUPLE_REM_CTOR, array)
-#    define BOOST_PP_ARRAY_ENUM_I(m, args) BOOST_PP_ARRAY_ENUM_II(m, args)
-#    define BOOST_PP_ARRAY_ENUM_II(m, args) BOOST_PP_CAT(m ## args,)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_ARRAY_ENUM(array) BOOST_PP_ARRAY_ENUM_I(array)
-#    define BOOST_PP_ARRAY_ENUM_I(array) BOOST_PP_TUPLE_REM_CTOR ## array
-# else
-#    define BOOST_PP_ARRAY_ENUM(array) BOOST_PP_TUPLE_REM_CTOR array
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/insert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/insert.hpp
deleted file mode 100644
index b8fe5b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/pop_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/pop_back.hpp
deleted file mode 100644
index 29d2a45..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/pop_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/pop_front.hpp
deleted file mode 100644
index 7d9069c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/push_back.hpp
deleted file mode 100644
index 5dce9e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/push_back.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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>
-# include <boost/preprocessor/array/detail/get_data.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_ARRAY_DETAIL_GET_DATA(size,data) BOOST_PP_COMMA_IF(size) elem))
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/push_front.hpp
deleted file mode 100644
index a6c6dc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/push_front.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002.
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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>
-# include <boost/preprocessor/array/detail/get_data.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_ARRAY_DETAIL_GET_DATA(size,data)))
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/remove.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/remove.hpp
deleted file mode 100644
index 0260900..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/replace.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/replace.hpp
deleted file mode 100644
index 10a1f09..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/reverse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/reverse.hpp
deleted file mode 100644
index a6a4f75..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/size.hpp
deleted file mode 100644
index 3f370ee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_list.hpp
deleted file mode 100644
index 4cb45b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_list.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_TO_LIST_HPP
-# define BOOST_PREPROCESSOR_ARRAY_TO_LIST_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/to_list.hpp>
-#
-# /* BOOST_PP_ARRAY_TO_LIST */
-#
-#    define BOOST_PP_ARRAY_TO_LIST(array) \
-		BOOST_PP_IF \
-			( \
-			BOOST_PP_ARRAY_SIZE(array), \
-			BOOST_PP_ARRAY_TO_LIST_DO, \
-			BOOST_PP_ARRAY_TO_LIST_EMPTY \
-			) \
-		(array) \
-/**/
-#
-#    define BOOST_PP_ARRAY_TO_LIST_EMPTY(array) BOOST_PP_NIL
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_ARRAY_TO_LIST_DO(array) BOOST_PP_ARRAY_TO_LIST_I(BOOST_PP_TUPLE_TO_LIST, array)
-#    define BOOST_PP_ARRAY_TO_LIST_I(m, args) BOOST_PP_ARRAY_TO_LIST_II(m, args)
-#    define BOOST_PP_ARRAY_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_ARRAY_TO_LIST_DO(array) BOOST_PP_ARRAY_TO_LIST_I(array)
-#    define BOOST_PP_ARRAY_TO_LIST_I(array) BOOST_PP_TUPLE_TO_LIST ## array
-# else
-#    define BOOST_PP_ARRAY_TO_LIST_DO(array) BOOST_PP_TUPLE_TO_LIST array
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_seq.hpp
deleted file mode 100644
index 7303f34..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_seq.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_TO_SEQ_HPP
-# define BOOST_PREPROCESSOR_ARRAY_TO_SEQ_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/to_seq.hpp>
-#
-# /* BOOST_PP_ARRAY_TO_SEQ */
-#
-#    define BOOST_PP_ARRAY_TO_SEQ(array) \
-		BOOST_PP_IF \
-			( \
-			BOOST_PP_ARRAY_SIZE(array), \
-			BOOST_PP_ARRAY_TO_SEQ_DO, \
-			BOOST_PP_ARRAY_TO_SEQ_EMPTY \
-			) \
-		(array) \
-/**/
-#    define BOOST_PP_ARRAY_TO_SEQ_EMPTY(array)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_ARRAY_TO_SEQ_I(BOOST_PP_TUPLE_TO_SEQ, array)
-#    define BOOST_PP_ARRAY_TO_SEQ_I(m, args) BOOST_PP_ARRAY_TO_SEQ_II(m, args)
-#    define BOOST_PP_ARRAY_TO_SEQ_II(m, args) BOOST_PP_CAT(m ## args,)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_ARRAY_TO_SEQ_I(array)
-#    define BOOST_PP_ARRAY_TO_SEQ_I(array) BOOST_PP_TUPLE_TO_SEQ ## array
-# else
-#    define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_TUPLE_TO_SEQ array
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_tuple.hpp
deleted file mode 100644
index 0d8defa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/array/to_tuple.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_TO_TUPLE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_TO_TUPLE_HPP
-#
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/control/if.hpp>
-#
-# /* BOOST_PP_ARRAY_TO_TUPLE */
-#
-#    define BOOST_PP_ARRAY_TO_TUPLE(array) \
-		BOOST_PP_IF \
-			( \
-			BOOST_PP_ARRAY_SIZE(array), \
-			BOOST_PP_ARRAY_DATA, \
-			BOOST_PP_ARRAY_TO_TUPLE_EMPTY \
-			) \
-		(array) \
-/**/
-#    define BOOST_PP_ARRAY_TO_TUPLE_EMPTY(array)
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/assert_msg.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/assert_msg.hpp
deleted file mode 100644
index 924dba1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/assert_msg.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_ASSERT_MSG_HPP
-# define BOOST_PREPROCESSOR_ASSERT_MSG_HPP
-#
-# include <boost/preprocessor/debug/assert.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/cat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/cat.hpp
deleted file mode 100644
index 5e52850..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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(p, res) res
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comma.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comma.hpp
deleted file mode 100644
index 6e02fb6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comma.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_HPP
-# define BOOST_PREPROCESSOR_COMMA_HPP
-#
-# include <boost/preprocessor/punctuation/comma.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comma_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comma_if.hpp
deleted file mode 100644
index 9ceb079..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison.hpp
deleted file mode 100644
index b09ac8f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/equal.hpp
deleted file mode 100644
index d299efe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/greater.hpp
deleted file mode 100644
index 83d2fcf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/greater_equal.hpp
deleted file mode 100644
index beaeaff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/less.hpp
deleted file mode 100644
index d91ea3d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/less_equal.hpp
deleted file mode 100644
index 1302d54..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/not_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/comparison/not_equal.hpp
deleted file mode 100644
index b4b0eae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/config/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/config/config.hpp
deleted file mode 100644
index 8be0e47..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/config/config.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# 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) && (defined(__INTELLISENSE__) || __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) && !defined(__clang__)
-#        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
-#
-# /* BOOST_PP_VARIADICS */
-#
-# define BOOST_PP_VARIADICS_MSVC 0
-# if !defined BOOST_PP_VARIADICS
-#    /* variadic support explicitly disabled for all untested compilers */
-#    if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || ( defined __SUNPRO_CC && __SUNPRO_CC < 0x5120 ) || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI
-#        define BOOST_PP_VARIADICS 0
-#    /* VC++ (C/C++) */
-#    elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__)) && !defined __clang__
-#        define BOOST_PP_VARIADICS 1
-#        undef BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADICS_MSVC 1
-#    /* Wave (C/C++), GCC (C++) */
-#    elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && defined __GXX_EXPERIMENTAL_CXX0X__ && __GXX_EXPERIMENTAL_CXX0X__
-#        define BOOST_PP_VARIADICS 1
-#    /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */
-#    elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
-#        define BOOST_PP_VARIADICS 1
-#    else
-#        define BOOST_PP_VARIADICS 0
-#    endif
-# elif !BOOST_PP_VARIADICS + 1 < 2
-#    undef BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADICS 1
-#    if defined _MSC_VER && _MSC_VER >= 1400 && (defined(__INTELLISENSE__) || !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI))
-#        undef BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADICS_MSVC 1
-#    endif
-# else
-#    undef BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADICS 0
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/config/limits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/config/limits.hpp
deleted file mode 100644
index f312f29..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/config/limits.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) */
-# /* Revised by Edward Diener (2011) */
-#
-# /* 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 64
-# 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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control.hpp
deleted file mode 100644
index 809fbd9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/deduce_d.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/deduce_d.hpp
deleted file mode 100644
index a0276b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/dmc/while.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/dmc/while.hpp
deleted file mode 100644
index 95c3135..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/edg/while.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/edg/while.hpp
deleted file mode 100644
index ce28eb2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/msvc/while.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/msvc/while.hpp
deleted file mode 100644
index e543e41..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/while.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/detail/while.hpp
deleted file mode 100644
index 7315e1d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/expr_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/expr_if.hpp
deleted file mode 100644
index 0e1ab51..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/expr_iif.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/expr_iif.hpp
deleted file mode 100644
index 58f45a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/if.hpp
deleted file mode 100644
index 52cfc3d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/iif.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/iif.hpp
deleted file mode 100644
index fd07817..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/while.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/control/while.hpp
deleted file mode 100644
index e8a65ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug.hpp
deleted file mode 100644
index d09983e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug/assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug/assert.hpp
deleted file mode 100644
index 3380c70..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug/error.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug/error.hpp
deleted file mode 100644
index c8ae5e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug/line.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/debug/line.hpp
deleted file mode 100644
index 4dd1013..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/dec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/dec.hpp
deleted file mode 100644
index d572064..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/auto_rec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/auto_rec.hpp
deleted file mode 100644
index 39de1d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/check.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/check.hpp
deleted file mode 100644
index 63f8ff9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/dmc/auto_rec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/dmc/auto_rec.hpp
deleted file mode 100644
index 37fbe04..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_binary.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_binary.hpp
deleted file mode 100644
index 3428833..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_nullary.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_nullary.hpp
deleted file mode 100644
index dee4075..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_nullary.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_NULLARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/check.hpp>
-#
-# /* BOOST_PP_IS_NULLARY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IS_NULLARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK)
-# else
-#    define BOOST_PP_IS_NULLARY(x) BOOST_PP_IS_NULLARY_I(x)
-#    define BOOST_PP_IS_NULLARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK)
-# endif
-#
-# define BOOST_PP_IS_NULLARY_CHECK() 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_NULLARY_CHECK 0, BOOST_PP_NIL
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_unary.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/is_unary.hpp
deleted file mode 100644
index e73cdfb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/null.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/null.hpp
deleted file mode 100644
index 5eb0bd4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/null.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_DETAIL_NULL_HPP
-# define BOOST_PREPROCESSOR_DETAIL_NULL_HPP
-#
-# /* empty file */
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/split.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/split.hpp
deleted file mode 100644
index f28a723..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/detail/split.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)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP
-# define BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_SPLIT */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I((n, im))
-#    define BOOST_PP_SPLIT_I(par) BOOST_PP_SPLIT_II ## par
-#    define BOOST_PP_SPLIT_II(n, a, b) BOOST_PP_SPLIT_ ## n(a, b)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n((im)))
-#    define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_II_ ## n)
-#    define BOOST_PP_SPLIT_II_0(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_0 s)
-#    define BOOST_PP_SPLIT_II_1(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_1 s)
-#    define BOOST_PP_SPLIT_ID(id) id
-# else
-#    define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n)(im)
-#    define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ ## n
-# endif
-#
-# define BOOST_PP_SPLIT_0(a, b) a
-# define BOOST_PP_SPLIT_1(a, b) b
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/empty.hpp
deleted file mode 100644
index 116ef74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum.hpp
deleted file mode 100644
index ae05bb0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_params.hpp
deleted file mode 100644
index 414f8aa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_params_with_a_default.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_params_with_a_default.hpp
deleted file mode 100644
index fd1ad4c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_params_with_defaults.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_params_with_defaults.hpp
deleted file mode 100644
index e58fa3e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_shifted.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_shifted.hpp
deleted file mode 100644
index aa6a698..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_shifted.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_HPP
-# define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
-#
-# include <boost/preprocessor/repetition/enum_shifted.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_shifted_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/enum_shifted_params.hpp
deleted file mode 100644
index 462c642..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/expand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/expand.hpp
deleted file mode 100644
index 8c5d972..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/expand.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_EXPAND_HPP
-# define BOOST_PREPROCESSOR_EXPAND_HPP
-#
-# include <boost/preprocessor/facilities/expand.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/expr_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/expr_if.hpp
deleted file mode 100644
index f93e29b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities.hpp
deleted file mode 100644
index c20547c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# 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>
-# include <boost/preprocessor/facilities/overload.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/apply.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/apply.hpp
deleted file mode 100644
index e7d8c36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/detail/is_empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/detail/is_empty.hpp
deleted file mode 100644
index e044970..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/detail/is_empty.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_EMPTY_HPP
-#define BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
-
-#include <boost/preprocessor/punctuation/is_begin_parens.hpp>
-
-#if BOOST_PP_VARIADICS_MSVC
-
-# pragma warning(once:4002)
-
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t
-
-#else
-
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t
-
-#endif
-
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
-
-#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(param) \
-	BOOST_PP_IS_BEGIN_PARENS \
-    	( \
-        BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \
-        ) \
-/**/
-
-#else
-
-#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(...) \
-	BOOST_PP_IS_BEGIN_PARENS \
-        ( \
-        BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \
-        ) \
-/**/
-
-#endif
-
-#define BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF(bit) BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_PP_DETAIL_IS_EMPTY_IIF_,bit)
-#define BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) ()
-
-#endif /* BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/empty.hpp
deleted file mode 100644
index 6f215dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/empty.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_EMPTY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_EMPTY */
-#
-# define BOOST_PP_EMPTY()
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/expand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/expand.hpp
deleted file mode 100644
index c8661a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/identity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/identity.hpp
deleted file mode 100644
index 8a7834d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/identity.hpp
+++ /dev/null
@@ -1,27 +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) */
-# /* Revised by Edward Diener (2015) */
-#
-# /* 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>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_IDENTITY */
-#
-# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
-#
-# define BOOST_PP_IDENTITY_N(item,n) item BOOST_PP_TUPLE_EAT_N(n)
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/intercept.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/intercept.hpp
deleted file mode 100644
index 41dcc6a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_1.hpp
deleted file mode 100644
index f286dcd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_1.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/facilities/is_empty.hpp>
-#
-# /* BOOST_PP_IS_1 */
-#
-# define BOOST_PP_IS_1(x) BOOST_PP_IS_EMPTY(BOOST_PP_CAT(BOOST_PP_IS_1_HELPER_, x))
-# define BOOST_PP_IS_1_HELPER_1
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty.hpp
deleted file mode 100644
index 46aadd3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2003.
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_IS_EMPTY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/facilities/is_empty_variadic.hpp>
-#
-# else
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/facilities/identity.hpp>
-# else
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/detail/split.hpp>
-# endif
-#
-# /* BOOST_PP_IS_EMPTY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(x BOOST_PP_IS_EMPTY_HELPER)
-#    define BOOST_PP_IS_EMPTY_I(contents) BOOST_PP_TUPLE_ELEM(2, 1, (BOOST_PP_IS_EMPTY_DEF_ ## contents()))
-#    define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 1, BOOST_PP_IDENTITY(1)
-#    define BOOST_PP_IS_EMPTY_HELPER() , 0
-# else
-#    if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#        define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(BOOST_PP_IS_EMPTY_HELPER x ())
-#        define BOOST_PP_IS_EMPTY_I(test) BOOST_PP_IS_EMPTY_II(BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PP_IS_EMPTY_DEF_, test)))
-#        define BOOST_PP_IS_EMPTY_II(id) id
-#    else
-#        define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I((BOOST_PP_IS_EMPTY_HELPER x ()))
-#        define BOOST_PP_IS_EMPTY_I(par) BOOST_PP_IS_EMPTY_II ## par
-#        define BOOST_PP_IS_EMPTY_II(test) BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PP_IS_EMPTY_DEF_, test))
-#    endif
-#    define BOOST_PP_IS_EMPTY_HELPER() 1
-#    define BOOST_PP_IS_EMPTY_DEF_1 1, BOOST_PP_NIL
-#    define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 0, BOOST_PP_NIL
-# endif
-#
-# endif /* BOOST_PP_VARIADICS */
-#
-# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty_or_1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty_or_1.hpp
deleted file mode 100644
index 815666f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty_or_1.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_OR_1_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_OR_1_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/facilities/identity.hpp>
-# include <boost/preprocessor/facilities/is_1.hpp>
-# include <boost/preprocessor/facilities/is_empty.hpp>
-#
-# /* BOOST_PP_IS_EMPTY_OR_1 */
-#
-# define BOOST_PP_IS_EMPTY_OR_1(x) \
-    BOOST_PP_IIF( \
-        BOOST_PP_IS_EMPTY(x BOOST_PP_EMPTY()), \
-        BOOST_PP_IDENTITY(1), \
-        BOOST_PP_IS_1 \
-    )(x) \
-    /**/
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty_variadic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty_variadic.hpp
deleted file mode 100644
index eee4062..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/is_empty_variadic.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_IS_EMPTY_VARIADIC_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/punctuation/is_begin_parens.hpp>
-# include <boost/preprocessor/facilities/detail/is_empty.hpp>
-#
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
-#
-#define BOOST_PP_IS_EMPTY(param) \
-    BOOST_PP_DETAIL_IS_EMPTY_IIF \
-      ( \
-      BOOST_PP_IS_BEGIN_PARENS \
-        ( \
-        param \
-        ) \
-      ) \
-      ( \
-      BOOST_PP_IS_EMPTY_ZERO, \
-      BOOST_PP_DETAIL_IS_EMPTY_PROCESS \
-      ) \
-    (param) \
-/**/
-#define BOOST_PP_IS_EMPTY_ZERO(param) 0
-# else
-#define BOOST_PP_IS_EMPTY(...) \
-    BOOST_PP_DETAIL_IS_EMPTY_IIF \
-      ( \
-      BOOST_PP_IS_BEGIN_PARENS \
-        ( \
-        __VA_ARGS__ \
-        ) \
-      ) \
-      ( \
-      BOOST_PP_IS_EMPTY_ZERO, \
-      BOOST_PP_DETAIL_IS_EMPTY_PROCESS \
-      ) \
-    (__VA_ARGS__) \
-/**/
-#define BOOST_PP_IS_EMPTY_ZERO(...) 0
-# endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */
-# endif /* BOOST_PP_VARIADICS */
-# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/overload.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/overload.hpp
deleted file mode 100644
index 1576316..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/facilities/overload.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2011.                                  *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_OVERLOAD */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__))
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/for.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/for.hpp
deleted file mode 100644
index 9ec9cee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/for.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_FOR_HPP
-# define BOOST_PREPROCESSOR_FOR_HPP
-#
-# include <boost/preprocessor/repetition/for.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/identity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/identity.hpp
deleted file mode 100644
index 847dd13..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/if.hpp
deleted file mode 100644
index f1783f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/inc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/inc.hpp
deleted file mode 100644
index b98d3a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iterate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iterate.hpp
deleted file mode 100644
index e720ec8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration.hpp
deleted file mode 100644
index 1055ac0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower1.hpp
deleted file mode 100644
index 6694d0b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower2.hpp
deleted file mode 100644
index ece21fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower3.hpp
deleted file mode 100644
index 8429eac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower4.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower4.hpp
deleted file mode 100644
index ba0832f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower5.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/lower5.hpp
deleted file mode 100644
index f4888c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper1.hpp
deleted file mode 100644
index 50d0fcf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper2.hpp
deleted file mode 100644
index faef6f4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper3.hpp
deleted file mode 100644
index 38d9ade..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper4.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper4.hpp
deleted file mode 100644
index 7f771c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper5.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/bounds/upper5.hpp
deleted file mode 100644
index 9f27d58..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/finish.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/finish.hpp
deleted file mode 100644
index 0236944..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward1.hpp
deleted file mode 100644
index 3c6a458..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward2.hpp
deleted file mode 100644
index e61a329..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward3.hpp
deleted file mode 100644
index e68966f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward4.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward4.hpp
deleted file mode 100644
index 1b4f588..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward5.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/forward5.hpp
deleted file mode 100644
index 7617607..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse1.hpp
deleted file mode 100644
index bf88d2f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse2.hpp
deleted file mode 100644
index 521bd24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse3.hpp
deleted file mode 100644
index 0a65514..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse4.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse4.hpp
deleted file mode 100644
index 3bcfba0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse5.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/iter/reverse5.hpp
deleted file mode 100644
index 225a557..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/local.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/local.hpp
deleted file mode 100644
index ccddd5e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/rlocal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/rlocal.hpp
deleted file mode 100644
index 413afa0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/self.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/self.hpp
deleted file mode 100644
index 757185c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/start.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/detail/start.hpp
deleted file mode 100644
index cbf0381..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/iterate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/iterate.hpp
deleted file mode 100644
index 8f861e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/local.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/local.hpp
deleted file mode 100644
index 289fb1a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/self.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/iteration/self.hpp
deleted file mode 100644
index 6e0464c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/library.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/library.hpp
deleted file mode 100644
index 3fb03d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/library.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# 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>
-# include <boost/preprocessor/variadic.hpp>
-# include <boost/preprocessor/wstringize.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/limits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/limits.hpp
deleted file mode 100644
index e264cc3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/limits.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_LIMITS_HPP
-# define BOOST_PREPROCESSOR_LIMITS_HPP
-#
-# include <boost/preprocessor/config/limits.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list.hpp
deleted file mode 100644
index ef592c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list.hpp
+++ /dev/null
@@ -1,37 +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_array.hpp>
-# include <boost/preprocessor/list/to_seq.hpp>
-# include <boost/preprocessor/list/to_tuple.hpp>
-# include <boost/preprocessor/list/transform.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/adt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/adt.hpp
deleted file mode 100644
index b4f12ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/append.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/append.hpp
deleted file mode 100644
index 26e9d74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/at.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/at.hpp
deleted file mode 100644
index 125669b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/cat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/cat.hpp
deleted file mode 100644
index 1ef74bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/dmc/fold_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/dmc/fold_left.hpp
deleted file mode 100644
index 844ac5b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/edg/fold_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/edg/fold_left.hpp
deleted file mode 100644
index ae9524f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/edg/fold_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/edg/fold_right.hpp
deleted file mode 100644
index d372d2e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/fold_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/fold_left.hpp
deleted file mode 100644
index f5fcab7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/fold_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/detail/fold_right.hpp
deleted file mode 100644
index 29146d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/enum.hpp
deleted file mode 100644
index 1eabea6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/filter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/filter.hpp
deleted file mode 100644
index 9e0faab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/first_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/first_n.hpp
deleted file mode 100644
index 5e60c50..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/fold_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/fold_left.hpp
deleted file mode 100644
index f235aec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/fold_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/fold_right.hpp
deleted file mode 100644
index ce18afe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/for_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/for_each.hpp
deleted file mode 100644
index dd04eaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/for_each_i.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/for_each_i.hpp
deleted file mode 100644
index 8f02e2e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/for_each_product.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/for_each_product.hpp
deleted file mode 100644
index 6d5319b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/rest_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/rest_n.hpp
deleted file mode 100644
index b42ee5f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/reverse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/reverse.hpp
deleted file mode 100644
index 651da05..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/size.hpp
deleted file mode 100644
index 0757fba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_array.hpp
deleted file mode 100644
index 20829b9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_array.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2011.
-#  *     (C) Copyright Edward Diener 2011,2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_LIST_TO_ARRAY_HPP
-# define BOOST_PREPROCESSOR_LIST_TO_ARRAY_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/list/adt.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && (_MSC_VER <= 1400)
-# include <boost/preprocessor/control/iif.hpp>
-# endif
-#
-# /* BOOST_PP_LIST_TO_ARRAY */
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && (_MSC_VER <= 1400)
-# define BOOST_PP_LIST_TO_ARRAY(list) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_LIST_IS_NIL(list), \
-		BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_EMPTY, \
-		BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_DO \
-		) \
-	(list) \
-/**/
-# define BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_EMPTY(list) (0,())
-# define BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_DO(list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE, list)
-# else
-# define BOOST_PP_LIST_TO_ARRAY(list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE, list)
-# endif
-
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_LIST_TO_ARRAY_I(w, list) \
-        BOOST_PP_LIST_TO_ARRAY_II(((BOOST_PP_TUPLE_REM_CTOR( \
-            3, \
-	        w(BOOST_PP_LIST_TO_ARRAY_P, BOOST_PP_LIST_TO_ARRAY_O, (list, 1, (~))) \
-        )))) \
-        /**/
-#    define BOOST_PP_LIST_TO_ARRAY_II(p) BOOST_PP_LIST_TO_ARRAY_II_B(p)
-#    define BOOST_PP_LIST_TO_ARRAY_II_B(p) BOOST_PP_LIST_TO_ARRAY_II_C ## p
-#    define BOOST_PP_LIST_TO_ARRAY_II_C(p) BOOST_PP_LIST_TO_ARRAY_III p
-# else
-#    define BOOST_PP_LIST_TO_ARRAY_I(w, list) \
-        BOOST_PP_LIST_TO_ARRAY_II(BOOST_PP_TUPLE_REM_CTOR( \
-            3, \
-	        w(BOOST_PP_LIST_TO_ARRAY_P, BOOST_PP_LIST_TO_ARRAY_O, (list, 1, (~))) \
-        )) \
-        /**/
-#    define BOOST_PP_LIST_TO_ARRAY_II(im) BOOST_PP_LIST_TO_ARRAY_III(im)
-# endif
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_LIST_TO_ARRAY_III(list, size, tuple) (BOOST_PP_DEC(size), BOOST_PP_LIST_TO_ARRAY_IV tuple)
-#    define BOOST_PP_LIST_TO_ARRAY_IV(_, ...) (__VA_ARGS__)
-# else
-#    define BOOST_PP_LIST_TO_ARRAY_III(list, size, tuple) (BOOST_PP_DEC(size), BOOST_PP_LIST_TO_ARRAY_IV_ ## size tuple)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_2(_, e0)                 (e0)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_3(_, e0, e1)             (e0, e1)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_4(_, e0, e1, e2)         (e0, e1, e2)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_5(_, e0, e1, e2, e3)     (e0, e1, e2, e3)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_6(_, e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_7(_, e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_8(_, e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_9(_, e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_10(_, e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_11(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_12(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_13(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_14(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_15(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_16(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_17(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_18(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_19(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_20(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_21(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_22(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_23(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_24(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_25(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_26(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_27(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_28(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_29(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_30(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_31(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_32(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_33(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_34(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_35(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_36(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_37(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_38(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_39(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_40(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_41(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_42(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_43(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_44(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_45(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_46(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_47(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_48(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46)
-#    define BOOST_PP_LIST_TO_ARRAY_IV_49(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e4 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_50(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e4 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_51(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e4 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_52(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e4 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_53(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e4 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_54(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e4 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_55(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_56(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_57(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_58(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_59(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_60(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_61(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_62(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_63(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e3 [...]
-#    define BOOST_PP_LIST_TO_ARRAY_IV_64(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e3 [...]
-# endif
-# define BOOST_PP_LIST_TO_ARRAY_P(d, state) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(3, 0, state))
-# define BOOST_PP_LIST_TO_ARRAY_O(d, state) BOOST_PP_LIST_TO_ARRAY_O_I state
-# define BOOST_PP_LIST_TO_ARRAY_O_I(list, size, tuple) (BOOST_PP_LIST_REST(list), BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) tuple, BOOST_PP_LIST_FIRST(list)))
-#
-# /* BOOST_PP_LIST_TO_ARRAY_D */
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && (_MSC_VER <= 1400)
-# define BOOST_PP_LIST_TO_ARRAY_D(d, list) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_LIST_IS_NIL(list), \
-		BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_EMPTY, \
-		BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_DO \
-		) \
-	(d, list) \
-/**/
-# define BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_EMPTY(d, list) (0,())
-# define BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_DO(d, list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE_ ## d, list)
-# else
-# define BOOST_PP_LIST_TO_ARRAY_D(d, list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE_ ## d, list)
-# endif
-#
-# endif /* BOOST_PREPROCESSOR_LIST_TO_ARRAY_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_seq.hpp
deleted file mode 100644
index 7425907..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_seq.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 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)
-#  *                                                                          *
-#  ************************************************************************** */
-#
-# /* Revised by Paul Mensonides (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_TO_SEQ_HPP
-# define BOOST_PREPROCESSOR_LIST_TO_SEQ_HPP
-#
-# include <boost/preprocessor/list/for_each.hpp>
-#
-# /* BOOST_PP_LIST_TO_SEQ */
-#
-# define BOOST_PP_LIST_TO_SEQ(list) \
-    BOOST_PP_LIST_FOR_EACH(BOOST_PP_LIST_TO_SEQ_MACRO, ~, list) \
-    /**/
-# define BOOST_PP_LIST_TO_SEQ_MACRO(r, data, elem) (elem)
-#
-# /* BOOST_PP_LIST_TO_SEQ_R */
-#
-# define BOOST_PP_LIST_TO_SEQ_R(r, list) \
-    BOOST_PP_LIST_FOR_EACH_R(r, BOOST_PP_LIST_TO_SEQ_MACRO, ~, list) \
-    /**/
-#
-# endif /* BOOST_PREPROCESSOR_LIST_TO_SEQ_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_tuple.hpp
deleted file mode 100644
index c7b3da8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/to_tuple.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_LIST_TO_TUPLE_HPP
-# define BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/enum.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_LIST_TO_TUPLE */
-#
-# define BOOST_PP_LIST_TO_TUPLE(list) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_LIST_IS_NIL(list), \
-		BOOST_PP_LIST_TO_TUPLE_EMPTY, \
-		BOOST_PP_LIST_TO_TUPLE_DO \
-		) \
-	(list) \
-/**/
-# define BOOST_PP_LIST_TO_TUPLE_EMPTY(list)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TO_TUPLE_DO(list) (BOOST_PP_LIST_ENUM(list))
-# else
-#    define BOOST_PP_LIST_TO_TUPLE_DO(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 */
-#
-# define BOOST_PP_LIST_TO_TUPLE_R(r, list) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_LIST_IS_NIL(list), \
-		BOOST_PP_LIST_TO_TUPLE_R_EMPTY, \
-		BOOST_PP_LIST_TO_TUPLE_R_DO \
-		) \
-	(r, list) \
-/**/
-# define BOOST_PP_LIST_TO_TUPLE_R_EMPTY(r,list)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TO_TUPLE_R_DO(r, list) (BOOST_PP_LIST_ENUM_R(r, list))
-# else
-#    define BOOST_PP_LIST_TO_TUPLE_R_DO(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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/transform.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/list/transform.hpp
deleted file mode 100644
index 840f306..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical.hpp
deleted file mode 100644
index 040edeb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/and.hpp
deleted file mode 100644
index 8590365..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitand.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitand.hpp
deleted file mode 100644
index 74e9527..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitnor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitnor.hpp
deleted file mode 100644
index 110fba8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitor.hpp
deleted file mode 100644
index c0bc2c6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitxor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bitxor.hpp
deleted file mode 100644
index 0488aca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/bool.hpp
deleted file mode 100644
index fc01b5b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/compl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/compl.hpp
deleted file mode 100644
index ad4c7a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/nor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/nor.hpp
deleted file mode 100644
index 2c0df4b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/not.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/not.hpp
deleted file mode 100644
index b509d3f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/or.hpp
deleted file mode 100644
index 88d5207..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/xor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/logical/xor.hpp
deleted file mode 100644
index 34c00e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/max.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/max.hpp
deleted file mode 100644
index 3a46ed9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/max.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_MAX_HPP
-# define BOOST_PREPROCESSOR_MAX_HPP
-#
-# include <boost/preprocessor/selection/max.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/min.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/min.hpp
deleted file mode 100644
index 8d8e9af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/min.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_MIN_HPP
-# define BOOST_PREPROCESSOR_MIN_HPP
-#
-# include <boost/preprocessor/selection/min.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation.hpp
deleted file mode 100644
index 56dd064..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation.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_PUNCTUATION_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_HPP
-#
-# include <boost/preprocessor/punctuation/comma.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/punctuation/is_begin_parens.hpp>
-# include <boost/preprocessor/punctuation/paren.hpp>
-# include <boost/preprocessor/punctuation/paren_if.hpp>
-# include <boost/preprocessor/punctuation/remove_parens.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/comma.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/comma.hpp
deleted file mode 100644
index 38c2e0e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/comma_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/comma_if.hpp
deleted file mode 100644
index c711f36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/detail/is_begin_parens.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/detail/is_begin_parens.hpp
deleted file mode 100644
index c94ccf3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/detail/is_begin_parens.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_BEGIN_PARENS_HPP
-#define BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP
-
-#if BOOST_PP_VARIADICS_MSVC
-
-#include <boost/preprocessor/facilities/empty.hpp>
-
-#define BOOST_PP_DETAIL_VD_IBP_CAT(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b)
-#define BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_II(a ## b)
-#define BOOST_PP_DETAIL_VD_IBP_CAT_II(res) res
-
-#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \
-    BOOST_PP_DETAIL_VD_IBP_CAT(BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__),BOOST_PP_EMPTY()) \
-/**/
-
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1 1
-
-#else
-
-#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \
-    BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__) \
-/**/
-
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1
-
-#endif /* BOOST_PP_VARIADICS_MSVC */
-
-#define BOOST_PP_DETAIL_IBP_SPLIT_0(a, ...) a
-#define BOOST_PP_DETAIL_IBP_SPLIT_1(a, ...) __VA_ARGS__
-
-#define BOOST_PP_DETAIL_IBP_CAT(a, ...) BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a,__VA_ARGS__)
-#define BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__
-
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_1 1,
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_BOOST_PP_DETAIL_IBP_IS_VARIADIC_C 0,
-
-#endif /* BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/is_begin_parens.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/is_begin_parens.hpp
deleted file mode 100644
index 20b32bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/is_begin_parens.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_IS_BEGIN_PARENS_HPP
-# define BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP
-
-# include <boost/preprocessor/config/config.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/punctuation/detail/is_begin_parens.hpp>
-
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
-
-#define BOOST_PP_IS_BEGIN_PARENS(param) \
-    BOOST_PP_DETAIL_IBP_SPLIT \
-      ( \
-      0, \
-      BOOST_PP_DETAIL_IBP_CAT \
-        ( \
-        BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \
-        BOOST_PP_DETAIL_IBP_IS_VARIADIC_C param \
-        ) \
-      ) \
-/**/
-
-#else
-
-#define BOOST_PP_IS_BEGIN_PARENS(...) \
-    BOOST_PP_DETAIL_IBP_SPLIT \
-      ( \
-      0, \
-      BOOST_PP_DETAIL_IBP_CAT \
-        ( \
-        BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \
-        BOOST_PP_DETAIL_IBP_IS_VARIADIC_C __VA_ARGS__ \
-        ) \
-      ) \
-/**/
-
-#endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */
-#endif /* BOOST_PP_VARIADICS */
-#endif /* BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/paren.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/paren.hpp
deleted file mode 100644
index 28c18cb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/paren_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/paren_if.hpp
deleted file mode 100644
index 1239ec1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/remove_parens.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/remove_parens.hpp
deleted file mode 100644
index 4700936..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/punctuation/remove_parens.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_REMOVE_PARENS_HPP
-#define BOOST_PREPROCESSOR_REMOVE_PARENS_HPP
-
-#include <boost/preprocessor/config/config.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-#include <boost/preprocessor/punctuation/is_begin_parens.hpp>
-#include <boost/preprocessor/tuple/enum.hpp>
-
-#define BOOST_PP_REMOVE_PARENS(param) \
-    BOOST_PP_IIF \
-      ( \
-      BOOST_PP_IS_BEGIN_PARENS(param), \
-      BOOST_PP_REMOVE_PARENS_DO, \
-      BOOST_PP_IDENTITY \
-      ) \
-    (param)() \
-/**/
-
-#define BOOST_PP_REMOVE_PARENS_DO(param) \
-  BOOST_PP_IDENTITY(BOOST_PP_TUPLE_ENUM(param)) \
-/**/
-
-#endif /* BOOST_PP_VARIADICS */
-#endif /* BOOST_PREPROCESSOR_REMOVE_PARENS_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat.hpp
deleted file mode 100644
index 7c47ee8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_2nd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_2nd.hpp
deleted file mode 100644
index 030c432..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_3rd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_3rd.hpp
deleted file mode 100644
index 9ab36a5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_3rd.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_3RD_HPP
-# define BOOST_PREPROCESSOR_REPEAT_3RD_HPP
-#
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to.hpp
deleted file mode 100644
index 4ddc3be..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to_2nd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to_2nd.hpp
deleted file mode 100644
index b833fb5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to_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_FROM_TO_2ND_HPP
-# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP
-#
-# include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to_3rd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to_3rd.hpp
deleted file mode 100644
index 8cd776f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repeat_from_to_3rd.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_3RD_HPP
-# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP
-#
-# include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition.hpp
deleted file mode 100644
index efcd60a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/deduce_r.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/deduce_r.hpp
deleted file mode 100644
index e49296a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/deduce_z.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/deduce_z.hpp
deleted file mode 100644
index 14dedc2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/dmc/for.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/dmc/for.hpp
deleted file mode 100644
index 1d907ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/edg/for.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/edg/for.hpp
deleted file mode 100644
index 212921a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/for.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/for.hpp
deleted file mode 100644
index 2770f2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/msvc/for.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/detail/msvc/for.hpp
deleted file mode 100644
index 35c1996..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum.hpp
deleted file mode 100644
index 0198cd9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_binary_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_binary_params.hpp
deleted file mode 100644
index a2c1048..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_params.hpp
deleted file mode 100644
index 65a2369..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_params_with_a_default.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_params_with_a_default.hpp
deleted file mode 100644
index 7496df6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_params_with_defaults.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_params_with_defaults.hpp
deleted file mode 100644
index fa0106f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_shifted.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_shifted.hpp
deleted file mode 100644
index d5b006f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_shifted_binary_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_shifted_binary_params.hpp
deleted file mode 100644
index f3d20fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_shifted_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_shifted_params.hpp
deleted file mode 100644
index 88b2bf4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_trailing.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_trailing.hpp
deleted file mode 100644
index 20af2d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_trailing_binary_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_trailing_binary_params.hpp
deleted file mode 100644
index e201b69..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_trailing_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/enum_trailing_params.hpp
deleted file mode 100644
index f7520db..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/for.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/for.hpp
deleted file mode 100644
index c38946b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/for.hpp
+++ /dev/null
@@ -1,324 +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/facilities/empty.hpp>
-# include <boost/preprocessor/logical/bool.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
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p##(257, s))
-# else
-# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p(257, s))
-# endif
-
-# define BOOST_PP_FOR_257_ERROR() BOOST_PP_ERROR(0x0002)
-# define BOOST_PP_FOR_257(s, p, o, m) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_FOR_257_PR(s,p), \
-		BOOST_PP_FOR_257_ERROR, \
-		BOOST_PP_EMPTY \
-		) \
-	() \
-/**/
-// # 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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/repeat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/repeat.hpp
deleted file mode 100644
index 0172738..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/repeat_from_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/repetition/repeat_from_to.hpp
deleted file mode 100644
index efe539e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/selection.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/selection.hpp
deleted file mode 100644
index 3b67fad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/selection/max.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/selection/max.hpp
deleted file mode 100644
index 407d702..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/selection/min.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/selection/min.hpp
deleted file mode 100644
index ee05588..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq.hpp
deleted file mode 100644
index cde208c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# 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_list.hpp>
-# include <boost/preprocessor/seq/to_tuple.hpp>
-# include <boost/preprocessor/seq/transform.hpp>
-# include <boost/preprocessor/seq/variadic_seq_to_seq.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/cat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/cat.hpp
deleted file mode 100644
index b6b09ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/binary_transform.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/binary_transform.hpp
deleted file mode 100644
index 70897b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/binary_transform.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_BINARY_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_SEQ_DETAIL_BINARY_TRANSFORM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/variadic/detail/is_single_return.hpp>
-#
-# /* BOOST_PP_SEQ_BINARY_TRANSFORM */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM(seq) BOOST_PP_SEQ_BINARY_TRANSFORM_I(, seq)
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_I(p, seq) BOOST_PP_SEQ_BINARY_TRANSFORM_II(p ## seq)
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_II(seq) BOOST_PP_SEQ_BINARY_TRANSFORM_III(seq)
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_III(seq) BOOST_PP_CAT(BOOST_PP_SEQ_BINARY_TRANSFORM_A seq, 0)
-# else
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_BINARY_TRANSFORM_A seq, 0)
-# endif
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#		define BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(...) \
-			BOOST_PP_VARIADIC_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,__VA_ARGS__) \
-		/**/
-#	 else
-#		define BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(...) BOOST_PP_REM
-#	 endif
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_A(...) (BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(__VA_ARGS__), __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_B
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_B(...) (BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(__VA_ARGS__), __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_A
-# else
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_A(e) (BOOST_PP_REM, e)() BOOST_PP_SEQ_BINARY_TRANSFORM_B
-#    define BOOST_PP_SEQ_BINARY_TRANSFORM_B(e) (BOOST_PP_REM, e)() BOOST_PP_SEQ_BINARY_TRANSFORM_A
-# endif
-# define BOOST_PP_SEQ_BINARY_TRANSFORM_A0 (BOOST_PP_EAT, ?)
-# define BOOST_PP_SEQ_BINARY_TRANSFORM_B0 (BOOST_PP_EAT, ?)
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/is_empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/is_empty.hpp
deleted file mode 100644
index 1a80a2f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/is_empty.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2015.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_IS_EMPTY_HPP
-# define BOOST_PREPROCESSOR_SEQ_DETAIL_IS_EMPTY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-/* An empty seq is one that is just BOOST_PP_SEQ_NIL */
-#
-# define BOOST_PP_SEQ_DETAIL_IS_EMPTY(seq) \
-	BOOST_PP_COMPL \
-		( \
-		BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq) \
-		) \
-/**/
-#
-# define BOOST_PP_SEQ_DETAIL_IS_EMPTY_SIZE(size) \
-	BOOST_PP_COMPL \
-		( \
-		BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size) \
-		) \
-/**/
-#
-# define BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq) \
-	BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(BOOST_PP_SEQ_DETAIL_EMPTY_SIZE(seq)) \
-/**/
-#
-# define BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size) \
-	BOOST_PP_BOOL(size) \
-/**/
-#
-# define BOOST_PP_SEQ_DETAIL_EMPTY_SIZE(seq) \
-	BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq (nil))) \
-/**/
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/split.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/detail/split.hpp
deleted file mode 100644
index 7c33931..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/elem.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/elem.hpp
deleted file mode 100644
index 9c7a4b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/enum.hpp
deleted file mode 100644
index b63b242..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/filter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/filter.hpp
deleted file mode 100644
index 4596bfe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/first_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/first_n.hpp
deleted file mode 100644
index c3c0716..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/fold_left.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/fold_left.hpp
deleted file mode 100644
index ab051b6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/fold_right.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/fold_right.hpp
deleted file mode 100644
index c2c365b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each.hpp
deleted file mode 100644
index 3f9c0d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each.hpp
+++ /dev/null
@@ -1,107 +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/control/if.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/seq/detail/is_empty.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_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq)
-# 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_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq)
-# endif
-#
-#    define BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC(macro, data, seq) BOOST_PP_FOR((macro, data, seq, BOOST_PP_SEQ_SIZE(seq)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-#    define BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY(macro, data, seq)
-#
-#    define BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK(macro, data, seq) \
-		BOOST_PP_IIF \
-			( \
-			BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
-			BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC, \
-			BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY \
-			) \
-		(macro, data, seq) \
-/**/
-#
-# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_TUPLE_ELEM(4, 3, 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(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_O_I(macro, data, seq, sz) \
-	BOOST_PP_SEQ_FOR_EACH_O_I_DEC(macro, data, seq, BOOST_PP_DEC(sz)) \
-/**/
-# define BOOST_PP_SEQ_FOR_EACH_O_I_DEC(macro, data, seq, sz) \
-	( \
-	macro, \
-	data, \
-	BOOST_PP_IF \
-		( \
-		sz, \
-		BOOST_PP_SEQ_FOR_EACH_O_I_TAIL, \
-		BOOST_PP_SEQ_FOR_EACH_O_I_NIL \
-		) \
-	(seq), \
-	sz \
-	) \
-/**/
-# define BOOST_PP_SEQ_FOR_EACH_O_I_TAIL(seq) BOOST_PP_SEQ_TAIL(seq)
-# define BOOST_PP_SEQ_FOR_EACH_O_I_NIL(seq) BOOST_PP_NIL
-#
-# 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_4 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(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_M_I(r, macro, data, seq, sz) 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_SEQ_FOR_EACH_DETAIL_CHECK_R(r, macro, data, seq)
-# 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_SEQ_FOR_EACH_DETAIL_CHECK_R(r, macro, data, seq)
-# endif
-#
-#    define BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq, BOOST_PP_SEQ_SIZE(seq)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-#    define BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY_R(r, macro, data, seq)
-#
-#    define BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_R(r, macro, data, seq) \
-		BOOST_PP_IIF \
-			( \
-			BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
-			BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EXEC_R, \
-			BOOST_PP_SEQ_FOR_EACH_DETAIL_CHECK_EMPTY_R \
-			) \
-		(r, macro, data, seq) \
-/**/
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp
deleted file mode 100644
index 81028d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp
+++ /dev/null
@@ -1,109 +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/control/if.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/seq/detail/is_empty.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_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
-# 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_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
-# endif
-#
-#    define BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC(macro, data, seq) BOOST_PP_FOR((macro, data, seq, 0, BOOST_PP_SEQ_SIZE(seq)), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-#    define BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EMPTY(macro, data, seq)
-#
-#    define BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq) \
-		BOOST_PP_IIF \
-			( \
-			BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
-			BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
-			BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EMPTY \
-			) \
-		(macro, data, seq) \
-/**/
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_TUPLE_ELEM(5, 4, 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(5, 0, x), BOOST_PP_TUPLE_ELEM(5, 1, x), BOOST_PP_TUPLE_ELEM(5, 2, x), BOOST_PP_TUPLE_ELEM(5, 3, x), BOOST_PP_TUPLE_ELEM(5, 4, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i, sz) \
-	BOOST_PP_SEQ_FOR_EACH_I_O_I_DEC(macro, data, seq, i, BOOST_PP_DEC(sz)) \
-/**/
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I_DEC(macro, data, seq, i, sz) \
-	( \
-	macro, \
-	data, \
-	BOOST_PP_IF \
-		( \
-		sz, \
-		BOOST_PP_SEQ_FOR_EACH_I_O_I_TAIL, \
-		BOOST_PP_SEQ_FOR_EACH_I_O_I_NIL \
-		) \
-	(seq), \
-	BOOST_PP_INC(i), \
-	sz \
-	) \
-/**/
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I_TAIL(seq) BOOST_PP_SEQ_TAIL(seq)
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I_NIL(seq) BOOST_PP_NIL
-#
-# 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_5 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(5, 0, x), BOOST_PP_TUPLE_ELEM(5, 1, x), BOOST_PP_TUPLE_ELEM(5, 2, x), BOOST_PP_TUPLE_ELEM(5, 3, x), BOOST_PP_TUPLE_ELEM(5, 4, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i, sz) 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_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq)
-# 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_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq)
-# endif
-#
-#    define BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EXEC(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq, 0, BOOST_PP_SEQ_SIZE(seq)), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-#    define BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EMPTY(r, macro, data, seq)
-#
-#    define BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK(r, macro, data, seq) \
-		BOOST_PP_IIF \
-			( \
-			BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
-			BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EXEC, \
-			BOOST_PP_SEQ_FOR_EACH_I_R_DETAIL_CHECK_EMPTY \
-			) \
-		(r, macro, data, seq) \
-/**/
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each_product.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/for_each_product.hpp
deleted file mode 100644
index baf22df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/insert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/insert.hpp
deleted file mode 100644
index 59ce2f4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/pop_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/pop_back.hpp
deleted file mode 100644
index 54200d6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/pop_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/pop_front.hpp
deleted file mode 100644
index 7d94eea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/push_back.hpp
deleted file mode 100644
index 1938d0b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/push_front.hpp
deleted file mode 100644
index 2ce73ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/remove.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/remove.hpp
deleted file mode 100644
index d2f77b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/replace.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/replace.hpp
deleted file mode 100644
index 0cf6b77..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/replace.hpp
+++ /dev/null
@@ -1,45 +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/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/comparison/equal.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-# include <boost/preprocessor/seq/size.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_REPLACE_DETAIL_REST(seq, i)
-# 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_REPLACE_DETAIL_REST(seq, i)
-# endif
-#
-#    define BOOST_PP_SEQ_REPLACE_DETAIL_REST_EMPTY(seq, i)
-#    define BOOST_PP_SEQ_REPLACE_DETAIL_REST_VALID(seq, i) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq)
-#    define BOOST_PP_SEQ_REPLACE_DETAIL_REST(seq, i) \
-		BOOST_PP_IIF \
-			( \
-			BOOST_PP_EQUAL(i,BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq))), \
-			BOOST_PP_SEQ_REPLACE_DETAIL_REST_EMPTY, \
-			BOOST_PP_SEQ_REPLACE_DETAIL_REST_VALID \
-			) \
-		(seq, i) \
-/**/
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/rest_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/rest_n.hpp
deleted file mode 100644
index 4aefba4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/rest_n.hpp
+++ /dev/null
@@ -1,46 +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/comparison/not_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/facilities/identity.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-# include <boost/preprocessor/seq/detail/is_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_SEQ_REST_N_DETAIL_EXEC(n, seq, BOOST_PP_SEQ_DETAIL_EMPTY_SIZE(seq))
-# 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_SEQ_REST_N_DETAIL_EXEC(n, seq, BOOST_PP_SEQ_DETAIL_EMPTY_SIZE(seq))
-# endif
-#
-#    define BOOST_PP_SEQ_REST_N_DETAIL_EXEC(n, seq, size) \
-		BOOST_PP_EXPR_IIF \
-			( \
-			BOOST_PP_BITAND \
-				( \
-				BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size), \
-				BOOST_PP_NOT_EQUAL(n,size) \
-				), \
-			BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), BOOST_PP_IDENTITY( (nil) seq )))() \
-			) \
-/**/
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/reverse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/reverse.hpp
deleted file mode 100644
index 338d777..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/seq.hpp
deleted file mode 100644
index f5ca84c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/size.hpp
deleted file mode 100644
index b5c8d9d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/size.hpp
+++ /dev/null
@@ -1,548 +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
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_257 257
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/subseq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/subseq.hpp
deleted file mode 100644
index fb242f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_array.hpp
deleted file mode 100644
index d8a8040..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_list.hpp
deleted file mode 100644
index fa0421b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_list.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2011.                                  *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_TO_LIST_HPP
-# define BOOST_PREPROCESSOR_SEQ_TO_LIST_HPP
-#
-# include <boost/preprocessor/punctuation/comma.hpp>
-# include <boost/preprocessor/punctuation/paren.hpp>
-# include <boost/preprocessor/seq/detail/binary_transform.hpp>
-#
-# /* BOOST_PP_SEQ_TO_LIST */
-#
-# define BOOST_PP_SEQ_TO_LIST(seq) BOOST_PP_SEQ_TO_LIST_I(BOOST_PP_SEQ_BINARY_TRANSFORM(seq))
-# define BOOST_PP_SEQ_TO_LIST_I(bseq) BOOST_PP_SEQ_TO_LIST_A bseq BOOST_PP_NIL BOOST_PP_SEQ_TO_LIST_B bseq
-# define BOOST_PP_SEQ_TO_LIST_A(m, e) m(BOOST_PP_LPAREN() e BOOST_PP_COMMA() BOOST_PP_SEQ_TO_LIST_A_ID)
-# define BOOST_PP_SEQ_TO_LIST_A_ID() BOOST_PP_SEQ_TO_LIST_A
-# define BOOST_PP_SEQ_TO_LIST_B(m, e) m(BOOST_PP_RPAREN() BOOST_PP_SEQ_TO_LIST_B_ID)
-# define BOOST_PP_SEQ_TO_LIST_B_ID() BOOST_PP_SEQ_TO_LIST_B
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/to_tuple.hpp
deleted file mode 100644
index ab38eb9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/transform.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/transform.hpp
deleted file mode 100644
index 79d8108..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/variadic_seq_to_seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/variadic_seq_to_seq.hpp
deleted file mode 100644
index f94a2bf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/seq/variadic_seq_to_seq.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2012.                                  *
-#  *     Distributed under the Boost Software License, Version 1.0. (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_VARIADIC_SEQ_TO_SEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_VARIADIC_SEQ_TO_SEQ_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_SEQ_TO_SEQ */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADIC_SEQ_TO_SEQ(vseq) BOOST_PP_CAT(BOOST_PP_VARIADIC_SEQ_TO_SEQ_A vseq, 0)
-#    define BOOST_PP_VARIADIC_SEQ_TO_SEQ_A(...) ((__VA_ARGS__)) BOOST_PP_VARIADIC_SEQ_TO_SEQ_B
-#    define BOOST_PP_VARIADIC_SEQ_TO_SEQ_B(...) ((__VA_ARGS__)) BOOST_PP_VARIADIC_SEQ_TO_SEQ_A
-#    define BOOST_PP_VARIADIC_SEQ_TO_SEQ_A0
-#    define BOOST_PP_VARIADIC_SEQ_TO_SEQ_B0
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot.hpp
deleted file mode 100644
index fb3c9b0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/counter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/counter.hpp
deleted file mode 100644
index d257a64..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/counter.hpp
+++ /dev/null
@@ -1,25 +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_SLOT_COUNTER_HPP
-# define BOOST_PREPROCESSOR_SLOT_COUNTER_HPP
-#
-# include <boost/preprocessor/slot/detail/def.hpp>
-#
-# /* BOOST_PP_COUNTER */
-#
-# define BOOST_PP_COUNTER 0
-#
-# /* BOOST_PP_UPDATE_COUNTER */
-#
-# define BOOST_PP_UPDATE_COUNTER() <boost/preprocessor/slot/detail/counter.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/counter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/counter.hpp
deleted file mode 100644
index a1c0df1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/def.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/def.hpp
deleted file mode 100644
index 885099e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/shared.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/shared.hpp
deleted file mode 100644
index c97ac54..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot1.hpp
deleted file mode 100644
index b22748e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot2.hpp
deleted file mode 100644
index 5d5258c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot3.hpp
deleted file mode 100644
index 005cf21..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot4.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot4.hpp
deleted file mode 100644
index 9aa4d8a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot5.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/detail/slot5.hpp
deleted file mode 100644
index d17535d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/slot.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/slot/slot.hpp
deleted file mode 100644
index 147b097..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/stringize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/stringize.hpp
deleted file mode 100644
index 64dd5fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple.hpp
deleted file mode 100644
index 76fad36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple.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) */
-# /* Revised by Edward Diener (2011,2013) */
-#
-# /* 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/enum.hpp>
-# include <boost/preprocessor/tuple/insert.hpp>
-# include <boost/preprocessor/tuple/pop_back.hpp>
-# include <boost/preprocessor/tuple/pop_front.hpp>
-# include <boost/preprocessor/tuple/push_back.hpp>
-# include <boost/preprocessor/tuple/push_front.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/tuple/remove.hpp>
-# include <boost/preprocessor/tuple/replace.hpp>
-# include <boost/preprocessor/tuple/reverse.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-# include <boost/preprocessor/tuple/to_list.hpp>
-# include <boost/preprocessor/tuple/to_seq.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/detail/is_single_return.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/detail/is_single_return.hpp
deleted file mode 100644
index 02a4fb2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/detail/is_single_return.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.                                    *
-#  *     Distributed under the Boost Software License, Version 1.0. (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_DETAIL_IS_SINGLE_RETURN_HPP
-# define BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_TUPLE_IS_SINGLE_RETURN */
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/facilities/is_1.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# define BOOST_PP_TUPLE_IS_SINGLE_RETURN(sr,nsr,tuple)	\
-	BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_TUPLE_SIZE(tuple)),sr,nsr) \
-	/**/
-# endif /* BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC */
-#
-# endif /* BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/eat.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/eat.hpp
deleted file mode 100644
index 7e8a100..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/eat.hpp
+++ /dev/null
@@ -1,115 +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-2011) */
-# /* Revised by Edward Diener (2011,2015) */
-#
-# /* 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_EAT */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_EAT(...)
-# else
-#    define BOOST_PP_EAT(x)
-# endif
-#
-# /* BOOST_PP_TUPLE_EAT */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT
-# else
-#    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
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#     define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_I(size)
-# else
-#     define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_OO((size))
-#     define BOOST_PP_TUPLE_EAT_N_OO(par) BOOST_PP_TUPLE_EAT_N_I ## par
-# endif
-# define BOOST_PP_TUPLE_EAT_N_I(size) BOOST_PP_TUPLE_EAT_ ## size
-#
-# define BOOST_PP_TUPLE_EAT_1(e0)
-# define BOOST_PP_TUPLE_EAT_2(e0, e1)
-# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2)
-# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3)
-# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4)
-# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5)
-# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6)
-# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7)
-# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8)
-# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9)
-# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
-# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
-# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12)
-# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13)
-# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
-# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
-# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16)
-# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17)
-# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18)
-# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19)
-# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20)
-# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21)
-# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22)
-# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23)
-# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24)
-# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25)
-# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26)
-# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27)
-# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28)
-# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29)
-# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30)
-# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31)
-# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32)
-# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33)
-# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34)
-# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35)
-# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36)
-# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37)
-# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38)
-# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39)
-# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40)
-# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41)
-# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42)
-# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43)
-# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44)
-# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45)
-# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46)
-# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47)
-# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48)
-# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49)
-# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50)
-# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51)
-# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52)
-# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53)
-# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54)
-# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55)
-# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56)
-# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57)
-# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58)
-# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59)
-# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60)
-# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61)
-# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62)
-# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63)
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/elem.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/elem.hpp
deleted file mode 100644
index 88044d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/elem.hpp
+++ /dev/null
@@ -1,201 +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-2011) */
-# /* Revised by Edward Diener (2011,2014) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/expand.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/variadic/elem.hpp>
-# include <boost/preprocessor/tuple/detail/is_single_return.hpp>
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
-#        define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
-/*
-  Use BOOST_PP_REM_CAT if it is a single element tuple ( which might be empty )
-  else use BOOST_PP_REM. This fixes a VC++ problem with an empty tuple and BOOST_PP_TUPLE_ELEM
-  functionality. See tuple_elem_bug_test.cxx.
-*/
-#    	 define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) \
-			BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple)) \
-			/**/
-#    else
-#        define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__)
-#    	 define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple)
-#    endif
-#    define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple)
-# else
-#    if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#        define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n), BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size), tuple))
-#        define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
-#        define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
-#    elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#        define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I_OO((size, n, tuple))
-#        define BOOST_PP_TUPLE_ELEM_I_OO(par) BOOST_PP_TUPLE_ELEM_I ## par
-#        define BOOST_PP_TUPLE_ELEM_I(size, n, tuple) BOOST_PP_TUPLE_ELEM_II((n, BOOST_PP_TUPLE_ELEM_E_ ## size ## tuple))
-#        define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III_OO(par)
-#        define BOOST_PP_TUPLE_ELEM_III_OO(par) BOOST_PP_TUPLE_ELEM_III ## par
-#        define BOOST_PP_TUPLE_ELEM_III(n, etuple) BOOST_PP_TUPLE_ELEM_ ## n ## etuple
-#    else
-#        define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size) tuple)
-#        define BOOST_PP_TUPLE_ELEM_I(x) x
-#    endif
-#    define BOOST_PP_TUPLE_ELEM_E_1(e0) (e0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_2(e0, e1) (e0, e1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_3(e0, e1, e2) (e0, e1, e2, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_4(e0, e1, e2, e3) (e0, e1, e2, e3, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_5(e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_6(e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_7(e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,  [...]
-#    define BOOST_PP_TUPLE_ELEM_E_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? [...]
-#    define BOOST_PP_TUPLE_ELEM_E_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ?, ?, ?, ?, ?, ?, ?, ?,  [...]
-#    define BOOST_PP_TUPLE_ELEM_E_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ?, ?, ?, ?, ?, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ?, ? [...]
-#    define BOOST_PP_TUPLE_ELEM_E_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, [...]
-#    define BOOST_PP_TUPLE_ELEM_E_64
-#    define BOOST_PP_TUPLE_ELEM_0(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0
-#    define BOOST_PP_TUPLE_ELEM_1(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e1
-#    define BOOST_PP_TUPLE_ELEM_2(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e2
-#    define BOOST_PP_TUPLE_ELEM_3(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e3
-#    define BOOST_PP_TUPLE_ELEM_4(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e4
-#    define BOOST_PP_TUPLE_ELEM_5(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e5
-#    define BOOST_PP_TUPLE_ELEM_6(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e6
-#    define BOOST_PP_TUPLE_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e7
-#    define BOOST_PP_TUPLE_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e8
-#    define BOOST_PP_TUPLE_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e9
-#    define BOOST_PP_TUPLE_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e10
-#    define BOOST_PP_TUPLE_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e11
-#    define BOOST_PP_TUPLE_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e12
-#    define BOOST_PP_TUPLE_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e13
-#    define BOOST_PP_TUPLE_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e14
-#    define BOOST_PP_TUPLE_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e15
-#    define BOOST_PP_TUPLE_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e16
-#    define BOOST_PP_TUPLE_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e17
-#    define BOOST_PP_TUPLE_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e18
-#    define BOOST_PP_TUPLE_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e19
-#    define BOOST_PP_TUPLE_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e20
-#    define BOOST_PP_TUPLE_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e21
-#    define BOOST_PP_TUPLE_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e22
-#    define BOOST_PP_TUPLE_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e23
-#    define BOOST_PP_TUPLE_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e24
-#    define BOOST_PP_TUPLE_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e25
-#    define BOOST_PP_TUPLE_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e26
-#    define BOOST_PP_TUPLE_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e27
-#    define BOOST_PP_TUPLE_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e28
-#    define BOOST_PP_TUPLE_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e29
-#    define BOOST_PP_TUPLE_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e30
-#    define BOOST_PP_TUPLE_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e31
-#    define BOOST_PP_TUPLE_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e32
-#    define BOOST_PP_TUPLE_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e33
-#    define BOOST_PP_TUPLE_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e34
-#    define BOOST_PP_TUPLE_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e35
-#    define BOOST_PP_TUPLE_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e36
-#    define BOOST_PP_TUPLE_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e37
-#    define BOOST_PP_TUPLE_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e38
-#    define BOOST_PP_TUPLE_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e39
-#    define BOOST_PP_TUPLE_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e40
-#    define BOOST_PP_TUPLE_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e41
-#    define BOOST_PP_TUPLE_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e42
-#    define BOOST_PP_TUPLE_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e43
-#    define BOOST_PP_TUPLE_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e44
-#    define BOOST_PP_TUPLE_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e45
-#    define BOOST_PP_TUPLE_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e46
-#    define BOOST_PP_TUPLE_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e47
-#    define BOOST_PP_TUPLE_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e48
-#    define BOOST_PP_TUPLE_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e49
-#    define BOOST_PP_TUPLE_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e50
-#    define BOOST_PP_TUPLE_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e51
-#    define BOOST_PP_TUPLE_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e52
-#    define BOOST_PP_TUPLE_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e53
-#    define BOOST_PP_TUPLE_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e54
-#    define BOOST_PP_TUPLE_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e55
-#    define BOOST_PP_TUPLE_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e56
-#    define BOOST_PP_TUPLE_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e57
-#    define BOOST_PP_TUPLE_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e58
-#    define BOOST_PP_TUPLE_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e59
-#    define BOOST_PP_TUPLE_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e60
-#    define BOOST_PP_TUPLE_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e61
-#    define BOOST_PP_TUPLE_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e62
-#    define BOOST_PP_TUPLE_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e63
-# endif
-#
-# /* directly used elsewhere in Boost... */
-#
-# 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
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/enum.hpp
deleted file mode 100644
index 4915831..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/enum.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_ENUM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_ENUM_HPP
-#
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_TUPLE_ENUM */
-#
-# define BOOST_PP_TUPLE_ENUM BOOST_PP_TUPLE_REM_CTOR
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/insert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/insert.hpp
deleted file mode 100644
index ce4544f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/insert.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_INSERT_HPP
-# define BOOST_PREPROCESSOR_TUPLE_INSERT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/insert.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-# /* BOOST_PP_TUPLE_INSERT */
-#
-# define BOOST_PP_TUPLE_INSERT(tuple, i, elem) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_INSERT(BOOST_PP_TUPLE_TO_ARRAY(tuple), i, elem)) \
-/**/
-#
-# /* BOOST_PP_TUPLE_INSERT_D */
-#
-# define BOOST_PP_TUPLE_INSERT_D(d, tuple, i, elem) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_INSERT_D(d, BOOST_PP_TUPLE_TO_ARRAY(tuple), i, elem)) \
-/**/
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_INSERT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/pop_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/pop_back.hpp
deleted file mode 100644
index 3ac414b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/pop_back.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_POP_BACK_HPP
-# define BOOST_PREPROCESSOR_TUPLE_POP_BACK_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/pop_back.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/comparison/greater.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-# /* BOOST_PP_TUPLE_POP_BACK */
-#
-# define BOOST_PP_TUPLE_POP_BACK(tuple) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_GREATER(BOOST_PP_TUPLE_SIZE(tuple),1), \
-		BOOST_PP_TUPLE_POP_BACK_EXEC, \
-		BOOST_PP_TUPLE_POP_BACK_RETURN \
-		) \
-	(tuple) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_BACK_EXEC(tuple) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_POP_BACK(BOOST_PP_TUPLE_TO_ARRAY(tuple))) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_BACK_RETURN(tuple) tuple
-#
-# /* BOOST_PP_TUPLE_POP_BACK_Z */
-#
-# define BOOST_PP_TUPLE_POP_BACK_Z(z, tuple) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_GREATER(BOOST_PP_TUPLE_SIZE(tuple),1), \
-		BOOST_PP_TUPLE_POP_BACK_Z_EXEC, \
-		BOOST_PP_TUPLE_POP_BACK_Z_RETURN \
-		) \
-	(z, tuple) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_BACK_Z_EXEC(z, tuple) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_POP_BACK_Z(z, BOOST_PP_TUPLE_TO_ARRAY(tuple))) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_BACK_Z_RETURN(z, tuple) tuple
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_POP_BACK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/pop_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/pop_front.hpp
deleted file mode 100644
index fafaa77..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/pop_front.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_POP_FRONT_HPP
-# define BOOST_PREPROCESSOR_TUPLE_POP_FRONT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/pop_front.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/comparison/greater.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-#
-# /* BOOST_PP_TUPLE_POP_FRONT */
-#
-# define BOOST_PP_TUPLE_POP_FRONT(tuple) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_GREATER(BOOST_PP_TUPLE_SIZE(tuple),1), \
-		BOOST_PP_TUPLE_POP_FRONT_EXEC, \
-		BOOST_PP_TUPLE_POP_FRONT_RETURN \
-		) \
-	(tuple) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_FRONT_EXEC(tuple) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_POP_FRONT(BOOST_PP_TUPLE_TO_ARRAY(tuple))) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_FRONT_RETURN(tuple) tuple
-#
-# /* BOOST_PP_TUPLE_POP_FRONT_Z */
-#
-# define BOOST_PP_TUPLE_POP_FRONT_Z(z, tuple) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_GREATER(BOOST_PP_TUPLE_SIZE(tuple),1), \
-		BOOST_PP_TUPLE_POP_FRONT_Z_EXEC, \
-		BOOST_PP_TUPLE_POP_FRONT_Z_RETURN \
-		) \
-	(z, tuple) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_FRONT_Z_EXEC(z, tuple) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_POP_FRONT_Z(z, BOOST_PP_TUPLE_TO_ARRAY(tuple))) \
-/**/
-#
-# define BOOST_PP_TUPLE_POP_FRONT_Z_RETURN(z, tuple) tuple
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_POP_FRONT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/push_back.hpp
deleted file mode 100644
index 2ae8f63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/push_back.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_PUSH_BACK_HPP
-# define BOOST_PREPROCESSOR_TUPLE_PUSH_BACK_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/push_back.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-# /* BOOST_PP_TUPLE_PUSH_BACK */
-#
-# define BOOST_PP_TUPLE_PUSH_BACK(tuple, elem) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_PUSH_BACK(BOOST_PP_TUPLE_TO_ARRAY(tuple), elem)) \
-/**/
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_PUSH_BACK_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/push_front.hpp
deleted file mode 100644
index 81fea85..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/push_front.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_PUSH_FRONT_HPP
-# define BOOST_PREPROCESSOR_TUPLE_PUSH_FRONT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/push_front.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-#
-# /* BOOST_PP_TUPLE_PUSH_FRONT */
-#
-# define BOOST_PP_TUPLE_PUSH_FRONT(tuple, elem) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_PUSH_FRONT(BOOST_PP_TUPLE_TO_ARRAY(tuple), elem)) \
-/**/
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_PUSH_FRONT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/rem.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/rem.hpp
deleted file mode 100644
index c934447..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/rem.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 2011,2013.                               *
-#  *     Distributed under the Boost Software License, Version 1.0. (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/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/expand.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/detail/is_single_return.hpp>
-#
-# /* BOOST_PP_REM */
-#
-# if BOOST_PP_VARIADICS
-# 	 if BOOST_PP_VARIADICS_MSVC
-		/* To be used internally when __VA_ARGS__ could be empty ( or is a single element ) */
-#    	define BOOST_PP_REM_CAT(...) BOOST_PP_CAT(__VA_ARGS__,)
-# 	 endif
-#    define BOOST_PP_REM(...) __VA_ARGS__
-# else
-#    define BOOST_PP_REM(x) x
-# endif
-#
-# /* BOOST_PP_TUPLE_REM */
-#
-/*
-  VC++8.0 cannot handle the variadic version of BOOST_PP_TUPLE_REM(size)
-*/
-# if BOOST_PP_VARIADICS && !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400)
-# 	 if BOOST_PP_VARIADICS_MSVC
-		/* To be used internally when the size could be 0 ( or 1 ) */
-#    	define BOOST_PP_TUPLE_REM_CAT(size) BOOST_PP_REM_CAT
-# 	 endif
-#    define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM
-# else
-#    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
-# endif
-# define BOOST_PP_TUPLE_REM_0()
-# define BOOST_PP_TUPLE_REM_1(e0) e0
-# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1
-# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2
-# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3
-# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4
-# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5
-# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6
-# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7
-# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8
-# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9
-# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10
-# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11
-# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12
-# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13
-# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14
-# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15
-# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16
-# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17
-# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18
-# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19
-# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20
-# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21
-# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22
-# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23
-# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24
-# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25
-# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26
-# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27
-# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28
-# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29
-# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30
-# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31
-# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32
-# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33
-# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34
-# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35
-# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36
-# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37
-# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38
-# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39
-# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40
-# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41
-# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42
-# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43
-# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44
-# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45
-# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46
-# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47
-# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48
-# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e [...]
-# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e [...]
-# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e [...]
-# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e [...]
-# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e [...]
-# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e [...]
-# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e [...]
-# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e [...]
-# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e [...]
-# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e [...]
-# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e [...]
-# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e [...]
-# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e [...]
-# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e [...]
-# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e [...]
-#
-# /* BOOST_PP_TUPLE_REM_CTOR */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args)
-#        define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,)
-#    	 define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple)
-#    else
-#        define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__)
-#    	 define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple
-#    endif
-#    define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple)
-# else
-#    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
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/remove.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/remove.hpp
deleted file mode 100644
index 25fa376..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/remove.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_REMOVE_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REMOVE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/remove.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/comparison/greater.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-# /* BOOST_PP_TUPLE_REMOVE */
-#
-# define BOOST_PP_TUPLE_REMOVE(tuple, i) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_GREATER(BOOST_PP_TUPLE_SIZE(tuple),1), \
-		BOOST_PP_TUPLE_REMOVE_EXEC, \
-		BOOST_PP_TUPLE_REMOVE_RETURN \
-		) \
-	(tuple, i) \
-/**/
-#
-# define BOOST_PP_TUPLE_REMOVE_EXEC(tuple, i) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_REMOVE(BOOST_PP_TUPLE_TO_ARRAY(tuple), i)) \
-/**/
-#
-# define BOOST_PP_TUPLE_REMOVE_RETURN(tuple, i) tuple
-#
-# /* BOOST_PP_TUPLE_REMOVE_D */
-#
-# define BOOST_PP_TUPLE_REMOVE_D(d, tuple, i) \
-	BOOST_PP_IIF \
-		( \
-		BOOST_PP_GREATER_D(d, BOOST_PP_TUPLE_SIZE(tuple), 1), \
-		BOOST_PP_TUPLE_REMOVE_D_EXEC, \
-		BOOST_PP_TUPLE_REMOVE_D_RETURN \
-		) \
-	(d, tuple, i) \
-/**/
-#
-# define BOOST_PP_TUPLE_REMOVE_D_EXEC(d, tuple, i) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_REMOVE_D(d, BOOST_PP_TUPLE_TO_ARRAY(tuple), i)) \
-/**/
-#
-# define BOOST_PP_TUPLE_REMOVE_D_RETURN(d, tuple, i) tuple
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_REMOVE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/replace.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/replace.hpp
deleted file mode 100644
index 320ef9e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/replace.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2013.
-#  *     Distributed under the Boost Software License, Version 1.0. (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_REPLACE_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REPLACE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_VARIADICS
-#
-# include <boost/preprocessor/array/replace.hpp>
-# include <boost/preprocessor/array/to_tuple.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-#
-# /* BOOST_PP_TUPLE_REPLACE */
-#
-# define BOOST_PP_TUPLE_REPLACE(tuple, i, elem) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_REPLACE(BOOST_PP_TUPLE_TO_ARRAY(tuple), i, elem)) \
-/**/
-#
-# /* BOOST_PP_TUPLE_REPLACE_D */
-#
-# define BOOST_PP_TUPLE_REPLACE_D(d, tuple, i, elem) \
-	BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_REPLACE_D(d, BOOST_PP_TUPLE_TO_ARRAY(tuple), i, elem)) \
-/**/
-#
-# endif // BOOST_PP_VARIADICS
-#
-# endif // BOOST_PREPROCESSOR_TUPLE_REPLACE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/reverse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/reverse.hpp
deleted file mode 100644
index 489c442..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/reverse.hpp
+++ /dev/null
@@ -1,117 +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-2011) */
-# /* Revised by Edward Diener (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_TUPLE_REVERSE */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_REVERSE(...) BOOST_PP_TUPLE_REVERSE_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REVERSE_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_REVERSE_I(m, args) BOOST_PP_TUPLE_REVERSE_II(m, args)
-#        define BOOST_PP_TUPLE_REVERSE_II(m, args) BOOST_PP_CAT(m ## args,)
-#    	 define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
-#    else
-#        define BOOST_PP_TUPLE_REVERSE(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REVERSE_O_, __VA_ARGS__)(__VA_ARGS__)
-#    	 define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_VARIADIC_SIZE tuple) tuple
-#    endif
-#    define BOOST_PP_TUPLE_REVERSE_O_2(size, tuple) BOOST_PP_TUPLE_REVERSE_O_1(tuple)
-# else
-#    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
-# endif
-# define BOOST_PP_TUPLE_REVERSE_1(e0) (e0)
-# define BOOST_PP_TUPLE_REVERSE_2(e0, e1) (e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_3(e0, e1, e2) (e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_4(e0, e1, e2, e3) (e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_5(e0, e1, e2, e3, e4) (e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_6(e0, e1, e2, e3, e4, e5) (e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_7(e0, e1, e2, e3, e4, e5, e6) (e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_8(e0, e1, e2, e3, e4, e5, e6, e7) (e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0)
-# define BOOST_PP_TUPLE_REVERSE_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3 [...]
-# define BOOST_PP_TUPLE_REVERSE_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6,  [...]
-# define BOOST_PP_TUPLE_REVERSE_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8 [...]
-# define BOOST_PP_TUPLE_REVERSE_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e [...]
-# define BOOST_PP_TUPLE_REVERSE_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e [...]
-# define BOOST_PP_TUPLE_REVERSE_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e [...]
-# define BOOST_PP_TUPLE_REVERSE_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e [...]
-# define BOOST_PP_TUPLE_REVERSE_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e [...]
-# define BOOST_PP_TUPLE_REVERSE_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e [...]
-# define BOOST_PP_TUPLE_REVERSE_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e [...]
-# define BOOST_PP_TUPLE_REVERSE_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e [...]
-# define BOOST_PP_TUPLE_REVERSE_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e [...]
-# define BOOST_PP_TUPLE_REVERSE_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e [...]
-# define BOOST_PP_TUPLE_REVERSE_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e [...]
-# define BOOST_PP_TUPLE_REVERSE_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e62, e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e [...]
-# define BOOST_PP_TUPLE_REVERSE_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e63, e62, e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e [...]
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/size.hpp
deleted file mode 100644
index 675c065..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/size.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_SIZE_HPP
-# define BOOST_PREPROCESSOR_TUPLE_SIZE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,)
-#    else
-#        define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_VARIADIC_SIZE tuple
-#    endif
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_array.hpp
deleted file mode 100644
index 0a52811..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_array.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_TO_ARRAY_HPP
-# define BOOST_PREPROCESSOR_TUPLE_TO_ARRAY_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_TUPLE_TO_ARRAY */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_TO_ARRAY(...) BOOST_PP_TUPLE_TO_ARRAY_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_ARRAY_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_TO_ARRAY_I(m, args) BOOST_PP_TUPLE_TO_ARRAY_II(m, args)
-#        define BOOST_PP_TUPLE_TO_ARRAY_II(m, args) BOOST_PP_CAT(m ## args,)
-#        define BOOST_PP_TUPLE_TO_ARRAY_1(tuple) (BOOST_PP_TUPLE_SIZE(tuple), tuple)
-#    else
-#        define BOOST_PP_TUPLE_TO_ARRAY(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_ARRAY_, __VA_ARGS__)(__VA_ARGS__)
-#        define BOOST_PP_TUPLE_TO_ARRAY_1(tuple) (BOOST_PP_VARIADIC_SIZE tuple, tuple)
-#    endif
-#    define BOOST_PP_TUPLE_TO_ARRAY_2(size, tuple) (size, tuple)
-# else
-#    define BOOST_PP_TUPLE_TO_ARRAY(size, tuple) (size, tuple)
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_list.hpp
deleted file mode 100644
index da7828f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_list.hpp
+++ /dev/null
@@ -1,118 +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-2011) */
-# /* Revised by Edward Diener (2011) */
-#
-# /* 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/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_TUPLE_TO_LIST */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args)
-#        define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,)
-#    	 define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
-#    else
-#        define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__)
-#    	 define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple
-#    endif
-#    define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple)
-# else
-#    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
-# endif
-#
-# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL)
-# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL))
-# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL)))
-# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL))))
-# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL)))))
-# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL))))))
-# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL)))))))
-# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL))))))))
-# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL)))))))))
-# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL)))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL)))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL)))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL)))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL)))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL)))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL)))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL)))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL)))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL)))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL)))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL)))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL))))))))))))))))))))))))) [...]
-# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL)))))))))))))) [...]
-# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL))) [...]
-# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOS [...]
-# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, [...]
-# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41,  [...]
-# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, ( [...]
-# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e [...]
-# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e3 [...]
-# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38 [...]
-# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, [...]
-# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36,  [...]
-# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, ( [...]
-# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e [...]
-# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e3 [...]
-# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33 [...]
-# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, [...]
-# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31,  [...]
-# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, ( [...]
-# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e [...]
-# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e2 [...]
-# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28 [...]
-# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, [...]
-# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26,  [...]
-# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, ( [...]
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_seq.hpp
deleted file mode 100644
index a53f5a0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/tuple/to_seq.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Paul Mensonides 2002-2011.                             *
-#  *     (C) Copyright Edward Diener 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. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP
-# define BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/size.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_TUPLE_TO_SEQ */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_TUPLE_TO_SEQ_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_TO_SEQ_I(m, args) BOOST_PP_TUPLE_TO_SEQ_II(m, args)
-#        define BOOST_PP_TUPLE_TO_SEQ_II(m, args) BOOST_PP_CAT(m ## args,)
-#    	 define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_TUPLE_SIZE(tuple)) tuple
-#    else
-#        define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__)(__VA_ARGS__)
-#    	 define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_VARIADIC_SIZE tuple) tuple
-#    endif
-#    define BOOST_PP_TUPLE_TO_SEQ_O_2(size, tuple) BOOST_PP_TUPLE_TO_SEQ_O_1(tuple)
-# else
-#    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
-# endif
-#
-/* An empty array can be passed */
-# define BOOST_PP_TUPLE_TO_SEQ_0() ()
-#
-# define BOOST_PP_TUPLE_TO_SEQ_1(e0) (e0)
-# define BOOST_PP_TUPLE_TO_SEQ_2(e0, e1) (e0)(e1)
-# define BOOST_PP_TUPLE_TO_SEQ_3(e0, e1, e2) (e0)(e1)(e2)
-# define BOOST_PP_TUPLE_TO_SEQ_4(e0, e1, e2, e3) (e0)(e1)(e2)(e3)
-# define BOOST_PP_TUPLE_TO_SEQ_5(e0, e1, e2, e3, e4) (e0)(e1)(e2)(e3)(e4)
-# define BOOST_PP_TUPLE_TO_SEQ_6(e0, e1, e2, e3, e4, e5) (e0)(e1)(e2)(e3)(e4)(e5)
-# define BOOST_PP_TUPLE_TO_SEQ_7(e0, e1, e2, e3, e4, e5, e6) (e0)(e1)(e2)(e3)(e4)(e5)(e6)
-# define BOOST_PP_TUPLE_TO_SEQ_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)
-# define BOOST_PP_TUPLE_TO_SEQ_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)
-# define BOOST_PP_TUPLE_TO_SEQ_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)
-# define BOOST_PP_TUPLE_TO_SEQ_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)
-# define BOOST_PP_TUPLE_TO_SEQ_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)
-# define BOOST_PP_TUPLE_TO_SEQ_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)
-# define BOOST_PP_TUPLE_TO_SEQ_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)
-# define BOOST_PP_TUPLE_TO_SEQ_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)
-# define BOOST_PP_TUPLE_TO_SEQ_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)
-# define BOOST_PP_TUPLE_TO_SEQ_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)
-# define BOOST_PP_TUPLE_TO_SEQ_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)
-# define BOOST_PP_TUPLE_TO_SEQ_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)
-# define BOOST_PP_TUPLE_TO_SEQ_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)
-# define BOOST_PP_TUPLE_TO_SEQ_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)
-# define BOOST_PP_TUPLE_TO_SEQ_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)
-# define BOOST_PP_TUPLE_TO_SEQ_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)
-# define BOOST_PP_TUPLE_TO_SEQ_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)
-# define BOOST_PP_TUPLE_TO_SEQ_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)
-# define BOOST_PP_TUPLE_TO_SEQ_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)
-# define BOOST_PP_TUPLE_TO_SEQ_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)
-# define BOOST_PP_TUPLE_TO_SEQ_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)
-# define BOOST_PP_TUPLE_TO_SEQ_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)
-# define BOOST_PP_TUPLE_TO_SEQ_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)
-# define BOOST_PP_TUPLE_TO_SEQ_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)
-# define BOOST_PP_TUPLE_TO_SEQ_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)
-# define BOOST_PP_TUPLE_TO_SEQ_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)
-# define BOOST_PP_TUPLE_TO_SEQ_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)
-# define BOOST_PP_TUPLE_TO_SEQ_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)
-# define BOOST_PP_TUPLE_TO_SEQ_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)
-# define BOOST_PP_TUPLE_TO_SEQ_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)
-# define BOOST_PP_TUPLE_TO_SEQ_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)
-# define BOOST_PP_TUPLE_TO_SEQ_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)
-# define BOOST_PP_TUPLE_TO_SEQ_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)
-# define BOOST_PP_TUPLE_TO_SEQ_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)
-# define BOOST_PP_TUPLE_TO_SEQ_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)
-# define BOOST_PP_TUPLE_TO_SEQ_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)
-# define BOOST_PP_TUPLE_TO_SEQ_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)
-# define BOOST_PP_TUPLE_TO_SEQ_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)
-# define BOOST_PP_TUPLE_TO_SEQ_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)
-# define BOOST_PP_TUPLE_TO_SEQ_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)
-# define BOOST_PP_TUPLE_TO_SEQ_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)
-# define BOOST_PP_TUPLE_TO_SEQ_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e4 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e3 [...]
-# define BOOST_PP_TUPLE_TO_SEQ_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e3 [...]
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic.hpp
deleted file mode 100644
index a28e026..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_HPP
-#
-# include <boost/preprocessor/variadic/elem.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-# include <boost/preprocessor/variadic/to_array.hpp>
-# include <boost/preprocessor/variadic/to_list.hpp>
-# include <boost/preprocessor/variadic/to_seq.hpp>
-# include <boost/preprocessor/variadic/to_tuple.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/detail/is_single_return.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/detail/is_single_return.hpp
deleted file mode 100644
index 5c95029..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/detail/is_single_return.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2014.                                    *
-#  *     Distributed under the Boost Software License, Version 1.0. (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_VARIADIC_DETAIL_IS_SINGLE_RETURN_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_DETAIL_IS_SINGLE_RETURN_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_IS_SINGLE_RETURN */
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/facilities/is_1.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-# define BOOST_PP_VARIADIC_IS_SINGLE_RETURN(sr,nsr,...)	\
-	BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)),sr,nsr) \
-	/**/
-# endif /* BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC */
-#
-# endif /* BOOST_PREPROCESSOR_VARIADIC_DETAIL_IS_SINGLE_RETURN_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/elem.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/elem.hpp
deleted file mode 100644
index be38a94..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/elem.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_ELEM */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__)
-#        define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),)
-#    else
-#        define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,)
-#    endif
-#    define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0
-#    define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1
-#    define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2
-#    define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3
-#    define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4
-#    define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5
-#    define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6
-#    define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7
-#    define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8
-#    define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9
-#    define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10
-#    define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11
-#    define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12
-#    define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13
-#    define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14
-#    define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15
-#    define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16
-#    define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17
-#    define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18
-#    define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19
-#    define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20
-#    define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21
-#    define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22
-#    define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23
-#    define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24
-#    define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25
-#    define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26
-#    define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27
-#    define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28
-#    define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29
-#    define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30
-#    define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31
-#    define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32
-#    define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33
-#    define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34
-#    define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35
-#    define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36
-#    define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37
-#    define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38
-#    define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39
-#    define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40
-#    define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41
-#    define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42
-#    define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43
-#    define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44
-#    define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45
-#    define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46
-#    define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47
-#    define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48
-#    define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49
-#    define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50
-#    define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51
-#    define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52
-#    define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53
-#    define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54
-#    define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55
-#    define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56
-#    define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57
-#    define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58
-#    define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59
-#    define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60
-#    define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61
-#    define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62
-#    define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/size.hpp
deleted file mode 100644
index b92a5ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/size.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_SIZE */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
-#    else
-#        define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
-#    endif
-#    define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_array.hpp
deleted file mode 100644
index 14c2b92..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_array.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_ARRAY_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_TO_ARRAY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/to_array.hpp>
-# if BOOST_PP_VARIADICS_MSVC
-#    include <boost/preprocessor/variadic/size.hpp>
-# endif
-#
-# /* BOOST_PP_VARIADIC_TO_ARRAY */
-#
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADIC_TO_ARRAY(...) BOOST_PP_TUPLE_TO_ARRAY_2(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),(__VA_ARGS__))
-#    else
-#        define BOOST_PP_VARIADIC_TO_ARRAY(...) BOOST_PP_TUPLE_TO_ARRAY((__VA_ARGS__))
-#    endif
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_list.hpp
deleted file mode 100644
index 43d526a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_list.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_LIST_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_TO_LIST_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/to_list.hpp>
-#
-# /* BOOST_PP_VARIADIC_TO_LIST */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADIC_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST((__VA_ARGS__))
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_seq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_seq.hpp
deleted file mode 100644
index 255af4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_seq.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_SEQ_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_TO_SEQ_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/to_seq.hpp>
-#
-# /* BOOST_PP_VARIADIC_TO_SEQ */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADIC_TO_SEQ(...) BOOST_PP_TUPLE_TO_SEQ((__VA_ARGS__))
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_tuple.hpp
deleted file mode 100644
index ddb6d8b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/variadic/to_tuple.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-# /* **************************************************************************
-#  *                                                                          *
-#  *     (C) Copyright Edward Diener 2011.                                    *
-#  *     (C) Copyright Paul Mensonides 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. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_TUPLE_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_TO_TUPLE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_TO_TUPLE */
-#
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADIC_TO_TUPLE(...) (__VA_ARGS__)
-# endif
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/while.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/while.hpp
deleted file mode 100644
index 4b9c801..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/while.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_WHILE_HPP
-# define BOOST_PREPROCESSOR_WHILE_HPP
-#
-# include <boost/preprocessor/control/while.hpp>
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/wstringize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/wstringize.hpp
deleted file mode 100644
index 5d1a83a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/preprocessor/wstringize.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_WSTRINGIZE_HPP
-# define BOOST_PREPROCESSOR_WSTRINGIZE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_WSTRINGIZE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_WSTRINGIZE(text) BOOST_PP_WSTRINGIZE_I(text)
-# else
-#    define BOOST_PP_WSTRINGIZE(text) BOOST_PP_WSTRINGIZE_OO((text))
-#    define BOOST_PP_WSTRINGIZE_OO(par) BOOST_PP_WSTRINGIZE_I ## par
-# endif
-#
-# define BOOST_PP_WSTRINGIZE_I(text) BOOST_PP_WSTRINGIZE_II(#text)
-# define BOOST_PP_WSTRINGIZE_II(str) L ## str
-#
-# endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/program_options.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/program_options.hpp
deleted file mode 100644
index dc35011..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/program_options.hpp
+++ /dev/null
@@ -1,25 +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)
-
-//  See www.boost.org/libs/program_options for documentation.
-
-#ifndef PROGRAM_OPTIONS_VP_2003_05_19
-#define PROGRAM_OPTIONS_VP_2003_05_19
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/program_options/options_description.hpp>
-#include <boost/program_options/positional_options.hpp>
-#include <boost/program_options/parsers.hpp>
-#include <boost/program_options/variables_map.hpp>
-#include <boost/program_options/cmdline.hpp>
-#include <boost/program_options/errors.hpp>
-#include <boost/program_options/option.hpp>
-#include <boost/program_options/value_semantic.hpp>
-#include <boost/program_options/version.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/progress.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/progress.hpp
deleted file mode 100644
index 027d9f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/progress.hpp
+++ /dev/null
@@ -1,142 +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/noncopyable.hpp>
-#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
-     : timer(), noncopyable(), 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
-   : noncopyable(), 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)
-        / static_cast<double>(_expected_count)) * 50.0);
-    do { m_os << '*' << std::flush; } while ( ++_tic < tics_needed );
-    _next_tic_count = 
-      static_cast<unsigned long>((_tic/50.0) * static_cast<double>(_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/rbgl_trimmed_boost_1_61_0/boost/property_map/compose_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/compose_property_map.hpp
deleted file mode 100644
index 4d8941d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/compose_property_map.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (C) 2013 Eurodecision
-// Authors: Guillaume Pinot
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/property_map for documentation.
-
-#ifndef BOOST_PROPERTY_MAP_COMPOSE_PROPERTY_MAP_HPP
-#define BOOST_PROPERTY_MAP_COMPOSE_PROPERTY_MAP_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/type_traits.hpp>
-
-namespace boost {
-
-// A compose property map: make_compose_property_map(f, g)[x] == f[g[x]]
-//
-// g must be a readable property map.
-// The category of compose_property_map(f, g) is the category of f.
-
-template <typename FPMap, typename GPMap>
-class compose_property_map
-{
-public:
-    typedef typename boost::property_traits<FPMap>::category category;
-    typedef typename boost::property_traits<GPMap>::key_type key_type; 
-    typedef typename boost::property_traits<FPMap>::value_type value_type;
-    typedef typename boost::property_traits<FPMap>::reference reference;
-
-    inline compose_property_map(const FPMap &f_p, const GPMap &g_p):
-        f(f_p), g(g_p)
-    {}
-
-    inline compose_property_map() {}
-
-    inline reference
-    operator[](const key_type &v) const {
-        return f[get(g, v)];
-    }
-
-    // return type of get():
-    // if (reference is not a ref)
-    //     value_type
-    // else if (reference is const)
-    //     reference
-    // else
-    //     const value_type&
-    inline friend typename boost::mpl::if_<
-        boost::mpl::not_< boost::is_reference<reference> >,
-        value_type,
-        typename boost::mpl::if_<
-            boost::is_const<reference>,
-            reference,
-            const value_type&
-            >::type
-        >::type
-    get(const compose_property_map &m, const key_type &k) {
-        return get(m.f, get(m.g, k));
-    }
-
-    inline friend void
-    put(const compose_property_map &m, const key_type &k, const value_type &v) {
-        put(m.f, get(m.g, k), v);
-    }
-
-private:
-    FPMap f;
-    GPMap g;
-};
-
-template <class FPMap, class GPMap>
-inline compose_property_map<FPMap, GPMap>
-make_compose_property_map(const FPMap &f, const GPMap &g) {
-    return compose_property_map<FPMap, GPMap>(f, g);
-}
-
-} // namespace boost
-
-#endif // BOOST_PROPERTY_MAP_COMPOSE_PROPERTY_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/dynamic_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/dynamic_property_map.hpp
deleted file mode 100644
index e4c10d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/dynamic_property_map.hpp
+++ /dev/null
@@ -1,352 +0,0 @@
-#ifndef DYNAMIC_PROPERTY_MAP_RG09302004_HPP
-#define DYNAMIC_PROPERTY_MAP_RG09302004_HPP
-
-// Copyright 2004-5 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)
-
-//  dynamic_property_map.hpp -
-//    Support for runtime-polymorphic property maps.  This header is factored
-//  out of Doug Gregor's routines for reading GraphML files for use in reading
-//  GraphViz graph files.
-
-//  Authors: Doug Gregor
-//           Ronald Garcia
-//
-
-
-#include <boost/config.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/any.hpp>
-#include <boost/function/function3.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <typeinfo>
-#include <boost/mpl/bool.hpp>
-#include <stdexcept>
-#include <sstream>
-#include <map>
-#include <boost/type.hpp>
-#include <boost/smart_ptr.hpp>
-
-namespace boost {
-
-namespace detail {
-
-  // read_value -
-  //   A wrapper around lexical_cast, which does not behave as
-  //   desired for std::string types.
-  template<typename Value>
-  inline Value read_value(const std::string& value)
-  { return boost::lexical_cast<Value>(value); }
-
-  template<>
-  inline std::string read_value<std::string>(const std::string& value)
-  { return value; }
-
-}
-
-
-// dynamic_property_map -
-//  This interface supports polymorphic manipulation of property maps.
-class dynamic_property_map
-{
-public:
-  virtual ~dynamic_property_map() { }
-
-  virtual boost::any get(const any& key) = 0;
-  virtual std::string get_string(const any& key) = 0;
-  virtual void put(const any& key, const any& value) = 0;
-  virtual const std::type_info& key() const = 0;
-  virtual const std::type_info& value() const = 0;
-};
-
-
-//////////////////////////////////////////////////////////////////////
-// Property map exceptions
-//////////////////////////////////////////////////////////////////////
-
-struct dynamic_property_exception : public std::exception {
-  virtual ~dynamic_property_exception() throw() {}
-  virtual const char* what() const throw() = 0;
-};
-
-struct property_not_found : public dynamic_property_exception {
-  std::string property;
-  mutable std::string statement;
-  property_not_found(const std::string& property) : property(property) {}
-  virtual ~property_not_found() throw() {}
-
-  const char* what() const throw() {
-    if(statement.empty())
-      statement =
-        std::string("Property not found: ") + property + ".";
-
-    return statement.c_str();
-  }
-};
-
-struct dynamic_get_failure : public dynamic_property_exception {
-  std::string property;
-  mutable std::string statement;
-  dynamic_get_failure(const std::string& property) : property(property) {}
-  virtual ~dynamic_get_failure() throw() {}
-
-  const char* what() const throw() {
-    if(statement.empty())
-      statement =
-        std::string(
-         "dynamic property get cannot retrieve value for  property: ")
-        + property + ".";
-
-    return statement.c_str();
-  }
-};
-
-struct dynamic_const_put_error  : public dynamic_property_exception {
-  virtual ~dynamic_const_put_error() throw() {}
-
-  const char* what() const throw() {
-    return "Attempt to put a value into a const property map: ";
-  }
-};
-
-
-namespace detail {
-
-// Trying to work around VC++ problem that seems to relate to having too many
-// functions named "get"
-template <typename PMap, typename Key>
-typename boost::property_traits<PMap>::reference
-get_wrapper_xxx(const PMap& pmap, const Key& key) {
-  using boost::get;
-  return get(pmap, key);
-}
-
-//
-// dynamic_property_map_adaptor -
-//   property-map adaptor to support runtime polymorphism.
-template<typename PropertyMap>
-class dynamic_property_map_adaptor : public dynamic_property_map
-{
-  typedef typename property_traits<PropertyMap>::key_type key_type;
-  typedef typename property_traits<PropertyMap>::value_type value_type;
-  typedef typename property_traits<PropertyMap>::category category;
-
-  // do_put - overloaded dispatches from the put() member function.
-  //   Attempts to "put" to a property map that does not model
-  //   WritablePropertyMap result in a runtime exception.
-
-  //   in_value must either hold an object of value_type or a string that
-  //   can be converted to value_type via iostreams.
-  void do_put(const any& in_key, const any& in_value, mpl::bool_<true>)
-  {
-    using boost::put;
-
-    key_type key_ = any_cast<key_type>(in_key);
-    if (in_value.type() == typeid(value_type)) {
-      put(property_map_, key_, any_cast<value_type>(in_value));
-    } else {
-      //  if in_value is an empty string, put a default constructed value_type.
-      std::string v = any_cast<std::string>(in_value);
-      if (v.empty()) {
-        put(property_map_, key_, value_type());
-      } else {
-        put(property_map_, key_, detail::read_value<value_type>(v));
-      }
-    }
-  }
-
-  void do_put(const any&, const any&, mpl::bool_<false>)
-  {
-    BOOST_THROW_EXCEPTION(dynamic_const_put_error());
-  }
-
-public:
-  explicit dynamic_property_map_adaptor(const PropertyMap& property_map_)
-    : property_map_(property_map_) { }
-
-  virtual boost::any get(const any& key_)
-  {
-    return get_wrapper_xxx(property_map_, any_cast<typename boost::property_traits<PropertyMap>::key_type>(key_));
-  }
-
-  virtual std::string get_string(const any& key_)
-  {
-    std::ostringstream out;
-    out << get_wrapper_xxx(property_map_, any_cast<typename boost::property_traits<PropertyMap>::key_type>(key_));
-    return out.str();
-  }
-
-  virtual void put(const any& in_key, const any& in_value)
-  {
-    do_put(in_key, in_value,
-           mpl::bool_<(is_convertible<category*,
-                                      writable_property_map_tag*>::value)>());
-  }
-
-  virtual const std::type_info& key()   const { return typeid(key_type); }
-  virtual const std::type_info& value() const { return typeid(value_type); }
-
-  PropertyMap&       base()       { return property_map_; }
-  const PropertyMap& base() const { return property_map_; }
-
-private:
-  PropertyMap property_map_;
-};
-
-} // namespace detail
-
-//
-// dynamic_properties -
-//   container for dynamic property maps
-//
-struct dynamic_properties
-{
-  typedef std::multimap<std::string, boost::shared_ptr<dynamic_property_map> >
-    property_maps_type;
-  typedef boost::function3<boost::shared_ptr<dynamic_property_map>,
-                           const std::string&,
-                           const boost::any&,
-                           const boost::any&> generate_fn_type;
-public:
-
-  typedef property_maps_type::iterator iterator;
-  typedef property_maps_type::const_iterator const_iterator;
-
-  dynamic_properties() : generate_fn() { }
-  dynamic_properties(const generate_fn_type& g) : generate_fn(g) {}
-
-  ~dynamic_properties() {}
-
-  template<typename PropertyMap>
-  dynamic_properties&
-  property(const std::string& name, PropertyMap property_map_)
-  {
-    boost::shared_ptr<dynamic_property_map> pm(
-      boost::static_pointer_cast<dynamic_property_map>(
-        boost::make_shared<detail::dynamic_property_map_adaptor<PropertyMap> >(property_map_)));
-    property_maps.insert(property_maps_type::value_type(name, pm));
-
-    return *this;
-  }
-
-  template<typename PropertyMap>
-  dynamic_properties
-  property(const std::string& name, PropertyMap property_map_) const
-  {
-    dynamic_properties result = *this;
-    result.property(name, property_map_);
-    return result;
-  }
-
-  iterator       begin()       { return property_maps.begin(); }
-  const_iterator begin() const { return property_maps.begin(); }
-  iterator       end()         { return property_maps.end(); }
-  const_iterator end() const   { return property_maps.end(); }
-
-  iterator lower_bound(const std::string& name)
-  { return property_maps.lower_bound(name); }
-
-  const_iterator lower_bound(const std::string& name) const
-  { return property_maps.lower_bound(name); }
-
-  void
-  insert(const std::string& name, boost::shared_ptr<dynamic_property_map> pm)
-  {
-    property_maps.insert(property_maps_type::value_type(name, pm));
-  }
-
-  template<typename Key, typename Value>
-  boost::shared_ptr<dynamic_property_map>
-  generate(const std::string& name, const Key& key, const Value& value)
-  {
-    if(!generate_fn) {
-      BOOST_THROW_EXCEPTION(property_not_found(name));
-    } else {
-      return generate_fn(name,key,value);
-    }
-  }
-
-private:
-  property_maps_type property_maps;
-  generate_fn_type generate_fn;
-};
-
-template<typename Key, typename Value>
-bool
-put(const std::string& name, dynamic_properties& dp, const Key& key,
-    const Value& value)
-{
-  for (dynamic_properties::iterator i = dp.lower_bound(name);
-       i != dp.end() && i->first == name; ++i) {
-    if (i->second->key() == typeid(key)) {
-      i->second->put(key, value);
-      return true;
-    }
-  }
-
-  boost::shared_ptr<dynamic_property_map> new_map = dp.generate(name, key, value);
-  if (new_map.get()) {
-    new_map->put(key, value);
-    dp.insert(name, new_map);
-    return true;
-  } else {
-    return false;
-  }
-}
-
-template<typename Value, typename Key>
-Value
-get(const std::string& name, const dynamic_properties& dp, const Key& key)
-{
-  for (dynamic_properties::const_iterator i = dp.lower_bound(name);
-       i != dp.end() && i->first == name; ++i) {
-    if (i->second->key() == typeid(key))
-      return any_cast<Value>(i->second->get(key));
-  }
-
-  BOOST_THROW_EXCEPTION(dynamic_get_failure(name));
-}
-
-template<typename Value, typename Key>
-Value
-get(const std::string& name, const dynamic_properties& dp, const Key& key, type<Value>)
-{
-  for (dynamic_properties::const_iterator i = dp.lower_bound(name);
-       i != dp.end() && i->first == name; ++i) {
-    if (i->second->key() == typeid(key))
-      return any_cast<Value>(i->second->get(key));
-  }
-
-  BOOST_THROW_EXCEPTION(dynamic_get_failure(name));
-}
-
-template<typename Key>
-std::string
-get(const std::string& name, const dynamic_properties& dp, const Key& key)
-{
-  for (dynamic_properties::const_iterator i = dp.lower_bound(name);
-       i != dp.end() && i->first == name; ++i) {
-    if (i->second->key() == typeid(key))
-      return i->second->get_string(key);
-  }
-
-  BOOST_THROW_EXCEPTION(dynamic_get_failure(name));
-}
-
-// The easy way to ignore properties.
-inline
-boost::shared_ptr<boost::dynamic_property_map>
-ignore_other_properties(const std::string&,
-                        const boost::any&,
-                        const boost::any&) {
-  return boost::shared_ptr<boost::dynamic_property_map>();
-}
-
-} // namespace boost
-
-#endif // DYNAMIC_PROPERTY_MAP_RG09302004_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/function_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/function_property_map.hpp
deleted file mode 100644
index c8c295f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/function_property_map.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-//=======================================================================
-// Author: Philipp Moeller
-//
-// Copyright 2012, Philipp Moeller
-//
-// Distributed under the 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_PROPERTY_MAP_FUNCTION_PROPERTY_MAP_HPP
-#define BOOST_PROPERTY_MAP_FUNCTION_PROPERTY_MAP_HPP
-
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <utility>
-
-namespace boost {
-
-template<typename Func, typename Key, typename Ret = typename boost::result_of<const Func(const Key&)>::type>
-class function_property_map: public put_get_helper<Ret, function_property_map<Func, Key, Ret> > {
-  public:
-  typedef Key key_type;
-  typedef Ret reference;
-  typedef typename boost::remove_cv<typename boost::remove_reference<Ret>::type>::type value_type;
-
-  typedef typename boost::mpl::if_<
-                     boost::mpl::and_<
-                       boost::is_reference<Ret>,
-                       boost::mpl::not_<boost::is_const<Ret> >
-                     >,
-                     boost::lvalue_property_map_tag,
-                     boost::readable_property_map_tag>::type
-    category;
-
-  function_property_map(Func f = Func()) : f(f) {}
-
-  reference operator[](const Key& k) const {
-    return f(k);
-  }
-
-  private:
-  Func f;
-};
-
-template<typename Key, typename Func>
-function_property_map<Func, Key>
-make_function_property_map(const Func& f) {
-  return function_property_map<Func, Key>(f);
-}
-
-template<typename Key, typename Ret, typename Func>
-function_property_map<Func, Key, Ret>
-make_function_property_map(const Func& f) {
-  return function_property_map<Func, Key, Ret>(f);
-}
-
-} // boost
-
-#endif /* BOOST_PROPERTY_MAP_FUNCTION_PROPERTY_MAP_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/basic_reduce.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/basic_reduce.hpp
deleted file mode 100644
index 44bd1ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/basic_reduce.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-#ifndef BOOST_PARALLEL_BASIC_REDUCE_HPP
-#define BOOST_PARALLEL_BASIC_REDUCE_HPP
-
-namespace boost { namespace parallel {
-
-/** Reduction operation used to reconcile differences between local
- * and remote values for a particular key in a property map.  The
- * type @c T is typically the @c value_type of the property
- * map. This basic reduction returns a default-constructed @c T as
- * the default value and always resolves to the remote value.
- */
-template<typename T>
-struct basic_reduce
-{
-  BOOST_STATIC_CONSTANT(bool, non_default_resolver = false);
-
-  /// Returns a default-constructed T object
-  template<typename Key>
-  T operator()(const Key&) const { return T(); }
-  
-  /// Returns the remote value
-  template<typename Key>
-  const T& operator()(const Key&, const T&, const T& remote) const 
-  { return remote; }
-};
-
-} } // end namespace boost::parallel
-
-#endif // BOOST_PARALLEL_BASIC_REDUCE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/caching_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/caching_property_map.hpp
deleted file mode 100644
index eeb5cfa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/caching_property_map.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_PARALLEL_CACHING_PROPERTY_MAP_HPP
-#define BOOST_PARALLEL_CACHING_PROPERTY_MAP_HPP
-
-#include <boost/property_map/property_map.hpp>
-
-namespace boost { 
-
-// This probably doesn't belong here
-template<typename Key, typename Value>
-inline void local_put(dummy_property_map, const Key&, const Value&) {}
-
-namespace parallel {
-
-/** Property map that caches values placed in it but does not
- * broadcast values to remote processors.  This class template is
- * meant as an adaptor for @ref distributed_property_map that
- * suppresses communication in the event of a remote @c put operation
- * by mapping it to a local @c put operation.
- *
- * @todo Find a better name for @ref caching_property_map
- */
-template<typename PropertyMap>
-class caching_property_map
-{
-public:
-  typedef typename property_traits<PropertyMap>::key_type   key_type;
-  typedef typename property_traits<PropertyMap>::value_type value_type;
-  typedef typename property_traits<PropertyMap>::reference  reference;
-  typedef typename property_traits<PropertyMap>::category   category;
-
-  explicit caching_property_map(const PropertyMap& property_map)
-    : property_map(property_map) {}
-
-  PropertyMap&        base()       { return property_map; }
-  const PropertyMap&  base() const { return property_map; }
-
-  template<typename Reduce>
-  void set_reduce(const Reduce& reduce)
-  { property_map.set_reduce(reduce); }
-
-  void reset() { property_map.reset(); }
-
-#if 0
-  reference operator[](const key_type& key) const
-  {
-    return property_map[key];
-  }
-#endif
-
-private:
-  PropertyMap property_map;
-};
-
-template<typename PropertyMap, typename Key>
-inline typename caching_property_map<PropertyMap>::value_type
-get(const caching_property_map<PropertyMap>& pm, const Key& key)
-{ return get(pm.base(), key); }
-
-template<typename PropertyMap, typename Key, typename Value>
-inline void
-local_put(const caching_property_map<PropertyMap>& pm, const Key& key,
-          const Value& value)
-{ local_put(pm.base(), key, value); }
-
-template<typename PropertyMap, typename Key, typename Value>
-inline void
-cache(const caching_property_map<PropertyMap>& pm, const Key& key,
-      const Value& value)
-{ cache(pm.base(), key, value); }
-
-template<typename PropertyMap, typename Key, typename Value>
-inline void
-put(const caching_property_map<PropertyMap>& pm, const Key& key,
-    const Value& value)
-{ local_put(pm.base(), key, value); }
-
-template<typename PropertyMap>
-inline caching_property_map<PropertyMap>
-make_caching_property_map(const PropertyMap& pm)
-{ return caching_property_map<PropertyMap>(pm); }
-
-} } // end namespace boost::parallel
-
-#endif // BOOST_PARALLEL_CACHING_PROPERTY_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/detail/untracked_pair.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/detail/untracked_pair.hpp
deleted file mode 100644
index 779ee6c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/detail/untracked_pair.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (C) 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
-//
-// This file contains helper data structures for use in transmitting
-// properties. The basic idea is to optimize away any storage for the
-// properties when no properties are specified.
-#ifndef BOOST_PARALLEL_DETAIL_UNTRACKED_PAIR_HPP
-#define BOOST_PARALLEL_DETAIL_UNTRACKED_PAIR_HPP
-
-#include <boost/mpi/datatype.hpp>
-#include <utility> // for std::pair
-#include <boost/serialization/utility.hpp>
-
-namespace boost { namespace parallel { namespace detail {
-
-/**
- * This structure is like std::pair, with the only difference
- * that tracking in the serialization library is turned off.
- */
- 
-template<typename T, typename U>
-struct untracked_pair : public std::pair<T,U>
-{
-  untracked_pair() {}
-
-  untracked_pair(const T& t, const U& u)
-  : std::pair<T,U>(t,u) {}
-
-  template<class T1, class U1>
-  untracked_pair(std::pair<T1,U1> const& p)
-  : std::pair<T,U>(p) {}  
-};
-
-template<typename T, typename U>
-inline untracked_pair<T, U>
-make_untracked_pair(const T& t, const U& u)
-{
-  return untracked_pair<T,U>(t,u);
-}
-
-} } } // end namespace boost::parallel::detail
-
-namespace boost { namespace mpi {
-
-template<typename T, typename U>
-struct is_mpi_datatype<boost::parallel::detail::untracked_pair<T, U> >
-  : is_mpi_datatype<std::pair<T,U> > {};
-
-} } // end namespace boost::mpi
-
-namespace boost { namespace serialization {
-
-// pair
-template<class Archive, class F, class S>
-inline void serialize(
-    Archive & ar,
-    boost::parallel::detail::untracked_pair<F, S> & p,
-    const unsigned int /* file_version */
-){
-    ar & boost::serialization::make_nvp("first", p.first);
-    ar & boost::serialization::make_nvp("second", p.second);
-}
-
-template<typename T, typename U>
-struct is_bitwise_serializable<
-        boost::parallel::detail::untracked_pair<T, U> >
-  : is_bitwise_serializable<std::pair<T, U> > {};
-
-template<typename T, typename U>
-struct implementation_level<boost::parallel::detail::untracked_pair<T, U> >
- : mpl::int_<object_serializable> {} ;
-
-template<typename T, typename U>
-struct tracking_level<boost::parallel::detail::untracked_pair<T, U> >
- : mpl::int_<track_never> {} ;
-
-} } // end namespace boost::serialization
-
-#endif // BOOST_PARALLEL_DETAIL_UNTRACKED_PAIR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/distributed_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/distributed_property_map.hpp
deleted file mode 100644
index 8ef6004..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/distributed_property_map.hpp
+++ /dev/null
@@ -1,693 +0,0 @@
-// Copyright (C) 2004-2008 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: Douglas Gregor
-//           Nick Edmonds
-//           Andrew Lumsdaine
-
-// The placement of this #include probably looks very odd relative to
-// the #ifndef/#define pair below. However, this placement is
-// extremely important to allow the various property map headers to be
-// included in any order.
-#include <boost/property_map/property_map.hpp>
-
-#ifndef BOOST_PARALLEL_DISTRIBUTED_PROPERTY_MAP_HPP
-#define BOOST_PARALLEL_DISTRIBUTED_PROPERTY_MAP_HPP
-
-#include <boost/assert.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
-#include <boost/optional.hpp>
-#include <boost/property_map/parallel/process_group.hpp>
-#include <boost/function/function1.hpp>
-#include <vector>
-#include <set>
-#include <boost/property_map/parallel/basic_reduce.hpp>
-#include <boost/property_map/parallel/detail/untracked_pair.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-#include <map>
-#include <boost/version.hpp>
-#include <boost/property_map/parallel/unsafe_serialize.hpp>
-#include <boost/multi_index_container.hpp>
-#include <boost/multi_index/hashed_index.hpp>
-#include <boost/multi_index/member.hpp>
-#include <boost/multi_index/sequenced_index.hpp>
-
-// Serialization functions for constructs we use
-#include <boost/serialization/utility.hpp>
-
-namespace boost { namespace parallel {
-
-namespace detail {
-  /**************************************************************************
-   * Metafunction that degrades an Lvalue Property Map category tag to
-   * a Read Write Property Map category tag.
-   **************************************************************************/
-  template<bool IsLvaluePropertyMap>
-  struct make_nonlvalue_property_map
-  {
-    template<typename T> struct apply { typedef T type; };
-  };
-
-  template<>
-  struct make_nonlvalue_property_map<true>
-  {
-    template<typename>
-    struct apply
-    {
-      typedef read_write_property_map_tag type;
-    };
-  };
-
-  /**************************************************************************
-   * Performs a "put" on a property map so long as the property map is
-   * a Writable Property Map or a mutable Lvalue Property Map. This
-   * is required because the distributed property map's message
-   * handler handles "put" messages even for a const property map,
-   * although receipt of a "put" message is ill-formed.
-   **************************************************************************/
-  template<bool IsLvaluePropertyMap>
-  struct maybe_put_in_lvalue_pm
-  {
-    template<typename PropertyMap, typename Key, typename Value>
-    static inline void
-    do_put(PropertyMap, const Key&, const Value&)
-    { BOOST_ASSERT(false); }
-  };
-
-  template<>
-  struct maybe_put_in_lvalue_pm<true>
-  {
-    template<typename PropertyMap, typename Key, typename Value>
-    static inline void
-    do_put(PropertyMap pm, const Key& key, const Value& value)
-    {
-      using boost::put;
-
-      put(pm, key, value);
-    }
-  };
-
-  template<typename PropertyMap, typename Key, typename Value>
-  inline void
-  maybe_put_impl(PropertyMap pm, const Key& key, const Value& value,
-                 writable_property_map_tag)
-  {
-    using boost::put;
-
-    put(pm, key, value);
-  }
-
-  template<typename PropertyMap, typename Key, typename Value>
-  inline void
-  maybe_put_impl(PropertyMap pm, const Key& key, const Value& value,
-                 lvalue_property_map_tag)
-  {
-    typedef typename property_traits<PropertyMap>::value_type value_type;
-    typedef typename property_traits<PropertyMap>::reference reference;
-    // DPG TBD: Some property maps are improperly characterized as
-    // lvalue_property_maps, when in fact they do not provide true
-    // references. The most typical example is those property maps
-    // built from vector<bool> and its iterators, which deal with
-    // proxies. We don't want to mischaracterize these as not having a
-    // "put" operation, so we only consider an lvalue_property_map as
-    // constant if its reference is const value_type&. In fact, this
-    // isn't even quite correct (think of a
-    // vector<bool>::const_iterator), but at present C++ doesn't
-    // provide us with any alternatives.
-    typedef is_same<const value_type&, reference> is_constant;
-
-    maybe_put_in_lvalue_pm<(!is_constant::value)>::do_put(pm, key, value);
-  }
-
-  template<typename PropertyMap, typename Key, typename Value>
-  inline void
-  maybe_put_impl(PropertyMap, const Key&, const Value&, ...)
-  { BOOST_ASSERT(false); }
-
-  template<typename PropertyMap, typename Key, typename Value>
-  inline void
-  maybe_put(PropertyMap pm, const Key& key, const Value& value)
-  {
-    maybe_put_impl(pm, key, value,
-                   typename property_traits<PropertyMap>::category());
-  }
-} // end namespace detail
-
-/** The consistency model used by the distributed property map. */
-enum consistency_model {
-  cm_forward = 1 << 0,
-  cm_backward = 1 << 1,
-  cm_bidirectional = cm_forward | cm_backward,
-  cm_flush = 1 << 2,
-  cm_reset = 1 << 3,
-  cm_clear = 1 << 4
-};
-
-/** Distributed property map adaptor.
- *
- *  The distributed property map adaptor is a property map whose
- *  stored values are distributed across multiple non-overlapping
- *  memory spaces on different processes. Values local to the current
- *  process are stored within a local property map and may be
- *  immediately accessed via @c get and @c put. Values stored on
- *  remote processes may also be access via @c get and @c put, but the
- *  behavior differs slightly:
- *
- *  - @c put operations update a local ghost cell and send a "put"
- *    message to the process that owns the value. The owner is free to
- *    update its own "official" value or may ignore the put request.
- *
- *  - @c get operations returns the contents of the local ghost
- *    cell. If no ghost cell is available, one is created using the
- *    default value provided by the "reduce" operation. See, e.g.,
- *    @ref basic_reduce and @ref property_reduce.
- *
- * Using distributed property maps requires a bit more care than using
- * local, sequential property maps. While the syntax and semantics are
- * similar, distributed property maps may contain out-of-date
- * information that can only be guaranteed to be synchronized by
- * calling the @ref synchronize function in all processes.
- *
- * To address the issue of out-of-date values, distributed property
- * maps are supplied with a reduction operation. The reduction
- * operation has two roles:
- *
- *   -# When a value is needed for a remote key but no value is
- *      immediately available, the reduction operation provides a
- *      suitable default. For instance, a distributed property map
- *      storing distances may have a reduction operation that returns
- *      an infinite value as the default, whereas a distributed
- *      property map for vertex colors may return white as the
- *      default.
- *
- *   -# When a value is received from a remote process, the process
- *      owning the key associated with that value must determine which
- *      value---the locally stored value, the value received from a
- *      remote process, or some combination of the two---will be
- *      stored as the "official" value in the property map. The
- *      reduction operation transforms the local and remote values
- *      into the "official" value to be stored.
- *
- * @tparam ProcessGroup the type of the process group over which the
- * property map is distributed and is also the medium for
- * communication.
- *
- * @tparam StorageMap the type of the property map that will
- * store values for keys local to this processor. The @c value_type of
- * this property map will become the @c value_type of the distributed
- * property map. The distributed property map models the same property
- * map concepts as the @c LocalPropertyMap, with one exception: a
- * distributed property map cannot be an LvaluePropertyMap (because
- * remote values are not addressable), and is therefore limited to
- * ReadWritePropertyMap.
- */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-class distributed_property_map
-{
- public:
-  /// The key type of the property map.
-  typedef typename property_traits<GlobalMap>::key_type key_type;
-
-  /// The value type of the property map.
-  typedef typename property_traits<StorageMap>::value_type value_type;
-  typedef typename property_traits<StorageMap>::reference  reference;
-  typedef ProcessGroup                        process_group_type;
-
- private:
-  typedef distributed_property_map            self_type;
-  typedef typename property_traits<StorageMap>::category local_category;
-  typedef typename property_traits<StorageMap>::key_type local_key_type;
-  typedef typename property_traits<GlobalMap>::value_type owner_local_pair;
-  typedef typename ProcessGroup::process_id_type process_id_type;
-
-  enum property_map_messages {
-    /** A request to store a value in a property map. The message
-     * contains a std::pair<key, data>.
-     */
-    property_map_put,
-
-    /** A request to retrieve a particular value in a property
-     *  map. The message contains a key. The owner of that key will
-     *  reply with a value.
-     */
-    property_map_get,
-
-    /** A request to update values stored on a remote processor. The
-     * message contains a vector of keys for which the source
-     * requests updated values. This message will only be transmitted
-     * during synchronization.
-     */
-    property_map_multiget,
-
-    /** A request to store values in a ghost cell. This message
-     * contains a vector of key/value pairs corresponding to the
-     * sequence of keys sent to the source processor.
-     */
-    property_map_multiget_reply,
-
-    /** The payload containing a vector of local key-value pairs to be
-     * put into the remote property map. A key-value std::pair will be
-     * used to store each local key-value pair.
-     */
-    property_map_multiput
-  };
-
-  // Code from Joaquín M López Muñoz to work around unusual implementation of
-  // std::pair in VC++ 10:
-  template<typename First,typename Second>
-  class pair_first_extractor {
-    typedef std::pair<First,Second> value_type;
-
-    public:
-    typedef First result_type;
-    const result_type& operator()(const value_type& x) const {
-      return x.first;
-    }
-
-    result_type& operator()(value_type& x) const {
-      return x.first;
-    }
-  };
-
- public:
-  /// The type of the ghost cells
-  typedef multi_index::multi_index_container<
-            std::pair<key_type, value_type>,
-            multi_index::indexed_by<
-              multi_index::sequenced<>,
-              multi_index::hashed_unique<
-                pair_first_extractor<key_type, value_type>
-              >
-            >
-          > ghost_cells_type;
-
-  /// Iterator into the ghost cells
-  typedef typename ghost_cells_type::iterator iterator;
-
-  /// Key-based index into the ghost cells
-  typedef typename ghost_cells_type::template nth_index<1>::type
-    ghost_cells_key_index_type;
-
-  /// Iterator into the ghost cells (by key)
-  typedef typename ghost_cells_key_index_type::iterator key_iterator;
-
-  /** The property map category.  A distributed property map cannot be
-   * an Lvalue Property Map, because values on remote processes cannot
-   * be addresses.
-   */
-  typedef typename detail::make_nonlvalue_property_map<
-    (is_base_and_derived<lvalue_property_map_tag, local_category>::value
-     || is_same<lvalue_property_map_tag, local_category>::value)>
-    ::template apply<local_category>::type category;
-
-  /** Default-construct a distributed property map.  This function
-   * creates an initialized property map that must be assigned to a
-   * valid value before being used. It is only provided here because
-   * property maps must be Default Constructible.
-   */
-  distributed_property_map() {}
-
-  /** Construct a distributed property map.  Builds a distributed
-   * property map communicating over the given process group and using
-   * the given local property map for storage. Since no reduction
-   * operation is provided, the default reduction operation @c
-   * basic_reduce<value_type> is used.
-   */
-  distributed_property_map(const ProcessGroup& pg, const GlobalMap& global,
-                           const StorageMap& pm)
-    : data(new data_t(pg, global, pm, basic_reduce<value_type>(), false))
-  {
-    typedef handle_message<basic_reduce<value_type> > Handler;
-
-    data->ghost_cells.reset(new ghost_cells_type());
-    Handler handler(data);
-    data->process_group.replace_handler(handler, true);
-    data->process_group.template get_receiver<Handler>()
-      ->setup_triggers(data->process_group);
-  }
-
-  /** Construct a distributed property map.  Builds a distributed
-   * property map communicating over the given process group and using
-   * the given local property map for storage. The given @p reduce
-   * parameter is used as the reduction operation.
-   */
-  template<typename Reduce>
-  distributed_property_map(const ProcessGroup& pg, const GlobalMap& global,
-                           const StorageMap& pm,
-                           const Reduce& reduce);
-
-  ~distributed_property_map();
-
-  /// Set the reduce operation of the distributed property map.
-  template<typename Reduce>
-  void set_reduce(const Reduce& reduce);
-
-  // Set the consistency model for the distributed property map
-  void set_consistency_model(int model);
-
-  // Get the consistency model
-  int get_consistency_model() const { return data->model; }
-
-  // Set the maximum number of ghost cells that we are allowed to
-  // maintain. If 0, all ghost cells will be retained.
-  void set_max_ghost_cells(std::size_t max_ghost_cells);
-
-  // Clear out all ghost cells
-  void clear();
-
-  // Reset the values in all ghost cells to the default value
-  void reset();
-
-  // Flush all values destined for remote processors
-  void flush();
-
-  reference operator[](const key_type& key) const
-  {
-    owner_local_pair p = get(data->global, key);
-
-    if (p.first == process_id(data->process_group)) {
-      return data->storage[p.second];
-    } else {
-      return cell(key);
-    }
-  }
-
-  process_group_type process_group() const
-  {
-    return data->process_group.base();
-  }
-
-  StorageMap&       base()       { return data->storage; }
-  const StorageMap& base() const { return data->storage; }
-
-  /** Sends a "put" request.
-   * \internal
-   *
-   */
-  void
-  request_put(process_id_type p, const key_type& k, const value_type& v) const
-  {
-    send(data->process_group, p, property_map_put,
-         boost::parallel::detail::make_untracked_pair(k, v));
-  }
-
-  /** Access the ghost cell for the given key.
-   * \internal
-   */
-  value_type& cell(const key_type& k, bool request_if_missing = true) const;
-
-  /** Perform synchronization
-   * \internal
-   */
-  void do_synchronize();
-
-  const GlobalMap& global() const { return data->global; }
-  GlobalMap&       global()       { return data->global; }
-
-  struct data_t
-  {
-    data_t(const ProcessGroup& pg, const GlobalMap& global,
-           const StorageMap& pm, const function1<value_type, key_type>& dv,
-           bool has_default_resolver)
-      : process_group(pg), global(global), storage(pm),
-        ghost_cells(), max_ghost_cells(1000000), get_default_value(dv),
-        has_default_resolver(has_default_resolver), model(cm_forward) { }
-
-    /// The process group
-    ProcessGroup process_group;
-
-    /// A mapping from the keys of this property map to the global
-    /// descriptor.
-    GlobalMap global;
-
-    /// Local property map
-    StorageMap storage;
-
-    /// The ghost cells
-    shared_ptr<ghost_cells_type> ghost_cells;
-
-    /// The maximum number of ghost cells we are permitted to hold. If
-    /// zero, we are permitted to have an infinite number of ghost
-    /// cells.
-    std::size_t max_ghost_cells;
-
-    /// Default value for remote ghost cells, as defined by the
-    /// reduction operation.
-    function1<value_type, key_type> get_default_value;
-
-    /// True if this resolver is the "default" resolver, meaning that
-    /// we should not be able to get() a default value; it needs to be
-    /// request()ed first.
-    bool has_default_resolver;
-
-    // Current consistency model
-    int model;
-
-    // Function that resets all of the ghost cells to their default
-    // values. It knows the type of the resolver, so we can eliminate
-    // a large number of calls through function pointers.
-    void (data_t::*reset)();
-
-    // Clear out all ghost cells
-    void clear();
-
-    // Flush all values destined for remote processors
-    void flush();
-
-    // Send out requests to "refresh" the values of ghost cells that
-    // we're holding.
-    void refresh_ghost_cells();
-
-  private:
-    template<typename Resolver> void do_reset();
-
-    friend class distributed_property_map;
-  };
-  friend struct data_t;
-
-  shared_ptr<data_t> data;
-
- private:
-  // Prunes the least recently used ghost cells until we have @c
-  // max_ghost_cells or fewer ghost cells.
-  void prune_ghost_cells() const;
-
-  /** Handles incoming messages.
-   *
-   * This function object is responsible for handling all incoming
-   * messages for the distributed property map.
-   */
-  template<typename Reduce>
-  struct handle_message
-  {
-    explicit handle_message(const shared_ptr<data_t>& data,
-                            const Reduce& reduce = Reduce())
-      : data_ptr(data), reduce(reduce) { }
-
-    void operator()(process_id_type source, int tag);
-
-    /// Individual message handlers
-    void
-    handle_put(int source, int tag,
-               const boost::parallel::detail::untracked_pair<key_type, value_type>& data,
-               trigger_receive_context);
-
-    value_type
-    handle_get(int source, int tag, const key_type& data,
-               trigger_receive_context);
-
-    void
-    handle_multiget(int source, int tag,
-                    const std::vector<key_type>& data,
-                    trigger_receive_context);
-
-    void
-    handle_multiget_reply
-      (int source, int tag,
-       const std::vector<boost::parallel::detail::untracked_pair<key_type, value_type> >& msg,
-       trigger_receive_context);
-
-    void
-    handle_multiput
-      (int source, int tag,
-       const std::vector<unsafe_pair<local_key_type, value_type> >& data,
-       trigger_receive_context);
-
-    void setup_triggers(process_group_type& pg);
-
-  private:
-    weak_ptr<data_t> data_ptr;
-    Reduce reduce;
-  };
-
-  /* Sets up the next stage in a multi-stage synchronization, for
-     bidirectional consistency. */
-  struct on_synchronize
-  {
-    explicit on_synchronize(const shared_ptr<data_t>& data) : data_ptr(data) { }
-
-    void operator()();
-
-  private:
-    weak_ptr<data_t> data_ptr;
-  };
-};
-
-/* An implementation helper macro for the common case of naming
-   distributed property maps with all of the normal template
-   parameters. */
-#define PBGL_DISTRIB_PMAP                                       \
-  distributed_property_map<ProcessGroup, GlobalMap, StorageMap>
-
-/* Request that the value for the given remote key be retrieved in
-   the next synchronization round. */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline void
-request(const PBGL_DISTRIB_PMAP& pm,
-        typename PBGL_DISTRIB_PMAP::key_type const& key)
-{
-  if (get(pm.data->global, key).first != process_id(pm.data->process_group))
-    pm.cell(key, false);
-}
-
-/** Get the value associated with a particular key.  Retrieves the
- * value associated with the given key. If the key denotes a
- * locally-owned object, it returns the value from the local property
- * map; if the key denotes a remotely-owned object, retrieves the
- * value of the ghost cell for that key, which may be the default
- * value provided by the reduce operation.
- *
- * Complexity: For a local key, O(1) get operations on the underlying
- * property map. For a non-local key, O(1) accesses to the ghost cells.
- */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline
-typename PBGL_DISTRIB_PMAP::value_type
-get(const PBGL_DISTRIB_PMAP& pm,
-    typename PBGL_DISTRIB_PMAP::key_type const& key)
-{
-  using boost::get;
-
-  typename property_traits<GlobalMap>::value_type p =
-    get(pm.data->global, key);
-
-  if (p.first == process_id(pm.data->process_group)) {
-    return get(pm.data->storage, p.second);
-  } else {
-    return pm.cell(key);
-  }
-}
-
-/** Put a value associated with the given key into the property map.
- * When the key denotes a locally-owned object, this operation updates
- * the underlying local property map. Otherwise, the local ghost cell
- * is updated and a "put" message is sent to the processor owning this
- * key.
- *
- * Complexity: For a local key, O(1) put operations on the underlying
- * property map. For a nonlocal key, O(1) accesses to the ghost cells
- * and will send O(1) messages of size O(sizeof(key) + sizeof(value)).
- */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void
-put(const PBGL_DISTRIB_PMAP& pm,
-    typename PBGL_DISTRIB_PMAP::key_type const & key,
-    typename PBGL_DISTRIB_PMAP::value_type const & value)
-{
-  using boost::put;
-
-  typename property_traits<GlobalMap>::value_type p =
-    get(pm.data->global, key);
-
-  if (p.first == process_id(pm.data->process_group)) {
-    put(pm.data->storage, p.second, value);
-  } else {
-    if (pm.data->model & cm_forward)
-      pm.request_put(p.first, key, value);
-
-    pm.cell(key, false) = value;
-  }
-}
-
-/** Put a value associated with a given key into the local view of the
- * property map. This operation is equivalent to @c put, but with one
- * exception: no message will be sent to the owning processor in the
- * case of a remote update. The effect is that any value written via
- * @c local_put for a remote key may be overwritten in the next
- * synchronization round.
- */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void
-local_put(const PBGL_DISTRIB_PMAP& pm,
-          typename PBGL_DISTRIB_PMAP::key_type const & key,
-          typename PBGL_DISTRIB_PMAP::value_type const & value)
-{
-  using boost::put;
-
-  typename property_traits<GlobalMap>::value_type p =
-    get(pm.data->global, key);
-
-  if (p.first == process_id(pm.data->process_group))
-    put(pm.data->storage, p.second, value);
-  else pm.cell(key, false) = value;
-}
-
-/** Cache the value associated with the given remote key. If the key
- *  is local, ignore the operation. */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline void
-cache(const PBGL_DISTRIB_PMAP& pm,
-      typename PBGL_DISTRIB_PMAP::key_type const & key,
-      typename PBGL_DISTRIB_PMAP::value_type const & value)
-{
-  typename ProcessGroup::process_id_type id = get(pm.data->global, key).first;
-
-  if (id != process_id(pm.data->process_group)) pm.cell(key, false) = value;
-}
-
-/// Synchronize the property map.
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void
-synchronize(PBGL_DISTRIB_PMAP& pm)
-{
-  pm.do_synchronize();
-}
-
-/// Create a distributed property map.
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-inline distributed_property_map<ProcessGroup, GlobalMap, StorageMap>
-make_distributed_property_map(const ProcessGroup& pg, GlobalMap global,
-                              StorageMap storage)
-{
-  typedef distributed_property_map<ProcessGroup, GlobalMap, StorageMap>
-    result_type;
-  return result_type(pg, global, storage);
-}
-
-/**
- * \overload
- */
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap,
-         typename Reduce>
-inline distributed_property_map<ProcessGroup, GlobalMap, StorageMap>
-make_distributed_property_map(const ProcessGroup& pg, GlobalMap global,
-                              StorageMap storage, Reduce reduce)
-{
-  typedef distributed_property_map<ProcessGroup, GlobalMap, StorageMap>
-    result_type;
-  return result_type(pg, global, storage, reduce);
-}
-
-} } // end namespace boost::parallel
-
-#include <boost/property_map/parallel/impl/distributed_property_map.ipp>
-
-#undef PBGL_DISTRIB_PMAP
-
-#endif // BOOST_PARALLEL_DISTRIBUTED_PROPERTY_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/global_index_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/global_index_map.hpp
deleted file mode 100644
index ab95444..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/global_index_map.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2005 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_PARALLEL_GLOBAL_INDEX_MAP_HPP
-#define BOOST_PARALLEL_GLOBAL_INDEX_MAP_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <vector>
-#include <boost/shared_ptr.hpp>
-
-namespace boost { namespace parallel {
-
-template<typename IndexMap, typename GlobalMap>
-class global_index_map
-{
-public:
-  typedef typename property_traits<IndexMap>::key_type key_type;
-  typedef typename property_traits<IndexMap>::value_type value_type;
-  typedef value_type reference;
-  typedef readable_property_map_tag category;
-
-  template<typename ProcessGroup>
-  global_index_map(ProcessGroup pg, value_type num_local_indices, 
-                   IndexMap index_map, GlobalMap global)
-    : index_map(index_map), global(global)
-  {
-    typedef typename ProcessGroup::process_id_type process_id_type;
-    starting_index.reset(new std::vector<value_type>(num_processes(pg) + 1));
-    send(pg, 0, 0, num_local_indices);
-    synchronize(pg);
-    
-    // Populate starting_index in all processes
-    if (process_id(pg) == 0) {
-      (*starting_index)[0] = 0;
-      for (process_id_type src = 0; src < num_processes(pg); ++src) {
-        value_type n;
-        receive(pg, src, 0, n);
-        (*starting_index)[src + 1] = (*starting_index)[src] + n;
-      }
-      for (process_id_type dest = 1; dest < num_processes(pg); ++dest)
-        send(pg, dest, 1, &starting_index->front(), num_processes(pg));
-      synchronize(pg);
-    } else {
-      synchronize(pg);
-      receive(pg, 0, 1, &starting_index->front(), num_processes(pg));
-    }
-  }
-
-  friend inline value_type 
-  get(const global_index_map& gim, const key_type& x)
-  {
-    using boost::get;
-    return (*gim.starting_index)[get(gim.global, x).first]
-           + get(gim.index_map, x);
-  }
-
-private:
-  shared_ptr<std::vector<value_type> > starting_index;
-  IndexMap index_map;
-  GlobalMap global;
-};
-
-} } // end namespace boost::parallel
-
-#endif // BOOST_PARALLEL_GLOBAL_INDEX_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/impl/distributed_property_map.ipp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/impl/distributed_property_map.ipp
deleted file mode 100644
index a4213bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/impl/distributed_property_map.ipp
+++ /dev/null
@@ -1,424 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Nick Edmonds
-//           Andrew Lumsdaine
-#include <boost/assert.hpp>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/detail/untracked_pair.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/bind.hpp>
-#include <boost/property_map/parallel/simple_trigger.hpp>
-
-namespace boost { namespace parallel {
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-PBGL_DISTRIB_PMAP
-::distributed_property_map(const ProcessGroup& pg, const GlobalMap& global,
-                           const StorageMap& pm, const Reduce& reduce)
-  : data(new data_t(pg, global, pm, reduce, Reduce::non_default_resolver))
-{
-  typedef handle_message<Reduce> Handler;
-
-  data->ghost_cells.reset(new ghost_cells_type());
-  data->reset = &data_t::template do_reset<Reduce>;
-  data->process_group.replace_handler(Handler(data, reduce));
-  data->process_group.template get_receiver<Handler>()
-    ->setup_triggers(data->process_group);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-PBGL_DISTRIB_PMAP::~distributed_property_map() { }
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void 
-PBGL_DISTRIB_PMAP::set_reduce(const Reduce& reduce)
-{
-  typedef handle_message<Reduce> Handler;
-  data->process_group.replace_handler(Handler(data, reduce));
-  Handler* handler = data->process_group.template get_receiver<Handler>();
-  BOOST_ASSERT(handler);
-  handler->setup_triggers(data->process_group);
-  data->get_default_value = reduce;
-  data->has_default_resolver = Reduce::non_default_resolver;
-  int model = data->model;
-  data->reset = &data_t::template do_reset<Reduce>;
-  set_consistency_model(model);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::prune_ghost_cells() const
-{
-  if (data->max_ghost_cells == 0)
-    return;
-
-  while (data->ghost_cells->size() > data->max_ghost_cells) {
-    // Evict the last ghost cell
-
-    if (data->model & cm_flush) {
-      // We need to flush values when we evict them.
-      boost::parallel::detail::untracked_pair<key_type, value_type> const& victim
-        = data->ghost_cells->back();
-      send(data->process_group, get(data->global, victim.first).first, 
-           property_map_put, victim);
-    }
-
-    // Actually remove the ghost cell
-    data->ghost_cells->pop_back();
-  }
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-typename PBGL_DISTRIB_PMAP::value_type&
-PBGL_DISTRIB_PMAP::cell(const key_type& key, bool request_if_missing) const
-{
-  // Index by key
-  ghost_cells_key_index_type const& key_index 
-    = data->ghost_cells->template get<1>();
-
-  // Search for the ghost cell by key, and project back to the sequence
-  iterator ghost_cell 
-    = data->ghost_cells->template project<0>(key_index.find(key));
-  if (ghost_cell == data->ghost_cells->end()) {
-    value_type value;
-    if (data->has_default_resolver)
-      // Since we have a default resolver, use it to create a default
-      // value for this ghost cell.
-      value = data->get_default_value(key);
-    else if (request_if_missing)
-      // Request the actual value of this key from its owner
-      send_oob_with_reply(data->process_group, get(data->global, key).first, 
-                          property_map_get, key, value);
-    else
-      value = value_type();
-
-    // Create a ghost cell containing the new value
-    ghost_cell 
-      = data->ghost_cells->push_front(std::make_pair(key, value)).first;
-
-    // If we need to, prune the ghost cells
-    if (data->max_ghost_cells > 0)
-      prune_ghost_cells();
-  } else if (data->max_ghost_cells > 0)
-    // Put this cell at the beginning of the MRU list
-    data->ghost_cells->relocate(data->ghost_cells->begin(), ghost_cell);
-
-  return const_cast<value_type&>(ghost_cell->second);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void
-PBGL_DISTRIB_PMAP
-::handle_message<Reduce>::operator()(process_id_type source, int tag)
-{
-  BOOST_ASSERT(false);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void
-PBGL_DISTRIB_PMAP::handle_message<Reduce>::
-handle_put(int /*source*/, int /*tag*/, 
-           const boost::parallel::detail::untracked_pair<key_type, value_type>& req, trigger_receive_context)
-{
-  using boost::get;
-
-  shared_ptr<data_t> data(data_ptr);
-
-  owner_local_pair p = get(data->global, req.first);
-  BOOST_ASSERT(p.first == process_id(data->process_group));
-
-  detail::maybe_put(data->storage, p.second,
-                    reduce(req.first,
-                           get(data->storage, p.second),
-                           req.second));
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-typename PBGL_DISTRIB_PMAP::value_type
-PBGL_DISTRIB_PMAP::handle_message<Reduce>::
-handle_get(int source, int /*tag*/, const key_type& key, 
-           trigger_receive_context)
-{
-  using boost::get;
-
-  shared_ptr<data_t> data(data_ptr);
-  BOOST_ASSERT(data);
-
-  owner_local_pair p = get(data->global, key);
-  return get(data->storage, p.second);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void
-PBGL_DISTRIB_PMAP::handle_message<Reduce>::
-handle_multiget(int source, int tag, const std::vector<key_type>& keys,
-                trigger_receive_context)
-{
-  shared_ptr<data_t> data(data_ptr);
-  BOOST_ASSERT(data);
-
-  typedef boost::parallel::detail::untracked_pair<key_type, value_type> key_value;
-  std::vector<key_value> results;
-  std::size_t n = keys.size();
-  results.reserve(n);
-
-  using boost::get;
-
-  for (std::size_t i = 0; i < n; ++i) {
-    local_key_type local_key = get(data->global, keys[i]).second;
-    results.push_back(key_value(keys[i], get(data->storage, local_key)));
-  }
-  send(data->process_group, source, property_map_multiget_reply, results);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void
-PBGL_DISTRIB_PMAP::handle_message<Reduce>::
-handle_multiget_reply
-  (int source, int tag, 
-   const std::vector<boost::parallel::detail::untracked_pair<key_type, value_type> >& msg,
-   trigger_receive_context)
-{
-  shared_ptr<data_t> data(data_ptr);
-  BOOST_ASSERT(data);
-
-  // Index by key
-  ghost_cells_key_index_type const& key_index 
-    = data->ghost_cells->template get<1>();
-
-  std::size_t n = msg.size();
-  for (std::size_t i = 0; i < n; ++i) {
-    // Search for the ghost cell by key, and project back to the sequence
-    iterator position
-      = data->ghost_cells->template project<0>(key_index.find(msg[i].first));
-
-    if (position != data->ghost_cells->end())
-      const_cast<value_type&>(position->second) = msg[i].second;
-  }
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void
-PBGL_DISTRIB_PMAP::handle_message<Reduce>::
-handle_multiput
-  (int source, int tag, 
-   const std::vector<unsafe_pair<local_key_type, value_type> >& values,
-   trigger_receive_context)
-{
-  using boost::get;
-
-  shared_ptr<data_t> data(data_ptr);
-  BOOST_ASSERT(data);
-
-  std::size_t n = values.size();
-  for (std::size_t i = 0; i < n; ++i) {
-    local_key_type local_key = values[i].first;
-    value_type local_value = get(data->storage, local_key);
-    detail::maybe_put(data->storage, values[i].first,
-                      reduce(values[i].first,
-                             local_value,
-                             values[i].second));
-  }
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Reduce>
-void
-PBGL_DISTRIB_PMAP::handle_message<Reduce>::
-setup_triggers(process_group_type& pg)
-{
-  using boost::parallel::simple_trigger;
-
-  simple_trigger(pg, property_map_put, this, &handle_message::handle_put);
-  simple_trigger(pg, property_map_get, this, &handle_message::handle_get);
-  simple_trigger(pg, property_map_multiget, this, 
-                 &handle_message::handle_multiget);
-  simple_trigger(pg, property_map_multiget_reply, this, 
-                 &handle_message::handle_multiget_reply);
-  simple_trigger(pg, property_map_multiput, this, 
-                 &handle_message::handle_multiput);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void
-PBGL_DISTRIB_PMAP
-::on_synchronize::operator()()
-{
-  int stage=0; // we only get called at the start now
-  shared_ptr<data_t> data(data_ptr);
-  BOOST_ASSERT(data);
-
-  // Determine in which stage backward consistency messages should be sent.
-  int backward_stage = -1;
-  if (data->model & cm_backward) {
-    if (data->model & cm_flush) backward_stage = 1;
-    else backward_stage = 0;
-  }
-
-  // Flush results in first stage
-  if (stage == 0 && data->model & cm_flush)
-    data->flush();
-
-  // Backward consistency
-  if (stage == backward_stage && !(data->model & (cm_clear | cm_reset)))
-    data->refresh_ghost_cells();
-
-  // Optionally clear results
-  if (data->model & cm_clear)
-    data->clear();
-
-  // Optionally reset results
-  if (data->model & cm_reset) {
-    if (data->reset) ((*data).*data->reset)();
-  }
-}
-
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void
-PBGL_DISTRIB_PMAP::set_consistency_model(int model)
-{
-  data->model = model;
-
-  bool need_on_synchronize = (model != cm_forward);
-
-  // Backward consistency is a two-stage process.
-  if (model & cm_backward) {
-    // For backward consistency to work, we absolutely cannot throw
-    // away any ghost cells.
-    data->max_ghost_cells = 0;
-  }
-
-  // attach the on_synchronize handler.
-  if (need_on_synchronize)
-    data->process_group.replace_on_synchronize_handler(on_synchronize(data));
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void
-PBGL_DISTRIB_PMAP::set_max_ghost_cells(std::size_t max_ghost_cells)
-{
-  if ((data->model & cm_backward) && max_ghost_cells > 0)
-      boost::throw_exception(std::runtime_error("distributed_property_map::set_max_ghost_cells: "
-                                                "cannot limit ghost-cell usage with a backward "
-                                                "consistency model"));
-
-  if (max_ghost_cells == 1)
-    // It is not safe to have only 1 ghost cell; the cell() method
-    // will fail.
-    max_ghost_cells = 2;
-
-  data->max_ghost_cells = max_ghost_cells;
-  prune_ghost_cells();
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::clear()
-{
-  data->clear();
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::data_t::clear()
-{
-  ghost_cells->clear();
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::reset()
-{
-  if (data->reset) ((*data).*data->reset)();
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::flush()
-{
-  data->flush();
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::data_t::refresh_ghost_cells()
-{
-  using boost::get;
-
-  std::vector<std::vector<key_type> > keys;
-  keys.resize(num_processes(process_group));
-
-  // Collect the set of keys for which we will request values
-  for (iterator i = ghost_cells->begin(); i != ghost_cells->end(); ++i)
-    keys[get(global, i->first).first].push_back(i->first);
-
-  // Send multiget requests to each of the other processors
-  typedef typename ProcessGroup::process_size_type process_size_type;
-  process_size_type n = num_processes(process_group);
-  process_id_type id = process_id(process_group);
-  for (process_size_type p = (id + 1) % n ; p != id ; p = (p + 1) % n) {
-    if (!keys[p].empty())
-      send(process_group, p, property_map_multiget, keys[p]);
-  }  
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::data_t::flush()
-{
-  using boost::get;
-
-  int n = num_processes(process_group);
-  std::vector<std::vector<unsafe_pair<local_key_type, value_type> > > values;
-  values.resize(n);
-
-  // Collect all of the flushed values
-  for (iterator i = ghost_cells->begin(); i != ghost_cells->end(); ++i) {
-    std::pair<int, local_key_type> g = get(global, i->first);
-    values[g.first].push_back(std::make_pair(g.second, i->second));
-  }
-
-  // Transmit flushed values
-  for (int p = 0; p < n; ++p) {
-    if (!values[p].empty())
-      send(process_group, p, property_map_multiput, values[p]);
-  }
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-void PBGL_DISTRIB_PMAP::do_synchronize()
-{
-  if (data->model & cm_backward) {
-    synchronize(data->process_group);
-    return;
-  }
-
-  // Request refreshes of the values of our ghost cells
-  data->refresh_ghost_cells();
-
-  // Allows all of the multigets to get to their destinations
-  synchronize(data->process_group);
-
-  // Allows all of the multiget responses to get to their destinations
-  synchronize(data->process_group);
-}
-
-template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-template<typename Resolver>
-void PBGL_DISTRIB_PMAP::data_t::do_reset()
-{
-  Resolver* resolver = get_default_value.template target<Resolver>();
-  BOOST_ASSERT(resolver);
-
-  for (iterator i = ghost_cells->begin(); i != ghost_cells->end(); ++i)
-    const_cast<value_type&>(i->second) = (*resolver)(i->first);
-}
-
-} } // end namespace boost::parallel
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/local_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/local_property_map.hpp
deleted file mode 100644
index 4b16d97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/local_property_map.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (C) 2004-2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-// The placement of this #include probably looks very odd relative to
-// the #ifndef/#define pair below. However, this placement is
-// extremely important to allow the various property map headers to be
-// included in any order.
-#include <boost/property_map/property_map.hpp>
-
-#ifndef BOOST_PARALLEL_LOCAL_PROPERTY_MAP_HPP
-#define BOOST_PARALLEL_LOCAL_PROPERTY_MAP_HPP
-
-#include <boost/assert.hpp>
-
-namespace boost {
-  /** Property map that accesses an underlying, local property map
-   * using a subset of the global keys.
-   */
-  template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-  class local_property_map
-  {
-    typedef typename property_traits<GlobalMap>::value_type owner_local_pair;
-
-  public:
-    typedef ProcessGroup                                   process_group_type;
-    typedef typename property_traits<StorageMap>::value_type value_type;
-    typedef typename property_traits<GlobalMap>::key_type key_type;
-    typedef typename property_traits<StorageMap>::reference  reference;
-    typedef typename property_traits<StorageMap>::category   category;
-
-    local_property_map() { }
-
-    local_property_map(const ProcessGroup& process_group,
-                       const GlobalMap& global, const StorageMap& storage)
-      : process_group_(process_group), global_(global), storage(storage) { }
-
-    reference operator[](const key_type& key)
-    {
-      owner_local_pair p = get(global_, key);
-      BOOST_ASSERT(p.first == process_id(process_group_));
-      return storage[p.second];
-    }
-
-    GlobalMap& global() const { return global_; }
-    StorageMap& base() const { return storage; }
-
-    ProcessGroup&       process_group()       { return process_group_; }
-    const ProcessGroup& process_group() const { return process_group_; }
-
-  private:
-    ProcessGroup process_group_;
-    mutable GlobalMap global_;
-    mutable StorageMap storage;
-  };
-
-  template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-  inline
-  typename local_property_map<ProcessGroup, GlobalMap, StorageMap>::reference
-  get(const local_property_map<ProcessGroup, GlobalMap, StorageMap>& pm,
-      typename local_property_map<ProcessGroup, GlobalMap, StorageMap>::key_type
-        const & key)
-
-  {
-    typename property_traits<GlobalMap>::value_type p = get(pm.global(), key);
-    return get(pm.base(), p.second);
-  }
-
-  template<typename ProcessGroup, typename GlobalMap, typename StorageMap>
-  inline void
-  put(const local_property_map<ProcessGroup, GlobalMap, StorageMap>& pm,
-      typename local_property_map<ProcessGroup, GlobalMap, StorageMap>
-                 ::key_type const & key,
-      typename local_property_map<ProcessGroup, GlobalMap, StorageMap>
-                 ::value_type const& v)
-  {
-    typename property_traits<GlobalMap>::value_type p = get(pm.global(), key);
-    BOOST_ASSERT(p.first == process_id(pm.process_group()));
-    put(pm.base(), p.second, v);
-  }
-} // end namespace boost
-#endif // BOOST_PARALLEL_LOCAL_PROPERTY_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/parallel_property_maps.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/parallel_property_maps.hpp
deleted file mode 100644
index 423bdcb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/parallel_property_maps.hpp
+++ /dev/null
@@ -1,233 +0,0 @@
-//  (C) Copyright Jeremy Siek 1999-2001.
-//  Copyright (C) 2006 Trustees of Indiana University
-//  Authors: Douglas Gregor and Jeremy Siek
-
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/property_map for documentation.
-
-#ifndef BOOST_PROPERTY_MAP_PARALLEL_PROPERTY_MAPS_HPP
-#define BOOST_PROPERTY_MAP_PARALLEL_PROPERTY_MAPS_HPP
-
-// Parallel property maps moved over from <boost/property_map/property_map.hpp>
-// as part of refactoring out all parallel code from sequential property map
-// library.
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <cstddef>
-#include <boost/detail/iterator.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/concept_archetype.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/property_map/property_map.hpp>
-
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-
-namespace boost {
-/** Distributed iterator property map.
- *
- * This specialization of @ref iterator_property_map builds a
- * distributed iterator property map given the local index maps
- * generated by distributed graph types that automatically have index
- * properties. 
- *
- * This specialization is useful when creating external distributed
- * property maps via the same syntax used to create external
- * sequential property maps.
- */
-template<typename RandomAccessIterator, typename ProcessGroup,
-         typename GlobalMap, typename StorageMap, 
-         typename ValueType, typename Reference>
-class iterator_property_map
-        <RandomAccessIterator, 
-         local_property_map<ProcessGroup, GlobalMap, StorageMap>,
-         ValueType, Reference>
-  : public parallel::distributed_property_map
-             <ProcessGroup, 
-              GlobalMap, 
-              iterator_property_map<RandomAccessIterator, StorageMap,
-                                    ValueType, Reference> >
-{
-  typedef iterator_property_map<RandomAccessIterator, StorageMap, 
-                                ValueType, Reference> local_iterator_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap,
-                                             local_iterator_map> inherited;
-
-  typedef local_property_map<ProcessGroup, GlobalMap, StorageMap>
-    index_map_type;
-  typedef iterator_property_map self_type;
-
-public:
-  iterator_property_map() { }
-
-  iterator_property_map(RandomAccessIterator cc, const index_map_type& id)
-    : inherited(id.process_group(), id.global(), 
-                local_iterator_map(cc, id.base())) { }
-};
-
-/** Distributed iterator property map.
- *
- * This specialization of @ref iterator_property_map builds a
- * distributed iterator property map given a distributed index
- * map. Only the local portion of the distributed index property map
- * is utilized.
- *
- * This specialization is useful when creating external distributed
- * property maps via the same syntax used to create external
- * sequential property maps.
- */
-template<typename RandomAccessIterator, typename ProcessGroup,
-         typename GlobalMap, typename StorageMap, 
-         typename ValueType, typename Reference>
-class iterator_property_map<
-        RandomAccessIterator, 
-        parallel::distributed_property_map<ProcessGroup,GlobalMap,StorageMap>,
-        ValueType, Reference
-      >
-  : public parallel::distributed_property_map
-             <ProcessGroup, 
-              GlobalMap,
-              iterator_property_map<RandomAccessIterator, StorageMap,
-                                    ValueType, Reference> >
-{
-  typedef iterator_property_map<RandomAccessIterator, StorageMap,
-                                ValueType, Reference> local_iterator_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap,
-                                             local_iterator_map> inherited;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             StorageMap>
-    index_map_type;
-
-public:
-  iterator_property_map() { }
-
-  iterator_property_map(RandomAccessIterator cc, const index_map_type& id)
-    : inherited(id.process_group(), id.global(),
-                local_iterator_map(cc, id.base())) { }
-};
-
-namespace parallel {
-// Generate an iterator property map with a specific kind of ghost
-// cells
-template<typename RandomAccessIterator, typename ProcessGroup,
-         typename GlobalMap, typename StorageMap>
-distributed_property_map<ProcessGroup, 
-                         GlobalMap,
-                         iterator_property_map<RandomAccessIterator, 
-                                               StorageMap> >
-make_iterator_property_map(RandomAccessIterator cc,
-                           local_property_map<ProcessGroup, GlobalMap, 
-                                              StorageMap> index_map)
-{
-  typedef distributed_property_map<
-            ProcessGroup, GlobalMap,
-            iterator_property_map<RandomAccessIterator, StorageMap> >
-    result_type;
-  return result_type(index_map.process_group(), index_map.global(),
-                     make_iterator_property_map(cc, index_map.base()));
-}
-
-} // end namespace parallel
-
-/** Distributed safe iterator property map.
- *
- * This specialization of @ref safe_iterator_property_map builds a
- * distributed iterator property map given the local index maps
- * generated by distributed graph types that automatically have index
- * properties. 
- *
- * This specialization is useful when creating external distributed
- * property maps via the same syntax used to create external
- * sequential property maps.
- */
-template<typename RandomAccessIterator, typename ProcessGroup,
-         typename GlobalMap, typename StorageMap, typename ValueType,
-         typename Reference>
-class safe_iterator_property_map
-        <RandomAccessIterator, 
-         local_property_map<ProcessGroup, GlobalMap, StorageMap>,
-         ValueType, Reference>
-  : public parallel::distributed_property_map
-             <ProcessGroup, 
-              GlobalMap,
-              safe_iterator_property_map<RandomAccessIterator, StorageMap,
-                                         ValueType, Reference> >
-{
-  typedef safe_iterator_property_map<RandomAccessIterator, StorageMap, 
-                                     ValueType, Reference> local_iterator_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap,
-                                             local_iterator_map> inherited;
-
-  typedef local_property_map<ProcessGroup, GlobalMap, StorageMap> index_map_type;
-
-public:
-  safe_iterator_property_map() { }
-
-  safe_iterator_property_map(RandomAccessIterator cc, std::size_t n, 
-                             const index_map_type& id)
-    : inherited(id.process_group(), id.global(),
-                local_iterator_map(cc, n, id.base())) { }
-};
-
-/** Distributed safe iterator property map.
- *
- * This specialization of @ref safe_iterator_property_map builds a
- * distributed iterator property map given a distributed index
- * map. Only the local portion of the distributed index property map
- * is utilized.
- *
- * This specialization is useful when creating external distributed
- * property maps via the same syntax used to create external
- * sequential property maps.
- */
-template<typename RandomAccessIterator, typename ProcessGroup,
-         typename GlobalMap, typename StorageMap, 
-         typename ValueType, typename Reference>
-class safe_iterator_property_map<
-        RandomAccessIterator, 
-        parallel::distributed_property_map<ProcessGroup,GlobalMap,StorageMap>,
-        ValueType, Reference>
-  : public parallel::distributed_property_map
-             <ProcessGroup, 
-              GlobalMap,
-              safe_iterator_property_map<RandomAccessIterator, StorageMap,
-                                         ValueType, Reference> >
-{
-  typedef safe_iterator_property_map<RandomAccessIterator, StorageMap,
-                                     ValueType, Reference> local_iterator_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap,
-                                             local_iterator_map> inherited;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             StorageMap>
-    index_map_type;
-
-public:
-  safe_iterator_property_map() { }
-
-  safe_iterator_property_map(RandomAccessIterator cc, std::size_t n, 
-                             const index_map_type& id)
-    : inherited(id.process_group(), id.global(), 
-                local_iterator_map(cc, n, id.base())) { }
-};                                            
-
-}
-
-#include <boost/property_map/vector_property_map.hpp>
-
-#endif /* BOOST_PROPERTY_MAP_PARALLEL_PROPERTY_MAPS_HPP */
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/process_group.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/process_group.hpp
deleted file mode 100644
index fac0a19..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/process_group.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2004 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: Douglas Gregor
-//           Andrew Lumsdaine
-#ifndef BOOST_PROPERTY_MAP_PARALLEL_PROCESS_GROUP_HPP
-#define BOOST_PROPERTY_MAP_PARALLEL_PROCESS_GROUP_HPP
-
-#include <cstdlib>
-#include <utility>
-
-namespace boost { namespace parallel {
-
-/**
- * A special type used as a flag to a process group constructor that
- * indicates that the copy of a process group will represent a new
- * distributed data structure.
- */
-struct attach_distributed_object { };
-
-/**
- * Describes the context in which a trigger is being invoked to
- * receive a message.
- */
-enum trigger_receive_context {
-  /// No trigger is active at this time.
-  trc_none,
-  /// The trigger is being invoked during synchronization, at the end
-  /// of a superstep.
-  trc_in_synchronization,
-  /// The trigger is being invoked as an "early" receive of a message
-  /// that was sent through the normal "send" operations to be
-  /// received by the end of the superstep, but the process group sent
-  /// the message earlier to clear its buffers.
-  trc_early_receive,
-  /// The trigger is being invoked for an out-of-band message, which
-  /// must be handled immediately.
-  trc_out_of_band,
-  /// The trigger is being invoked for an out-of-band message, which
-  /// must be handled immediately and has alredy been received by 
-  /// an MPI_IRecv call.
-  trc_irecv_out_of_band  
-};
-
-// Process group tags
-struct process_group_tag {};
-struct linear_process_group_tag : virtual process_group_tag {};
-struct messaging_process_group_tag : virtual process_group_tag {};
-struct immediate_process_group_tag : virtual messaging_process_group_tag {};
-struct bsp_process_group_tag : virtual messaging_process_group_tag {};
-struct batch_process_group_tag : virtual messaging_process_group_tag {};
-struct locking_process_group_tag : virtual process_group_tag {};
-struct spawning_process_group_tag : virtual process_group_tag {};
-
-struct process_group_archetype
-{
-  typedef int process_id_type;
-};
-
-void wait(process_group_archetype&);
-void synchronize(process_group_archetype&);
-int process_id(const process_group_archetype&);
-int num_processes(const process_group_archetype&);
-
-template<typename T> void send(process_group_archetype&, int, int, const T&);
-
-template<typename T>
-process_group_archetype::process_id_type
-receive(const process_group_archetype& pg,
-        process_group_archetype::process_id_type source, int tag, T& value);
-
-template<typename T>
-std::pair<process_group_archetype::process_id_type, std::size_t>
-receive(const process_group_archetype& pg, int tag, T values[], std::size_t n);
-
-template<typename T>
-std::pair<process_group_archetype::process_id_type, std::size_t>
-receive(const process_group_archetype& pg,
-        process_group_archetype::process_id_type source, int tag, T values[],
-        std::size_t n);
-
-} } // end namespace boost::parallel
-
-namespace boost { namespace graph { namespace distributed {
-  using boost::parallel::trigger_receive_context;
-  using boost::parallel::trc_early_receive;
-  using boost::parallel::trc_out_of_band;
-  using boost::parallel::trc_irecv_out_of_band;
-  using boost::parallel::trc_in_synchronization;
-  using boost::parallel::trc_none;
-  using boost::parallel::attach_distributed_object;
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_PROPERTY_MAP_PARALLEL_PROCESS_GROUP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/simple_trigger.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/simple_trigger.hpp
deleted file mode 100644
index 8ab5cfd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/simple_trigger.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright (C) 2007 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)
-
-// This file contains a simplification of the "trigger" method for
-// process groups. The simple trigger handles the common case where
-// the handler associated with a trigger is a member function bound to
-// a particular pointer.
-
-#ifndef BOOST_PROPERTY_MAP_PARALLEL_SIMPLE_TRIGGER_HPP
-#define BOOST_PROPERTY_MAP_PARALLEL_SIMPLE_TRIGGER_HPP
-
-#include <boost/property_map/parallel/process_group.hpp>
-
-namespace boost { namespace parallel {
-
-namespace detail {
-
-/**
- * INTERNAL ONLY
- *
- * The actual function object that bridges from the normal trigger
- * interface to the simplified interface. This is the equivalent of
- * bind(pmf, self, _1, _2, _3, _4), but without the compile-time
- * overhead of bind.
- */
-template<typename Class, typename T, typename Result>
-class simple_trigger_t 
-{
-public:
-  simple_trigger_t(Class* self, 
-                   Result (Class::*pmf)(int, int, const T&, 
-                                        trigger_receive_context))
-    : self(self), pmf(pmf) { }
-
-  Result 
-  operator()(int source, int tag, const T& data, 
-             trigger_receive_context context) const
-  {
-    return (self->*pmf)(source, tag, data, context);
-  }
-
-private:
-  Class* self;
-  Result (Class::*pmf)(int, int, const T&, trigger_receive_context);
-};
-
-} // end namespace detail
-
-/**
- * Simplified trigger interface that reduces the amount of code
- * required to connect a process group trigger to a handler that is
- * just a bound member function.
- *
- * INTERNAL ONLY
- */
-template<typename ProcessGroup, typename Class, typename T>
-inline void 
-simple_trigger(ProcessGroup& pg, int tag, Class* self, 
-               void (Class::*pmf)(int source, int tag, const T& data, 
-                                  trigger_receive_context context), int)
-{
-  pg.template trigger<T>(tag, 
-                         detail::simple_trigger_t<Class, T, void>(self, pmf));
-}
-
-/**
- * Simplified trigger interface that reduces the amount of code
- * required to connect a process group trigger with a reply to a
- * handler that is just a bound member function.
- *
- * INTERNAL ONLY
- */
-template<typename ProcessGroup, typename Class, typename T, typename Result>
-inline void 
-simple_trigger(ProcessGroup& pg, int tag, Class* self, 
-               Result (Class::*pmf)(int source, int tag, const T& data, 
-                                    trigger_receive_context context), long)
-{
-  pg.template trigger_with_reply<T>
-    (tag, detail::simple_trigger_t<Class, T, Result>(self, pmf));
-}
-
-/**
- * Simplified trigger interface that reduces the amount of code
- * required to connect a process group trigger to a handler that is
- * just a bound member function.
- */
-template<typename ProcessGroup, typename Class, typename T, typename Result>
-inline void 
-simple_trigger(ProcessGroup& pg, int tag, Class* self, 
-               Result (Class::*pmf)(int source, int tag, const T& data, 
-                                    trigger_receive_context context))
-{
-        // We pass 0 (an int) to help VC++ disambiguate calls to simple_trigger 
-        // with Result=void.
-        simple_trigger(pg, tag, self, pmf, 0); 
-}
-
-} } // end namespace boost::parallel
-
-namespace boost { namespace graph { namespace parallel { using boost::parallel::simple_trigger; } } }
-
-#endif // BOOST_PROPERTY_MAP_PARALLEL_SIMPLE_TRIGGER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/unsafe_serialize.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/unsafe_serialize.hpp
deleted file mode 100644
index a37dc21..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/unsafe_serialize.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (C) 2006 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: Douglas Gregor
-//           Andrew Lumsdaine
-
-// This file contains the "unsafe_serialize" routine, which transforms
-// types they may not be serializable (such as void*) into
-// serializable equivalents.
-#ifndef BOOST_PROPERTY_MAP_UNSAFE_SERIALIZE_HPP
-#define BOOST_PROPERTY_MAP_UNSAFE_SERIALIZE_HPP
-
-#include <boost/mpi/datatype.hpp>
-#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits.hpp>
-#include <utility>
-
-BOOST_IS_BITWISE_SERIALIZABLE(void*)
-namespace boost { namespace mpi {
-    template<> struct is_mpi_datatype<void*> : mpl::true_ { };
-} } // end namespace boost::mpi
-
-namespace boost {
-  typedef mpl::if_c<(sizeof(int) == sizeof(void*)), 
-                    int, 
-                    mpl::if_c<(sizeof(long) == sizeof(void*)),
-                              long,
-                              mpl::if_c<(sizeof(void*) <= sizeof(boost::intmax_t)),
-                                        boost::intmax_t,
-                                        void>::type
-                              >::type
-                    >::type ptr_serialize_type;
-
-  BOOST_STATIC_ASSERT ((!boost::is_void<ptr_serialize_type>::value));
-    
-  template<typename T> inline T& unsafe_serialize(T& x) { return x; }
-
-  inline ptr_serialize_type& unsafe_serialize(void*& x)
-  { return reinterpret_cast<ptr_serialize_type&>(x); }
-
-  // Force Boost.MPI to serialize a void* like a ptr_serialize_type
-  namespace mpi {
-    template<> inline MPI_Datatype get_mpi_datatype<void*>(void* const& x)
-    {
-      return get_mpi_datatype<ptr_serialize_type>();
-    }
-  }
-
-  template<typename T, typename U>
-  struct unsafe_pair
-  {
-    unsafe_pair() { }
-    unsafe_pair(const T& t, const U& u) : first(t), second(u) { }
-    unsafe_pair(const std::pair<T, U>& p) : first(p.first), second(p.second) { }
-    T first;
-    U second;
-
-    template<typename Archiver>
-    void serialize(Archiver& ar, const unsigned /*version*/)
-    {
-      ar & unsafe_serialize(first) & unsafe_serialize(second);
-    }
-  };
-
-  template<typename T, typename U>
-  bool operator<(unsafe_pair<T,U> const& x, unsafe_pair<T,U> const& y)
-  {
-    return std::make_pair(x.first, x.second) < 
-      std::make_pair(y.first, y.second);  
-  }
-
-} // end namespace boost
-
-#endif // BOOST_PROPERTY_MAP_UNSAFE_SERIALIZE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/vector_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/vector_property_map.hpp
deleted file mode 100644
index f1ad4c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/parallel/vector_property_map.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// 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)
-//
-// See http://www.boost.org/libs/graph/vector_property_map.html for
-// documentation.
-//
-
-#ifndef BOOST_PROPERTY_MAP_PARALLEL_VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04
-#define BOOST_PROPERTY_MAP_PARALLEL_VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/shared_ptr.hpp>
-#include <vector>
-#include <boost/property_map/parallel/distributed_property_map.hpp>
-#include <boost/property_map/parallel/local_property_map.hpp>
-
-namespace boost {
-
-/** Distributed vector property map.
- *
- * This specialization of @ref vector_property_map builds a
- * distributed vector property map given the local index maps
- * generated by distributed graph types that automatically have index
- * properties. 
- *
- * This specialization is useful when creating external distributed
- * property maps via the same syntax used to create external
- * sequential property maps.
- */
-template<typename T, typename ProcessGroup, typename GlobalMap, 
-         typename StorageMap>
-class vector_property_map<T, 
-                          local_property_map<ProcessGroup, GlobalMap,
-                                             StorageMap> >
-  : public parallel::distributed_property_map<
-             ProcessGroup, GlobalMap, vector_property_map<T, StorageMap> >
-{
-  typedef vector_property_map<T, StorageMap> local_iterator_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             local_iterator_map> inherited;
-
-  typedef local_property_map<ProcessGroup, GlobalMap, StorageMap> index_map_type;
-
-public:
-  vector_property_map(const index_map_type& index = index_map_type())
-    : inherited(index.process_group(), index.global(),
-                local_iterator_map(index.base())) { }
-
-  vector_property_map(unsigned inital_size, 
-                      const index_map_type& index = index_map_type())
-    : inherited(index.process_group(),  index.global(),
-                local_iterator_map(inital_size, index.base())) { }
-};
-
-/** Distributed vector property map.
- *
- * This specialization of @ref vector_property_map builds a
- * distributed vector property map given the local index maps
- * generated by distributed graph types that automatically have index
- * properties. 
- *
- * This specialization is useful when creating external distributed
- * property maps via the same syntax used to create external
- * sequential property maps.
- */
-template<typename T, typename ProcessGroup, typename GlobalMap, 
-         typename StorageMap>
-class vector_property_map<
-        T, 
-        parallel::distributed_property_map<
-          ProcessGroup,
-          GlobalMap,
-          StorageMap
-        >
-      > 
-  : public parallel::distributed_property_map<
-             ProcessGroup, GlobalMap, vector_property_map<T, StorageMap> >
-{
-  typedef vector_property_map<T, StorageMap> local_iterator_map;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             local_iterator_map> inherited;
-
-  typedef parallel::distributed_property_map<ProcessGroup, GlobalMap, 
-                                             StorageMap>
-    index_map_type;
-
-public:
-  vector_property_map(const index_map_type& index = index_map_type())
-    : inherited(index.process_group(), index.global(),
-                local_iterator_map(index.base())) { }
-
-  vector_property_map(unsigned inital_size, 
-                      const index_map_type& index = index_map_type())
-    : inherited(index.process_group(), index.global(),
-                local_iterator_map(inital_size, index.base())) { }
-};
-
-}
-
-#endif // BOOST_PROPERTY_MAP_PARALLEL_VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/property_map.hpp
deleted file mode 100644
index ac0abb1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/property_map.hpp
+++ /dev/null
@@ -1,603 +0,0 @@
-//  (C) Copyright Jeremy Siek 1999-2001.
-//  Copyright (C) 2006 Trustees of Indiana University
-//  Authors: Douglas Gregor and Jeremy Siek
-
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/property_map for documentation.
-
-#ifndef BOOST_PROPERTY_MAP_HPP
-#define BOOST_PROPERTY_MAP_HPP
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <cstddef>
-#include <boost/detail/iterator.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/concept_archetype.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost {
-
-  //=========================================================================
-  // property_traits class
-
-  BOOST_MPL_HAS_XXX_TRAIT_DEF(key_type)
-  BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
-  BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
-  BOOST_MPL_HAS_XXX_TRAIT_DEF(category)
- 
-  template<class PA>
-  struct is_property_map :
-    boost::mpl::and_<
-      has_key_type<PA>,
-      has_value_type<PA>,
-      has_reference<PA>,
-      has_category<PA>
-    >
-  {};
- 
-  template <typename PA>
-  struct default_property_traits {
-    typedef typename PA::key_type key_type;
-    typedef typename PA::value_type value_type;
-    typedef typename PA::reference reference;
-    typedef typename PA::category   category;
-  };
- 
-  struct null_property_traits {};
- 
-  template <typename PA>
-  struct property_traits :
-    boost::mpl::if_<is_property_map<PA>,
-      default_property_traits<PA>,
-      null_property_traits>::type
-  {};
-
-#if 0
-  template <typename PA>
-  struct property_traits {
-    typedef typename PA::key_type key_type;
-    typedef typename PA::value_type value_type; 
-    typedef typename PA::reference reference;
-    typedef typename PA::category   category;
-  };
-#endif
-
-  //=========================================================================
-  // property_traits category tags
-
-  namespace detail {
-    enum ePropertyMapID { READABLE_PA, WRITABLE_PA, 
-                          READ_WRITE_PA, LVALUE_PA, OP_BRACKET_PA, 
-                          RAND_ACCESS_ITER_PA, LAST_PA };
-  }
-  struct readable_property_map_tag { enum { id = detail::READABLE_PA }; };
-  struct writable_property_map_tag { enum { id = detail::WRITABLE_PA }; };
-  struct read_write_property_map_tag :
-    public readable_property_map_tag,
-    public writable_property_map_tag
-  { enum { id = detail::READ_WRITE_PA }; };
-
-  struct lvalue_property_map_tag : public read_write_property_map_tag
-  { enum { id = detail::LVALUE_PA }; };
-
-  //=========================================================================
-  // property_traits specialization for pointers
-
-  template <class T>
-  struct property_traits<T*> {
-    // BOOST_STATIC_ASSERT(boost::is_same<T, T*>::value && !"Using pointers as property maps is deprecated");
-    typedef T value_type;
-    typedef value_type& reference;
-    typedef std::ptrdiff_t key_type;
-    typedef lvalue_property_map_tag category;
-  };
-  template <class T>
-  struct property_traits<const T*> {
-    // BOOST_STATIC_ASSERT(boost::is_same<T, T*>::value && !"Using pointers as property maps is deprecated");
-    typedef T value_type;
-    typedef const value_type& reference;
-    typedef std::ptrdiff_t key_type;
-    typedef lvalue_property_map_tag category;
-  };
-
-#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-  // MSVC doesn't have Koenig lookup, so the user has to
-  // do boost::get() anyways, and the using clause
-  // doesn't really work for MSVC.
-} // namespace boost
-#endif
-
-  // These need to go in global namespace because Koenig
-  // lookup does not apply to T*.
-
-  // V must be convertible to T
-  template <class T, class V>
-  inline void put(T* pa, std::ptrdiff_t k, const V& val) { pa[k] = val;  }
-
-  template <class T>
-  inline const T& get(const T* pa, std::ptrdiff_t k) { return pa[k]; }
-
-#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-namespace boost {
-  using ::put;
-  using ::get;
-#endif
-
-  //=========================================================================
-  // concept checks for property maps
-
-  template <class PMap, class Key>
-  struct ReadablePropertyMapConcept
-  {
-    typedef typename property_traits<PMap>::key_type key_type;
-    typedef typename property_traits<PMap>::reference reference;
-    typedef typename property_traits<PMap>::category Category;
-    typedef boost::readable_property_map_tag ReadableTag;
-    void constraints() {
-      function_requires< ConvertibleConcept<Category, ReadableTag> >();
-
-      val = get(pmap, k);
-    }
-    PMap pmap;
-    Key k;
-    typename property_traits<PMap>::value_type val;
-  };
-  template <typename KeyArchetype, typename ValueArchetype>
-  struct readable_property_map_archetype {
-    typedef KeyArchetype key_type;
-    typedef ValueArchetype value_type;
-    typedef convertible_to_archetype<ValueArchetype> reference;
-    typedef readable_property_map_tag category;
-  };
-  template <typename K, typename V>
-  const typename readable_property_map_archetype<K,V>::reference&
-  get(const readable_property_map_archetype<K,V>&, 
-      const typename readable_property_map_archetype<K,V>::key_type&)
-  {
-    typedef typename readable_property_map_archetype<K,V>::reference R;
-    return static_object<R>::get();
-  }
-
-
-  template <class PMap, class Key>
-  struct WritablePropertyMapConcept
-  {
-    typedef typename property_traits<PMap>::key_type key_type;
-    typedef typename property_traits<PMap>::category Category;
-    typedef boost::writable_property_map_tag WritableTag;
-    void constraints() {
-      function_requires< ConvertibleConcept<Category, WritableTag> >();
-      put(pmap, k, val);
-    }
-    PMap pmap;
-    Key k;
-    typename property_traits<PMap>::value_type val;
-  };
-  template <typename KeyArchetype, typename ValueArchetype>
-  struct writable_property_map_archetype {
-    typedef KeyArchetype key_type;
-    typedef ValueArchetype value_type;
-    typedef void reference;
-    typedef writable_property_map_tag category;
-  };
-  template <typename K, typename V>
-  void put(const writable_property_map_archetype<K,V>&, 
-           const typename writable_property_map_archetype<K,V>::key_type&, 
-           const typename writable_property_map_archetype<K,V>::value_type&) { }
-
-
-  template <class PMap, class Key>
-  struct ReadWritePropertyMapConcept
-  {
-    typedef typename property_traits<PMap>::category Category;
-    typedef boost::read_write_property_map_tag ReadWriteTag;
-    void constraints() {
-      function_requires< ReadablePropertyMapConcept<PMap, Key> >();
-      function_requires< WritablePropertyMapConcept<PMap, Key> >();
-      function_requires< ConvertibleConcept<Category, ReadWriteTag> >();
-    }
-  };
-  template <typename KeyArchetype, typename ValueArchetype>
-  struct read_write_property_map_archetype
-    : public readable_property_map_archetype<KeyArchetype, ValueArchetype>,
-      public writable_property_map_archetype<KeyArchetype, ValueArchetype>
-  {
-    typedef KeyArchetype key_type;
-    typedef ValueArchetype value_type;
-    typedef convertible_to_archetype<ValueArchetype> reference;
-    typedef read_write_property_map_tag category;
-  };
-
-
-  template <class PMap, class Key>
-  struct LvaluePropertyMapConcept
-  {
-    typedef typename property_traits<PMap>::category Category;
-    typedef boost::lvalue_property_map_tag LvalueTag;
-    typedef typename property_traits<PMap>::reference reference;
-
-    void constraints() {
-      function_requires< ReadablePropertyMapConcept<PMap, Key> >();
-      function_requires< ConvertibleConcept<Category, LvalueTag> >();
-
-      typedef typename property_traits<PMap>::value_type value_type;
-      BOOST_MPL_ASSERT((boost::mpl::or_<
-                          boost::is_same<const value_type&, reference>,
-                          boost::is_same<value_type&, reference> >));
-
-      reference ref = pmap[k];
-      ignore_unused_variable_warning(ref);
-    }
-    PMap pmap;
-    Key k;
-  };
-  template <typename KeyArchetype, typename ValueArchetype>
-  struct lvalue_property_map_archetype
-    : public readable_property_map_archetype<KeyArchetype, ValueArchetype>
-  {
-    typedef KeyArchetype key_type;
-    typedef ValueArchetype value_type;
-    typedef const ValueArchetype& reference;
-    typedef lvalue_property_map_tag category;
-    const value_type& operator[](const key_type&) const {
-      return static_object<value_type>::get();
-    }
-  };
-
-  template <class PMap, class Key>
-  struct Mutable_LvaluePropertyMapConcept
-  {
-    typedef typename property_traits<PMap>::category Category;
-    typedef boost::lvalue_property_map_tag LvalueTag;
-    typedef typename property_traits<PMap>::reference reference;
-    void constraints() { 
-      boost::function_requires< ReadWritePropertyMapConcept<PMap, Key> >();
-      boost::function_requires<ConvertibleConcept<Category, LvalueTag> >();
-      
-      typedef typename property_traits<PMap>::value_type value_type;
-      BOOST_MPL_ASSERT((boost::is_same<value_type&, reference>));
-
-      reference ref = pmap[k];
-      ignore_unused_variable_warning(ref);
-    }
-    PMap pmap;
-    Key k;
-  };
-  template <typename KeyArchetype, typename ValueArchetype>
-  struct mutable_lvalue_property_map_archetype
-    : public readable_property_map_archetype<KeyArchetype, ValueArchetype>,
-      public writable_property_map_archetype<KeyArchetype, ValueArchetype>
-  {
-    typedef KeyArchetype key_type;
-    typedef ValueArchetype value_type;
-    typedef ValueArchetype& reference;
-    typedef lvalue_property_map_tag category;
-    value_type& operator[](const key_type&) const { 
-      return static_object<value_type>::get();
-    }
-  };
-
-  template <typename T>
-  struct typed_identity_property_map;
-
-  // A helper class for constructing a property map
-  // from a class that implements operator[]
-
-  template <class Reference, class LvaluePropertyMap>
-  struct put_get_helper { };
-
-  template <class PropertyMap, class Reference, class K>
-  inline Reference
-  get(const put_get_helper<Reference, PropertyMap>& pa, const K& k)
-  {
-    Reference v = static_cast<const PropertyMap&>(pa)[k];
-    return v;
-  }
-  template <class PropertyMap, class Reference, class K, class V>
-  inline void
-  put(const put_get_helper<Reference, PropertyMap>& pa, K k, const V& v)
-  {
-    static_cast<const PropertyMap&>(pa)[k] = v;
-  }
-
-  //=========================================================================
-  // Adapter to turn a RandomAccessIterator into a property map
-
-  template <class RandomAccessIterator, 
-    class IndexMap
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-    , class T, class R
-#else
-    , class T = typename std::iterator_traits<RandomAccessIterator>::value_type
-    , class R = typename std::iterator_traits<RandomAccessIterator>::reference
-#endif
-     >
-  class iterator_property_map
-    : public boost::put_get_helper< R, 
-        iterator_property_map<RandomAccessIterator, IndexMap,
-        T, R> >
-  {
-  public:
-    typedef typename property_traits<IndexMap>::key_type key_type;
-    typedef T value_type;
-    typedef R reference;
-    typedef boost::lvalue_property_map_tag category;
-
-    inline iterator_property_map(
-      RandomAccessIterator cc = RandomAccessIterator(), 
-      const IndexMap& _id = IndexMap() ) 
-      : iter(cc), index(_id) { }
-    inline R operator[](key_type v) const { return *(iter + get(index, v)) ; }
-  protected:
-    RandomAccessIterator iter;
-    IndexMap index;
-  };
-
-#if !defined BOOST_NO_STD_ITERATOR_TRAITS
-  template <class RAIter, class ID>
-  inline iterator_property_map<
-    RAIter, ID,
-    typename std::iterator_traits<RAIter>::value_type,
-    typename std::iterator_traits<RAIter>::reference>
-  make_iterator_property_map(RAIter iter, ID id) {
-    function_requires< RandomAccessIteratorConcept<RAIter> >();
-    typedef iterator_property_map<
-      RAIter, ID,
-      typename std::iterator_traits<RAIter>::value_type,
-      typename std::iterator_traits<RAIter>::reference> PA;
-    return PA(iter, id);
-  }
-#endif
-  template <class RAIter, class Value, class ID>
-  inline iterator_property_map<RAIter, ID, Value, Value&>
-  make_iterator_property_map(RAIter iter, ID id, Value) {
-    function_requires< RandomAccessIteratorConcept<RAIter> >();
-    typedef iterator_property_map<RAIter, ID, Value, Value&> PMap;
-    return PMap(iter, id);
-  }
-
-  template <class RandomAccessIterator, 
-    class IndexMap
-#ifdef BOOST_NO_STD_ITERATOR_TRAITS
-    , class T, class R
-#else
-    , class T = typename std::iterator_traits<RandomAccessIterator>::value_type
-    , class R = typename std::iterator_traits<RandomAccessIterator>::reference
-#endif
-     >
-  class safe_iterator_property_map
-    : public boost::put_get_helper< R, 
-        safe_iterator_property_map<RandomAccessIterator, IndexMap,
-        T, R> >
-  {
-  public:
-    typedef typename property_traits<IndexMap>::key_type key_type; 
-    typedef T value_type;
-    typedef R reference;
-    typedef boost::lvalue_property_map_tag category;
-
-    inline safe_iterator_property_map(
-      RandomAccessIterator first, 
-      std::size_t n_ = 0, 
-      const IndexMap& _id = IndexMap() ) 
-      : iter(first), n(n_), index(_id) { }
-    inline safe_iterator_property_map() { }
-    inline R operator[](key_type v) const {
-      BOOST_ASSERT(get(index, v) < n);
-      return *(iter + get(index, v)) ;
-    }
-    typename property_traits<IndexMap>::value_type size() const { return n; }
-  protected:
-    RandomAccessIterator iter;
-    typename property_traits<IndexMap>::value_type n;
-    IndexMap index;
-  };
-
-  template <class RAIter, class ID>
-  inline safe_iterator_property_map<
-    RAIter, ID,
-    typename boost::detail::iterator_traits<RAIter>::value_type,
-    typename boost::detail::iterator_traits<RAIter>::reference>
-  make_safe_iterator_property_map(RAIter iter, std::size_t n, ID id) {
-    function_requires< RandomAccessIteratorConcept<RAIter> >();
-    typedef safe_iterator_property_map<
-      RAIter, ID,
-      typename boost::detail::iterator_traits<RAIter>::value_type,
-      typename boost::detail::iterator_traits<RAIter>::reference> PA;
-    return PA(iter, n, id);
-  }
-  template <class RAIter, class Value, class ID>
-  inline safe_iterator_property_map<RAIter, ID, Value, Value&>
-  make_safe_iterator_property_map(RAIter iter, std::size_t n, ID id, Value) {
-    function_requires< RandomAccessIteratorConcept<RAIter> >();
-    typedef safe_iterator_property_map<RAIter, ID, Value, Value&> PMap;
-    return PMap(iter, n, id);
-  }
-
-  //=========================================================================
-  // An adaptor to turn a Unique Pair Associative Container like std::map or
-  // std::hash_map into an Lvalue Property Map.
-
-  template <typename UniquePairAssociativeContainer>
-  class associative_property_map
-    : public boost::put_get_helper<
-       typename UniquePairAssociativeContainer::value_type::second_type&,
-       associative_property_map<UniquePairAssociativeContainer> >
-  {
-    typedef UniquePairAssociativeContainer C;
-  public:
-    typedef typename C::key_type key_type;
-    typedef typename C::value_type::second_type value_type;
-    typedef value_type& reference;
-    typedef lvalue_property_map_tag category;
-    associative_property_map() : m_c(0) { }
-    associative_property_map(C& c) : m_c(&c) { }
-    reference operator[](const key_type& k) const {
-      return (*m_c)[k];
-    }
-  private:
-    C* m_c;
-  };
-
-  template <class UniquePairAssociativeContainer>
-  associative_property_map<UniquePairAssociativeContainer>
-  make_assoc_property_map(UniquePairAssociativeContainer& c)
-  {
-    return associative_property_map<UniquePairAssociativeContainer>(c);
-  }
-
-  template <typename UniquePairAssociativeContainer>
-  class const_associative_property_map
-    : public boost::put_get_helper<
-       const typename UniquePairAssociativeContainer::value_type::second_type&,
-       const_associative_property_map<UniquePairAssociativeContainer> >
-  {
-    typedef UniquePairAssociativeContainer C;
-  public:
-    typedef typename C::key_type key_type;
-    typedef typename C::value_type::second_type value_type;
-    typedef const value_type& reference;
-    typedef lvalue_property_map_tag category;
-    const_associative_property_map() : m_c(0) { }
-    const_associative_property_map(const C& c) : m_c(&c) { }
-    reference operator[](const key_type& k) const {
-      return m_c->find(k)->second;
-    }
-  private:
-    C const* m_c;
-  };
-  
-  template <class UniquePairAssociativeContainer>
-  const_associative_property_map<UniquePairAssociativeContainer>
-  make_assoc_property_map(const UniquePairAssociativeContainer& c)
-  {
-    return const_associative_property_map<UniquePairAssociativeContainer>(c);
-  }
-
-  //=========================================================================
-  // A property map that always returns the same object by value.
-  //
-  template <typename ValueType, typename KeyType = void>
-  class static_property_map :
-      public
-  boost::put_get_helper<ValueType,static_property_map<ValueType> >
-  { 
-    ValueType value;
-  public:
-    typedef KeyType key_type;
-    typedef ValueType value_type;
-    typedef ValueType reference;
-    typedef readable_property_map_tag category;
-    static_property_map(ValueType v) : value(v) {}
-    
-    template<typename T>
-    inline reference operator[](T) const { return value; }
-  };
-
-  template <typename KeyType, typename ValueType>
-  static_property_map<ValueType, KeyType>
-  make_static_property_map(const ValueType& v) {
-    return static_property_map<ValueType, KeyType>(v);
-  }
-
-  //=========================================================================
-  // A property map that always returns a reference to the same object.
-  //
-  template <typename KeyType, typename ValueType>
-  class ref_property_map :
-    public
-      boost::put_get_helper<ValueType&,ref_property_map<KeyType,ValueType> >
-  { 
-    ValueType* value;
-  public:
-    typedef KeyType key_type;
-    typedef ValueType value_type;
-    typedef ValueType& reference;
-    typedef lvalue_property_map_tag category;
-    ref_property_map(ValueType& v) : value(&v) {}
-    ValueType& operator[](key_type const&) const { return *value; }
-  };
-
-  //=========================================================================
-  // A generalized identity property map
-  template <typename T>
-  struct typed_identity_property_map
-    : public boost::put_get_helper<T, typed_identity_property_map<T> >
-  {
-    typedef T key_type;
-    typedef T value_type;
-    typedef T reference;
-    typedef boost::readable_property_map_tag category;
-
-    inline value_type operator[](const key_type& v) const { return v; }
-  };
-
-//=========================================================================
-  // A property map that applies the identity function to integers
-  typedef typed_identity_property_map<std::size_t> identity_property_map;
-
-  //=========================================================================
-  // A property map that does not do anything, for
-  // when you have to supply a property map, but don't need it.
-  namespace detail {
-    struct dummy_pmap_reference {
-      template <class T>
-      dummy_pmap_reference& operator=(const T&) { return *this; }
-      operator int() { return 0; }
-    };
-  }
-  class dummy_property_map 
-    : public boost::put_get_helper<detail::dummy_pmap_reference,
-        dummy_property_map  > 
-  {
-  public:
-    typedef void key_type; 
-    typedef int value_type;
-    typedef detail::dummy_pmap_reference reference;
-    typedef boost::read_write_property_map_tag category;
-    inline dummy_property_map() : c(0) { }
-    inline dummy_property_map(value_type cc) : c(cc) { }
-    inline dummy_property_map(const dummy_property_map& x)
-      : c(x.c) { }
-    template <class Vertex>
-    inline reference operator[](Vertex) const { return reference(); }
-   protected:
-    value_type c;
-  };
-
-  // Convert a Readable property map into a function object
-  template <typename PropMap>
-  class property_map_function {
-    PropMap pm;
-    typedef typename property_traits<PropMap>::key_type param_type;
-    public:
-    explicit property_map_function(const PropMap& pm): pm(pm) {}
-    typedef typename property_traits<PropMap>::value_type result_type;
-    result_type operator()(const param_type& k) const {return get(pm, k);}
-  };
-
-  template <typename PropMap>
-  property_map_function<PropMap>
-  make_property_map_function(const PropMap& pm) {
-    return property_map_function<PropMap>(pm);
-  }
-
-} // namespace boost
-
-#ifdef BOOST_GRAPH_USE_MPI
-#include <boost/property_map/parallel/parallel_property_maps.hpp>
-#endif
-
-#include <boost/property_map/vector_property_map.hpp>
-
-#endif /* BOOST_PROPERTY_MAP_HPP */
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/property_map_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/property_map_iterator.hpp
deleted file mode 100644
index a7be8af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/property_map_iterator.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// (C) Copyright Jeremy Siek, 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/property_map for documentation.
-
-#ifndef BOOST_PROPERTY_MAP_ITERATOR_HPP
-#define BOOST_PROPERTY_MAP_ITERATOR_HPP
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost {
-
-  //======================================================================
-  // property iterator, generalized from ideas by Francois Faure
-
-  namespace detail {
-
-    template <class Iterator, class LvaluePropertyMap>
-    class lvalue_pmap_iter
-      : public iterator_adaptor< lvalue_pmap_iter< Iterator, LvaluePropertyMap >,
-                                 Iterator,
-                                 typename property_traits<LvaluePropertyMap>::value_type,
-                                 use_default,
-                                 typename property_traits<LvaluePropertyMap>::reference>
-    {
-      friend class boost::iterator_core_access;
-
-      typedef iterator_adaptor< lvalue_pmap_iter< Iterator, LvaluePropertyMap >,
-                                Iterator,
-                                typename property_traits<LvaluePropertyMap>::value_type,
-                                use_default,
-                                typename property_traits<LvaluePropertyMap>::reference> super_t;
-
-    public:
-      lvalue_pmap_iter() { }
-      lvalue_pmap_iter(Iterator const&     it,
-                       LvaluePropertyMap m)
-        : super_t(it),
-          m_map(m) {}
-
-    private:
-      typename super_t::reference
-      dereference() const
-      {
-        return m_map[*(this->base_reference())];
-      }
-
-      LvaluePropertyMap m_map;
-    };
-
-    template <class Iterator, class ReadablePropertyMap>
-    class readable_pmap_iter :
-      public iterator_adaptor< readable_pmap_iter< Iterator, ReadablePropertyMap >,
-                               Iterator,
-                               typename property_traits<ReadablePropertyMap>::value_type,
-                               use_default,
-                               typename property_traits<ReadablePropertyMap>::value_type>
-
-
-    {
-      friend class boost::iterator_core_access;
-
-      typedef iterator_adaptor< readable_pmap_iter< Iterator, ReadablePropertyMap >,
-                                Iterator,
-                                typename property_traits<ReadablePropertyMap>::value_type,
-                                use_default,
-                                typename property_traits<ReadablePropertyMap>::value_type> super_t;
-
-    public:
-      readable_pmap_iter() { }
-      readable_pmap_iter(Iterator const&     it,
-                         ReadablePropertyMap m)
-        : super_t(it),
-          m_map(m) {}
-
-    private:
-      typename super_t::reference
-      dereference() const
-      {
-        return get(m_map, *(this->base_reference()));
-      }
-
-      ReadablePropertyMap m_map;
-    };
-
-
-  } // namespace detail
-
-  template <class PropertyMap, class Iterator>
-  struct property_map_iterator_generator :
-    mpl::if_< is_same< typename property_traits<PropertyMap>::category, lvalue_property_map_tag>,
-              detail::lvalue_pmap_iter<Iterator, PropertyMap>,
-              detail::readable_pmap_iter<Iterator, PropertyMap> >
-  {};
-
-  template <class PropertyMap, class Iterator>
-  typename property_map_iterator_generator<PropertyMap, Iterator>::type
-  make_property_map_iterator(PropertyMap pmap, Iterator iter)
-  {
-    typedef typename property_map_iterator_generator<PropertyMap, 
-      Iterator>::type Iter;
-    return Iter(iter, pmap);
-  }
-
-} // namespace boost
-
-#endif // BOOST_PROPERTY_MAP_ITERATOR_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/shared_array_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/shared_array_property_map.hpp
deleted file mode 100644
index 8056d95..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/shared_array_property_map.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//  Copyright (C) 2009 Trustees of Indiana University
-//  Authors: Jeremiah Willcock, Andrew Lumsdaine
-
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/property_map for documentation.
-
-#ifndef BOOST_SHARED_ARRAY_PROPERTY_MAP_HPP
-#define BOOST_SHARED_ARRAY_PROPERTY_MAP_HPP
-
-#include <boost/smart_ptr/shared_array.hpp>
-#include <boost/property_map/property_map.hpp>
-
-namespace boost {
-
-template <class T, class IndexMap>
-class shared_array_property_map
-  : public boost::put_get_helper<T&, shared_array_property_map<T, IndexMap> >
-{
-  public:
-  typedef typename property_traits<IndexMap>::key_type key_type;
-  typedef T value_type;
-  typedef T& reference;
-  typedef boost::lvalue_property_map_tag category;
-
-  inline shared_array_property_map(): data(), index() {}
-
-  explicit inline shared_array_property_map(
-    size_t n,
-    const IndexMap& _id = IndexMap())
-  : data(new T[n]), index(_id) {}
-
-  inline T& operator[](key_type v) const {
-    return data[get(index, v)];
-  }
-
-  private:
-  boost::shared_array<T> data;
-  IndexMap index;
-};
-
-template <class T, class IndexMap>
-shared_array_property_map<T, IndexMap>
-make_shared_array_property_map(size_t n, const T&, const IndexMap& index) {
-  return shared_array_property_map<T, IndexMap>(n, index);
-}
-
-} // end namespace boost
-
-#endif // BOOST_SHARED_ARRAY_PROPERTY_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/transform_value_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/transform_value_property_map.hpp
deleted file mode 100644
index 6a7b574..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/transform_value_property_map.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-//=======================================================================
-// Author: Philipp Moeller
-//
-// Copyright 2012, Philipp Moeller
-//
-// Distributed under the 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_PROPERTY_MAP_TRANSFORM_VALUE_PROPERTY_MAP_HPP
-#define BOOST_PROPERTY_MAP_TRANSFORM_VALUE_PROPERTY_MAP_HPP
-
-#include <boost/config.hpp>
-#include <boost/property_map/property_map.hpp>
-#include <boost/type_traits.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <utility>
-
-namespace boost {
-
-template<typename Func, typename PM, typename Ret = typename boost::result_of<const Func(typename property_traits<PM>::reference)>::type>
-class transform_value_property_map: public put_get_helper<Ret, transform_value_property_map<Func, PM, Ret> > {
-  public:
-  typedef typename property_traits<PM>::key_type key_type;
-  typedef Ret reference;
-  typedef typename boost::remove_cv<typename boost::remove_reference<Ret>::type>::type value_type;
-
-  typedef typename boost::mpl::if_<
-                     boost::mpl::and_<
-                       boost::is_reference<Ret>,
-                       boost::mpl::not_<boost::is_const<Ret> >
-                     >,
-                     boost::lvalue_property_map_tag,
-                     boost::readable_property_map_tag>::type
-    category;
-
-  transform_value_property_map(Func f, PM pm) : f(f), pm(pm) {}
-
-  reference operator[](const key_type& k) const {
-    return f(get(pm, k));
-  }
-
-  private:
-  Func f;
-  PM pm;
-};
-
-template<typename PM, typename Func>
-transform_value_property_map<Func, PM>
-make_transform_value_property_map(const Func& f, const PM& pm) {
-  return transform_value_property_map<Func, PM>(f, pm);
-}
-
-template<typename Ret, typename PM, typename Func>
-transform_value_property_map<Func, PM, Ret>
-make_transform_value_property_map(const Func& f, const PM& pm) {
-  return transform_value_property_map<Func, PM, Ret>(f, pm);
-}
-
-} // boost
-
-#endif /* BOOST_PROPERTY_MAP_TRANSFORM_VALUE_PROPERTY_MAP_HPP */
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/vector_property_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/property_map/vector_property_map.hpp
deleted file mode 100644
index ceb975a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/property_map/vector_property_map.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// 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)
-//
-// See http://www.boost.org/libs/graph/vector_property_map.html for
-// documentation.
-//
-
-#ifndef VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04
-#define VECTOR_PROPERTY_MAP_HPP_VP_2003_03_04
-
-#include <boost/property_map/property_map.hpp>
-#include <boost/shared_ptr.hpp>
-#include <vector>
-
-namespace boost {
-    template<typename T, typename IndexMap = identity_property_map>
-    class vector_property_map
-        : public boost::put_get_helper< 
-              typename std::iterator_traits< 
-                  typename std::vector<T>::iterator >::reference,
-              vector_property_map<T, IndexMap> >
-    {
-    public:
-        typedef typename property_traits<IndexMap>::key_type  key_type;
-        typedef T value_type;
-        typedef typename std::iterator_traits< 
-            typename std::vector<T>::iterator >::reference reference;
-        typedef boost::lvalue_property_map_tag category;
-        
-        vector_property_map(const IndexMap& index = IndexMap())
-        : store(new std::vector<T>()), index(index)
-        {}
-
-        vector_property_map(unsigned initial_size, 
-                            const IndexMap& index = IndexMap())
-        : store(new std::vector<T>(initial_size)), index(index)
-        {}
-
-        typename std::vector<T>::iterator storage_begin()
-        {
-            return store->begin();
-        }
-
-        typename std::vector<T>::iterator storage_end()
-        {
-            return store->end();
-        }
-
-        typename std::vector<T>::const_iterator storage_begin() const
-        {
-            return store->begin();
-        }
-
-        typename std::vector<T>::const_iterator storage_end() const
-        {
-            return store->end();
-        }
-                 
-        IndexMap&       get_index_map()       { return index; }
-        const IndexMap& get_index_map() const { return index; }
-          
-    public:
-        // Copy ctor absent, default semantics is OK.
-        // Assignment operator absent, default semantics is OK.
-        // CONSIDER: not sure that assignment to 'index' is correct.
-        
-        reference operator[](const key_type& v) const {
-            typename property_traits<IndexMap>::value_type i = get(index, v);
-            if (static_cast<unsigned>(i) >= store->size()) {
-                store->resize(i + 1, T());
-            }
-            return (*store)[i];
-        }
-    private:
-        // Conceptually, we have a vector of infinite size. For practical 
-        // purposes, we start with an empty vector and grow it as needed.
-        // Note that we cannot store pointer to vector here -- we cannot
-        // store pointer to data, because if copy of property map resizes
-        // the vector, the pointer to data will be invalidated. 
-        // I wonder if class 'pmap_ref' is simply needed.
-        shared_ptr< std::vector<T> > store;        
-        IndexMap index;
-    };
-    
-    template<typename T, typename IndexMap>
-    vector_property_map<T, IndexMap>
-    make_vector_property_map(IndexMap index)
-    {
-        return vector_property_map<T, IndexMap>(index);
-    }
-}
-
-#ifdef BOOST_GRAPH_USE_MPI
-#include <boost/property_map/parallel/vector_property_map.hpp>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/python.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/python.hpp
deleted file mode 100644
index 11067c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/python.hpp
+++ /dev/null
@@ -1,76 +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)
-
-//  See http://www.boost.org/libs/python for documentation.
-
-#ifndef PYTHON_DWA2002810_HPP
-# define PYTHON_DWA2002810_HPP
-
-# include <boost/python/args.hpp>
-# include <boost/python/args_fwd.hpp>
-# include <boost/python/back_reference.hpp>
-# include <boost/python/bases.hpp>
-# include <boost/python/borrowed.hpp>
-# include <boost/python/call.hpp>
-# include <boost/python/call_method.hpp>
-# include <boost/python/class.hpp>
-# include <boost/python/copy_const_reference.hpp>
-# include <boost/python/copy_non_const_reference.hpp>
-# include <boost/python/data_members.hpp>
-# include <boost/python/def.hpp>
-# include <boost/python/default_call_policies.hpp>
-# include <boost/python/dict.hpp>
-# include <boost/python/docstring_options.hpp>
-# include <boost/python/enum.hpp>
-# include <boost/python/errors.hpp>
-# include <boost/python/exception_translator.hpp>
-# include <boost/python/exec.hpp>
-# include <boost/python/extract.hpp>
-# include <boost/python/handle.hpp>
-# include <boost/python/has_back_reference.hpp>
-# include <boost/python/implicit.hpp>
-# include <boost/python/init.hpp>
-# include <boost/python/import.hpp>
-# include <boost/python/instance_holder.hpp>
-# include <boost/python/iterator.hpp>
-# include <boost/python/list.hpp>
-# include <boost/python/long.hpp>
-# include <boost/python/lvalue_from_pytype.hpp>
-# include <boost/python/make_constructor.hpp>
-# include <boost/python/make_function.hpp>
-# include <boost/python/manage_new_object.hpp>
-# include <boost/python/module.hpp>
-# include <boost/python/numeric.hpp>
-# include <boost/python/object.hpp>
-# include <boost/python/object_protocol.hpp>
-# include <boost/python/object_protocol_core.hpp>
-# include <boost/python/opaque_pointer_converter.hpp>
-# include <boost/python/operators.hpp>
-# include <boost/python/other.hpp>
-# include <boost/python/overloads.hpp>
-# include <boost/python/pointee.hpp>
-# include <boost/python/pure_virtual.hpp>
-# include <boost/python/ptr.hpp>
-# include <boost/python/raw_function.hpp>
-# include <boost/python/reference_existing_object.hpp>
-# include <boost/python/register_ptr_to_python.hpp>
-# include <boost/python/return_arg.hpp>
-# include <boost/python/return_internal_reference.hpp>
-# include <boost/python/return_opaque_pointer.hpp>
-# include <boost/python/return_value_policy.hpp>
-# include <boost/python/scope.hpp>
-# include <boost/python/self.hpp>
-# include <boost/python/slice.hpp>
-# include <boost/python/slice_nil.hpp>
-# include <boost/python/stl_iterator.hpp>
-# include <boost/python/str.hpp>
-# include <boost/python/to_python_converter.hpp>
-# include <boost/python/to_python_indirect.hpp>
-# include <boost/python/to_python_value.hpp>
-# include <boost/python/tuple.hpp>
-# include <boost/python/type_id.hpp>
-# include <boost/python/with_custodian_and_ward.hpp>
-
-#endif // PYTHON_DWA2002810_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/random.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/random.hpp
deleted file mode 100644
index a164e7e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/random.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* boost random.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/libs/random for documentation.
- *
- * $Id$
- *
- * Revision history
- *  2000-02-18  portability fixes (thanks to Beman Dawes)
- *  2000-02-21  shuffle_output, inversive_congruential_schrage,
- *              generator_iterator, uniform_smallint
- *  2000-02-23  generic modulus arithmetic helper, removed *_schrage classes,
- *              implemented Streamable and EqualityComparable concepts for 
- *              generators, added Bernoulli distribution and Box-Muller
- *              transform
- *  2000-03-01  cauchy, lognormal, triangle distributions; fixed 
- *              uniform_smallint; renamed gaussian to normal distribution
- *  2000-03-05  implemented iterator syntax for distribution functions
- *  2000-04-21  removed some optimizations for better BCC/MSVC compatibility
- *  2000-05-10  adapted to BCC and MSVC
- *  2000-06-13  incorporated review results
- *  2000-07-06  moved basic templates from namespace detail to random
- *  2000-09-23  warning removals and int64 fixes (Ed Brey)
- *  2000-09-24  added lagged_fibonacci generator (Matthias Troyer)
- *  2001-02-18  moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_HPP
-#define BOOST_RANDOM_HPP
-
-// generators
-#include <boost/random/additive_combine.hpp>
-#include <boost/random/discard_block.hpp>
-#include <boost/random/independent_bits.hpp>
-#include <boost/random/inversive_congruential.hpp>
-#include <boost/random/lagged_fibonacci.hpp>
-#include <boost/random/linear_congruential.hpp>
-#include <boost/random/linear_feedback_shift.hpp>
-#include <boost/random/mersenne_twister.hpp>
-#include <boost/random/ranlux.hpp>
-#include <boost/random/shuffle_order.hpp>
-#include <boost/random/shuffle_output.hpp>
-#include <boost/random/subtract_with_carry.hpp>
-#include <boost/random/taus88.hpp>
-#include <boost/random/xor_combine.hpp>
-
-// misc
-#include <boost/random/generate_canonical.hpp>
-#include <boost/random/seed_seq.hpp>
-#include <boost/random/random_number_generator.hpp>
-#include <boost/random/variate_generator.hpp>
-
-// distributions
-#include <boost/random/bernoulli_distribution.hpp>
-#include <boost/random/beta_distribution.hpp>
-#include <boost/random/binomial_distribution.hpp>
-#include <boost/random/cauchy_distribution.hpp>
-#include <boost/random/chi_squared_distribution.hpp>
-#include <boost/random/discrete_distribution.hpp>
-#include <boost/random/exponential_distribution.hpp>
-#include <boost/random/extreme_value_distribution.hpp>
-#include <boost/random/fisher_f_distribution.hpp>
-#include <boost/random/gamma_distribution.hpp>
-#include <boost/random/geometric_distribution.hpp>
-#include <boost/random/hyperexponential_distribution.hpp>
-#include <boost/random/laplace_distribution.hpp>
-#include <boost/random/lognormal_distribution.hpp>
-#include <boost/random/negative_binomial_distribution.hpp>
-#include <boost/random/non_central_chi_squared_distribution.hpp>
-#include <boost/random/normal_distribution.hpp>
-#include <boost/random/piecewise_constant_distribution.hpp>
-#include <boost/random/piecewise_linear_distribution.hpp>
-#include <boost/random/poisson_distribution.hpp>
-#include <boost/random/student_t_distribution.hpp>
-#include <boost/random/triangle_distribution.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/uniform_int_distribution.hpp>
-#include <boost/random/uniform_on_sphere.hpp>
-#include <boost/random/uniform_real.hpp>
-#include <boost/random/uniform_real_distribution.hpp>
-#include <boost/random/uniform_smallint.hpp>
-#include <boost/random/weibull_distribution.hpp>
-
-#include <boost/random/generate_canonical.hpp>
-
-#endif // BOOST_RANDOM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range.hpp
deleted file mode 100644
index 179ae22..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range.hpp
+++ /dev/null
@@ -1,23 +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_HPP_27_07_04
-#define BOOST_RANGE_HPP_27_07_04
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/functions.hpp>
-#include <boost/range/metafunctions.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/sub_range.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/adjacent_filtered.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/adjacent_filtered.hpp
deleted file mode 100644
index 287a4ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/adjacent_filtered.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_ADJACENT_FILTER_IMPL_HPP
-#define BOOST_RANGE_ADAPTOR_ADJACENT_FILTER_IMPL_HPP
-
-#include <boost/config.hpp>
-#ifdef BOOST_MSVC
-#pragma warning( push )
-#pragma warning( disable : 4355 )
-#endif
-
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/next_prior.hpp>
-
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class Iter, class Pred, bool default_pass >
-        class skip_iterator
-          : public boost::iterator_adaptor<
-                    skip_iterator<Iter,Pred,default_pass>,
-                    Iter,
-                    BOOST_DEDUCED_TYPENAME std::iterator_traits<Iter>::value_type,
-                    boost::forward_traversal_tag,
-                    BOOST_DEDUCED_TYPENAME std::iterator_traits<Iter>::reference,
-                    BOOST_DEDUCED_TYPENAME std::iterator_traits<Iter>::difference_type
-                >
-          , private Pred
-        {
-        private:
-            typedef boost::iterator_adaptor<
-                        skip_iterator<Iter,Pred,default_pass>,
-                        Iter,
-                        BOOST_DEDUCED_TYPENAME std::iterator_traits<Iter>::value_type,
-                        boost::forward_traversal_tag,
-                        BOOST_DEDUCED_TYPENAME std::iterator_traits<Iter>::reference,
-                        BOOST_DEDUCED_TYPENAME std::iterator_traits<Iter>::difference_type
-                    > base_t;
-
-        public:
-            typedef Pred pred_t;
-            typedef Iter iter_t;
-
-            skip_iterator() : m_last() {}
-
-            skip_iterator(iter_t it, iter_t last, const Pred& pred)
-                : base_t(it)
-                , pred_t(pred)
-                , m_last(last)
-            {
-            }
-
-            template<class OtherIter>
-            skip_iterator( const skip_iterator<OtherIter, pred_t, default_pass>& other )
-            : base_t(other.base())
-            , pred_t(other)
-            , m_last(other.m_last)
-            {
-            }
-
-            void increment()
-            {
-                iter_t& it = this->base_reference();
-                BOOST_ASSERT( it != m_last );
-                pred_t& bi_pred = *this;
-                iter_t prev = it;
-                ++it;
-                if (it != m_last)
-                {
-                    if (default_pass)
-                    {
-                        while (it != m_last && !bi_pred(*prev, *it))
-                        {
-                            ++it;
-                            ++prev;
-                        }
-                    }
-                    else
-                    {
-                        for (; it != m_last; ++it, ++prev)
-                        {
-                            if (bi_pred(*prev, *it))
-                            {
-                                break;
-                            }
-                        }
-                    }
-                }
-            }
-
-            iter_t m_last;
-        };
-
-        template< class P, class R, bool default_pass >
-        struct adjacent_filtered_range
-            : iterator_range< skip_iterator<
-                                BOOST_DEDUCED_TYPENAME range_iterator<R>::type,
-                                P,
-                                default_pass
-                            >
-                        >
-        {
-        private:
-            typedef skip_iterator<
-                        BOOST_DEDUCED_TYPENAME range_iterator<R>::type,
-                        P,
-                        default_pass
-                     >
-                skip_iter;
-
-            typedef iterator_range<skip_iter>
-                base_range;
-
-            typedef BOOST_DEDUCED_TYPENAME range_iterator<R>::type raw_iterator;
-
-        public:
-            adjacent_filtered_range( const P& p, R& r )
-            : base_range(skip_iter(boost::begin(r), boost::end(r), p),
-                         skip_iter(boost::end(r), boost::end(r), p))
-            {
-            }
-        };
-
-        template< class T >
-        struct adjacent_holder : holder<T>
-        {
-            adjacent_holder( T r ) : holder<T>(r)
-            { }
-        };
-
-        template< class T >
-        struct adjacent_excl_holder : holder<T>
-        {
-            adjacent_excl_holder( T r ) : holder<T>(r)
-            { }
-        };
-
-        template< class ForwardRng, class BinPredicate >
-        inline adjacent_filtered_range<BinPredicate, ForwardRng, true>
-        operator|( ForwardRng& r,
-                   const adjacent_holder<BinPredicate>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRng>));
-
-            return adjacent_filtered_range<BinPredicate, ForwardRng, true>( f.val, r );
-        }
-
-        template< class ForwardRng, class BinPredicate >
-        inline adjacent_filtered_range<BinPredicate, const ForwardRng, true>
-        operator|( const ForwardRng& r,
-                   const adjacent_holder<BinPredicate>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRng>));
-
-            return adjacent_filtered_range<BinPredicate,
-                                           const ForwardRng, true>( f.val, r );
-        }
-
-        template< class ForwardRng, class BinPredicate >
-        inline adjacent_filtered_range<BinPredicate, ForwardRng, false>
-        operator|( ForwardRng& r,
-                   const adjacent_excl_holder<BinPredicate>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRng>));
-            return adjacent_filtered_range<BinPredicate, ForwardRng, false>( f.val, r );
-        }
-
-        template< class ForwardRng, class BinPredicate >
-        inline adjacent_filtered_range<BinPredicate, ForwardRng, false>
-        operator|( const ForwardRng& r,
-                   const adjacent_excl_holder<BinPredicate>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRng>));
-            return adjacent_filtered_range<BinPredicate,
-                                           const ForwardRng, false>( f.val, r );
-        }
-
-    } // 'range_detail'
-
-    // Bring adjacent_filter_range into the boost namespace so that users of
-    // this library may specify the return type of the '|' operator and
-    // adjacent_filter()
-    using range_detail::adjacent_filtered_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::forwarder<range_detail::adjacent_holder>
-                adjacent_filtered =
-                   range_detail::forwarder<range_detail::adjacent_holder>();
-
-            const range_detail::forwarder<range_detail::adjacent_excl_holder>
-                adjacent_filtered_excl =
-                    range_detail::forwarder<range_detail::adjacent_excl_holder>();
-        }
-
-        template<class ForwardRng, class BinPredicate>
-        inline adjacent_filtered_range<BinPredicate, ForwardRng, true>
-        adjacent_filter(ForwardRng& rng, BinPredicate filter_pred)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRng>));
-            return adjacent_filtered_range<BinPredicate, ForwardRng, true>(filter_pred, rng);
-        }
-
-        template<class ForwardRng, class BinPredicate>
-        inline adjacent_filtered_range<BinPredicate, const ForwardRng, true>
-        adjacent_filter(const ForwardRng& rng, BinPredicate filter_pred)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRng>));
-            return adjacent_filtered_range<BinPredicate, const ForwardRng, true>(filter_pred, rng);
-        }
-
-    } // 'adaptors'
-
-}
-
-#ifdef BOOST_MSVC
-#pragma warning( pop )
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/argument_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/argument_fwd.hpp
deleted file mode 100644
index fbfd40c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/argument_fwd.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_ARGUMENT_FWD_HPP
-#define BOOST_RANGE_ADAPTOR_ARGUMENT_FWD_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable : 4512) // assignment operator could not be generated
-#endif
-
-namespace boost
-{
-    namespace range_detail
-    {  
-        template< class T >
-        struct holder
-        {
-            T val;
-            holder( T t ) : val(t)
-            { }
-        };
-
-        template< class T >
-        struct holder2
-        {
-            T val1, val2;
-            holder2( T t, T u ) : val1(t), val2(u)
-            { }
-        };
-        
-        template< template<class> class Holder >
-        struct forwarder
-        {
-            template< class T >
-            Holder<T> operator()( T t ) const
-            {
-                return Holder<T>(t);
-            }
-        };
-
-        template< template<class> class Holder >
-        struct forwarder2
-        {
-            template< class T >
-            Holder<T> operator()( T t, T u ) const
-            {
-                return Holder<T>(t,u);
-            }
-        };
-
-        template< template<class,class> class Holder >
-        struct forwarder2TU
-        {
-            template< class T, class U >
-            Holder<T, U> operator()( T t, U u ) const
-            {
-                return Holder<T, U>(t, u);
-            }
-        };
-
-
-    } 
-        
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/copied.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/copied.hpp
deleted file mode 100644
index f7dfbcd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/copied.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 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_ADAPTOR_COPIED_HPP
-#define BOOST_RANGE_ADAPTOR_COPIED_HPP
-
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/adaptor/sliced.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/concepts.hpp>
-
-namespace boost
-{
-    namespace adaptors
-    {
-        struct copied
-        {
-            copied(std::size_t t_, std::size_t u_)
-                : t(t_), u(u_) {}
-
-            std::size_t t;
-            std::size_t u;
-        };
-
-        template<class CopyableRandomAccessRange>
-        inline CopyableRandomAccessRange
-        operator|(const CopyableRandomAccessRange& r, const copied& f)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                RandomAccessRangeConcept<const CopyableRandomAccessRange>));
-
-            iterator_range<
-                BOOST_DEDUCED_TYPENAME range_iterator<
-                    const CopyableRandomAccessRange
-                >::type
-            > temp(adaptors::slice(r, f.t, f.u));
-
-            return CopyableRandomAccessRange(temp.begin(), temp.end());
-        }
-
-        template<class CopyableRandomAccessRange>
-        inline CopyableRandomAccessRange
-        copy(const CopyableRandomAccessRange& rng, std::size_t t, std::size_t u)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                RandomAccessRangeConcept<const CopyableRandomAccessRange>));
-
-            iterator_range<
-                BOOST_DEDUCED_TYPENAME range_iterator<
-                    const CopyableRandomAccessRange
-                >::type
-            > temp(adaptors::slice(rng, t, u));
-
-            return CopyableRandomAccessRange( temp.begin(), temp.end() );
-        }
-    } // 'adaptors'
-
-}
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/define_adaptor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/define_adaptor.hpp
deleted file mode 100644
index b228df3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/define_adaptor.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_DEFINE_ADAPTOR_HPP_INCLUDED
-#define BOOST_RANGE_DEFINE_ADAPTOR_HPP_INCLUDED
-
-#include <boost/tuple/tuple.hpp>
-
-#define BOOST_DEFINE_RANGE_ADAPTOR( adaptor_name, range_adaptor ) \
-    struct adaptor_name##_forwarder {}; \
-    \
-    template<typename Range> range_adaptor <Range> \
-        operator|(Range& rng, adaptor_name##_forwarder) \
-    { \
-        return range_adaptor <Range>( rng ); \
-    } \
-    \
-    template<typename Range> range_adaptor <const Range> \
-        operator|(const Range& rng, adaptor_name##_forwarder) \
-    { \
-        return range_adaptor <const Range>( rng ); \
-    } \
-    \
-    static adaptor_name##_forwarder adaptor_name = adaptor_name##_forwarder(); \
-    \
-    template<typename Range> \
-    range_adaptor <Range> \
-    make_##adaptor_name(Range& rng) \
-    { \
-        return range_adaptor <Range>(rng); \
-    } \
-    \
-    template<typename Range> \
-    range_adaptor <const Range> \
-    make_##adaptor_name(const Range& rng) \
-    { \
-        return range_adaptor <const Range>(rng); \
-    }
-
-#define BOOST_DEFINE_RANGE_ADAPTOR_1( adaptor_name, range_adaptor, arg1_type ) \
-    struct adaptor_name \
-    { \
-        explicit adaptor_name (arg1_type arg1_) \
-            : arg1(arg1_) {} \
-        arg1_type arg1; \
-    }; \
-    \
-    template<typename Range> range_adaptor <Range> \
-        operator|(Range& rng, adaptor_name args) \
-    { \
-        return range_adaptor <Range>(rng, args.arg1); \
-    } \
-    \
-    template<typename Range> range_adaptor <const Range> \
-        operator|(const Range& rng, adaptor_name args) \
-    { \
-        return range_adaptor <const Range>(rng, args.arg1); \
-    } \
-    \
-    template<typename Range> \
-    range_adaptor <Range> \
-    make_##adaptor_name(Range& rng, arg1_type arg1) \
-    { \
-        return range_adaptor <Range>(rng, arg1); \
-    } \
-    \
-    template<typename Range> \
-    range_adaptor <const Range> \
-    make_##adaptor_name(const Range& rng, arg1_type arg1) \
-    { \
-        return range_adaptor <const Range>(rng, arg1); \
-    }
-
-#define BOOST_RANGE_ADAPTOR_2( adaptor_name, range_adaptor, arg1_type, arg2_type ) \
-    struct adaptor_name \
-    { \
-        explicit adaptor_name (arg1_type arg1_, arg2_type arg2_) \
-            : arg1(arg1_), arg2(arg2_) {} \
-        arg1_type arg1; \
-        arg2_type arg2; \
-    }; \
-    \
-    template<typename Range> range_adaptor <Range> \
-    operator|(Range& rng, adaptor_name args) \
-    { \
-        return range_adaptor <Range>(rng, args.arg1, args.arg2); \
-    } \
-    template<typename Range> \
-    range_adaptor <Range> \
-    make_##adaptor_name(Range& rng, arg1_type arg1, arg2_type arg2) \
-    { \
-        return range_adaptor <Range>(rng, arg1, arg2); \
-    } \
-    template<typename Range> \
-    range_adaptor <const Range> \
-    make_##adaptor_name(const Range& rng, arg1_type arg1, arg2_type arg2) \
-    { \
-        return range_adaptor <const Range>(rng, arg1, arg2); \
-    }
-
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/filtered.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/filtered.hpp
deleted file mode 100644
index 1fb778e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/filtered.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_FILTERED_HPP
-#define BOOST_RANGE_ADAPTOR_FILTERED_HPP
-
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/detail/default_constructible_unary_fn.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/filter_iterator.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class P, class R >
-        struct filtered_range :
-            boost::iterator_range<
-                boost::filter_iterator<
-                    typename default_constructible_unary_fn_gen<P, bool>::type,
-                    typename range_iterator<R>::type
-                >
-            >
-        {
-        private:
-            typedef boost::iterator_range<
-                boost::filter_iterator<
-                    typename default_constructible_unary_fn_gen<P, bool>::type,
-                    typename range_iterator<R>::type
-                >
-            > base;
-        public:
-            typedef typename default_constructible_unary_fn_gen<P, bool>::type
-                pred_t;
-
-            filtered_range(P p, R& r)
-            : base(make_filter_iterator(pred_t(p),
-                                        boost::begin(r), boost::end(r)),
-                   make_filter_iterator(pred_t(p),
-                                        boost::end(r), boost::end(r)))
-            { }
-        };
-
-        template< class T >
-        struct filter_holder : holder<T>
-        {
-            filter_holder( T r ) : holder<T>(r)
-            { }
-        };
-
-        template< class SinglePassRange, class Predicate >
-        inline filtered_range<Predicate, SinglePassRange>
-        operator|(SinglePassRange& r,
-                  const filter_holder<Predicate>& f)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<SinglePassRange>));
-            return filtered_range<Predicate, SinglePassRange>( f.val, r );
-        }
-
-        template< class SinglePassRange, class Predicate >
-        inline filtered_range<Predicate, const SinglePassRange>
-        operator|(const SinglePassRange& r,
-                  const filter_holder<Predicate>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-            return filtered_range<Predicate, const SinglePassRange>( f.val, r );
-        }
-
-    } // 'range_detail'
-
-    // Unusual use of 'using' is intended to bring filter_range into the boost namespace
-    // while leaving the mechanics of the '|' operator in range_detail and maintain
-    // argument dependent lookup.
-    // filter_range logically needs to be in the boost namespace to allow user of
-    // the library to define the return type for filter()
-    using range_detail::filtered_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::forwarder<range_detail::filter_holder>
-                    filtered =
-                       range_detail::forwarder<range_detail::filter_holder>();
-        }
-
-        template<class SinglePassRange, class Predicate>
-        inline filtered_range<Predicate, SinglePassRange>
-        filter(SinglePassRange& rng, Predicate filter_pred)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return range_detail::filtered_range<
-                Predicate, SinglePassRange>( filter_pred, rng );
-        }
-
-        template<class SinglePassRange, class Predicate>
-        inline filtered_range<Predicate, const SinglePassRange>
-        filter(const SinglePassRange& rng, Predicate filter_pred)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return range_detail::filtered_range<
-                Predicate, const SinglePassRange>( filter_pred, rng );
-        }
-    } // 'adaptors'
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/formatted.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/formatted.hpp
deleted file mode 100644
index f31f1bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/formatted.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014.
-//  Use, modification and distribution is subject to the 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_ADAPTOR_FORMATTED_HPP_INCLUDED
-#define BOOST_RANGE_ADAPTOR_FORMATTED_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/remove_extent.hpp>
-#include <ostream>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<typename Sep, typename Prefix, typename Postfix>
-struct formatted_holder
-{
-    typedef typename boost::mpl::if_<
-        boost::is_array<Sep>,
-        const typename boost::remove_extent<Sep>::type*,
-        Sep
-    >::type separator_t;
-
-    typedef typename boost::mpl::if_<
-        boost::is_array<Prefix>,
-        const typename boost::remove_extent<Prefix>::type*,
-        Prefix
-    >::type prefix_t;
-
-    typedef typename boost::mpl::if_<
-        boost::is_array<Postfix>,
-        const typename boost::remove_extent<Postfix>::type*,
-        Postfix
-    >::type postfix_t;
-
-    formatted_holder(
-        const separator_t& sep,
-        const prefix_t& prefix,
-        const postfix_t& postfix)
-        : m_sep(sep)
-        , m_prefix(prefix)
-        , m_postfix(postfix)
-    {
-    }
-
-    separator_t m_sep;
-    prefix_t m_prefix;
-    postfix_t m_postfix;
-};
-
-template<typename Iter, typename Sep, typename Prefix, typename Postfix>
-class formatted_range
-        : public boost::iterator_range<Iter>
-{
-    typedef formatted_holder<Sep,Prefix,Postfix> holder_t;
-public:
-    formatted_range(Iter first, Iter last, const holder_t& holder)
-        : boost::iterator_range<Iter>(first, last)
-        , m_holder(holder)
-    {
-    }
-
-    template<typename OStream>
-    void write(OStream& out) const
-    {
-        Iter it(this->begin());
-        out << m_holder.m_prefix;
-        if (it != this->end())
-        {
-            out << *it;
-            for (++it; it != this->end(); ++it)
-            {
-                out << m_holder.m_sep << *it;
-            }
-        }
-        out << m_holder.m_postfix;
-    }
-
-private:
-    holder_t m_holder;
-};
-
-template<
-    typename SinglePassRange,
-    typename Sep,
-    typename Prefix,
-    typename Postfix
->
-inline range_detail::formatted_range<
-    typename range_iterator<const SinglePassRange>::type, Sep, Prefix, Postfix
->
-operator|(
-    const SinglePassRange& rng,
-    const range_detail::formatted_holder<Sep,Prefix,Postfix>& holder
-)
-{
-    typedef typename range_iterator<const SinglePassRange>::type iterator;
-    return range_detail::formatted_range<iterator, Sep, Prefix, Postfix>(
-        boost::begin(rng), boost::end(rng), holder);
-}
-
-template<typename Char, typename Traits, typename Iter, typename Sep,
-    typename Prefix, typename Postfix>
-std::basic_ostream<Char, Traits>&
-operator<<(
-        std::basic_ostream<Char, Traits>& out,
-        const formatted_range<Iter, Sep, Prefix, Postfix>& writer)
-{
-    writer.write(out);
-    return out;
-}
-
-    } // namespace range_detail
-
-    namespace adaptors
-    {
-
-template<typename Sep, typename Prefix, typename Postfix>
-range_detail::formatted_holder<Sep, Prefix, Postfix>
-formatted(const Sep& sep, const Prefix& prefix, const Postfix& postfix)
-{
-    return range_detail::formatted_holder<Sep,Prefix,Postfix>(
-                sep, prefix, postfix);
-}
-
-template<typename Sep, typename Prefix>
-range_detail::formatted_holder<Sep, Prefix, char>
-formatted(const Sep& sep, const Prefix& prefix)
-{
-    return range_detail::formatted_holder<Sep, Prefix, char>(sep, prefix, '}');
-}
-
-template<typename Sep>
-range_detail::formatted_holder<Sep, char, char>
-formatted(const Sep& sep)
-{
-    return range_detail::formatted_holder<Sep, char, char>(sep, '{', '}');
-}
-
-inline range_detail::formatted_holder<char, char, char>
-formatted()
-{
-    return range_detail::formatted_holder<char, char, char>(',', '{', '}');
-}
-
-using range_detail::formatted_range;
-
-template<typename SinglePassRange, typename Sep, typename Prefix,
-         typename Postfix>
-inline boost::range_detail::formatted_range<
-    typename boost::range_iterator<const SinglePassRange>::type,
-    Sep, Prefix, Postfix
->
-format(
-    const SinglePassRange& rng,
-    const Sep& sep,
-    const Prefix& prefix,
-    const Postfix& postfix
-)
-{
-    typedef typename boost::range_iterator<const SinglePassRange>::type
-                iterator_t;
-
-    typedef boost::range_detail::formatted_range<
-                iterator_t, Sep, Prefix, Postfix>       result_t;
-
-    typedef boost::range_detail::formatted_holder<Sep, Prefix, Postfix>
-                holder_t;
-
-    return result_t(boost::begin(rng), boost::end(rng),
-                    holder_t(sep, prefix, postfix));
-}
-
-template<typename SinglePassRange, typename Sep, typename Prefix>
-inline boost::range_detail::formatted_range<
-    typename boost::range_iterator<const SinglePassRange>::type,
-    Sep, Prefix, char
->
-format(
-    const SinglePassRange& rng,
-    const Sep& sep,
-    const Prefix& prefix)
-{
-    return adaptors::format<SinglePassRange, Sep, Prefix, char>(rng, sep, prefix, '}');
-}
-
-template<typename SinglePassRange, typename Sep>
-inline boost::range_detail::formatted_range<
-    typename boost::range_iterator<const SinglePassRange>::type,
-    Sep, char, char
->
-format(const SinglePassRange& rng, const Sep& sep)
-{
-    return adaptors::format<SinglePassRange, Sep, char, char>(rng, sep, '{', '}');
-}
-
-template<typename SinglePassRange>
-inline boost::range_detail::formatted_range<
-    typename boost::range_iterator<const SinglePassRange>::type,
-    char, char, char
->
-format(const SinglePassRange& rng)
-{
-    return adaptors::format<SinglePassRange, char, char, char>(rng, ',', '{', '}');
-}
-
-    } // namespace adaptors
-
-    namespace range
-    {
-        using boost::range_detail::formatted_range;
-    } // namespace range
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/indexed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/indexed.hpp
deleted file mode 100644
index a426bd6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/indexed.hpp
+++ /dev/null
@@ -1,370 +0,0 @@
-//  Copyright 2014 Neil Groves
-//
-//  Copyright (c) 2010 Ilya Murav'jov
-// 
-//  Use, modification and distribution is subject to the Boost Software License,
-//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-//
-// Credits:
-//  My (Neil's) first indexed adaptor was hindered by having the underlying
-//  iterator return the same reference as the wrapped iterator. This meant that
-//  to obtain the index one had to get to the index_iterator and call the
-//  index() function on it. Ilya politely pointed out that this was useless in
-//  a number of scenarios since one naturally hides the use of iterators in
-//  good range-based code. Ilya provided a new interface (which has remained)
-//  and a first implementation. Much of this original implementation has
-//  been simplified and now supports more compilers and platforms.
-//
-#ifndef BOOST_RANGE_ADAPTOR_INDEXED_HPP_INCLUDED
-#define BOOST_RANGE_ADAPTOR_INDEXED_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/traversal.hpp>
-#include <boost/range/size.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-
-#include <boost/tuple/tuple.hpp>
-
-namespace boost
-{
-    namespace adaptors
-    {
-
-struct indexed
-{
-    explicit indexed(std::ptrdiff_t x = 0)
-        : val(x)
-    {
-    }
-    std::ptrdiff_t val;
-};
-
-    } // namespace adaptors
-
-    namespace range
-    {
-
-// Why yet another "pair" class:
-// - std::pair can't store references
-// - no need for typing for index type (default to "std::ptrdiff_t"); this is
-// useful in BOOST_FOREACH() expressions that have pitfalls with commas
-//   ( see http://www.boost.org/doc/libs/1_44_0/doc/html/foreach/pitfalls.html )
-// - meaningful access functions index(), value()
-template<class T, class Indexable = std::ptrdiff_t>
-class index_value
-    : public tuple<Indexable, T>
-{
-    typedef tuple<Indexable, T> base_t;
-
-    template<int N>
-    struct iv_types
-    {
-        typedef typename tuples::element<N, base_t>::type n_type;
-
-        typedef typename tuples::access_traits<n_type>::non_const_type non_const_type;
-        typedef typename tuples::access_traits<n_type>::const_type const_type;
-    };
-
-public:
-    typedef typename iv_types<0>::non_const_type index_type;
-    typedef typename iv_types<0>::const_type const_index_type;
-    typedef typename iv_types<1>::non_const_type value_type;
-    typedef typename iv_types<1>::const_type const_value_type;
-
-    index_value()
-    {
-    }
-
-    index_value(typename tuples::access_traits<Indexable>::parameter_type t0,
-                typename tuples::access_traits<T>::parameter_type t1)
-        : base_t(t0, t1)
-    {
-    }
-
-    // member functions index(), value() (non-const and const)
-    index_type index()
-    {
-        return boost::tuples::get<0>(*this);
-    }
-
-    const_index_type index() const
-    {
-        return boost::tuples::get<0>(*this);
-    }
-
-    value_type value()
-    {
-        return boost::tuples::get<1>(*this);
-    }
-
-    const_value_type value() const
-    {
-        return boost::tuples::get<1>(*this);
-    }
-};
-
-    } // namespace range
-
-namespace range_detail
-{
-
-template<typename Iter>
-struct indexed_iterator_value_type
-{
-    typedef ::boost::range::index_value<
-        typename iterator_reference<Iter>::type,
-        typename iterator_difference<Iter>::type
-    > type;
-};
-
-// Meta-function to get the traversal for the range and therefore iterator
-// returned by the indexed adaptor for a specified iterator type.
-//
-// Random access -> Random access
-// Bidirectional -> Forward
-// Forward -> Forward
-// SinglePass -> SinglePass
-//
-// The rationale for demoting a Bidirectional input to Forward is that the end
-// iterator cannot cheaply have an index computed for it. Therefore I chose to
-// demote to forward traversal. I can maintain the ability to traverse randomly
-// when the input is Random Access since the index for the end iterator is cheap
-// to compute.
-template<typename Iter>
-struct indexed_traversal
-{
-private:
-    typedef typename iterator_traversal<Iter>::type wrapped_traversal;
-
-public:
-
-    typedef typename mpl::if_<
-        is_convertible<wrapped_traversal, random_access_traversal_tag>,
-        random_access_traversal_tag,
-        typename mpl::if_<
-            is_convertible<wrapped_traversal, bidirectional_traversal_tag>,
-            forward_traversal_tag,
-            wrapped_traversal
-        >::type
-    >::type type;
-};
-
-template<typename Iter>
-class indexed_iterator
-    : public iterator_facade<
-            indexed_iterator<Iter>,
-            typename indexed_iterator_value_type<Iter>::type,
-            typename indexed_traversal<Iter>::type,
-            typename indexed_iterator_value_type<Iter>::type,
-            typename iterator_difference<Iter>::type
-        >
-{
-public:
-    typedef Iter wrapped;
-
-private:
-    typedef iterator_facade<
-        indexed_iterator<wrapped>,
-        typename indexed_iterator_value_type<wrapped>::type,
-        typename indexed_traversal<wrapped>::type,
-        typename indexed_iterator_value_type<wrapped>::type,
-        typename iterator_difference<wrapped>::type
-    > base_t;
-
-public:
-    typedef typename base_t::difference_type difference_type;
-    typedef typename base_t::reference reference;
-    typedef typename base_t::difference_type index_type;
-
-    indexed_iterator()
-        : m_it()
-        , m_index()
-    {
-    }
-
-    template<typename OtherWrapped>
-    indexed_iterator(
-        const indexed_iterator<OtherWrapped>& other,
-        typename enable_if<is_convertible<OtherWrapped, wrapped> >::type* = 0
-    )
-        : m_it(other.get())
-        , m_index(other.get_index())
-    {
-    }
-
-    explicit indexed_iterator(wrapped it, index_type index)
-        : m_it(it)
-        , m_index(index)
-    {
-    }
-
-    wrapped get() const
-    {
-        return m_it;
-    }
-
-    index_type get_index() const
-    {
-        return m_index;
-    }
-
- private:
-    friend class boost::iterator_core_access;
-
-    reference dereference() const
-    {
-        return reference(m_index, *m_it);
-    }
-
-    bool equal(const indexed_iterator& other) const
-    {
-        return m_it == other.m_it;
-    }
-
-    void increment()
-    {
-        ++m_index;
-        ++m_it;
-    }
-
-    void decrement()
-    {
-        BOOST_ASSERT_MSG(m_index > 0, "indexed Iterator out of bounds");
-        --m_index;
-        --m_it;
-    }
-
-    void advance(index_type n)
-    {
-        m_index += n;
-        BOOST_ASSERT_MSG(m_index >= 0, "indexed Iterator out of bounds");
-        m_it += n;
-    }
-
-    difference_type distance_to(const indexed_iterator& other) const
-    {
-        return other.m_it - m_it;
-    }
-
-    wrapped m_it;
-    index_type m_index;
-};
-
-template<typename SinglePassRange>
-struct indexed_range
-    : iterator_range<
-        indexed_iterator<
-            typename range_iterator<SinglePassRange>::type
-        >
-    >
-{
-    typedef iterator_range<
-        indexed_iterator<
-            typename range_iterator<SinglePassRange>::type
-        >
-    > base_t;
-
-    BOOST_RANGE_CONCEPT_ASSERT((
-        boost::SinglePassRangeConcept<SinglePassRange>));
-public:
-    typedef indexed_iterator<
-        typename range_iterator<SinglePassRange>::type
-    > iterator;
-
-    // Constructor for non-random access iterators.
-    // This sets the end iterator index to i despite this being incorrect it
-    // is never observable since bidirectional iterators are demoted to
-    // forward iterators.
-    indexed_range(
-        typename base_t::difference_type i,
-        SinglePassRange& r,
-        single_pass_traversal_tag
-        )
-        : base_t(iterator(boost::begin(r), i),
-                 iterator(boost::end(r), i))
-    {
-    }
-
-    indexed_range(
-        typename base_t::difference_type i,
-        SinglePassRange& r,
-        random_access_traversal_tag
-        )
-        : base_t(iterator(boost::begin(r), i),
-                 iterator(boost::end(r), i + boost::size(r)))
-    {
-    }
-};
-
-    } // namespace range_detail 
-
-    using range_detail::indexed_range;
-
-    namespace adaptors
-    {
-
-template<class SinglePassRange>
-inline indexed_range<SinglePassRange>
-operator|(SinglePassRange& r, indexed e)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((
-        boost::SinglePassRangeConcept<SinglePassRange>
-    ));
-    return indexed_range<SinglePassRange>(
-                e.val, r,
-                typename range_traversal<SinglePassRange>::type());
-}
-
-template<class SinglePassRange>
-inline indexed_range<const SinglePassRange>
-operator|(const SinglePassRange& r, indexed e)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((
-        boost::SinglePassRangeConcept<const SinglePassRange>
-    ));
-    return indexed_range<const SinglePassRange>(
-                e.val, r,
-                typename range_traversal<const SinglePassRange>::type());
-}
-
-template<class SinglePassRange>
-inline indexed_range<SinglePassRange>
-index(
-    SinglePassRange& rng,
-    typename range_difference<SinglePassRange>::type index_value = 0)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((
-        boost::SinglePassRangeConcept<SinglePassRange>
-    ));
-    return indexed_range<SinglePassRange>(
-                index_value, rng,
-                typename range_traversal<SinglePassRange>::type());
-}
-
-template<class SinglePassRange>
-inline indexed_range<const SinglePassRange>
-index(
-    const SinglePassRange& rng,
-    typename range_difference<const SinglePassRange>::type index_value = 0)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((
-        boost::SinglePassRangeConcept<SinglePassRange>
-    ));
-    return indexed_range<const SinglePassRange>(
-                index_value, rng,
-                typename range_traversal<const SinglePassRange>::type());
-}
-
-    } // namespace adaptors
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/indirected.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/indirected.hpp
deleted file mode 100644
index e741f17..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/indirected.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_INDIRECTED_HPP
-#define BOOST_RANGE_ADAPTOR_INDIRECTED_HPP
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/indirect_iterator.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class R >
-        struct indirected_range :
-            public boost::iterator_range<
-                        boost::indirect_iterator<
-                            BOOST_DEDUCED_TYPENAME range_iterator<R>::type
-                        >
-                    >
-        {
-        private:
-            typedef boost::iterator_range<
-                        boost::indirect_iterator<
-                            BOOST_DEDUCED_TYPENAME range_iterator<R>::type
-                        >
-                    >
-                base;
-
-        public:
-            explicit indirected_range( R& r )
-                : base( r )
-            { }
-        };
-
-        struct indirect_forwarder {};
-
-        template< class SinglePassRange >
-        inline indirected_range<SinglePassRange>
-        operator|( SinglePassRange& r, indirect_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return indirected_range<SinglePassRange>( r );
-        }
-
-        template< class SinglePassRange >
-        inline indirected_range<const SinglePassRange>
-        operator|( const SinglePassRange& r, indirect_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return indirected_range<const SinglePassRange>( r );
-        }
-
-    } // 'range_detail'
-
-    using range_detail::indirected_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::indirect_forwarder indirected =
-                                            range_detail::indirect_forwarder();
-        }
-
-        template<class SinglePassRange>
-        inline indirected_range<SinglePassRange>
-        indirect(SinglePassRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-            return indirected_range<SinglePassRange>(rng);
-        }
-
-        template<class SinglePassRange>
-        inline indirected_range<const SinglePassRange>
-        indirect(const SinglePassRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return indirected_range<const SinglePassRange>(rng);
-        }
-    } // 'adaptors'
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/map.hpp
deleted file mode 100644
index 2d922ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/map.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_MAP_HPP
-#define BOOST_RANGE_ADAPTOR_MAP_HPP
-
-#include <boost/range/adaptor/transformed.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/reference.hpp>
-#include <boost/range/concepts.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        struct map_keys_forwarder {};
-        struct map_values_forwarder {};
-
-        template< class Map >
-        struct select_first
-        {
-            typedef BOOST_DEDUCED_TYPENAME range_reference<const Map>::type argument_type;
-            typedef const BOOST_DEDUCED_TYPENAME range_value<const Map>::type::first_type& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.first;
-            }
-        };
-
-        template< class Map >
-        struct select_second_mutable
-        {
-            typedef BOOST_DEDUCED_TYPENAME range_reference<Map>::type argument_type;
-            typedef BOOST_DEDUCED_TYPENAME range_value<Map>::type::second_type& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.second;
-            }
-        };
-
-        template< class Map >
-        struct select_second_const
-        {
-            typedef BOOST_DEDUCED_TYPENAME range_reference<const Map>::type argument_type;
-            typedef const BOOST_DEDUCED_TYPENAME range_value<const Map>::type::second_type& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.second;
-            }
-        };
-
-        template<class StdPairRng>
-        class select_first_range
-            : public transformed_range<
-                        select_first<StdPairRng>,
-                        const StdPairRng>
-        {
-            typedef transformed_range<select_first<StdPairRng>, const StdPairRng> base;
-        public:
-            typedef select_first<StdPairRng> transform_fn_type;
-            typedef const StdPairRng source_range_type;
-
-            select_first_range(transform_fn_type fn, source_range_type& rng)
-                : base(fn, rng)
-            {
-            }
-
-            select_first_range(const base& other) : base(other) {}
-        };
-
-        template<class StdPairRng>
-        class select_second_mutable_range
-            : public transformed_range<
-                        select_second_mutable<StdPairRng>,
-                        StdPairRng>
-        {
-            typedef transformed_range<select_second_mutable<StdPairRng>, StdPairRng> base;
-        public:
-            typedef select_second_mutable<StdPairRng> transform_fn_type;
-            typedef StdPairRng source_range_type;
-
-            select_second_mutable_range(transform_fn_type fn, source_range_type& rng)
-                : base(fn, rng)
-            {
-            }
-
-            select_second_mutable_range(const base& other) : base(other) {}
-        };
-
-        template<class StdPairRng>
-        class select_second_const_range
-            : public transformed_range<
-                        select_second_const<StdPairRng>,
-                        const StdPairRng>
-        {
-            typedef transformed_range<select_second_const<StdPairRng>, const StdPairRng> base;
-        public:
-            typedef select_second_const<StdPairRng> transform_fn_type;
-            typedef const StdPairRng source_range_type;
-
-            select_second_const_range(transform_fn_type fn, source_range_type& rng)
-                : base(fn, rng)
-            {
-            }
-
-            select_second_const_range(const base& other) : base(other) {}
-        };
-
-        template< class StdPairRng >
-        inline select_first_range<StdPairRng>
-        operator|( const StdPairRng& r, map_keys_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const StdPairRng>));
-
-            return operator|( r,
-                boost::adaptors::transformed( select_first<StdPairRng>() ) );
-        }
-
-        template< class StdPairRng >
-        inline select_second_mutable_range<StdPairRng>
-        operator|( StdPairRng& r, map_values_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<StdPairRng>));
-
-            return operator|( r,
-                boost::adaptors::transformed( select_second_mutable<StdPairRng>() ) );
-        }
-
-        template< class StdPairRng >
-        inline select_second_const_range<StdPairRng>
-        operator|( const StdPairRng& r, map_values_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const StdPairRng>));
-
-            return operator|( r,
-                boost::adaptors::transformed( select_second_const<StdPairRng>() ) );
-        }
-
-    } // 'range_detail'
-
-    using range_detail::select_first_range;
-    using range_detail::select_second_mutable_range;
-    using range_detail::select_second_const_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::map_keys_forwarder map_keys =
-                                            range_detail::map_keys_forwarder();
-
-            const range_detail::map_values_forwarder map_values =
-                                           range_detail::map_values_forwarder();
-        }
-
-        template<class StdPairRange>
-        inline select_first_range<StdPairRange>
-        keys(const StdPairRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const StdPairRange>));
-
-            return select_first_range<StdPairRange>(
-                range_detail::select_first<StdPairRange>(), rng );
-        }
-
-        template<class StdPairRange>
-        inline select_second_const_range<StdPairRange>
-        values(const StdPairRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const StdPairRange>));
-
-            return select_second_const_range<StdPairRange>(
-                range_detail::select_second_const<StdPairRange>(), rng );
-        }
-
-        template<class StdPairRange>
-        inline select_second_mutable_range<StdPairRange>
-        values(StdPairRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<StdPairRange>));
-
-            return select_second_mutable_range<StdPairRange>(
-                range_detail::select_second_mutable<StdPairRange>(), rng );
-        }
-    } // 'adaptors'
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/replaced.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/replaced.hpp
deleted file mode 100644
index 1950b82..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/replaced.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_REPLACED_IMPL_HPP_INCLUDED
-#define BOOST_RANGE_ADAPTOR_REPLACED_IMPL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/optional/optional.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class Value >
-        class replace_value
-        {
-        public:
-            typedef const Value& result_type;
-            typedef const Value& first_argument_type;
-
-            // Rationale:
-            // The default constructor is required to allow the transform
-            // iterator to properly model the iterator concept.
-            replace_value()
-            {
-            }
-
-            replace_value(const Value& from, const Value& to)
-                :   m_impl(data(from, to))
-            {
-            }
-
-            const Value& operator()(const Value& x) const
-            {
-                return (x == m_impl->m_from) ? m_impl->m_to : x;
-            }
-
-        private:
-            struct data
-            {
-                data(const Value& from, const Value& to)
-                    : m_from(from)
-                    , m_to(to)
-                {
-                }
-
-                Value m_from;
-                Value m_to;
-            };
-            boost::optional<data> m_impl;
-        };
-
-        template< class R >
-        class replaced_range :
-            public boost::iterator_range<
-                boost::transform_iterator<
-                    replace_value< BOOST_DEDUCED_TYPENAME range_value<R>::type >,
-                    BOOST_DEDUCED_TYPENAME range_iterator<R>::type > >
-        {
-        private:
-            typedef replace_value< BOOST_DEDUCED_TYPENAME range_value<R>::type > Fn;
-
-            typedef boost::iterator_range<
-                boost::transform_iterator<
-                    replace_value< BOOST_DEDUCED_TYPENAME range_value<R>::type >,
-                    BOOST_DEDUCED_TYPENAME range_iterator<R>::type > > base_t;
-
-        public:
-            typedef BOOST_DEDUCED_TYPENAME range_value<R>::type value_type;
-
-            replaced_range( R& r, value_type from, value_type to )
-                : base_t( make_transform_iterator( boost::begin(r), Fn(from, to) ),
-                          make_transform_iterator( boost::end(r), Fn(from, to) ) )
-            { }
-        };
-
-        template< class T >
-        class replace_holder : public holder2<T>
-        {
-        public:
-            replace_holder( const T& from, const T& to )
-                : holder2<T>(from, to)
-            { }
-        private:
-            // not assignable
-            void operator=(const replace_holder&);
-        };
-
-        template< class SinglePassRange >
-        inline replaced_range<SinglePassRange>
-        operator|(
-            SinglePassRange& r,
-            const replace_holder<
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return replaced_range<SinglePassRange>(r, f.val1, f.val2);
-        }
-
-        template< class SinglePassRange >
-        inline replaced_range<const SinglePassRange>
-        operator|(
-            const SinglePassRange& r,
-            const replace_holder<
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return replaced_range<const SinglePassRange>(r, f.val1, f.val2);
-        }
-    } // 'range_detail'
-
-    using range_detail::replaced_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::forwarder2<range_detail::replace_holder>
-                replaced =
-                    range_detail::forwarder2<range_detail::replace_holder>();
-        }
-
-        template<class SinglePassRange>
-        inline replaced_range<SinglePassRange>
-        replace(SinglePassRange& rng,
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type from,
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type to)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return replaced_range<SinglePassRange>(rng, from, to);
-        }
-
-        template<class SinglePassRange>
-        inline replaced_range<const SinglePassRange>
-        replace(const SinglePassRange& rng,
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type from,
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type to)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return replaced_range<const SinglePassRange>(rng, from ,to);
-        }
-
-    } // 'adaptors'
-} // 'boost'
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/replaced_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/replaced_if.hpp
deleted file mode 100644
index e425e7d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/replaced_if.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_REPLACED_IF_IMPL_HPP_INCLUDED
-#define BOOST_RANGE_ADAPTOR_REPLACED_IF_IMPL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/optional/optional.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class Pred, class Value >
-        class replace_value_if
-        {
-        public:
-            typedef const Value& result_type;
-            typedef const Value& first_argument_type;
-
-            // Rationale:
-            // required to allow the iterator to be default constructible.
-            replace_value_if()
-            {
-            }
-
-            replace_value_if(const Pred& pred, const Value& to)
-                : m_impl(data(pred, to))
-            {
-            }
-
-            const Value& operator()(const Value& x) const
-            {
-                return m_impl->m_pred(x) ? m_impl->m_to : x;
-            }
-
-        private:
-            struct data
-            {
-                data(const Pred& p, const Value& t)
-                    : m_pred(p), m_to(t)
-                {
-                }
-
-                Pred  m_pred;
-                Value m_to;
-            };
-            boost::optional<data> m_impl;
-        };
-
-        template< class Pred, class R >
-        class replaced_if_range :
-            public boost::iterator_range<
-                boost::transform_iterator<
-                    replace_value_if< Pred, BOOST_DEDUCED_TYPENAME range_value<R>::type >,
-                    BOOST_DEDUCED_TYPENAME range_iterator<R>::type > >
-        {
-        private:
-            typedef replace_value_if< Pred, BOOST_DEDUCED_TYPENAME range_value<R>::type > Fn;
-
-            typedef boost::iterator_range<
-                boost::transform_iterator<
-                    replace_value_if< Pred, BOOST_DEDUCED_TYPENAME range_value<R>::type >,
-                    BOOST_DEDUCED_TYPENAME range_iterator<R>::type > > base_t;
-
-        public:
-            typedef BOOST_DEDUCED_TYPENAME range_value<R>::type value_type;
-
-            replaced_if_range( R& r, const Pred& pred, value_type to )
-                : base_t( make_transform_iterator( boost::begin(r), Fn(pred, to) ),
-                          make_transform_iterator( boost::end(r), Fn(pred, to) ) )
-            { }
-        };
-
-        template< class Pred, class T >
-        class replace_if_holder
-        {
-        public:
-            replace_if_holder( const Pred& pred, const T& to )
-                : m_pred(pred), m_to(to)
-            { }
-
-            const Pred& pred() const { return m_pred; }
-            const T& to() const { return m_to; }
-
-        private:
-            Pred m_pred;
-            T m_to;
-        };
-
-        template< class Pred, class SinglePassRange >
-        inline replaced_if_range<Pred, SinglePassRange>
-        operator|(
-            SinglePassRange& r,
-            const replace_if_holder<
-                Pred,
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return replaced_if_range<Pred, SinglePassRange>(
-                r, f.pred(), f.to());
-        }
-
-        template< class Pred, class SinglePassRange >
-        inline replaced_if_range<Pred, const SinglePassRange>
-        operator|(
-            const SinglePassRange& r,
-            const replace_if_holder<
-                Pred,
-                BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type>& f)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return replaced_if_range<Pred, const SinglePassRange>(
-                r, f.pred(), f.to());
-        }
-    } // 'range_detail'
-
-    using range_detail::replaced_if_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::forwarder2TU<range_detail::replace_if_holder>
-                replaced_if =
-                    range_detail::forwarder2TU<range_detail::replace_if_holder>();
-        }
-
-        template<class Pred, class SinglePassRange>
-        inline replaced_if_range<Pred, SinglePassRange>
-        replace_if(SinglePassRange& rng, Pred pred,
-                   BOOST_DEDUCED_TYPENAME range_value<SinglePassRange>::type to)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return range_detail::replaced_if_range<Pred, SinglePassRange>(
-                rng, pred, to);
-        }
-
-        template<class Pred, class SinglePassRange>
-        inline replaced_if_range<Pred, const SinglePassRange>
-        replace_if(
-            const SinglePassRange& rng,
-            Pred pred,
-            BOOST_DEDUCED_TYPENAME range_value<const SinglePassRange>::type to)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return range_detail::replaced_if_range<Pred, const SinglePassRange>(
-                rng, pred, to);
-        }
-    } // 'adaptors'
-
-} // 'boost'
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/reversed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/reversed.hpp
deleted file mode 100644
index 944fbff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/reversed.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_REVERSED_HPP
-#define BOOST_RANGE_ADAPTOR_REVERSED_HPP
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class R >
-        struct reversed_range : 
-            public boost::iterator_range< 
-                      boost::reverse_iterator<
-                        BOOST_DEDUCED_TYPENAME range_iterator<R>::type 
-                                              >
-                                         >
-        {
-        private:
-            typedef boost::iterator_range< 
-                      boost::reverse_iterator<
-                        BOOST_DEDUCED_TYPENAME range_iterator<R>::type 
-                                              >
-                                         >
-                base;
-            
-        public:
-            typedef boost::reverse_iterator<BOOST_DEDUCED_TYPENAME range_iterator<R>::type> iterator;
-
-            explicit reversed_range( R& r ) 
-                : base( iterator(boost::end(r)), iterator(boost::begin(r)) )
-            { }
-        };
-
-        struct reverse_forwarder {};
-        
-        template< class BidirectionalRange >
-        inline reversed_range<BidirectionalRange> 
-        operator|( BidirectionalRange& r, reverse_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                BidirectionalRangeConcept<BidirectionalRange>));
-
-            return reversed_range<BidirectionalRange>( r );
-        }
-
-        template< class BidirectionalRange >
-        inline reversed_range<const BidirectionalRange> 
-        operator|( const BidirectionalRange& r, reverse_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                BidirectionalRangeConcept<const BidirectionalRange>));
-
-            return reversed_range<const BidirectionalRange>( r ); 
-        }
-        
-    } // 'range_detail'
-    
-    using range_detail::reversed_range;
-
-    namespace adaptors
-    { 
-        namespace
-        {
-            const range_detail::reverse_forwarder reversed = 
-                                            range_detail::reverse_forwarder();
-        }
-        
-        template<class BidirectionalRange>
-        inline reversed_range<BidirectionalRange>
-        reverse(BidirectionalRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                BidirectionalRangeConcept<BidirectionalRange>));
-
-            return reversed_range<BidirectionalRange>(rng);
-        }
-        
-        template<class BidirectionalRange>
-        inline reversed_range<const BidirectionalRange>
-        reverse(const BidirectionalRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                BidirectionalRangeConcept<const BidirectionalRange>));
-
-            return reversed_range<const BidirectionalRange>(rng);
-        }
-    } // 'adaptors'
-    
-} // 'boost'
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/sliced.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/sliced.hpp
deleted file mode 100644
index a09cbd0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/sliced.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_SLICED_HPP
-#define BOOST_RANGE_ADAPTOR_SLICED_HPP
-
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/concepts.hpp>
-
-namespace boost
-{
-    namespace adaptors
-    {
-        struct sliced
-        {
-            sliced(std::size_t t_, std::size_t u_)
-                : t(t_), u(u_) {}
-            std::size_t t;
-            std::size_t u;
-        };
-
-        template< class RandomAccessRange >
-        class sliced_range : public boost::iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type >
-        {
-            typedef boost::iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type > base_t;
-        public:
-            template<typename Rng, typename T, typename U>
-            sliced_range(Rng& rng, T t, U u)
-                : base_t(boost::next(boost::begin(rng), t),
-                         boost::next(boost::begin(rng), u))
-            {
-            }
-        };
-
-        template< class RandomAccessRange >
-        inline sliced_range<RandomAccessRange>
-        slice( RandomAccessRange& rng, std::size_t t, std::size_t u )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                RandomAccessRangeConcept<RandomAccessRange>));
-
-            BOOST_ASSERT( t <= u && "error in slice indices" );
-            BOOST_ASSERT( static_cast<std::size_t>(boost::size(rng)) >= u &&
-                          "second slice index out of bounds" );
-
-            return sliced_range<RandomAccessRange>(rng, t, u);
-        }
-
-        template< class RandomAccessRange >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const RandomAccessRange>::type >
-        slice( const RandomAccessRange& rng, std::size_t t, std::size_t u )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                RandomAccessRangeConcept<const RandomAccessRange>));
-
-            BOOST_ASSERT( t <= u && "error in slice indices" );
-            BOOST_ASSERT( static_cast<std::size_t>(boost::size(rng)) >= u &&
-                          "second slice index out of bounds" );
-
-            return sliced_range<const RandomAccessRange>(rng, t, u);
-        }
-
-        template< class RandomAccessRange >
-        inline sliced_range<RandomAccessRange>
-        operator|( RandomAccessRange& r, const sliced& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                RandomAccessRangeConcept<RandomAccessRange>));
-
-            return sliced_range<RandomAccessRange>( r, f.t, f.u );
-        }
-
-        template< class RandomAccessRange >
-        inline sliced_range<const RandomAccessRange>
-        operator|( const RandomAccessRange& r, const sliced& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                RandomAccessRangeConcept<const RandomAccessRange>));
-
-            return sliced_range<const RandomAccessRange>( r, f.t, f.u );
-        }
-
-    } // namespace adaptors
-    using adaptors::sliced_range;
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/strided.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/strided.hpp
deleted file mode 100644
index 560b820..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/strided.hpp
+++ /dev/null
@@ -1,697 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 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/range/
-//
-#ifndef BOOST_RANGE_ADAPTOR_STRIDED_HPP_INCLUDED
-#define BOOST_RANGE_ADAPTOR_STRIDED_HPP_INCLUDED
-
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <iterator>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // strided_iterator for wrapping a forward traversal iterator
-        template<class BaseIterator, class Category>
-        class strided_iterator
-            : public iterator_facade<
-                strided_iterator<BaseIterator, Category>
-                , typename iterator_value<BaseIterator>::type
-                , forward_traversal_tag
-                , typename iterator_reference<BaseIterator>::type
-                , typename iterator_difference<BaseIterator>::type
-            >
-        {
-            friend class ::boost::iterator_core_access;
-
-            typedef iterator_facade<
-                strided_iterator<BaseIterator, Category>
-                , typename iterator_value<BaseIterator>::type
-                , forward_traversal_tag
-                , typename iterator_reference<BaseIterator>::type
-                , typename iterator_difference<BaseIterator>::type
-            > super_t;
-
-        public:
-            typedef typename super_t::difference_type difference_type;
-            typedef typename super_t::reference reference;
-            typedef BaseIterator base_iterator;
-            typedef std::forward_iterator_tag iterator_category;
-
-            strided_iterator()
-                : m_it()
-                , m_last()
-                , m_stride()
-            {
-            }
-
-            strided_iterator(base_iterator   it,
-                             base_iterator   last,
-                             difference_type stride)
-                : m_it(it)
-                , m_last(last)
-                , m_stride(stride)
-            {
-            }
-
-            template<class OtherIterator>
-            strided_iterator(
-                const strided_iterator<OtherIterator, Category>& other,
-                typename enable_if_convertible<
-                    OtherIterator,
-                    base_iterator
-                >::type* = 0
-            )
-                : m_it(other.base())
-                , m_last(other.base_end())
-                , m_stride(other.get_stride())
-            {
-            }
-
-            base_iterator base() const
-            {
-                return m_it;
-            }
-
-            base_iterator base_end() const
-            {
-                return m_last;
-            }
-
-            difference_type get_stride() const
-            {
-                return m_stride;
-            }
-
-        private:
-            void increment()
-            {
-                for (difference_type i = 0;
-                        (m_it != m_last) && (i < m_stride); ++i)
-                {
-                    ++m_it;
-                }
-            }
-
-            reference dereference() const
-            {
-                return *m_it;
-            }
-
-            template<class OtherIterator>
-            bool equal(
-                const strided_iterator<OtherIterator, Category>& other,
-                typename enable_if_convertible<
-                    OtherIterator,
-                    base_iterator
-                >::type* = 0) const
-            {
-                return m_it == other.m_it;
-            }
-
-            base_iterator m_it;
-            base_iterator m_last;
-            difference_type m_stride;
-        };
-
-        // strided_iterator for wrapping a bidirectional iterator
-        template<class BaseIterator>
-        class strided_iterator<BaseIterator, bidirectional_traversal_tag>
-            : public iterator_facade<
-                strided_iterator<BaseIterator, bidirectional_traversal_tag>
-                , typename iterator_value<BaseIterator>::type
-                , bidirectional_traversal_tag
-                , typename iterator_reference<BaseIterator>::type
-                , typename iterator_difference<BaseIterator>::type
-            >
-        {
-            friend class ::boost::iterator_core_access;
-
-            typedef iterator_facade<
-                strided_iterator<BaseIterator, bidirectional_traversal_tag>
-                , typename iterator_value<BaseIterator>::type
-                , bidirectional_traversal_tag
-                , typename iterator_reference<BaseIterator>::type
-                , typename iterator_difference<BaseIterator>::type
-            > super_t;
-        public:
-            typedef typename super_t::difference_type difference_type;
-            typedef typename super_t::reference reference;
-            typedef BaseIterator base_iterator;
-            typedef typename boost::make_unsigned<difference_type>::type
-                        size_type;
-            typedef std::bidirectional_iterator_tag iterator_category;
-
-            strided_iterator()
-                : m_it()
-                , m_offset()
-                , m_index()
-                , m_stride()
-            {
-            }
-
-            strided_iterator(base_iterator   it,
-                             size_type       index,
-                             difference_type stride)
-                : m_it(it)
-                , m_offset()
-                , m_index(index)
-                , m_stride(stride)
-            {
-                if (stride && ((m_index % stride) != 0))
-                    m_index += (stride - (m_index % stride));
-            }
-
-            template<class OtherIterator>
-            strided_iterator(
-                const strided_iterator<
-                    OtherIterator,
-                    bidirectional_traversal_tag
-                >& other,
-                typename enable_if_convertible<
-                    OtherIterator,
-                    base_iterator
-                >::type* = 0
-            )
-                : m_it(other.base())
-                , m_offset(other.get_offset())
-                , m_index(other.get_index())
-                , m_stride(other.get_stride())
-            {
-            }
-
-            base_iterator base() const
-            {
-                return m_it;
-            }
-
-            difference_type get_offset() const
-            {
-                return m_offset;
-            }
-
-            size_type get_index() const
-            {
-                return m_index;
-            }
-
-            difference_type get_stride() const
-            {
-                return m_stride;
-            }
-
-        private:
-            void increment()
-            {
-                m_offset += m_stride;
-            }
-
-            void decrement()
-            {
-                m_offset -= m_stride;
-            }
-
-            reference dereference() const
-            {
-                update();
-                return *m_it;
-            }
-
-            void update() const
-            {
-                std::advance(m_it, m_offset);
-                m_index += m_offset;
-                m_offset = 0;
-            }
-
-            template<class OtherIterator>
-            bool equal(
-                const strided_iterator<
-                    OtherIterator,
-                    bidirectional_traversal_tag
-                >& other,
-                typename enable_if_convertible<
-                    OtherIterator,
-                    base_iterator
-                >::type* = 0) const
-            {
-                return (m_index + m_offset) ==
-                            (other.get_index() + other.get_offset());
-            }
-
-            mutable base_iterator m_it;
-            mutable difference_type m_offset;
-            mutable size_type m_index;
-            difference_type m_stride;
-        };
-
-        // strided_iterator implementation for wrapping a random access iterator
-        template<class BaseIterator>
-        class strided_iterator<BaseIterator, random_access_traversal_tag>
-            : public iterator_facade<
-                strided_iterator<BaseIterator, random_access_traversal_tag>
-                , typename iterator_value<BaseIterator>::type
-                , random_access_traversal_tag
-                , typename iterator_reference<BaseIterator>::type
-                , typename iterator_difference<BaseIterator>::type
-            >
-        {
-            friend class ::boost::iterator_core_access;
-
-            typedef iterator_facade<
-                strided_iterator<BaseIterator, random_access_traversal_tag>
-                , typename iterator_value<BaseIterator>::type
-                , random_access_traversal_tag
-                , typename iterator_reference<BaseIterator>::type
-                , typename iterator_difference<BaseIterator>::type
-            > super_t;
-        public:
-            typedef typename super_t::difference_type difference_type;
-            typedef typename super_t::reference reference;
-            typedef BaseIterator base_iterator;
-            typedef std::random_access_iterator_tag iterator_category;
-
-            strided_iterator()
-                : m_it()
-                , m_first()
-                , m_index(0)
-                , m_stride()
-            {
-            }
-
-            strided_iterator(
-                base_iterator   first,
-                base_iterator   it,
-                difference_type stride
-            )
-                : m_it(it)
-                , m_first(first)
-                , m_index(stride ? (it - first) : difference_type())
-                , m_stride(stride)
-            {
-                if (stride && ((m_index % stride) != 0))
-                    m_index += (stride - (m_index % stride));
-            }
-
-            template<class OtherIterator>
-            strided_iterator(
-                const strided_iterator<
-                    OtherIterator,
-                    random_access_traversal_tag
-                >& other,
-                typename enable_if_convertible<
-                    OtherIterator,
-                    base_iterator
-                >::type* = 0
-            )
-                : m_it(other.base())
-                , m_first(other.base_begin())
-                , m_index(other.get_index())
-                , m_stride(other.get_stride())
-            {
-            }
-
-            base_iterator base_begin() const
-            {
-                return m_first;
-            }
-
-            base_iterator base() const
-            {
-                return m_it;
-            }
-
-            difference_type get_stride() const
-            {
-                return m_stride;
-            }
-
-            difference_type get_index() const
-            {
-                return m_index;
-            }
-
-        private:
-            void increment()
-            {
-                m_index += m_stride;
-            }
-
-            void decrement()
-            {
-                m_index -= m_stride;
-            }
-
-            void advance(difference_type offset)
-            {
-                m_index += (m_stride * offset);
-            }
-
-            // Implementation detail: only update the actual underlying iterator
-            // at the point of dereference. This is done so that the increment
-            // and decrement can overshoot the valid sequence as is required
-            // by striding. Since we can do all comparisons just with the index
-            // simply, and all dereferences must be within the valid range.
-            void update() const
-            {
-                m_it = m_first + m_index;
-            }
-
-            template<class OtherIterator>
-            difference_type distance_to(
-                const strided_iterator<
-                    OtherIterator,
-                    random_access_traversal_tag
-                >& other,
-                typename enable_if_convertible<
-                            OtherIterator, base_iterator>::type* = 0) const
-            {
-                BOOST_ASSERT((other.m_index - m_index) % m_stride == difference_type());
-                return (other.m_index - m_index) / m_stride;
-            }
-
-            template<class OtherIterator>
-            bool equal(
-                const strided_iterator<
-                    OtherIterator,
-                    random_access_traversal_tag
-                >& other,
-                typename enable_if_convertible<
-                            OtherIterator, base_iterator>::type* = 0) const
-            {
-                return m_index == other.m_index;
-            }
-
-            reference dereference() const
-            {
-                update();
-                return *m_it;
-            }
-
-        private:
-            mutable base_iterator m_it;
-            base_iterator m_first;
-            difference_type m_index;
-            difference_type m_stride;
-        };
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<Rng>::type,
-            forward_traversal_tag
-        >
-        make_begin_strided_iterator(
-            Rng& rng,
-            Difference stride,
-            forward_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<Rng>::type,
-                forward_traversal_tag
-            >(boost::begin(rng), boost::end(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<const Rng>::type,
-            forward_traversal_tag
-        >
-        make_begin_strided_iterator(
-            const Rng& rng,
-            Difference stride,
-            forward_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<const Rng>::type,
-                forward_traversal_tag
-            >(boost::begin(rng), boost::end(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<Rng>::type,
-            forward_traversal_tag
-        >
-        make_end_strided_iterator(
-            Rng& rng,
-            Difference stride,
-            forward_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<Rng>::type,
-                forward_traversal_tag
-            >(boost::end(rng), boost::end(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<const Rng>::type,
-            forward_traversal_tag
-        >
-        make_end_strided_iterator(
-            const Rng& rng,
-            Difference stride,
-            forward_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<const Rng>::type,
-                forward_traversal_tag
-            >(boost::end(rng), boost::end(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<Rng>::type,
-            bidirectional_traversal_tag
-        >
-        make_begin_strided_iterator(
-            Rng& rng,
-            Difference stride,
-            bidirectional_traversal_tag)
-        {
-            typedef typename range_difference<Rng>::type difference_type;
-
-            return strided_iterator<
-                typename range_iterator<Rng>::type,
-                bidirectional_traversal_tag
-            >(boost::begin(rng), difference_type(), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<const Rng>::type,
-            bidirectional_traversal_tag
-        >
-        make_begin_strided_iterator(
-            const Rng& rng,
-            Difference stride,
-            bidirectional_traversal_tag)
-        {
-            typedef typename range_difference<const Rng>::type difference_type;
-
-            return strided_iterator<
-                typename range_iterator<const Rng>::type,
-                bidirectional_traversal_tag
-            >(boost::begin(rng), difference_type(), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<Rng>::type,
-            bidirectional_traversal_tag
-        >
-        make_end_strided_iterator(
-            Rng& rng,
-            Difference stride,
-            bidirectional_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<Rng>::type,
-                bidirectional_traversal_tag
-            >(boost::end(rng), boost::size(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<const Rng>::type,
-            bidirectional_traversal_tag
-        >
-        make_end_strided_iterator(
-            const Rng& rng,
-            Difference stride,
-            bidirectional_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<const Rng>::type,
-                bidirectional_traversal_tag
-            >(boost::end(rng), boost::size(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<Rng>::type,
-            random_access_traversal_tag
-        >
-        make_begin_strided_iterator(
-            Rng& rng,
-            Difference stride,
-            random_access_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<Rng>::type,
-                random_access_traversal_tag
-            >(boost::begin(rng), boost::begin(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<const Rng>::type,
-            random_access_traversal_tag
-        >
-        make_begin_strided_iterator(
-            const Rng& rng,
-            Difference stride,
-            random_access_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<const Rng>::type,
-                random_access_traversal_tag
-            >(boost::begin(rng), boost::begin(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<Rng>::type,
-            random_access_traversal_tag
-        >
-        make_end_strided_iterator(
-            Rng& rng,
-            Difference stride,
-            random_access_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<Rng>::type,
-                random_access_traversal_tag
-            >(boost::begin(rng), boost::end(rng), stride);
-        }
-
-        template<class Rng, class Difference> inline
-        strided_iterator<
-            typename range_iterator<const Rng>::type,
-            random_access_traversal_tag
-        >
-        make_end_strided_iterator(
-            const Rng& rng,
-            Difference stride,
-            random_access_traversal_tag)
-        {
-            return strided_iterator<
-                typename range_iterator<const Rng>::type,
-                random_access_traversal_tag
-            >(boost::begin(rng), boost::end(rng), stride);
-        }
-
-        template<
-            class Rng,
-            class Category =
-                typename iterators::pure_iterator_traversal<
-                    typename range_iterator<Rng>::type
-                >::type
-        >
-        class strided_range
-            : public iterator_range<
-                range_detail::strided_iterator<
-                    typename range_iterator<Rng>::type,
-                    Category
-                >
-            >
-        {
-            typedef range_detail::strided_iterator<
-                typename range_iterator<Rng>::type,
-                Category
-            > iter_type;
-            typedef iterator_range<iter_type> super_t;
-        public:
-            template<class Difference>
-            strided_range(Difference stride, Rng& rng)
-                : super_t(
-                    range_detail::make_begin_strided_iterator(
-                        rng, stride,
-                        typename iterator_traversal<
-                            typename range_iterator<Rng>::type
-                        >::type()),
-                    range_detail::make_end_strided_iterator(
-                        rng, stride,
-                        typename iterator_traversal<
-                            typename range_iterator<Rng>::type
-                        >::type()))
-            {
-                BOOST_ASSERT( stride >= 0 );
-            }
-        };
-
-        template<class Difference>
-        class strided_holder : public holder<Difference>
-        {
-        public:
-            explicit strided_holder(Difference value)
-                : holder<Difference>(value)
-            {
-            }
-        };
-
-        template<class Rng, class Difference>
-        inline strided_range<Rng>
-        operator|(Rng& rng, const strided_holder<Difference>& stride)
-        {
-            return strided_range<Rng>(stride.val, rng);
-        }
-
-        template<class Rng, class Difference>
-        inline strided_range<const Rng>
-        operator|(const Rng& rng, const strided_holder<Difference>& stride)
-        {
-            return strided_range<const Rng>(stride.val, rng);
-        }
-
-    } // namespace range_detail
-
-    using range_detail::strided_range;
-
-    namespace adaptors
-    {
-
-        namespace
-        {
-            const range_detail::forwarder<range_detail::strided_holder>
-                strided = range_detail::forwarder<
-                            range_detail::strided_holder>();
-        }
-
-        template<class Range, class Difference>
-        inline strided_range<Range>
-        stride(Range& rng, Difference step)
-        {
-            return strided_range<Range>(step, rng);
-        }
-
-        template<class Range, class Difference>
-        inline strided_range<const Range>
-        stride(const Range& rng, Difference step)
-        {
-            return strided_range<const Range>(step, rng);
-        }
-
-    } // namespace 'adaptors'
-} // namespace 'boost'
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/tokenized.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/tokenized.hpp
deleted file mode 100644
index f0aa12e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/tokenized.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 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_ADAPTOR_TOKENIZED_HPP
-#define BOOST_RANGE_ADAPTOR_TOKENIZED_HPP
-
-#include <boost/regex.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-        template< class R >
-        struct tokenized_range : 
-            public boost::iterator_range< 
-                      boost::regex_token_iterator< 
-                          BOOST_DEDUCED_TYPENAME range_iterator<R>::type 
-                                              >
-                                         >
-        {
-        private:
-            typedef           
-                boost::regex_token_iterator< 
-                          BOOST_DEDUCED_TYPENAME range_iterator<R>::type 
-                                            >
-                regex_iter;
-            
-            typedef BOOST_DEDUCED_TYPENAME regex_iter::regex_type 
-                regex_type;
-        
-            typedef boost::iterator_range<regex_iter> 
-                base;
-
-        public:
-            template< class Regex, class Submatch, class Flag >
-            tokenized_range( R& r, const Regex& re, const Submatch& sub, Flag f )
-              : base( regex_iter( boost::begin(r), boost::end(r), 
-                                  regex_type(re), sub, f ),
-                      regex_iter() )
-            { }
-        };
-
-        template< class T, class U, class V >
-        struct regex_holder
-        {
-            T  re;
-            U  sub;
-            V  f;
-
-            regex_holder( const T& rex, const U& subm, V flag ) :
-                re(rex), sub(subm), f(flag)
-            { }
-        private:
-            // Not assignable
-            void operator=(const regex_holder&);
-        };
-
-        struct regex_forwarder
-        {           
-            template< class Regex >
-            regex_holder<Regex,int,regex_constants::match_flag_type>
-            operator()( const Regex& re, 
-                        int submatch = 0,    
-                        regex_constants::match_flag_type f = 
-                            regex_constants::match_default ) const
-            {
-                return regex_holder<Regex,int,
-                           regex_constants::match_flag_type>( re, submatch, f );
-            }
-             
-            template< class Regex, class Submatch >
-            regex_holder<Regex,Submatch,regex_constants::match_flag_type> 
-            operator()( const Regex& re, 
-                        const Submatch& sub, 
-                        regex_constants::match_flag_type f = 
-                            regex_constants::match_default ) const
-            {
-                return regex_holder<Regex,Submatch,
-                           regex_constants::match_flag_type>( re, sub, f ); 
-            }
-        };
-        
-        template< class BidirectionalRng, class R, class S, class F >
-        inline tokenized_range<BidirectionalRng> 
-        operator|( BidirectionalRng& r, 
-                   const regex_holder<R,S,F>& f )
-        {
-            return tokenized_range<BidirectionalRng>( r, f.re, f.sub, f.f );   
-        }
-
-        template< class BidirectionalRng, class R, class S, class F  >
-        inline tokenized_range<const BidirectionalRng> 
-        operator|( const BidirectionalRng& r, 
-                   const regex_holder<R,S,F>& f )
-        {
-            return tokenized_range<const BidirectionalRng>( r, f.re, f.sub, f.f );
-        }
-        
-    } // 'range_detail'
-
-    using range_detail::tokenized_range;
-
-    namespace adaptors
-    { 
-        namespace
-        {
-            const range_detail::regex_forwarder tokenized = 
-                    range_detail::regex_forwarder();
-        }
-        
-        template<class BidirectionalRange, class Regex, class Submatch, class Flag>
-        inline tokenized_range<BidirectionalRange>
-        tokenize(BidirectionalRange& rng, const Regex& reg, const Submatch& sub, Flag f)
-        {
-            return tokenized_range<BidirectionalRange>(rng, reg, sub, f);
-        }
-        
-        template<class BidirectionalRange, class Regex, class Submatch, class Flag>
-        inline tokenized_range<const BidirectionalRange>
-        tokenize(const BidirectionalRange& rng, const Regex& reg, const Submatch& sub, Flag f)
-        {
-            return tokenized_range<const BidirectionalRange>(rng, reg, sub, f);
-        }
-    } // 'adaptors'
-    
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/transformed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/transformed.hpp
deleted file mode 100644
index 428ff4b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/transformed.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_TRANSFORMED_HPP
-#define BOOST_RANGE_ADAPTOR_TRANSFORMED_HPP
-
-#include <boost/range/adaptor/argument_fwd.hpp>
-#include <boost/range/detail/default_constructible_unary_fn.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/utility/result_of.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // A type generator to produce the transform_iterator type conditionally
-        // including a wrapped predicate as appropriate.
-        template<typename P, typename It>
-        struct transform_iterator_gen
-        {
-            typedef transform_iterator<
-                typename default_constructible_unary_fn_gen<
-                    P,
-                    typename transform_iterator<P, It>::reference
-                >::type,
-                It
-            > type;
-        };
-
-        template< class F, class R >
-        struct transformed_range :
-            public boost::iterator_range<
-                typename transform_iterator_gen<
-                    F, typename range_iterator<R>::type>::type>
-        {
-        private:
-            typedef typename transform_iterator_gen<
-                F, typename range_iterator<R>::type>::type transform_iter_t;
-
-            typedef boost::iterator_range<transform_iter_t> base;
-
-        public:
-            typedef typename default_constructible_unary_fn_gen<
-                F,
-                typename transform_iterator<
-                    F,
-                    typename range_iterator<R>::type
-                >::reference
-            >::type transform_fn_type;
-
-            typedef R source_range_type;
-
-            transformed_range(transform_fn_type f, R& r)
-                : base(transform_iter_t(boost::begin(r), f),
-                       transform_iter_t(boost::end(r), f))
-            {
-            }
-        };
-
-        template< class T >
-        struct transform_holder : holder<T>
-        {
-            transform_holder( T r ) : holder<T>(r)
-            {
-            }
-        };
-
-        template< class SinglePassRange, class UnaryFunction >
-        inline transformed_range<UnaryFunction,SinglePassRange>
-        operator|( SinglePassRange& r,
-                   const transform_holder<UnaryFunction>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return transformed_range<UnaryFunction,SinglePassRange>( f.val, r );
-        }
-
-        template< class SinglePassRange, class UnaryFunction >
-        inline transformed_range<UnaryFunction, const SinglePassRange>
-        operator|( const SinglePassRange& r,
-                   const transform_holder<UnaryFunction>& f )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-           return transformed_range<UnaryFunction, const SinglePassRange>(
-               f.val, r);
-        }
-
-    } // 'range_detail'
-
-    using range_detail::transformed_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::forwarder<range_detail::transform_holder>
-                    transformed =
-                      range_detail::forwarder<range_detail::transform_holder>();
-        }
-
-        template<class UnaryFunction, class SinglePassRange>
-        inline transformed_range<UnaryFunction, SinglePassRange>
-        transform(SinglePassRange& rng, UnaryFunction fn)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            return transformed_range<UnaryFunction, SinglePassRange>(fn, rng);
-        }
-
-        template<class UnaryFunction, class SinglePassRange>
-        inline transformed_range<UnaryFunction, const SinglePassRange>
-        transform(const SinglePassRange& rng, UnaryFunction fn)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            return transformed_range<UnaryFunction, const SinglePassRange>(
-                fn, rng);
-        }
-    } // 'adaptors'
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/type_erased.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/type_erased.hpp
deleted file mode 100644
index ba5b159..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/type_erased.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ADAPTOR_TYPE_ERASED_HPP_INCLUDED
-#define BOOST_RANGE_ADAPTOR_TYPE_ERASED_HPP_INCLUDED
-
-#include <boost/range/reference.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/range/any_range.hpp>
-#include <boost/range/concepts.hpp>
-
-namespace boost
-{
-    namespace adaptors
-    {
-        template<
-            class Value = use_default
-          , class Traversal = use_default
-          , class Reference = use_default
-          , class Difference = use_default
-          , class Buffer = use_default
-        >
-        struct type_erased
-        {
-        };
-
-        template<
-            class SinglePassRange
-          , class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        typename any_range_type_generator<
-            SinglePassRange
-          , Value
-          , Traversal
-          , Reference
-          , Difference
-          , Buffer
-        >::type
-        operator|(SinglePassRange& rng,
-                  type_erased<
-                        Value
-                      , Traversal
-                      , Reference
-                      , Difference
-                      , Buffer
-                    >)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            typedef typename any_range_type_generator<
-                SinglePassRange
-              , Value
-              , Traversal
-              , Reference
-              , Difference
-              , Buffer
-            >::type range_type;
-            return range_type(boost::begin(rng), boost::end(rng));
-        }
-
-        template<
-            class SinglePassRange
-          , class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        typename any_range_type_generator<
-            const SinglePassRange
-          , Value
-          , Traversal
-          , Reference
-          , Difference
-          , Buffer
-        >::type
-        operator|(const SinglePassRange& rng,
-                  type_erased<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , Buffer
-                    >)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            typedef typename any_range_type_generator<
-                const SinglePassRange
-              , Value
-              , Traversal
-              , Reference
-              , Difference
-              , Buffer
-            >::type range_type;
-            return range_type(boost::begin(rng), boost::end(rng));
-        }
-
-        template<
-            class SinglePassRange
-          , class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        typename any_range_type_generator<
-            SinglePassRange
-          , Value
-          , Traversal
-          , Reference
-          , Difference
-          , Buffer
-        >::type
-        type_erase(SinglePassRange& rng
-                 , type_erased<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , Buffer
-                    > = type_erased<>()
-                )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<SinglePassRange>));
-
-            typedef typename any_range_type_generator<
-                SinglePassRange
-              , Value
-              , Traversal
-              , Reference
-              , Difference
-              , Buffer
-            >::type range_type;
-
-            return range_type(boost::begin(rng), boost::end(rng));
-        }
-
-        template<
-            class SinglePassRange
-          , class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        typename any_range_type_generator<
-            const SinglePassRange
-          , Value
-          , Traversal
-          , Reference
-          , Difference
-          , Buffer
-        >::type
-        type_erase(const SinglePassRange& rng
-                 , type_erased<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , Buffer
-                    > = type_erased<>()
-                )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-            typedef typename any_range_type_generator<
-                const SinglePassRange
-              , Value
-              , Traversal
-              , Reference
-              , Difference
-              , Buffer
-            >::type range_type;
-
-            return range_type(boost::begin(rng), boost::end(rng));
-        }
-    }
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/uniqued.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/uniqued.hpp
deleted file mode 100644
index 29101d3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptor/uniqued.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Thorsten Ottosen, Neil Groves 2006 - 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/range/
-//
-
-#ifndef BOOST_RANGE_ADAPTOR_UNIQUED_IMPL_HPP
-#define BOOST_RANGE_ADAPTOR_UNIQUED_IMPL_HPP
-
-#include <boost/range/adaptor/adjacent_filtered.hpp>
-#include <boost/range/concepts.hpp>
-
-namespace boost
-{
-
-    namespace range_detail
-    {
-        struct unique_forwarder { };
-
-        struct unique_not_equal_to
-        {
-            typedef bool result_type;
-
-            template< class T >
-            bool operator()( const T& l, const T& r ) const
-            {
-                return !(l == r);
-            }
-        };
-
-        template<class ForwardRng>
-        class uniqued_range : public adjacent_filtered_range<unique_not_equal_to, ForwardRng, true>
-        {
-            typedef adjacent_filtered_range<unique_not_equal_to, ForwardRng, true> base;
-        public:
-            explicit uniqued_range(ForwardRng& rng)
-                : base(unique_not_equal_to(), rng)
-            {
-            }
-        };
-
-        template< class ForwardRng >
-        inline uniqued_range<ForwardRng>
-        operator|( ForwardRng& r,
-                   unique_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRng>));
-            return uniqued_range<ForwardRng>(r);
-        }
-
-        template< class ForwardRng >
-        inline uniqued_range<const ForwardRng>
-        operator|( const ForwardRng& r,
-                   unique_forwarder )
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRng>));
-            return uniqued_range<const ForwardRng>(r);
-        }
-
-    } // 'range_detail'
-
-    using range_detail::uniqued_range;
-
-    namespace adaptors
-    {
-        namespace
-        {
-            const range_detail::unique_forwarder uniqued =
-                       range_detail::unique_forwarder();
-        }
-
-        template<class ForwardRange>
-        inline uniqued_range<ForwardRange>
-        unique(ForwardRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-            return uniqued_range<ForwardRange>(rng);
-        }
-
-        template<class ForwardRange>
-        inline uniqued_range<const ForwardRange>
-        unique(const ForwardRange& rng)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT((
-                ForwardRangeConcept<const ForwardRange>));
-
-            return uniqued_range<const ForwardRange>(rng);
-        }
-    } // 'adaptors'
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptors.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptors.hpp
deleted file mode 100644
index 0530c4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/adaptors.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2007.
-//  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_ADAPTORS_HPP
-#define BOOST_RANGE_ADAPTORS_HPP
-
-#include <boost/range/adaptor/adjacent_filtered.hpp>
-#include <boost/range/adaptor/copied.hpp>
-#include <boost/range/adaptor/filtered.hpp>
-#include <boost/range/adaptor/formatted.hpp>
-#include <boost/range/adaptor/indexed.hpp>
-#include <boost/range/adaptor/indirected.hpp>
-#include <boost/range/adaptor/map.hpp>
-#include <boost/range/adaptor/replaced.hpp>
-#include <boost/range/adaptor/replaced_if.hpp>
-#include <boost/range/adaptor/reversed.hpp>
-#include <boost/range/adaptor/sliced.hpp>
-#include <boost/range/adaptor/strided.hpp>
-#include <boost/range/adaptor/tokenized.hpp>
-#include <boost/range/adaptor/transformed.hpp>
-#include <boost/range/adaptor/uniqued.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm.hpp
deleted file mode 100644
index 30dc583..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file algorithm.hpp
-///   Includes the range-based versions of the algorithms in the
-///   C++ standard header file <algorithm>
-//
-/////////////////////////////////////////////////////////////////////////////
-
-// Copyright 2009 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)
-//
-// Acknowledgements:
-// This code uses combinations of ideas, techniques and code snippets
-// from: Thorsten Ottosen, Eric Niebler, Jeremy Siek,
-// and Vladimir Prus'
-//
-// The original mutating algorithms that served as the first version
-// were originally written by Vladimir Prus'
-// <ghost at cs.msu.su> code from Boost Wiki
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#ifndef BOOST_RANGE_ALGORITHM_HPP_INCLUDED_01012009
-#define BOOST_RANGE_ALGORITHM_HPP_INCLUDED_01012009
-
-#include <boost/range/concepts.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/next_prior.hpp>
-#include <algorithm>
-
-// Non-mutating algorithms
-#include <boost/range/algorithm/adjacent_find.hpp>
-#include <boost/range/algorithm/count.hpp>
-#include <boost/range/algorithm/count_if.hpp>
-#include <boost/range/algorithm/equal.hpp>
-#include <boost/range/algorithm/for_each.hpp>
-#include <boost/range/algorithm/find.hpp>
-#include <boost/range/algorithm/find_end.hpp>
-#include <boost/range/algorithm/find_first_of.hpp>
-#include <boost/range/algorithm/find_if.hpp>
-#include <boost/range/algorithm/lexicographical_compare.hpp>
-#include <boost/range/algorithm/mismatch.hpp>
-#include <boost/range/algorithm/search.hpp>
-#include <boost/range/algorithm/search_n.hpp>
-
-// Mutating algorithms
-#include <boost/range/algorithm/copy.hpp>
-#include <boost/range/algorithm/copy_backward.hpp>
-#include <boost/range/algorithm/fill.hpp>
-#include <boost/range/algorithm/fill_n.hpp>
-#include <boost/range/algorithm/generate.hpp>
-#include <boost/range/algorithm/inplace_merge.hpp>
-#include <boost/range/algorithm/merge.hpp>
-#include <boost/range/algorithm/nth_element.hpp>
-#include <boost/range/algorithm/partial_sort.hpp>
-#include <boost/range/algorithm/partial_sort_copy.hpp>
-#include <boost/range/algorithm/partition.hpp>
-#include <boost/range/algorithm/random_shuffle.hpp>
-#include <boost/range/algorithm/remove.hpp>
-#include <boost/range/algorithm/remove_copy.hpp>
-#include <boost/range/algorithm/remove_copy_if.hpp>
-#include <boost/range/algorithm/remove_if.hpp>
-#include <boost/range/algorithm/replace.hpp>
-#include <boost/range/algorithm/replace_copy.hpp>
-#include <boost/range/algorithm/replace_copy_if.hpp>
-#include <boost/range/algorithm/replace_if.hpp>
-#include <boost/range/algorithm/reverse.hpp>
-#include <boost/range/algorithm/reverse_copy.hpp>
-#include <boost/range/algorithm/rotate.hpp>
-#include <boost/range/algorithm/rotate_copy.hpp>
-#include <boost/range/algorithm/sort.hpp>
-#include <boost/range/algorithm/stable_partition.hpp>
-#include <boost/range/algorithm/stable_sort.hpp>
-#include <boost/range/algorithm/transform.hpp>
-#include <boost/range/algorithm/unique.hpp>
-#include <boost/range/algorithm/unique_copy.hpp>
-
-// Binary search
-#include <boost/range/algorithm/binary_search.hpp>
-#include <boost/range/algorithm/equal_range.hpp>
-#include <boost/range/algorithm/lower_bound.hpp>
-#include <boost/range/algorithm/upper_bound.hpp>
-
-// Set operations of sorted ranges
-#include <boost/range/algorithm/set_algorithm.hpp>
-
-// Heap operations
-#include <boost/range/algorithm/heap_algorithm.hpp>
-
-// Minimum and Maximum
-#include <boost/range/algorithm/max_element.hpp>
-#include <boost/range/algorithm/min_element.hpp>
-
-// Permutations
-#include <boost/range/algorithm/permutation.hpp>
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/adjacent_find.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/adjacent_find.hpp
deleted file mode 100644
index 1b88dae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/adjacent_find.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-//  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_ADJACENT_FIND_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_ADJACENT_FIND_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function adjacent_find
-///
-/// range-based version of the adjacent_find std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template< typename ForwardRange >
-inline typename range_iterator<ForwardRange>::type
-adjacent_find(ForwardRange & rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return std::adjacent_find(boost::begin(rng),boost::end(rng));
-}
-
-/// \overload
-template< typename ForwardRange >
-inline typename range_iterator<const ForwardRange>::type
-adjacent_find(const ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return std::adjacent_find(boost::begin(rng),boost::end(rng));
-}
-
-/// \overload
-template< typename ForwardRange, typename BinaryPredicate >
-inline typename range_iterator<ForwardRange>::type
-adjacent_find(ForwardRange & rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        typename range_value<ForwardRange>::type,
-        typename range_value<ForwardRange>::type>));
-    return std::adjacent_find(boost::begin(rng),boost::end(rng),pred);
-}
-
-/// \overload
-template< typename ForwardRange, typename BinaryPredicate >
-inline typename range_iterator<const ForwardRange>::type
-adjacent_find(const ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        typename range_value<const ForwardRange>::type,
-        typename range_value<const ForwardRange>::type>));
-    return std::adjacent_find(boost::begin(rng),boost::end(rng),pred);
-}
-
-//  range_return overloads
-
-/// \overload
-template< range_return_value re, typename ForwardRange >
-inline typename range_return<ForwardRange,re>::type
-adjacent_find(ForwardRange & rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return range_return<ForwardRange,re>::
-        pack(std::adjacent_find(boost::begin(rng),boost::end(rng)),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, typename ForwardRange >
-inline typename range_return<const ForwardRange,re>::type
-adjacent_find(const ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return range_return<const ForwardRange,re>::
-        pack(std::adjacent_find(boost::begin(rng),boost::end(rng)),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, typename ForwardRange, typename BinaryPredicate >
-inline typename range_return<ForwardRange,re>::type
-adjacent_find(ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        typename range_value<ForwardRange>::type,
-        typename range_value<ForwardRange>::type>));
-    return range_return<ForwardRange,re>::
-        pack(std::adjacent_find(boost::begin(rng),boost::end(rng),pred),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, typename ForwardRange, typename BinaryPredicate >
-inline typename range_return<const ForwardRange,re>::type
-adjacent_find(const ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return range_return<const ForwardRange,re>::
-        pack(std::adjacent_find(boost::begin(rng),boost::end(rng),pred),
-             rng);
-}
-
-    } // namespace range
-    using range::adjacent_find;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/binary_search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/binary_search.hpp
deleted file mode 100644
index bb64ec8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/binary_search.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  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_BINARY_SEARCH_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_BINARY_SEARCH_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function binary_search
-///
-/// range-based version of the binary_search std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class ForwardRange, class Value>
-inline bool binary_search(const ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::binary_search(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template<class ForwardRange, class Value, class BinaryPredicate>
-inline bool binary_search(const ForwardRange& rng, const Value& val,
-                          BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::binary_search(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-    } // namespace range
-    using range::binary_search;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/copy.hpp
deleted file mode 100644
index f15b31f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/copy.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//  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_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function copy
-///
-/// range-based version of the copy std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre OutputIterator is a model of the OutputIteratorConcept
-template< class SinglePassRange, class OutputIterator >
-inline OutputIterator copy(const SinglePassRange& rng, OutputIterator out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::copy(boost::begin(rng),boost::end(rng),out);
-}
-
-    } // namespace range
-    using range::copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/copy_backward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/copy_backward.hpp
deleted file mode 100644
index c95c6f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/copy_backward.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//  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_COPY_BACKWARD_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_COPY_BACKWARD_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function copy_backward
-///
-/// range-based version of the copy_backwards std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-/// \pre BidirectionalTraversalWriteableIterator is a model of the BidirectionalIteratorConcept
-/// \pre BidirectionalTraversalWriteableIterator is a model of the WriteableIteratorConcept
-template< class BidirectionalRange, class BidirectionalTraversalWriteableIterator >
-inline BidirectionalTraversalWriteableIterator
-copy_backward(const BidirectionalRange& rng,
-              BidirectionalTraversalWriteableIterator out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::copy_backward(boost::begin(rng), boost::end(rng), out);
-}
-
-    } // namespace range
-    using range::copy_backward;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/count.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/count.hpp
deleted file mode 100644
index 8316ce0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/count.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//  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_COUNT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_COUNT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function count
-///
-/// range-based version of the count std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-template< class SinglePassRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
-count(SinglePassRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    return std::count(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template< class SinglePassRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange const>::type
-count(const SinglePassRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::count(boost::begin(rng), boost::end(rng), val);
-}
-
-    } // namespace range
-    using range::count;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/count_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/count_if.hpp
deleted file mode 100644
index ae17b0e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/count_if.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  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_COUNT_IF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_COUNT_IF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function count_if
-///
-/// range-based version of the count_if std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre UnaryPredicate is a model of the UnaryPredicateConcept
-template< class SinglePassRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME boost::range_difference<SinglePassRange>::type
-count_if(SinglePassRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    return std::count_if(boost::begin(rng), boost::end(rng), pred);
-}
-
-/// \overload
-template< class SinglePassRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME boost::range_difference<const SinglePassRange>::type
-count_if(const SinglePassRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::count_if(boost::begin(rng), boost::end(rng), pred);
-}
-
-    } // namespace range
-    using range::count_if;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/equal.hpp
deleted file mode 100644
index 2b44f3b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/equal.hpp
+++ /dev/null
@@ -1,200 +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 )
-        {
-            for (;;)
-            {
-                // 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
-                if (*first1 != *first2)
-                    break;
-
-                ++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 )
-        {
-            for (;;)
-            {
-                // 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
-                if (!pred(*first1, *first2))
-                    break;
-
-                ++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,
-                                std::random_access_iterator_tag,
-                                std::random_access_iterator_tag )
-        {
-            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 ::boost::range::equal;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/equal_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/equal_range.hpp
deleted file mode 100644
index 4aa4a54..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/equal_range.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  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_RANGE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EQUAL_RANGE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function equal_range
-///
-/// range-based version of the equal_range std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre SortPredicate is a model of the BinaryPredicateConcept
-template<class ForwardRange, class Value>
-inline std::pair<
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<ForwardRange>::type,
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<ForwardRange>::type
-       >
-equal_range(ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::equal_range(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template<class ForwardRange, class Value>
-inline std::pair<
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<const ForwardRange>::type,
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<const ForwardRange>::type
-       >
-equal_range(const ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::equal_range(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template<class ForwardRange, class Value, class SortPredicate>
-inline std::pair<
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<ForwardRange>::type,
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<ForwardRange>::type
-       >
-equal_range(ForwardRange& rng, const Value& val, SortPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::equal_range(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-/// \overload
-template<class ForwardRange, class Value, class SortPredicate>
-inline std::pair<
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<const ForwardRange>::type,
-        BOOST_DEDUCED_TYPENAME boost::range_iterator<const ForwardRange>::type
-       >
-equal_range(const ForwardRange& rng, const Value& val, SortPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::equal_range(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-    } // namespace range
-    using range::equal_range;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/fill.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/fill.hpp
deleted file mode 100644
index 95231a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/fill.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  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_FILL_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FILL_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function fill
-///
-/// range-based version of the fill std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template< class ForwardRange, class Value >
-inline ForwardRange& fill(ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    std::fill(boost::begin(rng), boost::end(rng), val);
-    return rng;
-}
-
-/// \overload
-template< class ForwardRange, class Value >
-inline const ForwardRange& fill(const ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    std::fill(boost::begin(rng), boost::end(rng), val);
-    return rng;
-}
-
-    } // namespace range
-    using range::fill;
-}
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/fill_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/fill_n.hpp
deleted file mode 100644
index 02a0c2a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/fill_n.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  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_FILL_N_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FILL_N_HPP_INCLUDED
-
-#include <boost/assert.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function fill_n
-///
-/// range-based version of the fill_n std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre n <= std::distance(boost::begin(rng), boost::end(rng))
-template< class ForwardRange, class Size, class Value >
-inline ForwardRange& fill_n(ForwardRange& rng, Size n, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    BOOST_ASSERT( static_cast<Size>(std::distance(boost::begin(rng), boost::end(rng))) >= n );
-    std::fill_n(boost::begin(rng), n, val);
-    return rng;
-}
-
-/// \overload
-template< class ForwardRange, class Size, class Value >
-inline const ForwardRange& fill_n(const ForwardRange& rng, Size n, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    BOOST_ASSERT( static_cast<Size>(std::distance(boost::begin(rng), boost::end(rng))) >= n );
-    std::fill_n(boost::begin(rng), n, val);
-    return rng;
-}
-
-    } // namespace range
-    using range::fill_n;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find.hpp
deleted file mode 100644
index 72c5cf1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//  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_FIND_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FIND_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function find
-///
-/// range-based version of the find std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-template< class SinglePassRange, class Value >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange>,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type
->::type
-find( SinglePassRange& rng, const Value& val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    return std::find(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template< class SinglePassRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange>::type
-find( const SinglePassRange& rng, const Value& val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::find(boost::begin(rng), boost::end(rng), val);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class SinglePassRange, class Value >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange>,
-    BOOST_DEDUCED_TYPENAME range_return<SinglePassRange,re>::type
->::type
-find( SinglePassRange& rng, const Value& val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    return range_return<SinglePassRange,re>::
-        pack(std::find(boost::begin(rng), boost::end(rng), val),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class SinglePassRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<const SinglePassRange,re>::type
-find( const SinglePassRange& rng, const Value& val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return range_return<const SinglePassRange,re>::
-        pack(std::find(boost::begin(rng), boost::end(rng), val),
-             rng);
-}
-
-    } // namespace range
-    using range::find;
-}
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_end.hpp
deleted file mode 100644
index 757e999..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_end.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-//  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_FIND_END_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FIND_END_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function find_end
-///
-/// range-based version of the find_end std algorithm
-///
-/// \pre ForwardRange1 is a model of the ForwardRangeConcept
-/// \pre ForwardRange2 is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template< class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange1>,
-    BOOST_DEDUCED_TYPENAME range_iterator< ForwardRange1 >::type
->::type
-find_end(ForwardRange1 & rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_end(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2));
-}
-
-/// \overload
-template< class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_iterator< const ForwardRange1 >::type
-find_end(const ForwardRange1 & rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_end(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2));
-}
-
-/// \overload
-template< class ForwardRange1, class ForwardRange2, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange1>,
-    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange1>::type
->::type
-find_end(ForwardRange1 & rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_end(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2),pred);
-}
-
-/// \overload
-template< class ForwardRange1, class ForwardRange2, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange1>::type
-find_end(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_end(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2),pred);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange1>,
-    BOOST_DEDUCED_TYPENAME range_return<ForwardRange1,re>::type
->::type
-find_end(ForwardRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<ForwardRange1,re>::
-        pack(std::find_end(boost::begin(rng1), boost::end(rng1),
-                           boost::begin(rng2), boost::end(rng2)),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange1,re>::type
-find_end(const ForwardRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<const ForwardRange1,re>::
-        pack(std::find_end(boost::begin(rng1), boost::end(rng1),
-                           boost::begin(rng2), boost::end(rng2)),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange1>,
-    BOOST_DEDUCED_TYPENAME range_return<ForwardRange1,re>::type
->::type
-find_end(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<ForwardRange1,re>::
-        pack(std::find_end(boost::begin(rng1), boost::end(rng1),
-                           boost::begin(rng2), boost::end(rng2), pred),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange1,re>::type
-find_end(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<const ForwardRange1,re>::
-        pack(std::find_end(boost::begin(rng1), boost::end(rng1),
-                           boost::begin(rng2), boost::end(rng2), pred),
-             rng1);
-}
-
-    } // namespace range
-    using range::find_end;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_first_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_first_of.hpp
deleted file mode 100644
index 4cb5989..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_first_of.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-//  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_FIND_FIRST_OF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FIND_FIRST_OF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function find_first_of
-///
-/// range-based version of the find_first_of std algorithm
-///
-/// \pre SinglePassRange1 is a model of the SinglePassRangeConcept
-/// \pre ForwardRange2 is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template< class SinglePassRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange1>,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type
->::type
-find_first_of(SinglePassRange1 & rng1, ForwardRange2 const & rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_first_of(boost::begin(rng1),boost::end(rng1),
-                              boost::begin(rng2),boost::end(rng2));
-}
-
-/// \overload
-template< class SinglePassRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type
-find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_first_of(boost::begin(rng1),boost::end(rng1),
-                              boost::begin(rng2),boost::end(rng2));
-}
-
-/// \overload
-template< class SinglePassRange1, class ForwardRange2, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange1>,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type
->::type
-find_first_of(SinglePassRange1 & rng1, ForwardRange2 const & rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_first_of(boost::begin(rng1),boost::end(rng1),
-                              boost::begin(rng2),boost::end(rng2),pred);
-}
-
-/// \overload
-template< class SinglePassRange1, class ForwardRange2, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type
-find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return std::find_first_of(boost::begin(rng1),boost::end(rng1),
-                              boost::begin(rng2),boost::end(rng2),pred);
-}
-
-// range return overloads
-/// \overload
-template< range_return_value re, class SinglePassRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange1>,
-    BOOST_DEDUCED_TYPENAME range_return<SinglePassRange1,re>::type
->::type
-find_first_of(SinglePassRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<SinglePassRange1,re>::
-        pack(std::find_first_of(boost::begin(rng1), boost::end(rng1),
-                                boost::begin(rng2), boost::end(rng2)),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class SinglePassRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_return<const SinglePassRange1,re>::type
-find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<const SinglePassRange1,re>::
-        pack(std::find_first_of(boost::begin(rng1), boost::end(rng1),
-                                boost::begin(rng2), boost::end(rng2)),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class SinglePassRange1, class ForwardRange2,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange1>,
-    BOOST_DEDUCED_TYPENAME range_return<SinglePassRange1,re>::type
->::type
-find_first_of(SinglePassRange1 & rng1, const ForwardRange2& rng2,
-              BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<SinglePassRange1,re>::
-        pack(std::find_first_of(boost::begin(rng1), boost::end(rng1),
-                                boost::begin(rng2), boost::end(rng2), pred),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class SinglePassRange1, class ForwardRange2,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const SinglePassRange1,re>::type
-find_first_of(const SinglePassRange1 & rng1, const ForwardRange2& rng2,
-              BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-
-    return range_return<const SinglePassRange1,re>::
-        pack(std::find_first_of(boost::begin(rng1), boost::end(rng1),
-                                boost::begin(rng2), boost::end(rng2), pred),
-             rng1);
-}
-
-    } // namespace range
-    using range::find_first_of;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_if.hpp
deleted file mode 100644
index 2d1926d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/find_if.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//  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_FIND_IF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FIND_IF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function find_if
-///
-/// range-based version of the find_if std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre UnaryPredicate is a model of the UnaryPredicateConcept
-template< class SinglePassRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange>,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type
->::type
-find_if( SinglePassRange& rng, UnaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    return std::find_if(boost::begin(rng), boost::end(rng), pred);
-}
-
-/// \overload
-template< class SinglePassRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange>::type
-find_if( const SinglePassRange& rng, UnaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::find_if(boost::begin(rng), boost::end(rng), pred);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class SinglePassRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<SinglePassRange>,
-    BOOST_DEDUCED_TYPENAME range_return<SinglePassRange,re>::type
->::type
-find_if( SinglePassRange& rng, UnaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    return range_return<SinglePassRange,re>::
-        pack(std::find_if(boost::begin(rng), boost::end(rng), pred),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class SinglePassRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const SinglePassRange,re>::type
-find_if( const SinglePassRange& rng, UnaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return range_return<const SinglePassRange,re>::
-        pack(std::find_if(boost::begin(rng), boost::end(rng), pred),
-             rng);
-}
-
-    } // namespace range
-    using range::find_if;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/for_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/for_each.hpp
deleted file mode 100644
index ea731b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/for_each.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-//  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_FOR_EACH_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_FOR_EACH_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/ref.hpp>
-#include <algorithm>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
-#include <xutility>
-#endif
-
-namespace boost
-{
-    namespace range
-    {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
-        namespace for_each_detail
-        {
-            template<typename Iterator, typename UnaryFunction>
-            inline UnaryFunction
-            for_each_impl(Iterator first, Iterator last, UnaryFunction fun,
-                          typename ::boost::enable_if<
-                            is_reference_wrapper<UnaryFunction>,
-                            void
-                          >::type* = 0)
-            {
-                    typedef typename std::_Get_unchecked_type<Iterator>::type
-                                unchecked_iterator;
-
-                    unchecked_iterator unchecked_last = std::_Unchecked(last);
-                    for (unchecked_iterator unchecked_first = std::_Unchecked(first); first != last; ++first)
-                            fun.get()(*unchecked_first);
-
-                    return fun;
-            }
-
-            template<typename Iterator, typename UnaryFunction>
-            inline UnaryFunction
-            for_each_impl(Iterator first, Iterator last, UnaryFunction fn,
-                          typename disable_if<
-                            is_reference_wrapper<UnaryFunction>,
-                            void
-                          >::type* = 0)
-            {
-                return std::for_each<Iterator, UnaryFunction>(first, last, fn);
-            }
-        }
-#endif
-
-/// \brief template function for_each
-///
-/// range-based version of the for_each std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre UnaryFunction is a model of the UnaryFunctionConcept
-template< class SinglePassRange, class UnaryFunction >
-inline UnaryFunction for_each(SinglePassRange & rng, UnaryFunction fun)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange> ));
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
-        return for_each_detail::for_each_impl<
-                typename range_iterator<SinglePassRange>::type,
-                UnaryFunction
-        >(boost::begin(rng), boost::end(rng), fun);
-#else
-    return std::for_each<
-        BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type,
-        UnaryFunction
-    >(boost::begin(rng),boost::end(rng),fun);
-#endif    
-}
-
-/// \overload
-template< class SinglePassRange, class UnaryFunction >
-inline UnaryFunction for_each(const SinglePassRange& rng, UnaryFunction fun)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1600)
-        return for_each_detail::for_each_impl<
-                typename range_iterator<const SinglePassRange>::type,
-                UnaryFunction
-        >(boost::begin(rng), boost::end(rng), fun);
-#else    
-    return std::for_each<
-        BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange>::type,
-        UnaryFunction
-    >(boost::begin(rng), boost::end(rng), fun);
-#endif    
-}
-
-    } // namespace range
-    using range::for_each;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/generate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/generate.hpp
deleted file mode 100644
index 324412c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/generate.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//  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_GENERATE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_GENERATE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-/// \brief template function generate
-///
-/// range-based version of the generate std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre Generator is a model of the UnaryFunctionConcept
-template< class ForwardRange, class Generator >
-inline ForwardRange& generate( ForwardRange& rng, Generator gen )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    std::generate(boost::begin(rng), boost::end(rng), gen);
-    return rng;
-}
-
-/// \overload
-template< class ForwardRange, class Generator >
-inline const ForwardRange& generate( const ForwardRange& rng, Generator gen )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    std::generate(boost::begin(rng), boost::end(rng), gen);
-    return rng;
-}
-
-    } // namespace range
-    using range::generate;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/heap_algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/heap_algorithm.hpp
deleted file mode 100644
index 584920d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/heap_algorithm.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-//  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_HEAP_ALGORITHM_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_HEAP_ALGORITHM_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function push_heap
-///
-/// range-based version of the push_heap std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre Compare is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& push_heap(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::push_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& push_heap(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::push_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline RandomAccessRange& push_heap(RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::push_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline const RandomAccessRange& push_heap(const RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::push_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \brief template function pop_heap
-///
-/// range-based version of the pop_heap std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre Compare is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& pop_heap(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::pop_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& pop_heap(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::pop_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline RandomAccessRange& pop_heap(RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::pop_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline const RandomAccessRange& pop_heap(const RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::pop_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \brief template function make_heap
-///
-/// range-based version of the make_heap std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre Compare is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& make_heap(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::make_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& make_heap(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::make_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline RandomAccessRange& make_heap(RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::make_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline const RandomAccessRange& make_heap(const RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::make_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \brief template function sort_heap
-///
-/// range-based version of the sort_heap std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre Compare is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& sort_heap(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::sort_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& sort_heap(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::sort_heap(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline RandomAccessRange& sort_heap(RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::sort_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Compare>
-inline const RandomAccessRange& sort_heap(const RandomAccessRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::sort_heap(boost::begin(rng), boost::end(rng), comp_pred);
-    return rng;
-}
-
-    } // namespace range
-    using range::push_heap;
-    using range::pop_heap;
-    using range::make_heap;
-    using range::sort_heap;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/inplace_merge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/inplace_merge.hpp
deleted file mode 100644
index dfadbaa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/inplace_merge.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  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_INPLACE_MERGE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_INPLACE_MERGE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function inplace_merge
-///
-/// range-based version of the inplace_merge std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class BidirectionalRange>
-inline BidirectionalRange& inplace_merge(BidirectionalRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type middle)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    std::inplace_merge(boost::begin(rng), middle, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class BidirectionalRange>
-inline const BidirectionalRange& inplace_merge(const BidirectionalRange& rng,
-    BOOST_DEDUCED_TYPENAME boost::range_iterator<const BidirectionalRange>::type middle)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    std::inplace_merge(boost::begin(rng), middle, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class BidirectionalRange, class BinaryPredicate>
-inline BidirectionalRange& inplace_merge(BidirectionalRange& rng,
-    BOOST_DEDUCED_TYPENAME boost::range_iterator<BidirectionalRange>::type middle,
-    BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    std::inplace_merge(boost::begin(rng), middle, boost::end(rng), pred);
-    return rng;
-}
-
-/// \overload
-template<class BidirectionalRange, class BinaryPredicate>
-inline const BidirectionalRange& inplace_merge(const BidirectionalRange& rng,
-    BOOST_DEDUCED_TYPENAME boost::range_iterator<const BidirectionalRange>::type middle,
-    BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    std::inplace_merge(boost::begin(rng), middle, boost::end(rng), pred);
-    return rng;
-}
-
-    } // namespace range
-    using range::inplace_merge;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/lexicographical_compare.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/lexicographical_compare.hpp
deleted file mode 100644
index c6e4bc8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/lexicographical_compare.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//  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_LEXICOGRAPHICAL_COMPARE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_LEXICOGRAPHICAL_COMPARE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function lexicographic_compare
-///
-/// range-based version of the lexicographic_compare std algorithm
-///
-/// \pre SinglePassRange1 is a model of the SinglePassRangeConcept
-/// \pre SinglePassRange2 is a model of the SinglePassRangeConcept
-template<class SinglePassRange1, class SinglePassRange2>
-inline bool lexicographical_compare(const SinglePassRange1& rng1,
-                                    const SinglePassRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::lexicographical_compare(
-        boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2));
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class BinaryPredicate>
-inline bool lexicographical_compare(const SinglePassRange1& rng1,
-                                    const SinglePassRange2& rng2,
-                                    BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::lexicographical_compare(
-        boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2), pred);
-}
-
-    } // namespace range
-    using range::lexicographical_compare;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/lower_bound.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/lower_bound.hpp
deleted file mode 100644
index cb5e639..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/lower_bound.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//  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_LOWER_BOUND_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_LOWER_BOUND_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function lower_bound
-///
-/// range-based version of the lower_bound std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template< class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
->::type
-lower_bound( ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::lower_bound(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template< class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-lower_bound( const ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::lower_bound(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template< class ForwardRange, class Value, class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
->::type
-lower_bound( ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::lower_bound(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-/// \overload
-template< class ForwardRange, class Value, class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-lower_bound( const ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::lower_bound(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
->::type
-lower_bound( ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::
-        pack(std::lower_bound(boost::begin(rng), boost::end(rng), val),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-lower_bound( const ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::
-        pack(std::lower_bound(boost::begin(rng), boost::end(rng), val),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value, class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
->::type
-lower_bound( ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::
-        pack(std::lower_bound(boost::begin(rng), boost::end(rng), val, pred),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value, class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-lower_bound( const ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::
-        pack(std::lower_bound(boost::begin(rng), boost::end(rng), val, pred),
-             rng);
-}
-
-    } // namespace range
-    using range::lower_bound;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/max_element.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/max_element.hpp
deleted file mode 100644
index a0c1ffd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/max_element.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//  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_MAX_ELEMENT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_MAX_ELEMENT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function max_element
-///
-/// range-based version of the max_element std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-max_element(ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::max_element(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-max_element(const ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::max_element(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-max_element(ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::max_element(boost::begin(rng), boost::end(rng), pred);
-}
-
-/// \overload
-template<class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-max_element(const ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::max_element(boost::begin(rng), boost::end(rng), pred);
-}
-
-// range_return overloads
-
-/// \overload
-template<range_return_value re, class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-max_element(ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::pack(
-        std::max_element(boost::begin(rng), boost::end(rng)),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-max_element(const ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::pack(
-        std::max_element(boost::begin(rng), boost::end(rng)),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-max_element(ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::pack(
-        std::max_element(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-max_element(const ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::pack(
-        std::max_element(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-    } // namespace range
-    using range::max_element;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/merge.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/merge.hpp
deleted file mode 100644
index c81b8c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/merge.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//  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_MERGE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_MERGE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function merge
-///
-/// range-based version of the merge 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,
-         class OutputIterator>
-inline OutputIterator merge(const SinglePassRange1& rng1,
-                            const SinglePassRange2& rng2,
-                            OutputIterator          out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::merge(boost::begin(rng1), boost::end(rng1),
-                      boost::begin(rng2), boost::end(rng2), out);
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class OutputIterator, class BinaryPredicate>
-inline OutputIterator merge(const SinglePassRange1& rng1,
-                            const SinglePassRange2& rng2,
-                            OutputIterator          out,
-                            BinaryPredicate         pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::merge(boost::begin(rng1), boost::end(rng1),
-                      boost::begin(rng2), boost::end(rng2), out, pred);
-}
-
-    } // namespace range
-    using range::merge;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/min_element.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/min_element.hpp
deleted file mode 100644
index c966b1e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/min_element.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//  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_MIN_ELEMENT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_MIN_ELEMENT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function min_element
-///
-/// range-based version of the min_element std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-min_element(ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::min_element(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-min_element(const ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::min_element(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-min_element(ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::min_element(boost::begin(rng), boost::end(rng), pred);
-}
-
-/// \overload
-template<class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-min_element(const ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::min_element(boost::begin(rng), boost::end(rng), pred);
-}
-
-// range_return overloads
-
-/// \overload
-template<range_return_value re, class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-min_element(ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::pack(
-        std::min_element(boost::begin(rng), boost::end(rng)),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class ForwardRange>
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-min_element(const ForwardRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::pack(
-        std::min_element(boost::begin(rng), boost::end(rng)),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-min_element(ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::pack(
-        std::min_element(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class ForwardRange, class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-min_element(const ForwardRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::pack(
-        std::min_element(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-    } // namespace range
-    using range::min_element;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/mismatch.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/mismatch.hpp
deleted file mode 100644
index 2819c33..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/mismatch.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-//  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_MISMATCH_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_MISMATCH_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2 >
-        inline std::pair<SinglePassTraversalReadableIterator1,
-                         SinglePassTraversalReadableIterator2>
-        mismatch_impl(SinglePassTraversalReadableIterator1 first1,
-                      SinglePassTraversalReadableIterator1 last1,
-                      SinglePassTraversalReadableIterator2 first2,
-                      SinglePassTraversalReadableIterator2 last2)
-        {
-            while (first1 != last1 && first2 != last2 && *first1 == *first2)
-            {
-                ++first1;
-                ++first2;
-            }
-            return std::pair<SinglePassTraversalReadableIterator1,
-                             SinglePassTraversalReadableIterator2>(first1, first2);
-        }
-
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2,
-                  class BinaryPredicate >
-        inline std::pair<SinglePassTraversalReadableIterator1,
-                         SinglePassTraversalReadableIterator2>
-        mismatch_impl(SinglePassTraversalReadableIterator1 first1,
-                      SinglePassTraversalReadableIterator1 last1,
-                      SinglePassTraversalReadableIterator2 first2,
-                      SinglePassTraversalReadableIterator2 last2,
-                      BinaryPredicate pred)
-        {
-            while (first1 != last1 && first2 != last2 && pred(*first1, *first2))
-            {
-                ++first1;
-                ++first2;
-            }
-            return std::pair<SinglePassTraversalReadableIterator1,
-                             SinglePassTraversalReadableIterator2>(first1, first2);
-        }
-    } // namespace range_detail
-
-    namespace range
-    {
-/// \brief template function mismatch
-///
-/// range-based version of the mismatch 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 std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange2>::type >
-mismatch(SinglePassRange1& rng1, const SinglePassRange2 & rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2));
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2 >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange2>::type >
-mismatch(const SinglePassRange1& rng1, const SinglePassRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2));
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2 >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type >
-mismatch(SinglePassRange1& rng1, SinglePassRange2 & rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2));
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2 >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type >
-mismatch(const SinglePassRange1& rng1, SinglePassRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2));
-}
-
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange2>::type >
-mismatch(SinglePassRange1& rng1, const SinglePassRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2), pred);
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange2>::type >
-mismatch(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::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2), pred);
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type >
-mismatch(SinglePassRange1& rng1, SinglePassRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2), pred);
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate >
-inline std::pair<
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type,
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type >
-mismatch(const SinglePassRange1& rng1, SinglePassRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    return ::boost::range_detail::mismatch_impl(
-        ::boost::begin(rng1), ::boost::end(rng1),
-        ::boost::begin(rng2), ::boost::end(rng2), pred);
-}
-
-    } // namespace range
-    using range::mismatch;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/nth_element.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/nth_element.hpp
deleted file mode 100644
index a605595..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/nth_element.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  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_NTH_ELEMENT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_NTH_ELEMENT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function nth_element
-///
-/// range-based version of the nth_element std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& nth_element(RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type nth)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::nth_element(boost::begin(rng), nth, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& nth_element(const RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<const RandomAccessRange>::type nth)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::nth_element(boost::begin(rng), nth, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline RandomAccessRange& nth_element(RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type nth,
-    BinaryPredicate sort_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::nth_element(boost::begin(rng), nth, boost::end(rng), sort_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline const RandomAccessRange& nth_element(const RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<const RandomAccessRange>::type nth,
-    BinaryPredicate sort_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::nth_element(boost::begin(rng), nth, boost::end(rng), sort_pred);
-    return rng;
-}
-
-    } // namespace range
-    using range::nth_element;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partial_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partial_sort.hpp
deleted file mode 100644
index d7044cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partial_sort.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-//  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_PARTIAL_SORT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_PARTIAL_SORT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function partial_sort
-///
-/// range-based version of the partial_sort std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& partial_sort(RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type middle)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::partial_sort(boost::begin(rng), middle, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& partial_sort(const RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<const RandomAccessRange>::type middle)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::partial_sort(boost::begin(rng), middle, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline RandomAccessRange& partial_sort(RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type middle,
-    BinaryPredicate sort_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::partial_sort(boost::begin(rng), middle, boost::end(rng),
-                        sort_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline const RandomAccessRange& partial_sort(const RandomAccessRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<const RandomAccessRange>::type middle,
-    BinaryPredicate sort_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::partial_sort(boost::begin(rng), middle, boost::end(rng),
-                        sort_pred);
-    return rng;
-}
-
-    } // namespace range
-    using range::partial_sort;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partial_sort_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partial_sort_copy.hpp
deleted file mode 100644
index 9129389..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partial_sort_copy.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//  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_PARTIAL_SORT_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_PARTIAL_SORT_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/value_type.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function partial_sort_copy
-///
-/// range-based version of the partial_sort_copy std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre RandomAccessRange is a model of the Mutable_RandomAccessRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class SinglePassRange, class RandomAccessRange>
-inline BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type
-partial_sort_copy(const SinglePassRange& rng1, RandomAccessRange& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange>));
-
-    return std::partial_sort_copy(boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2));
-}
-
-/// \overload
-template<class SinglePassRange, class RandomAccessRange>
-inline BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type
-partial_sort_copy(const SinglePassRange& rng1, const RandomAccessRange& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange>));
-
-    return std::partial_sort_copy(boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2));
-}
-
-/// \overload
-template<class SinglePassRange, class RandomAccessRange,
-         class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<RandomAccessRange>::type
-partial_sort_copy(const SinglePassRange& rng1, RandomAccessRange& rng2,
-    BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange>));
-
-    return std::partial_sort_copy(boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2), pred);
-}
-
-/// \overload
-template<class SinglePassRange, class RandomAccessRange,
-         class BinaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<const RandomAccessRange>::type
-partial_sort_copy(const SinglePassRange& rng1, const RandomAccessRange& rng2,
-    BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange>));
-
-    return std::partial_sort_copy(boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2), pred);
-}
-
-    } // namespace range
-    using range::partial_sort_copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partition.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partition.hpp
deleted file mode 100644
index b814a24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/partition.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  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_PARTITION__HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_PARTITION__HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function partition
-///
-/// range-based version of the partition std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template<class ForwardRange, class UnaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-partition(ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::partition(boost::begin(rng),boost::end(rng),pred);
-}
-
-/// \overload
-template<class ForwardRange, class UnaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-partition(const ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::partition(boost::begin(rng),boost::end(rng),pred);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class ForwardRange,
-          class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-partition(ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return boost::range_return<ForwardRange,re>::
-        pack(std::partition(boost::begin(rng), boost::end(rng), pred), rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange,
-          class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-partition(const ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return boost::range_return<const ForwardRange,re>::
-        pack(std::partition(boost::begin(rng), boost::end(rng), pred), rng);
-}
-
-    } // namespace range
-    using range::partition;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/permutation.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/permutation.hpp
deleted file mode 100644
index 75388cc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/permutation.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//  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_PERMUTATION_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_PERMUTATION_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function next_permutation
-///
-/// range-based version of the next_permutation std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-/// \pre Compare is a model of the BinaryPredicateConcept
-template<class BidirectionalRange>
-inline bool next_permutation(BidirectionalRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    return std::next_permutation(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class BidirectionalRange>
-inline bool next_permutation(const BidirectionalRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::next_permutation(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class BidirectionalRange, class Compare>
-inline bool next_permutation(BidirectionalRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    return std::next_permutation(boost::begin(rng), boost::end(rng),
-                                 comp_pred);
-}
-
-/// \overload
-template<class BidirectionalRange, class Compare>
-inline bool next_permutation(const BidirectionalRange& rng,
-                             Compare                   comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::next_permutation(boost::begin(rng), boost::end(rng),
-                                 comp_pred);
-}
-
-/// \brief template function prev_permutation
-///
-/// range-based version of the prev_permutation std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-/// \pre Compare is a model of the BinaryPredicateConcept
-template<class BidirectionalRange>
-inline bool prev_permutation(BidirectionalRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    return std::prev_permutation(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class BidirectionalRange>
-inline bool prev_permutation(const BidirectionalRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::prev_permutation(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class BidirectionalRange, class Compare>
-inline bool prev_permutation(BidirectionalRange& rng, Compare comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    return std::prev_permutation(boost::begin(rng), boost::end(rng),
-                                 comp_pred);
-}
-
-/// \overload
-template<class BidirectionalRange, class Compare>
-inline bool prev_permutation(const BidirectionalRange& rng,
-                             Compare                   comp_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::prev_permutation(boost::begin(rng), boost::end(rng),
-                                 comp_pred);
-}
-
-    } // namespace range
-    using range::next_permutation;
-    using range::prev_permutation;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/random_shuffle.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/random_shuffle.hpp
deleted file mode 100644
index 95bbd97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/random_shuffle.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  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_RANDOM_SHUFFLE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_RANDOM_SHUFFLE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function random_shuffle
-///
-/// range-based version of the random_shuffle std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre Generator is a model of the UnaryFunctionConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& random_shuffle(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::random_shuffle(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& random_shuffle(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::random_shuffle(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Generator>
-inline RandomAccessRange& random_shuffle(RandomAccessRange& rng, Generator& gen)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::random_shuffle(boost::begin(rng), boost::end(rng), gen);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class Generator>
-inline const RandomAccessRange& random_shuffle(const RandomAccessRange& rng, Generator& gen)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::random_shuffle(boost::begin(rng), boost::end(rng), gen);
-    return rng;
-}
-
-    } // namespace range
-    using range::random_shuffle;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove.hpp
deleted file mode 100644
index 699a7cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//  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_REMOVE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REMOVE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function remove
-///
-/// range-based version of the remove std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template< class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-remove(ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::remove(boost::begin(rng),boost::end(rng),val);
-}
-
-/// \overload
-template< class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-remove(const ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::remove(boost::begin(rng),boost::end(rng),val);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-remove(ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::pack(
-        std::remove(boost::begin(rng), boost::end(rng), val),
-        rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-remove(const ForwardRange& rng, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::pack(
-        std::remove(boost::begin(rng), boost::end(rng), val),
-        rng);
-}
-
-    } // namespace range
-    using range::remove;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_copy.hpp
deleted file mode 100644
index b65747e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_copy.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  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_REMOVE_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REMOVE_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function remove_copy
-///
-/// range-based version of the remove_copy std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre OutputIterator is a model of the OutputIteratorConcept
-/// \pre Value is a model of the EqualityComparableConcept
-/// \pre Objects of type Value can be compared for equality with objects of
-/// InputIterator's value type.
-template< class SinglePassRange, class OutputIterator, class Value >
-inline OutputIterator
-remove_copy(const SinglePassRange& rng, OutputIterator out_it, const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::remove_copy(boost::begin(rng), boost::end(rng), out_it, val);
-}
-
-    } // namespace range
-    using range::remove_copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_copy_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_copy_if.hpp
deleted file mode 100644
index 8d9c37b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_copy_if.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//  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_REMOVE_COPY_IF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REMOVE_COPY_IF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    /// \brief template function remove_copy_if
-    ///
-    /// range-based version of the remove_copy_if std algorithm
-    ///
-    /// \pre SinglePassRange is a model of the SinglePassRangeConcept
-    /// \pre OutputIterator is a model of the OutputIteratorConcept
-    /// \pre Predicate is a model of the PredicateConcept
-    /// \pre InputIterator's value type is convertible to Predicate's argument type
-    /// \pre out_it is not an iterator in the range rng
-    template< class SinglePassRange, class OutputIterator, class Predicate >
-    inline OutputIterator
-    remove_copy_if(const SinglePassRange& rng, OutputIterator out_it, Predicate pred)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-        return std::remove_copy_if(boost::begin(rng), boost::end(rng), out_it, pred);
-    }
-}
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_if.hpp
deleted file mode 100644
index a965df0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/remove_if.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//  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_REMOVE_IF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REMOVE_IF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function remove_if
-///
-/// range-based version of the remove_if std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre UnaryPredicate is a model of the UnaryPredicateConcept
-template< class ForwardRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME boost::range_iterator<ForwardRange>::type
-remove_if(ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::remove_if(boost::begin(rng), boost::end(rng), pred);
-}
-
-/// \overload
-template< class ForwardRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME boost::range_iterator<const ForwardRange>::type
-remove_if(const ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::remove_if(boost::begin(rng), boost::end(rng), pred);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class ForwardRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-remove_if(ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::pack(
-        std::remove_if(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class UnaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-remove_if(const ForwardRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::pack(
-        std::remove_if(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-    } // namespace range
-    using range::remove_if;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace.hpp
deleted file mode 100644
index 44d3e4c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  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_REPLACE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REPLACE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function replace
-///
-/// range-based version of the replace std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template< class ForwardRange, class Value >
-inline ForwardRange&
-replace(ForwardRange& rng, const Value& what,
-        const Value& with_what)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    std::replace(boost::begin(rng), boost::end(rng), what, with_what);
-    return rng;
-}
-
-/// \overload
-template< class ForwardRange, class Value >
-inline const ForwardRange&
-replace(const ForwardRange& rng, const Value& what,
-        const Value& with_what)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    std::replace(boost::begin(rng), boost::end(rng), what, with_what);
-    return rng;
-}
-
-    } // namespace range
-    using range::replace;
-} // namespace boost;
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_copy.hpp
deleted file mode 100644
index 0c02005..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_copy.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//  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_REPLACE_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REPLACE_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function replace_copy
-///
-/// range-based version of the replace_copy std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template< class ForwardRange, class OutputIterator, class Value >
-inline OutputIterator
-replace_copy(const ForwardRange& rng, OutputIterator out_it, const Value& what,
-        const Value& with_what)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::replace_copy(boost::begin(rng), boost::end(rng), out_it,
-        what, with_what);
-}
-
-    } // namespace range
-    using range::replace_copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_copy_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_copy_if.hpp
deleted file mode 100644
index d313151..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_copy_if.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//  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_REPLACE_COPY_IF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REPLACE_COPY_IF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function replace_copy_if
-///
-/// range-based version of the replace_copy_if std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre Predicate is a model of the PredicateConcept
-/// \pre Value is convertible to Predicate's argument type
-/// \pre Value is Assignable
-/// \pre Value is convertible to a type in OutputIterator's set of value types.
-template< class ForwardRange, class OutputIterator, class Predicate, class Value >
-inline OutputIterator
-replace_copy_if(const ForwardRange& rng, OutputIterator out_it, Predicate pred,
-        const Value& with_what)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::replace_copy_if(boost::begin(rng), boost::end(rng), out_it,
-        pred, with_what);
-}
-
-    } // namespace range
-    using range::replace_copy_if;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_if.hpp
deleted file mode 100644
index 93d5a1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/replace_if.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//  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_REPLACE_IF_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REPLACE_IF_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function replace_if
-///
-/// range-based version of the replace_if std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre UnaryPredicate is a model of the UnaryPredicateConcept
-template< class ForwardRange, class UnaryPredicate, class Value >
-inline ForwardRange&
-    replace_if(ForwardRange& rng, UnaryPredicate pred,
-               const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    std::replace_if(boost::begin(rng), boost::end(rng), pred, val);
-    return rng;
-}
-
-/// \overload
-template< class ForwardRange, class UnaryPredicate, class Value >
-inline const ForwardRange&
-    replace_if(const ForwardRange& rng, UnaryPredicate pred,
-               const Value& val)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    std::replace_if(boost::begin(rng), boost::end(rng), pred, val);
-    return rng;
-}
-
-    } // namespace range
-    using range::replace_if;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/reverse.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/reverse.hpp
deleted file mode 100644
index 20a7eb1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/reverse.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//  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_REVERSE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REVERSE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function reverse
-///
-/// range-based version of the reverse std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-template<class BidirectionalRange>
-inline BidirectionalRange& reverse(BidirectionalRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    std::reverse(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class BidirectionalRange>
-inline const BidirectionalRange& reverse(const BidirectionalRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    std::reverse(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-    } // namespace range
-    using range::reverse;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/reverse_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/reverse_copy.hpp
deleted file mode 100644
index f1990ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/reverse_copy.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  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_REVERSE_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_REVERSE_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/iterator/iterator_concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function reverse_copy
-///
-/// range-based version of the reverse_copy std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-template<class BidirectionalRange, class OutputIterator>
-inline OutputIterator reverse_copy(const BidirectionalRange& rng, OutputIterator out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::reverse_copy(boost::begin(rng), boost::end(rng), out);
-}
-
-    } // namespace range
-    using range::reverse_copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/rotate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/rotate.hpp
deleted file mode 100644
index ca4b223..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/rotate.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  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_ROTATE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_ROTATE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function rotate
-///
-/// range-based version of the rotate std algorithm
-///
-/// \pre Rng meets the requirements for a Forward range
-template<class ForwardRange>
-inline ForwardRange& rotate(ForwardRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type middle)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    std::rotate(boost::begin(rng), middle, boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class ForwardRange>
-inline const ForwardRange& rotate(const ForwardRange& rng,
-    BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type middle)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    std::rotate(boost::begin(rng), middle, boost::end(rng));
-    return rng;
-}
-
-    } // namespace range
-    using range::rotate;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/rotate_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/rotate_copy.hpp
deleted file mode 100644
index 0409ac5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/rotate_copy.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  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_ROTATE_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_ROTATE_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/iterator.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-    /// \brief template function rotate
-    ///
-    /// range-based version of the rotate std algorithm
-    ///
-    /// \pre Rng meets the requirements for a Forward range
-    template<typename ForwardRange, typename OutputIterator>
-    inline OutputIterator rotate_copy(
-        const ForwardRange&                                             rng,
-        BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type middle,
-        OutputIterator                                                  target
-        )
-    {
-        BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-        return std::rotate_copy(boost::begin(rng), middle, boost::end(rng), target);
-    }
-
-    } // namespace range
-    using range::rotate_copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/search.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/search.hpp
deleted file mode 100644
index 28cc6e6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/search.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-//  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_SEARCH_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_SEARCH_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function search
-///
-/// range-based version of the search std algorithm
-///
-/// \pre ForwardRange1 is a model of the ForwardRangeConcept
-/// \pre ForwardRange2 is a model of the ForwardRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template< class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange1>::type
-search(ForwardRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return std::search(boost::begin(rng1),boost::end(rng1),
-                       boost::begin(rng2),boost::end(rng2));
-}
-
-/// \overload
-template< class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange1>::type
-search(const ForwardRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return std::search(boost::begin(rng1), boost::end(rng1),
-                       boost::begin(rng2), boost::end(rng2));
-}
-
-/// \overload
-template< class ForwardRange1, class ForwardRange2, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange1>::type
-search(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return std::search(boost::begin(rng1),boost::end(rng1),
-                       boost::begin(rng2),boost::end(rng2),pred);
-}
-
-/// \overload
-template< class ForwardRange1, class ForwardRange2, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange1>::type
-search(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return std::search(boost::begin(rng1), boost::end(rng1),
-                       boost::begin(rng2), boost::end(rng2), pred);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange1,re>::type
-search(ForwardRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return range_return<ForwardRange1,re>::
-        pack(std::search(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2)),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2 >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange1,re>::type
-search(const ForwardRange1& rng1, const ForwardRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return range_return<const ForwardRange1,re>::
-        pack(std::search(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2)),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange1,re>::type
-search(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return range_return<ForwardRange1,re>::
-        pack(std::search(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2),pred),
-             rng1);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange1, class ForwardRange2,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange1,re>::type
-search(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange2> ));
-    return range_return<const ForwardRange1,re>::
-        pack(std::search(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2),pred),
-             rng1);
-}
-
-    } // namespace range
-    using range::search;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/search_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/search_n.hpp
deleted file mode 100644
index ccfb27a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/search_n.hpp
+++ /dev/null
@@ -1,360 +0,0 @@
-//  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_SEARCH_N_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_SEARCH_N_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <boost/range/value_type.hpp>
-#include <iterator>
-#include <algorithm>
-
-namespace boost
-{
-
-namespace range_detail
-{
-    // Rationale: search_n is implemented rather than delegate to
-    // the standard library implementation because some standard
-    // library implementations are broken eg. MSVC.
-
-    // search_n forward iterator version
-    template<typename ForwardIterator, typename Integer, typename Value>
-    inline ForwardIterator
-    search_n_impl(ForwardIterator first, ForwardIterator last, Integer count,
-                  const Value& value, std::forward_iterator_tag)
-    {
-        first = std::find(first, last, value);
-        while (first != last)
-        {
-            typename std::iterator_traits<ForwardIterator>::difference_type n = count;
-            ForwardIterator i = first;
-            ++i;
-            while (i != last && n != 1 && *i==value)
-            {
-                ++i;
-                --n;
-            }
-            if (n == 1)
-                return first;
-            if (i == last)
-                return last;
-            first = std::find(++i, last, value);
-        }
-        return last;
-    }
-
-    // search_n random-access iterator version
-    template<typename RandomAccessIterator, typename Integer, typename Value>
-    inline RandomAccessIterator
-    search_n_impl(RandomAccessIterator first, RandomAccessIterator last,
-                  Integer count, const Value& value,
-                  std::random_access_iterator_tag)
-    {
-        typedef typename std::iterator_traits<RandomAccessIterator>::difference_type difference_t;
-
-        difference_t tail_size = last - first;
-        const difference_t pattern_size = count;
-
-        if (tail_size < pattern_size)
-            return last;
-
-        const difference_t skip_offset = pattern_size - 1;
-        RandomAccessIterator look_ahead = first + skip_offset;
-        tail_size -= pattern_size;
-
-        while (1)
-        {
-            // look_ahead here is pointing to the last element of the
-            // next possible match
-            while (!(*look_ahead == value)) // skip loop...
-            {
-                if (tail_size < pattern_size)
-                    return last; // no match
-                look_ahead += pattern_size;
-                tail_size -= pattern_size;
-            }
-            difference_t remainder = skip_offset;
-            for (RandomAccessIterator back_track = look_ahead - 1;
-                    *back_track == value; --back_track)
-            {
-                if (--remainder == 0)
-                {
-                    return look_ahead - skip_offset; // matched
-                }
-            }
-            if (remainder > tail_size)
-                return last; // no match
-            look_ahead += remainder;
-            tail_size -= remainder;
-        }
-
-        return last;
-    }
-
-    // search_n for forward iterators using a binary predicate
-    // to determine a match
-    template<typename ForwardIterator, typename Integer, typename Value,
-             typename BinaryPredicate>
-    inline ForwardIterator
-    search_n_pred_impl(ForwardIterator first, ForwardIterator last,
-                       Integer count, const Value& value,
-                       BinaryPredicate pred, std::forward_iterator_tag)
-    {
-        typedef typename std::iterator_traits<ForwardIterator>::difference_type difference_t;
-
-        while (first != last && !static_cast<bool>(pred(*first, value)))
-            ++first;
-
-        while (first != last)
-        {
-            difference_t n = count;
-            ForwardIterator i = first;
-            ++i;
-            while (i != last && n != 1 && static_cast<bool>(pred(*i, value)))
-            {
-                ++i;
-                --n;
-            }
-            if (n == 1)
-                return first;
-            if (i == last)
-                return last;
-            first = ++i;
-            while (first != last && !static_cast<bool>(pred(*first, value)))
-                ++first;
-        }
-        return last;
-    }
-
-    // search_n for random-access iterators using a binary predicate
-    // to determine a match
-    template<typename RandomAccessIterator, typename Integer,
-             typename Value, typename BinaryPredicate>
-    inline RandomAccessIterator
-    search_n_pred_impl(RandomAccessIterator first, RandomAccessIterator last,
-                       Integer count, const Value& value,
-                       BinaryPredicate pred, std::random_access_iterator_tag)
-    {
-        typedef typename std::iterator_traits<RandomAccessIterator>::difference_type difference_t;
-
-        difference_t tail_size = last - first;
-        const difference_t pattern_size = count;
-
-        if (tail_size < pattern_size)
-            return last;
-
-        const difference_t skip_offset = pattern_size - 1;
-        RandomAccessIterator look_ahead = first + skip_offset;
-        tail_size -= pattern_size;
-
-        while (1)
-        {
-            // look_ahead points to the last element of the next
-            // possible match
-            while (!static_cast<bool>(pred(*look_ahead, value))) // skip loop
-            {
-                if (tail_size < pattern_size)
-                    return last; // no match
-                look_ahead += pattern_size;
-                tail_size -= pattern_size;
-            }
-            difference_t remainder = skip_offset;
-            for (RandomAccessIterator back_track = look_ahead - 1;
-                    pred(*back_track, value); --back_track)
-            {
-                if (--remainder == 0)
-                    return look_ahead -= skip_offset; // success
-            }
-            if (remainder > tail_size)
-            {
-                return last; // no match
-            }
-            look_ahead += remainder;
-            tail_size -= remainder;
-        }
-    }
-
-    template<typename ForwardIterator, typename Integer, typename Value>
-    inline ForwardIterator
-    search_n_impl(ForwardIterator first, ForwardIterator last,
-                  Integer count, const Value& value)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((ForwardIteratorConcept<ForwardIterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((EqualityComparableConcept<Value>));
-        BOOST_RANGE_CONCEPT_ASSERT((EqualityComparableConcept<typename std::iterator_traits<ForwardIterator>::value_type>));
-        //BOOST_RANGE_CONCEPT_ASSERT((EqualityComparableConcept2<typename std::iterator_traits<ForwardIterator>::value_type, Value>));
-
-        typedef typename std::iterator_traits<ForwardIterator>::iterator_category cat_t;
-
-        if (count <= 0)
-            return first;
-        if (count == 1)
-            return std::find(first, last, value);
-        return range_detail::search_n_impl(first, last, count, value, cat_t());
-    }
-
-    template<typename ForwardIterator, typename Integer, typename Value,
-             typename BinaryPredicate>
-    inline ForwardIterator
-    search_n_pred_impl(ForwardIterator first, ForwardIterator last,
-                       Integer count, const Value& value,
-                       BinaryPredicate pred)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((ForwardIteratorConcept<ForwardIterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((
-            BinaryPredicateConcept<
-                BinaryPredicate,
-                typename std::iterator_traits<ForwardIterator>::value_type,
-                Value>
-            ));
-
-        typedef typename std::iterator_traits<ForwardIterator>::iterator_category cat_t;
-
-        if (count <= 0)
-            return first;
-        if (count == 1)
-        {
-            while (first != last && !static_cast<bool>(pred(*first, value)))
-                ++first;
-            return first;
-        }
-        return range_detail::search_n_pred_impl(first, last, count,
-                                                value, pred, cat_t());
-    }
-} // namespace range_detail
-
-namespace range {
-
-/// \brief template function search
-///
-/// range-based version of the search std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-/// \pre Integer is an integral type
-/// \pre Value is a model of the EqualityComparableConcept
-/// \pre ForwardRange's value type is a model of the EqualityComparableConcept
-/// \pre Object's of ForwardRange's value type can be compared for equality with Objects of type Value
-template< class ForwardRange, class Integer, class Value >
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-search_n(ForwardRange& rng, Integer count, const Value& value)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return range_detail::search_n_impl(boost::begin(rng),boost::end(rng), count, value);
-}
-
-/// \overload
-template< class ForwardRange, class Integer, class Value >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-search_n(const ForwardRange& rng, Integer count, const Value& value)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
-    return range_detail::search_n_impl(boost::begin(rng), boost::end(rng), count, value);
-}
-
-/// \overload
-template< class ForwardRange, class Integer, class Value,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-search_n(ForwardRange& rng, Integer count, const Value& value,
-         BinaryPredicate binary_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type, const Value&>));
-    return range_detail::search_n_pred_impl(boost::begin(rng), boost::end(rng),
-        count, value, binary_pred);
-}
-
-/// \overload
-template< class ForwardRange, class Integer, class Value,
-          class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-search_n(const ForwardRange& rng, Integer count, const Value& value,
-         BinaryPredicate binary_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type, const Value&>));
-    return range_detail::search_n_pred_impl(boost::begin(rng), boost::end(rng),
-        count, value, binary_pred);
-}
-
-// range_return overloads
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Integer,
-          class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-search_n(ForwardRange& rng, Integer count, const Value& value)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    return range_return<ForwardRange,re>::
-        pack(range_detail::search_n_impl(boost::begin(rng),boost::end(rng),
-                           count, value),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Integer,
-          class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-search_n(const ForwardRange& rng, Integer count, const Value& value)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
-    return range_return<const ForwardRange,re>::
-        pack(range_detail::search_n_impl(boost::begin(rng), boost::end(rng),
-                           count, value),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Integer,
-          class Value, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-search_n(ForwardRange& rng, Integer count, const Value& value,
-         BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type,
-        const Value&>));
-    return range_return<ForwardRange,re>::
-        pack(range_detail::search_n_pred_impl(boost::begin(rng),
-                                              boost::end(rng),
-                           count, value, pred),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Integer,
-          class Value, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-search_n(const ForwardRange& rng, Integer count, const Value& value,
-         BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((ForwardRangeConcept<const ForwardRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-        BOOST_DEDUCED_TYPENAME range_value<const ForwardRange>::type,
-        const Value&>));
-    return range_return<const ForwardRange,re>::
-        pack(range_detail::search_n_pred_impl(boost::begin(rng),
-                                              boost::end(rng),
-                           count, value, pred),
-             rng);
-}
-
-    } // namespace range
-    using range::search_n;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/set_algorithm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/set_algorithm.hpp
deleted file mode 100644
index 82ef8ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/set_algorithm.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-//  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_SET_ALGORITHM_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_SET_ALGORITHM_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function includes
-///
-/// range-based version of the includes 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 includes(const SinglePassRange1& rng1,
-                     const SinglePassRange2& rng2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::includes(boost::begin(rng1),boost::end(rng1),
-                         boost::begin(rng2),boost::end(rng2));
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class BinaryPredicate>
-inline bool includes(const SinglePassRange1& rng1,
-                     const SinglePassRange2& rng2,
-                     BinaryPredicate         pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::includes(boost::begin(rng1), boost::end(rng1),
-                         boost::begin(rng2), boost::end(rng2), pred);
-}
-
-/// \brief template function set_union
-///
-/// range-based version of the set_union 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,
-         class OutputIterator>
-inline OutputIterator set_union(const SinglePassRange1& rng1,
-                                const SinglePassRange2& rng2,
-                                OutputIterator          out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_union(boost::begin(rng1), boost::end(rng1),
-                          boost::begin(rng2), boost::end(rng2), out);
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class OutputIterator, class BinaryPredicate>
-inline OutputIterator set_union(const SinglePassRange1& rng1,
-                                const SinglePassRange2& rng2,
-                                OutputIterator          out,
-                                BinaryPredicate         pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_union(boost::begin(rng1), boost::end(rng1),
-                          boost::begin(rng2), boost::end(rng2), out, pred);
-}
-
-/// \brief template function set_intersection
-///
-/// range-based version of the set_intersection 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,
-         class OutputIterator>
-inline OutputIterator set_intersection(const SinglePassRange1& rng1,
-                                       const SinglePassRange2& rng2,
-                                       OutputIterator          out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_intersection(boost::begin(rng1), boost::end(rng1),
-                                 boost::begin(rng2), boost::end(rng2), out);
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class OutputIterator, class BinaryPredicate>
-inline OutputIterator set_intersection(const SinglePassRange1& rng1,
-                                       const SinglePassRange2& rng2,
-                                       OutputIterator          out,
-                                       BinaryPredicate         pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_intersection(boost::begin(rng1), boost::end(rng1),
-                                 boost::begin(rng2), boost::end(rng2),
-                                 out, pred);
-}
-
-/// \brief template function set_difference
-///
-/// range-based version of the set_difference 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,
-         class OutputIterator>
-inline OutputIterator set_difference(const SinglePassRange1& rng1,
-                                     const SinglePassRange2& rng2,
-                                     OutputIterator out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_difference(boost::begin(rng1), boost::end(rng1),
-                               boost::begin(rng2), boost::end(rng2), out);
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class OutputIterator, class BinaryPredicate>
-inline OutputIterator set_difference(const SinglePassRange1& rng1,
-                                     const SinglePassRange2& rng2,
-                                     OutputIterator          out,
-                                     BinaryPredicate         pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_difference(
-        boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2), out, pred);
-}
-
-/// \brief template function set_symmetric_difference
-///
-/// range-based version of the set_symmetric_difference 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,
-         class OutputIterator>
-inline OutputIterator
-set_symmetric_difference(const SinglePassRange1& rng1,
-                         const SinglePassRange2& rng2,
-                         OutputIterator          out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_symmetric_difference(boost::begin(rng1), boost::end(rng1),
-                                         boost::begin(rng2), boost::end(rng2), out);
-}
-
-/// \overload
-template<class SinglePassRange1, class SinglePassRange2,
-         class OutputIterator, class BinaryPredicate>
-inline OutputIterator
-set_symmetric_difference(const SinglePassRange1& rng1,
-                         const SinglePassRange2& rng2,
-                         OutputIterator          out,
-                         BinaryPredicate         pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-    return std::set_symmetric_difference(
-        boost::begin(rng1), boost::end(rng1),
-        boost::begin(rng2), boost::end(rng2), out, pred);
-}
-
-    } // namespace range
-    using range::includes;
-    using range::set_union;
-    using range::set_intersection;
-    using range::set_difference;
-    using range::set_symmetric_difference;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/sort.hpp
deleted file mode 100644
index 45eecde..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/sort.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  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_SORT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_SORT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function sort
-///
-/// range-based version of the sort std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& sort(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::sort(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& sort(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::sort(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline RandomAccessRange& sort(RandomAccessRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::sort(boost::begin(rng), boost::end(rng), pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline const RandomAccessRange& sort(const RandomAccessRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::sort(boost::begin(rng), boost::end(rng), pred);
-    return rng;
-}
-
-    } // namespace range
-    using range::sort;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/stable_partition.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/stable_partition.hpp
deleted file mode 100644
index 24febfc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/stable_partition.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//  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_STABLE_PARTITION_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_STABLE_PARTITION_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function stable_partition
-///
-/// range-based version of the stable_partition std algorithm
-///
-/// \pre BidirectionalRange is a model of the BidirectionalRangeConcept
-/// \pre UnaryPredicate is a model of the UnaryPredicateConcept
-template<class BidirectionalRange, class UnaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type
-stable_partition(BidirectionalRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    return std::stable_partition(boost::begin(rng), boost::end(rng), pred);
-}
-
-/// \overload
-template<class BidirectionalRange, class UnaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_iterator<const BidirectionalRange>::type
-stable_partition(const BidirectionalRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return std::stable_partition(boost::begin(rng),boost::end(rng),pred);
-}
-
-// range_return overloads
-template<range_return_value re, class BidirectionalRange, class UnaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_return<BidirectionalRange,re>::type
-stable_partition(BidirectionalRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<BidirectionalRange> ));
-    return range_return<BidirectionalRange,re>::pack(
-        std::stable_partition(boost::begin(rng), boost::end(rng), pred),
-        rng);
-}
-
-/// \overload
-template<range_return_value re, class BidirectionalRange, class UnaryPredicate>
-inline BOOST_DEDUCED_TYPENAME range_return<const BidirectionalRange,re>::type
-stable_partition(const BidirectionalRange& rng, UnaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalRangeConcept<const BidirectionalRange> ));
-    return range_return<const BidirectionalRange,re>::pack(
-        std::stable_partition(boost::begin(rng),boost::end(rng),pred),
-        rng);
-}
-
-    } // namespace range
-    using range::stable_partition;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/stable_sort.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/stable_sort.hpp
deleted file mode 100644
index d18da4d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/stable_sort.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//  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_STABLE_SORT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_STABLE_SORT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function stable_sort
-///
-/// range-based version of the stable_sort std algorithm
-///
-/// \pre RandomAccessRange is a model of the RandomAccessRangeConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template<class RandomAccessRange>
-inline RandomAccessRange& stable_sort(RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::stable_sort(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange>
-inline const RandomAccessRange& stable_sort(const RandomAccessRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::stable_sort(boost::begin(rng), boost::end(rng));
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline RandomAccessRange& stable_sort(RandomAccessRange& rng, BinaryPredicate sort_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<RandomAccessRange> ));
-    std::stable_sort(boost::begin(rng), boost::end(rng), sort_pred);
-    return rng;
-}
-
-/// \overload
-template<class RandomAccessRange, class BinaryPredicate>
-inline const RandomAccessRange& stable_sort(const RandomAccessRange& rng, BinaryPredicate sort_pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessRangeConcept<const RandomAccessRange> ));
-    std::stable_sort(boost::begin(rng), boost::end(rng), sort_pred);
-    return rng;
-}
-
-    } // namespace range
-    using range::stable_sort;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/swap_ranges.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/swap_ranges.hpp
deleted file mode 100644
index 52b0162..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/swap_ranges.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-//  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_SWAP_RANGES_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_SWAP_RANGES_HPP_INCLUDED
-
-#include <boost/assert.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/iterator.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template<class Iterator1, class Iterator2>
-        void swap_ranges_impl(Iterator1 it1, Iterator1 last1,
-                              Iterator2 it2, Iterator2 last2,
-                              single_pass_traversal_tag,
-                              single_pass_traversal_tag)
-        {
-            ignore_unused_variable_warning(last2);
-            for (; it1 != last1; ++it1, ++it2)
-            {
-                BOOST_ASSERT( it2 != last2 );
-                std::iter_swap(it1, it2);
-            }
-        }
-
-        template<class Iterator1, class Iterator2>
-        void swap_ranges_impl(Iterator1 it1, Iterator1 last1,
-                              Iterator2 it2, Iterator2 last2,
-                              random_access_traversal_tag,
-                              random_access_traversal_tag)
-        {
-            ignore_unused_variable_warning(last2);
-            BOOST_ASSERT( last2 - it2 >= last1 - it1 );
-            std::swap_ranges(it1, last1, it2);
-        }
-
-        template<class Iterator1, class Iterator2>
-        void swap_ranges_impl(Iterator1 first1, Iterator1 last1,
-                              Iterator2 first2, Iterator2 last2)
-        {
-            swap_ranges_impl(first1, last1, first2, last2,
-                BOOST_DEDUCED_TYPENAME iterator_traversal<Iterator1>::type(),
-                BOOST_DEDUCED_TYPENAME iterator_traversal<Iterator2>::type());
-        }
-    } // namespace range_detail
-
-    namespace range
-    {
-
-/// \brief template function swap_ranges
-///
-/// range-based version of the swap_ranges std algorithm
-///
-/// \pre SinglePassRange1 is a model of the SinglePassRangeConcept
-/// \pre SinglePassRange2 is a model of the SinglePassRangeConcept
-template< class SinglePassRange1, class SinglePassRange2 >
-inline SinglePassRange2&
-swap_ranges(SinglePassRange1& range1, SinglePassRange2& range2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<SinglePassRange1>));
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<SinglePassRange2>));
-
-    boost::range_detail::swap_ranges_impl(
-        boost::begin(range1), boost::end(range1),
-        boost::begin(range2), boost::end(range2));
-
-    return range2;
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2 >
-inline SinglePassRange2&
-swap_ranges(const SinglePassRange1& range1, SinglePassRange2& range2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange1>));
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<SinglePassRange2>));
-
-    boost::range_detail::swap_ranges_impl(
-        boost::begin(range1), boost::end(range1),
-        boost::begin(range2), boost::end(range2));
-
-    return range2;
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2 >
-inline const SinglePassRange2&
-swap_ranges(SinglePassRange1& range1, const SinglePassRange2& range2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<SinglePassRange1>));
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange2>));
-
-    boost::range_detail::swap_ranges_impl(
-        boost::begin(range1), boost::end(range1),
-        boost::begin(range2), boost::end(range2));
-
-    return range2;
-}
-
-/// \overload
-template< class SinglePassRange1, class SinglePassRange2 >
-inline const SinglePassRange2&
-swap_ranges(const SinglePassRange1& range1, const SinglePassRange2& range2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange1>));
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange2>));
-
-    boost::range_detail::swap_ranges_impl(
-        boost::begin(range1), boost::end(range1),
-        boost::begin(range2), boost::end(range2));
-
-    return range2;
-}
-
-    } // namespace range
-    using range::swap_ranges;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/transform.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/transform.hpp
deleted file mode 100644
index ade147a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/transform.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-//  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_TRANSFORM_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_TRANSFORM_HPP_INCLUDED
-
-#include <boost/assert.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-        /// \brief template function transform
-        ///
-        /// range-based version of the transform std algorithm
-        ///
-        /// \pre SinglePassRange1 is a model of the SinglePassRangeConcept
-        /// \pre SinglePassRange2 is a model of the SinglePassRangeConcept
-        /// \pre OutputIterator is a model of the OutputIteratorConcept
-        /// \pre UnaryOperation is a model of the UnaryFunctionConcept
-        /// \pre BinaryOperation is a model of the BinaryFunctionConcept
-        template< class SinglePassRange1,
-                  class OutputIterator,
-                  class UnaryOperation >
-        inline OutputIterator
-        transform(const SinglePassRange1& rng,
-                  OutputIterator          out,
-                  UnaryOperation          fun)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            return std::transform(boost::begin(rng),boost::end(rng),out,fun);
-        }
-
-    } // namespace range
-
-    namespace range_detail
-    {
-        template< class SinglePassTraversalReadableIterator1,
-                  class SinglePassTraversalReadableIterator2,
-                  class OutputIterator,
-                  class BinaryFunction >
-        inline OutputIterator
-        transform_impl(SinglePassTraversalReadableIterator1 first1,
-                       SinglePassTraversalReadableIterator1 last1,
-                       SinglePassTraversalReadableIterator2 first2,
-                       SinglePassTraversalReadableIterator2 last2,
-                       OutputIterator                       out,
-                       BinaryFunction                       fn)
-        {
-            for (; first1 != last1 && first2 != last2; ++first1, ++first2)
-            {
-                *out = fn(*first1, *first2);
-                ++out;
-            }
-            return out;
-        }
-    }
-
-    namespace range
-    {
-
-        /// \overload
-        template< class SinglePassRange1,
-                  class SinglePassRange2,
-                  class OutputIterator,
-                  class BinaryOperation >
-        inline OutputIterator
-        transform(const SinglePassRange1& rng1,
-                  const SinglePassRange2& rng2,
-                  OutputIterator          out,
-                  BinaryOperation         fun)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-            return boost::range_detail::transform_impl(
-                        boost::begin(rng1), boost::end(rng1),
-                        boost::begin(rng2), boost::end(rng2),
-                        out, fun);
-        }
-
-    } // namespace range
-    using range::transform;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/unique.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/unique.hpp
deleted file mode 100644
index 8017a83..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/unique.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-//  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_UNIQUE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_UNIQUE_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function unique
-///
-/// range-based version of the unique std algorithm
-///
-/// \pre Rng meets the requirements for a Forward range
-template< range_return_value re, class ForwardRange >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-unique( ForwardRange& rng )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::
-        pack( std::unique( boost::begin(rng),
-                           boost::end(rng)), rng );
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-unique( const ForwardRange& rng )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::
-        pack( std::unique( boost::begin(rng),
-                           boost::end(rng)), rng );
-}
-/// \overload
-template< range_return_value re, class ForwardRange, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
-unique( ForwardRange& rng, BinaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::
-        pack(std::unique(boost::begin(rng), boost::end(rng), pred),
-             rng);
-}
-/// \overload
-template< range_return_value re, class ForwardRange, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-unique( const ForwardRange& rng, BinaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::
-        pack(std::unique(boost::begin(rng), boost::end(rng), pred),
-             rng);
-}
-
-/// \overload
-template< class ForwardRange >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange, return_begin_found>::type
-unique( ForwardRange& rng )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return ::boost::range::unique<return_begin_found>(rng);
-}
-/// \overload
-template< class ForwardRange >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange, return_begin_found>::type
-unique( const ForwardRange& rng )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return ::boost::range::unique<return_begin_found>(rng);
-}
-/// \overload
-template< class ForwardRange, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<ForwardRange, return_begin_found>::type
-unique( ForwardRange& rng, BinaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return ::boost::range::unique<return_begin_found>(rng, pred);
-}
-/// \overload
-template< class ForwardRange, class BinaryPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange, return_begin_found>::type
-unique( const ForwardRange& rng, BinaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return ::boost::range::unique<return_begin_found>(rng, pred);
-}
-
-    } // namespace range
-    using range::unique;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/unique_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/unique_copy.hpp
deleted file mode 100644
index 0682d74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/unique_copy.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//  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_UNIQUE_COPY_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_UNIQUE_COPY_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function unique_copy
-///
-/// range-based version of the unique_copy std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre OutputIterator is a model of the OutputIteratorConcept
-/// \pre BinaryPredicate is a model of the BinaryPredicateConcept
-template< class SinglePassRange, class OutputIterator >
-inline OutputIterator
-unique_copy( const SinglePassRange& rng, OutputIterator out_it )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::unique_copy(boost::begin(rng), boost::end(rng), out_it);
-}
-/// \overload
-template< class SinglePassRange, class OutputIterator, class BinaryPredicate >
-inline OutputIterator
-unique_copy( const SinglePassRange& rng, OutputIterator out_it,
-             BinaryPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    return std::unique_copy(boost::begin(rng), boost::end(rng), out_it, pred);
-}
-
-    } // namespace range
-    using range::unique_copy;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/upper_bound.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/upper_bound.hpp
deleted file mode 100644
index c8acbc6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm/upper_bound.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//  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_UPPER_BOUND_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_UPPER_BOUND_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/detail/range_return.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function upper_bound
-///
-/// range-based version of the upper_bound std algorithm
-///
-/// \pre ForwardRange is a model of the ForwardRangeConcept
-template< class ForwardRange, class Value >
-inline
-BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
->::type
-upper_bound( ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::upper_bound(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template< class ForwardRange, class Value >
-BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-upper_bound( const ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::upper_bound(boost::begin(rng), boost::end(rng), val);
-}
-
-/// \overload
-template< class ForwardRange, class Value, class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
->::type
-upper_bound( ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return std::upper_bound(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-/// \overload
-template< class ForwardRange, class Value, class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type
-upper_bound( const ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return std::upper_bound(boost::begin(rng), boost::end(rng), val, pred);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
->::type
-upper_bound( ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::
-        pack(std::upper_bound(boost::begin(rng), boost::end(rng), val),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-upper_bound( const ForwardRange& rng, Value val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::
-        pack(std::upper_bound(boost::begin(rng), boost::end(rng), val),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value,
-          class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME disable_if<
-    is_const<ForwardRange>,
-    BOOST_DEDUCED_TYPENAME range_return<ForwardRange,re>::type
->::type
-upper_bound( ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    return range_return<ForwardRange,re>::
-        pack(std::upper_bound(boost::begin(rng), boost::end(rng), val, pred),
-             rng);
-}
-
-/// \overload
-template< range_return_value re, class ForwardRange, class Value,
-          class SortPredicate >
-inline BOOST_DEDUCED_TYPENAME range_return<const ForwardRange,re>::type
-upper_bound( const ForwardRange& rng, Value val, SortPredicate pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    return range_return<const ForwardRange,re>::
-        pack(std::upper_bound(boost::begin(rng), boost::end(rng), val, pred),
-             rng);
-}
-
-    } // namespace range
-    using range::upper_bound;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext.hpp
deleted file mode 100644
index 783d38a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 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)
-//
-//  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_ALGORITHM_EXT_HPP
-#define BOOST_RANGE_ALGORITHM_EXT_HPP
-
-#include <boost/range/algorithm_ext/copy_n.hpp>
-#include <boost/range/algorithm_ext/for_each.hpp>
-#include <boost/range/algorithm_ext/is_sorted.hpp>
-#include <boost/range/algorithm_ext/iota.hpp>
-#include <boost/range/algorithm_ext/overwrite.hpp>
-#include <boost/range/algorithm_ext/push_back.hpp>
-#include <boost/range/algorithm_ext/push_front.hpp>
-#include <boost/range/algorithm_ext/insert.hpp>
-#include <boost/range/algorithm_ext/erase.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/copy_n.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/copy_n.hpp
deleted file mode 100644
index f855441..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/copy_n.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//  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_COPY_N_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_COPY_N_HPP_INCLUDED
-
-#include <boost/assert.hpp>
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/distance.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function copy
-///
-/// range-based version of the copy std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-/// \pre OutputIterator is a model of the OutputIteratorConcept
-/// \pre 0 <= n <= distance(rng)
-template< class SinglePassRange, class Size, class OutputIterator >
-inline OutputIterator copy_n(const SinglePassRange& rng, Size n, OutputIterator out)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange> ));
-    BOOST_ASSERT( n <= static_cast<Size>(::boost::distance(rng)) );
-    BOOST_ASSERT( n >= static_cast<Size>(0) );
-
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange>::type source = ::boost::begin(rng);
-
-    for (Size i = 0; i < n; ++i, ++out, ++source)
-        *out = *source;
-
-    return out;
-}
-
-    } // namespace range
-    using ::boost::range::copy_n;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/erase.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/erase.hpp
deleted file mode 100644
index 107d32b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/erase.hpp
+++ /dev/null
@@ -1,61 +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_EXT_ERASE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_ERASE_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template< class Container >
-inline Container& erase( Container& on,
-      iterator_range<BOOST_DEDUCED_TYPENAME Container::iterator> to_erase )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<Container> ));
-    on.erase( boost::begin(to_erase), boost::end(to_erase) );
-    return on;
-}
-
-template< class Container, class T >
-inline Container& remove_erase( Container& on, const T& val )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<Container> ));
-    on.erase(
-        std::remove(boost::begin(on), boost::end(on), val),
-        boost::end(on));
-    return on;
-}
-
-template< class Container, class Pred >
-inline Container& remove_erase_if( Container& on, Pred pred )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<Container> ));
-    on.erase(
-        std::remove_if(boost::begin(on), boost::end(on), pred),
-        boost::end(on));
-    return on;
-}
-
-    } // namespace range
-    using range::erase;
-    using range::remove_erase;
-    using range::remove_erase_if;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/for_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/for_each.hpp
deleted file mode 100644
index a470e2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/for_each.hpp
+++ /dev/null
@@ -1,86 +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_EXT_FOR_EACH_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_FOR_EACH_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template<class InputIterator1, class InputIterator2, class Fn2>
-        inline Fn2 for_each_impl(InputIterator1 first1, InputIterator1 last1,
-                                 InputIterator2 first2, InputIterator2 last2,
-                                 Fn2 fn)
-        {
-            for (; first1 != last1 && first2 != last2; ++first1, ++first2)
-            {
-                fn(*first1, *first2);
-            }
-            return fn;
-        }
-    }
-
-    namespace range
-    {
-        template<class SinglePassRange1, class SinglePassRange2, class Fn2>
-        inline Fn2 for_each(const SinglePassRange1& rng1, const SinglePassRange2& rng2, Fn2 fn)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-            return ::boost::range_detail::for_each_impl(
-                ::boost::begin(rng1), ::boost::end(rng1),
-                ::boost::begin(rng2), ::boost::end(rng2), fn);
-        }
-
-        template<class SinglePassRange1, class SinglePassRange2, class Fn2>
-        inline Fn2 for_each(const SinglePassRange1& rng1, SinglePassRange2& rng2, Fn2 fn)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-            return ::boost::range_detail::for_each_impl(
-                ::boost::begin(rng1), ::boost::end(rng1),
-                ::boost::begin(rng2), ::boost::end(rng2), fn);
-        }
-
-        template<class SinglePassRange1, class SinglePassRange2, class Fn2>
-        inline Fn2 for_each(SinglePassRange1& rng1, const SinglePassRange2& rng2, Fn2 fn)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-            return ::boost::range_detail::for_each_impl(
-                ::boost::begin(rng1), ::boost::end(rng1),
-                ::boost::begin(rng2), ::boost::end(rng2), fn);
-        }
-
-        template<class SinglePassRange1, class SinglePassRange2, class Fn2>
-        inline Fn2 for_each(SinglePassRange1& rng1, SinglePassRange2& rng2, Fn2 fn)
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-            return ::boost::range_detail::for_each_impl(
-                ::boost::begin(rng1), ::boost::end(rng1),
-                ::boost::begin(rng2), ::boost::end(rng2), fn);
-        }
-    } // namespace range
-    using range::for_each;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/insert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/insert.hpp
deleted file mode 100644
index c0c04c8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/insert.hpp
+++ /dev/null
@@ -1,48 +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_EXT_INSERT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_INSERT_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template< class Container, class Range >
-inline Container& insert( Container& on,
-                          BOOST_DEDUCED_TYPENAME Container::iterator before,
-                          const Range& from )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<Container> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<Range> ));
-    on.insert( before, boost::begin(from), boost::end(from) );
-    return on;
-}
-
-template< class Container, class Range >
-inline Container& insert( Container& on, const Range& from )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( ForwardRangeConcept<Container> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<Range> ));
-    on.insert(boost::begin(from), boost::end(from));
-}
-
-    } // namespace range
-    using range::insert;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/iota.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/iota.hpp
deleted file mode 100644
index f7af446..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/iota.hpp
+++ /dev/null
@@ -1,54 +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_EXT_IOTA_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_IOTA_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template< class ForwardRange, class Value >
-inline ForwardRange& iota( ForwardRange& rng, Value x )
-{
-    BOOST_CONCEPT_ASSERT(( ForwardRangeConcept<ForwardRange> ));
-    typedef BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type iterator_t;
-
-    iterator_t last_target = ::boost::end(rng);
-    for (iterator_t target = ::boost::begin(rng); target != last_target; ++target, ++x)
-        *target = x;
-
-    return rng;
-}
-
-template< class ForwardRange, class Value >
-inline const ForwardRange& iota( const ForwardRange& rng, Value x )
-{
-    BOOST_CONCEPT_ASSERT(( ForwardRangeConcept<const ForwardRange> ));
-    typedef BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type iterator_t;
-    
-    iterator_t last_target = ::boost::end(rng);
-    for (iterator_t target = ::boost::begin(rng); target != last_target; ++target, ++x)
-        *target = x;
-    
-    return rng;
-}
-
-    } // namespace range
-    using range::iota;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/is_sorted.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/is_sorted.hpp
deleted file mode 100644
index 3d00729..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/is_sorted.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-//  Copyright Bryce Lelbach 2010
-//  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_EXT_IS_SORTED_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_IS_SORTED_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/detail/is_sorted.hpp>
-#include <algorithm>
-
-namespace boost
-{
-    namespace range
-    {
-
-/// \brief template function is_sorted
-///
-/// range-based version of the is_sorted std algorithm
-///
-/// \pre SinglePassRange is a model of the SinglePassRangeConcept
-template<class SinglePassRange>
-inline bool is_sorted(const SinglePassRange& rng)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((LessThanComparableConcept<BOOST_DEDUCED_TYPENAME
-      range_value<const SinglePassRange>::type>));
-    return ::boost::detail::is_sorted(boost::begin(rng), boost::end(rng));
-}
-
-/// \overload
-template<class SinglePassRange, class BinaryPredicate>
-inline bool is_sorted(const SinglePassRange& rng, BinaryPredicate pred)
-{
-    BOOST_RANGE_CONCEPT_ASSERT((SinglePassRangeConcept<const SinglePassRange>));
-    BOOST_RANGE_CONCEPT_ASSERT((BinaryPredicateConcept<BinaryPredicate,
-      BOOST_DEDUCED_TYPENAME range_value<const SinglePassRange>::type,
-      BOOST_DEDUCED_TYPENAME range_value<const SinglePassRange>::type>));
-    return ::boost::detail::is_sorted(boost::begin(rng), boost::end(rng), pred);
-}
-
-    } // namespace range
-
-using range::is_sorted;
-
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/overwrite.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/overwrite.hpp
deleted file mode 100644
index f84f6ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/overwrite.hpp
+++ /dev/null
@@ -1,84 +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_EXT_OVERWRITE_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_OVERWRITE_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template< class SinglePassRange1, class SinglePassRange2 >
-inline void overwrite( const SinglePassRange1& from, SinglePassRange2& to )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type
-        i = boost::begin(from), e = boost::end(from);
-
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type
-        out = boost::begin(to);
-
-#ifndef NDEBUG
-    BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type
-        last_out = boost::end(to);
-#endif
-
-    for( ; i != e; ++out, ++i )
-    {
-#ifndef NDEBUG
-        BOOST_ASSERT( out != last_out
-            && "out of bounds in boost::overwrite()" );
-#endif
-        *out = *i;
-    }
-}
-
-template< class SinglePassRange1, class SinglePassRange2 >
-inline void overwrite( const SinglePassRange1& from, const SinglePassRange2& to )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange1>::type
-        i = boost::begin(from), e = boost::end(from);
-
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange2>::type
-        out = boost::begin(to);
-
-#ifndef NDEBUG
-    BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange2>::type
-        last_out = boost::end(to);
-#endif
-
-    for( ; i != e; ++out, ++i )
-    {
-#ifndef NDEBUG
-        BOOST_ASSERT( out != last_out
-            && "out of bounds in boost::overwrite()" );
-#endif
-        *out = *i;
-    }
-}
-
-    } // namespace range
-    using range::overwrite;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/push_back.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/push_back.hpp
deleted file mode 100644
index 6fb9b9b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/push_back.hpp
+++ /dev/null
@@ -1,41 +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_EXT_PUSH_BACK_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_PUSH_BACK_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template< class Container, class Range >
-inline Container& push_back( Container& on, const Range& from )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<Container> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const Range> ));
-    BOOST_ASSERT_MSG(!range_detail::is_same_object(on, from),
-        "cannot copy from a container to itself");
-    on.insert( on.end(), boost::begin(from), boost::end(from) );
-    return on;
-}
-
-    } // namespace range
-    using range::push_back;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/push_front.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/push_front.hpp
deleted file mode 100644
index e893098..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/algorithm_ext/push_front.hpp
+++ /dev/null
@@ -1,41 +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_EXT_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EXT_PUSH_FRONT_HPP_INCLUDED
-
-#include <boost/range/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template< class Container, class Range >
-inline Container& push_front( Container& on, const Range& from )
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<Container> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const Range> ));
-    BOOST_ASSERT_MSG(!range_detail::is_same_object(on, from),
-        "cannot copy from a container to itself");
-    on.insert( on.begin(), boost::begin(from), boost::end(from) );
-    return on;
-}
-
-    } // namespace range
-    using range::push_front;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/any_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/any_range.hpp
deleted file mode 100644
index 1cb5996..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/any_range.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ANY_RANGE_HPP_INCLUDED
-#define BOOST_RANGE_ANY_RANGE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/range/detail/any_iterator.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/reference.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/iterator_range_core.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // If T is use_default, return the result of Default, otherwise
-        // return T.
-        //
-        // This is an implementation artifact used to pick intelligent default
-        // values when the user specified boost::use_default as a template
-        // parameter.
-        template<
-            class T,
-            class Default
-        >
-        struct any_range_default_help
-            : mpl::eval_if<
-                is_same<T, use_default>
-              , Default
-              , mpl::identity<T>
-            >
-        {
-        };
-
-        template<
-            class WrappedRange
-          , class Value
-          , class Reference
-        >
-        struct any_range_value_type
-        {
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-            typedef typename any_range_default_help<
-                    Value
-                  , mpl::eval_if<
-                        is_same<Reference, use_default>
-                      , range_value<
-                            typename remove_const<WrappedRange>
-                        ::type>
-                      , remove_reference<Reference>
-                    >
-                >::type type;
-# else
-            typedef typename any_range_default_help<
-                Value
-              , range_value<
-                    typename remove_const<WrappedRange>
-                ::type>
-            >::type type;
-# endif
-        };
-
-        template<
-            class Value
-          , class Traversal
-          , class Reference = Value&
-          , class Difference = std::ptrdiff_t
-          , class Buffer = use_default
-        >
-        class any_range
-            : public iterator_range<
-                        any_iterator<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , typename any_range_default_help<
-                                Buffer
-                              , mpl::identity<any_iterator_default_buffer>
-                            >::type
-                        >
-                    >
-        {
-            typedef iterator_range<
-                        any_iterator<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , typename any_range_default_help<
-                                Buffer
-                              , mpl::identity<any_iterator_default_buffer>
-                            >::type
-                        >
-                    > base_type;
-
-            struct enabler {};
-            struct disabler {};
-        public:
-            any_range()
-            {
-            }
-
-            any_range(const any_range& other)
-                : base_type(other)
-            {
-            }
-
-            template<class WrappedRange>
-            any_range(WrappedRange& wrapped_range)
-            : base_type(boost::begin(wrapped_range),
-                        boost::end(wrapped_range))
-            {
-            }
-
-            template<class WrappedRange>
-            any_range(const WrappedRange& wrapped_range)
-            : base_type(boost::begin(wrapped_range),
-                        boost::end(wrapped_range))
-            {
-            }
-
-            template<
-                class OtherValue
-              , class OtherTraversal
-              , class OtherReference
-              , class OtherDifference
-            >
-            any_range(const any_range<
-                                OtherValue
-                              , OtherTraversal
-                              , OtherReference
-                              , OtherDifference
-                              , Buffer
-                            >& other)
-            : base_type(boost::begin(other), boost::end(other))
-            {
-            }
-
-            template<class Iterator>
-            any_range(Iterator first, Iterator last)
-                : base_type(first, last)
-            {
-            }
-        };
-
-        template<
-            class WrappedRange
-          , class Value = use_default
-          , class Traversal = use_default
-          , class Reference = use_default
-          , class Difference = use_default
-          , class Buffer = use_default
-        >
-        struct any_range_type_generator
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<WrappedRange> ));
-            typedef any_range<
-                typename any_range_value_type<
-                    WrappedRange
-                  , Value
-                  , typename any_range_default_help<
-                        Reference
-                      , range_reference<WrappedRange>
-                    >::type
-                >::type
-              , typename any_range_default_help<
-                            Traversal
-                          , iterator_traversal<
-                                typename range_iterator<WrappedRange>::type
-                            >
-                        >::type
-              , typename any_range_default_help<
-                    Reference
-                  , range_reference<WrappedRange>
-                >::type
-              , typename any_range_default_help<
-                    Difference
-                  , range_difference<WrappedRange>
-                >::type
-              , typename any_range_default_help<
-                    Buffer
-                  , mpl::identity<any_iterator_default_buffer>
-                >::type
-            > type;
-        };
-    } // namespace range_detail
-
-    using range_detail::any_range;
-    using range_detail::any_range_type_generator;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/as_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/as_array.hpp
deleted file mode 100644
index 69a1580..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/as_array.hpp
+++ /dev/null
@@ -1,45 +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_ARRAY_HPP
-#define BOOST_RANGE_AS_ARRAY_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/detail/str_types.hpp>
-
-namespace boost
-{
-
-    template< class R >
-    inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<R>::type > 
-    as_array( R& r )
-    {
-        return boost::make_iterator_range( r );
-    }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    template< class Range >
-    inline boost::iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type > 
-    as_array( const Range& r )
-    {
-        return boost::make_iterator_range( r );
-    }
-    
-#endif
-    
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/as_literal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/as_literal.hpp
deleted file mode 100644
index 1c16e4a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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( const 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/rbgl_trimmed_boost_1_61_0/boost/range/atl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/atl.hpp
deleted file mode 100644
index e6500e5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/atl.hpp
+++ /dev/null
@@ -1,724 +0,0 @@
-#ifndef BOOST_RANGE_ATL_HPP
-#define BOOST_RANGE_ATL_HPP
-
-
-
-
-// Boost.Range ATL Extension
-//
-// Copyright Shunsuke Sogame 2005-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)
-
-
-
-
-// config
-//
-
-
-#include <atldef.h> // _ATL_VER
-
-
-#if !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-    #if (_ATL_VER < 0x0700)
-        #define BOOST_RANGE_ATL_NO_COLLECTIONS
-    #endif
-#endif
-
-
-#if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-    #if (_ATL_VER < 0x0700) // dubious
-        #define BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX
-    #endif
-#endif
-
-
-// forward declarations
-//
-
-
-#include <basetyps.h> // IID
-
-
-namespace ATL {
-
-
-#if !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-
-
-    // arrays
-    //
-    template< class E, class ETraits >
-    class CAtlArray;
-
-    template< class E >
-    class CAutoPtrArray;
-
-    template< class I, const IID *piid >
-    class CInterfaceArray;
-
-
-    // lists
-    //
-    template< class E, class ETraits >
-    class CAtlList;
-
-    template< class E >
-    class CAutoPtrList;
-
-    template< class E, class Allocator >
-    class CHeapPtrList;
-
-    template< class I, const IID *piid >
-    class CInterfaceList;
-
-
-    // maps
-    //
-    template< class K, class V, class KTraits, class VTraits >
-    class CAtlMap;
-
-    template< class K, class V, class KTraits, class VTraits >
-    class CRBTree;
-
-    template< class K, class V, class KTraits, class VTraits >
-    class CRBMap;
-
-    template< class K, class V, class KTraits, class VTraits >
-    class CRBMultiMap;
-
-
-    // strings
-    //
-#if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLESTRING)
-    template< class BaseType, bool t_bMFCDLL >
-    class CSimpleStringT;
-#else
-    template< class BaseType >
-    class CSimpleStringT;
-#endif
-
-    template< class BaseType, class StringTraits >
-    class CStringT;
-
-    template< class StringType, int t_nChars >
-    class CFixedStringT;
-
-    template< class BaseType, const int t_nSize >
-    class CStaticString;
-
-
-#endif // !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-
-
-    // simples
-    //
-#if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-
-    template< class T, class TEqual >
-    class CSimpleArray;
-
-    template< class TKey, class TVal, class TEqual >
-    class CSimpleMap;
-
-#else
-
-    template< class T >
-    class CSimpleArray;
-
-    template< class T >
-    class CSimpleValArray;
-
-    template< class TKey, class TVal >
-    class CSimpleMap;
-
-#endif // !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-
-
-    // pointers
-    //
-    template< class E >
-    class CAutoPtr;
-
-    template< class T >
-    class CComPtr;
-
-    template< class T, const IID *piid >
-    class CComQIPtr;
-
-    template< class E, class Allocator >
-    class CHeapPtr;
-
-    template< class T >
-    class CAdapt;
-
-
-} // namespace ATL
-
-
-
-
-// indirect_iterator customizations
-//
-
-
-#include <boost/mpl/identity.hpp>
-#include <boost/pointee.hpp>
-
-
-namespace boost {
-
-
-    template< class E >
-    struct pointee< ATL::CAutoPtr<E> > :
-        mpl::identity<E>
-    { };
-
-    template< class T >
-    struct pointee< ATL::CComPtr<T> > :
-        mpl::identity<T>
-    { };
-
-    template< class T, const IID *piid >
-    struct pointee< ATL::CComQIPtr<T, piid> > :
-        mpl::identity<T>
-    { };
-
-    template< class E, class Allocator >
-    struct pointee< ATL::CHeapPtr<E, Allocator> > :
-        mpl::identity<E>
-    { };
-
-    template< class T >
-    struct pointee< ATL::CAdapt<T> > :
-        pointee<T>
-    { };
-
-
-} // namespace boost
-
-
-
-
-// extended customizations
-//
-
-
-#include <boost/iterator/indirect_iterator.hpp>
-#include <boost/iterator/zip_iterator.hpp>
-#include <boost/range/detail/microsoft.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <atlbase.h> // CComBSTR
-
-
-namespace boost { namespace range_detail_microsoft {
-
-
-#if !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-
-
-    // arrays
-    //
-
-    struct atl_array_functions :
-        array_functions
-    {
-        template< class Iterator, class X >
-        Iterator end(X& x) // redefine
-        {
-            return x.GetData() + x.GetCount(); // no 'GetSize()'
-        }
-    };
-
-
-    template< class E, class ETraits >
-    struct customization< ATL::CAtlArray<E, ETraits> > :
-        atl_array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef E val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< class E >
-    struct customization< ATL::CAutoPtrArray<E> > :
-        atl_array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            // ATL::CAutoPtr/CHeapPtr is no assignable.
-            typedef ATL::CAutoPtr<E> val_t;
-            typedef val_t *miter_t;
-            typedef val_t const *citer_t;
-
-            typedef indirect_iterator<miter_t> mutable_iterator;
-            typedef indirect_iterator<citer_t> const_iterator;
-        };
-    };
-
-
-    template< class I, const IID *piid >
-    struct customization< ATL::CInterfaceArray<I, piid> > :
-        atl_array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ATL::CComQIPtr<I, piid> val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< class E, class ETraits >
-    struct customization< ATL::CAtlList<E, ETraits> > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef E val_t;
-
-            typedef list_iterator<X, val_t> mutable_iterator;
-            typedef list_iterator<X const, val_t const> const_iterator;
-        };
-    };
-
-
-    struct indirected_list_functions
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            typedef typename Iterator::base_type base_t; // == list_iterator
-            return Iterator(base_t(x, x.GetHeadPosition()));
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            typedef typename Iterator::base_type base_t;
-            return Iterator(base_t(x, POSITION(0)));
-        }
-    };
-
-
-    template< class E >
-    struct customization< ATL::CAutoPtrList<E> > :
-        indirected_list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ATL::CAutoPtr<E> val_t;
-            typedef list_iterator<X, val_t> miter_t;
-            typedef list_iterator<X const, val_t const> citer_t;
-
-            typedef indirect_iterator<miter_t> mutable_iterator;
-            typedef indirect_iterator<citer_t> const_iterator;
-        };
-    };
-
-
-    template< class E, class Allocator >
-    struct customization< ATL::CHeapPtrList<E, Allocator> > :
-        indirected_list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ATL::CHeapPtr<E, Allocator> val_t;
-            typedef list_iterator<X, val_t> miter_t;
-            typedef list_iterator<X const, val_t const> citer_t;
-
-            typedef indirect_iterator<miter_t> mutable_iterator;
-            typedef indirect_iterator<citer_t> const_iterator;
-        };
-    };
-
-
-    template< class I, const IID *piid >
-    struct customization< ATL::CInterfaceList<I, piid> > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ATL::CComQIPtr<I, piid> val_t;
-
-            typedef list_iterator<X, val_t> mutable_iterator;
-            typedef list_iterator<X const, val_t const> const_iterator;
-        };
-    };
-
-
-    // maps
-    //
-
-    struct atl_rb_tree_tag
-    { };
-
-    template< >
-    struct customization< atl_rb_tree_tag > :
-        indirected_list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef typename X::CPair val_t;
-
-            typedef list_iterator<X, val_t *, val_t *> miter_t;
-            typedef list_iterator<X const, val_t const *, val_t const *> citer_t;
-            
-            typedef indirect_iterator<miter_t> mutable_iterator;
-            typedef indirect_iterator<citer_t> const_iterator;
-        };
-    };
-
-
-    template< class K, class V, class KTraits, class VTraits >
-    struct customization< ATL::CAtlMap<K, V, KTraits, VTraits> > :
-        customization< atl_rb_tree_tag >
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x) // redefine
-        {
-            typedef typename Iterator::base_type base_t; // == list_iterator
-            return Iterator(base_t(x, x.GetStartPosition())); // no 'GetHeadPosition'
-        }
-    };
-
-
-    // strings
-    //
-
-    struct atl_string_tag
-    { };
-
-    template< >
-    struct customization< atl_string_tag >
-    {
-        template< class X >
-        struct meta
-        {
-            typedef typename X::PXSTR mutable_iterator;
-            typedef typename X::PCXSTR const_iterator;
-        };
-
-        template< class Iterator, class X >
-        typename mutable_<Iterator, X>::type begin(X& x)
-        {
-            return x.GetBuffer(0);
-        }
-
-        template< class Iterator, class X >
-        Iterator begin(X const& x)
-        {
-            return x.GetString();
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return begin<Iterator>(x) + x.GetLength();
-        }
-    };
-
-
-    template< class BaseType, const int t_nSize >
-    struct customization< ATL::CStaticString<BaseType, t_nSize> >
-    {
-        template< class X >
-        struct meta
-        {
-            typedef BaseType const *mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-
-        template< class Iterator, class X >
-        Iterator begin(X const& x)
-        {
-            return x;
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X const& x)
-        {
-            return begin<Iterator>(x) + X::GetLength();
-        }
-    };
-
-
-#endif // !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-
-
-    template< >
-    struct customization< ATL::CComBSTR >
-    {
-        template< class X >
-        struct meta
-        {
-            typedef OLECHAR *mutable_iterator;
-            typedef OLECHAR const *const_iterator;
-        };
-
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return x.operator BSTR();
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return begin<Iterator>(x) + x.Length();
-        }
-    };
-
-
-    // simples
-    //
-
-#if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-    template< class T, class TEqual >
-    struct customization< ATL::CSimpleArray<T, TEqual> > :
-#else
-    template< class T >
-    struct customization< ATL::CSimpleArray<T> > :
-#endif
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef T val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-#if defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-
-    template< class T >
-    struct customization< ATL::CSimpleValArray<T> > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef T val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-#endif // defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-
-
-#if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-    template< class TKey, class TVal, class TEqual >
-    struct customization< ATL::CSimpleMap<TKey, TVal, TEqual> >
-#else
-    template< class TKey, class TVal >
-    struct customization< ATL::CSimpleMap<TKey, TVal> >
-#endif
-    {
-        template< class X >
-        struct meta
-        {
-            typedef TKey k_val_t;
-            typedef k_val_t *k_miter_t;
-            typedef k_val_t const *k_citer_t;
-
-            typedef TVal v_val_t;
-            typedef v_val_t *v_miter_t;
-            typedef v_val_t const *v_citer_t;
-
-            // Topic:
-            // 'std::pair' can't contain references
-            // because of reference to reference problem.
-
-            typedef zip_iterator< tuple<k_miter_t, v_miter_t> > mutable_iterator;
-            typedef zip_iterator< tuple<k_citer_t, v_citer_t> > const_iterator;
-        };
-
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return Iterator(boost::make_tuple(x.m_aKey, x.m_aVal));
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return Iterator(boost::make_tuple(x.m_aKey + x.GetSize(), x.m_aVal + x.GetSize()));
-        }
-    };
-
-
-} } // namespace boost::range_detail_microsoft
-
-
-
-
-// range customizations
-//
-
-
-#if !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-
-
-    // arrays
-    //
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CAtlArray, 2
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CAutoPtrArray, 1
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CInterfaceArray, (class)(const IID *)
-    )
-
-
-    // lists
-    //
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CAtlList, 2
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CAutoPtrList, 1
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CHeapPtrList, 2
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CInterfaceList, (class)(const IID *)
-    )
-
-
-    //maps
-    //
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CAtlMap, 4
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::atl_rb_tree_tag,
-        (ATL, BOOST_PP_NIL), CRBTree, 4
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::atl_rb_tree_tag,
-        (ATL, BOOST_PP_NIL), CRBMap, 4
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::atl_rb_tree_tag,
-        (ATL, BOOST_PP_NIL), CRBMultiMap, 4
-    )
-
-
-    // strings
-    //
-    #if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLESTRING)
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-            boost::range_detail_microsoft::atl_string_tag,
-            (ATL, BOOST_PP_NIL), CSimpleStringT, (class)(bool)
-        )
-    #else
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-            boost::range_detail_microsoft::atl_string_tag,
-            (ATL, BOOST_PP_NIL), CSimpleStringT, 1
-        )
-    #endif
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::atl_string_tag,
-        (ATL, BOOST_PP_NIL), CStringT, 2
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::atl_string_tag,
-        (ATL, BOOST_PP_NIL), CFixedStringT, (class)(int)
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CStaticString, (class)(const int)
-    )
-
-
-#endif // !defined(BOOST_RANGE_ATL_NO_COLLECTIONS)
-
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    (ATL, BOOST_PP_NIL), CComBSTR
-)
-
-
-// simples
-//
-#if !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CSimpleArray, 2
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CSimpleMap, 3
-    )
-
-#else
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CSimpleArray, 1
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CSimpleMap, 2
-    )
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        (ATL, BOOST_PP_NIL), CSimpleValArray, 1
-    )
-
-#endif // !defined(BOOST_RANGE_ATL_HAS_OLD_CSIMPLE_XXX)
-
-
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/begin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/begin.hpp
deleted file mode 100644
index ba5a73b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/begin.hpp
+++ /dev/null
@@ -1,135 +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)
-# 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))
-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))
-} // 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))
-    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))
-    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/rbgl_trimmed_boost_1_61_0/boost/range/category.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/category.hpp
deleted file mode 100644
index f5431ad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/category.hpp
+++ /dev/null
@@ -1,29 +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_CATEGORY_HPP
-#define BOOST_RANGE_CATEGORY_HPP
-
-#if defined(_MSC_VER)
-# 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_category : iterator_category< typename range_iterator<T>::type >
-    { };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/combine.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/combine.hpp
deleted file mode 100644
index 26cef9a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/combine.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_COMBINE_HPP
-#define BOOST_RANGE_COMBINE_HPP
-
-#include <boost/config.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/iterator/zip_iterator.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-
-template<typename IterTuple>
-class combined_range
-        : public iterator_range<zip_iterator<IterTuple> >
-{
-    typedef iterator_range<zip_iterator<IterTuple> > base;
-public:
-    combined_range(IterTuple first, IterTuple last)
-        : base(first, last)
-    {
-    }
-};
-
-    } // namespace range
-} // namespace boost
-
-#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) || \
-    defined(BOOST_NO_CXX11_DECLTYPE) || \
-    defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \
-    defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#   include <boost/range/detail/combine_cxx03.hpp>
-#else
-#   include <boost/range/detail/combine_cxx11.hpp>
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/concepts.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/concepts.hpp
deleted file mode 100644
index 3e612a3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/concepts.hpp
+++ /dev/null
@@ -1,386 +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>
-#include <boost/type_traits/remove_reference.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:
-#ifndef __clang__
-    #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 __GCCXML__
-        // GCC XML, unsurprisingly, has the same issues
-        #if __GCCXML_GNUC__ == 4 && __GCCXML_GNUC_MINOR__ == 2
-            #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
-        #endif
-    #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
-        // A few compilers don't like the rvalue reference T types so just
-        // remove it.
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type Rng;
-
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<
-            Rng const
-        >::type const_iterator;
-
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<Rng>::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);
-
-            boost::ignore_unused_variable_warning(i1);
-            boost::ignore_unused_variable_warning(i2);
-
-            const_constraints(*m_range);
-        }
-
-    private:
-        void const_constraints(const Rng& const_range)
-        {
-            const_iterator ci1 = boost::begin(const_range);
-            const_iterator ci2 = boost::end(const_range);
-
-            boost::ignore_unused_variable_warning(ci1);
-            boost::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.
-       Rng* 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 T>
-    struct WriteableRangeConcept
-    {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<T>::type iterator;
-
-        BOOST_CONCEPT_USAGE(WriteableRangeConcept)
-        {
-            *i = v;
-        }
-    private:
-        iterator i;
-        BOOST_DEDUCED_TYPENAME range_value<T>::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((range_detail::BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::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((range_detail::RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::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/rbgl_trimmed_boost_1_61_0/boost/range/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/config.hpp
deleted file mode 100644
index 7600a5f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/config.hpp
+++ /dev/null
@@ -1,56 +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)
-# 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
-#define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME
-#endif
-
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
-#error "macro already defined!"
-#endif
-
-#if 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
-
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
-#  define BOOST_RANGE_UNUSED __attribute__((unused))
-#else
-#  define BOOST_RANGE_UNUSED
-#endif
-
-
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/const_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/const_iterator.hpp
deleted file mode 100644
index 727fdad..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/const_iterator.hpp
+++ /dev/null
@@ -1,76 +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)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#include <boost/range/range_fwd.hpp>
-#include <boost/range/detail/extract_optional_type.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.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_helper
-        : extract_const_iterator<C>
-{};
-
-//////////////////////////////////////////////////////////////////////////
-// pair
-//////////////////////////////////////////////////////////////////////////
-
-template< typename Iterator >
-struct range_const_iterator_helper<std::pair<Iterator,Iterator> >
-{
-    typedef Iterator type;
-};
-
-//////////////////////////////////////////////////////////////////////////
-// array
-//////////////////////////////////////////////////////////////////////////
-
-template< typename T, std::size_t sz >
-struct range_const_iterator_helper< T[sz] >
-{
-    typedef const T* type;
-};
-
-    } // namespace range_detail
-
-template<typename C, typename Enabler=void>
-struct range_const_iterator
-        : range_detail::range_const_iterator_helper<
-            BOOST_DEDUCED_TYPENAME remove_reference<C>::type
-        >
-{
-};
-
-} // namespace boost
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/const_reverse_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/const_reverse_iterator.hpp
deleted file mode 100644
index bfe1615..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/const_reverse_iterator.hpp
+++ /dev/null
@@ -1,35 +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_REVERSE_ITERATOR_HPP
-#define BOOST_RANGE_CONST_REVERSE_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/reverse_iterator.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost
-{
-    //
-    // This interface is deprecated, use range_reverse_iterator<const T>
-    //
-    
-    template< typename C >
-    struct range_const_reverse_iterator
-            : range_reverse_iterator<
-                const BOOST_DEDUCED_TYPENAME remove_reference<C>::type>
-    { };
-    
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/counting_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/counting_range.hpp
deleted file mode 100644
index d886a21..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/counting_range.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_COUNTING_RANGE_HPP_INCLUDED
-#define BOOST_RANGE_COUNTING_RANGE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#if BOOST_MSVC >= 1400
-#pragma warning(push)
-#pragma warning(disable : 4244)
-#endif
-
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/iterator/counting_iterator.hpp>
-
-namespace boost
-{
-    template<class Value>
-    inline iterator_range<counting_iterator<Value> >
-    counting_range(Value first, Value last)
-    {
-        typedef counting_iterator<Value> counting_iterator_t;
-        typedef iterator_range<counting_iterator_t> result_t;
-        return result_t(counting_iterator_t(first),
-                        counting_iterator_t(last));
-    }
-
-    template<class Range>
-    inline iterator_range<
-        counting_iterator<
-            BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type
-        >
-    >
-    counting_range(const Range& rng)
-    {
-        typedef counting_iterator<
-            BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type
-        > counting_iterator_t;
-
-        typedef iterator_range<counting_iterator_t> result_t;
-
-        return result_t(counting_iterator_t(boost::begin(rng)),
-                        counting_iterator_t(boost::end(rng)));
-    }
-
-    template<class Range>
-    inline iterator_range<
-        counting_iterator<
-            BOOST_DEDUCED_TYPENAME range_iterator<Range>::type
-        >
-    >
-    counting_range(Range& rng)
-    {
-        typedef counting_iterator<
-            BOOST_DEDUCED_TYPENAME range_iterator<Range>::type
-        > counting_iterator_t;
-
-        typedef iterator_range<counting_iterator_t> result_t;
-
-        return result_t(counting_iterator_t(boost::begin(rng)),
-                        counting_iterator_t(boost::end(rng)));
-    }
-} // namespace boost
-
-#if BOOST_MSVC >= 1400
-#pragma warning(pop)
-#endif
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator.hpp
deleted file mode 100644
index 044237c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator.hpp
+++ /dev/null
@@ -1,589 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ANY_ITERATOR_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_ANY_ITERATOR_HPP_INCLUDED
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/range/detail/any_iterator_buffer.hpp>
-#include <boost/range/detail/any_iterator_interface.hpp>
-#include <boost/range/detail/any_iterator_wrapper.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // metafunction to determine if T is a const reference
-        template<class T>
-        struct is_const_reference
-        {
-            typedef typename mpl::and_<
-                typename is_reference<T>::type,
-                typename is_const<
-                    typename remove_reference<T>::type
-                >::type
-            >::type type;
-        };
-
-        // metafunction to determine if T is a mutable reference
-        template<class T>
-        struct is_mutable_reference
-        {
-            typedef typename mpl::and_<
-                typename is_reference<T>::type,
-                typename mpl::not_<
-                    typename is_const<
-                        typename remove_reference<T>::type
-                    >::type
-                >::type
-            >::type type;
-        };
-
-        // metafunction to evaluate if a source 'reference' can be
-        // converted to a target 'reference' as a value.
-        //
-        // This is true, when the target reference type is actually
-        // not a reference, and the source reference is convertible
-        // to the target type.
-        template<class SourceReference, class TargetReference>
-        struct is_convertible_to_value_as_reference
-        {
-            typedef typename mpl::and_<
-                typename mpl::not_<
-                    typename is_reference<TargetReference>::type
-                >::type
-              , typename is_convertible<
-                    SourceReference
-                  , TargetReference
-                >::type
-            >::type type;
-        };
-
-        template<
-            class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer = any_iterator_default_buffer
-        >
-        class any_iterator;
-
-        // metafunction to determine if SomeIterator is an
-        // any_iterator.
-        //
-        // This is the general implementation which evaluates to false.
-        template<class SomeIterator>
-        struct is_any_iterator
-            : mpl::bool_<false>
-        {
-        };
-
-        // specialization of is_any_iterator to return true for
-        // any_iterator classes regardless of template parameters.
-        template<
-            class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct is_any_iterator<
-            any_iterator<
-                Value
-              , Traversal
-              , Reference
-              , Difference
-              , Buffer
-            >
-        >
-            : mpl::bool_<true>
-        {
-        };
-    } // namespace range_detail
-
-    namespace iterators
-    {
-    namespace detail
-    {
-        // Rationale:
-        // These are specialized since the iterator_facade versions lack
-        // the requisite typedefs to allow wrapping to determine the types
-        // if a user copy constructs from a postfix increment.
-
-        template<
-            class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        class postfix_increment_proxy<
-                    range_detail::any_iterator<
-                        Value
-                      , Traversal
-                      , Reference
-                      , Difference
-                      , Buffer
-                    >
-                >
-        {
-            typedef range_detail::any_iterator<
-                Value
-              , Traversal
-              , Reference
-              , Difference
-              , Buffer
-            > any_iterator_type;
-
-        public:
-            typedef Value value_type;
-            typedef typename std::iterator_traits<any_iterator_type>::iterator_category iterator_category;
-            typedef Difference difference_type;
-            typedef typename iterator_pointer<any_iterator_type>::type pointer;
-            typedef Reference reference;
-
-            explicit postfix_increment_proxy(any_iterator_type const& x)
-                : stored_value(*x)
-            {}
-
-            value_type&
-            operator*() const
-            {
-                return this->stored_value;
-            }
-        private:
-            mutable value_type stored_value;
-        };
-
-        template<
-            class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        class writable_postfix_increment_proxy<
-                    range_detail::any_iterator<
-                        Value
-                      , Traversal
-                      , Reference
-                      , Difference
-                      , Buffer
-                    >
-                >
-        {
-            typedef range_detail::any_iterator<
-                        Value
-                      , Traversal
-                      , Reference
-                      , Difference
-                      , Buffer
-                    > any_iterator_type;
-         public:
-            typedef Value value_type;
-            typedef typename std::iterator_traits<any_iterator_type>::iterator_category iterator_category;
-            typedef Difference difference_type;
-            typedef typename iterator_pointer<any_iterator_type>::type pointer;
-            typedef Reference reference;
-
-            explicit writable_postfix_increment_proxy(any_iterator_type 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 any_iterator_type const&() const
-            {
-                return stored_iterator;
-            }
-
-         private:
-            mutable value_type stored_value;
-            any_iterator_type stored_iterator;
-        };
-
-    } //namespace detail
-    } //namespace iterators
-
-    namespace range_detail
-    {
-        template<
-            class Value
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        class any_iterator
-            : public iterator_facade<
-                        any_iterator<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , Buffer
-                        >
-                    , Value
-                    , Traversal
-                    , Reference
-                    , Difference
-                >
-        {
-            template<
-                class OtherValue
-              , class OtherTraversal
-              , class OtherReference
-              , class OtherDifference
-              , class OtherBuffer
-            >
-            friend class any_iterator;
-
-            struct enabler {};
-            struct disabler {};
-
-            typedef typename any_iterator_interface_type_generator<
-                Traversal
-              , Reference
-              , Difference
-              , Buffer
-            >::type abstract_base_type;
-
-            typedef iterator_facade<
-                        any_iterator<
-                            Value
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , Buffer
-                        >
-                      , Value
-                      , Traversal
-                      , Reference
-                      , Difference
-                  > base_type;
-
-            typedef Buffer buffer_type;
-
-        public:
-            typedef typename base_type::value_type value_type;
-            typedef typename base_type::reference reference;
-            typedef typename base_type::difference_type difference_type;
-
-            // Default constructor
-            any_iterator()
-                : m_impl(0) {}
-
-            // Simple copy construction without conversion
-            any_iterator(const any_iterator& other)
-                : base_type(other)
-                , m_impl(other.m_impl
-                            ? other.m_impl->clone(m_buffer)
-                            : 0)
-            {
-            }
-
-            // Simple assignment operator without conversion
-            any_iterator& operator=(const any_iterator& other)
-            {
-                if (this != &other)
-                {
-                    if (m_impl)
-                        m_impl->~abstract_base_type();
-                    m_buffer.deallocate();
-                    m_impl = 0;
-                    if (other.m_impl)
-                        m_impl = other.m_impl->clone(m_buffer);
-                }
-                return *this;
-            }
-
-            // Implicit conversion from another any_iterator where the
-            // conversion is from a non-const reference to a const reference
-            template<
-                class OtherValue
-              , class OtherTraversal
-              , class OtherReference
-              , class OtherDifference
-            >
-            any_iterator(const any_iterator<
-                                OtherValue,
-                                OtherTraversal,
-                                OtherReference,
-                                OtherDifference,
-                                Buffer
-                            >& other,
-                         typename ::boost::enable_if<
-                            typename mpl::and_<
-                                typename is_mutable_reference<OtherReference>::type,
-                                typename is_const_reference<Reference>::type
-                            >::type,
-                            enabler
-                        >::type* = 0
-                    )
-                : m_impl(other.m_impl
-                            ? other.m_impl->clone_const_ref(m_buffer)
-                         : 0
-                        )
-            {
-            }
-
-            // Implicit conversion from another any_iterator where the
-            // reference types of the source and the target are references
-            // that are either both const, or both non-const.
-            template<
-                class OtherValue
-              , class OtherTraversal
-              , class OtherReference
-              , class OtherDifference
-            >
-            any_iterator(const any_iterator<
-                                OtherValue
-                              , OtherTraversal
-                              , OtherReference
-                              , OtherDifference
-                              , Buffer
-                            >& other,
-                         typename ::boost::enable_if<
-                            typename mpl::or_<
-                                typename mpl::and_<
-                                    typename is_mutable_reference<OtherReference>::type,
-                                    typename is_mutable_reference<Reference>::type
-                                >::type,
-                                typename mpl::and_<
-                                    typename is_const_reference<OtherReference>::type,
-                                    typename is_const_reference<Reference>::type
-                                >::type
-                            >::type,
-                            enabler
-                        >::type* = 0
-                        )
-                : m_impl(other.m_impl
-                            ? other.m_impl->clone(m_buffer)
-                         : 0
-                        )
-            {
-            }
-
-            // Implicit conversion to an any_iterator that uses a value for
-            // the reference type.
-            template<
-                class OtherValue
-              , class OtherTraversal
-              , class OtherReference
-              , class OtherDifference
-            >
-            any_iterator(const any_iterator<
-                                OtherValue
-                              , OtherTraversal
-                              , OtherReference
-                              , OtherDifference
-                              , Buffer
-                            >& other,
-                        typename ::boost::enable_if<
-                            typename is_convertible_to_value_as_reference<
-                                        OtherReference
-                                      , Reference
-                                    >::type,
-                            enabler
-                        >::type* = 0
-                        )
-                : m_impl(other.m_impl
-                            ? other.m_impl->clone_reference_as_value(m_buffer)
-                            : 0
-                            )
-            {
-            }
-
-            any_iterator clone() const
-            {
-                any_iterator result;
-                if (m_impl)
-                    result.m_impl = m_impl->clone(result.m_buffer);
-                return result;
-            }
-
-            any_iterator<
-                Value
-              , Traversal
-              , typename abstract_base_type::const_reference
-              , Difference
-              , Buffer
-            >
-            clone_const_ref() const
-            {
-                typedef any_iterator<
-                    Value
-                  , Traversal
-                  , typename abstract_base_type::const_reference
-                  , Difference
-                  , Buffer
-                > result_type;
-
-                result_type result;
-
-                if (m_impl)
-                    result.m_impl = m_impl->clone_const_ref(result.m_buffer);
-
-                return result;
-            }
-
-            // implicit conversion and construction from type-erasure-compatible
-            // iterators
-            template<class WrappedIterator>
-            explicit any_iterator(
-                const WrappedIterator& wrapped_iterator,
-                typename disable_if<
-                    typename is_any_iterator<WrappedIterator>::type
-                  , disabler
-                >::type* = 0
-                )
-            {
-                typedef typename any_iterator_wrapper_type_generator<
-                            WrappedIterator
-                          , Traversal
-                          , Reference
-                          , Difference
-                          , Buffer
-                        >::type wrapper_type;
-
-                void* ptr = m_buffer.allocate(sizeof(wrapper_type));
-                m_impl = new(ptr) wrapper_type(wrapped_iterator);
-            }
-
-            ~any_iterator()
-            {
-                // manually run the destructor, the deallocation is automatically
-                // handled by the any_iterator_small_buffer base class.
-                if (m_impl)
-                    m_impl->~abstract_base_type();
-            }
-
-        private:
-            friend class ::boost::iterator_core_access;
-
-            Reference dereference() const
-            {
-                BOOST_ASSERT( m_impl );
-                return m_impl->dereference();
-            }
-
-            bool equal(const any_iterator& other) const
-            {
-                return (m_impl == other.m_impl)
-                    || (m_impl && other.m_impl && m_impl->equal(*other.m_impl));
-            }
-
-            void increment()
-            {
-                BOOST_ASSERT( m_impl );
-                m_impl->increment();
-            }
-
-            void decrement()
-            {
-                BOOST_ASSERT( m_impl );
-                m_impl->decrement();
-            }
-
-            Difference distance_to(const any_iterator& other) const
-            {
-                return m_impl && other.m_impl
-                    ? m_impl->distance_to(*other.m_impl)
-                    : 0;
-            }
-
-            void advance(Difference offset)
-            {
-                BOOST_ASSERT( m_impl );
-                m_impl->advance(offset);
-            }
-
-            any_iterator& swap(any_iterator& other)
-            {
-                BOOST_ASSERT( this != &other );
-                // grab a temporary copy of the other iterator
-                any_iterator tmp(other);
-
-                // deallocate the other iterator, taking care to obey the
-                // class-invariants in-case of exceptions later
-                if (other.m_impl)
-                {
-                    other.m_impl->~abstract_base_type();
-                    other.m_buffer.deallocate();
-                    other.m_impl = 0;
-                }
-
-                // If this is a non-null iterator then we need to put
-                // a clone of this iterators implementation into the other
-                // iterator.
-                // We can't just swap because of the small buffer optimization.
-                if (m_impl)
-                {
-                    other.m_impl = m_impl->clone(other.m_buffer);
-                    m_impl->~abstract_base_type();
-                    m_buffer.deallocate();
-                    m_impl = 0;
-                }
-
-                // assign to this instance a clone of the temporarily held
-                // tmp which represents the input other parameter at the
-                // start of execution of this function.
-                if (tmp.m_impl)
-                    m_impl = tmp.m_impl->clone(m_buffer);
-
-                return *this;
-            }
-
-            buffer_type m_buffer;
-            abstract_base_type* m_impl;
-        };
-
-    } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_buffer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_buffer.hpp
deleted file mode 100644
index 2bb5d53..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_buffer.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ANY_ITERATOR_BUFFER_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_ANY_ITERATOR_BUFFER_HPP_INCLUDED
-
-#include <boost/array.hpp>
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/noncopyable.hpp>
-
-namespace boost
-{
-    template<std::size_t StackBufferSize>
-    class any_iterator_buffer
-        : noncopyable
-    {
-        BOOST_STATIC_ASSERT(( StackBufferSize > 0 ));
-    public:
-        any_iterator_buffer()
-            : m_ptr()
-        {
-        }
-
-        ~any_iterator_buffer()
-        {
-            delete [] m_ptr;
-        }
-
-        void* allocate(std::size_t bytes)
-        {
-            BOOST_ASSERT( !m_ptr );
-            if (bytes <= StackBufferSize)
-                return m_buffer.data();
-
-            m_ptr = new char[bytes];
-            return m_ptr;
-        }
-
-        void deallocate()
-        {
-            delete [] m_ptr;
-            m_ptr = 0;
-        }
-
-    private:
-        // Rationale:
-        // Do not use inheritance from noncopyable because this causes
-        // the concepts to erroneous detect the derived any_iterator
-        // as noncopyable.
-        any_iterator_buffer(const any_iterator_buffer&);
-        void operator=(const any_iterator_buffer&);
-
-        char* m_ptr;
-        boost::array<char, StackBufferSize> m_buffer;
-    };
-
-    class any_iterator_heap_only_buffer
-        : noncopyable
-    {
-    public:
-        any_iterator_heap_only_buffer()
-            : m_ptr()
-        {
-        }
-
-        ~any_iterator_heap_only_buffer()
-        {
-            delete [] m_ptr;
-        }
-
-        void* allocate(std::size_t bytes)
-        {
-            BOOST_ASSERT( !m_ptr );
-            m_ptr = new char[bytes];
-            return m_ptr;
-        }
-
-        void deallocate()
-        {
-            delete [] m_ptr;
-            m_ptr = 0;
-        }
-
-    private:
-        char* m_ptr;
-    };
-
-    template<std::size_t StackBufferSize>
-    class any_iterator_stack_only_buffer
-    {
-        BOOST_STATIC_ASSERT(( StackBufferSize > 0 ));
-    public:
-        void* allocate(std::size_t bytes)
-        {
-            BOOST_ASSERT( bytes <= m_buffer.size() );
-            return m_buffer.data();
-        }
-
-        void deallocate()
-        {
-        }
-
-    private:
-        boost::array<char, StackBufferSize> m_buffer;
-    };
-
-    typedef any_iterator_buffer<64> any_iterator_default_buffer;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_interface.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_interface.hpp
deleted file mode 100644
index cd56714..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_interface.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ANY_ITERATOR_INTERFACE_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_ANY_ITERATOR_INTERFACE_HPP_INCLUDED
-
-#include <boost/range/detail/any_iterator_buffer.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template<class T>
-        struct const_reference_type_generator
-        {
-            typedef typename mpl::if_<
-                typename is_reference<T>::type,
-                typename add_const<
-                    typename remove_reference<T>::type
-                >::type&,
-                T
-            >::type type;
-        };
-
-        template<class T>
-        struct mutable_reference_type_generator
-        {
-            typedef typename mpl::if_<
-                typename mpl::and_<
-                    typename is_const<T>::type,
-                    typename mpl::not_<typename is_reference<T>::type>::type
-                >::type,
-                T,
-                typename add_reference<T>::type
-            >::type type;
-        };
-
-        template<
-            class Reference
-          , class Buffer
-        >
-        struct any_incrementable_iterator_interface
-        {
-            typedef typename mutable_reference_type_generator<
-                Reference
-            >::type reference;
-
-            typedef typename const_reference_type_generator<
-                Reference
-            >::type const_reference;
-
-            typedef typename remove_const<
-                typename remove_reference<Reference>::type
-            >::type reference_as_value_type;
-
-            typedef Buffer buffer_type;
-
-            virtual ~any_incrementable_iterator_interface() {}
-
-            virtual any_incrementable_iterator_interface*
-                        clone(buffer_type& buffer) const = 0;
-
-            virtual any_incrementable_iterator_interface<const_reference, Buffer>*
-                        clone_const_ref(buffer_type& buffer) const = 0;
-
-            virtual any_incrementable_iterator_interface<reference_as_value_type, Buffer>*
-                        clone_reference_as_value(buffer_type& buffer) const = 0;
-
-            virtual void increment() = 0;
-        };
-
-        template<
-            class Reference
-          , class Buffer
-        >
-        struct any_single_pass_iterator_interface
-            : any_incrementable_iterator_interface<Reference, Buffer>
-        {
-            typedef typename any_incrementable_iterator_interface<Reference, Buffer>::reference reference;
-            typedef typename any_incrementable_iterator_interface<Reference, Buffer>::const_reference const_reference;
-            typedef typename any_incrementable_iterator_interface<Reference, Buffer>::buffer_type buffer_type;
-            typedef typename any_incrementable_iterator_interface<Reference, Buffer>::reference_as_value_type reference_as_value_type;
-
-            virtual any_single_pass_iterator_interface*
-                        clone(buffer_type& buffer) const = 0;
-
-            virtual any_single_pass_iterator_interface<const_reference, Buffer>*
-                        clone_const_ref(buffer_type& buffer) const = 0;
-
-            virtual any_single_pass_iterator_interface<reference_as_value_type, Buffer>*
-                        clone_reference_as_value(buffer_type& buffer) const = 0;
-
-            virtual reference dereference() const = 0;
-
-            virtual bool equal(const any_single_pass_iterator_interface& other) const = 0;
-        };
-
-        template<
-            class Reference
-          , class Buffer
-        >
-        struct any_forward_iterator_interface
-            : any_single_pass_iterator_interface<Reference, Buffer>
-        {
-            typedef typename any_single_pass_iterator_interface<Reference, Buffer>::reference reference;
-            typedef typename any_single_pass_iterator_interface<Reference, Buffer>::const_reference const_reference;
-            typedef typename any_single_pass_iterator_interface<Reference, Buffer>::buffer_type buffer_type;
-            typedef typename any_single_pass_iterator_interface<Reference, Buffer>::reference_as_value_type reference_as_value_type;
-
-            virtual any_forward_iterator_interface*
-                        clone(buffer_type& buffer) const = 0;
-
-            virtual any_forward_iterator_interface<const_reference, Buffer>*
-                        clone_const_ref(buffer_type& buffer) const = 0;
-
-            virtual any_forward_iterator_interface<reference_as_value_type, Buffer>*
-                        clone_reference_as_value(buffer_type& buffer) const = 0;
-        };
-
-        template<
-            class Reference
-          , class Buffer
-        >
-        struct any_bidirectional_iterator_interface
-            : any_forward_iterator_interface<Reference, Buffer>
-        {
-            typedef typename any_forward_iterator_interface<Reference, Buffer>::reference reference;
-            typedef typename any_forward_iterator_interface<Reference, Buffer>::const_reference const_reference;
-            typedef typename any_forward_iterator_interface<Reference, Buffer>::buffer_type buffer_type;
-            typedef typename any_forward_iterator_interface<Reference, Buffer>::reference_as_value_type reference_as_value_type;
-
-            virtual any_bidirectional_iterator_interface*
-                        clone(buffer_type& buffer) const = 0;
-
-            virtual any_bidirectional_iterator_interface<const_reference, Buffer>*
-                        clone_const_ref(buffer_type& buffer) const = 0;
-
-            virtual any_bidirectional_iterator_interface<reference_as_value_type, Buffer>*
-                        clone_reference_as_value(buffer_type& buffer) const = 0;
-
-            virtual void decrement() = 0;
-        };
-
-        template<
-            class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_random_access_iterator_interface
-            : any_bidirectional_iterator_interface<
-                    Reference
-                  , Buffer
-                >
-        {
-            typedef typename any_bidirectional_iterator_interface<Reference, Buffer>::reference reference;
-            typedef typename any_bidirectional_iterator_interface<Reference, Buffer>::const_reference const_reference;
-            typedef typename any_bidirectional_iterator_interface<Reference, Buffer>::buffer_type buffer_type;
-            typedef typename any_bidirectional_iterator_interface<Reference, Buffer>::reference_as_value_type reference_as_value_type;
-            typedef Difference difference_type;
-
-            virtual any_random_access_iterator_interface*
-                        clone(buffer_type& buffer) const = 0;
-
-            virtual any_random_access_iterator_interface<const_reference, Difference, Buffer>*
-                        clone_const_ref(buffer_type& buffer) const = 0;
-
-            virtual any_random_access_iterator_interface<reference_as_value_type, Difference, Buffer>*
-                        clone_reference_as_value(buffer_type& buffer) const = 0;
-
-            virtual void advance(Difference offset) = 0;
-
-            virtual Difference distance_to(const any_random_access_iterator_interface& other) const = 0;
-        };
-
-        template<
-            class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_interface_type_generator;
-
-        template<
-            class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_interface_type_generator<
-                    incrementable_traversal_tag
-                  , Reference
-                  , Difference
-                  , Buffer
-                >
-        {
-            typedef any_incrementable_iterator_interface<Reference, Buffer> type;
-        };
-
-        template<
-            class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_interface_type_generator<
-                    single_pass_traversal_tag
-                  , Reference
-                  , Difference
-                  , Buffer
-                >
-        {
-            typedef any_single_pass_iterator_interface<Reference, Buffer> type;
-        };
-
-        template<
-            class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_interface_type_generator<
-                    forward_traversal_tag
-                  , Reference
-                  , Difference
-                  , Buffer
-                >
-        {
-            typedef any_forward_iterator_interface<Reference, Buffer> type;
-        };
-
-        template<
-            class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_interface_type_generator<
-                    bidirectional_traversal_tag
-                  , Reference
-                  , Difference
-                  , Buffer
-                >
-        {
-            typedef any_bidirectional_iterator_interface<Reference, Buffer> type;
-        };
-
-        template<
-            class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_interface_type_generator<
-                    random_access_traversal_tag
-                  , Reference
-                  , Difference
-                  , Buffer
-                >
-        {
-            typedef any_random_access_iterator_interface<
-                        Reference
-                      , Difference
-                      , Buffer
-                    > type;
-        };
-
-    } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_wrapper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_wrapper.hpp
deleted file mode 100644
index c542d39..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/any_iterator_wrapper.hpp
+++ /dev/null
@@ -1,640 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ANY_ITERATOR_WRAPPER_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_ANY_ITERATOR_WRAPPER_HPP_INCLUDED
-
-#include <boost/cast.hpp>
-#include <boost/range/config.hpp>
-#include <boost/range/detail/any_iterator_interface.hpp>
-#include <boost/range/concepts.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template<typename TargetT, typename SourceT>
-        TargetT& polymorphic_ref_downcast(SourceT& source)
-        {
-#ifdef BOOST_NO_RTTI
-            return static_cast<TargetT&>(source);
-#else
-            return *boost::polymorphic_downcast<TargetT*>(&source);
-#endif
-        }
-
-        template<class Reference, class T>
-        Reference dereference_cast(T& x)
-        {
-            return static_cast<Reference>(x);
-        }
-        template<class Reference, class T>
-        Reference dereference_cast(const T& x)
-        {
-            return static_cast<Reference>(const_cast<T&>(x));
-        }
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Buffer
-        >
-        class any_incrementable_iterator_wrapper
-            : public any_incrementable_iterator_interface<
-                        Reference
-                      , Buffer
-                    >
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( IncrementableIteratorConcept<WrappedIterator> ));
-        public:
-            typedef WrappedIterator wrapped_type;
-
-            BOOST_STATIC_ASSERT(( is_convertible<
-                                    typename iterator_reference<WrappedIterator>::type
-                                  , Reference
-                                  >::value ));
-
-            any_incrementable_iterator_wrapper()
-                : m_it()
-            {}
-
-            explicit any_incrementable_iterator_wrapper(wrapped_type it)
-                : m_it(it)
-            {}
-
-        // any_incrementable_iterator implementation
-            virtual any_incrementable_iterator_wrapper* clone(
-                typename any_incrementable_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                return new (buffer.allocate(sizeof(*this)))
-                                any_incrementable_iterator_wrapper(m_it);
-            }
-
-            virtual any_incrementable_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_incrementable_iterator_wrapper::const_reference
-                      , Buffer
-                    >* clone_const_ref(
-                        typename any_incrementable_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                typedef any_incrementable_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_incrementable_iterator_wrapper::const_reference
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual any_incrementable_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_incrementable_iterator_wrapper::reference_as_value_type
-                      , Buffer
-                    >* clone_reference_as_value(
-                        typename any_incrementable_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                typedef any_incrementable_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_incrementable_iterator_wrapper::reference_as_value_type
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual void increment()
-            {
-                ++m_it;
-            }
-
-         private:
-            wrapped_type m_it;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Buffer
-        >
-        class any_single_pass_iterator_wrapper
-            : public any_single_pass_iterator_interface<
-                        Reference
-                      , Buffer
-                    >
-        {
-            struct disabler {};
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassIteratorConcept<WrappedIterator> ));
-            typedef any_single_pass_iterator_interface<
-                Reference,
-                Buffer
-            > base_type;
-
-        public:
-            typedef typename base_type::reference reference;
-
-            any_single_pass_iterator_wrapper()
-                : m_it()
-            {}
-
-            explicit any_single_pass_iterator_wrapper(const WrappedIterator& it)
-                : m_it(it)
-            {}
-        // any_single_pass_iterator_interface<Reference> implementation
-            virtual any_single_pass_iterator_wrapper* clone(
-                typename any_single_pass_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                return new (buffer.allocate(sizeof(*this)))
-                            any_single_pass_iterator_wrapper(m_it);
-            }
-
-            virtual any_single_pass_iterator_wrapper<
-                WrappedIterator
-              , typename any_single_pass_iterator_wrapper::const_reference
-              , Buffer
-            >* clone_const_ref(
-                   typename any_single_pass_iterator_wrapper::buffer_type& buffer
-                   ) const
-            {
-                typedef any_single_pass_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_single_pass_iterator_wrapper::const_reference
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual any_single_pass_iterator_wrapper<
-                WrappedIterator
-              , typename any_single_pass_iterator_wrapper::reference_as_value_type
-              , Buffer
-            >* clone_reference_as_value(
-                typename any_single_pass_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                typedef any_single_pass_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_single_pass_iterator_wrapper::reference_as_value_type
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual void increment()
-            {
-                ++m_it;
-            }
-
-            virtual bool equal(const any_single_pass_iterator_interface<Reference, Buffer>& other) const
-            {
-                return m_it == range_detail::polymorphic_ref_downcast<const any_single_pass_iterator_wrapper>(other).m_it;
-            }
-
-            virtual reference dereference() const
-            {
-                return dereference_cast<reference>(*m_it);
-            }
-
-        private:
-            WrappedIterator m_it;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Buffer
-        >
-        class any_forward_iterator_wrapper
-            : public any_forward_iterator_interface<
-                        Reference
-                      , Buffer
-                    >
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( ForwardIteratorConcept<WrappedIterator> ));
-            typedef any_forward_iterator_interface<
-                Reference,
-                Buffer
-            > base_type;
-
-        public:
-            typedef typename base_type::reference reference;
-
-            any_forward_iterator_wrapper()
-                : m_it()
-            {}
-
-            explicit any_forward_iterator_wrapper(const WrappedIterator& it)
-                : m_it(it)
-            {}
-
-            // any_forward_iterator_interface<Reference> implementation
-            virtual any_forward_iterator_wrapper* clone(
-                typename any_forward_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                return new (buffer.allocate(sizeof(*this)))
-                                any_forward_iterator_wrapper(m_it);
-            }
-
-            virtual any_forward_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_forward_iterator_wrapper::const_reference
-                      , Buffer
-                    >* clone_const_ref(
-                            typename any_forward_iterator_wrapper::buffer_type& buffer
-                        ) const
-            {
-                typedef any_forward_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_forward_iterator_wrapper::const_reference
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual any_forward_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_forward_iterator_wrapper::reference_as_value_type
-                      , Buffer
-                    >* clone_reference_as_value(
-                            typename any_forward_iterator_wrapper::buffer_type& buffer
-                    ) const
-            {
-                typedef any_forward_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_forward_iterator_wrapper::reference_as_value_type
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual void increment()
-            {
-                ++m_it;
-            }
-
-            virtual bool equal(const any_single_pass_iterator_interface<Reference, Buffer>& other) const
-            {
-                return m_it == range_detail::polymorphic_ref_downcast<const any_forward_iterator_wrapper>(other).m_it;
-            }
-
-            virtual reference dereference() const
-            {
-                return dereference_cast<reference>(*m_it);
-            }
-        private:
-            WrappedIterator m_it;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Buffer
-        >
-        class any_bidirectional_iterator_wrapper
-            : public any_bidirectional_iterator_interface<
-                        Reference
-                      , Buffer
-                    >
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( BidirectionalIteratorConcept<WrappedIterator> ));
-            typedef any_bidirectional_iterator_interface<
-                Reference,
-                Buffer
-            > base_type;
-
-        public:
-            typedef typename base_type::reference reference;
-
-            any_bidirectional_iterator_wrapper()
-                : m_it()
-            {
-            }
-
-            explicit any_bidirectional_iterator_wrapper(const WrappedIterator& it)
-                : m_it(it)
-            {
-            }
-
-            virtual any_bidirectional_iterator_wrapper* clone(
-                typename any_bidirectional_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                return new (buffer.allocate(sizeof(*this)))
-                            any_bidirectional_iterator_wrapper(*this);
-            }
-
-            virtual any_bidirectional_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_bidirectional_iterator_wrapper::const_reference
-                      , Buffer
-                    >* clone_const_ref(
-                           typename any_bidirectional_iterator_wrapper::buffer_type& buffer
-                       ) const
-            {
-                typedef any_bidirectional_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_bidirectional_iterator_wrapper::const_reference
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual any_bidirectional_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_bidirectional_iterator_wrapper::reference_as_value_type
-                      , Buffer
-                    >* clone_reference_as_value(
-                           typename any_bidirectional_iterator_wrapper::buffer_type& buffer
-                       ) const
-            {
-                typedef any_bidirectional_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_bidirectional_iterator_wrapper::reference_as_value_type
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual void increment()
-            {
-                ++m_it;
-            }
-
-            virtual void decrement()
-            {
-                --m_it;
-            }
-
-            virtual bool equal(const any_single_pass_iterator_interface<Reference, Buffer>& other) const
-            {
-                return m_it == range_detail::polymorphic_ref_downcast<const any_bidirectional_iterator_wrapper>(other).m_it;
-            }
-
-            virtual reference dereference() const
-            {
-                return dereference_cast<reference>(*m_it);
-            }
-
-        private:
-            WrappedIterator m_it;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        class any_random_access_iterator_wrapper
-            : public any_random_access_iterator_interface<
-                            Reference
-                          , Difference
-                          , Buffer
-                        >
-        {
-            BOOST_RANGE_CONCEPT_ASSERT(( RandomAccessIteratorConcept<WrappedIterator> ));
-            typedef any_random_access_iterator_interface<
-                Reference,
-                Difference,
-                Buffer
-            > base_type;
-
-        public:
-            typedef typename base_type::reference reference;
-            typedef Difference difference_type;
-
-            any_random_access_iterator_wrapper()
-                : m_it()
-            {
-            }
-
-            explicit any_random_access_iterator_wrapper(const WrappedIterator& other)
-                : m_it(other)
-            {
-            }
-
-            virtual any_random_access_iterator_wrapper* clone(
-                    typename any_random_access_iterator_wrapper::buffer_type& buffer
-                ) const
-            {
-                return new (buffer.allocate(sizeof(*this)))
-                                any_random_access_iterator_wrapper(*this);
-            }
-
-            virtual any_random_access_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_random_access_iterator_wrapper::const_reference
-                      , Difference
-                      , Buffer
-                    >* clone_const_ref(
-                           typename any_random_access_iterator_wrapper::buffer_type& buffer
-                           ) const
-            {
-                typedef any_random_access_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_random_access_iterator_wrapper::const_reference
-                          , Difference
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual any_random_access_iterator_wrapper<
-                        WrappedIterator
-                      , typename any_random_access_iterator_wrapper::reference_as_value_type
-                      , Difference
-                      , Buffer
-                    >* clone_reference_as_value(
-                           typename any_random_access_iterator_wrapper::buffer_type& buffer
-                           ) const
-            {
-                typedef any_random_access_iterator_wrapper<
-                            WrappedIterator
-                          , typename any_random_access_iterator_wrapper::reference_as_value_type
-                          , Difference
-                          , Buffer
-                        > result_type;
-
-                return new (buffer.allocate(sizeof(result_type)))
-                            result_type(m_it);
-            }
-
-            virtual void increment()
-            {
-                ++m_it;
-            }
-
-            virtual bool equal(const any_single_pass_iterator_interface<Reference, Buffer>& other) const
-            {
-                return m_it == range_detail::polymorphic_ref_downcast<const any_random_access_iterator_wrapper>(other).m_it;
-            }
-
-            virtual void decrement()
-            {
-                --m_it;
-            }
-
-            virtual void advance(Difference offset)
-            {
-                m_it += offset;
-            }
-
-            virtual reference dereference() const
-            {
-                return dereference_cast<reference>(*m_it);
-            }
-
-            virtual Difference distance_to(const any_random_access_iterator_interface<Reference, Difference, Buffer>& other) const
-            {
-                return range_detail::polymorphic_ref_downcast<const any_random_access_iterator_wrapper>(other).m_it - m_it;
-            }
-
-        private:
-            WrappedIterator m_it;
-        };
-
-        template<
-            class WrappedIterator
-          , class Traversal
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_wrapper_type_generator;
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_wrapper_type_generator<
-            WrappedIterator
-          , incrementable_traversal_tag
-          , Reference
-          , Difference
-          , Buffer
-        >
-        {
-            typedef any_incrementable_iterator_wrapper<
-                        WrappedIterator
-                      , Reference
-                      , Buffer
-                    > type;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_wrapper_type_generator<
-            WrappedIterator
-          , single_pass_traversal_tag
-          , Reference
-          , Difference
-          , Buffer
-        >
-        {
-            typedef any_single_pass_iterator_wrapper<
-                        WrappedIterator
-                      , Reference
-                      , Buffer
-                > type;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_wrapper_type_generator<
-            WrappedIterator
-          , forward_traversal_tag
-          , Reference
-          , Difference
-          , Buffer
-        >
-        {
-            typedef any_forward_iterator_wrapper<
-                WrappedIterator
-              , Reference
-              , Buffer
-            > type;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_wrapper_type_generator<
-            WrappedIterator
-          , bidirectional_traversal_tag
-          , Reference
-          , Difference
-          , Buffer
-        >
-        {
-            typedef any_bidirectional_iterator_wrapper<
-                WrappedIterator
-              , Reference
-              , Buffer
-            > type;
-        };
-
-        template<
-            class WrappedIterator
-          , class Reference
-          , class Difference
-          , class Buffer
-        >
-        struct any_iterator_wrapper_type_generator<
-            WrappedIterator
-          , random_access_traversal_tag
-          , Reference
-          , Difference
-          , Buffer
-        >
-        {
-            typedef any_random_access_iterator_wrapper<
-                WrappedIterator
-              , Reference
-              , Difference
-              , Buffer
-            > type;
-        };
-
-    } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/as_literal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/as_literal.hpp
deleted file mode 100644
index 8b219ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/range/detail/begin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/begin.hpp
deleted file mode 100644
index 1d9390f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/begin.hpp
+++ /dev/null
@@ -1,83 +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>
-
-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_>
-        {
-            template<typename T>
-            static BOOST_RANGE_DEDUCED_TYPENAME range_value<T>::type* fun(T& t)
-            {
-                return t;
-            }
-        };
-
-    } // 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/rbgl_trimmed_boost_1_61_0/boost/range/detail/collection_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/collection_traits.hpp
deleted file mode 100644
index 823c0af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/collection_traits.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-//  Boost string_algo library collection_traits.hpp header file  -------------//
-
-//  Copyright Pavol Droba 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)
-
-// (C) Copyright Thorsten Ottosen 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)
-
-// (C) Copyright Jeremy Siek 2001. Use, modification and
-//  distribution is subject to the Boost Software License, Version
-//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
-
-//  Original idea of container traits was proposed by Jeremy Siek and
-//  Thorsten Ottosen. This implementation is lightweighted version
-//  of container_traits adapter for usage with string_algo library
-
-#ifndef BOOST_RANGE_STRING_COLLECTION_TRAITS_HPP
-#define BOOST_RANGE_STRING_COLLECTION_TRAITS_HPP
-
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-// Implementation
-#include <boost/range/detail/collection_traits_detail.hpp>
-
-/*! \file
-    Defines collection_traits class and related free-standing functions.
-    This facility is used to unify the access to different types of collections.
-    It allows the algorithms in the library to work with STL collections, c-style
-    array, null-terminated c-strings (and more) using the same interface.
-*/
-
-namespace boost {
-    namespace algorithm {
-
-//  collection_traits template class -----------------------------------------//
-        
-        //! collection_traits class
-        /*!
-            Collection traits provide uniform access to different types of 
-            collections. This functionality allows to write generic algorithms
-            which work with several different kinds of collections.
-
-            Currently following collection types are supported:
-                - containers with STL compatible container interface ( see ContainerConcept )
-                    ( i.e. \c std::vector<>, \c std::list<>, \c std::string<> ... )
-                - c-style array 
-                   ( \c char[10], \c int[15] ... )
-                - null-terminated c-strings
-                    ( \c char*, \c wchar_T* )
-                - std::pair of iterators 
-                    ( i.e \c std::pair<vector<int>::iterator,vector<int>::iterator> )
-
-            Collection traits provide an external collection interface operations.
-            All are accessible using free-standing functions.
-
-            The following operations are supported:
-                - \c size()
-                - \c empty()
-                - \c begin()
-                - \c end()
-
-            Container traits have somewhat limited functionality on compilers not
-            supporting partial template specialization and partial template ordering.
-        */
-        template< typename T >
-        struct collection_traits
-        {
-        private:
-            typedef typename ::boost::mpl::eval_if<
-                    ::boost::algorithm::detail::is_pair<T>, 
-                        detail::pair_container_traits_selector<T>,
-                        typename ::boost::mpl::eval_if<
-                        ::boost::is_array<T>, 
-                            detail::array_container_traits_selector<T>,
-                            typename ::boost::mpl::eval_if<
-                            ::boost::is_pointer<T>,
-                                detail::pointer_container_traits_selector<T>,
-                                detail::default_container_traits_selector<T>
-                            >
-                        > 
-                >::type container_helper_type;
-        public:
-            //! Function type       
-            typedef container_helper_type function_type;        
-            //! Value type
-            typedef typename
-                container_helper_type::value_type value_type;
-            //! Size type
-            typedef typename
-                container_helper_type::size_type size_type;
-            //! Iterator type
-            typedef typename
-                container_helper_type::iterator iterator;
-            //! Const iterator type
-            typedef typename
-                container_helper_type::const_iterator const_iterator;
-            //! Result iterator type ( iterator of const_iterator, depending on the constness of the container )
-            typedef typename
-                container_helper_type::result_iterator result_iterator;
-            //! Difference type
-            typedef typename
-                container_helper_type::difference_type difference_type;
-
-        }; // 'collection_traits'
-
-//  collection_traits metafunctions -----------------------------------------//
-
-        //! Container value_type trait
-        /*!
-            Extract the type of elements contained in a container
-        */
-        template< typename C >
-        struct value_type_of
-        {
-            typedef typename collection_traits<C>::value_type type;
-        };
-        
-        //! Container difference trait
-        /*!
-            Extract the container's difference type
-        */
-        template< typename C >
-        struct difference_type_of
-        {
-            typedef typename collection_traits<C>::difference_type type;
-        };
-
-        //! Container iterator trait
-        /*!
-            Extract the container's iterator type
-        */
-        template< typename C >
-        struct iterator_of
-        {
-            typedef typename collection_traits<C>::iterator type;
-        };
-
-        //! Container const_iterator trait
-        /*!
-            Extract the container's const_iterator type
-        */
-        template< typename C >
-        struct const_iterator_of
-        {
-            typedef typename collection_traits<C>::const_iterator type;
-        };
-
-
-        //! Container result_iterator
-        /*!
-            Extract the container's result_iterator type. This type maps to \c C::iterator
-            for mutable container and \c C::const_iterator for const containers.
-        */
-        template< typename C >
-        struct result_iterator_of
-        {
-            typedef typename collection_traits<C>::result_iterator type;
-        };
-
-//  collection_traits related functions -----------------------------------------//
-
-        //! Free-standing size() function
-        /*!
-            Get the size of the container. Uses collection_traits.
-        */
-        template< typename C >
-        inline typename collection_traits<C>::size_type
-        size( const C& c )
-        {
-            return collection_traits<C>::function_type::size( c ); 
-        }
-
-        //! Free-standing empty() function
-        /*!
-            Check whether the container is empty. Uses container traits.
-        */
-        template< typename C >
-        inline bool empty( const C& c )
-        {
-            return collection_traits<C>::function_type::empty( c );
-        }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-        //! Free-standing begin() function
-        /*!
-            Get the begin iterator of the container. Uses collection_traits.
-        */
-        template< typename C >
-        inline typename collection_traits<C>::iterator
-        begin( C& c )
-        {
-            return collection_traits<C>::function_type::begin( c ); 
-        }
-
-        //! Free-standing begin() function
-        /*!
-            \overload
-        */
-        template< typename C >
-        inline typename collection_traits<C>::const_iterator
-        begin( const C& c )
-        {
-            return collection_traits<C>::function_type::begin( c ); 
-        }
-
-        //! Free-standing end() function
-        /*!
-            Get the begin iterator of the container. Uses collection_traits.
-        */
-        template< typename C >
-        inline typename collection_traits<C>::iterator
-        end( C& c )
-        {
-            return collection_traits<C>::function_type::end( c );
-        }
-
-        //! Free-standing end() function
-        /*!
-            \overload           
-        */
-        template< typename C >
-        inline typename collection_traits<C>::const_iterator
-        end( const C& c )
-        {
-            return collection_traits<C>::function_type::end( c );
-        }
-
-#else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-        //! Free-standing begin() function
-        /*!
-            \overload
-        */
-        template< typename C >
-        inline typename collection_traits<C>::result_iterator
-        begin( C& c )
-        {
-            return collection_traits<C>::function_type::begin( c );
-        }
-
-        //! Free-standing end() function
-        /*!
-            \overload
-        */
-        template< typename C >
-        inline typename collection_traits<C>::result_iterator
-        end( C& c )
-        {
-            return collection_traits<C>::function_type::end( c );
-        }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-    } // namespace algorithm
-} // namespace boost
-
-#endif // BOOST_STRING_COLLECTION_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/collection_traits_detail.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/collection_traits_detail.hpp
deleted file mode 100644
index 1545997..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/collection_traits_detail.hpp
+++ /dev/null
@@ -1,502 +0,0 @@
-//  Boost string_algo library collection_traits.hpp header file  -----------------------//
-
-//  Copyright Pavol Droba 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)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#ifndef BOOST_RANGE_STRING_DETAIL_COLLECTION_TRAITS_HPP
-#define BOOST_RANGE_STRING_DETAIL_COLLECTION_TRAITS_HPP
-
-#include <cstddef>
-#include <string>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_const.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/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/detail/iterator.hpp>
-
-// Container traits implementation ---------------------------------------------------------
-
-namespace boost {
-    namespace algorithm {
-        namespace detail {
-
-// Default collection traits -----------------------------------------------------------------
-
-            // Default collection helper 
-            /*
-                Wraps std::container compliant containers
-            */
-            template< typename ContainerT >     
-            struct default_container_traits
-            {
-                typedef typename ContainerT::value_type value_type;
-                typedef typename ContainerT::iterator iterator;
-                typedef typename ContainerT::const_iterator const_iterator;
-                typedef typename
-                    ::boost::mpl::if_< ::boost::is_const<ContainerT>,
-                        const_iterator,
-                        iterator 
-                    >::type result_iterator;
-                typedef typename ContainerT::difference_type difference_type;
-                typedef typename ContainerT::size_type size_type;
-                
-                // static operations
-                template< typename C >
-                static size_type size( const C& c )
-                {
-                    return c.size();
-                }
-
-                template< typename C >
-                static bool empty( const C& c )
-                {
-                    return c.empty();
-                }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-                template< typename C >
-                static iterator begin( C& c )
-                {
-                    return c.begin();
-                }
-
-                template< typename C >
-                static const_iterator begin( const C& c )
-                {
-                    return c.begin();
-                }
-
-                template< typename C >
-                static iterator end( C& c )
-                {
-                    return c.end();
-                }
-
-                template< typename C >
-                static const_iterator end( const C& c )
-                {
-                    return c.end();
-                }
-
-#else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-                template< typename C >
-                static result_iterator begin( C& c )
-                {
-                    return c.begin();
-                }
-
-                template< typename C >
-                static result_iterator end( C& c )
-                {
-                    return c.end();
-                }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING    
-
-            }; 
-
-            template<typename T>
-            struct default_container_traits_selector
-            {
-                typedef default_container_traits<T> type;
-            };
-
-// Pair container traits ---------------------------------------------------------------------
-
-            typedef double yes_type;
-            typedef char no_type;
-
-            // pair selector
-            template< typename T, typename U >
-            yes_type is_pair_impl( const std::pair<T,U>* );
-            no_type is_pair_impl( ... );
-
-            template<typename T> struct is_pair
-            {
-            private:
-                static T* t;
-            public:
-                BOOST_STATIC_CONSTANT( bool, value=
-                    sizeof(is_pair_impl(t))==sizeof(yes_type) );
-            };
-
-            // pair helper
-            template< typename PairT >
-            struct pair_container_traits
-            {
-                typedef typename PairT::first_type element_type;
-
-                typedef typename ::boost::detail::
-                    iterator_traits<element_type>::value_type value_type;
-                typedef std::size_t size_type;
-                typedef typename ::boost::detail::
-                    iterator_traits<element_type>::difference_type difference_type;
-
-                typedef element_type iterator;
-                typedef element_type const_iterator;
-                typedef element_type result_iterator;
-
-                // static operations
-                template< typename P >
-                static size_type size( const P& p )
-                {
-                    difference_type diff = std::distance( p.first, p.second );
-                    if ( diff < 0 ) 
-                        return 0;
-                    else
-                        return diff;
-                }
-
-                template< typename P >
-                static bool empty( const P& p )
-                {
-                    return p.first==p.second;
-                }
-
-                template< typename P > 
-                static const_iterator begin( const P& p )
-                {
-                    return p.first;
-                }
-
-                template< typename P >
-                static const_iterator end( const P& p )
-                {
-                    return p.second;
-                }
-            }; // 'pair_container_helper'
-
-            template<typename T>
-            struct pair_container_traits_selector
-            {
-                typedef pair_container_traits<T> type;
-            };
-
-// Array container traits ---------------------------------------------------------------
-
-            // array traits ( partial specialization )
-            template< typename T >
-            struct array_traits;
-
-            template< typename T, std::size_t sz >
-            struct array_traits<T[sz]>
-            {
-                // typedef
-                typedef T* iterator;
-                typedef const T* const_iterator;
-                typedef T value_type;
-                typedef std::size_t size_type;
-                typedef std::ptrdiff_t difference_type;
-
-                // size of the array ( static );
-                BOOST_STATIC_CONSTANT( size_type, array_size = sz );
-            };
-
-            
-            // array length resolving
-            /*
-                Lenght of string contained in a static array could
-                be different from the size of the array.
-                For string processing we need the length without
-                terminating 0.
-
-                Therefore, the length is calculated for char and wchar_t
-                using char_traits, rather then simply returning
-                the array size.
-            */
-            template< typename T >
-            struct array_length_selector
-            {
-                template< typename TraitsT >
-                struct array_length
-                {
-                    typedef typename
-                        TraitsT::size_type size_type;
-
-                    BOOST_STATIC_CONSTANT(
-                        size_type,
-                        array_size=TraitsT::array_size );
-
-                    template< typename A >
-                    static size_type length( const A& )
-                    {
-                        return array_size;
-                    }
-
-                    template< typename A >
-                    static bool empty( const A& )
-                    {
-                        return array_size==0;
-                    }
-                };
-            };
-
-            // specialization for char
-            template<>
-            struct array_length_selector<char>
-            {
-                template< typename TraitsT >
-                struct array_length
-                {
-                    typedef typename
-                        TraitsT::size_type size_type;
-
-                    template< typename A >
-                    static size_type length( const A& a )
-                    {
-                        if ( a==0 ) 
-                            return 0;
-                        else
-                            return std::char_traits<char>::length(a);
-                    }
-                    
-                    template< typename A >
-                    static bool empty( const A& a )
-                    {
-                        return a==0 || a[0]==0;
-                    }
-                };
-            };
-
-            // specialization for wchar_t
-            template<>
-            struct array_length_selector<wchar_t>
-            {
-                template< typename TraitsT >
-                struct array_length
-                {
-                    typedef typename
-                        TraitsT::size_type size_type;
-
-                    template< typename A >
-                    static size_type length( const A& a )
-                    {
-                        if ( a==0 ) 
-                            return 0;
-                        else
-                            return std::char_traits<wchar_t>::length(a);
-                    }
-
-                    template< typename A >
-                    static bool empty( const A& a )
-                    {
-                        return a==0 || a[0]==0;
-                    }
-                };
-            };
-
-            template< typename T >
-            struct array_container_traits
-            {
-            private:
-                // resolve array traits
-                typedef array_traits<T> traits_type;
-
-            public:
-                typedef typename
-                    traits_type::value_type value_type;
-                typedef typename
-                    traits_type::iterator iterator;
-                typedef typename
-                    traits_type::const_iterator const_iterator;
-                typedef typename
-                    traits_type::size_type size_type;
-                typedef typename
-                    traits_type::difference_type difference_type;
-
-                typedef typename
-                    ::boost::mpl::if_< ::boost::is_const<T>,
-                        const_iterator,
-                        iterator 
-                    >::type result_iterator;
-                
-            private:
-                // resolve array size
-                typedef typename
-                    ::boost::remove_cv<value_type>::type char_type;
-                typedef typename
-                    array_length_selector<char_type>::
-                        BOOST_NESTED_TEMPLATE array_length<traits_type> array_length_type;
-
-            public:
-                BOOST_STATIC_CONSTANT( size_type, array_size = traits_type::array_size );
-
-                // static operations
-                template< typename A >
-                static size_type size( const A& a )
-                {
-                    return array_length_type::length(a);
-                }
-
-                template< typename A >
-                static bool empty( const A& a )
-                {
-                    return array_length_type::empty(a);
-                }
-                
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-                template< typename A >
-                static iterator begin( A& a )
-                {
-                    return a;
-                }
-
-                template< typename A >
-                static const_iterator begin( const A& a )
-                {
-                    return a;
-                }
-
-                template< typename A >
-                static iterator end( A& a )
-                {
-                    return a+array_length_type::length(a);
-                }
-
-                template< typename A >
-                static const_iterator end( const A& a )
-                {
-                    return a+array_length_type::length(a);
-                }
-
-#else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-                template< typename A >
-                static result_iterator begin( A& a )
-                {
-                    return a;
-                }
-
-                template< typename A >
-                static result_iterator end( A& a )
-                {
-                    return a+array_length_type::length(a);
-                }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING    
-
-            }; 
-
-            template<typename T>
-            struct array_container_traits_selector
-            {
-                typedef array_container_traits<T> type;
-            };
-
-// Pointer container traits ---------------------------------------------------------------
-
-            template<typename T>
-            struct pointer_container_traits
-            {
-                typedef typename
-                    ::boost::remove_pointer<T>::type value_type;
-
-                typedef typename
-                    ::boost::remove_cv<value_type>::type char_type;
-                typedef ::std::char_traits<char_type> char_traits;
-
-                typedef value_type* iterator;
-                typedef const value_type* const_iterator;
-                typedef std::ptrdiff_t difference_type;
-                typedef std::size_t size_type;
-
-                typedef typename
-                    ::boost::mpl::if_< ::boost::is_const<T>,
-                        const_iterator,
-                        iterator 
-                    >::type result_iterator;
-
-                // static operations
-                template< typename P >
-                static size_type size( const P& p )
-                {
-                    if ( p==0 ) 
-                        return 0;
-                    else
-                        return char_traits::length(p);
-                }
-
-                template< typename P >
-                static bool empty( const P& p )
-                {
-                    return p==0 || p[0]==0;
-                }
-
-#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-                template< typename P >
-                static iterator begin( P& p )
-                {
-                    return p;
-                }
-
-                template< typename P >
-                static const_iterator begin( const P& p )
-                {
-                    return p;
-                }
-
-                template< typename P >
-                static iterator end( P& p )
-                {
-                    if ( p==0 )
-                        return p;
-                    else
-                        return p+char_traits::length(p);
-                }
-
-                template< typename P >
-                static const_iterator end( const P& p )
-                {
-                    if ( p==0 )
-                        return p;
-                    else
-                        return p+char_traits::length(p);
-                }
-
-#else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-                template< typename P >
-                static result_iterator begin( P& p )
-                {
-                    return p;
-                }
-
-                template< typename P >
-                static result_iterator end( P& p )
-                {
-                    if ( p==0 )
-                        return p;
-                    else
-                        return p+char_traits::length(p);
-                }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING    
-            }; 
-
-            template<typename T>
-            struct pointer_container_traits_selector
-            {
-                typedef pointer_container_traits<T> type;
-            };
-
-        } // namespace detail
-    } // namespace algorithm
-} // namespace boost
-
-
-#endif  // BOOST_STRING_DETAIL_COLLECTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_cxx03.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_cxx03.hpp
deleted file mode 100644
index 47da6a6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_cxx03.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014. Use, modification and
-//  distribution is subject to the 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_COMBINE_CXX03_HPP
-#define BOOST_RANGE_DETAIL_COMBINE_CXX03_HPP
-
-#ifndef BOOST_RANGE_MIN_COMBINE_ARGS
-#define BOOST_RANGE_MIN_COMBINE_ARGS 2
-#endif
-
-#ifndef BOOST_RANGE_MAX_COMBINE_ARGS
-#define BOOST_RANGE_MAX_COMBINE_ARGS 5
-#endif
-
-#include <boost/config.hpp>
-#include <boost/iterator/zip_iterator.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/arithmetic/div.hpp>
-#include <boost/preprocessor/arithmetic/mul.hpp>
-#include <boost/preprocessor/control.hpp>
-#include <boost/preprocessor/control/while.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-#include <boost/preprocessor/iteration/local.hpp>
-#include <boost/preprocessor/punctuation/comma.hpp>
-#include <boost/preprocessor/repetition.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/utility/result_of.hpp>
-
-#include <vector>
-#include <list>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<typename F, typename T, int SIZE>
-struct combined_result_impl;
-
-template<typename F, typename T>
-struct combined_result
-    : combined_result_impl<F, T, tuples::length<T>::value>
-{
-};
-
-#define BOOST_RANGE_combined_element(z, n, data) \
-    typename tuples::element<n, T>::type
-
-#define BOOST_RANGE_combined_result(z, n, data) \
-    template<typename F, typename T> \
-    struct combined_result_impl <F,T,n> \
-        : result_of<F(BOOST_PP_ENUM(n, BOOST_RANGE_combined_element, ~))> \
-    { \
-    };
-
-#define BOOST_PP_LOCAL_MACRO(n) BOOST_RANGE_combined_result(~,n,~)
-
-#define BOOST_PP_LOCAL_LIMITS (BOOST_RANGE_MIN_COMBINE_ARGS, \
-                               BOOST_RANGE_MAX_COMBINE_ARGS)
-#include BOOST_PP_LOCAL_ITERATE()
-
-#define BOOST_RANGE_combined_get(z, n, data) get<n>(tuple)
-
-#define BOOST_RANGE_combined_unpack(z, n, data) \
-    template<typename F, typename T> inline \
-    typename combined_result<F,T>::type \
-    unpack_(mpl::int_<n>, F f, const T& tuple) \
-    { \
-        return f(BOOST_PP_ENUM(n, BOOST_RANGE_combined_get, ~)); \
-    }
-
-#define BOOST_PP_LOCAL_MACRO(n) BOOST_RANGE_combined_unpack(~,n,~)
-#define BOOST_PP_LOCAL_LIMITS (BOOST_RANGE_MIN_COMBINE_ARGS, \
-                               BOOST_RANGE_MAX_COMBINE_ARGS)
-#include BOOST_PP_LOCAL_ITERATE()
-
-} // namespace range_detail
-
-namespace range
-{
-
-#define BOOST_RANGE_combined_seq(z, n, data) boost::data(BOOST_PP_CAT(r,n))
-
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-
-#include <boost/range/detail/combine_no_rvalue.hpp>
-
-#else // by using rvalue references we avoid requiring 2^n overloads.
-
-#include <boost/range/detail/combine_rvalue.hpp>
-
-#endif
-
-#define BOOST_PP_LOCAL_MACRO(n) BOOST_RANGE_combine(~,n,~)
-#define BOOST_PP_LOCAL_LIMITS (BOOST_RANGE_MIN_COMBINE_ARGS, \
-                               BOOST_RANGE_MAX_COMBINE_ARGS)
-#include BOOST_PP_LOCAL_ITERATE()
-
-    } // namespace range
-
-    using boost::range::combine;
-
-} // namespace boost
-
-#endif // include guard
-
-#undef BOOST_RANGE_combined_element
-#undef BOOST_RANGE_combined_result
-#undef BOOST_RANGE_combined_get
-#undef BOOST_RANGE_combined_unpack
-#undef BOOST_RANGE_combined_seq
-#undef BOOST_RANGE_combined_exp_pred
-#undef BOOST_RANGE_combined_exp_op
-#undef BOOST_RANGE_combined_exp
-#undef BOOST_RANGE_combined_bitset_pred
-#undef BOOST_RANGE_combined_bitset_op
-#undef BOOST_RANGE_combined_bitset
-#undef BOOST_RANGE_combined_range_iterator
-#undef BOOST_RANGE_combined_args
-#undef BOOST_RANGE_combine_impl
-#undef BOOST_RANGE_combine
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_cxx11.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_cxx11.hpp
deleted file mode 100644
index a7fa5b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_cxx11.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//  Copyright Neil Groves 2014. Use, modification and
-//  distribution is subject to the 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_COMBINE_CXX11_HPP
-#define BOOST_RANGE_DETAIL_COMBINE_CXX11_HPP
-
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/iterator/zip_iterator.hpp>
-
-#include <fstream>
-
-namespace boost
-{
-    namespace range
-    {
-
-template<typename... Ranges>
-auto combine(Ranges&&... rngs) ->
-    combined_range<decltype(boost::make_tuple(boost::begin(rngs)...))>
-{
-    return combined_range<decltype(boost::make_tuple(boost::begin(rngs)...))>(
-                boost::make_tuple(boost::begin(rngs)...),
-                boost::make_tuple(boost::end(rngs)...));
-}
-
-    } // namespace range
-
-using range::combine;
-
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_no_rvalue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_no_rvalue.hpp
deleted file mode 100644
index bdb3950..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_no_rvalue.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014. Use, modification and
-//  distribution is subject to the 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/
-//
-#define BOOST_RANGE_combined_exp_pred(d, data) BOOST_PP_TUPLE_ELEM(3, 0, data)
-
-#define BOOST_RANGE_combined_exp_op(d, data) \
- ( \
-    BOOST_PP_DEC( \
-       BOOST_PP_TUPLE_ELEM(3, 0, data) \
-    ), \
-    BOOST_PP_TUPLE_ELEM(3, 1, data), \
-    BOOST_PP_MUL_D( \
-       d, \
-       BOOST_PP_TUPLE_ELEM(3, 2, data), \
-       BOOST_PP_TUPLE_ELEM(3, 1, data) \
-    ) \
- )
-
-#define BOOST_RANGE_combined_exp(x, n) \
-  BOOST_PP_TUPLE_ELEM(3, 2, \
-  BOOST_PP_WHILE(BOOST_RANGE_combined_exp_pred, \
-                 BOOST_RANGE_combined_exp_op, (n, x, 1)))
-
-#define BOOST_RANGE_combined_bitset_pred(n, state) \
-    BOOST_PP_TUPLE_ELEM(2,1,state)
-
-#define BOOST_RANGE_combined_bitset_op(d, state) \
-    (BOOST_PP_DIV_D(d, BOOST_PP_TUPLE_ELEM(2,0,state), 2), \
-     BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,1,state)))
-
-#define BOOST_RANGE_combined_bitset(i, n) \
-BOOST_PP_MOD(BOOST_PP_TUPLE_ELEM(2, 0, \
-      BOOST_PP_WHILE(BOOST_RANGE_combined_bitset_pred, \
-                     BOOST_RANGE_combined_bitset_op, (i,n))), 2)
-
-#define BOOST_RANGE_combined_range_iterator(z, n, i) \
-  typename range_iterator< \
-      BOOST_PP_CAT(R,n)          \
-      BOOST_PP_IF( \
-          BOOST_RANGE_combined_bitset(i,n), \
-          BOOST_PP_IDENTITY(const), \
-          BOOST_PP_EMPTY)() \
-  >::type
-
-#define BOOST_RANGE_combined_args(z, n, i) \
-  BOOST_PP_CAT(R, n) \
-  BOOST_PP_IF(BOOST_RANGE_combined_bitset(i,n), const&, &)  \
-  BOOST_PP_CAT(r, n)
-
-#define BOOST_RANGE_combine_impl(z, i, n)\
-    template<BOOST_PP_ENUM_PARAMS(n, typename R)> \
-    inline range::combined_range< \
-        boost::tuple<BOOST_PP_ENUM(n, BOOST_RANGE_combined_range_iterator, i)> \
-    > \
-    combine(BOOST_PP_ENUM(n, BOOST_RANGE_combined_args, i)) \
-    { \
-        typedef tuple< \
-            BOOST_PP_ENUM(n, BOOST_RANGE_combined_range_iterator, i) \
-        > rng_tuple_t;   \
-        return range::combined_range<rng_tuple_t>( \
-            rng_tuple_t(BOOST_PP_ENUM(n, BOOST_RANGE_combined_seq, begin)), \
-            rng_tuple_t(BOOST_PP_ENUM(n, BOOST_RANGE_combined_seq, end))); \
-    }
-
-
-#define BOOST_RANGE_combine(z, n, data) \
-  BOOST_PP_REPEAT(BOOST_RANGE_combined_exp(2,n), BOOST_RANGE_combine_impl, n)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_rvalue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_rvalue.hpp
deleted file mode 100644
index 2e323b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/combine_rvalue.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014. Use, modification and
-//  distribution is subject to the 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/
-//
-#define BOOST_RANGE_combined_args(z, n, i) \
-    BOOST_PP_CAT(R, n)&& BOOST_PP_CAT(r, n)
-
-#define BOOST_RANGE_combined_range_iterator(z, n, i) \
-    typename range_iterator< \
-        typename remove_reference<BOOST_PP_CAT(R,n)>::type \
-  >::type
-
-
-#define BOOST_RANGE_combine(z, n, data) \
-    template <BOOST_PP_ENUM_PARAMS(n, typename R)> \
-    inline range::combined_range< \
-        tuple<BOOST_PP_ENUM(n, BOOST_RANGE_combined_range_iterator, ~)> \
-    > \
-    combine(BOOST_PP_ENUM(n, BOOST_RANGE_combined_args, ~)) \
-    { \
-        typedef tuple< \
-            BOOST_PP_ENUM(n, BOOST_RANGE_combined_range_iterator, ~) \
-        > rng_tuple_t; \
-        return range::combined_range<rng_tuple_t>( \
-            rng_tuple_t(BOOST_PP_ENUM(n, BOOST_RANGE_combined_seq, begin)), \
-            rng_tuple_t(BOOST_PP_ENUM(n, BOOST_RANGE_combined_seq, end))); \
-    }
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/common.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/common.hpp
deleted file mode 100644
index 00b665b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/common.hpp
+++ /dev/null
@@ -1,118 +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)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/detail/sfinae.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/or.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::mpl::or_<boost::mpl::bool_<is_const_char_ptr_>, boost::mpl::bool_<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/rbgl_trimmed_boost_1_61_0/boost/range/detail/default_constructible_unary_fn.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/default_constructible_unary_fn.hpp
deleted file mode 100644
index 374ddda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/default_constructible_unary_fn.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014. Use, modification and
-//  distribution is subject to the 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_DEFAULT_CONSTRUCTIBLE_UNARY_FN_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_DEFAULT_CONSTRUCTIBLE_UNARY_FN_HPP_INCLUDED
-
-#include <boost/optional/optional.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/has_trivial_constructor.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<typename F, typename R>
-class default_constructible_unary_fn_wrapper
-{
-public:
-    typedef R result_type;
-
-    default_constructible_unary_fn_wrapper()
-    {
-    }
-    default_constructible_unary_fn_wrapper(const F& source)
-        : m_impl(source)
-    {
-    }
-    template<typename Arg>
-    R operator()(const Arg& arg) const
-    {
-        BOOST_ASSERT(m_impl);
-        return (*m_impl)(arg);
-    }
-    template<typename Arg>
-    R operator()(Arg& arg) const
-    {
-        BOOST_ASSERT(m_impl);
-        return (*m_impl)(arg);
-    }
-private:
-    boost::optional<F> m_impl;
-};
-
-template<typename F, typename R>
-struct default_constructible_unary_fn_gen
-{
-    typedef typename boost::mpl::if_<
-        boost::has_trivial_default_constructor<F>,
-        F,
-        default_constructible_unary_fn_wrapper<F,R>
-    >::type type;
-};
-
-    } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/demote_iterator_traversal_tag.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/demote_iterator_traversal_tag.hpp
deleted file mode 100644
index 6d65720..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/demote_iterator_traversal_tag.hpp
+++ /dev/null
@@ -1,91 +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)
-//
-// Acknowledgements:
-// aschoedl supplied a fix to supply the level of interoperability I had
-// originally intended, but failed to implement.
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_DETAIL_DEMOTE_ITERATOR_TRAVERSAL_TAG_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_DEMOTE_ITERATOR_TRAVERSAL_TAG_HPP_INCLUDED
-
-#include <boost/iterator/iterator_categories.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<class IteratorTraversalTag1, class IteratorTraversalTag2>
-struct inner_demote_iterator_traversal_tag
-{
-};
-
-#define BOOST_DEMOTE_TRAVERSAL_TAG( Tag1, Tag2, ResultTag ) \
-template<> struct inner_demote_iterator_traversal_tag< Tag1 , Tag2 > \
-{ \
-    typedef ResultTag type; \
-};
-
-BOOST_DEMOTE_TRAVERSAL_TAG( no_traversal_tag, no_traversal_tag,            no_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( no_traversal_tag, incrementable_traversal_tag, no_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( no_traversal_tag, single_pass_traversal_tag,   no_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( no_traversal_tag, forward_traversal_tag,       no_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( no_traversal_tag, bidirectional_traversal_tag, no_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( no_traversal_tag, random_access_traversal_tag, no_traversal_tag )
-
-BOOST_DEMOTE_TRAVERSAL_TAG( incrementable_traversal_tag, no_traversal_tag,            no_traversal_tag            )
-BOOST_DEMOTE_TRAVERSAL_TAG( incrementable_traversal_tag, incrementable_traversal_tag, incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( incrementable_traversal_tag, single_pass_traversal_tag,   incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( incrementable_traversal_tag, forward_traversal_tag,       incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( incrementable_traversal_tag, bidirectional_traversal_tag, incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( incrementable_traversal_tag, random_access_traversal_tag, incrementable_traversal_tag )
-
-BOOST_DEMOTE_TRAVERSAL_TAG( single_pass_traversal_tag, no_traversal_tag,            no_traversal_tag            )
-BOOST_DEMOTE_TRAVERSAL_TAG( single_pass_traversal_tag, incrementable_traversal_tag, incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( single_pass_traversal_tag, single_pass_traversal_tag,   single_pass_traversal_tag   )
-BOOST_DEMOTE_TRAVERSAL_TAG( single_pass_traversal_tag, forward_traversal_tag,       single_pass_traversal_tag   )
-BOOST_DEMOTE_TRAVERSAL_TAG( single_pass_traversal_tag, bidirectional_traversal_tag, single_pass_traversal_tag   )
-BOOST_DEMOTE_TRAVERSAL_TAG( single_pass_traversal_tag, random_access_traversal_tag, single_pass_traversal_tag   )
-
-BOOST_DEMOTE_TRAVERSAL_TAG( forward_traversal_tag, no_traversal_tag,            no_traversal_tag            )
-BOOST_DEMOTE_TRAVERSAL_TAG( forward_traversal_tag, incrementable_traversal_tag, incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( forward_traversal_tag, single_pass_traversal_tag,   single_pass_traversal_tag   )
-BOOST_DEMOTE_TRAVERSAL_TAG( forward_traversal_tag, forward_traversal_tag,       forward_traversal_tag       )
-BOOST_DEMOTE_TRAVERSAL_TAG( forward_traversal_tag, bidirectional_traversal_tag, forward_traversal_tag       )
-BOOST_DEMOTE_TRAVERSAL_TAG( forward_traversal_tag, random_access_traversal_tag, forward_traversal_tag       )
-
-BOOST_DEMOTE_TRAVERSAL_TAG( bidirectional_traversal_tag, no_traversal_tag,            no_traversal_tag            )
-BOOST_DEMOTE_TRAVERSAL_TAG( bidirectional_traversal_tag, incrementable_traversal_tag, incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( bidirectional_traversal_tag, single_pass_traversal_tag,   single_pass_traversal_tag   )
-BOOST_DEMOTE_TRAVERSAL_TAG( bidirectional_traversal_tag, forward_traversal_tag,       forward_traversal_tag       )
-BOOST_DEMOTE_TRAVERSAL_TAG( bidirectional_traversal_tag, bidirectional_traversal_tag, bidirectional_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( bidirectional_traversal_tag, random_access_traversal_tag, bidirectional_traversal_tag )
-
-BOOST_DEMOTE_TRAVERSAL_TAG( random_access_traversal_tag, no_traversal_tag,            no_traversal_tag            )
-BOOST_DEMOTE_TRAVERSAL_TAG( random_access_traversal_tag, incrementable_traversal_tag, incrementable_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( random_access_traversal_tag, single_pass_traversal_tag,   single_pass_traversal_tag   )
-BOOST_DEMOTE_TRAVERSAL_TAG( random_access_traversal_tag, forward_traversal_tag,       forward_traversal_tag       )
-BOOST_DEMOTE_TRAVERSAL_TAG( random_access_traversal_tag, bidirectional_traversal_tag, bidirectional_traversal_tag )
-BOOST_DEMOTE_TRAVERSAL_TAG( random_access_traversal_tag, random_access_traversal_tag, random_access_traversal_tag )
-
-#undef BOOST_DEMOTE_TRAVERSAL_TAG
-
-template<class IteratorTraversalTag1, class IteratorTraversalTag2>
-struct demote_iterator_traversal_tag
-    : inner_demote_iterator_traversal_tag<
-        typename boost::iterators::pure_traversal_tag< IteratorTraversalTag1 >::type,
-        typename boost::iterators::pure_traversal_tag< IteratorTraversalTag2 >::type
-      >
-{
-};
-
-    } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/detail_str.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/detail_str.hpp
deleted file mode 100644
index 5ef7a34..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/detail/difference_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/difference_type.hpp
deleted file mode 100644
index c641516..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/difference_type.hpp
+++ /dev/null
@@ -1,121 +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_DIFFERENCE_TYPE_HPP
-#define BOOST_RANGE_DETAIL_DIFFERENCE_TYPE_HPP
-
-#include <boost/range/detail/common.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization  workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost 
-{
-    namespace range_detail 
-    {        
-        template< typename T >
-        struct range_difference_type_;
-
-        template<>
-        struct range_difference_type_<std_container_>
-        {
-            template< typename C >
-            struct pts
-            {
-                typedef BOOST_DEDUCED_TYPENAME C::difference_type type;
-            };
-        };
-
-        template<>
-        struct range_difference_type_<std_pair_>
-        {
-            template< typename P >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME boost::iterator_difference< BOOST_DEDUCED_TYPENAME P::first_type>::type type;                
-            };
-        };
-
-        template<>
-        struct range_difference_type_<array_>
-        {
-            template< typename A >
-            struct pts
-            {
-                typedef std::ptrdiff_t type;
-            };
-        };
-
-        template<>
-        struct range_difference_type_<char_array_>
-        { 
-            template< typename A >
-            struct pts
-            {
-                typedef std::ptrdiff_t type;
-            };
-        };
-
-        template<>
-        struct range_difference_type_<char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::ptrdiff_t type;
-            };         
-        };
-        
-        template<>
-        struct range_difference_type_<const_char_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::ptrdiff_t type;
-            };         
-        };
-        
-        template<>
-        struct range_difference_type_<wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::ptrdiff_t type;
-            };         
-        };
-        
-        template<>
-        struct range_difference_type_<const_wchar_t_ptr_>
-        {
-            template< typename S >
-            struct pts
-            {
-                typedef std::ptrdiff_t type;
-            };         
-        };
-        
-    } 
-    
-    template< typename C >
-    class range_difference
-    {
-        typedef BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
-    public:
-        typedef BOOST_RANGE_DEDUCED_TYPENAME range_detail::range_difference_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
-    };
-
-}
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/empty.hpp
deleted file mode 100644
index b098705..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/empty.hpp
+++ /dev/null
@@ -1,120 +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_EMPTY_HPP
-#define BOOST_RANGE_DETAIL_EMPTY_HPP
-
-#include <boost/range/detail/common.hpp>
-
-namespace boost 
-{
-    namespace range_detail
-    {
-        template< typename T >
-        struct range_empty;
-
-        //////////////////////////////////////////////////////////////////////
-        // default
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_empty<std_container_>
-        {
-            template< typename C >
-            static bool fun( C& c )
-            {
-                return c.empty();
-            };
-        };
-                    
-        //////////////////////////////////////////////////////////////////////
-        // pair
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_empty<std_pair_>
-        {
-            template< typename P >
-            static bool fun( const P& p )
-            {
-                return p.first == p.second;
-            }
-        };
- 
-        //////////////////////////////////////////////////////////////////////
-        // array
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_empty<array_>
-        {
-            template< typename T, std::size_t sz >
-            static bool fun( T BOOST_ARRAY_REF[sz] )
-            {
-                if( boost_range_array == 0 )
-                    return true;
-                return false;
-            }
-        };
-
-        //////////////////////////////////////////////////////////////////////
-        // string
-        //////////////////////////////////////////////////////////////////////
-        
-        template<>
-        struct range_empty<char_ptr_>
-        {
-            static bool fun( const char* s )
-            {
-                return s == 0 || s[0] == 0;
-            }
-        };
-
-        template<>
-        struct range_empty<const_char_ptr_>
-        {
-            static bool fun( const char* s )
-            {
-                return  s == 0 || s[0] == 0;
-            }
-        };
-
-        template<>
-        struct range_empty<wchar_t_ptr_>
-        {
-            static bool fun( const wchar_t* s )
-            {
-                return  s == 0 || s[0] == 0;
-            }
-        };
-        
-        template<>
-        struct range_empty<const_wchar_t_ptr_>
-        {
-            static bool fun( const wchar_t* s )
-            {
-                return  s == 0 || s[0] == 0;
-            }
-        };
-
-    } // namespace 'range_detail'
-    
-        
-    template< typename C >
-    inline bool 
-    empty( const C& c )
-    {
-        return range_detail::range_empty<  BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
-    }
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/end.hpp
deleted file mode 100644
index f2f7178..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/end.hpp
+++ /dev/null
@@ -1,86 +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>
-
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/detail/common.hpp>
-
-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_>
-        {
-            template<typename T>
-            static BOOST_RANGE_DEDUCED_TYPENAME remove_extent<T>::type* fun(T& t)
-            {
-                return t + remove_extent<T>::size;
-            }
-        };
-
-    } // 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
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/extract_optional_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/extract_optional_type.hpp
deleted file mode 100644
index 0381434..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/extract_optional_type.hpp
+++ /dev/null
@@ -1,48 +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)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/mpl/has_xxx.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-// 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 )                          \
-    BOOST_MPL_HAS_XXX_TRAIT_DEF(a_typedef)                                      \
-    template< typename  C, bool B = BOOST_PP_CAT(has_, a_typedef)<C>::value >   \
-    struct BOOST_PP_CAT(extract_, a_typedef)                                    \
-    {};                                                                         \
-    template< typename C >                                                      \
-    struct BOOST_PP_CAT(extract_, a_typedef)< C, true >                         \
-    {                                                                           \
-        typedef BOOST_DEDUCED_TYPENAME C::a_typedef type;                       \
-    };
-
-#else
-
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                          \
-    template< typename C >                                                      \
-    struct BOOST_PP_CAT(extract_, a_typedef)                                    \
-    {                                                                           \
-        typedef BOOST_DEDUCED_TYPENAME C::a_typedef type;                       \
-    };
-
-#endif
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/has_member_size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/has_member_size.hpp
deleted file mode 100644
index 0c639aa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/has_member_size.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// Boost.Range library
-//
-// Copyright Neil Groves 2014.
-//
-// Use, modification and distribution are subject to the 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_HAS_MEMBER_SIZE_HPP
-#define BOOST_RANGE_DETAIL_HAS_MEMBER_SIZE_HPP
-
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/cstdint.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<class T>
-class has_member_size_impl
-{
-private:
-    template<class U, U>
-    class check
-    {
-    };
-
-    template<class C>
-    static boost::uint8_t f(check<std::size_t(C::*)(void) const, &C::size>*);
-
-    template<class C>
-    static boost::uint16_t f(...);
-
-public:
-    static const bool value =
-        (sizeof(f<T>(0)) == sizeof(boost::uint8_t));
-
-    typedef typename mpl::if_c<
-        (sizeof(f<T>(0)) == sizeof(boost::uint8_t)),
-        mpl::true_,
-        mpl::false_
-    >::type type;
-};
-
-template<class T>
-struct has_member_size
-{
-    typedef typename mpl::and_<
-        typename is_class<T>::type,
-        typename has_member_size_impl<const T>::type
-    >::type type;
-
-    static const bool value =
-        is_class<T>::value && has_member_size_impl<const T>::value;
-};
-
-    } // namespace range_detail
-}// namespace boost
- 
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/implementation_help.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/implementation_help.hpp
deleted file mode 100644
index f35953f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/implementation_help.hpp
+++ /dev/null
@@ -1,114 +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;
-        }
-
-        inline bool is_same_address(const void* l, const void* r)
-        {
-            return l == r;
-        }
-
-        template<class T1, class T2>
-        inline bool is_same_object(const T1& l, const T2& r)
-        {
-            return range_detail::is_same_address(&l, &r);
-        }
-
-    } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/join_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/join_iterator.hpp
deleted file mode 100644
index 1020ebf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/join_iterator.hpp
+++ /dev/null
@@ -1,354 +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)
-//
-// Acknowledgements:
-// aschoedl contributed an improvement to the determination
-// of the Reference type parameter.
-//
-// Leonid Gershanovich reported Trac ticket 7376 about the dereference operator
-// requiring identical reference types due to using the ternary if.
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_DETAIL_JOIN_ITERATOR_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_JOIN_ITERATOR_HPP_INCLUDED
-
-#include <iterator>
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/empty.hpp>
-#include <boost/range/detail/demote_iterator_traversal_tag.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/next_prior.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<typename Iterator1, typename Iterator2>
-struct join_iterator_link
-{
-public:
-    join_iterator_link(Iterator1 last1, Iterator2 first2)
-        :    last1(last1)
-        ,    first2(first2)
-    {
-    }
-
-    Iterator1 last1;
-    Iterator2 first2;
-
-private:
-    join_iterator_link() /* = delete */ ;
-};
-
-class join_iterator_begin_tag {};
-class join_iterator_end_tag {};
-
-template<typename Iterator1
-       , typename Iterator2
-       , typename Reference
->
-class join_iterator_union
-{
-public:
-    typedef Iterator1 iterator1_t;
-    typedef Iterator2 iterator2_t;
-
-    join_iterator_union() {}
-    join_iterator_union(unsigned int /*selected*/, const iterator1_t& it1, const iterator2_t& it2) : m_it1(it1), m_it2(it2) {}
-
-    iterator1_t& it1() { return m_it1; }
-    const iterator1_t& it1() const { return m_it1; }
-
-    iterator2_t& it2() { return m_it2; }
-    const iterator2_t& it2() const { return m_it2; }
-
-    Reference dereference(unsigned int selected) const
-    {
-        if (selected)
-            return *m_it2;
-        return *m_it1;
-    }
-
-    bool equal(const join_iterator_union& other, unsigned int selected) const
-    {
-        return selected
-            ? m_it2 == other.m_it2
-            : m_it1 == other.m_it1;
-    }
-
-private:
-    iterator1_t m_it1;
-    iterator2_t m_it2;
-};
-
-template<class Iterator, class Reference>
-class join_iterator_union<Iterator, Iterator, Reference>
-{
-public:
-    typedef Iterator iterator1_t;
-    typedef Iterator iterator2_t;
-
-    join_iterator_union() {}
-
-    join_iterator_union(unsigned int selected, const iterator1_t& it1, const iterator2_t& it2)
-        : m_it(selected ? it2 : it1)
-    {
-    }
-
-    iterator1_t& it1() { return m_it; }
-    const iterator1_t& it1() const { return m_it; }
-
-    iterator2_t& it2() { return m_it; }
-    const iterator2_t& it2() const { return m_it; }
-
-    Reference dereference(unsigned int) const
-    {
-        return *m_it;
-    }
-
-    bool equal(const join_iterator_union& other,
-               unsigned int /*selected*/) const
-    {
-        return m_it == other.m_it;
-    }
-
-private:
-    iterator1_t m_it;
-};
-
-template<typename Iterator1
-       , typename Iterator2
-       , typename ValueType = typename iterator_value<Iterator1>::type
-       // find least demanding, commonly supported reference type, in the order &, const&, and by-value:
-       , typename Reference = typename mpl::if_c<
-                !is_reference<typename iterator_reference<Iterator1>::type>::value
-             || !is_reference<typename iterator_reference<Iterator2>::type>::value,
-                        typename remove_const<
-                            typename remove_reference<
-                                typename iterator_reference<Iterator1>::type
-                            >::type
-                        >::type,
-                        typename mpl::if_c<
-                            is_const<
-                                typename remove_reference<
-                                    typename iterator_reference<Iterator1>::type
-                                >::type
-                            >::value
-                            || is_const<
-                                typename remove_reference<
-                                    typename iterator_reference<Iterator2>::type
-                                >::type
-                            >::value,
-                            typename add_const<
-                                typename iterator_reference<Iterator1>::type
-                            >::type,
-                            typename iterator_reference<Iterator1>::type
-                        >::type
-                    >::type
-       , typename Traversal = typename demote_iterator_traversal_tag<
-                                  typename iterator_traversal<Iterator1>::type
-                                , typename iterator_traversal<Iterator2>::type>::type
->
-class join_iterator
-    : public iterator_facade<join_iterator<Iterator1,Iterator2,ValueType,Reference,Traversal>, ValueType, Traversal, Reference>
-{
-    typedef join_iterator_link<Iterator1, Iterator2> link_t;
-    typedef join_iterator_union<Iterator1, Iterator2, Reference> iterator_union;
-public:
-    typedef Iterator1 iterator1_t;
-    typedef Iterator2 iterator2_t;
-
-    join_iterator()
-        : m_section(0u)
-        , m_it(0u, iterator1_t(), iterator2_t())
-        , m_link(link_t(iterator1_t(), iterator2_t()))
-    {}
-
-    join_iterator(unsigned int section, Iterator1 current1, Iterator1 last1, Iterator2 first2, Iterator2 current2)
-        : m_section(section)
-        , m_it(section, current1, current2)
-        , m_link(link_t(last1, first2))
-        {
-        }
-
-    template<typename Range1, typename Range2>
-    join_iterator(Range1& r1, Range2& r2, join_iterator_begin_tag)
-        : m_section(boost::empty(r1) ? 1u : 0u)
-        , m_it(boost::empty(r1) ? 1u : 0u, boost::begin(r1), boost::begin(r2))
-        , m_link(link_t(boost::end(r1), boost::begin(r2)))
-    {
-    }
-
-    template<typename Range1, typename Range2>
-    join_iterator(const Range1& r1, const Range2& r2, join_iterator_begin_tag)
-        : m_section(boost::empty(r1) ? 1u : 0u)
-        , m_it(boost::empty(r1) ? 1u : 0u, boost::const_begin(r1), boost::const_begin(r2))
-        , m_link(link_t(boost::const_end(r1), boost::const_begin(r2)))
-    {
-    }
-
-    template<typename Range1, typename Range2>
-    join_iterator(Range1& r1, Range2& r2, join_iterator_end_tag)
-        : m_section(1u)
-        , m_it(1u, boost::end(r1), boost::end(r2))
-        , m_link(link_t(boost::end(r1), boost::begin(r2)))
-    {
-    }
-
-    template<typename Range1, typename Range2>
-    join_iterator(const Range1& r1, const Range2& r2, join_iterator_end_tag)
-        : m_section(1u)
-        , m_it(1u, boost::const_end(r1), boost::const_end(r2))
-        , m_link(link_t(boost::const_end(r1), boost::const_begin(r2)))
-    {
-    }
-
-private:
-    void increment()
-    {
-        if (m_section)
-            ++m_it.it2();
-        else
-        {
-            ++m_it.it1();
-            if (m_it.it1() == m_link.last1)
-            {
-                m_it.it2() = m_link.first2;
-                m_section = 1u;
-            }
-        }
-    }
-
-    void decrement()
-    {
-        if (m_section)
-        {
-            if (m_it.it2() == m_link.first2)
-            {
-                m_it.it1() = boost::prior(m_link.last1);
-                m_section = 0u;
-            }
-            else
-                --m_it.it2();
-        }
-        else
-            --m_it.it1();
-    }
-
-    typename join_iterator::reference dereference() const
-    {
-        return m_it.dereference(m_section);
-    }
-
-    bool equal(const join_iterator& other) const
-    {
-        return m_section == other.m_section
-            && m_it.equal(other.m_it, m_section);
-    }
-
-    void advance(typename join_iterator::difference_type offset)
-    {
-        if (m_section)
-            advance_from_range2(offset);
-        else
-            advance_from_range1(offset);
-    }
-
-    typename join_iterator::difference_type distance_to(const join_iterator& other) const
-    {
-        typename join_iterator::difference_type result;
-        if (m_section)
-        {
-            if (other.m_section)
-                result = other.m_it.it2() - m_it.it2();
-            else
-            {
-                result = (m_link.first2 - m_it.it2())
-                       + (other.m_it.it1() - m_link.last1);
-
-                BOOST_ASSERT( result <= 0 );
-            }
-        }
-        else
-        {
-            if (other.m_section)
-            {
-                result = (m_link.last1 - m_it.it1())
-                       + (other.m_it.it2() - m_link.first2);
-            }
-            else
-                result = other.m_it.it1() - m_it.it1();
-        }
-        return result;
-    }
-
-    void advance_from_range2(typename join_iterator::difference_type offset)
-    {
-        typedef typename join_iterator::difference_type difference_t;
-        BOOST_ASSERT( m_section == 1u );
-        if (offset < 0)
-        {
-            difference_t r2_dist = m_link.first2 - m_it.it2();
-            BOOST_ASSERT( r2_dist <= 0 );
-            if (offset >= r2_dist)
-                std::advance(m_it.it2(), offset);
-            else
-            {
-                difference_t r1_dist = offset - r2_dist;
-                BOOST_ASSERT( r1_dist <= 0 );
-                m_it.it1() = m_link.last1 + r1_dist;
-                m_section = 0u;
-            }
-        }
-        else
-            std::advance(m_it.it2(), offset);
-    }
-
-    void advance_from_range1(typename join_iterator::difference_type offset)
-    {
-        typedef typename join_iterator::difference_type difference_t;
-        BOOST_ASSERT( m_section == 0u );
-        if (offset > 0)
-        {
-            difference_t r1_dist = m_link.last1 - m_it.it1();
-            BOOST_ASSERT( r1_dist >= 0 );
-            if (offset < r1_dist)
-                std::advance(m_it.it1(), offset);
-            else
-            {
-                difference_t r2_dist = offset - r1_dist;
-                BOOST_ASSERT( r2_dist >= 0 );
-                m_it.it2() = m_link.first2 + r2_dist;
-                m_section = 1u;
-            }
-        }
-        else
-            std::advance(m_it.it1(), offset);
-    }
-
-    unsigned int m_section;
-    iterator_union m_it;
-    link_t m_link;
-
-    friend class ::boost::iterator_core_access;
-};
-
-    } // namespace range_detail
-
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/microsoft.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/microsoft.hpp
deleted file mode 100644
index 7b672c9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/microsoft.hpp
+++ /dev/null
@@ -1,931 +0,0 @@
-#ifndef BOOST_RANGE_DETAIL_MICROSOFT_HPP
-#define BOOST_RANGE_DETAIL_MICROSOFT_HPP
-
-// Boost.Range MFC/ATL Extension
-//
-// Copyright Shunsuke Sogame 2005-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)
-
-
-
-
-// config
-//
-
-
-#include <boost/range/iterator.hpp>
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1 1
-
-
-#if !defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)
-    #define BOOST_RANGE_DETAIL_MICROSOFT_range_mutable_iterator range_mutable_iterator
-    #define BOOST_RANGE_DETAIL_MICROSOFT_range_begin            range_begin
-    #define BOOST_RANGE_DETAIL_MICROSOFT_range_end              range_end
-#else
-    #define BOOST_RANGE_DETAIL_MICROSOFT_range_mutable_iterator range_mutable_iterator
-    #define BOOST_RANGE_DETAIL_MICROSOFT_range_begin            range_begin
-    #define BOOST_RANGE_DETAIL_MICROSOFT_range_end              range_end
-#endif
-
-
-
-
-// yet another customization way
-//
-
-
-#include <boost/iterator/iterator_traits.hpp> // iterator_difference
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/detail/is_unary.hpp>
-#include <boost/preprocessor/list/for_each.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/utility/enable_if.hpp> // disable_if
-
-#if !defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)
-    #include <boost/range/mutable_iterator.hpp>
-#else
-    #include <iterator> // distance
-    #include <boost/range/begin.hpp>
-    #include <boost/range/end.hpp>
-    #include <boost/range/iterator.hpp>
-#endif
-
-
-namespace boost { namespace range_detail_microsoft {
-
-
-    // customization point
-    //
-
-    template< class Tag >
-    struct customization;
-
-
-    template< class T >
-    struct customization_tag;
-
-
-    struct using_type_as_tag
-    { };
-
-
-    // Topic:
-    // In fact, it is unnecessary for VC++.
-    // VC++'s behavior seems conforming, while GCC fails without this.
-    template< class Iterator, class T >
-    struct mutable_ :
-        disable_if< is_const<T>, Iterator >
-    { };
-
-
-    // helpers
-    //
-
-    template< class Tag, class T >
-    struct customization_tag_of
-    {
-        typedef typename mpl::if_< is_same<using_type_as_tag, Tag>,
-            T,
-            Tag
-        >::type type;
-    };
-
-
-    template< class T >
-    struct customization_of
-    {
-        typedef typename remove_cv<T>::type bare_t;
-        typedef typename customization_tag<bare_t>::type tag_t;
-        typedef customization<tag_t> type;
-    };
-
-
-    template< class T >
-    struct mutable_iterator_of
-    {
-        typedef typename remove_cv<T>::type bare_t;
-        typedef typename customization_of<bare_t>::type cust_t;
-        typedef typename cust_t::template meta<bare_t>::mutable_iterator type;
-    };
-
-
-    template< class T >
-    struct const_iterator_of
-    {
-        typedef typename remove_cv<T>::type bare_t;
-        typedef typename customization_of<bare_t>::type cust_t;
-        typedef typename cust_t::template meta<bare_t>::const_iterator type;
-    };
-
-
-    template< class T >
-    struct size_type_of
-    {
-        typedef typename range_detail_microsoft::mutable_iterator_of<T>::type miter_t;
-        typedef typename iterator_difference<miter_t>::type type;
-    };
-
-
-    template< class T > inline
-    typename mutable_iterator_of<T>::type
-    begin_of(T& x)
-    {
-        typedef typename customization_of<T>::type cust_t;
-        return cust_t().template begin<typename mutable_iterator_of<T>::type>(x);
-    }
-
-
-    template< class T > inline
-    typename const_iterator_of<T>::type
-    begin_of(T const& x)
-    {
-        typedef typename customization_of<T>::type cust_t;
-        return cust_t().template begin<typename const_iterator_of<T>::type>(x);
-    }
-
-
-    template< class T > inline
-    typename mutable_iterator_of<T>::type
-    end_of(T& x)
-    {
-        typedef typename customization_of<T>::type cust_t;
-        return cust_t().template end<typename mutable_iterator_of<T>::type>(x);
-    }
-
-
-    template< class T > inline
-    typename const_iterator_of<T>::type
-    end_of(T const& x)
-    {
-        typedef typename customization_of<T>::type cust_t;
-        return cust_t().template end<typename const_iterator_of<T>::type>(x);
-    }
-
-
-#if defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)
-
-    template< class T > inline
-    typename size_type_of<T>::type
-    size_of(T const& x)
-    {
-        return std::distance(boost::begin(x), boost::end(x));
-    }
-
-#endif
-
-
-    template< class Range >
-    struct compatible_mutable_iterator : 
-        BOOST_RANGE_DETAIL_MICROSOFT_range_mutable_iterator<Range>
-    { };
-
-
-} } // namespace boost::range_detail_microsoft
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_open(NamespaceList) \
-    BOOST_PP_LIST_FOR_EACH(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_open_op, ~, NamespaceList) \
-/**/
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_open_op(r, data, elem) \
-        namespace elem { \
-    /**/
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_close(NamespaceList) \
-    BOOST_PP_LIST_FOR_EACH(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_close_op, ~, NamespaceList) \
-/**/
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_close_op(r, data, elem) \
-        } \
-    /**/
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_expand_op(r, data, elem) \
-    :: elem \
-/**/
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(Tag, NamespaceList, Name) \
-    namespace boost { namespace range_detail_microsoft { \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_tag(Tag, BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-    } } \
-    \
-    namespace boost { \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_mutable_iterator(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_const_iterator(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_size_type(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-    } \
-    \
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_open(NamespaceList) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_begin(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_begin_const(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_end(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_end_const(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_size(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name)) \
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_close(NamespaceList) \
-/**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_fullname(NamespaceList, Name) \
-        BOOST_PP_LIST_FOR_EACH(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_expand_op, ~, NamespaceList) :: Name \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_tag(Tag, Fullname) \
-        template< > \
-        struct customization_tag< Fullname > : \
-            customization_tag_of< Tag, Fullname > \
-        { }; \
-    /**/
-
-
-    // metafunctions
-    //
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_mutable_iterator(Fullname) \
-        template< > \
-        struct BOOST_RANGE_DETAIL_MICROSOFT_range_mutable_iterator< Fullname > : \
-            range_detail_microsoft::mutable_iterator_of< Fullname > \
-        { }; \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_const_iterator(Fullname) \
-        template< > \
-        struct range_const_iterator< Fullname > : \
-            range_detail_microsoft::const_iterator_of< Fullname > \
-        { }; \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_size_type(Fullname) \
-        template< > \
-        struct range_size< Fullname > : \
-            range_detail_microsoft::size_type_of< Fullname > \
-        { }; \
-    /**/
-
-
-    // functions
-    //
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_begin(Fullname) \
-        inline \
-        boost::range_detail_microsoft::mutable_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_begin(Fullname& x) \
-        { \
-            return boost::range_detail_microsoft::begin_of(x); \
-        } \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_begin_const(Fullname) \
-        inline \
-        boost::range_detail_microsoft::const_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_begin(Fullname const& x) \
-        { \
-            return boost::range_detail_microsoft::begin_of(x); \
-        } \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_end(Fullname) \
-        inline \
-        boost::range_detail_microsoft::mutable_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_end(Fullname& x) \
-        { \
-            return boost::range_detail_microsoft::end_of(x); \
-        } \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_end_const(Fullname) \
-        inline \
-        boost::range_detail_microsoft::const_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_end(Fullname const& x) \
-        { \
-            return boost::range_detail_microsoft::end_of(x); \
-        } \
-    /**/
-
-
-    #if !defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)
-
-        #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_size(Fullname) \
-        /**/
-
-    #else
-
-        #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE_size(Fullname) \
-            inline \
-            boost::range_detail_microsoft::size_type_of< Fullname >::type \
-            boost_range_size(Fullname const& x) \
-            { \
-                return boost::range_detail_microsoft::size_of(x); \
-            } \
-        /**/
-
-    #endif
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(Tag, NamespaceList, Name, ParamSeqOrCount) \
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_impl( \
-        Tag, NamespaceList, Name, \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_to_param_seq(ParamSeqOrCount) \
-    ) \
-/**/
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_to_param_seq(ParamSeqOrCount) \
-        BOOST_PP_IIF(BOOST_PP_IS_UNARY(ParamSeqOrCount), \
-            ParamSeqOrCount BOOST_PP_TUPLE_EAT(3), \
-            BOOST_PP_REPEAT \
-        )(ParamSeqOrCount, BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_to_param_seq_op, ~) \
-    /**/
-
-        #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_to_param_seq_op(z, n, _) \
-            (class) \
-        /**/
-
-
-#define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_impl(Tag, NamespaceList, Name, ParamSeq) \
-    namespace boost { namespace range_detail_microsoft { \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_tag( \
-            Tag, \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-    } } \
-    \
-    namespace boost { \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_mutable_iterator( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_const_iterator( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-        \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_size_type( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-    } \
-    \
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_open(NamespaceList) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_begin( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_begin_const( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_end( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_end_const( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-        BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_size( \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq), \
-            BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        ) \
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_close(NamespaceList) \
-/**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params(ParamSeq) \
-        BOOST_PP_SEQ_FOR_EACH_I(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params_op, ~, ParamSeq) \
-    /**/
-
-        #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_params_op(r, data, i, elem) \
-            BOOST_PP_COMMA_IF(i) elem BOOST_PP_CAT(T, i) \
-        /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_fullname(NamespaceList, Name, ParamSeq) \
-        BOOST_PP_LIST_FOR_EACH(BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_namespace_expand_op, ~, NamespaceList) \
-        :: Name < BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(ParamSeq), T) > \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_tag(Tag, Params, Fullname) \
-        template< Params > \
-        struct customization_tag< Fullname > : \
-            customization_tag_of< Tag, Fullname > \
-        { }; \
-    /**/
-
-
-    // metafunctions
-    //
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_mutable_iterator(Params, Fullname) \
-        template< Params > \
-        struct BOOST_RANGE_DETAIL_MICROSOFT_range_mutable_iterator< Fullname > : \
-            range_detail_microsoft::mutable_iterator_of< Fullname > \
-        { }; \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_const_iterator(Params, Fullname) \
-        template< Params > \
-        struct range_const_iterator< Fullname > : \
-            range_detail_microsoft::const_iterator_of< Fullname > \
-        { }; \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_size_type(Params, Fullname) \
-        template< Params > \
-        struct range_size< Fullname > : \
-            range_detail_microsoft::size_type_of< Fullname > \
-        { }; \
-    /**/
-
-
-    // functions
-    //
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_begin(Params, Fullname) \
-        template< Params > inline \
-        typename boost::range_detail_microsoft::mutable_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_begin(Fullname& x) \
-        { \
-            return boost::range_detail_microsoft::begin_of(x); \
-        } \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_begin_const(Params, Fullname) \
-        template< Params > inline \
-        typename boost::range_detail_microsoft::const_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_begin(Fullname const& x) \
-        { \
-            return boost::range_detail_microsoft::begin_of(x); \
-        } \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_end(Params, Fullname) \
-        template< Params > inline \
-        typename boost::range_detail_microsoft::mutable_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_end(Fullname& x) \
-        { \
-            return boost::range_detail_microsoft::end_of(x); \
-        } \
-    /**/
-
-
-    #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_end_const(Params, Fullname) \
-        template< Params > inline \
-        typename boost::range_detail_microsoft::const_iterator_of< Fullname >::type \
-        BOOST_RANGE_DETAIL_MICROSOFT_range_end(Fullname const& x) \
-        { \
-            return boost::range_detail_microsoft::end_of(x); \
-        } \
-    /**/
-
-
-    #if !defined(BOOST_RANGE_DETAIL_MICROSOFT_RANGE_VERSION_1)
-
-        #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_size(Params, Fullname) \
-        /**/
-
-    #else
-
-        #define BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE_size(Params, Fullname) \
-            template< Params > inline \
-            typename boost::range_detail_microsoft::size_type_of< Fullname >::type \
-            boost_range_size(Fullname const& x) \
-            { \
-                return boost::range_detail_microsoft::size_of(x); \
-            } \
-        /**/
-
-    #endif
-
-
-
-
-// list_iterator and helpers
-//
-
-
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-
-// POSITION's header is undocumented, so is NULL.
-//
-struct __POSITION; // incomplete, but used as just a pointer.
-typedef __POSITION *POSITION;
-
-
-namespace boost { namespace range_detail_microsoft {
-
-
-    template<
-        class ListT,
-        class Value,
-        class Reference,
-        class Traversal
-    >
-    struct list_iterator;
-
-
-    template<
-        class ListT,
-        class Value,
-        class Reference,
-        class Traversal
-    >
-    struct list_iterator_super
-    {
-        typedef typename mpl::if_< is_same<use_default, Reference>,
-            Value&,
-            Reference
-        >::type ref_t;
-
-        typedef typename mpl::if_< is_same<use_default, Traversal>,
-            bidirectional_traversal_tag,
-            Traversal
-        >::type trv_t;
-
-        typedef iterator_facade<
-            list_iterator<ListT, Value, Reference, Traversal>,
-            Value,
-            trv_t,
-            ref_t
-        > type;
-    };
-
-
-    template<
-        class ListT,
-        class Value,
-        class Reference = use_default,
-        class Traversal = use_default
-    >
-    struct list_iterator :
-        list_iterator_super<ListT, Value, Reference, Traversal>::type
-    {
-    private:
-        typedef list_iterator self_t;
-        typedef typename list_iterator_super<ListT, Value, Reference, Traversal>::type super_t;
-        typedef typename super_t::reference ref_t;
-
-    public:
-        explicit list_iterator()
-        { }
-
-        explicit list_iterator(ListT& lst, POSITION pos) :
-            m_plst(boost::addressof(lst)), m_pos(pos)
-        { }
-
-    template< class, class, class, class > friend struct list_iterator;
-        template< class ListT_, class Value_, class Reference_, class Traversal_>
-        list_iterator(list_iterator<ListT_, Value_, Reference_, Traversal_> const& other) :
-            m_plst(other.m_plst), m_pos(other.m_pos)
-        { }
-
-    private:
-        ListT *m_plst;
-        POSITION m_pos;
-
-    friend class iterator_core_access;
-        ref_t dereference() const
-        {
-            BOOST_ASSERT(m_pos != 0 && "out of range");
-            return m_plst->GetAt(m_pos);
-        }
-
-        // A    B    C    D    x
-        // Head           Tail NULL(0)
-        //
-        void increment()
-        {
-            BOOST_ASSERT(m_pos != 0 && "out of range");
-            m_plst->GetNext(m_pos);
-        }
-
-        void decrement()
-        {
-            if (m_pos == 0) {
-                m_pos = m_plst->GetTailPosition();
-                return;
-            }
-
-            m_plst->GetPrev(m_pos);
-        }
-
-        bool equal(self_t const& other) const
-        {
-            BOOST_ASSERT(m_plst == other.m_plst && "iterators incompatible");
-            return m_pos == other.m_pos;
-        }
-    };
-
-
-    // customization helpers
-    //
-
-    struct array_functions
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return x.GetData();
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return begin<Iterator>(x) + x.GetSize();
-        }
-    };
-
-
-    struct list_functions
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return Iterator(x, x.GetHeadPosition());
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return Iterator(x, POSITION(0));
-        }
-    };
-
-
-} } // namespace boost::range_detail_microsoft
-
-
-
-
-// test
-//
-
-
-#if defined(BOOST_RANGE_DETAIL_MICROSOFT_TEST)
-
-
-#include <algorithm>
-#include <iterator>
-#include <vector>
-#include <boost/concept_check.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/distance.hpp>
-#include <boost/range/empty.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/mutable_iterator.hpp>
-#include <boost/range/rbegin.hpp>
-#include <boost/range/rend.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-
-namespace boost { namespace range_detail_microsoft {
-
-
-    template< class Range1, class Range2 >
-    bool test_equals(Range1 const& rng1, Range2 const& rng2)
-    {
-        return
-            boost::distance(rng1) == boost::distance(rng2) &&
-            std::equal(boost::begin(rng1), boost::end(rng1), boost::begin(rng2))
-        ;
-    }
-
-
-    template< class AssocContainer, class PairT >
-    bool test_find_key_and_mapped(AssocContainer const& ac, PairT const& pa)
-    {
-        typedef typename boost::range_const_iterator<AssocContainer>::type iter_t;
-        for (iter_t it = boost::const_begin(ac), last = boost::const_end(ac); it != last; ++it) {
-            if (it->first == pa.first && it->second == pa.second)
-                return true;
-        }
-
-        return false;
-    }
-
-
-    // test functions
-    //
-
-    template< class Range >
-    bool test_emptiness(Range& )
-    {
-        bool result = true;
-
-        Range emptyRng;
-        result = result && boost::empty(emptyRng);
-
-        return result;
-    }
-
-
-    template< class Range >
-    bool test_trivial(Range& rng)
-    {
-        bool result = true;
-
-        // convertibility check
-        typedef typename range_const_iterator<Range>::type citer_t;
-        citer_t cit = boost::begin(rng);
-        (void)cit; // unused
-
-        // mutability check
-        typedef typename range_value<Range>::type val_t;
-        val_t v = *boost::begin(rng);
-        *boost::begin(rng) = v;
-        result = result && *boost::begin(rng) == v;
-
-        return result;
-    }
-
-
-    template< class Range >
-    bool test_forward(Range& rng)
-    {
-        boost::function_requires< ForwardRangeConcept<Range> >();
-
-        bool result = (test_trivial)(rng);
-
-        typedef typename range_value<Range>::type val_t;
-
-        std::vector<val_t> saved;
-        std::copy(boost::begin(rng), boost::end(rng), std::back_inserter(saved));
-        std::rotate(boost::begin(saved), boost::next(boost::begin(saved)), boost::end(saved));
-
-        std::rotate(boost::begin(rng), boost::next(boost::begin(rng)), boost::end(rng));
-
-        return result && (test_equals)(saved, rng);
-    };
-
-
-    template< class Range >
-    bool test_bidirectional(Range& rng)
-    {
-        boost::function_requires< BidirectionalRangeConcept<Range> >();
-
-        bool result = (test_forward)(rng);
-
-        typedef typename range_value<Range>::type val_t;
-
-        std::vector<val_t> saved;
-        std::copy(boost::begin(rng), boost::end(rng), std::back_inserter(saved));
-
-        result = result && (test_equals)(
-            boost::make_iterator_range(boost::rbegin(saved), boost::rend(saved)),
-            boost::make_iterator_range(boost::rbegin(rng), boost::rend(rng))
-        );
-
-        return result;
-    }
-
-
-    template< class Range >
-    bool test_random_access(Range& rng)
-    {
-        boost::function_requires< RandomAccessRangeConcept<Range> >();
-
-        bool result = (test_bidirectional)(rng);
-
-        typedef typename range_value<Range>::type val_t;
-
-        std::vector<val_t> saved;
-        std::copy(boost::begin(rng), boost::end(rng), std::back_inserter(saved));
-        std::sort(boost::begin(saved), boost::end(saved));
-
-        std::random_shuffle(boost::begin(rng), boost::end(rng));
-        std::sort(boost::begin(rng), boost::end(rng));
-        result = result && (test_equals)(rng, saved);
-
-        std::random_shuffle(boost::begin(rng), boost::end(rng));
-        std::stable_sort(boost::begin(rng), boost::end(rng));
-        result = result && (test_equals)(rng, saved);
-
-        std::random_shuffle(boost::begin(rng), boost::end(rng));
-        std::partial_sort(boost::begin(rng), boost::end(rng), boost::end(rng));
-        result = result && (test_equals)(rng, saved);
-
-        return result;
-    }
-
-
-    // initializer
-    //
-
-    template< class ArrayT, class SampleRange >
-    bool test_init_array(ArrayT& arr, SampleRange const& sample)
-    {
-        typedef typename range_const_iterator<SampleRange>::type iter_t;
-        typedef typename range_value<SampleRange>::type val_t;
-
-        for (iter_t it = boost::const_begin(sample), last = boost::const_end(sample); it != last; ++it) {
-            val_t v = *it; // works around ATL3 CSimpleArray
-            arr.Add(v);
-        }
-
-        return (test_equals)(arr, sample);
-    }
-
-
-    template< class ListT, class SampleRange >
-    bool test_init_list(ListT& lst, SampleRange const& sample)
-    {
-        typedef typename range_const_iterator<SampleRange>::type iter_t;
-
-        for (iter_t it = boost::const_begin(sample), last = boost::const_end(sample); it != last; ++it) {
-            lst.AddTail(*it);
-        }
-
-        return (test_equals)(lst, sample);
-    }
-
-
-    template< class StringT, class SampleRange >
-    bool test_init_string(StringT& str, SampleRange const& sample)
-    {
-        typedef typename range_const_iterator<SampleRange>::type iter_t;
-        typedef typename range_value<SampleRange>::type val_t;
-
-        for (iter_t it = boost::const_begin(sample), last = boost::const_end(sample); it != last; ++it) {
-            str += *it;
-        }
-
-        return (test_equals)(str, sample);
-    }
-
-
-    template< class MapT, class SampleMap >
-    bool test_init_map(MapT& map, SampleMap const& sample)
-    {
-        typedef typename range_const_iterator<SampleMap>::type iter_t;
-
-        for (iter_t it = boost::const_begin(sample), last = boost::const_end(sample); it != last; ++it) {
-            map.SetAt(it->first, it->second);
-        }
-
-        return boost::distance(map) == boost::distance(sample);
-    }
-
-
-    // metafunction test
-    //
-
-    template< class Range, class Iter >
-    struct test_mutable_iter :
-        boost::is_same< typename boost::BOOST_RANGE_DETAIL_MICROSOFT_range_mutable_iterator<Range>::type, Iter >
-    { };
-
-
-    template< class Range, class Iter >
-    struct test_const_iter :
-        boost::is_same< typename boost::range_const_iterator<Range>::type, Iter >
-    { };
-
-
-} } // namespace boost::range_detail_microsoft
-
-
-#endif // defined(BOOST_RANGE_DETAIL_MICROSOFT_TEST)
-
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/misc_concept.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/misc_concept.hpp
deleted file mode 100644
index 74cb919..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/detail/msvc_has_iterator_workaround.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/msvc_has_iterator_workaround.hpp
deleted file mode 100644
index 62b67fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/msvc_has_iterator_workaround.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Eric Niebler 2014. Use, modification and
-//  distribution is subject to the 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_MSVC_HAS_ITERATOR_WORKAROUND_HPP
-#define BOOST_RANGE_DETAIL_MSVC_HAS_ITERATOR_WORKAROUND_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP
-# error This file should only be included from <boost/range/mutable_iterator.hpp>
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600)
-namespace boost
-{
-namespace cb_details
-{
-    template <class Buff, class Traits>
-    struct iterator;
-}
-
-namespace python
-{
-    template <class Container
-              , class NextPolicies /*= objects::default_iterator_call_policies*/>
-    struct iterator;
-}
-
-namespace type_erasure
-{
-    template<
-        class Traversal,
-        class T                 /*= _self*/,
-        class Reference         /*= ::boost::use_default*/,
-        class DifferenceType    /*= ::std::ptrdiff_t*/,
-        class ValueType         /*= typename deduced<iterator_value_type<T> >::type*/
-    >
-    struct iterator;
-}
-
-namespace unordered { namespace iterator_detail
-{
-    template <typename Node>
-    struct iterator;
-}}
-
-namespace container { namespace container_detail
-{
-    template<class IIterator, bool IsConst>
-    class iterator;
-}}
-
-namespace spirit { namespace lex { namespace lexertl
-{
-    template <typename Functor>
-    class iterator;
-}}}
-
-namespace range_detail
-{
-    template <class Buff, class Traits>
-    struct has_iterator< ::boost::cb_details::iterator<Buff, Traits> >
-      : mpl::false_
-    {};
-
-    template <class Buff, class Traits>
-    struct has_iterator< ::boost::cb_details::iterator<Buff, Traits> const>
-      : mpl::false_
-    {};
-
-    template <class Container, class NextPolicies>
-    struct has_iterator< ::boost::python::iterator<Container, NextPolicies> >
-      : mpl::false_
-    {};
-
-    template <class Container, class NextPolicies>
-    struct has_iterator< ::boost::python::iterator<Container, NextPolicies> const>
-      : mpl::false_
-    {};
-
-    template<class Traversal, class T, class Reference, class DifferenceType, class ValueType>
-    struct has_iterator< ::boost::type_erasure::iterator<Traversal, T, Reference, DifferenceType, ValueType> >
-      : mpl::false_
-    {};
-
-    template<class Traversal, class T, class Reference, class DifferenceType, class ValueType>
-    struct has_iterator< ::boost::type_erasure::iterator<Traversal, T, Reference, DifferenceType, ValueType> const>
-      : mpl::false_
-    {};
-
-    template <typename Node>
-    struct has_iterator< ::boost::unordered::iterator_detail::iterator<Node> >
-      : mpl::false_
-    {};
-
-    template <typename Node>
-    struct has_iterator< ::boost::unordered::iterator_detail::iterator<Node> const>
-      : mpl::false_
-    {};
-
-    template<class IIterator, bool IsConst>
-    struct has_iterator< ::boost::container::container_detail::iterator<IIterator, IsConst> >
-      : mpl::false_
-    {};
-
-    template<class IIterator, bool IsConst>
-    struct has_iterator< ::boost::container::container_detail::iterator<IIterator, IsConst> const>
-      : mpl::false_
-    {};
-
-    template <typename Functor>
-    struct has_iterator< ::boost::spirit::lex::lexertl::iterator<Functor> >
-      : mpl::false_
-    {};
-
-    template <typename Functor>
-    struct has_iterator< ::boost::spirit::lex::lexertl::iterator<Functor> const>
-      : mpl::false_
-    {};
-}
-}
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/range_return.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/range_return.hpp
deleted file mode 100644
index 773a72a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/range_return.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-//  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_DETAIL_RANGE_RETURN_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_RANGE_RETURN_HPP_INCLUDED
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-    enum range_return_value
-    {
-        // (*) indicates the most common values
-        return_found,       // only the found resulting iterator (*)
-        return_next,        // next(found) iterator
-        return_prior,       // prior(found) iterator
-        return_begin_found, // [begin, found) range (*)
-        return_begin_next,  // [begin, next(found)) range
-        return_begin_prior, // [begin, prior(found)) range
-        return_found_end,   // [found, end) range (*)
-        return_next_end,    // [next(found), end) range
-        return_prior_end,   // [prior(found), end) range
-        return_begin_end    // [begin, end) range
-    };
-
-    template< class SinglePassRange, range_return_value >
-    struct range_return
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type found,
-                         SinglePassRange& rng)
-        {
-            return type(found, boost::end(rng));
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_found >
-    {
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type type;
-
-        static type pack(type found, SinglePassRange&)
-        {
-            return found;
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_next >
-    {
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type type;
-
-        static type pack(type found, SinglePassRange& rng)
-        {
-            return found == boost::end(rng)
-                ? found
-                : boost::next(found);
-        }
-    };
-
-    template< class BidirectionalRange >
-    struct range_return< BidirectionalRange, return_prior >
-    {
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type type;
-
-        static type pack(type found, BidirectionalRange& rng)
-        {
-            return found == boost::begin(rng)
-                ? found
-                : boost::prior(found);
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_begin_found >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type found,
-                         SinglePassRange& rng)
-        {
-            return type(boost::begin(rng), found);
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_begin_next >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type found,
-                         SinglePassRange& rng)
-        {
-            return type( boost::begin(rng), 
-                         found == boost::end(rng) ? found : boost::next(found) );
-        }
-    };
-
-    template< class BidirectionalRange >
-    struct range_return< BidirectionalRange, return_begin_prior >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type found,
-                         BidirectionalRange& rng)
-        {
-            return type( boost::begin(rng),
-                         found == boost::begin(rng) ? found : boost::prior(found) );
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_found_end >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type found,
-                         SinglePassRange& rng)
-        {
-            return type(found, boost::end(rng));
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_next_end >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type found,
-                         SinglePassRange& rng)
-        {
-            return type( found == boost::end(rng) ? found : boost::next(found),
-                         boost::end(rng) );
-        }
-    };
-
-    template< class BidirectionalRange >
-    struct range_return< BidirectionalRange, return_prior_end >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<BidirectionalRange>::type found,
-                         BidirectionalRange& rng)
-        {
-            return type( found == boost::begin(rng) ? found : boost::prior(found),
-                         boost::end(rng) );
-        }
-    };
-
-    template< class SinglePassRange >
-    struct range_return< SinglePassRange, return_begin_end >
-    {
-        typedef boost::iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type > type;
-
-        static type pack(BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange>::type,
-                         SinglePassRange& rng)
-        {
-            return type(boost::begin(rng), boost::end(rng));
-        }
-    };
-
-}
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/remove_extent.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/remove_extent.hpp
deleted file mode 100644
index 68e4597..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/detail/safe_bool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/safe_bool.hpp
deleted file mode 100644
index 182e510..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/detail/sfinae.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/sfinae.hpp
deleted file mode 100644
index 5b2c61e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/detail/size_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/size_type.hpp
deleted file mode 100644
index 78a60a4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/size_type.hpp
+++ /dev/null
@@ -1,55 +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< typename C >
-            struct pts
-            {
-                typedef std::size_t type;
-            };
-        };
-
-        template<>
-        struct range_size_type_<std_container_>
-        {
-            template< typename C >
-            struct pts
-            {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::size_type 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/rbgl_trimmed_boost_1_61_0/boost/range/detail/sizer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/sizer.hpp
deleted file mode 100644
index cd6679c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/sizer.hpp
+++ /dev/null
@@ -1,35 +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_SIZER_HPP
-#define BOOST_RANGE_DETAIL_SIZER_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <cstddef>
-
-namespace boost 
-{
-    //////////////////////////////////////////////////////////////////////
-    // constant array size
-    //////////////////////////////////////////////////////////////////////
-    
-    template< typename T, std::size_t sz >
-    char (& sizer( const T BOOST_RANGE_ARRAY_REF()[sz] ) )[sz];
-    
-    template< typename T, std::size_t sz >
-    char (& sizer( T BOOST_RANGE_ARRAY_REF()[sz] ) )[sz];
-
-} // namespace 'boost'
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/str_types.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/str_types.hpp
deleted file mode 100644
index f8cab19..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/detail/value_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/detail/value_type.hpp
deleted file mode 100644
index 2784514..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/difference_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/difference_type.hpp
deleted file mode 100644
index 6bb3c5f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/difference_type.hpp
+++ /dev/null
@@ -1,47 +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)
-# pragma once
-#endif
-
-#include <boost/mpl/and.hpp>
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/has_range_iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        template< class T, bool B = has_type<range_iterator<T> >::value >
-        struct range_difference
-        { };
-
-        template< class T >
-        struct range_difference<T, true>
-          : iterator_difference<
-                BOOST_DEDUCED_TYPENAME range_iterator<T>::type
-            >
-        { };
-    }
-
-    template< class T >
-    struct range_difference
-      : range_detail::range_difference<BOOST_DEDUCED_TYPENAME remove_reference<T>::type>
-    { };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/distance.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/distance.hpp
deleted file mode 100644
index 075f2d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/range/empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/empty.hpp
deleted file mode 100644
index d57a30e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 );
-    }
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/end.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/end.hpp
deleted file mode 100644
index f2a3337..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/end.hpp
+++ /dev/null
@@ -1,128 +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)
-# 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))
-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))
-} // 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))
-    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))
-    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/rbgl_trimmed_boost_1_61_0/boost/range/functions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/functions.hpp
deleted file mode 100644
index 43c54b1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/range/has_range_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/has_range_iterator.hpp
deleted file mode 100644
index 9eb58b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/has_range_iterator.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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/
-//
-// Acknowledgments:
-// Ticket #8341: Arno Schoedl - improved handling of has_range_iterator upon
-// use-cases where T was const.
-#ifndef BOOST_RANGE_HAS_ITERATOR_HPP_INCLUDED
-#define BOOST_RANGE_HAS_ITERATOR_HPP_INCLUDED
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        BOOST_MPL_HAS_XXX_TRAIT_DEF(type)
-
-        template<class T, class Enabler = void>
-        struct has_range_iterator_impl
-            : boost::mpl::false_
-        {
-        };
-
-        template<class T>
-        struct has_range_iterator_impl<
-            T,
-            BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-                BOOST_DEDUCED_TYPENAME mpl::eval_if<is_const<T>,
-                    has_type<range_const_iterator<
-                                BOOST_DEDUCED_TYPENAME remove_const<T>::type> >,
-                    has_type<range_mutable_iterator<T> >
-                >::type
-            >::type
-        >
-            : boost::mpl::true_
-        {
-        };
-
-        template<class T, class Enabler = void>
-        struct has_range_const_iterator_impl
-            : boost::mpl::false_
-        {
-        };
-
-        template<class T>
-        struct has_range_const_iterator_impl<
-            T,
-            BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-                has_type<range_const_iterator<T> >
-            >::type
-        >
-            : boost::mpl::true_
-        {
-        };
-
-    } // namespace range_detail
-
-    template<class T>
-    struct has_range_iterator
-        : range_detail::has_range_iterator_impl<
-            BOOST_DEDUCED_TYPENAME remove_reference<T>::type>
-    {};
-
-    template<class T>
-    struct has_range_const_iterator
-        : range_detail::has_range_const_iterator_impl<
-            BOOST_DEDUCED_TYPENAME remove_reference<T>::type>
-    {};
-} // namespace boost
-
-#endif // include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/irange.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/irange.hpp
deleted file mode 100644
index b1a1240..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/irange.hpp
+++ /dev/null
@@ -1,236 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_IRANGE_HPP_INCLUDED
-#define BOOST_RANGE_IRANGE_HPP_INCLUDED
-
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // integer_iterator is an iterator over an integer sequence that
-        // is bounded only by the limits of the underlying integer
-        // representation.
-        //
-        // This is useful for implementing the irange(first, last)
-        // function.
-        //
-        // Note:
-        // This use of this iterator and irange is appreciably less
-        // performant than the corresponding hand-written integer
-        // loop on many compilers.
-        template<typename Integer>
-        class integer_iterator
-            : public boost::iterator_facade<
-                        integer_iterator<Integer>,
-                        Integer,
-                        boost::random_access_traversal_tag,
-                        Integer,
-                        std::ptrdiff_t
-                    >
-        {
-            typedef boost::iterator_facade<
-                        integer_iterator<Integer>,
-                        Integer,
-                        boost::random_access_traversal_tag,
-                        Integer,
-                        std::ptrdiff_t
-                    > base_t;
-        public:
-            typedef typename base_t::value_type value_type;
-            typedef typename base_t::difference_type difference_type;
-            typedef typename base_t::reference reference;
-            typedef std::random_access_iterator_tag iterator_category;
-
-            integer_iterator() : m_value() {}
-            explicit integer_iterator(value_type x) : m_value(x) {}
-
-        private:
-            void increment()
-            {
-                ++m_value;
-            }
-
-            void decrement()
-            {
-                --m_value;
-            }
-
-            void advance(difference_type offset)
-            {
-                m_value += offset;
-            }
-
-            difference_type distance_to(const integer_iterator& other) const
-            {
-                return is_signed<value_type>::value
-                    ? (other.m_value - m_value)
-                    : (other.m_value >= m_value)
-                        ? static_cast<difference_type>(other.m_value - m_value)
-                        : -static_cast<difference_type>(m_value - other.m_value);
-            }
-
-            bool equal(const integer_iterator& other) const
-            {
-                return m_value == other.m_value;
-            }
-
-            reference dereference() const
-            {
-                return m_value;
-            }
-
-            friend class ::boost::iterator_core_access;
-            value_type m_value;
-        };
-
-        // integer_iterator_with_step is similar in nature to the
-        // integer_iterator but provides the ability to 'move' in
-        // a number of steps specified at construction time.
-        //
-        // The three variable implementation provides the best guarantees
-        // of loop termination upon various combinations of input.
-        //
-        // While this design is less performant than some less
-        // safe alternatives, the use of ranges and iterators to
-        // perform counting will never be optimal anyhow, hence
-        // if optimal performance is desired a hand-coded loop
-        // is the solution.
-        template<typename Integer>
-        class integer_iterator_with_step
-            : public boost::iterator_facade<
-                        integer_iterator_with_step<Integer>,
-                        Integer,
-                        boost::random_access_traversal_tag,
-                        Integer,
-                        std::ptrdiff_t
-                    >
-        {
-            typedef boost::iterator_facade<
-                        integer_iterator_with_step<Integer>,
-                        Integer,
-                        boost::random_access_traversal_tag,
-                        Integer,
-                        std::ptrdiff_t
-                    > base_t;
-        public:
-            typedef typename base_t::value_type value_type;
-            typedef typename base_t::difference_type difference_type;
-            typedef typename base_t::reference reference;
-            typedef std::random_access_iterator_tag iterator_category;
-
-            integer_iterator_with_step(value_type first, difference_type step, value_type step_size)
-                : m_first(first)
-                , m_step(step)
-                , m_step_size(step_size)
-            {
-            }
-
-        private:
-            void increment()
-            {
-                ++m_step;
-            }
-
-            void decrement()
-            {
-                --m_step;
-            }
-
-            void advance(difference_type offset)
-            {
-                m_step += offset;
-            }
-
-            difference_type distance_to(const integer_iterator_with_step& other) const
-            {
-                return other.m_step - m_step;
-            }
-
-            bool equal(const integer_iterator_with_step& other) const
-            {
-                return m_step == other.m_step;
-            }
-
-            reference dereference() const
-            {
-                return m_first + (m_step * m_step_size);
-            }
-
-            friend class ::boost::iterator_core_access;
-            value_type m_first;
-            difference_type m_step;
-            difference_type m_step_size;
-        };
-
-    } // namespace range_detail
-
-    template<typename Integer>
-    class integer_range
-        : public iterator_range< range_detail::integer_iterator<Integer> >
-    {
-        typedef range_detail::integer_iterator<Integer> iterator_t;
-        typedef iterator_range<iterator_t> base_t;
-    public:
-        integer_range(Integer first, Integer last)
-            : base_t(iterator_t(first), iterator_t(last))
-        {
-        }
-    };
-
-    template<typename Integer>
-    class strided_integer_range
-    : public iterator_range< range_detail::integer_iterator_with_step<Integer> >
-    {
-        typedef range_detail::integer_iterator_with_step<Integer> iterator_t;
-        typedef iterator_range<iterator_t> base_t;
-    public:
-        template<typename Iterator>
-        strided_integer_range(Iterator first, Iterator last)
-            : base_t(first, last)
-        {
-        }
-    };
-
-    template<typename Integer>
-    integer_range<Integer>
-    irange(Integer first, Integer last)
-    {
-        BOOST_ASSERT( first <= last );
-        return integer_range<Integer>(first, last);
-    }
-
-    template<typename Integer, typename StepSize>
-    strided_integer_range<Integer>
-        irange(Integer first, Integer last, StepSize step_size)
-    {
-        BOOST_ASSERT( step_size != 0 );
-        BOOST_ASSERT( (step_size > 0) ? (last >= first) : (last <= first) );
-        
-        typedef typename range_detail::integer_iterator_with_step<Integer> iterator_t;
-
-        const std::ptrdiff_t sz = static_cast<std::ptrdiff_t>(step_size >= 0 ? step_size : -step_size);
-        const Integer l = step_size >= 0 ? last : first;
-        const Integer f = step_size >= 0 ? first : last;
-        const std::ptrdiff_t num_steps = (l - f) / sz + ((l - f) % sz ? 1 : 0);
-        BOOST_ASSERT(num_steps >= 0);
-       
-        return strided_integer_range<Integer>(
-            iterator_t(first, 0, step_size),
-            iterator_t(first, num_steps, step_size));
-    }
-
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/istream_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/istream_range.hpp
deleted file mode 100644
index a486317..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/istream_range.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//  Copyright Neil Groves 2010. Use, modification and
-//  distribution is subject to the 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_ISTREAM_RANGE_HPP_INCLUDED
-#define BOOST_RANGE_ISTREAM_RANGE_HPP_INCLUDED
-
-/*!
- * \file istream_range.hpp
- */
-
-#include <iterator>
-#include <iosfwd>
-#include <boost/config.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-    namespace range
-    {
-        template<class Type, class Elem, class Traits> inline
-            iterator_range<std::istream_iterator<Type, Elem, Traits> >
-        istream_range(std::basic_istream<Elem, Traits>& in)
-        {
-            return iterator_range<std::istream_iterator<Type, Elem, Traits> >(
-                std::istream_iterator<Type, Elem, Traits>(in),
-                std::istream_iterator<Type, Elem, Traits>());
-        }
-    } // namespace range
-    using range::istream_range;
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator.hpp
deleted file mode 100644
index 2956353..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator.hpp
+++ /dev/null
@@ -1,74 +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)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/range_fwd.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;  
-       };       
-    }  
-    
-    template< typename C, typename Enabler=void >
-    struct range_iterator
-    {
-
-        typedef BOOST_RANGE_DEDUCED_TYPENAME  
-               range_detail_vc7_1::range_iterator<C>::type type;  
-
-    };
-
-#else
-
-    template< typename C, typename Enabler=void >
-    struct range_iterator
-      : mpl::if_c<
-            is_const<typename remove_reference<C>::type>::value,
-            range_const_iterator<typename remove_const<typename remove_reference<C>::type>::type>,
-            range_mutable_iterator<typename remove_reference<C>::type>
-        >::type
-    {
-    };
-
-#endif
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range.hpp
deleted file mode 100644
index dfcd4d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_core.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_core.hpp
deleted file mode 100644
index a9e9fc0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_core.hpp
+++ /dev/null
@@ -1,883 +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/
-//
-// Credits:
-// 'michel' reported Trac 9072 which included a patch for allowing references
-// to function types.
-//
-#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/mpl/if.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/range/functions.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/has_range_iterator.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 IteratorT( boost::begin( r ) );
-            }
-
-            template< class ForwardRange >
-            static IteratorT adl_end( ForwardRange& r )
-            {
-                return 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 iterator_range_detail::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
-{
-};
-
-struct iterator_range_tag
-{
-};
-
-typedef char (&incrementable_t)[1];
-typedef char (&bidirectional_t)[2];
-typedef char (&random_access_t)[3];
-
-incrementable_t test_traversal_tag(boost::incrementable_traversal_tag);
-bidirectional_t test_traversal_tag(boost::bidirectional_traversal_tag);
-random_access_t test_traversal_tag(boost::random_access_traversal_tag);
-
-template<std::size_t S>
-struct pure_iterator_traversal_impl
-{
-    typedef boost::incrementable_traversal_tag type;
-};
-
-template<>
-struct pure_iterator_traversal_impl<sizeof(bidirectional_t)>
-{
-    typedef boost::bidirectional_traversal_tag type;
-};
-
-template<>
-struct pure_iterator_traversal_impl<sizeof(random_access_t)>
-{
-    typedef boost::random_access_traversal_tag type;
-};
-
-template<typename IteratorT>
-struct pure_iterator_traversal
-{
-    typedef
-        BOOST_DEDUCED_TYPENAME iterator_traversal<IteratorT>::type
-    traversal_t;
-    BOOST_STATIC_CONSTANT(
-        std::size_t,
-        traversal_i = sizeof(iterator_range_detail::test_traversal_tag((traversal_t())))
-    );
-    typedef
-        BOOST_DEDUCED_TYPENAME pure_iterator_traversal_impl<traversal_i>::type
-    type;
-};
-
-template<class IteratorT, class TraversalTag>
-class iterator_range_base
-    : public iterator_range_tag
-{
-    typedef range_detail::safe_bool<
-                IteratorT iterator_range_base<IteratorT, TraversalTag>::*
-    > safe_bool_t;
-
-    typedef iterator_range_base<IteratorT, TraversalTag> type;
-
-protected:
-    typedef iterator_range_impl<IteratorT> impl;
-
-public:
-    typedef BOOST_DEDUCED_TYPENAME
-        safe_bool_t::unspecified_bool_type unspecified_bool_type;
-
-    typedef BOOST_DEDUCED_TYPENAME
-        iterator_value<IteratorT>::type value_type;
-
-    typedef BOOST_DEDUCED_TYPENAME
-        iterator_difference<IteratorT>::type difference_type;
-
-    typedef std::size_t size_type; // note: must be unsigned
-
-    // 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;
-
-protected:
-    iterator_range_base()
-        : m_Begin()
-        , m_End()
-    {
-    }
-
-    template<class Iterator>
-    iterator_range_base(Iterator Begin, Iterator End)
-        : m_Begin(Begin)
-        , m_End(End)
-    {
-    }
-
-public:
-    IteratorT begin() const
-    {
-        return m_Begin;
-    }
-
-    IteratorT end() const
-    {
-        return m_End;
-    }
-
-    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_base::m_Begin);
-    }
-
-    bool operator!() const
-    {
-        return empty();
-    }
-
-    bool equal(const iterator_range_base& r) const
-    {
-        return m_Begin == r.m_Begin && m_End == r.m_End;
-    }
-
-   reference front() const
-   {
-       BOOST_ASSERT(!empty());
-       return *m_Begin;
-   }
-
-   void drop_front()
-   {
-       BOOST_ASSERT(!empty());
-       ++m_Begin;
-   }
-
-   void drop_front(difference_type n)
-   {
-       BOOST_ASSERT(n >= difference_type());
-       std::advance(this->m_Begin, n);
-   }
-   
-   // Deprecated
-   void pop_front() { drop_front(); }
-
-protected:
-    template<class Iterator>
-    void assign(Iterator first, Iterator last)
-    {
-        m_Begin = first;
-        m_End = last;
-    }
-
-    template<class SinglePassRange>
-    void assign(const SinglePassRange& r)
-    {
-        m_Begin = impl::adl_begin(r);
-        m_End = impl::adl_end(r);
-    }
-
-    template<class SinglePassRange>
-    void assign(SinglePassRange& r)
-    {
-        m_Begin = impl::adl_begin(r);
-        m_End = impl::adl_end(r);
-    }
-
-    IteratorT m_Begin;
-    IteratorT m_End;
-};
-
-template<class IteratorT>
-class iterator_range_base<IteratorT, bidirectional_traversal_tag>
-        : public iterator_range_base<IteratorT, incrementable_traversal_tag>
-{
-    typedef iterator_range_base<IteratorT, incrementable_traversal_tag> base_type;
-
-protected:
-    iterator_range_base()
-    {
-    }
-
-    template<class Iterator>
-    iterator_range_base(Iterator first, Iterator last)
-        : base_type(first, last)
-    {
-    }
-
-public:
-    typedef BOOST_DEDUCED_TYPENAME base_type::difference_type difference_type;
-    typedef BOOST_DEDUCED_TYPENAME base_type::reference reference;
-
-    reference back() const
-    {
-        BOOST_ASSERT(!this->empty());
-        return *boost::prior(this->m_End);
-    }
-
-    void drop_back()
-    {
-        BOOST_ASSERT(!this->empty());
-        --this->m_End;
-    }
-
-    void drop_back(difference_type n)
-    {
-        BOOST_ASSERT(n >= difference_type());
-        std::advance(this->m_End, -n);
-    }
-    
-    // Deprecated
-    void pop_back() { drop_back(); }
-};
-
-template<class IteratorT>
-class iterator_range_base<IteratorT, random_access_traversal_tag>
-        : public iterator_range_base<IteratorT, bidirectional_traversal_tag>
-{
-    typedef iterator_range_base<
-                IteratorT, bidirectional_traversal_tag> base_type;
-
-public:
-    typedef BOOST_DEDUCED_TYPENAME
-        boost::mpl::if_<
-            boost::mpl::or_<
-                boost::is_abstract<
-                    BOOST_DEDUCED_TYPENAME base_type::value_type
-                >,
-                boost::is_array<
-                    BOOST_DEDUCED_TYPENAME base_type::value_type
-                >,
-                boost::is_function<
-                    BOOST_DEDUCED_TYPENAME base_type::value_type
-                >
-            >,
-            BOOST_DEDUCED_TYPENAME base_type::reference,
-            BOOST_DEDUCED_TYPENAME base_type::value_type
-        >::type abstract_value_type;
-
-    // Rationale:
-    // typedef these here to reduce verbiage in the implementation of this
-    // type.
-    typedef BOOST_DEDUCED_TYPENAME base_type::difference_type difference_type;
-    typedef BOOST_DEDUCED_TYPENAME base_type::size_type size_type;
-    typedef BOOST_DEDUCED_TYPENAME base_type::reference reference;
-
-protected:
-    iterator_range_base()
-    {
-    }
-
-    template<class Iterator>
-    iterator_range_base(Iterator first, Iterator last)
-        : base_type(first, last)
-    {
-    }
-
-public:
-    reference operator[](difference_type at) const
-    {
-        BOOST_ASSERT(at >= 0);
-        BOOST_ASSERT(static_cast<typename base_type::size_type>(at) < size());
-        return this->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);
-        BOOST_ASSERT(static_cast<typename base_type::size_type>(at) < size());
-        return this->m_Begin[at];
-    }
-
-    BOOST_DEDUCED_TYPENAME base_type::size_type size() const
-    {
-        return this->m_End - this->m_Begin;
-    }
-};
-
-    }
-
-//  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
-            : public iterator_range_detail::iterator_range_base<
-                    IteratorT,
-                    BOOST_DEDUCED_TYPENAME iterator_range_detail::pure_iterator_traversal<IteratorT>::type
-                >
-        {
-            typedef iterator_range_detail::iterator_range_base<
-                    IteratorT,
-                    BOOST_DEDUCED_TYPENAME iterator_range_detail::pure_iterator_traversal<IteratorT>::type
-            > base_type;
-
-            template<class Source>
-            struct is_compatible_range_
-              : is_convertible<
-                    BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                        has_range_iterator<Source>,
-                        range_iterator<Source>,
-                        mpl::identity<void>
-                    >::type,
-                    BOOST_DEDUCED_TYPENAME base_type::iterator
-                >
-            {
-            };
-
-            template<class Source>
-            struct is_compatible_range
-                : mpl::and_<
-                    mpl::not_<
-                        is_convertible<
-                            Source,
-                            BOOST_DEDUCED_TYPENAME base_type::iterator
-                        >
-                    >,
-                    is_compatible_range_<Source>
-                >
-            {
-            };
-
-        protected:
-            typedef iterator_range_detail::iterator_range_impl<IteratorT> impl;
-
-        public:
-            typedef iterator_range<IteratorT> type;
-
-            iterator_range()
-            {
-            }
-
-            template<class Iterator>
-            iterator_range(Iterator first, Iterator last)
-                : base_type(first, last)
-            {
-            }
-
-            template<class SinglePassRange>
-            iterator_range(
-                const SinglePassRange& r,
-                BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-                    is_compatible_range<const SinglePassRange>
-                >::type* = 0
-            )
-                : base_type(impl::adl_begin(r), impl::adl_end(r))
-            {
-            }
-
-            template<class SinglePassRange>
-            iterator_range(
-                SinglePassRange& r,
-                BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-                    is_compatible_range<SinglePassRange>
-                >::type* = 0
-            )
-                : base_type(impl::adl_begin(r), impl::adl_end(r))
-            {
-            }
-
-            template<class SinglePassRange>
-            iterator_range(const SinglePassRange& r,
-                           iterator_range_detail::const_range_tag)
-                : base_type(impl::adl_begin(r), impl::adl_end(r))
-            {
-            }
-
-            template<class SinglePassRange>
-            iterator_range(SinglePassRange& r,
-                           iterator_range_detail::range_tag)
-                : base_type(impl::adl_begin(r), impl::adl_end(r))
-            {
-            }
-
-            template<class Iterator>
-            iterator_range& operator=(const iterator_range<Iterator>& other)
-            {
-                this->assign(other.begin(), other.end());
-                return *this;
-            }
-
-            template<class Iterator>
-            iterator_range& operator=(iterator_range<Iterator>& other)
-            {
-                this->assign(other.begin(), other.end());
-                return *this;
-            }
-
-            template<class SinglePassRange>
-            iterator_range& operator=(SinglePassRange& r)
-            {
-                this->assign(r);
-                return *this;
-            }
-
-            template<class SinglePassRange>
-            iterator_range& operator=(const SinglePassRange& r)
-            {
-                this->assign(r);
-                return *this;
-            }
-
-            iterator_range& advance_begin(
-                BOOST_DEDUCED_TYPENAME base_type::difference_type n)
-            {
-                std::advance(this->m_Begin, n);
-                return *this;
-            }
-
-            iterator_range& advance_end(
-                BOOST_DEDUCED_TYPENAME base_type::difference_type n)
-            {
-                std::advance(this->m_End, n);
-                return *this;
-            }
-
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        operator==( const ForwardRange& l, const iterator_range<IteratorT>& r )
-        {
-            return boost::equal( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        operator!=( const ForwardRange& l, const iterator_range<IteratorT>& r )
-        {
-            return !boost::equal( l, r );
-        }
-
-        template< class IteratorT, class ForwardRange >
-        inline BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        operator<( const ForwardRange& l, const iterator_range<IteratorT>& r )
-        {
-            return iterator_range_detail::less_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        operator>( const ForwardRange& l, const iterator_range<IteratorT>& r )
-        {
-            return iterator_range_detail::greater_than( l, r );
-        }
-        
-        template< class IteratorT, class ForwardRange >
-        inline BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 BOOST_DEDUCED_TYPENAME boost::enable_if<
-            mpl::not_<boost::is_base_and_derived<iterator_range_detail::iterator_range_tag, ForwardRange> >,
-            bool
-        >::type
-        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 );
-        }
-
-        template<typename IteratorT, typename IntegerT>
-        inline iterator_range<IteratorT>
-        make_iterator_range_n(IteratorT first, IntegerT n)
-        {
-            return iterator_range<IteratorT>(first, boost::next(first, n));
-        }
-
-#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 )
-        {
-            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 )
-        {
-            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 )
-        {
-            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/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_hash.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_hash.hpp
deleted file mode 100644
index 615d22f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_hash.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014
-//  Use, modification and distribution is subject to the 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/
-//
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/functional/hash.hpp>
-
-namespace boost
-{
-
-template<class T>
-std::size_t hash_value(const iterator_range<T>& rng)
-{
-    return boost::hash_range(rng.begin(), rng.end());
-}
-
-} // namespace boost
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_io.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/iterator_range_io.hpp
deleted file mode 100644
index 8c29400..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 outputted
-            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 outputted
-            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/rbgl_trimmed_boost_1_61_0/boost/range/join.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/join.hpp
deleted file mode 100644
index aacc0a3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/join.hpp
+++ /dev/null
@@ -1,91 +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_JOIN_HPP_INCLUDED
-#define BOOST_RANGE_JOIN_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/range/detail/join_iterator.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/iterator_range.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<class SinglePassRange1, class SinglePassRange2>
-class joined_type
-{
-public:
-    typedef iterator_range<
-        range_detail::join_iterator<
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type,
-            BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type,
-            BOOST_DEDUCED_TYPENAME range_value<SinglePassRange1>::type
-        >
-    > type;
-};
-
-    } // namespace range_detail
-
-namespace range
-{
-
-template<class SinglePassRange1, class SinglePassRange2>
-class joined_range
-    : public range_detail::joined_type<SinglePassRange1, SinglePassRange2>::type
-{
-    typedef range_detail::join_iterator<
-        BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange1>::type,
-        BOOST_DEDUCED_TYPENAME range_iterator<SinglePassRange2>::type,
-        BOOST_DEDUCED_TYPENAME range_value<SinglePassRange1>::type
-        > iterator_t;
-
-    typedef BOOST_DEDUCED_TYPENAME range_detail::joined_type<
-                    SinglePassRange1, SinglePassRange2>::type base_t;
-public:
-    joined_range(SinglePassRange1& rng1, SinglePassRange2& rng2)
-        : base_t(
-            iterator_t(rng1, rng2, range_detail::join_iterator_begin_tag()),
-            iterator_t(rng1, rng2, range_detail::join_iterator_end_tag())
-        )
-    {
-    }
-};
-
-template<class SinglePassRange1, class SinglePassRange2>
-joined_range<const SinglePassRange1, const SinglePassRange2>
-join(const SinglePassRange1& r1, const SinglePassRange2& r2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    return joined_range<const SinglePassRange1, const SinglePassRange2>(r1, r2);
-}
-
-template<class SinglePassRange1, class SinglePassRange2>
-joined_range<SinglePassRange1, SinglePassRange2>
-join(SinglePassRange1& r1, SinglePassRange2& r2)
-{
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange1> ));
-    BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<SinglePassRange2> ));
-
-    return joined_range<SinglePassRange1, SinglePassRange2>(r1, r2);
-}
-
-} // namespace range
-
-using ::boost::range::joined_range;
-using ::boost::range::join;
-
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/metafunctions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/metafunctions.hpp
deleted file mode 100644
index 9dc59d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/metafunctions.hpp
+++ /dev/null
@@ -1,31 +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_METAFUNCTIONS_HPP
-#define BOOST_RANGE_METAFUNCTIONS_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/iterator.hpp>
-#include <boost/range/has_range_iterator.hpp>
-#include <boost/range/result_iterator.hpp>
-#include <boost/range/reverse_iterator.hpp>
-#include <boost/range/const_reverse_iterator.hpp>
-#include <boost/range/reverse_result_iterator.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/category.hpp>
-#include <boost/range/reference.hpp>
-#include <boost/range/pointer.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/mfc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/mfc.hpp
deleted file mode 100644
index 058e54e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/mfc.hpp
+++ /dev/null
@@ -1,984 +0,0 @@
-#ifndef BOOST_RANGE_MFC_HPP
-#define BOOST_RANGE_MFC_HPP
-
-
-
-
-// Boost.Range MFC Extension
-//
-// Copyright Shunsuke Sogame 2005-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)
-
-
-
-
-// config
-//
-
-
-#include <afx.h> // _MFC_VER
-
-
-#if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-    #if (_MFC_VER < 0x0700) // dubious
-        #define BOOST_RANGE_MFC_NO_CPAIR
-    #endif
-#endif
-
-
-#if !defined(BOOST_RANGE_MFC_HAS_LEGACY_STRING)
-    #if (_MFC_VER < 0x0700) // dubious
-        #define BOOST_RANGE_MFC_HAS_LEGACY_STRING
-    #endif
-#endif
-
-
-// A const collection of old MFC doesn't return const reference.
-//
-#if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
-    #if (_MFC_VER < 0x0700) // dubious
-        #define BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF
-    #endif
-#endif
-
-
-
-
-// forward declarations
-//
-
-
-template< class Type, class ArgType >
-class CArray;
-
-template< class Type, class ArgType >
-class CList;
-
-template< class Key, class ArgKey, class Mapped, class ArgMapped >
-class CMap;
-
-template< class BaseClass, class PtrType >
-class CTypedPtrArray;
-
-template< class BaseClass, class PtrType >
-class CTypedPtrList;
-
-template< class BaseClass, class KeyPtrType, class MappedPtrType >
-class CTypedPtrMap;
-
-
-
-
-// extended customizations
-//
-
-
-#include <cstddef> // ptrdiff_t
-#include <utility> // pair
-#include <boost/assert.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/range/atl.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/detail/microsoft.hpp>
-#include <boost/range/end.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/iterator/transform_iterator.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/utility/addressof.hpp>
-#include <afx.h> // legacy CString
-#include <afxcoll.h> // CXXXArray, CXXXList, CMapXXXToXXX
-#include <tchar.h>
-
-
-namespace boost { namespace range_detail_microsoft {
-
-
-    // mfc_ptr_array_iterator
-    //
-    // 'void **' is not convertible to 'void const **',
-    // so we define...
-    //
-
-    template< class ArrayT, class PtrType >
-    struct mfc_ptr_array_iterator;
-
-    template< class ArrayT, class PtrType >
-    struct mfc_ptr_array_iterator_super
-    {
-        typedef iterator_adaptor<
-            mfc_ptr_array_iterator<ArrayT, PtrType>,
-            std::ptrdiff_t, // Base!
-            PtrType,        // Value
-            random_access_traversal_tag,
-            use_default,
-            std::ptrdiff_t  // Difference
-        > type;
-    };
-
-    template< class ArrayT, class PtrType >
-    struct mfc_ptr_array_iterator :
-        mfc_ptr_array_iterator_super<ArrayT, PtrType>::type
-    {
-    private:
-        typedef mfc_ptr_array_iterator self_t;
-        typedef typename mfc_ptr_array_iterator_super<ArrayT, PtrType>::type super_t;
-        typedef typename super_t::reference ref_t;
-
-    public:
-        explicit mfc_ptr_array_iterator()
-        { }
-
-        explicit mfc_ptr_array_iterator(ArrayT& arr, INT_PTR index) :
-            super_t(index), m_parr(boost::addressof(arr))
-        { }
-
-    template< class, class > friend struct mfc_ptr_array_iterator;
-        template< class ArrayT_, class PtrType_ >
-        mfc_ptr_array_iterator(mfc_ptr_array_iterator<ArrayT_, PtrType_> const& other) :
-            super_t(other.base()), m_parr(other.m_parr)
-        { }
-
-    private:
-        ArrayT *m_parr;
-
-    friend class iterator_core_access;
-        ref_t dereference() const
-        {
-            BOOST_ASSERT(0 <= this->base() && this->base() < m_parr->GetSize() && "out of range");
-            return *( m_parr->GetData() + this->base() );
-        }
-
-        bool equal(self_t const& other) const
-        {
-            BOOST_ASSERT(m_parr == other.m_parr && "iterators incompatible");
-            return this->base() == other.base();
-        }
-    };
-
-    struct mfc_ptr_array_functions
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return Iterator(x, 0);
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return Iterator(x, x.GetSize());
-        }
-    };
-
-
-    // arrays
-    //
-
-    template< >
-    struct customization< ::CByteArray > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef BYTE val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CDWordArray > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef DWORD val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CObArray > :
-        mfc_ptr_array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef mfc_ptr_array_iterator<X, CObject *> mutable_iterator;
-            typedef mfc_ptr_array_iterator<X const, CObject const *> const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CPtrArray > :
-        mfc_ptr_array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef mfc_ptr_array_iterator<X, void *> mutable_iterator;
-            typedef mfc_ptr_array_iterator<X const, void const *> const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CStringArray > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ::CString val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CUIntArray > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef UINT val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CWordArray > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef WORD val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    // lists
-    //
-
-    template< >
-    struct customization< ::CObList > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef list_iterator<X, ::CObject *> mutable_iterator;
-    #if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
-            typedef list_iterator<X const, ::CObject const *> const_iterator;
-    #else
-            typedef list_iterator<X const, ::CObject const * const, ::CObject const * const> const_iterator;
-    #endif
-        };
-    };
-
-
-    template< >
-    struct customization< ::CPtrList > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef list_iterator<X, void *> mutable_iterator;
-    #if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
-            typedef list_iterator<X const, void const *> const_iterator;
-    #else
-            typedef list_iterator<X const, void const * const, void const * const> const_iterator;
-    #endif
-        };
-    };
-
-
-    template< >
-    struct customization< ::CStringList > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ::CString val_t;
-
-            typedef list_iterator<X, val_t> mutable_iterator;
-    #if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
-            typedef list_iterator<X const, val_t const> const_iterator;
-    #else
-            typedef list_iterator<X const, val_t const, val_t const> const_iterator;
-    #endif
-        };
-    };
-
-
-    // mfc_map_iterator
-    //
-
-    template< class MapT, class KeyT, class MappedT >
-    struct mfc_map_iterator;
-
-    template< class MapT, class KeyT, class MappedT >
-    struct mfc_map_iterator_super
-    {
-        typedef iterator_facade<
-            mfc_map_iterator<MapT, KeyT, MappedT>,
-            std::pair<KeyT, MappedT>,
-            forward_traversal_tag,
-            std::pair<KeyT, MappedT> const
-        > type;
-    };
-
-    template< class MapT, class KeyT, class MappedT >
-    struct mfc_map_iterator :
-        mfc_map_iterator_super<MapT, KeyT, MappedT>::type
-    {
-    private:
-        typedef mfc_map_iterator self_t;
-        typedef typename mfc_map_iterator_super<MapT, KeyT, MappedT>::type super_t;
-        typedef typename super_t::reference ref_t;
-
-    public:
-        explicit mfc_map_iterator()
-        { }
-
-        explicit mfc_map_iterator(MapT const& map, POSITION pos) :
-            m_pmap(boost::addressof(map)), m_posNext(pos)
-        {
-            increment();
-        }
-
-        explicit mfc_map_iterator(MapT const& map) :
-            m_pmap(&map), m_pos(0) // end iterator
-        { }
-
-    template< class, class, class > friend struct mfc_map_iterator;
-        template< class MapT_, class KeyT_, class MappedT_>
-        mfc_map_iterator(mfc_map_iterator<MapT_, KeyT_, MappedT_> const& other) :
-            m_pmap(other.m_pmap),
-            m_pos(other.m_pos), m_posNext(other.m_posNext),
-            m_key(other.m_key), m_mapped(other.m_mapped)
-        { }
-
-    private:
-        MapT const *m_pmap;
-        POSITION m_pos, m_posNext;
-        KeyT m_key; MappedT m_mapped;
-
-    friend class iterator_core_access;
-        ref_t dereference() const
-        {
-            BOOST_ASSERT(m_pos != 0 && "out of range");
-            return std::make_pair(m_key, m_mapped);
-        }
-
-        void increment()
-        {
-            BOOST_ASSERT(m_pos != 0 && "out of range");
-
-            if (m_posNext == 0) {
-                m_pos = 0;
-                return;
-            }
-
-            m_pos = m_posNext;
-            m_pmap->GetNextAssoc(m_posNext, m_key, m_mapped);
-        }
-
-        bool equal(self_t const& other) const
-        {
-            BOOST_ASSERT(m_pmap == other.m_pmap && "iterators incompatible");
-            return m_pos == other.m_pos;
-        }
-    };
-
-    struct mfc_map_functions
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return Iterator(x, x.GetStartPosition());
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return Iterator(x);
-        }
-    };
-
-
-#if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-
-
-    // mfc_cpair_map_iterator
-    //
-    // used by ::CMap and ::CMapStringToString
-    //
-
-    template< class MapT, class PairT >
-    struct mfc_cpair_map_iterator;
-
-    template< class MapT, class PairT >
-    struct mfc_pget_map_iterator_super
-    {
-        typedef iterator_facade<
-            mfc_cpair_map_iterator<MapT, PairT>,
-            PairT,
-            forward_traversal_tag
-        > type;
-    };
-
-    template< class MapT, class PairT >
-    struct mfc_cpair_map_iterator :
-        mfc_pget_map_iterator_super<MapT, PairT>::type
-    {
-    private:
-        typedef mfc_cpair_map_iterator self_t;
-        typedef typename mfc_pget_map_iterator_super<MapT, PairT>::type super_t;
-        typedef typename super_t::reference ref_t;
-
-    public:
-        explicit mfc_cpair_map_iterator()
-        { }
-
-        explicit mfc_cpair_map_iterator(MapT& map, PairT *pp) :
-            m_pmap(boost::addressof(map)), m_pp(pp)
-        { }
-
-    template< class, class > friend struct mfc_cpair_map_iterator;
-        template< class MapT_, class PairT_>
-        mfc_cpair_map_iterator(mfc_cpair_map_iterator<MapT_, PairT_> const& other) :
-            m_pmap(other.m_pmap), m_pp(other.m_pp)
-        { }
-
-    private:
-        MapT  *m_pmap;
-        PairT *m_pp;
-
-    friend class iterator_core_access;
-        ref_t dereference() const
-        {
-            BOOST_ASSERT(m_pp != 0 && "out of range");
-            return *m_pp;
-        }
-
-        void increment()
-        {
-            BOOST_ASSERT(m_pp != 0 && "out of range");
-            m_pp = m_pmap->PGetNextAssoc(m_pp);
-        }
-
-        bool equal(self_t const& other) const
-        {
-            BOOST_ASSERT(m_pmap == other.m_pmap && "iterators incompatible");
-            return m_pp == other.m_pp;
-        }
-    };
-
-    struct mfc_cpair_map_functions
-    {
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            // Workaround:
-            // Assertion fails if empty.
-            // MFC document is wrong.
-    #if !defined(NDEBUG)
-            if (x.GetCount() == 0) 
-                return Iterator(x, 0);
-    #endif
-
-            return Iterator(x, x.PGetFirstAssoc());
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return Iterator(x, 0);
-        }
-    };
-
-
-#endif // !defined(BOOST_RANGE_MFC_NO_CPAIR)
-
-
-    // maps
-    //
-
-    template< >
-    struct customization< ::CMapPtrToWord > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef void *key_t;
-            typedef WORD mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CMapPtrToPtr > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef void *key_t;
-            typedef void *mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CMapStringToOb > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ::CString key_t;
-            typedef ::CObject *mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CMapStringToPtr > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef ::CString key_t;
-            typedef void *mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CMapStringToString > :
-    #if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-        mfc_cpair_map_functions
-    #else
-        mfc_map_functions
-    #endif
-    {
-        template< class X >
-        struct meta
-        {
-    #if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-            typedef typename X::CPair pair_t;
-
-            typedef mfc_cpair_map_iterator<X, pair_t> mutable_iterator;
-            typedef mfc_cpair_map_iterator<X const, pair_t const> const_iterator;
-    #else
-            typedef ::CString key_t;
-            typedef ::CString mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-    #endif
-        };
-    };
-
-
-    template< >
-    struct customization< ::CMapWordToOb > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef WORD key_t;
-            typedef ::CObject *mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    template< >
-    struct customization< ::CMapWordToPtr > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef WORD key_t;
-            typedef void *mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    // templates
-    //
-
-    template< class Type, class ArgType >
-    struct customization< ::CArray<Type, ArgType> > :
-        array_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef Type val_t;
-
-            typedef val_t *mutable_iterator;
-            typedef val_t const *const_iterator;
-        };
-    };
-
-
-    template< class Type, class ArgType >
-    struct customization< ::CList<Type, ArgType> > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef Type val_t;
-
-            typedef list_iterator<X, val_t> mutable_iterator;
-    #if !defined(BOOST_RANGE_MFC_CONST_COL_RETURNS_NON_REF)
-            typedef list_iterator<X const, val_t const> const_iterator;
-    #else
-            typedef list_iterator<X const, val_t const, val_t const> const_iterator;
-    #endif
-        };
-    };
-
-
-    template< class Key, class ArgKey, class Mapped, class ArgMapped >
-    struct customization< ::CMap<Key, ArgKey, Mapped, ArgMapped> > :
-    #if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-        mfc_cpair_map_functions
-    #else
-        mfc_map_functions
-    #endif
-    {
-        template< class X >
-        struct meta
-        {
-    #if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-            typedef typename X::CPair pair_t;
-
-            typedef mfc_cpair_map_iterator<X, pair_t> mutable_iterator;
-            typedef mfc_cpair_map_iterator<X const, pair_t const> const_iterator;
-    #else
-            typedef Key key_t;
-            typedef Mapped mapped_t;
-
-            typedef mfc_map_iterator<X, key_t, mapped_t> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-    #endif            
-        };
-    };
-
-
-    template< class BaseClass, class PtrType >
-    struct customization< ::CTypedPtrArray<BaseClass, PtrType> >
-    {
-        template< class X >
-        struct fun
-        {
-            typedef typename remove_pointer<PtrType>::type val_t;
-
-            typedef typename mpl::if_< is_const<X>,
-                val_t const,
-                val_t
-            >::type val_t_;
-
-            typedef val_t_ * const result_type;
-
-            template< class PtrType_ >
-            result_type operator()(PtrType_ p) const
-            {
-                return static_cast<result_type>(p);
-            }
-        };
-
-        template< class X >
-        struct meta
-        {
-            typedef typename compatible_mutable_iterator<BaseClass>::type miter_t;
-            typedef typename range_const_iterator<BaseClass>::type citer_t;
-
-            typedef transform_iterator<fun<X>, miter_t> mutable_iterator;
-            typedef transform_iterator<fun<X const>, citer_t> const_iterator;
-        };
-
-        template< class Iterator, class X >
-        Iterator begin(X& x)
-        {
-            return Iterator(boost::begin<BaseClass>(x), fun<X>());
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return Iterator(boost::end<BaseClass>(x), fun<X>());
-        }
-    };
-
-
-    template< class BaseClass, class PtrType >
-    struct customization< ::CTypedPtrList<BaseClass, PtrType> > :
-        list_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef typename remove_pointer<PtrType>::type val_t;
-
-            // not l-value
-            typedef list_iterator<X, val_t * const, val_t * const> mutable_iterator;
-            typedef list_iterator<X const, val_t const * const, val_t const * const> const_iterator;
-        };
-    };
-
-
-    template< class BaseClass, class KeyPtrType, class MappedPtrType >
-    struct customization< ::CTypedPtrMap<BaseClass, KeyPtrType, MappedPtrType> > :
-        mfc_map_functions
-    {
-        template< class X >
-        struct meta
-        {
-            typedef mfc_map_iterator<X, KeyPtrType, MappedPtrType> mutable_iterator;
-            typedef mutable_iterator const_iterator;
-        };
-    };
-
-
-    // strings
-    //
-
-#if defined(BOOST_RANGE_MFC_HAS_LEGACY_STRING)
-
-    template< >
-    struct customization< ::CString >
-    {
-        template< class X >
-        struct meta
-        {
-            // LPTSTR/LPCTSTR is not always defined in <tchar.h>.
-            typedef TCHAR *mutable_iterator;
-            typedef TCHAR const *const_iterator;
-        };
-
-        template< class Iterator, class X >
-        typename mutable_<Iterator, X>::type begin(X& x)
-        {
-            return x.GetBuffer(0);
-        }
-
-        template< class Iterator, class X >
-        Iterator begin(X const& x)
-        {
-            return x;
-        }
-
-        template< class Iterator, class X >
-        Iterator end(X& x)
-        {
-            return begin<Iterator>(x) + x.GetLength();
-        }
-    };
-
-#endif // defined(BOOST_RANGE_MFC_HAS_LEGACY_STRING)
-
-
-} } // namespace boost::range_detail_microsoft
-
-
-
-
-// range customizations
-//
-
-
-// arrays
-//
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CByteArray
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CDWordArray
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CStringArray
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CUIntArray
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CWordArray
-)
-
-
-// lists
-//
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CObList
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CPtrList
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CStringList
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CObArray
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CPtrArray
-)
-
-
-// maps
-//
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapPtrToWord
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapPtrToPtr
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapStringToOb
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapStringToPtr
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapStringToString
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapWordToOb
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMapWordToPtr
-)
-
-
-// templates
-//
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CArray, 2
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CList, 2
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CMap, 4
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CTypedPtrArray, 2
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CTypedPtrList, 2
-)
-
-BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TEMPLATE(
-    boost::range_detail_microsoft::using_type_as_tag,
-    BOOST_PP_NIL, CTypedPtrMap, 3
-)
-
-
-// strings
-//
-#if defined(BOOST_RANGE_MFC_HAS_LEGACY_STRING)
-
-    BOOST_RANGE_DETAIL_MICROSOFT_CUSTOMIZATION_TYPE(
-        boost::range_detail_microsoft::using_type_as_tag,
-        BOOST_PP_NIL, CString
-    )
-
-#endif
-
-
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/mfc_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/mfc_map.hpp
deleted file mode 100644
index 2cd42b4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/mfc_map.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Adam D. Walling 2012. Use, modification and
-//  distribution is subject to the 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_ADAPTOR_MFC_MAP_HPP
-#define BOOST_RANGE_ADAPTOR_MFC_MAP_HPP
-
-#if !defined(BOOST_RANGE_MFC_NO_CPAIR)
-
-#include <boost/range/mfc.hpp>
-#include <boost/range/adaptor/map.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-        // CMap and CMapStringToString range iterators return CPair,
-        // which has a key and value member. Other MFC range iterators
-        // already return adapted std::pair objects. This allows usage
-        // of the map_keys and map_values range adaptors with CMap 
-        // and CMapStringToString
-        
-        // CPair has a VALUE value member, and a KEY key member; we will
-        // use VALUE& as the result_type consistent with CMap::operator[]
-        
-        // specialization for CMap 
-        template<class KEY, class ARG_KEY, class VALUE, class ARG_VALUE>
-        struct select_first< CMap<KEY, ARG_KEY, VALUE, ARG_VALUE> >
-        {
-            typedef BOOST_DEDUCED_TYPENAME CMap<KEY, ARG_KEY, VALUE, ARG_VALUE> map_type;
-            typedef BOOST_DEDUCED_TYPENAME range_reference<const map_type>::type argument_type;
-            typedef BOOST_DEDUCED_TYPENAME const KEY& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.key;
-            }
-        };
-
-        template<class KEY, class ARG_KEY, class VALUE, class ARG_VALUE>
-        struct select_second_mutable< CMap<KEY, ARG_KEY, VALUE, ARG_VALUE> >
-        {
-            typedef BOOST_DEDUCED_TYPENAME CMap<KEY, ARG_KEY, VALUE, ARG_VALUE> map_type;
-            typedef BOOST_DEDUCED_TYPENAME range_reference<map_type>::type argument_type;
-            typedef BOOST_DEDUCED_TYPENAME VALUE& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.value;
-            }
-        };
-
-        template<class KEY, class ARG_KEY, class VALUE, class ARG_VALUE>
-        struct select_second_const< CMap<KEY, ARG_KEY, VALUE, ARG_VALUE> >
-        {
-            typedef BOOST_DEDUCED_TYPENAME CMap<KEY, ARG_KEY, VALUE, ARG_VALUE> map_type;
-            typedef BOOST_DEDUCED_TYPENAME range_reference<const map_type>::type argument_type;
-            typedef BOOST_DEDUCED_TYPENAME const VALUE& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.value;
-            }
-        };
-
-
-        // specialization for CMapStringToString
-        template<>
-        struct select_first< CMapStringToString >
-        {
-            typedef range_reference<const CMapStringToString>::type argument_type;
-            typedef const CString& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.key;
-            }
-        };
-
-        template<>
-        struct select_second_mutable< CMapStringToString >
-        {
-            typedef range_reference<CMapStringToString>::type argument_type;
-            typedef CString& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.value;
-            }
-        };
-
-        template<>
-        struct select_second_const< CMapStringToString >
-        {
-            typedef range_reference<const CMapStringToString>::type argument_type;
-            typedef const CString& result_type;
-
-            result_type operator()( argument_type r ) const
-            {
-                return r.value;
-            }
-        };
-    } // 'range_detail'
-} // 'boost'
-
-#endif // !defined(BOOST_RANGE_MFC_NO_CPAIR)
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/mutable_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/mutable_iterator.hpp
deleted file mode 100644
index b924666..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/mutable_iterator.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_MUTABLE_ITERATOR_HPP
-#define BOOST_RANGE_MUTABLE_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#include <boost/range/range_fwd.hpp>
-#include <boost/range/detail/extract_optional_type.hpp>
-#include <boost/type_traits/remove_reference.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<
-            BOOST_DEDUCED_TYPENAME remove_reference<C>::type>
-{};
-
-//////////////////////////////////////////////////////////////////////////
-// 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 range_detail
-
-template<typename C, typename Enabler=void>
-struct range_mutable_iterator
-        : range_detail::range_mutable_iterator<
-            BOOST_DEDUCED_TYPENAME remove_reference<C>::type
-        >
-{
-};
-
-} // namespace boost
-
-#include <boost/range/detail/msvc_has_iterator_workaround.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/numeric.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/numeric.hpp
deleted file mode 100644
index d1510cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/numeric.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright 2009-2014 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)
-//
-// Copyright 2006 Thorsten Ottosen.
-// Distributed under the 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 2004 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)
-//
-//   Contains range-based versions of the numeric std algorithms
-//
-#if defined(_MSC_VER)
-    #pragma once
-#endif
-
-#ifndef BOOST_RANGE_NUMERIC_HPP
-#define BOOST_RANGE_NUMERIC_HPP
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/category.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/distance.hpp>
-#include <boost/range/size.hpp>
-#include <numeric>
-
-
-namespace boost
-{
-    template<class SinglePassRange, class Value>
-    inline Value accumulate(const SinglePassRange& rng, Value init)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-            SinglePassRangeConcept<const SinglePassRange>));
-
-        return std::accumulate(boost::begin(rng), boost::end(rng), init);
-    }
-
-    template<class SinglePassRange, class Value, class BinaryOperation>
-    inline Value accumulate(const SinglePassRange& rng, Value init,
-                            BinaryOperation op)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange> ));
-
-        return std::accumulate(boost::begin(rng), boost::end(rng), init, op);
-    }
-
-    namespace range_detail
-    {
-        template<class SinglePassRange1, class SinglePassRange2>
-        inline bool inner_product_precondition(
-            const SinglePassRange1&,
-            const SinglePassRange2&,
-            std::input_iterator_tag,
-            std::input_iterator_tag)
-        {
-            return true;
-        }
-
-        template<class SinglePassRange1, class SinglePassRange2>
-        inline bool inner_product_precondition(
-            const SinglePassRange1& rng1,
-            const SinglePassRange2& rng2,
-            std::forward_iterator_tag,
-            std::forward_iterator_tag)
-        {
-            return boost::size(rng2) >= boost::size(rng1);
-        }
-
-    } // namespace range_detail
-
-    template<
-        class SinglePassRange1,
-        class SinglePassRange2,
-        class Value
-    >
-    inline Value inner_product(
-        const SinglePassRange1& rng1,
-        const SinglePassRange2& rng2,
-        Value                   init)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-            SinglePassRangeConcept<const SinglePassRange1>));
-
-        BOOST_RANGE_CONCEPT_ASSERT((
-            SinglePassRangeConcept<const SinglePassRange2>));
-
-        BOOST_ASSERT(
-            range_detail::inner_product_precondition(
-                    rng1, rng2,
-                    typename range_category<const SinglePassRange1>::type(),
-                    typename range_category<const SinglePassRange2>::type()));
-
-        return std::inner_product(
-            boost::begin(rng1), boost::end(rng1),
-            boost::begin(rng2), init);
-    }
-
-    template<
-        class SinglePassRange1,
-        class SinglePassRange2,
-        class Value,
-        class BinaryOperation1,
-        class BinaryOperation2
-    >
-    inline Value inner_product(
-        const SinglePassRange1& rng1,
-        const SinglePassRange2& rng2,
-        Value                   init,
-        BinaryOperation1        op1,
-        BinaryOperation2        op2)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange1>));
-
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange2>));
-
-        BOOST_ASSERT(
-            range_detail::inner_product_precondition(
-                rng1, rng2,
-                typename range_category<const SinglePassRange1>::type(),
-                typename range_category<const SinglePassRange2>::type()));
-
-        return std::inner_product(
-            boost::begin(rng1), boost::end(rng1),
-            boost::begin(rng2), init, op1, op2);
-    }
-
-    template<class SinglePassRange, class OutputIterator>
-    inline OutputIterator partial_sum(const SinglePassRange& rng,
-                                      OutputIterator result)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-        return std::partial_sum(boost::begin(rng), boost::end(rng), result);
-    }
-
-    template<class SinglePassRange, class OutputIterator, class BinaryOperation>
-    inline OutputIterator partial_sum(
-        const SinglePassRange&  rng,
-        OutputIterator          result,
-        BinaryOperation         op)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-        return std::partial_sum(boost::begin(rng), boost::end(rng), result, op);
-    }
-
-    template<class SinglePassRange, class OutputIterator>
-    inline OutputIterator adjacent_difference(
-        const SinglePassRange&  rng,
-        OutputIterator          result)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-        return std::adjacent_difference(boost::begin(rng), boost::end(rng),
-                                        result);
-    }
-
-    template<class SinglePassRange, class OutputIterator, class BinaryOperation>
-    inline OutputIterator adjacent_difference(
-        const SinglePassRange&  rng,
-        OutputIterator          result,
-        BinaryOperation         op)
-    {
-        BOOST_RANGE_CONCEPT_ASSERT((
-                SinglePassRangeConcept<const SinglePassRange>));
-
-        return std::adjacent_difference(boost::begin(rng), boost::end(rng),
-                                        result, op);
-    }
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/pointer.hpp
deleted file mode 100644
index b1e8dc5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/pointer.hpp
+++ /dev/null
@@ -1,30 +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_POINTER_TYPE_HPP
-#define BOOST_RANGE_POINTER_TYPE_HPP
-
-#if defined(_MSC_VER)
-# 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_pointer
-            : iterator_pointer< BOOST_DEDUCED_TYPENAME range_iterator<T>::type >
-    { };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/range_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/range_fwd.hpp
deleted file mode 100644
index 0e6e00f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/range_fwd.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 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_RANGE_FWD_HPP_INCLUDED
-#define BOOST_RANGE_RANGE_FWD_HPP_INCLUDED
-
-namespace boost
-{
-
-// Extension points
-    template<typename C, typename Enabler>
-    struct range_iterator;
-
-    template<typename C, typename Enabler>
-    struct range_mutable_iterator;
-
-    template<typename C, typename Enabler>
-    struct range_const_iterator;
-
-// Core classes
-    template<typename IteratorT>
-    class iterator_range;
-
-    template<typename ForwardRange>
-    class sub_range;
-
-// Meta-functions
-    template<typename T>
-    struct range_category;
-
-    template<typename T>
-    struct range_difference;
-
-    template<typename T>
-    struct range_pointer;
-
-    template<typename T>
-    struct range_reference;
-
-    template<typename T>
-    struct range_reverse_iterator;
-
-    template<typename T>
-    struct range_size;
-
-    template<typename T>
-    struct range_value;
-
-    template<typename T>
-    struct has_range_iterator;
-
-    template<typename T>
-    struct has_range_const_iterator;
-
-} // namespace boost
-
-#endif // include guard
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/rbegin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/rbegin.hpp
deleted file mode 100644
index 6d66de9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/range/reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/reference.hpp
deleted file mode 100644
index c664c38..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/reference.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_REFERENCE_TYPE_HPP
-#define BOOST_RANGE_REFERENCE_TYPE_HPP
-
-#if defined(_MSC_VER)
-# 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_reference : iterator_reference< typename range_iterator<T>::type >
-    { };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/rend.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/rend.hpp
deleted file mode 100644
index ef70407..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/range/result_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/result_iterator.hpp
deleted file mode 100644
index 54e343d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/range/reverse_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/reverse_iterator.hpp
deleted file mode 100644
index 0aa0130..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/reverse_iterator.hpp
+++ /dev/null
@@ -1,42 +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)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-
-
-namespace boost
-{
-    //////////////////////////////////////////////////////////////////////////
-    // default
-    //////////////////////////////////////////////////////////////////////////
-    
-    template< typename T >
-    struct range_reverse_iterator
-    {
-        typedef reverse_iterator< 
-            BOOST_DEDUCED_TYPENAME range_iterator<
-                BOOST_DEDUCED_TYPENAME remove_reference<T>::type>::type > type;
-    };
-    
-
-} // namespace boost
-
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/reverse_result_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/reverse_result_iterator.hpp
deleted file mode 100644
index d375cfd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/reverse_result_iterator.hpp
+++ /dev/null
@@ -1,32 +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_RESULT_ITERATOR_HPP
-#define BOOST_RANGE_REVERSE_RESULT_ITERATOR_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/reverse_iterator.hpp>
-
-namespace boost
-{
-    //
-    // This interface is deprecated, use range_reverse_iterator<T>
-    //
-   
-    template< typename C >
-    struct range_reverse_result_iterator : range_reverse_iterator<C>
-    { };
-    
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/size.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/size.hpp
deleted file mode 100644
index 7f38db8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/size.hpp
+++ /dev/null
@@ -1,76 +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)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/range/detail/has_member_size.hpp>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/utility.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-        template<class SinglePassRange>
-        inline typename ::boost::enable_if<
-            has_member_size<SinglePassRange>,
-            typename range_size<const SinglePassRange>::type
-        >::type
-        range_calculate_size(const SinglePassRange& rng)
-        {
-            return rng.size();
-        }
-
-        template<class SinglePassRange>
-        inline typename disable_if<
-            has_member_size<SinglePassRange>,
-            typename range_size<const SinglePassRange>::type
-        >::type
-        range_calculate_size(const SinglePassRange& rng)
-        {
-            return std::distance(boost::begin(rng), boost::end(rng));
-        }
-    }
-
-    template<class SinglePassRange>
-    inline typename range_size<const SinglePassRange>::type
-    size(const SinglePassRange& rng)
-    {
-// Very strange things happen on some compilers that have the range concept
-// asserts disabled. This preprocessor condition is clearly redundant on a
-// working compiler but is vital for at least some compilers such as clang 4.2
-// but only on the Mac!
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT == 1
-        BOOST_RANGE_CONCEPT_ASSERT((boost::SinglePassRangeConcept<SinglePassRange>));
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/range/size_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/size_type.hpp
deleted file mode 100644
index f41c321..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/size_type.hpp
+++ /dev/null
@@ -1,95 +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)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/concepts.hpp>
-#include <boost/range/has_range_iterator.hpp>
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
-    namespace detail
-    {
-
-        //////////////////////////////////////////////////////////////////////////
-        // default
-        //////////////////////////////////////////////////////////////////////////
-
-        template<typename T>
-        class has_size_type
-        {
-            typedef char no_type;
-            struct yes_type { char dummy[2]; };
-
-            template<typename C>
-            static yes_type test(BOOST_DEDUCED_TYPENAME C::size_type x);
-
-            template<typename C>
-            static no_type test(...);
-
-        public:
-            static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
-        };
-
-        template<typename C, typename Enabler=void>
-        struct range_size_
-        {
-            typedef BOOST_DEDUCED_TYPENAME make_unsigned<
-                BOOST_DEDUCED_TYPENAME range_difference<C>::type
-            >::type type;
-        };
-
-        template<typename C>
-        struct range_size_<
-            C,
-            BOOST_DEDUCED_TYPENAME ::boost::enable_if<has_size_type<C>, void>::type
-        >
-        {
-            typedef BOOST_DEDUCED_TYPENAME C::size_type type;
-        };
-
-        template<typename C, bool B = range_detail::has_type< range_iterator<C> >::value>
-        struct range_size
-        { };
-
-        template<typename C>
-        struct range_size<C, true>
-          : range_size_<C>
-        { };
-    }
-
-    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
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/sub_range.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/sub_range.hpp
deleted file mode 100644
index d1c3b99..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/sub_range.hpp
+++ /dev/null
@@ -1,287 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2009.
-//  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_SUB_RANGE_HPP
-#define BOOST_RANGE_SUB_RANGE_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500)) 
-    #pragma warning( push )
-    #pragma warning( disable : 4996 )
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator_range.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/reference.hpp>
-#include <boost/range/algorithm/equal.hpp>
-#include <boost/assert.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost
-{
-    namespace range_detail
-    {
-
-template<class ForwardRange, class TraversalTag>
-class sub_range_base
-        : public iterator_range<
-            BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-        >
-{
-    typedef iterator_range<
-        BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-    > base;
-
-protected:
-    typedef BOOST_DEDUCED_TYPENAME base::iterator_range_ iterator_range_;
-
-public:
-    typedef BOOST_DEDUCED_TYPENAME range_value<ForwardRange>::type value_type;
-    typedef BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type iterator;
-    typedef BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type const_iterator;
-    typedef BOOST_DEDUCED_TYPENAME range_difference<ForwardRange>::type difference_type;
-    typedef BOOST_DEDUCED_TYPENAME range_size<ForwardRange>::type size_type;
-    typedef BOOST_DEDUCED_TYPENAME range_reference<ForwardRange>::type reference;
-    typedef BOOST_DEDUCED_TYPENAME range_reference<const ForwardRange>::type const_reference;
-
-    sub_range_base()
-    {
-    }
-
-    template<class Iterator>
-    sub_range_base(Iterator first, Iterator last)
-        : base(first, last)
-    {
-    }
-
-    reference front()
-    {
-        return base::front();
-    }
-
-    const_reference front() const
-    {
-        return base::front();
-    }
-};
-
-template<class ForwardRange>
-class sub_range_base<ForwardRange, bidirectional_traversal_tag>
-        : public sub_range_base<ForwardRange, forward_traversal_tag>
-{
-    typedef sub_range_base<ForwardRange, forward_traversal_tag> base;
-public:
-    sub_range_base()
-    {
-    }
-
-    template<class Iterator>
-    sub_range_base(Iterator first, Iterator last)
-        : base(first, last)
-    {
-    }
-
-    BOOST_DEDUCED_TYPENAME base::reference back()
-    {
-        return base::back();
-    }
-
-    BOOST_DEDUCED_TYPENAME base::const_reference back() const
-    {
-        return base::back();
-    }
-};
-
-template<class ForwardRange>
-class sub_range_base<ForwardRange, random_access_traversal_tag>
-        : public sub_range_base<ForwardRange, bidirectional_traversal_tag>
-{
-    typedef sub_range_base<ForwardRange, bidirectional_traversal_tag> base;
-
-public:
-    sub_range_base()
-    {
-    }
-
-    template<class Iterator>
-    sub_range_base(Iterator first, Iterator last)
-        : base(first, last)
-    {
-    }
-
-    BOOST_DEDUCED_TYPENAME base::reference
-    operator[](BOOST_DEDUCED_TYPENAME base::difference_type n)
-    {
-        return this->begin()[n];
-    }
-
-    BOOST_DEDUCED_TYPENAME base::const_reference
-    operator[](BOOST_DEDUCED_TYPENAME base::difference_type n) const
-    {
-        return this->begin()[n];
-    }
-};
-
-    } // namespace range_detail
-
-    template<class ForwardRange>
-    class sub_range
-        : public range_detail::sub_range_base<
-                ForwardRange,
-                BOOST_DEDUCED_TYPENAME iterator_traversal<
-                    BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-                >::type
-            >
-    {
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<
-            ForwardRange
-        >::type iterator_t;
-
-        typedef range_detail::sub_range_base<
-            ForwardRange,
-            BOOST_DEDUCED_TYPENAME iterator_traversal<
-                BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type
-            >::type
-        > base;
-
-        typedef BOOST_DEDUCED_TYPENAME base::impl impl;
-
-    protected:
-        typedef BOOST_DEDUCED_TYPENAME base::iterator_range_ iterator_range_;
-
-    private:
-        template<class Source>
-        struct is_compatible_range
-            : is_convertible<
-                BOOST_DEDUCED_TYPENAME mpl::eval_if<
-                    has_range_iterator<Source>,
-                    range_iterator<Source>,
-                    mpl::identity<void>
-                >::type,
-                BOOST_DEDUCED_TYPENAME base::iterator
-            >
-        {
-        };
-
-    public:
-        sub_range()
-        { }
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500) ) 
-        sub_range(const sub_range& r)
-            : base(impl::adl_begin(const_cast<base&>(static_cast<const base&>(r))),
-                   impl::adl_end(const_cast<base&>(static_cast<const base&>(r))))
-        { }  
-#endif
-
-        template< class ForwardRange2 >
-        sub_range(
-            ForwardRange2& r,
-            BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-                is_compatible_range<ForwardRange2>
-            >::type* = 0
-        )
-        : base(impl::adl_begin(r), impl::adl_end(r))
-        {
-        }
-
-        template< class ForwardRange2 >
-        sub_range(
-            const ForwardRange2& r,
-            BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-                is_compatible_range<const ForwardRange2>
-            >::type* = 0
-        )
-        : base(impl::adl_begin(r), impl::adl_end(r))
-        {
-        }
-
-        BOOST_DEDUCED_TYPENAME base::const_iterator begin() const
-        {
-            return base::begin();
-        }
-
-        BOOST_DEDUCED_TYPENAME base::iterator begin()
-        {
-            return base::begin();
-        }
-
-        BOOST_DEDUCED_TYPENAME base::const_iterator end() const
-        {
-            return base::end();
-        }
-
-        BOOST_DEDUCED_TYPENAME base::iterator end()
-        {
-            return base::end();
-        }
-
-        template< class Iter >
-        sub_range( Iter first, Iter last ) :
-            base( first, last )
-        { }
-
-        template<class ForwardRange2>
-        BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-            is_compatible_range<ForwardRange2>,
-            sub_range&
-        >::type
-        operator=(ForwardRange2& r)
-        {
-            iterator_range_::operator=( r );
-            return *this;
-        }
-
-        template<class ForwardRange2>
-        BOOST_DEDUCED_TYPENAME ::boost::enable_if<
-            is_compatible_range<const ForwardRange2>,
-            sub_range&
-        >::type
-        operator=( const ForwardRange2& r )
-        {
-            iterator_range_::operator=( r );
-            return *this;
-        }   
-
-        sub_range& operator=( const sub_range& r )
-        {
-            iterator_range_::operator=( static_cast<const iterator_range_&>(r) );
-            return *this;            
-        }
-        
-        sub_range& advance_begin(
-            BOOST_DEDUCED_TYPENAME base::difference_type n)
-        {
-            std::advance(this->m_Begin, n);
-            return *this;
-        }
-        
-        sub_range& advance_end(
-            BOOST_DEDUCED_TYPENAME base::difference_type n)
-        {
-            std::advance(this->m_End, n);
-            return *this;
-        }
-    };
-
-} // namespace 'boost'
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500)) 
-    #pragma warning( pop )
-#endif
-
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/traversal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/traversal.hpp
deleted file mode 100644
index 237b3e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/traversal.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// Boost.Range library
-//
-//  Copyright Neil Groves 2014. Use, modification and
-//  distribution is subject to the 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_TRAVERSAL_HPP
-#define BOOST_RANGE_TRAVERSAL_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
-    template<typename SinglePassRange>
-    struct range_traversal
-        : iterator_traversal<typename range_iterator<SinglePassRange>::type>
-    {
-    };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/range/value_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/range/value_type.hpp
deleted file mode 100644
index 5a3187e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/range/value_type.hpp
+++ /dev/null
@@ -1,30 +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)
-# 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_value : iterator_value< typename range_iterator<T>::type >
-    { };
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/ratio.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/ratio.hpp
deleted file mode 100644
index 096fe62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/ratio.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-//  ratio.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_RATIO_HPP
-#define BOOST_RATIO_HPP
-
-#include <boost/ratio/include.hpp>
-
-#endif  // BOOST_RATIO_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/rational.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/rational.hpp
deleted file mode 100644
index 72d11e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/rational.hpp
+++ /dev/null
@@ -1,709 +0,0 @@
-//  Boost rational.hpp header file  ------------------------------------------//
-
-//  (C) Copyright Paul Moore 1999. 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.
-
-// boostinspect:nolicense (don't complain about the lack of a Boost license)
-// (Paul Moore hasn't been in contact for years, so there's no way to change the
-// license.)
-
-//  See http://www.boost.org/libs/rational for documentation.
-
-//  Credits:
-//  Thanks to the boost mailing list in general for useful comments.
-//  Particular contributions included:
-//    Andrew D Jewell, for reminding me to take care to avoid overflow
-//    Ed Brey, for many comments, including picking up on some dreadful typos
-//    Stephen Silver contributed the test suite and comments on user-defined
-//    IntType
-//    Nickolay Mladenov, for the implementation of operator+=
-
-//  Revision History
-//  02 Sep 13  Remove unneeded forward declarations; tweak private helper
-//             function (Daryle Walker)
-//  30 Aug 13  Improve exception safety of "assign"; start modernizing I/O code
-//             (Daryle Walker)
-//  27 Aug 13  Add cross-version constructor template, plus some private helper
-//             functions; add constructor to exception class to take custom
-//             messages (Daryle Walker)
-//  25 Aug 13  Add constexpr qualification wherever possible (Daryle Walker)
-//  05 May 12  Reduced use of implicit gcd (Mario Lang)
-//  05 Nov 06  Change rational_cast to not depend on division between different
-//             types (Daryle Walker)
-//  04 Nov 06  Off-load GCD and LCM to Boost.Math; add some invariant checks;
-//             add std::numeric_limits<> requirement to help GCD (Daryle Walker)
-//  31 Oct 06  Recoded both operator< to use round-to-negative-infinity
-//             divisions; the rational-value version now uses continued fraction
-//             expansion to avoid overflows, for bug #798357 (Daryle Walker)
-//  20 Oct 06  Fix operator bool_type for CW 8.3 (Joaquín M López Muñoz)
-//  18 Oct 06  Use EXPLICIT_TEMPLATE_TYPE helper macros from Boost.Config
-//             (Joaquín M López Muñoz)
-//  27 Dec 05  Add Boolean conversion operator (Daryle Walker)
-//  28 Sep 02  Use _left versions of operators from operators.hpp
-//  05 Jul 01  Recode gcd(), avoiding std::swap (Helmut Zeisel)
-//  03 Mar 01  Workarounds for Intel C++ 5.0 (David Abrahams)
-//  05 Feb 01  Update operator>> to tighten up input syntax
-//  05 Feb 01  Final tidy up of gcd code prior to the new release
-//  27 Jan 01  Recode abs() without relying on abs(IntType)
-//  21 Jan 01  Include Nickolay Mladenov's operator+= algorithm,
-//             tidy up a number of areas, use newer features of operators.hpp
-//             (reduces space overhead to zero), add operator!,
-//             introduce explicit mixed-mode arithmetic operations
-//  12 Jan 01  Include fixes to handle a user-defined IntType better
-//  19 Nov 00  Throw on divide by zero in operator /= (John (EBo) David)
-//  23 Jun 00  Incorporate changes from Mark Rodgers for Borland C++
-//  22 Jun 00  Change _MSC_VER to BOOST_MSVC so other compilers are not
-//             affected (Beman Dawes)
-//   6 Mar 00  Fix operator-= normalization, #include <string> (Jens Maurer)
-//  14 Dec 99  Modifications based on comments from the boost list
-//  09 Dec 99  Initial Version (Paul Moore)
-
-#ifndef BOOST_RATIONAL_HPP
-#define BOOST_RATIONAL_HPP
-
-#include <boost/config.hpp>      // for BOOST_NO_STDC_NAMESPACE, BOOST_MSVC, etc
-#ifndef BOOST_NO_IOSTREAM
-#include <iomanip>               // for std::setw
-#include <ios>                   // for std::noskipws, streamsize
-#include <istream>               // for std::istream
-#include <ostream>               // for std::ostream
-#include <sstream>               // for std::ostringstream
-#endif
-#include <cstddef>               // for NULL
-#include <stdexcept>             // for std::domain_error
-#include <string>                // for std::string implicit constructor
-#include <boost/operators.hpp>   // for boost::addable etc
-#include <cstdlib>               // for std::abs
-#include <boost/call_traits.hpp> // for boost::call_traits
-#include <boost/detail/workaround.hpp> // for BOOST_WORKAROUND
-#include <boost/assert.hpp>      // for BOOST_ASSERT
-#include <boost/integer/common_factor_rt.hpp> // for boost::integer::gcd, lcm
-#include <limits>                // for std::numeric_limits
-#include <boost/static_assert.hpp>  // for BOOST_STATIC_ASSERT
-#include <boost/throw_exception.hpp>
-
-// Control whether depreciated GCD and LCM functions are included (default: yes)
-#ifndef BOOST_CONTROL_RATIONAL_HAS_GCD
-#define BOOST_CONTROL_RATIONAL_HAS_GCD  1
-#endif
-
-namespace boost {
-
-#if BOOST_CONTROL_RATIONAL_HAS_GCD
-template <typename IntType>
-IntType gcd(IntType n, IntType m)
-{
-    // Defer to the version in Boost.Math
-    return integer::gcd( n, m );
-}
-
-template <typename IntType>
-IntType lcm(IntType n, IntType m)
-{
-    // Defer to the version in Boost.Math
-    return integer::lcm( n, m );
-}
-#endif  // BOOST_CONTROL_RATIONAL_HAS_GCD
-
-class bad_rational : public std::domain_error
-{
-public:
-    explicit bad_rational() : std::domain_error("bad rational: zero denominator") {}
-    explicit bad_rational( char const *what ) : std::domain_error( what ) {}
-};
-
-template <typename IntType>
-class rational :
-    less_than_comparable < rational<IntType>,
-    equality_comparable < rational<IntType>,
-    less_than_comparable2 < rational<IntType>, IntType,
-    equality_comparable2 < rational<IntType>, IntType,
-    addable < rational<IntType>,
-    subtractable < rational<IntType>,
-    multipliable < rational<IntType>,
-    dividable < rational<IntType>,
-    addable2 < rational<IntType>, IntType,
-    subtractable2 < rational<IntType>, IntType,
-    subtractable2_left < rational<IntType>, IntType,
-    multipliable2 < rational<IntType>, IntType,
-    dividable2 < rational<IntType>, IntType,
-    dividable2_left < rational<IntType>, IntType,
-    incrementable < rational<IntType>,
-    decrementable < rational<IntType>
-    > > > > > > > > > > > > > > > >
-{
-    // Class-wide pre-conditions
-    BOOST_STATIC_ASSERT( ::std::numeric_limits<IntType>::is_specialized );
-
-    // Helper types
-    typedef typename boost::call_traits<IntType>::param_type param_type;
-
-    struct helper { IntType parts[2]; };
-    typedef IntType (helper::* bool_type)[2];
-
-public:
-    // Component type
-    typedef IntType int_type;
-
-    BOOST_CONSTEXPR
-    rational() : num(0), den(1) {}
-    BOOST_CONSTEXPR
-    rational(param_type n) : num(n), den(1) {}
-    rational(param_type n, param_type d) : num(n), den(d) { normalize(); }
-
-#ifndef BOOST_NO_MEMBER_TEMPLATES
-    template < typename NewType >
-    BOOST_CONSTEXPR explicit
-       rational(rational<NewType> const &r)
-       : num(r.numerator()), den(is_normalized(int_type(r.numerator()),
-       int_type(r.denominator())) ? r.denominator() :
-       (BOOST_THROW_EXCEPTION(bad_rational("bad rational: denormalized conversion")), 0)){}
-#endif
-
-    // Default copy constructor and assignment are fine
-
-    // Add assignment from IntType
-    rational& operator=(param_type i) { num = i; den = 1; return *this; }
-
-    // Assign in place
-    rational& assign(param_type n, param_type d);
-
-    // Access to representation
-    BOOST_CONSTEXPR
-    const IntType& numerator() const { return num; }
-    BOOST_CONSTEXPR
-    const IntType& denominator() const { return den; }
-
-    // Arithmetic assignment operators
-    rational& operator+= (const rational& r);
-    rational& operator-= (const rational& r);
-    rational& operator*= (const rational& r);
-    rational& operator/= (const rational& r);
-
-    rational& operator+= (param_type i) { num += i * den; return *this; }
-    rational& operator-= (param_type i) { num -= i * den; return *this; }
-    rational& operator*= (param_type i);
-    rational& operator/= (param_type i);
-
-    // Increment and decrement
-    const rational& operator++() { num += den; return *this; }
-    const rational& operator--() { num -= den; return *this; }
-
-    // Operator not
-    BOOST_CONSTEXPR
-    bool operator!() const { return !num; }
-
-    // Boolean conversion
-    
-#if BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-    // The "ISO C++ Template Parser" option in CW 8.3 chokes on the
-    // following, hence we selectively disable that option for the
-    // offending memfun.
-#pragma parse_mfunc_templ off
-#endif
-
-    BOOST_CONSTEXPR
-    operator bool_type() const { return operator !() ? 0 : &helper::parts; }
-
-#if BOOST_WORKAROUND(__MWERKS__,<=0x3003)
-#pragma parse_mfunc_templ reset
-#endif
-
-    // Comparison operators
-    bool operator< (const rational& r) const;
-    BOOST_CONSTEXPR
-    bool operator== (const rational& r) const;
-
-    bool operator< (param_type i) const;
-    bool operator> (param_type i) const;
-    BOOST_CONSTEXPR
-    bool operator== (param_type i) const;
-
-private:
-    // Implementation - numerator and denominator (normalized).
-    // Other possibilities - separate whole-part, or sign, fields?
-    IntType num;
-    IntType den;
-
-    // Helper functions
-    static BOOST_CONSTEXPR
-    int_type inner_gcd( param_type a, param_type b, int_type const &zero =
-     int_type(0) )
-    { return b == zero ? a : inner_gcd(b, a % b, zero); }
-
-    static BOOST_CONSTEXPR
-    int_type inner_abs( param_type x, int_type const &zero = int_type(0) )
-    { return x < zero ? -x : +x; }
-
-    // Representation note: Fractions are kept in normalized form at all
-    // times. normalized form is defined as gcd(num,den) == 1 and den > 0.
-    // In particular, note that the implementation of abs() below relies
-    // on den always being positive.
-    bool test_invariant() const;
-    void normalize();
-
-    static BOOST_CONSTEXPR
-    bool is_normalized( param_type n, param_type d, int_type const &zero =
-     int_type(0), int_type const &one = int_type(1) )
-    {
-        return d > zero && ( n != zero || d == one ) && inner_abs( inner_gcd(n,
-         d, zero), zero ) == one;
-    }
-};
-
-// Assign in place
-template <typename IntType>
-inline rational<IntType>& rational<IntType>::assign(param_type n, param_type d)
-{
-    return *this = rational( n, d );
-}
-
-// Unary plus and minus
-template <typename IntType>
-BOOST_CONSTEXPR
-inline rational<IntType> operator+ (const rational<IntType>& r)
-{
-    return r;
-}
-
-template <typename IntType>
-inline rational<IntType> operator- (const rational<IntType>& r)
-{
-    return rational<IntType>(-r.numerator(), r.denominator());
-}
-
-// Arithmetic assignment operators
-template <typename IntType>
-rational<IntType>& rational<IntType>::operator+= (const rational<IntType>& r)
-{
-    // This calculation avoids overflow, and minimises the number of expensive
-    // calculations. Thanks to Nickolay Mladenov for this algorithm.
-    //
-    // Proof:
-    // We have to compute a/b + c/d, where gcd(a,b)=1 and gcd(b,c)=1.
-    // Let g = gcd(b,d), and b = b1*g, d=d1*g. Then gcd(b1,d1)=1
-    //
-    // The result is (a*d1 + c*b1) / (b1*d1*g).
-    // Now we have to normalize this ratio.
-    // Let's assume h | gcd((a*d1 + c*b1), (b1*d1*g)), and h > 1
-    // If h | b1 then gcd(h,d1)=1 and hence h|(a*d1+c*b1) => h|a.
-    // But since gcd(a,b1)=1 we have h=1.
-    // Similarly h|d1 leads to h=1.
-    // So we have that h | gcd((a*d1 + c*b1) , (b1*d1*g)) => h|g
-    // Finally we have gcd((a*d1 + c*b1), (b1*d1*g)) = gcd((a*d1 + c*b1), g)
-    // Which proves that instead of normalizing the result, it is better to
-    // divide num and den by gcd((a*d1 + c*b1), g)
-
-    // Protect against self-modification
-    IntType r_num = r.num;
-    IntType r_den = r.den;
-
-    IntType g = integer::gcd(den, r_den);
-    den /= g;  // = b1 from the calculations above
-    num = num * (r_den / g) + r_num * den;
-    g = integer::gcd(num, g);
-    num /= g;
-    den *= r_den/g;
-
-    return *this;
-}
-
-template <typename IntType>
-rational<IntType>& rational<IntType>::operator-= (const rational<IntType>& r)
-{
-    // Protect against self-modification
-    IntType r_num = r.num;
-    IntType r_den = r.den;
-
-    // This calculation avoids overflow, and minimises the number of expensive
-    // calculations. It corresponds exactly to the += case above
-    IntType g = integer::gcd(den, r_den);
-    den /= g;
-    num = num * (r_den / g) - r_num * den;
-    g = integer::gcd(num, g);
-    num /= g;
-    den *= r_den/g;
-
-    return *this;
-}
-
-template <typename IntType>
-rational<IntType>& rational<IntType>::operator*= (const rational<IntType>& r)
-{
-    // Protect against self-modification
-    IntType r_num = r.num;
-    IntType r_den = r.den;
-
-    // Avoid overflow and preserve normalization
-    IntType gcd1 = integer::gcd(num, r_den);
-    IntType gcd2 = integer::gcd(r_num, den);
-    num = (num/gcd1) * (r_num/gcd2);
-    den = (den/gcd2) * (r_den/gcd1);
-    return *this;
-}
-
-template <typename IntType>
-rational<IntType>& rational<IntType>::operator/= (const rational<IntType>& r)
-{
-    // Protect against self-modification
-    IntType r_num = r.num;
-    IntType r_den = r.den;
-
-    // Avoid repeated construction
-    IntType zero(0);
-
-    // Trap division by zero
-    if (r_num == zero)
-        BOOST_THROW_EXCEPTION(bad_rational());
-    if (num == zero)
-        return *this;
-
-    // Avoid overflow and preserve normalization
-    IntType gcd1 = integer::gcd(num, r_num);
-    IntType gcd2 = integer::gcd(r_den, den);
-    num = (num/gcd1) * (r_den/gcd2);
-    den = (den/gcd2) * (r_num/gcd1);
-
-    if (den < zero) {
-        num = -num;
-        den = -den;
-    }
-    return *this;
-}
-
-// Mixed-mode operators
-template <typename IntType>
-inline rational<IntType>&
-rational<IntType>::operator*= (param_type i)
-{
-    // Avoid overflow and preserve normalization
-    IntType gcd = integer::gcd(i, den);
-    num *= i / gcd;
-    den /= gcd;
-
-    return *this;
-}
-
-template <typename IntType>
-rational<IntType>&
-rational<IntType>::operator/= (param_type i)
-{
-    // Avoid repeated construction
-    IntType const zero(0);
-
-    if(i == zero) BOOST_THROW_EXCEPTION(bad_rational());
-    if (num == zero) return *this;
-
-    // Avoid overflow and preserve normalization
-    IntType const gcd = integer::gcd(num, i);
-    num /= gcd;
-    den *= i / gcd;
-
-    if (den < zero) {
-        num = -num;
-        den = -den;
-    }
-
-    return *this;
-}
-
-// Comparison operators
-template <typename IntType>
-bool rational<IntType>::operator< (const rational<IntType>& r) const
-{
-    // Avoid repeated construction
-    int_type const  zero( 0 );
-
-    // This should really be a class-wide invariant.  The reason for these
-    // checks is that for 2's complement systems, INT_MIN has no corresponding
-    // positive, so negating it during normalization keeps it INT_MIN, which
-    // is bad for later calculations that assume a positive denominator.
-    BOOST_ASSERT( this->den > zero );
-    BOOST_ASSERT( r.den > zero );
-
-    // Determine relative order by expanding each value to its simple continued
-    // fraction representation using the Euclidian GCD algorithm.
-    struct { int_type  n, d, q, r; }
-     ts = { this->num, this->den, static_cast<int_type>(this->num / this->den),
-     static_cast<int_type>(this->num % this->den) },
-     rs = { r.num, r.den, static_cast<int_type>(r.num / r.den),
-     static_cast<int_type>(r.num % r.den) };
-    unsigned  reverse = 0u;
-
-    // Normalize negative moduli by repeatedly adding the (positive) denominator
-    // and decrementing the quotient.  Later cycles should have all positive
-    // values, so this only has to be done for the first cycle.  (The rules of
-    // C++ require a nonnegative quotient & remainder for a nonnegative dividend
-    // & positive divisor.)
-    while ( ts.r < zero )  { ts.r += ts.d; --ts.q; }
-    while ( rs.r < zero )  { rs.r += rs.d; --rs.q; }
-
-    // Loop through and compare each variable's continued-fraction components
-    for ( ;; )
-    {
-        // The quotients of the current cycle are the continued-fraction
-        // components.  Comparing two c.f. is comparing their sequences,
-        // stopping at the first difference.
-        if ( ts.q != rs.q )
-        {
-            // Since reciprocation changes the relative order of two variables,
-            // and c.f. use reciprocals, the less/greater-than test reverses
-            // after each index.  (Start w/ non-reversed @ whole-number place.)
-            return reverse ? ts.q > rs.q : ts.q < rs.q;
-        }
-
-        // Prepare the next cycle
-        reverse ^= 1u;
-
-        if ( (ts.r == zero) || (rs.r == zero) )
-        {
-            // At least one variable's c.f. expansion has ended
-            break;
-        }
-
-        ts.n = ts.d;         ts.d = ts.r;
-        ts.q = ts.n / ts.d;  ts.r = ts.n % ts.d;
-        rs.n = rs.d;         rs.d = rs.r;
-        rs.q = rs.n / rs.d;  rs.r = rs.n % rs.d;
-    }
-
-    // Compare infinity-valued components for otherwise equal sequences
-    if ( ts.r == rs.r )
-    {
-        // Both remainders are zero, so the next (and subsequent) c.f.
-        // components for both sequences are infinity.  Therefore, the sequences
-        // and their corresponding values are equal.
-        return false;
-    }
-    else
-    {
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4800)
-#endif
-        // Exactly one of the remainders is zero, so all following c.f.
-        // components of that variable are infinity, while the other variable
-        // has a finite next c.f. component.  So that other variable has the
-        // lesser value (modulo the reversal flag!).
-        return ( ts.r != zero ) != static_cast<bool>( reverse );
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-    }
-}
-
-template <typename IntType>
-bool rational<IntType>::operator< (param_type i) const
-{
-    // Avoid repeated construction
-    int_type const  zero( 0 );
-
-    // Break value into mixed-fraction form, w/ always-nonnegative remainder
-    BOOST_ASSERT( this->den > zero );
-    int_type  q = this->num / this->den, r = this->num % this->den;
-    while ( r < zero )  { r += this->den; --q; }
-
-    // Compare with just the quotient, since the remainder always bumps the
-    // value up.  [Since q = floor(n/d), and if n/d < i then q < i, if n/d == i
-    // then q == i, if n/d == i + r/d then q == i, and if n/d >= i + 1 then
-    // q >= i + 1 > i; therefore n/d < i iff q < i.]
-    return q < i;
-}
-
-template <typename IntType>
-bool rational<IntType>::operator> (param_type i) const
-{
-    return operator==(i)? false: !operator<(i);
-}
-
-template <typename IntType>
-BOOST_CONSTEXPR
-inline bool rational<IntType>::operator== (const rational<IntType>& r) const
-{
-    return ((num == r.num) && (den == r.den));
-}
-
-template <typename IntType>
-BOOST_CONSTEXPR
-inline bool rational<IntType>::operator== (param_type i) const
-{
-    return ((den == IntType(1)) && (num == i));
-}
-
-// Invariant check
-template <typename IntType>
-inline bool rational<IntType>::test_invariant() const
-{
-    return ( this->den > int_type(0) ) && ( integer::gcd(this->num, this->den) ==
-     int_type(1) );
-}
-
-// Normalisation
-template <typename IntType>
-void rational<IntType>::normalize()
-{
-    // Avoid repeated construction
-    IntType zero(0);
-
-    if (den == zero)
-       BOOST_THROW_EXCEPTION(bad_rational());
-
-    // Handle the case of zero separately, to avoid division by zero
-    if (num == zero) {
-        den = IntType(1);
-        return;
-    }
-
-    IntType g = integer::gcd(num, den);
-
-    num /= g;
-    den /= g;
-
-    // Ensure that the denominator is positive
-    if (den < zero) {
-        num = -num;
-        den = -den;
-    }
-
-    // ...But acknowledge that the previous step doesn't always work.
-    // (Nominally, this should be done before the mutating steps, but this
-    // member function is only called during the constructor, so we never have
-    // to worry about zombie objects.)
-    if (den < zero)
-       BOOST_THROW_EXCEPTION(bad_rational("bad rational: non-zero singular denominator"));
-
-    BOOST_ASSERT( this->test_invariant() );
-}
-
-#ifndef BOOST_NO_IOSTREAM
-namespace detail {
-
-    // A utility class to reset the format flags for an istream at end
-    // of scope, even in case of exceptions
-    struct resetter {
-        resetter(std::istream& is) : is_(is), f_(is.flags()) {}
-        ~resetter() { is_.flags(f_); }
-        std::istream& is_;
-        std::istream::fmtflags f_;      // old GNU c++ lib has no ios_base
-    };
-
-}
-
-// Input and output
-template <typename IntType>
-std::istream& operator>> (std::istream& is, rational<IntType>& r)
-{
-    using std::ios;
-
-    IntType n = IntType(0), d = IntType(1);
-    char c = 0;
-    detail::resetter sentry(is);
-
-    if ( is >> n )
-    {
-        if ( is.get(c) )
-        {
-            if ( c == '/' )
-            {
-                if ( is >> std::noskipws >> d )
-                    try {
-                        r.assign( n, d );
-                    } catch ( bad_rational & ) {        // normalization fail
-                        try { is.setstate(ios::failbit); }
-                        catch ( ... ) {}  // don't throw ios_base::failure...
-                        if ( is.exceptions() & ios::failbit )
-                            throw;   // ...but the original exception instead
-                        // ELSE: suppress the exception, use just error flags
-                    }
-            }
-            else
-                is.setstate( ios::failbit );
-        }
-    }
-
-    return is;
-}
-
-// Add manipulators for output format?
-template <typename IntType>
-std::ostream& operator<< (std::ostream& os, const rational<IntType>& r)
-{
-    using namespace std;
-
-    // The slash directly precedes the denominator, which has no prefixes.
-    ostringstream  ss;
-
-    ss.copyfmt( os );
-    ss.tie( NULL );
-    ss.exceptions( ios::goodbit );
-    ss.width( 0 );
-    ss << noshowpos << noshowbase << '/' << r.denominator();
-
-    // The numerator holds the showpos, internal, and showbase flags.
-    string const   tail = ss.str();
-    streamsize const  w = os.width() - static_cast<streamsize>( tail.size() );
-
-    ss.clear();
-    ss.str( "" );
-    ss.flags( os.flags() );
-    ss << setw( w < 0 || (os.flags() & ios::adjustfield) != ios::internal ? 0 :
-     w ) << r.numerator();
-    return os << ss.str() + tail;
-}
-#endif  // BOOST_NO_IOSTREAM
-
-// Type conversion
-template <typename T, typename IntType>
-BOOST_CONSTEXPR
-inline T rational_cast(const rational<IntType>& src)
-{
-    return static_cast<T>(src.numerator())/static_cast<T>(src.denominator());
-}
-
-// Do not use any abs() defined on IntType - it isn't worth it, given the
-// difficulties involved (Koenig lookup required, there may not *be* an abs()
-// defined, etc etc).
-template <typename IntType>
-inline rational<IntType> abs(const rational<IntType>& r)
-{
-    return r.numerator() >= IntType(0)? r: -r;
-}
-
-namespace integer {
-
-template <typename IntType>
-struct gcd_evaluator< rational<IntType> >
-{
-    typedef rational<IntType> result_type,
-                              first_argument_type, second_argument_type;
-    result_type operator() (  first_argument_type const &a
-                           , second_argument_type const &b
-                           ) const
-    {
-        return result_type(integer::gcd(a.numerator(), b.numerator()),
-                           integer::lcm(a.denominator(), b.denominator()));
-    }
-};
-
-template <typename IntType>
-struct lcm_evaluator< rational<IntType> >
-{
-    typedef rational<IntType> result_type,
-                              first_argument_type, second_argument_type;
-    result_type operator() (  first_argument_type const &a
-                           , second_argument_type const &b
-                           ) const
-    {
-        return result_type(integer::lcm(a.numerator(), b.numerator()),
-                           integer::gcd(a.denominator(), b.denominator()));
-    }
-};
-
-} // namespace integer
-
-} // namespace boost
-
-#endif  // BOOST_RATIONAL_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/ref.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/ref.hpp
deleted file mode 100644
index 17b56ec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/ref.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_REF_HPP
-#define BOOST_REF_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/ref.hpp instead.
-
-#include <boost/core/ref.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/regex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/regex.hpp
deleted file mode 100644
index 6dc3dfb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/regex_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/regex_fwd.hpp
deleted file mode 100644
index 2ee4a24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/scope_exit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/scope_exit.hpp
deleted file mode 100644
index b834e55..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/scope_exit.hpp
+++ /dev/null
@@ -1,1415 +0,0 @@
-
-// Copyright (C) 2006-2009, 2012 Alexander Nasonov
-// Copyright (C) 2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/scope_exit
-
-#ifndef FILE_boost_scope_exit_hpp_INCLUDED
-#define FILE_boost_scope_exit_hpp_INCLUDED
-
-#ifndef DOXYGEN
-
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/function.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/control/expr_iif.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/logical/bitor.hpp>
-#include <boost/preprocessor/logical/bitand.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/punctuation/paren_if.hpp>
-#include <boost/preprocessor/seq/cat.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/seq/to_tuple.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/preprocessor/tuple/to_list.hpp>
-#include <boost/preprocessor/list/append.hpp>
-#include <boost/preprocessor/list/fold_left.hpp>
-#include <boost/preprocessor/list/enum.hpp>
-#include <boost/preprocessor/list/adt.hpp>
-#include <boost/preprocessor/list/for_each_i.hpp>
-#include <boost/preprocessor/detail/is_unary.hpp>
-
-// PRIVATE/PROTECTED //
-
-// NOTE: AUX prefix and aux namespace mark "private" symbols that shall be used
-// only within this library; DETAIL prefix and detail namespace mark "protected"
-// symbols that can be used by other Boost libraries but not outside Boost.
-
-// WARNING: BOOST_SCOPE_EXIT_AUX_GCC also used by some regression test.
-#if defined(__GNUC__) && !defined(BOOST_INTEL)
-#   define BOOST_SCOPE_EXIT_AUX_GCC (__GNUC__ * 100 + __GNUC_MINOR__)
-#else
-#   define BOOST_SCOPE_EXIT_AUX_GCC 0
-#endif
-
-#if BOOST_WORKAROUND(BOOST_SCOPE_EXIT_AUX_GCC, BOOST_TESTED_AT(413))
-#   define BOOST_SCOPE_EXIT_AUX_TPL_GCC_WORKAROUND_01 1
-#else
-#   define BOOST_SCOPE_EXIT_AUX_TPL_GCC_WORKAROUND_01 0
-#endif
-
-#if BOOST_MSVC
-#   define BOOST_SCOPE_EXIT_AUX_TYPEOF_THIS_MSVC_WORKAROUND_01 1
-#else
-#   define BOOST_SCOPE_EXIT_AUX_TYPEOF_THIS_MSVC_WORKAROUND_01 0
-#endif
-
-// MSVC has problems expanding __LINE__ so use (the non standard) __COUNTER__.
-#ifdef BOOST_MSVC
-#   define BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER __COUNTER__
-#else
-#   define BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER __LINE__
-#endif
-
-// Preprocessor "keyword" detection.
-
-// These are not a local macros, do not #undefine them (these are used by the
-// ..._BACK macros below).
-#define this_BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_THISUNDERSCORE_IS (1) /* unary */
-#define void_BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_VOID_IS (1) /* unary */
-
-#define BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_BACK_(token, checking_postfix) \
-    BOOST_PP_IS_UNARY(BOOST_PP_CAT(token, checking_postfix))
-
-#define BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_THISUNDERSCORE_BACK(token) \
-    BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_BACK_(token, \
-            BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_THISUNDERSCORE_IS)
-
-#define BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_VOID_BACK(token) \
-    BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_BACK_(token, \
-            _BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_VOID_IS)
-
-// Preprocessor "void-list".
-
-// NOTE: Empty list must always be represented as void (which is also a way to
-// specify no function parameter) and it can never be empty because (1)
-// IS_EMPTY(&var) fails (because of the leading non alphanumeric symbol) and
-// (2) some compilers (MSVC) fail to correctly pass empty macro parameters
-// even if they support variadic macros. Therefore, always using void to
-// represent is more portable.
-
-// Argument: (token1)...
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_FROM_SEQ_(unused, seq) \
-    BOOST_PP_TUPLE_TO_LIST(BOOST_PP_SEQ_SIZE(seq), BOOST_PP_SEQ_TO_TUPLE(seq))
-
-// Token: void | token1
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_HANDLE_VOID_( \
-        is_void_macro, token) \
-    BOOST_PP_IIF(is_void_macro(token), \
-        BOOST_PP_NIL \
-    , \
-        (token, BOOST_PP_NIL) \
-    )
-
-// Token: (a)(b)... | empty | void | token
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_HANDLE_SEQ_( \
-        is_void_macro, token) \
-    BOOST_PP_IIF(BOOST_PP_IS_UNARY(token), /* unary paren (a)... */ \
-        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_FROM_SEQ_ \
-    , \
-        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_HANDLE_VOID_ \
-    )(is_void_macro, token)
-
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_NEVER_(tokens) \
-    0 /* void check always returns false */
-
-#ifdef BOOST_NO_CXX11_VARIADIC_MACROS
-
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_(is_void_macro, seq) \
-    BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_HANDLE_SEQ_(is_void_macro, seq)
-
-// Expand `void | (a)(b)...` to pp-list `NIL | (a, (b, NIL))`.
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST(sign) \
-    BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_( \
-            BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_VOID_BACK, sign)
-
-// Expand `(a)(b)...` to pp-list `(a, (b, NIL))`.
-#define BOOST_SCOPE_EXIT_AUX_PP_NON_VOID_LIST(seq) \
-    BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_( \
-            BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_NEVER_, seq)
-
-#else // VARIADICS
-
-// FUTURE: Replace this with BOOST_PP_VARIADIC_SIZE when and if
-// BOOST_PP_VARIAIDCS detection will match !BOOST_NO_CXX11_VARIADIC_MACROS (for
-// now Boost.Preprocessor and Boost.Config disagree on detecting compiler
-// variadic support while this VARIADIC_SIZE works on compilers not detected by
-// PP).
-#if BOOST_MSVC
-#   define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_(...) \
-        BOOST_PP_CAT(BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_I_(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
-#else // MSVC
-#   define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_(...) \
-        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_I_(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
-#endif // MSVC
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_I_(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
-
-// Argument: token1, ...
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_FROM_VARIADIC_(unused, ...) \
-    BOOST_PP_TUPLE_TO_LIST( \
-            BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_( \
-                    __VA_ARGS__), (__VA_ARGS__))
-
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_(is_void_macro, ...) \
-    BOOST_PP_IIF(BOOST_PP_EQUAL( \
-            BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_VARIADIC_SIZE_( \
-                    __VA_ARGS__), 1), \
-        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_HANDLE_SEQ_ \
-    , \
-        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_FROM_VARIADIC_ \
-    )(is_void_macro, __VA_ARGS__)
-
-// Expand `void | (a)(b)... | a, b, ...` to pp-list `NIL | (a, (b, NIL))`.
-#define BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST(...) \
-    BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_( \
-            BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_VOID_BACK, __VA_ARGS__)
-
-// Expand `(a)(b)... | a, b, ...` to pp-list `(a, (b, NIL))`.
-#define BOOST_SCOPE_EXIT_AUX_PP_NON_VOID_LIST(...) \
-    BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_( \
-            BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST_NEVER_, __VA_ARGS__)
-
-#endif // VARIADICS
-
-// Steven Watanabe's trick with a modification suggested by Kim Barrett
-namespace boost { namespace scope_exit { namespace detail {
-
-// Type of a local BOOST_SCOPE_EXIT_AUX_ARGS variable.
-// First use in a local scope will declare the BOOST_SCOPE_EXIT_AUX_ARGS
-// variable, subsequent uses will be resolved as two comparisons
-// (cmp1 with 0 and cmp2 with BOOST_SCOPE_EXIT_AUX_ARGS).
-template<int Dummy = 0>
-struct declared
-{
-    void* value;
-    static int const cmp2 = 0;
-    friend void operator>(int, declared const&) {}
-};
-
-struct undeclared { declared<> dummy[2]; };
-
-template<int> struct resolve;
-
-template<>
-struct resolve<sizeof(declared<>)>
-{
-    static const int cmp1 = 0;
-};
-
-template<>
-struct resolve<sizeof(undeclared)>
-{
-    template<int>
-    struct cmp1
-    {
-        static int const cmp2 = 0;
-    };
-};
-
-typedef void (*ref_tag)(int&);
-typedef void (*val_tag)(int );
-
-template<class T, class Tag> struct member;
-
-template<class T>
-struct member<T,ref_tag>
-{
-    T& value;
-#if !BOOST_SCOPE_EXIT_AUX_TPL_GCC_WORKAROUND_01
-    member(T& ref) : value(ref) {}
-#endif
-};
-
-template<class T>
-struct member<T,val_tag>
-{
-    T value;
-#if !BOOST_SCOPE_EXIT_AUX_TPL_GCC_WORKAROUND_01
-    member(T& val) : value(val) {}
-#endif
-};
-
-template<class T> inline T& deref(T* p, ref_tag) { return *p; }
-template<class T> inline T& deref(T& r, val_tag) { return  r; }
-
-template<class T>
-struct wrapper
-{
-    typedef T type;
-};
-
-template<class T> wrapper<T> wrap(T&);
-
-} } } // namespace
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::scope_exit::detail::wrapper, 1)
-
-#define BOOST_SCOPE_EXIT_AUX_ARGS boost_scope_exit_aux_args
-extern boost::scope_exit::detail::undeclared BOOST_SCOPE_EXIT_AUX_ARGS;
-
-#define BOOST_SCOPE_EXIT_AUX_GUARD(id)   \
-    BOOST_PP_CAT(boost_se_guard_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_GUARD_T(id) \
-    BOOST_PP_CAT(boost_se_guard_t_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_PARAMS(id)  \
-    BOOST_PP_CAT(boost_se_params_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_THIS_T(id)  \
-    BOOST_PP_CAT(boost_se_this_t_,  id)
-
-#define BOOST_SCOPE_EXIT_AUX_THIS_CAPTURE_T(id) \
-    BOOST_PP_CAT(boost_se_this_capture_t_,  id)
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id) \
-    BOOST_PP_CAT(boost_se_params_t_, id)
-
-#define BOOST_SCOPE_EXIT_DETAIL_TAG(id, i) \
-    BOOST_PP_SEQ_CAT( (boost_se_tag_)(i)(_)(id) )
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAM_THIS(id) \
-    BOOST_PP_SEQ_CAT( (boost_se_param_this_)(id) )
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAM(id, i, var) \
-    BOOST_PP_SEQ_CAT( (boost_se_param_)(i)(_)(id) )
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAM_T(id, i, var) \
-    BOOST_PP_SEQ_CAT( (boost_se_param_t_)(i)(_)(id) )
-
-#define BOOST_SCOPE_EXIT_DETAIL_CAPTURE_T(id, i, var) \
-    BOOST_PP_SEQ_CAT( (boost_se_capture_t_)(i)(_)(id) )
-
-#define BOOST_SCOPE_EXIT_AUX_WRAPPED(id, i) \
-    BOOST_PP_SEQ_CAT( (boost_se_wrapped_t_)(i)(_)(id) )
-
-#define BOOST_SCOPE_EXIT_AUX_DEREF(id, i, var) \
-    ::boost::scope_exit::detail::deref(var, \
-            static_cast<BOOST_SCOPE_EXIT_DETAIL_TAG(id, i)>(0))
-
-#define BOOST_SCOPE_EXIT_AUX_MEMBER(r, id, i, var) \
-    ::boost::scope_exit::detail::member< \
-        BOOST_SCOPE_EXIT_DETAIL_PARAM_T(id, i, var), \
-        BOOST_SCOPE_EXIT_DETAIL_TAG(id, i) \
-    > BOOST_SCOPE_EXIT_DETAIL_PARAM(id, i, var);
-
-#define BOOST_SCOPE_EXIT_AUX_ARG_DECL(r, id_ty, i, var) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_TUPLE_ELEM(2, 1, id_ty) \
-    BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty)):: \
-            BOOST_SCOPE_EXIT_DETAIL_PARAM_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                    i, var) \
-    var
- 
-#define BOOST_SCOPE_EXIT_AUX_ARG(r, id, i, var) \
-    BOOST_PP_COMMA_IF(i) \
-    boost_se_params_->BOOST_SCOPE_EXIT_DETAIL_PARAM(id, i, var).value
-
-#define BOOST_SCOPE_EXIT_DETAIL_TAG_DECL(r, id, i, var) \
-    typedef void (*BOOST_SCOPE_EXIT_DETAIL_TAG(id, i))(int var);
-
-// Adam Butcher's workaround to deduce `this` type on MSVC revision < 10.
-// Boost.Typeof for VC71's typeid-based workaround does not work to determine
-// `this` type due to error C2355 being incorrectly reported. The typical
-// avoidance strategy implemented below is to make an indirect compile-time
-// constant by assigning an enum and use that as type-index-- this only works
-// with the sizeof() approach and not with the typeid() approach. Lorenzo
-// Caminiti extended this approach to work in type-of emulation mode. This code
-// is very similar (and somewhat of a duplication) of the code in
-// boost/typeof/msvc/typeof_impl.hpp). However, this code cannot be integrated
-// into Boost.Typeof because its final API has to be a `typedef ...` and it
-// cannot be a `typeof(...)`.
-#if BOOST_SCOPE_EXIT_AUX_TYPEOF_THIS_MSVC_WORKAROUND_01
-
-#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 defined(BOOST_MSVC)
-#   include <typeinfo>
-#endif
-
-namespace boost { namespace scope_exit { namespace aux {
-        namespace msvc_typeof_this {
-
-// compile-time constant code
-#if defined(BOOST_MSVC) && 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;
-                    }
-                }
-            }
-        }
-    }
-};
-
-#else // compile-time constant code
-    
-template<int N> struct encode_counter : encode_counter<N - 1> {};
-
-template<> struct encode_counter<0> {};
-
-#endif // compile-time constant code
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // type-of code
-
-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 bug-feature.
-        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 // type-of 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 bug-features.
-        typedef T type;
-    };
-};
-
-#endif // typeof code
-
-template<int Id>
-struct msvc_typeid_wrapper {
-    typedef typename msvc_extract_type<boost::mpl::int_<Id>
-            >::id2type id2type;
-    typedef typename id2type::type type;
-};
-
-template<>
-struct msvc_typeid_wrapper<4> {
-    typedef msvc_typeid_wrapper<4> type;
-};
-
-template<typename T>
-struct encode_type {
-    BOOST_STATIC_CONSTANT(unsigned, value = encode_counter<T>::count);
-    typedef typename msvc_register_type<T,
-            boost::mpl::int_<value> >::id2type type;
-    BOOST_STATIC_CONSTANT(unsigned, next = value + 1);
-};
-
-template<class T>
-struct sizer {
-    typedef char(*type)[encode_type<T>::value];
-};
-
-template<typename T>
-typename boost::disable_if<
-      typename boost::is_function<T>::type
-    , typename sizer<T>::type
->::type encode_start(T const&);
-
-template<typename T>
-typename boost::enable_if<
-      typename boost::is_function<T>::type
-    , typename sizer<T>::type
->::type encode_start(T&);
-
-template<typename Organizer, typename T>
-msvc_register_type<T, Organizer> typeof_register_type(const T&,
-        Organizer* = 0);
-
-} } } } // namespace
-
-#define BOOST_SCOPE_EXIT_AUX_TYPEDEF_TYPEOF_THIS_INDEX_(id) \
-    BOOST_PP_CAT(boost_se_thistype_index_, id)
-
-#define BOOST_SCOPE_EXIT_DETAIL_TYPEDEF_TYPEOF_THIS(id, ty, new_type) \
-    /* unfortunately, we need to go via this enum which causes this to be */ \
-    /* a typedef construct and not a typeof (so this code cannot be */ \
-    /* integrated into Boost.Typeof) */ \
-    enum { \
-        BOOST_SCOPE_EXIT_AUX_TYPEDEF_TYPEOF_THIS_INDEX_(id) = sizeof( \
-            *::boost::scope_exit::aux::msvc_typeof_this::encode_start(this)) \
-    }; \
-    typedef \
-        ty ::boost::scope_exit::aux::msvc_typeof_this::msvc_typeid_wrapper< \
-            BOOST_SCOPE_EXIT_AUX_TYPEDEF_TYPEOF_THIS_INDEX_(id) \
-        >::type \
-        new_type \
-    ;
-
-#else // TYPEOF_THIS_MSVC_WORKAROUND
-
-#define BOOST_SCOPE_EXIT_DETAIL_TYPEDEF_TYPEOF_THIS(id, ty, new_type) \
-    typedef /* trailing `EMPTY()` handles empty `ty` */ \
-        BOOST_PP_IIF(BOOST_PP_IS_EMPTY(ty BOOST_PP_EMPTY()), \
-            BOOST_TYPEOF \
-        , \
-            BOOST_TYPEOF_TPL \
-        )(this) \
-        new_type \
-    ;
-
-#endif // TYPEOF_THIS_MSVC_WORKAROUND
-
-#if BOOST_SCOPE_EXIT_AUX_TPL_GCC_WORKAROUND_01
-
-#define BOOST_SCOPE_EXIT_AUX_PARAMS_T_CTOR(id, ty, captures, has_this) \
-    /* expand to nothing */
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAM_INIT(r, id, i, var) \
-    BOOST_PP_COMMA_IF(i) { BOOST_SCOPE_EXIT_AUX_DEREF(id, i, var) }
-
-#define BOOST_SCOPE_EXIT_AUX_PARAMS_INIT(id, captures, has_this) \
-    BOOST_PP_EXPR_IIF(BOOST_PP_BITOR(has_this, \
-            BOOST_PP_LIST_IS_CONS(captures)), \
-        = { \
-    ) \
-    BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_DETAIL_PARAM_INIT, id, captures) \
-    BOOST_PP_COMMA_IF(BOOST_PP_BITAND(BOOST_PP_LIST_IS_CONS(captures), \
-            has_this)) \
-    BOOST_PP_EXPR_IIF(has_this, this) /* no extra {...} needed here */ \
-    BOOST_PP_EXPR_IIF(BOOST_PP_BITOR(has_this, \
-            BOOST_PP_LIST_IS_CONS(captures)), \
-        } /* trailing `;` will be added by the caller */ \
-    )
-
-#else // TPL_GCC_WORKAROUND
-
-#define BOOST_SCOPE_EXIT_AUX_CTOR_ARG(r, id, i, var) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_SCOPE_EXIT_DETAIL_PARAM_T(id, i, var) & BOOST_PP_CAT(a, i)
-
-#define BOOST_SCOPE_EXIT_AUX_MEMBER_INIT(r, id, i, var) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_SCOPE_EXIT_DETAIL_PARAM(id, i, var) ( BOOST_PP_CAT(a, i) )
-
-#define BOOST_SCOPE_EXIT_AUX_CTOR_ARG_THIS_NAME(id) \
-    BOOST_PP_CAT(boost_se_this_arg_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_CTOR_ARG_THIS(id, ty, comma01) \
-    BOOST_PP_COMMA_IF(comma01) \
-    ty BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)::BOOST_SCOPE_EXIT_AUX_THIS_T(id) \
-            BOOST_SCOPE_EXIT_AUX_CTOR_ARG_THIS_NAME(id) /* ptr so no & */
-
-#define BOOST_SCOPE_EXIT_AUX_MEMBER_THIS_INIT(id, comma01) \
-    BOOST_PP_COMMA_IF(comma01) \
-    BOOST_SCOPE_EXIT_DETAIL_PARAM_THIS(id)( \
-            BOOST_SCOPE_EXIT_AUX_CTOR_ARG_THIS_NAME(id))
-
-#define BOOST_SCOPE_EXIT_AUX_PARAMS_T_CTOR(id, ty, captures, has_this) \
-    BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)( \
-        BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_CTOR_ARG, id, captures) \
-        BOOST_PP_IIF(has_this, \
-            BOOST_SCOPE_EXIT_AUX_CTOR_ARG_THIS \
-        , \
-            BOOST_PP_TUPLE_EAT(3) \
-        )(id, ty, BOOST_PP_LIST_IS_CONS(captures)) \
-    ) \
-        BOOST_PP_EXPR_IIF(BOOST_PP_BITOR(BOOST_PP_LIST_IS_CONS(captures), \
-                has_this), \
-            : \
-        ) \
-        BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_MEMBER_INIT, id, \
-                captures) \
-        BOOST_PP_IIF(has_this, \
-            BOOST_SCOPE_EXIT_AUX_MEMBER_THIS_INIT \
-        , \
-            BOOST_PP_TUPLE_EAT(2) \
-        )(id, BOOST_PP_LIST_IS_CONS(captures)) \
-    {}
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAM_INIT(r, id, i, var) \
-    BOOST_PP_COMMA_IF(i) BOOST_SCOPE_EXIT_AUX_DEREF(id,i,var)
-
-#define BOOST_SCOPE_EXIT_AUX_PARAMS_INIT(id, captures, has_this) \
-    BOOST_PP_LPAREN_IF(BOOST_PP_BITOR(has_this, \
-            BOOST_PP_LIST_IS_CONS(captures))) \
-    BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_DETAIL_PARAM_INIT, id, captures) \
-    BOOST_PP_COMMA_IF(BOOST_PP_BITAND(BOOST_PP_LIST_IS_CONS(captures), \
-            has_this)) \
-    BOOST_PP_EXPR_IIF(has_this, this) \
-    BOOST_PP_RPAREN_IF(BOOST_PP_BITOR(has_this, \
-            BOOST_PP_LIST_IS_CONS(captures)))
-
-#endif // TPL_GCC_WORKAROUND
-
-#if defined(BOOST_TYPEOF_EMULATION)
-
-#define BOOST_SCOPE_EXIT_DETAIL_CAPTURE_DECL(r, id_ty, i, var) \
-    struct BOOST_SCOPE_EXIT_AUX_WRAPPED(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), i) \
-        /* no need to use TYPEOF_TPL here because it's within inheritance */ \
-        : BOOST_TYPEOF(::boost::scope_exit::detail::wrap( \
-                BOOST_SCOPE_EXIT_AUX_DEREF(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                        i, var))) \
-    {}; \
-    typedef BOOST_PP_TUPLE_ELEM(2, 1, id_ty) \
-        BOOST_SCOPE_EXIT_AUX_WRAPPED(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), i)::type\
-        BOOST_SCOPE_EXIT_DETAIL_CAPTURE_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                i, var) \
-    ;
-
-#elif defined(BOOST_INTEL)
-
-#define BOOST_SCOPE_EXIT_DETAIL_CAPTURE_DECL(r, id_ty, i, var) \
-    typedef \
-        /* no TYPEOF_TPL here because uses TYPEOF_KEYWORD directly */ \
-        BOOST_TYPEOF_KEYWORD(BOOST_SCOPE_EXIT_AUX_DEREF( \
-                BOOST_PP_TUPLE_ELEM(2, 0, id_ty), i, var)) \
-        BOOST_SCOPE_EXIT_DETAIL_CAPTURE_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                i, var) \
-    ;
-
-#else
-
-#define BOOST_SCOPE_EXIT_DETAIL_CAPTURE_DECL(r, id_ty, i, var) \
-    typedef \
-        /* no need to use TYPEOF_TPL here because it's a typedef */ \
-        BOOST_TYPEOF(::boost::scope_exit::detail::wrap( \
-                BOOST_SCOPE_EXIT_AUX_DEREF(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                        i, var))) \
-        BOOST_SCOPE_EXIT_AUX_WRAPPED(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), i) \
-    ; \
-    typedef BOOST_PP_TUPLE_ELEM(2, 1, id_ty) \
-        BOOST_SCOPE_EXIT_AUX_WRAPPED(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), i)::type\
-        BOOST_SCOPE_EXIT_DETAIL_CAPTURE_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                i, var) \
-    ;
-
-#endif
-
-#define BOOST_SCOPE_EXIT_DETAIL_PARAM_DECL(r, id_ty, i, var) \
-    typedef \
-        BOOST_SCOPE_EXIT_DETAIL_CAPTURE_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                i, var) \
-        BOOST_SCOPE_EXIT_DETAIL_PARAM_T(BOOST_PP_TUPLE_ELEM(2, 0, id_ty), \
-                i, var) \
-    ;
-
-// Traits.
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_OP_CAPTURE(d, captures, this01, capture) \
-    (BOOST_PP_LIST_APPEND(captures, (capture, BOOST_PP_NIL)), this01)
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_OP_THIS(d, captures, this01, this_) \
-    (captures, 1 /* has this (note, no error if multiple this_) */)
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_OP(d, captures_this, capture) \
-    BOOST_PP_IIF(BOOST_SCOPE_EXIT_AUX_PP_KEYWORD_IS_THISUNDERSCORE_BACK(\
-            capture), \
-        BOOST_SCOPE_EXIT_AUX_TRAITS_OP_THIS \
-    , \
-        BOOST_SCOPE_EXIT_AUX_TRAITS_OP_CAPTURE \
-    )(d, BOOST_PP_TUPLE_ELEM(2, 0, captures_this), \
-            BOOST_PP_TUPLE_ELEM(2, 1, captures_this), capture)
-
-// ref_val: & | =
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_ALL_OP(ref_val, traits) \
-    ( \
-        BOOST_PP_LIST_APPEND((ref_val, BOOST_PP_NIL), \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-    , \
-        BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits) \
-    )
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS(captures) \
-    BOOST_PP_LIST_FOLD_LEFT(BOOST_SCOPE_EXIT_AUX_TRAITS_OP, \
-            (BOOST_PP_NIL, 0), captures)
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_ALL(captures) \
-    BOOST_SCOPE_EXIT_AUX_TRAITS_ALL_OP(BOOST_PP_LIST_FIRST(captures), \
-            BOOST_SCOPE_EXIT_AUX_TRAITS(BOOST_PP_LIST_REST(captures)))
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits) \
-    BOOST_PP_TUPLE_ELEM(2, 0, traits)
-
-#define BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits) \
-    BOOST_PP_TUPLE_ELEM(2, 1, traits)
-
-#ifndef BOOST_NO_CXX11_LAMBDAS
-
-namespace boost { namespace scope_exit { namespace aux {
-
-template<typename This = void>
-struct guard { // With object `this_` (for backward compatibility).
-    explicit guard(This _this) : this_(_this) {}
-    ~guard() { if(f_) f_(this_); }
-    template<typename Lambda>
-    void operator=(Lambda f) { f_ = f; }
-private:
-    This this_;
-    boost::function<void (This)> f_;
-};
-
-template<>
-struct guard<void> { // Without object `this_` (could capture `this` directly).
-    ~guard() { if(f_) f_(); }
-    template<typename Lambda>
-    void operator=(Lambda f) { f_ = f; }
-private:
-    boost::function<void (void)> f_;
-};
-
-} } } // namespace
-    
-#define BOOST_SCOPE_EXIT_AUX_LAMBDA_PARAMS(id) \
-    BOOST_PP_CAT(boost_se_lambda_params_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_CAPTURE_TYPE(id) \
-    BOOST_PP_CAT(boost_se_lambda_this_t_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_PARAM_TYPE(id) \
-    BOOST_PP_CAT(boost_se_lambda_this_capture_t_, id)
-
-#define BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_TYPE(id, ty) \
-    ty BOOST_SCOPE_EXIT_AUX_LAMBDA_PARAMS(id):: \
-            BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_PARAM_TYPE(id)
-
-// Precondition: HAS_THIS(traits).
-#define BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_TYPEDEFS(id, ty, traits) \
-    BOOST_SCOPE_EXIT_DETAIL_TYPEDEF_TYPEOF_THIS(id, ty, \
-            BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_CAPTURE_TYPE(id)) \
-    /* capture type for workaround GCC internal error (even on later C++11) */ \
-    struct BOOST_SCOPE_EXIT_AUX_LAMBDA_PARAMS(id) { \
-        typedef BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_CAPTURE_TYPE(id) \
-                BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_PARAM_TYPE(id); \
-    };
-
-#define BOOST_SCOPE_EXIT_AUX_IMPL_LAMBDA(id, ty, traits) \
-    BOOST_PP_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-        /* no need for TYPEDEF THIS MSVC workaround on C++11 */ \
-        BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_TYPEDEFS \
-    , \
-        BOOST_PP_TUPLE_EAT(3) \
-    )(id, ty, traits) \
-    ::boost::scope_exit::aux::guard< \
-        BOOST_PP_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-            BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_TYPE \
-        , \
-            BOOST_PP_TUPLE_EAT(2) \
-        )(id, ty) \
-    > BOOST_SCOPE_EXIT_AUX_GUARD(id) \
-        BOOST_PP_EXPR_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-            (this) \
-        ) \
-    ; \
-    BOOST_SCOPE_EXIT_AUX_GUARD(id) = [ \
-        BOOST_PP_LIST_ENUM(BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-    ]( \
-        BOOST_PP_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-            BOOST_SCOPE_EXIT_AUX_LAMBDA_THIS_TYPE \
-        , \
-            BOOST_PP_TUPLE_EAT(2) \
-        )(id, ty) \
-        BOOST_PP_EXPR_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), this_) \
-    ) mutable /* can change value captures (as with SCOPE_EXIT) */ -> void
-
-#endif // Lambdas.
-
-#if defined(BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS) && \
-        !defined(BOOST_NO_CXX11_LAMBDAS) // Use lambda for SCOPE_EXIT (not just _ALL).
-
-#define BOOST_SCOPE_EXIT_AUX_IMPL(id, ty, traits) \
-    BOOST_SCOPE_EXIT_AUX_IMPL_LAMBDA(id, ty, traits)
-
-#else // Not using lambdas.
-
-// ty: EMPTY() | typename
-#define BOOST_SCOPE_EXIT_AUX_IMPL(id, ty, traits) \
-    BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_DETAIL_TAG_DECL, id, \
-            BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-    BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_DETAIL_CAPTURE_DECL, (id, ty), \
-            BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-    BOOST_PP_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-        BOOST_SCOPE_EXIT_DETAIL_TYPEDEF_TYPEOF_THIS \
-    , \
-        BOOST_PP_TUPLE_EAT(3) \
-    )(id, ty, BOOST_SCOPE_EXIT_AUX_THIS_CAPTURE_T(id)) \
-    struct BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id) { \
-        /* interim capture types to workaround internal errors on old GCC */ \
-        BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_DETAIL_PARAM_DECL, (id, ty), \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-        BOOST_PP_EXPR_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-            typedef BOOST_SCOPE_EXIT_AUX_THIS_CAPTURE_T(id) \
-                    BOOST_SCOPE_EXIT_AUX_THIS_T(id) ; \
-        ) \
-        BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_MEMBER, id, \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-        BOOST_PP_EXPR_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-            BOOST_SCOPE_EXIT_AUX_THIS_T(id) \
-                    BOOST_SCOPE_EXIT_DETAIL_PARAM_THIS(id) ; \
-        ) \
-        BOOST_SCOPE_EXIT_AUX_PARAMS_T_CTOR(id, ty, \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits), \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits)) \
-    } BOOST_SCOPE_EXIT_AUX_PARAMS(id) \
-        BOOST_SCOPE_EXIT_AUX_PARAMS_INIT(id, \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits), \
-                BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits)) \
-    ; \
-    ::boost::scope_exit::detail::declared< \
-        ::boost::scope_exit::detail::resolve< \
-            sizeof(BOOST_SCOPE_EXIT_AUX_ARGS) \
-        >::cmp1<0>::cmp2 \
-    > BOOST_SCOPE_EXIT_AUX_ARGS; \
-    BOOST_SCOPE_EXIT_AUX_ARGS.value = &BOOST_SCOPE_EXIT_AUX_PARAMS(id); \
-    struct BOOST_SCOPE_EXIT_AUX_GUARD_T(id) { \
-        BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)* boost_se_params_; \
-        BOOST_SCOPE_EXIT_AUX_GUARD_T(id) (void* boost_se_params) \
-            : boost_se_params_( \
-                    (BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)*)boost_se_params) \
-        {} \
-        ~BOOST_SCOPE_EXIT_AUX_GUARD_T(id)() { \
-            boost_se_body( \
-                BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_ARG, id, \
-                        BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-                BOOST_PP_COMMA_IF(BOOST_PP_BITAND(BOOST_PP_LIST_IS_CONS( \
-                        BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)), \
-                        BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits))) \
-                BOOST_PP_EXPR_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS( \
-                        traits), \
-                    boost_se_params_->BOOST_SCOPE_EXIT_DETAIL_PARAM_THIS(id) \
-                ) \
-            ); \
-        } \
-        static void boost_se_body( \
-            BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_ARG_DECL, (id, ty), \
-                    BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)) \
-            BOOST_PP_COMMA_IF(BOOST_PP_BITAND(BOOST_PP_LIST_IS_CONS( \
-                    BOOST_SCOPE_EXIT_AUX_TRAITS_CAPTURES(traits)), \
-                    BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits))) \
-            BOOST_PP_EXPR_IIF(BOOST_SCOPE_EXIT_AUX_TRAITS_HAS_THIS(traits), \
-                ty BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id):: \
-                        BOOST_SCOPE_EXIT_AUX_THIS_T(id) this_ \
-            ) \
-        )
-
-#endif // Using lambdas.
-
-// PUBLIC //
-
-#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) // No variadic macros (sequences only).
-#   define BOOST_SCOPE_EXIT_ID(id, void_or_seq) \
-        BOOST_SCOPE_EXIT_AUX_IMPL(id, BOOST_PP_EMPTY(), \
-                BOOST_SCOPE_EXIT_AUX_TRAITS( \
-                        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST(void_or_seq)))
-#   define BOOST_SCOPE_EXIT_ID_TPL(id, void_or_seq) \
-        BOOST_SCOPE_EXIT_AUX_IMPL(id, typename, \
-                BOOST_SCOPE_EXIT_AUX_TRAITS( \
-                        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST(void_or_seq)))
-#   define BOOST_SCOPE_EXIT(void_or_seq) \
-        BOOST_SCOPE_EXIT_ID(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, \
-                void_or_seq)
-#   define BOOST_SCOPE_EXIT_TPL(void_or_seq) \
-        BOOST_SCOPE_EXIT_ID_TPL(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, \
-                void_or_seq)
-#   if !defined(BOOST_NO_CXX11_LAMBDAS)
-#       define BOOST_SCOPE_EXIT_ALL_ID(id, seq) \
-            BOOST_SCOPE_EXIT_AUX_IMPL_LAMBDA(id, \
-                    /* C++11 allows to use typename outside templates so */ \
-                    /* always typename here and no need for ..._ALL_TPL */ \
-                    /* (if a C++11 compiler does not implement this use of */ \
-                    /* typename, always use `this` instead of `this_`) */ \
-                    typename, \
-                    BOOST_SCOPE_EXIT_AUX_TRAITS_ALL( \
-                            BOOST_SCOPE_EXIT_AUX_PP_NON_VOID_LIST(seq)))
-#       define BOOST_SCOPE_EXIT_ALL(seq) \
-            BOOST_SCOPE_EXIT_ALL_ID( \
-                    BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, seq)
-#   endif
-#else // Variadic macros (both sequences and variadic tuples).
-#   define BOOST_SCOPE_EXIT_ID(id, ...) \
-        BOOST_SCOPE_EXIT_AUX_IMPL(id, BOOST_PP_EMPTY(), \
-                BOOST_SCOPE_EXIT_AUX_TRAITS( \
-                        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST(__VA_ARGS__)))
-#   define BOOST_SCOPE_EXIT_ID_TPL(id, ...) \
-        BOOST_SCOPE_EXIT_AUX_IMPL(id, typename, \
-                BOOST_SCOPE_EXIT_AUX_TRAITS( \
-                        BOOST_SCOPE_EXIT_AUX_PP_VOID_LIST(__VA_ARGS__)))
-#   define BOOST_SCOPE_EXIT(...) \
-        BOOST_SCOPE_EXIT_ID(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, \
-                __VA_ARGS__)
-#   define BOOST_SCOPE_EXIT_TPL(...) \
-        BOOST_SCOPE_EXIT_ID_TPL(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, \
-                __VA_ARGS__)
-#   if !defined(BOOST_NO_CXX11_LAMBDAS)
-#       define BOOST_SCOPE_EXIT_ALL_ID(id, ...) \
-            BOOST_SCOPE_EXIT_AUX_IMPL_LAMBDA(id, \
-                    /* C++11 allows to use typename outside templates so */ \
-                    /* always typename here and no need for ..._ALL_TPL */ \
-                    /* (if a C++11 compiler does not implement this use of */ \
-                    /* typename, always use `this` instead of `this_`) */ \
-                    typename, \
-                    BOOST_SCOPE_EXIT_AUX_TRAITS_ALL( \
-                            BOOST_SCOPE_EXIT_AUX_PP_NON_VOID_LIST( \
-                                    __VA_ARGS__)))
-#       define BOOST_SCOPE_EXIT_ALL(...) \
-            BOOST_SCOPE_EXIT_ALL_ID( \
-                    BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER, __VA_ARGS__)
-#   endif
-#endif // Variadics.
-
-#if defined(BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS) && \
-        !defined(BOOST_NO_CXX11_LAMBDAS) // Use lambdas for SCOPE_EXIT (not just ALL).
-#   define BOOST_SCOPE_EXIT_END_ID(id) \
-        ; /* lambdas ended with just `;` */
-#else // Not using lambdas.
-#   define BOOST_SCOPE_EXIT_END_ID(id) \
-        } BOOST_SCOPE_EXIT_AUX_GUARD(id)(BOOST_SCOPE_EXIT_AUX_ARGS.value);
-#endif // Using lambdas.
-#define BOOST_SCOPE_EXIT_END \
-    BOOST_SCOPE_EXIT_END_ID(BOOST_SCOPE_EXIT_AUX_PP_LINE_COUNTER)
-
-// DOCUMENTATION //
-
-#else // DOXYGEN
-
-/** @file
- at brief Scope exits allow to execute arbitrary code when the enclosing scope
-exits.
-*/
-
-/**
- at brief This macro declares a scope exit.
-
-The scope exit declaration schedules the execution of the scope exit body at
-the exit of the enclosing scope:
-
- at code
-    { // Some local scope.
-        ...
-        BOOST_SCOPE_EXIT(capture_list) {
-            ... // Body code.
-        } BOOST_SCOPE_EXIT_END
-        ...
-    }
- at endcode
-
-The enclosing scope must be local.
-If multiple scope exits are declared within the same enclosing scope, the scope
-exit bodies are executed in the reversed order of their declarations.
-Note how the end of the scope exit body must be marked by
- at RefMacro{BOOST_SCOPE_EXIT_END}.
-
- at Params
- at Param{capture_list,
-On compilers that support variadic macros (see also Boost.Config
-<c>BOOST_NO_CXX11_VARIADIC_MACROS</c>)\, the capture list syntax is defined by the
-following grammar:
- at code
-    capture_list:
-            void | capture_tuple | capture_sequence
-    capture_tuple:
-            capture\, capture\, ...
-    capture_sequence:
-            (capture) (capture) ...
-    capture:
-            [&]variable | this_
- at endcode
-On compilers that do not support variadic macros\, <c>capture_tuple</c> cannot
-be used:
- at code
-    capture_list:
-            void | capture_sequence
- at endcode
-Furthermore\, if @RefMacro{BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS} is defined on
-C++11 compilers that support lambda functions (i.e.\, Boost.Config's <c>BOOST_NO_CXX11_LAMBDAS</c> is not defined) then a semicolon <c>;</c> can be used instead of
- at RefMacro{BOOST_SCOPE_EXIT_END} and <c>this</c> can be used instead of
-<c>this_</c>:
- at code
-    capture:
-            [&]variable | this_ | this
- at endcode
-
-(Lexical conventions: <c>token1 | token2</c> means either <c>token1</c> or
-<c>token2</c>; <c>[token]</c> means either <c>token</c> or nothing;
-<c>{expression}</c> means the tokens resulting from the expression.)
-}
- at EndParams
-
-Note that on compilers that support variadic macros (most of moder compliers
-and all C++11 compilers), the capture list can be specified as a
-comma-separated list of tokens (this is the preferred syntax).
-However, on all compilers the same macro @RefMacro{BOOST_SCOPE_EXIT} also
-allows to specify the capture list as a Boost.Preprocessor sequence of tokens
-(for supporting compilers without variadic macros and for backward compatibility with older versions of this library).
-
-The name <c>variable</c> of each captured variable must be a valid name in the
-enclosing scope and it must appear exactly once in the capture list.
-If a capture starts with the ampersand sign <c>&</c>, the corresponding
-variable will be available by reference within the scope exit body; otherwise,
-a copy of the variable will be made at the point of the scope exit declaration
-and that copy will be available inside the scope exit body (in this case, the
-variable's type must be <c>CopyConstructible</c>).
-
-From within a member function, the object <c>this</c> can be captured using the
-special name <c>this_</c> in both the capture list and the scope exit body
-(using <c>this</c> instead of <c>this_</c> in the scope exit body leads to
-undefined behaviour).
-
-It is possible to capture no variable by specifying the capture list as
-<c>void</c> (regardless of variadic macro support).
-
-Only variables listed in the capture list, static variables, <c>extern</c>
-variables, global variables, functions, and enumerations from the enclosing
-scope can be used inside the scope exit body.
-
-On various GCC versions the special macro @RefMacro{BOOST_SCOPE_EXIT_TPL} must
-be used instead of @RefMacro{BOOST_SCOPE_EXIT} within templates (to maximize
-portability, it is recommended to always use @RefMacro{BOOST_SCOPE_EXIT_TPL}
-within templates).
-
-On C++11, it is possible capture all variables in scope without listing their
-names one-by-one using the macro @RefMacro{BOOST_SCOPE_EXIT_ALL}.
-
-In general, the special macro @RefMacro{BOOST_SCOPE_EXIT_ID} must be used
-instead of @RefMacro{BOOST_SCOPE_EXIT} when it is necessary to expand multiple
-scope exit declarations on the same line.
-
- at Warning The implementation executes the scope exit body within a destructor
-thus the scope exit body must never throw in order to comply with STL exception
-safety requirements.
-
- at Note The implementation uses Boost.Typeof to automatically deduce the types of
-the captured variables.
-In order to compile code in type-of emulation mode, all types must be properly
-registered with Boost.Typeof (see the
- at RefSect{getting_started, Getting Started} section).
-
- at See @RefSect{tutorial, Tutorial} section,
- at RefSect{getting_started, Getting Started} section,
- at RefSect{no_variadic_macros, No Variadic Macros} section,
- at RefMacro{BOOST_SCOPE_EXIT_TPL}, @RefMacro{BOOST_SCOPE_EXIT_ALL},
- at RefMacro{BOOST_SCOPE_EXIT_END}, @RefMacro{BOOST_SCOPE_EXIT_ID}.
-*/
-#define BOOST_SCOPE_EXIT(capture_list)
-
-/**
- at brief This macro is a workaround for various versions of GCC to declare scope
-exits within templates.
-
-Various versions of the GCC compiler do not compile @RefMacro{BOOST_SCOPE_EXIT}
-inside function templates.
-As a workaround, @RefMacro{BOOST_SCOPE_EXIT_TPL} should be used instead of
- at RefMacro{BOOST_SCOPE_EXIT} in these cases:
-
- at code
-    { // Some local scope.
-        ...
-        BOOST_SCOPE_EXIT_TPL(capture_list) {
-            ... // Body code.
-        } BOOST_SCOPE_EXIT_END
-        ...
-    }
- at endcode
-
-The syntax of @RefMacro{BOOST_SCOPE_EXIT_TPL} is the exact same as the one of
- at RefMacro{BOOST_SCOPE_EXIT} (see @RefMacro{BOOST_SCOPE_EXIT} for more
-information).
-
-On C++11 compilers, @RefMacro{BOOST_SCOPE_EXIT_TPL} is not needed because
- at RefMacro{BOOST_SCOPE_EXIT} always compiles on GCC versions that support C++11.
-However, @RefMacro{BOOST_SCOPE_EXIT_TPL} is still provided on C++11 so to write code that is portable between C++03 and C++11 compilers.
-It is recommended to always use @RefMacro{BOOST_SCOPE_EXIT_TPL} within
-templates so to maximize portability.
-
-In general, the special macro @RefMacro{BOOST_SCOPE_EXIT_ID_TPL} must be used
-instead of @RefMacro{BOOST_SCOPE_EXIT_TPL} when it is necessary to expand
-multiple scope exit declarations on the same line within templates.
-
- at Note The issue in compiling scope exit declarations that some GCC versions
-have is illustrated by the following code (see also
-<a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37920">GCC bug 37920</a>):
- at code
-    template<class T>
-    void f(T const& x) {
-        int i = 0;
-        struct local {
-            typedef __typeof__(i) typeof_i;
-            typedef __typeof__(x) typeof_x;
-        };
-        typedef local::typeof_i i_type;
-        typedef local::typeof_x x_type;
-    }
-
-    int main(void) { f(0); }
- at endcode
-This can be fixed by adding <c>typename</c> in front of <c>local::typeof_i</c>
-and <c>local::typeof_x</c> (which is the approach followed by the
-implementation of the @RefMacro{BOOST_SCOPE_EXIT_TPL} macro).
-
- at Note Although @RefMacro{BOOST_SCOPE_EXIT_TPL} has the same suffix as
-<c>BOOST_TYPEOF_TPL</c>, it does not follow the Boost.Typeof convention.
-
- at See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_SCOPE_EXIT},
- at RefMacro{BOOST_SCOPE_EXIT_END}, @RefMacro{BOOST_SCOPE_EXIT_ID_TPL}.
-*/
-#define BOOST_SCOPE_EXIT_TPL(capture_list)
-
-/**
- at brief This macro allows to expand multiple scope exit declarations on the same
-line.
-
-This macro is equivalent to @RefMacro{BOOST_SCOPE_EXIT} but it can be expanded
-multiple times on the same line if different identifiers <c>id</c> are provided
-for each expansion (see @RefMacro{BOOST_SCOPE_EXIT} for more information).
-
- at Params
- at Param{id,
-A unique identifier token which can be concatenated by the preprocessor
-(<c>__LINE__</c>\, <c>scope_exit_number_1_on_line_123</c>\, a combination of
-alphanumeric tokens\, etc).
-}
- at Param{capture_list,
-Same as the <c>capture_list</c> parameter of the @RefMacro{BOOST_SCOPE_EXIT}
-macro.
-}
- at EndParams
-
- at Note This macro can be useful when the scope exit macros are expanded
-within user-defined macros (because nested macros expand on the same line).
-On some compilers (e.g., MSVC which supports the non standard
-<c>__COUNTER__</c> macro) it might not be necessary to use this macro but
-the use of this macro is always necessary to ensure portability when expanding
-multiple scope exit declarations on the same line.
-
- at See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_SCOPE_EXIT},
- at RefMacro{BOOST_SCOPE_EXIT_END_ID}, @RefMacro{BOOST_SCOPE_EXIT_ALL_ID},
- at RefMacro{BOOST_SCOPE_EXIT_ID_TPL}.
-*/
-#define BOOST_SCOPE_EXIT_ID(id, capture_list)
-
-/**
- at brief This macro is required to expand multiple scope exit declarations on the
-same line within templates on various versions of GCC.
-
-This macro is equivalent to @RefMacro{BOOST_SCOPE_EXIT_TPL} but it can be
-expanded multiple times on the same line if different identifiers <c>id</c> are
-provided for each expansion (see @RefMacro{BOOST_SCOPE_EXIT_TPL} for more
-information).
-As with @RefMacro{BOOST_SCOPE_EXIT_TPL}, it is recommended to always use this
-macro when expanding scope exits multiple times on the same line within
-templates.
-
- at Params
- at Param{id,
-A unique identifier token which can be concatenated by the preprocessor
-(<c>__LINE__</c>\, <c>scope_exit_number_1_on_line_123</c>\, a combination of
-alphanumeric tokens\, etc).
-}
- at Param{capture_list,
-Same as the <c>capture_list</c> parameter of the
- at RefMacro{BOOST_SCOPE_EXIT_TPL} macro.
-}
- at EndParams
-
- at Note This macro can be useful when the scope exit macros are expanded
-within user-defined macros (because nested macros expand on the same line).
-On some compilers (e.g., MSVC which supports the non standard
-<c>__COUNTER__</c> macro) it might not be necessary to use this macro but
-the use of this macro is always necessary to ensure portability when expanding
-multiple scope exit declarations on the same line.
-
- at See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_SCOPE_EXIT_TPL},
- at RefMacro{BOOST_SCOPE_EXIT_END_ID}, @RefMacro{BOOST_SCOPE_EXIT_ID},
- at RefMacro{BOOST_SCOPE_EXIT_ALL_ID}.
-*/
-#define BOOST_SCOPE_EXIT_ID_TPL(id, capture_list)
-
-/**
- at brief This macro declares a scope exit that captures all variables in scope
-(C++11 only).
-
-This macro accepts a capture list starting with either <c>&</c> or <c>=</c> to capture all variables in scope by reference or value respectively (following the same syntax of C++11 lambdas).
-A part from that, this macro works like @RefMacro{BOOST_SCOPE_EXIT} (see @RefMacro{BOOST_SCOPE_EXIT} for more information):
-
- at code
-    { // Some local scope.
-        ...
-        BOOST_SCOPE_EXIT_ALL(capture_list) { // C++11 only.
-            ... // Body code.
-        }; // Use `;` instead of `BOOST_SCOPE_EXIT_END` (C++11 only).
-        ...
-    }
- at endcode
-
-Note how the end of the scope exit body declared by this macro must be marked
-by a semi-column <c>;</c> (and not by @RefMacro{BOOST_SCOPE_EXIT_END}).
-
- at Warning This macro is only available on C++11 compilers (specifically, on
-C++11 compilers that do not define the Boost.Config <c>BOOST_NO_CXX11_LAMBDAS</c>
-macro).
-It is not defined on non-C++11 compilers so its use on non-C++11 compilers will generate a compiler error.
-
- at Params
- at Param{capture_list,
-On compilers that support variadic macros (see also Boost.Config
-<c>BOOST_NO_CXX11_VARIADIC_MACROS</c>)\, the capture list syntax is defined by the
-following grammar:
- at code
-capture_list:
-        capture_tuple | capture_sequence
-capture_tuple:
-        {& | =} [\, capture\, capture\, ...]
-capture_sequence:
-        {(&) | (=)} [(capture) (capture) ...]
-capture:
-        [&]variable | this_
- at endcode
-On compilers that do not support variadic macros\, <c>capture_tuple</c> cannot
-be used:
- at code
-    capture_list:
-            void | capture_sequence
- at endcode
-Furthermore\, on C++11 compilers that support the use of <c>typename</c>
-outside templates\, also <c>this</c> can be used to capture the object at member
-function scope:
- at code
-    capture:
-            [&]variable | this_ | this
- at endcode
-
-(Lexical conventions: <c>token1 | token2</c> means either <c>token1</c> or
-<c>token2</c>; <c>[token]</c> means either <c>token</c> or nothing;
-<c>{expression}</c> means the token resulting from the expression.)
-}
- at EndParams
-
-Note that on compilers with variadic macro support (which should be all C++11
-compilers), the capture list can be specified as a comma-separated list.
-On all compilers, the same macro @RefMacro{BOOST_SCOPE_EXIT_ALL} also allows to
-specify the capture list as a Boost.Preprocessor sequence.
-
-The capture list must always contain at least the leading <c>&</c> or <c>=</c>
-so it can never be <c>void</c> (<c>BOOST_SCOPE_EXIT(void)</c> should be used
-to program scope exits with an empty capture list).
-
-In general, the special macro @RefMacro{BOOST_SCOPE_EXIT_ALL_ID} must be used
-instead of @RefMacro{BOOST_SCOPE_EXIT_ALL} when it is necessary to expand
-multiple scope exit declarations on the same line.
-
- at Warning This macro capture list follows the exact same syntax of C++11 lambda
-captures which is unfortunately different from the syntax of
- at RefMacro{BOOST_SCOPE_EXIT} captures (unless programmers define the
- at RefMacro{BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS} macro).
-For example, like C++11 lambda functions, @RefMacro{BOOST_SCOPE_EXIT_ALL}
-requires to capture data members by capturing the object <c>this</c> while
- at RefMacro{BOOST_SCOPE_EXIT} allows to capture data members directly and without
-capturing the object.
-
- at Warning The implementation executes the scope exit body within a destructor
-thus the scope exit body must never throw in order to comply with STL exception
-safety requirements.
-
- at Note This macro can always be used also within templates (so there is no need
-for a <c>BOOST_SCOPE_EXIT_ALL_TPL</c> macro).
-
- at See @RefSect{tutorial, Tutorial} section,
- at RefSect{no_variadic_macros, No Variadic Macros} section,
- at RefMacro{BOOST_SCOPE_EXIT}, @RefMacro{BOOST_SCOPE_EXIT_ALL_ID}.
-*/
-#define BOOST_SCOPE_EXIT_ALL(capture_list)
-
-/**
- at brief This macro allows to expand on the same line multiple scope exits that
-capture all variables in scope (C++11 only).
-
-This macro is equivalent to @RefMacro{BOOST_SCOPE_EXIT_ALL} but it can be
-expanded multiple times on the same line if different identifiers <c>id</c> are
-provided for each expansion (see @RefMacro{BOOST_SCOPE_EXIT_ALL} for more
-information).
-As with @RefMacro{BOOST_SCOPE_EXIT_ALL}, this macro is only available on C++11
-compilers (specifically, on C++11 compilers that do not define the
-Boost.Config <c>BOOST_NO_CXX11_LAMBDAS</c> macro).
-
- at Params
- at Param{id,
-A unique identifier token which can be concatenated by the preprocessor
-(<c>__LINE__</c>\, <c>scope_exit_number_1_on_line_123</c>\, a combination of
-alphanumeric tokens\, etc).
-}
- at Param{capture_list,
-Same as the <c>capture_list</c> parameter of the
- at RefMacro{BOOST_SCOPE_EXIT_ALL} macro.
-}
- at EndParams
-
- at Note This macro can be useful when the scope exit macros are expanded
-within user-defined macros (because nested macros expand on the same line).
-On some compilers (e.g., MSVC which supports the non standard
-<c>__COUNTER__</c> macro) it might not be necessary to use this macro but
-the use of this macro is always necessary to ensure portability when expanding
-multiple scope exit declarations on the same line.
-
- at See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_SCOPE_EXIT_ALL},
- at RefMacro{BOOST_SCOPE_EXIT_ID}.
-*/
-#define BOOST_SCOPE_EXIT_ALL_ID(id, capture_list)
-
-/**
- at brief This macro marks the end of a scope exit body.
-
-This macro must follow the closing curly bracket <c>}</c> that ends the body of
-either @RefMacro{BOOST_SCOPE_EXIT} or @RefMacro{BOOST_SCOPE_EXIT_TPL}:
-
- at code
-    { // Some local scope.
-        ...
-        BOOST_SCOPE_EXIT(capture_list) {
-            ... // Body code.
-        } BOOST_SCOPE_EXIT_END
-        ...
-    }
- at endcode
-
-In general, the special macro @RefMacro{BOOST_SCOPE_EXIT_END_ID} must be used
-instead of @RefMacro{BOOST_SCOPE_EXIT_END} when it is necessary to expand
-multiple scope exit bodies on the same line.
-
- at Note If programmers define the @RefMacro{BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS}
-macro on C++11 compilers, a semicolon <c>;</c> can be used instead of this
-macro.
-However, to maximize portability, it is recommended to always use
- at RefMacro{BOOST_SCOPE_EXIT_END}.
-
- at See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_SCOPE_EXIT},
- at RefMacro{BOOST_SCOPE_EXIT_TPL}, @RefMacro{BOOST_SCOPE_EXIT_END_ID}.
-*/
-#define BOOST_SCOPE_EXIT_END
-
-/**
- at brief This macro allows to terminate multiple scope exit bodies on the same
-line.
-
-This macro is equivalent to @RefMacro{BOOST_SCOPE_EXIT_END} but it can be
-expanded multiple times on the same line if different identifiers <c>id</c> are
-provided for each expansion (see @RefMacro{BOOST_SCOPE_EXIT_END} for more
-information).
-
- at Params
- at Param{id,
-A unique identifier token which can be concatenated by the preprocessor
-(<c>__LINE__</c>\, <c>scope_exit_number_1_on_line_123</c>\, a combination of
-alphanumeric tokens\, etc).
-}
- at EndParams
-
- at Note This macro can be useful when the scope exit macros are expanded
-within user-defined macros (because macros all expand on the same line).
-On some compilers (e.g., MSVC which supports the non standard
-<c>__COUNTER__</c> macro) it might not be necessary to use this macro but
-the use of this macro is always necessary to ensure portability when expanding
-multiple scope exit macros on the same line (because this library can only
-portably use <c>__LINE__</c> to internally generate unique identifiers).
-
- at See @RefMacro{BOOST_SCOPE_EXIT_ID}, @RefMacro{BOOST_SCOPE_EXIT_ID_TPL},
- at RefMacro{BOOST_SCOPE_EXIT_END}.
-*/
-#define BOOST_SCOPE_EXIT_END_ID(id)
-
-/**
- at brief Force to use C++11 lambda functions to implement scope exits.
-
-If programmers define this configuration macro on a C++11 compiler for which
-the Boost.Config macro <c>BOOST_NO_CXX11_LAMBDAS</c> is not defined, the
- at RefMacro{BOOST_SCOPE_EXIT} and @RefMacro{BOOST_SCOPE_EXIT_TPL} macros will use
-C++11 lambda functions to declare scope exits.
-By default this macro is not defined.
-
- at Warning When scope exits are implemented using lambda functions, the syntax of
-the capture list follows the exact same syntax of C++11 lambda captures
-which is in general different from the legacy capture syntax of this library.
-For example, C++11 lambdas require to capture data members by capturing the
-object <c>this</c> while this library always allowed to capture data members
-directly.
-Therefore, when this configuration macro is defined,
- at RefMacro{BOOST_SCOPE_EXIT} and @RefMacro{BOOST_SCOPE_EXIT_TPL} are no longer
-backward compatible (and this is why this macro is not defined by default).
-
-A semicolon <c>;</c> can be used instead of @RefMacro{BOOST_SCOPE_EXIT_END}
-when this configuration macro is defined (but it is recommended to always use
- at RefMacro{BOOST_SCOPE_EXIT_END} so to maximize portability).
-
- at Note This configuration macro does not control the definition of
- at RefMacro{BOOST_SCOPE_EXIT_ALL} which is always and automatically defined on
-compilers that support C++11 lambda functions.
-
- at See @RefMacro{BOOST_SCOPE_EXIT}, @RefMacro{BOOST_SCOPE_EXIT_TPL},
- at RefMacro{BOOST_SCOPE_EXIT_END}.
-*/
-#define BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS
-
-#endif // DOXYGEN
-
-#endif // #ifndef FILE_boost_scope_exit_hpp_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/scoped_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/scoped_array.hpp
deleted file mode 100644
index c02fa31..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/scoped_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/scoped_ptr.hpp
deleted file mode 100644
index cb916da..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/serialization/access.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/access.hpp
deleted file mode 100644
index f6581ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/access.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef BOOST_SERIALIZATION_ACCESS_HPP
-#define BOOST_SERIALIZATION_ACCESS_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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>
-
-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 unsigned int file_version
-    );
-    template<class Archive, class T>
-    friend inline void save_construct_data(
-        Archive & ar, 
-        const T * t, 
-        const unsigned int file_version
-    );
-    template<class Archive, class T>
-    friend inline void load_construct_data(
-        Archive & ar, 
-        T * t, 
-        const 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/rbgl_trimmed_boost_1_61_0/boost/serialization/archive_input_unordered_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/archive_input_unordered_map.hpp
deleted file mode 100644
index ef0fd93..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/archive_input_unordered_map.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_ARCHIVE_INPUT_UNORDERED_MAP_HPP
-#define BOOST_SERIALIZATION_ARCHIVE_INPUT_UNORDERED_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/unordered_map.hpp:
-// serialization for stl unordered_map templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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/utility.hpp>
-
-namespace boost { 
-namespace serialization {
-namespace stl {
-
-// map input
-template<class Archive, class Container>
-struct archive_input_unordered_map
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef typename Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        std::pair<typename Container::const_iterator, bool> result = 
-            #ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-                s.insert(t.reference());
-            #else
-                s.emplace(t.reference());
-            #endif
-        // 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_unordered_multimap
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef typename Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        typename Container::const_iterator result =
-            #ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-                s.insert(t.reference());
-            #else
-                s.emplace(t.reference());
-            #endif
-        // 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
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_ARCHIVE_INPUT_UNORDERED_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/archive_input_unordered_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/archive_input_unordered_set.hpp
deleted file mode 100644
index 961b58f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/archive_input_unordered_set.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_ARCHIVE_INPUT_UNORDERED_SET_HPP
-#define BOOST_SERIALIZATION_ARCHIVE_INPUT_UNORDERED_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
-// archive_input_unordered_set.hpp
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_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 {
-
-namespace stl {
-
-// unordered_set input
-template<class Archive, class Container>
-struct archive_input_unordered_set
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef 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<typename Container::const_iterator, bool> result = 
-            #ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET
-                s.insert(t.reference());
-            #else
-                s.emplace(t.reference());
-            #endif
-        if(result.second)
-            ar.reset_object_address(& (* result.first), & t.reference());
-    }
-};
-
-// unordered_multiset input
-template<class Archive, class Container>
-struct archive_input_unordered_multiset
-{
-    inline void operator()(
-        Archive &ar, 
-        Container &s, 
-        const unsigned int v
-    ){
-        typedef typename Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, v);
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        typename Container::const_iterator result =
-            #ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET
-                s.insert(t.reference());
-            #else
-                s.emplace(t.reference());
-            #endif
-        ar.reset_object_address(& (* result), & t.reference());
-    }
-};
-
-} // stl
-} // serialization
-} // boost
-
-#endif // BOOST_SERIALIZATION_ARCHIVE_INPUT_UNORDERED_SET_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/array.hpp
deleted file mode 100644
index 2cd023a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/array.hpp
+++ /dev/null
@@ -1,172 +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 <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/serialization/collection_size_type.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool_fwd.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost { namespace serialization {
-
-// traits to specify whether to use  an optimized array serialization
-
-template <class Archive>
-struct use_array_optimization : boost::mpl::always<boost::mpl::false_> {};
-
-template<class T>
-class array_wrapper :
-    public wrapper_traits<const array_wrapper< T > >
-{
-private:
-    array_wrapper & operator=(const array_wrapper & rhs);
-public:
-    // note: I would like to make the copy constructor private but this breaks
-    // make_array.  So I try to make make_array a friend - but that doesn't
-    // build.  Need a C++ guru to explain this!
-    template<class S>
-    friend const boost::serialization::array_wrapper<T> make_array( T* t, S s);
-
-    array_wrapper(const array_wrapper & rhs) :
-        m_t(rhs.m_t),
-        m_element_count(rhs.m_element_count)
-    {}
-public:
-    array_wrapper(T * t, std::size_t s) :
-        m_t(t),
-        m_element_count(s)
-    {}
-
-    // 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();
-      T * 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 typename 
-          boost::serialization::use_array_optimization<Archive>::template apply<
-                    typename remove_const< T >::type 
-                >::type use_optimized;
-      serialize_optimized(ar,version,use_optimized());
-    }
-    
-    T * address() const
-    {
-      return m_t;
-    }
-
-    std::size_t count() const
-    {
-      return m_element_count;
-    }
-
-private:
-    T * const m_t;
-    const std::size_t m_element_count;
-};
-
-template<class T, class S>
-inline
-const array_wrapper< T > make_array( T* t, S s){
-    const array_wrapper< T > a(t, s);
-    return a;
-}
-
-} } // end namespace boost::serialization
-
-// I can't figure out why BOOST_NO_CXX11_HDR_ARRAY
-// has been set for clang-11.  So just make sure
-// it's reset now.  Needs further research!!!
-
-#if defined(_LIBCPP_VERSION)
-#undef BOOST_NO_CXX11_HDR_ARRAY
-#endif
-
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
-#include <array>
-namespace boost { namespace serialization {
-// implement serialization for std::array
-template <class Archive, class T, std::size_t N>
-void serialize(Archive& ar, std::array<T,N>& a, const unsigned int /* version */)
-{
-    ar & boost::serialization::make_nvp(
-        "elems",
-        *static_cast<T (*)[N]>(static_cast<void *>(a.data()))
-    );
-    
-}
-} } // end namespace boost::serialization
-#endif
-
-#include <boost/array.hpp>
-
-namespace boost { namespace serialization {
-// implement serialization for boost::array
-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
-
-#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   \
-      , typename boost::remove_const<ValueType>::type   \
-    >::type {};                                                       \
-}; }}
-
-#endif //BOOST_SERIALIZATION_ARRAY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/assume_abstract.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/assume_abstract.hpp
deleted file mode 100644
index 632f931..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/assume_abstract.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef BOOST_SERIALIZATION_ASSUME_ABSTRACT_HPP
-#define BOOST_SERIALIZATION_ASSUME_ABSTRACT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// assume_abstract_class.hpp:
-
-// (C) Copyright 2008 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.
-
-// this is useful for compilers which don't support the boost::is_abstract
-
-#include <boost/type_traits/is_abstract.hpp>
-#include <boost/mpl/bool_fwd.hpp>
-
-#ifndef BOOST_NO_IS_ABSTRACT
-
-// if there is an intrinsic is_abstract defined, we don't have to do anything
-#define BOOST_SERIALIZATION_ASSUME_ABSTRACT(T)
-
-// but forward to the "official" is_abstract
-namespace boost {
-namespace serialization {
-    template<class T>
-    struct is_abstract : boost::is_abstract< T > {} ;
-} // namespace serialization
-} // namespace boost
-
-#else
-// we have to "make" one
-
-namespace boost {
-namespace serialization {
-    template<class T>
-    struct is_abstract : boost::false_type {};
-} // namespace serialization
-} // namespace boost
-
-// define a macro to make explicit designation of this more transparent
-#define BOOST_SERIALIZATION_ASSUME_ABSTRACT(T)        \
-namespace boost {                                     \
-namespace serialization {                             \
-template<>                                            \
-struct is_abstract< T > : boost::true_type {};        \
-template<>                                            \
-struct is_abstract< const T > : boost::true_type {};  \
-}}                                                    \
-/**/
-
-#endif // BOOST_NO_IS_ABSTRACT
-
-#endif //BOOST_SERIALIZATION_ASSUME_ABSTRACT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/base_object.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/base_object.hpp
deleted file mode 100644
index 1a82cec..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/base_object.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef BOOST_SERIALIZATION_BASE_OBJECT_HPP
-#define BOOST_SERIALIZATION_BASE_OBJECT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/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 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 typename mpl::eval_if<
-                is_polymorphic<Base>,
-                mpl::identity<polymorphic>,
-                mpl::identity<non_polymorphic>
-            >::type type;
-            return type::invoke();
-        }
-    };
-
-} // namespace detail
-template<class Base, class Derived>
-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 typename detail::base_cast<Base, Derived>::type type;
-    detail::base_register<type, Derived>::invoke();
-    return access::cast_reference<type, Derived>(d);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_BASE_OBJECT_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/binary_object.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/binary_object.hpp
deleted file mode 100644
index 23c734b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/binary_object.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_SERIALIZATION_BINARY_OBJECT_HPP
-#define BOOST_SERIALIZATION_BINARY_OBJECT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 
-const 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/rbgl_trimmed_boost_1_61_0/boost/serialization/bitset.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/bitset.hpp
deleted file mode 100644
index 78f9bd7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/serialization/boost_unordered_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/boost_unordered_map.hpp
deleted file mode 100644
index 8913b31..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/boost_unordered_map.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_UNORDERED_MAP_HPP
-#define BOOST_SERIALIZATION_UNORDERED_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/unordered_map.hpp:
-// serialization for stl unordered_map templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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/unordered_map.hpp>
-
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/unordered_collections_save_imp.hpp>
-#include <boost/serialization/unordered_collections_load_imp.hpp>
-#include <boost/serialization/archive_input_unordered_map.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const boost::unordered_map<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        boost::unordered_map<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    boost::unordered_map<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        boost::unordered_map<Key, HashFcn, EqualKey, Allocator>,
-        boost::serialization::stl::archive_input_unordered_map<
-            Archive, 
-            boost::unordered_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::unordered_map<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// unordered_multimap
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const boost::unordered_multimap<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        boost::unordered_multimap<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    boost::unordered_multimap<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        boost::unordered_multimap<Key, HashFcn, EqualKey, Allocator>,
-        boost::serialization::stl::archive_input_unordered_multimap<
-            Archive, 
-            boost::unordered_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::unordered_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_SERIALIZATION_UNORDERED_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/boost_unordered_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/boost_unordered_set.hpp
deleted file mode 100644
index 307c781..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/boost_unordered_set.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_BOOST_UNORDERED_SET_HPP
-#define BOOST_SERIALIZATION_BOOST_UNORDERED_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
-// unordered_set.hpp: serialization for boost unordered_set templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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/unordered_set.hpp>
-
-#include <boost/serialization/unordered_collections_save_imp.hpp>
-#include <boost/serialization/unordered_collections_load_imp.hpp>
-#include <boost/serialization/archive_input_unordered_set.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const boost::unordered_set<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        boost::unordered_set<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    boost::unordered_set<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        boost::unordered_set<Key, HashFcn, EqualKey, Allocator>,
-        boost::serialization::stl::archive_input_unordered_set<
-            Archive, 
-            boost::unordered_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::unordered_set<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// unordered_multiset
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const boost::unordered_multiset<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        boost::unordered_multiset<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    boost::unordered_multiset<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        boost::unordered_multiset<Key, HashFcn, EqualKey, Allocator>,
-        boost::serialization::stl::archive_input_unordered_multiset<
-            Archive,
-            boost::unordered_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::unordered_multiset<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_BOOST_UNORDERED_SET_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collection_size_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collection_size_type.hpp
deleted file mode 100644
index 2dd8fa7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/serialization/collection_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collection_traits.hpp
deleted file mode 100644
index 3ec9401..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/serialization/collections_load_imp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collections_load_imp.hpp
deleted file mode 100644
index 93d64d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collections_load_imp.hpp
+++ /dev/null
@@ -1,105 +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)
-# 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>
-#include <boost/serialization/detail/is_default_constructible.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost{
-namespace serialization {
-namespace stl {
-
-//////////////////////////////////////////////////////////////////////
-// implementation of serialization for STL containers
-//
-
-template<
-    class Archive,
-    class T
->
-typename boost::enable_if<
-    typename detail::is_default_constructible<
-        typename T::value_type
-    >,
-    void
->::type
-collection_load_impl(
-    Archive & ar,
-    T & t,
-    collection_size_type count,
-    item_version_type
-){
-    t.resize(count);
-    typename T::iterator hint;
-    hint = t.begin();
-    while(count-- > 0){
-        ar >> boost::serialization::make_nvp("item", *hint++);
-    }
-}
-
-template<
-    class Archive,
-    class T
->
-typename boost::disable_if<
-    typename detail::is_default_constructible<
-        typename T::value_type
-    >,
-    void
->::type
-collection_load_impl(
-    Archive & ar,
-    T & t,
-    collection_size_type count,
-    item_version_type item_version
-){
-    t.clear();
-    while(count-- > 0){
-        detail::stack_construct<Archive, typename T::value_type> u(ar, item_version);
-        ar >> boost::serialization::make_nvp("item", u.reference());
-        t.push_back(u.reference());
-        ar.reset_object_address(& t.back() , & u.reference());
-     }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_COLLECTIONS_LOAD_IMP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collections_save_imp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collections_save_imp.hpp
deleted file mode 100644
index f3cabfc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/collections_save_imp.hpp
+++ /dev/null
@@ -1,82 +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)
-# 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,
-    collection_size_type count)
-{
-    ar << BOOST_SERIALIZATION_NVP(count);
-    // record number of elements
-    const item_version_type item_version(
-        version<typename Container::value_type>::value
-    );
-    #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
-
-    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++);
-    }
-}
-
-template<class Archive, class Container>
-inline void save_collection(Archive & ar, const Container &s)
-{
-    // record number of elements
-    collection_size_type count(s.size());
-    save_collection(ar, s, count);
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_COLLECTIONS_SAVE_IMP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/complex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/complex.hpp
deleted file mode 100644
index b4ef44c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/serialization/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/config.hpp
deleted file mode 100644
index ea8cb92..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/config.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef BOOST_SERIALIZATION_CONFIG_HPP
-#define BOOST_SERIALIZATION_CONFIG_HPP
-
-//  config.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
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// note: this version incorporates the related code into the the 
-// the same library as BOOST_ARCHIVE.  This could change some day in the
-// future
-
-// if BOOST_SERIALIZATION_DECL is defined undefine it now:
-#ifdef BOOST_SERIALIZATION_DECL
-    #undef BOOST_SERIALIZATION_DECL
-#endif
-
-// we need to import/export our code only if the user has specifically
-// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
-// libraries to be dynamically linked, or BOOST_SERIALIZATION_DYN_LINK
-// if they want just this one to be dynamically liked:
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-    #if !defined(BOOST_DYN_LINK)
-        #define BOOST_DYN_LINK
-    #endif
-    // export if this is our own source, otherwise import:
-    #if defined(BOOST_SERIALIZATION_SOURCE)
-        #define BOOST_SERIALIZATION_DECL BOOST_SYMBOL_EXPORT
-    #else
-        #define BOOST_SERIALIZATION_DECL BOOST_SYMBOL_IMPORT
-    #endif // defined(BOOST_SERIALIZATION_SOURCE)
-#endif // defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-
-// if BOOST_SERIALIZATION_DECL isn't defined yet define it now:
-#ifndef BOOST_SERIALIZATION_DECL
-    #define BOOST_SERIALIZATION_DECL
-#endif
-
-//  enable automatic library variant selection  ------------------------------// 
-
-#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  
-
-#endif // BOOST_SERIALIZATION_CONFIG_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/deque.hpp
deleted file mode 100644
index 4d0a21f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/deque.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_DEQUE_HPP
-#define BOOST_SERIALIZATION_DEQUE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/archive/basic_archive.hpp>
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.hpp>
-#include <boost/serialization/detail/stack_constructor.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 */
-){
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    stl::collection_load_impl(ar, t, count, item_version);
-}
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/get_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/get_data.hpp
deleted file mode 100644
index 37da7fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/get_data.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// (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.
-
-#ifndef BOOST_SERIALIZATION_DETAIL_GET_DATA_HPP
-#define BOOST_SERIALIZATION_DETAIL_GET_DATA_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-#define STD _STLP_STD
-#else
-#define STD std
-#endif
-
-#include <vector>
-#include <valarray>
-
-namespace boost {
-namespace serialization { 
-namespace detail {
-
-template <class T, class Allocator>
-T* get_data(STD::vector<T,Allocator>& v)
-{
-  return v.empty() ? 0 : &(v[0]);
-}
-
-template <class T, class Allocator>
-T* get_data(STD::vector<T,Allocator> const & v)
-{
-  return get_data(const_cast<STD::vector<T,Allocator>&>(v));
-}
-
-template <class T>
-T* get_data(STD::valarray<T>& v)
-{
-  return v.size()==0 ? 0 : &(v[0]);
-}
-
-template <class T>
-const T* get_data(STD::valarray<T> const& v)
-{
-  return get_data(const_cast<STD::valarray<T>&>(v));
-}
-
-} // detail
-} // serialization
-} // boost
-
-#undef STD
-
-#endif // BOOST_SERIALIZATION_DETAIL_GET_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/is_default_constructible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/is_default_constructible.hpp
deleted file mode 100644
index 451cca4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/is_default_constructible.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_DETAIL_IS_DEFAULT_CONSTRUCTIBLE_HPP
-#define BOOST_SERIALIZATION_DETAIL_IS_DEFAULT_CONSTRUCTIBLE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// is_default_constructible.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.
-
-#include <boost/config.hpp>
-
-#if defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION >= 1101) \
-|| ! defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-    #include <type_traits>
-    namespace boost{
-    namespace serialization {
-    namespace detail {
-
-    template<typename T>
-    struct is_default_constructible : std::is_default_constructible<T> {};
-
-    } // detail
-    } // serializaition
-    } // boost
-#else
-    #include <boost/type_traits/has_trivial_constructor.hpp>
-    namespace boost{
-    namespace serialization {
-    namespace detail {
-
-    template<typename T>
-    struct is_default_constructible : boost::has_trivial_constructor<T> {};
-
-    } // detail
-    } // serializaition
-    } // boost
-#endif
-
-#endif //  BOOST_SERIALIZATION_DETAIL_IS_DEFAULT_CONSTRUCTIBLE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_count_132.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_count_132.hpp
deleted file mode 100644
index a587255..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_count_132.hpp
+++ /dev/null
@@ -1,551 +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)
-# 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
-
-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.
-
-class bad_weak_ptr: public std::exception
-{
-public:
-
-    virtual char const * what() const throw()
-    {
-        return "boost::bad_weak_ptr";
-    }
-};
-
-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, boost::checked_deleter< T > const &)
-{
-    boost::sp_scalar_constructor_hook(px, sizeof(T), pn);
-}
-
-template<class T> void cbi_call_constructor_hook(sp_counted_base *, T * px, boost::checked_array_deleter< T > const &)
-{
-    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, boost::checked_deleter< T > const &)
-{
-    boost::sp_scalar_destructor_hook(px, sizeof(T), pn);
-}
-
-template<class T> void cbi_call_destructor_hook(sp_counted_base *, T * px, boost::checked_array_deleter< T > const &)
-{
-    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)
-
-#endif  // #ifndef BOOST_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_ptr_132.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_ptr_132.hpp
deleted file mode 100644
index ee98b7b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_ptr_132.hpp
+++ /dev/null
@@ -1,443 +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 typename 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, boost::checked_deleter<Y>()) // Y must be complete
-    {
-        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(__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();
-}
-
-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<<
-
-
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-{
-    os << p.get();
-    return os;
-}
-
-// get_deleter (experimental)
-
-#if 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/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_ptr_nmt_132.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/shared_ptr_nmt_132.hpp
deleted file mode 100644
index 490e7dd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/stack_constructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/stack_constructor.hpp
deleted file mode 100644
index 806b887..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/detail/stack_constructor.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_DETAIL_STACH_CONSTRUCTOR_HPP
-#define BOOST_SERIALIZATION_DETAIL_STACH_CONSTRUCTOR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// stack_constructor.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.
-
-#include <boost/aligned_storage.hpp>
-#include <boost/serialization/serialization.hpp>
-
-namespace boost{
-namespace serialization {
-namespace detail {
-
-// reserve space on stack for an object of type T without actually
-// construction such an object
-template<typename T > 
-struct stack_allocate
-{
-    T * address() {
-        return static_cast<T*>(storage_.address()); 
-    }
-    T & reference() {
-        return * address();
-    }
-private:
-    typedef typename boost::aligned_storage<
-        sizeof(T), 
-        boost::alignment_of<T>::value
-    > type;
-    type storage_;
-};
-
-// construct element on the stack
-template<class Archive, class T>
-struct stack_construct : public stack_allocate<T>
-{
-    stack_construct(Archive & ar, const unsigned int version){
-        // note borland emits a no-op without the explicit namespace
-        boost::serialization::load_construct_data_adl(
-            ar, 
-            this->address(), 
-            version
-        );
-    }
-    ~stack_construct(){
-        this->address()->~T(); // undo load_construct_data above
-    }
-};
-
-} // detail
-} // serializaition
-} // boost
-
-#endif //  BOOST_SERIALIZATION_DETAIL_STACH_CONSTRUCTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/ephemeral.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/ephemeral.hpp
deleted file mode 100644
index 09e5016..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/ephemeral.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EPHEMERAL_HPP
-#define BOOST_SERIALIZATION_EPHEMERAL_HPP
-
-// MS compatible compilers support 
-#pragma once
-#if defined(_MSC_VER)
-# 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>
-
-#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
-const 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/rbgl_trimmed_boost_1_61_0/boost/serialization/export.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/export.hpp
deleted file mode 100644
index 9eef440..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/export.hpp
+++ /dev/null
@@ -1,225 +0,0 @@
-#ifndef BOOST_SERIALIZATION_EXPORT_HPP
-#define BOOST_SERIALIZATION_EXPORT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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_fwd.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;
-# 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(
-        typename Archive::is_saving()
-    );
-
-    export_impl<Archive,Serializable>::enable_load(
-        typename 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/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info.hpp
deleted file mode 100644
index bb2a190..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info.hpp
+++ /dev/null
@@ -1,116 +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)
-# 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_SYMBOL_VISIBLE 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:
-    BOOST_SERIALIZATION_DECL void key_unregister() const;
-    BOOST_SERIALIZATION_DECL 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
-    BOOST_SERIALIZATION_DECL extended_type_info(
-        const unsigned int type_info_key,
-        const char * key
-    );
-    virtual BOOST_SERIALIZATION_DECL ~extended_type_info();
-public:
-    const char * get_key() const {
-        return m_key;
-    }
-    virtual const char * get_debug_info() const = 0;
-    BOOST_SERIALIZATION_DECL bool operator<(const extended_type_info &rhs) const;
-    BOOST_SERIALIZATION_DECL 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 BOOST_SERIALIZATION_DECL 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_ {};
-
-namespace ext {
-    template <typename T>
-    struct guid_impl
-    {
-        static inline const char * call()
-        {
-            return NULL;
-        }
-    };
-}
-
-template<class T>
-inline const char * guid(){
-    return ext::guid_impl<T>::call();
-}
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info_no_rtti.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info_no_rtti.hpp
deleted file mode 100644
index aaa8b44..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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_SYMBOL_VISIBLE extended_type_info_no_rtti_0 :
-    public extended_type_info
-{
-protected:
-    BOOST_SERIALIZATION_DECL extended_type_info_no_rtti_0(const char * key);
-    BOOST_SERIALIZATION_DECL ~extended_type_info_no_rtti_0();
-public:
-    virtual BOOST_SERIALIZATION_DECL bool
-    is_less_than(const boost::serialization::extended_type_info &rhs) const ;
-    virtual BOOST_SERIALIZATION_DECL 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 
-                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<typename boost::remove_const< T >::type, 0>(ap);
-        case 1:
-            return factory<typename boost::remove_const< T >::type, 1>(ap);
-        case 2:
-            return factory<typename boost::remove_const< T >::type, 2>(ap);
-        case 3:
-            return factory<typename boost::remove_const< T >::type, 3>(ap);
-        case 4:
-            return factory<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 *>(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 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/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info_typeid.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info_typeid.hpp
deleted file mode 100644
index 8ee591b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/extended_type_info_typeid.hpp
+++ /dev/null
@@ -1,167 +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)
-# 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_SYMBOL_VISIBLE 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;
-    BOOST_SERIALIZATION_DECL extended_type_info_typeid_0(const char * key);
-    BOOST_SERIALIZATION_DECL ~extended_type_info_typeid_0();
-    BOOST_SERIALIZATION_DECL void type_register(const std::type_info & ti);
-    BOOST_SERIALIZATION_DECL void type_unregister();
-    BOOST_SERIALIZATION_DECL const extended_type_info *
-    get_extended_type_info(const std::type_info & ti) const;
-public:
-    virtual BOOST_SERIALIZATION_DECL bool
-    is_less_than(const extended_type_info &rhs) const;
-    virtual BOOST_SERIALIZATION_DECL 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(
-            boost::serialization::guid< T >()
-        )
-    {
-        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<typename boost::remove_const< T >::type, 0>(ap);
-        case 1:
-            return factory<typename boost::remove_const< T >::type, 1>(ap);
-        case 2:
-            return factory<typename boost::remove_const< T >::type, 2>(ap);
-        case 3:
-            return factory<typename boost::remove_const< T >::type, 3>(ap);
-        case 4:
-            return factory<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 *>(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 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/rbgl_trimmed_boost_1_61_0/boost/serialization/factory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/factory.hpp
deleted file mode 100644
index 916d75d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/factory.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef BOOST_SERIALIZATION_FACTORY_HPP
-#define BOOST_SERIALIZATION_FACTORY_HPP
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-// factory.hpp: create an instance from an extended_type_info instance.
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <cstdarg> // valist
-#include <cstddef> // NULL
-
-#include <boost/preprocessor/control/if.hpp> 
-#include <boost/preprocessor/comparison/greater.hpp>
-
-namespace std{
-    #if defined(__LIBCOMO__)
-        using ::va_list;
-    #endif
-} // namespace std
-
-namespace boost {
-namespace serialization {
-
-// default implementation does nothing.
-template<class T, int N>
-T * factory(std::va_list){
-    BOOST_ASSERT(false);
-    // throw exception here?
-    return NULL;
-}
-
-} // namespace serialization
-} // namespace boost
-
-#define BOOST_SERIALIZATION_FACTORY(N, T, A0, A1, A2, A3) \
-namespace boost {                                         \
-namespace serialization {                                 \
-    template<>                                            \
-    T * factory<T, N>(std::va_list ap){                   \
-        BOOST_PP_IF(BOOST_PP_GREATER(N,0)                 \
-            ,A0 a0 = va_arg(ap, A0);                      \
-        ,BOOST_PP_IF(BOOST_PP_GREATER(N,1)                \
-            ,A1 a1 = va_arg(ap, A1);                      \
-        ,BOOST_PP_IF(BOOST_PP_GREATER(N,2)                \
-            ,A2 a2 = va_arg(ap, A2);                      \
-        ,BOOST_PP_IF(BOOST_PP_GREATER(N,3)                \
-            ,A3 a3 = va_arg(ap, A3);                      \
-            ,BOOST_PP_EMPTY()                             \
-        ))))                                              \
-        return new T(                                     \
-            BOOST_PP_IF(BOOST_PP_GREATER(N,0)             \
-                ,a0                                       \
-            ,BOOST_PP_IF(BOOST_PP_GREATER(N,1)            \
-                ,a1                                       \
-            ,BOOST_PP_IF(BOOST_PP_GREATER(N,2)            \
-                ,a2                                       \
-            ,BOOST_PP_IF(BOOST_PP_GREATER(N,3)            \
-                ,a3                                       \
-                ,BOOST_PP_EMPTY()                         \
-            ))))                                          \
-        );                                                \
-    }                                                     \
-}                                                         \
-}                                                         \
-/**/
-
-#define BOOST_SERIALIZATION_FACTORY_4(T, A0, A1, A2, A3) \
-    BOOST_SERIALIZATION_FACTORY(4, T, A0, A1, A2, A3)
-
-#define BOOST_SERIALIZATION_FACTORY_3(T, A0, A1, A2)     \
-    BOOST_SERIALIZATION_FACTORY(3, T, A0, A1, A2, 0)
-
-#define BOOST_SERIALIZATION_FACTORY_2(T, A0, A1)         \
-    BOOST_SERIALIZATION_FACTORY(2, T, A0, A1, 0, 0)
-
-#define BOOST_SERIALIZATION_FACTORY_1(T, A0)             \
-    BOOST_SERIALIZATION_FACTORY(1, T, A0, 0, 0, 0)
-
-#define BOOST_SERIALIZATION_FACTORY_0(T)                 \
-namespace boost {                                        \
-namespace serialization {                                \
-    template<>                                           \
-    T * factory<T, 0>(std::va_list){                     \
-        return new T();                                  \
-    }                                                    \
-}                                                        \
-}                                                        \
-/**/
-
-#endif // BOOST_SERIALIZATION_FACTORY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/force_include.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/force_include.hpp
deleted file mode 100644
index 55ab79d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/force_include.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef BOOST_SERIALIZATION_FORCE_INCLUDE_HPP
-#define BOOST_SERIALIZATION_FORCE_INCLUDE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// force_include.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>
-
-// the following help macro is to guarentee that certain coded
-// is not removed by over-eager linker optimiser.  In certain cases
-// we create static objects must be created but are actually never
-// referenced - creation has a side-effect such as global registration
-// which is important to us. We make an effort to refer these objects
-// so that a smart linker won't remove them as being unreferenced.
-// In microsoft compilers, inlining the code that does the referring
-// means the code gets lost and the static object is not included
-// in the library and hence never registered.  This manifests itself
-// in an ungraceful crash at runtime when (and only when) built in
-// release mode.
-
-#if defined(BOOST_HAS_DECLSPEC) && !defined(__COMO__)
-#   define BOOST_DLLEXPORT __declspec(dllexport)
-#elif ! defined(_WIN32) && ! defined(_WIN64)
-#   if defined(__MWERKS__)
-#       define BOOST_DLLEXPORT __declspec(dllexport)
-#   elif defined(__GNUC__) && (__GNUC__ >= 3)
-#       define BOOST_USED __attribute__ ((__used__))
-#   elif defined(__IBMCPP__) && (__IBMCPP__ >= 1110)
-#       define BOOST_USED __attribute__ ((__used__))
-#   elif defined(__INTEL_COMPILER) && (BOOST_INTEL_CXX_VERSION >= 800)
-#       define BOOST_USED __attribute__ ((__used__))
-#   endif
-#endif
-
-#ifndef BOOST_USED
-#    define BOOST_USED
-#endif
-
-#ifndef BOOST_DLLEXPORT
-#    define BOOST_DLLEXPORT
-#endif
-
-#endif // BOOST_SERIALIZATION_FORCE_INCLUDE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/forward_list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/forward_list.hpp
deleted file mode 100644
index e174053..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/forward_list.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef BOOST_SERIALIZATION_FORWARD_LIST_HPP
-#define BOOST_SERIALIZATION_FORWARD_LIST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// forward_list.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 <forward_list>
-#include <iterator>  // distance
-
-#include <boost/config.hpp>
-#ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST
-#error "not supported for versions earlier than c++11
-#endif
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.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>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/detail/stack_constructor.hpp>
-#include <boost/serialization/detail/is_default_constructible.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class U, class Allocator>
-inline void save(
-    Archive & ar,
-    const std::forward_list<U, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    const collection_size_type count(std::distance(t.cbegin(), t.cend()));
-    boost::serialization::stl::save_collection<
-        Archive,
-        std::forward_list<U, Allocator>
-    >(ar, t, count);
-}
-
-namespace stl {
-
-template<
-    class Archive,
-    class T,
-    class Allocator
->
-typename boost::disable_if<
-    typename detail::is_default_constructible<
-        typename std::forward_list<T, Allocator>::value_type
-    >,
-    void
->::type
-collection_load_impl(
-    Archive & ar,
-    std::forward_list<T, Allocator> &t,
-    collection_size_type count,
-    item_version_type item_version
-){
-    t.clear();
-    boost::serialization::detail::stack_construct<Archive, T> u(ar, item_version);
-    ar >> boost::serialization::make_nvp("item", u.reference());
-    t.emplace_front(u.reference());
-    typename std::forward_list<T, Allocator>::iterator last;
-    last = t.begin();
-    ar.reset_object_address(&(*t.begin()) , & u.reference());
-    while(--count > 0){
-        detail::stack_construct<Archive, T> u(ar, item_version);
-        ar >> boost::serialization::make_nvp("item", u.reference());
-        last = t.emplace_after(last, u.reference());
-        ar.reset_object_address(&(*last) , & u.reference());
-    }
-}
-
-} // stl
-
-template<class Archive, class U, class Allocator>
-inline void load(
-    Archive & ar,
-    std::forward_list<U, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    stl::collection_load_impl(ar, t, count, item_version);
-}
-
-// 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::forward_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::forward_list)
-
-#endif  // BOOST_SERIALIZATION_FORWARD_LIST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_collections_load_imp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_collections_load_imp.hpp
deleted file mode 100644
index 88def8f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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)
-{
-    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);
-    }
-    s.clear();
-    #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/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_collections_save_imp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_collections_save_imp.hpp
deleted file mode 100644
index 65dfe83..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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<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
-
-    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<
-                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/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_map.hpp
deleted file mode 100644
index 615ace8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 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<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 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());
-        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/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/hash_set.hpp
deleted file mode 100644
index 6275e03..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 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<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 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());
-        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/rbgl_trimmed_boost_1_61_0/boost/serialization/is_bitwise_serializable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/is_bitwise_serializable.hpp
deleted file mode 100644
index 7e24a2c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/is_bitwise_serializable.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// (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)
-
-//  Authors: Matthias Troyer
-
-/** @file is_bitwise_serializable.hpp
- *
- *  This header provides a traits class for determining whether a class
- * can be serialized (in a non-portable way) just by copying the bits.
- */
-
-
-#ifndef BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP
-#define BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/mpl/bool_fwd.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-
-namespace boost {
-namespace serialization {
-    template<class T>
-    struct is_bitwise_serializable
-     : public is_arithmetic< T >
-    {};
-} // namespace serialization
-} // namespace boost
-
-
-// define a macro to make explicit designation of this more transparent
-#define BOOST_IS_BITWISE_SERIALIZABLE(T)              \
-namespace boost {                                     \
-namespace serialization {                             \
-template<>                                            \
-struct is_bitwise_serializable< T > : mpl::true_ {};  \
-}}                                                    \
-/**/
-
-#endif //BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/item_version_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/item_version_type.hpp
deleted file mode 100644
index f3e5ada..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/serialization/level.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/level.hpp
deleted file mode 100644
index f6a84d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/level.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-#ifndef BOOST_SERIALIZATION_LEVEL_HPP
-#define BOOST_SERIALIZATION_LEVEL_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/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 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
-        typename mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits, T>,
-            traits_class_level< T >,
-        //else
-        typename mpl::eval_if<
-            is_fundamental< T >,
-            mpl::int_<primitive_type>,
-        //else
-        typename mpl::eval_if<
-            is_class< T >,
-            mpl::int_<object_class_info>,
-        //else
-        typename mpl::eval_if<
-            is_array< T >,
-                mpl::int_<object_serializable>,
-        //else
-        typename mpl::eval_if<
-            is_enum< T >,
-                mpl::int_<primitive_type>,
-        //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, 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/rbgl_trimmed_boost_1_61_0/boost/serialization/level_enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/level_enum.hpp
deleted file mode 100644
index baf64e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/level_enum.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef BOOST_SERIALIZATION_LEVEL_ENUM_HPP
-#define BOOST_SERIALIZATION_LEVEL_ENUM_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// level_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 {
-
-// for each class used in the program, specify which level
-// of serialization should be implemented
-
-// 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
-};
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_LEVEL_ENUM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/list.hpp
deleted file mode 100644
index 741dbbe..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/list.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef BOOST_SERIALIZATION_LIST_HPP
-#define BOOST_SERIALIZATION_LIST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/archive/detail/basic_iarchive.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/detail/stack_constructor.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 */
-){
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    stl::collection_load_impl(ar, t, count, item_version);
-}
-
-// 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/rbgl_trimmed_boost_1_61_0/boost/serialization/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/map.hpp
deleted file mode 100644
index 2582f9a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/map.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_MAP_HPP
-#define BOOST_SERIALIZATION_MAP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization/map.hpp:
-// serialization for stl map templates
-
-// (C) Copyright 2002-2014 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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/archive/detail/basic_iarchive.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.hpp>
-#include <boost/serialization/detail/stack_constructor.hpp>
-
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// implementation of serialization for map and mult-map STL containers
-
-template<class Archive, class Container>
-inline void load_map_collection(Archive & ar, Container &s)
-{
-    s.clear();
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    typename Container::iterator hint;
-    hint = s.begin();
-    while(count-- > 0){
-        typedef typename Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, item_version);
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        typename Container::iterator result =
-            #ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP
-                s.insert(hint, t.reference());
-            #else
-                s.emplace_hint(hint, t.reference());
-            #endif
-        ar.reset_object_address(& (result->second), & t.reference().second);
-        hint = result;
-        ++hint;
-    }
-}
-
-// map
-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 */
-){
-    load_map_collection(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 */
-){
-    load_map_collection(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/rbgl_trimmed_boost_1_61_0/boost/serialization/nvp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/nvp.hpp
deleted file mode 100644
index 4e2297b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/nvp.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef BOOST_SERIALIZATION_NVP_HPP
-#define BOOST_SERIALIZATION_NVP_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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>
-
-#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 > >
-{
-//private:
-    nvp(const nvp & rhs) :
-        std::pair<const char *, T *>(rhs.first, rhs.second)
-    {}
-public:
-    explicit nvp(const char * name_, T & t) :
-        // note: added _ to suppress useless gcc warning
-        std::pair<const char *, T *>(name_, & t)
-    {}
-
-    const char * name() const {
-        return this->first;
-    }
-    T & value() const {
-        return *(this->second);
-    }
-
-    const T & const_value() const {
-        return *(this->second);
-    }
-
-    template<class Archive>
-    void save(
-        Archive & ar,
-        const unsigned int /* file_version */
-    ) const {
-        ar.operator<<(const_value());
-    }
-    template<class Archive>
-    void load(
-        Archive & ar,
-        const unsigned int /* file_version */
-    ){
-        ar.operator>>(value());
-    }
-    BOOST_SERIALIZATION_SPLIT_MEMBER()
-};
-
-template<class T>
-inline
-const 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 !!!
-
-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);
-};
-
-} // 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/rbgl_trimmed_boost_1_61_0/boost/serialization/optional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/optional.hpp
deleted file mode 100644
index 4024cf5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/optional.hpp
+++ /dev/null
@@ -1,96 +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)
-# 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);
-}
-
-} // serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_OPTIONAL_HPP_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/priority_queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/priority_queue.hpp
deleted file mode 100644
index 3ba63a5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/priority_queue.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_PRIORITY_QUEUE_HPP
-#define BOOST_SERIALIZATION_PRIORITY_QUEUE_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
-// priority_queue.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 <queue>
-#include <boost/config.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 {
-namespace detail{
-
-template <typename U, typename Container, typename Compare>
-struct priority_queue_save : public STD::priority_queue<U, Container, Compare> {
-    template<class Archive>
-    void operator()(Archive & ar, const unsigned int file_version) const {
-        save(ar, STD::priority_queue<U, Container, Compare>::c, file_version);
-    }
-};
-template <typename U, typename Container, typename Compare>
-struct priority_queue_load : public STD::priority_queue<U, Container, Compare> {
-    template<class Archive>
-    void operator()(Archive & ar, const unsigned int file_version) {
-        load(ar, STD::priority_queue<U, Container, Compare>::c, file_version);
-    }
-};
-
-} // detail
-
-template<class Archive, class T, class Container, class Compare>
-inline void serialize(
-    Archive & ar,
-    std::priority_queue< T, Container, Compare> & t,
-    const unsigned int file_version 
-){
-    typedef typename mpl::eval_if<
-        typename Archive::is_saving,
-        mpl::identity<detail::priority_queue_save<T, Container, Compare> >,
-        mpl::identity<detail::priority_queue_load<T, Container, Compare> >
-    >::type typex;
-    static_cast<typex &>(t)(ar, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::priority_queue)
-
-#undef STD
-
-#endif // BOOST_SERIALIZATION_PRIORITY_QUEUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/queue.hpp
deleted file mode 100644
index 58e1ee9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/queue.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_QUEUE_HPP
-#define BOOST_SERIALIZATION_QUEUE_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
-// queue.hpp
-
-// (C) Copyright 2014 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <queue>
-#include <boost/config.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 {
-namespace detail {
-
-template <typename U, typename C>
-struct queue_save : public STD::queue<U, C> {
-    template<class Archive>
-    void operator()(Archive & ar, const unsigned int file_version) const {
-        save(ar, STD::queue<U, C>::c, file_version);
-    }
-};
-template <typename U, typename C>
-struct queue_load : public STD::queue<U, C> {
-    template<class Archive>
-    void operator()(Archive & ar, const unsigned int file_version) {
-        load(ar, STD::queue<U, C>::c, file_version);
-    }
-};
-
-} // detail
-
-template<class Archive, class T, class C>
-inline void serialize(
-    Archive & ar,
-    std::queue< T, C> & t,
-    const unsigned int file_version 
-){
-    typedef typename mpl::eval_if<
-        typename Archive::is_saving,
-        mpl::identity<detail::queue_save<T, C> >,
-        mpl::identity<detail::queue_load<T, C> >
-    >::type typex;
-    static_cast<typex &>(t)(ar, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::queue)
-
-#undef STD
-
-#endif // BOOST_SERIALIZATION_QUEUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/scoped_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/scoped_ptr.hpp
deleted file mode 100644
index 0d11f84..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/serialization/serialization.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/serialization.hpp
deleted file mode 100644
index a4d0472..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/serialization.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SERIALIZATION_HPP
-#define BOOST_SERIALIZATION_SERIALIZATION_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#if defined(_MSC_VER)
-#  pragma warning (disable : 4675) // suppress ADL warning
-#endif
-
-#include <boost/config.hpp>
-#include <boost/serialization/strong_typedef.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 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 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 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.
-    const version_type v(file_version);
-    serialize(ar, t, v);
-}
-
-template<class Archive, class T>
-inline void save_construct_data_adl(
-    Archive & ar, 
-    const T * t, 
-    const unsigned int file_version
-){
-    // see above
-    const version_type v(file_version);
-    save_construct_data(ar, t, v);
-}
-
-template<class Archive, class T>
-inline void load_construct_data_adl(
-    Archive & ar, 
-    T * t, 
-    const unsigned int file_version
-){
-    // see above comment
-    const version_type v(file_version);
-    load_construct_data(ar, t, v);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_SERIALIZATION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/set.hpp
deleted file mode 100644
index 6b957d4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/set.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_SET_HPP
-#define BOOST_SERIALIZATION_SET_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// set.hpp: serialization for stl set templates
-
-// (C) Copyright 2002-2014 Robert Ramey - http://www.rrsd.com . 
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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/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>
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<class Archive, class Container>
-inline void load_set_collection(Archive & ar, Container &s)
-{
-    s.clear();
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    typename Container::iterator hint;
-    hint = s.begin();
-    while(count-- > 0){
-        typedef typename Container::value_type type;
-        detail::stack_construct<Archive, type> t(ar, item_version);
-        // borland fails silently w/o full namespace
-        ar >> boost::serialization::make_nvp("item", t.reference());
-        typename Container::iterator result =
-            #ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET
-                s.insert(hint, t.reference());
-            #else
-                s.emplace_hint(hint, t.reference());
-            #endif
-        ar.reset_object_address(& (* result), & t.reference());
-        hint = result;
-    }
-}
-
-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 */
-){
-    load_set_collection(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 */
-){
-    load_set_collection(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/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr.hpp
deleted file mode 100644
index 0d4c5ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SHARED_PTR_HPP
-#define BOOST_SERIALIZATION_SHARED_PTR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 <memory>
-
-#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/shared_ptr_helper.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
-// boost:: 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 typename mpl::int_<1> type;
-            #else
-            typedef mpl::int_<1> type;
-            #endif
-            BOOST_STATIC_CONSTANT(int, value = type::value);
-        };
-        // 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 typename mpl::int_< ::boost::serialization::track_never> type;
-            #else
-            typedef mpl::int_< ::boost::serialization::track_never> type;
-            #endif
-            BOOST_STATIC_CONSTANT(int, value = type::value);
-        };
-    }}
-    #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 boost::shared_ptr
-
-// Using a constant means that all shared pointers are held in the same set.
-// Thus we detect handle multiple pointers to the same value instances
-// in the archive.
-void * const shared_ptr_helper_id = 0;
-
-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
-){
-    // 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 *, 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
-        boost::serialization::shared_ptr_helper<boost::shared_ptr> & h =
-            ar.template get_helper< shared_ptr_helper<boost::shared_ptr> >(
-                shared_ptr_helper_id
-            );
-        h.append(sp);
-        r = sp.get();
-    }
-    else{
-        ar >> boost::serialization::make_nvp("px", r);
-    }
-    shared_ptr_helper<boost::shared_ptr> & h =
-        ar.template get_helper<shared_ptr_helper<boost::shared_ptr> >(
-            shared_ptr_helper_id
-        );
-    h.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);
-
-    boost::serialization::shared_ptr_helper<boost::shared_ptr> & h =
-        ar.template get_helper<shared_ptr_helper<boost::shared_ptr> >(
-            shared_ptr_helper_id
-        );
-    h.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
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// std::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_CXX11_SMART_PTR
-#include <boost/static_assert.hpp>
-
-// note: we presume that any compiler/library which supports C++11
-// std::pointers also supports template partial specialization
-// trap here if such presumption were to turn out to wrong!!!
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    BOOST_STATIC_ASSERT(false);
-#endif
-
-namespace boost {
-namespace serialization{
-    template<class T>
-    struct version< ::std::shared_ptr< T > > {
-        typedef mpl::integral_c_tag tag;
-        typedef mpl::int_<1> type;
-        BOOST_STATIC_CONSTANT(int, value = type::value);
-    };
-    // don't track shared pointers
-    template<class T>
-    struct tracking_level< ::std::shared_ptr< T > > { 
-        typedef mpl::integral_c_tag tag;
-        typedef mpl::int_< ::boost::serialization::track_never> type;
-        BOOST_STATIC_CONSTANT(int, value = type::value);
-    };
-}}
-// the following just keeps older programs from breaking
-#define BOOST_SERIALIZATION_SHARED_PTR(T)
-
-namespace boost {
-namespace serialization{
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// serialization for std::shared_ptr
-
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const std::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);
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    std::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);
-    //void (* const id)(Archive &, std::shared_ptr< T > &, const unsigned int) = & load;
-    boost::serialization::shared_ptr_helper<std::shared_ptr> & h =
-        ar.template get_helper<
-            shared_ptr_helper<std::shared_ptr>
-        >(
-            shared_ptr_helper_id
-        );
-    h.reset(t,r);
-}
-
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    std::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_NO_CXX11_SMART_PTR
-
-#endif // BOOST_SERIALIZATION_SHARED_PTR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr_132.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr_132.hpp
deleted file mode 100644
index 3dfaba4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 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/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr_helper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr_helper.hpp
deleted file mode 100644
index 189447a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/shared_ptr_helper.hpp
+++ /dev/null
@@ -1,214 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SHARED_PTR_HELPER_HPP
-#define BOOST_SERIALIZATION_SHARED_PTR_HELPER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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
-
-#include <boost/config.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/serialization/singleton.hpp>
-#include <boost/serialization/extended_type_info.hpp>
-#include <boost/serialization/throw_exception.hpp>
-#include <boost/serialization/type_info_implementation.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 {
-namespace serialization {
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-template<class Archive, template<class U> class SPT >
-void load(
-    Archive & ar,
-    SPT< class U > &t,
-    const unsigned int file_version
-);
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// a common class for holding various types of shared pointers
-
-template<template<class T> class SPT>
-class shared_ptr_helper {
-    typedef std::map<
-        const void *, // address of object
-        SPT<const void> // address shared ptr to single instance
-    > object_shared_pointer_map;
-
-    // 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.
-    object_shared_pointer_map * m_o_sp;
-
-    struct null_deleter {
-        void operator()(void const *) const {}
-    };
-
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) \
-|| defined(BOOST_MSVC) \
-|| defined(__SUNPRO_CC)
-public:
-#else
-    template<class Archive, class U>
-    friend void boost::serialization::load(
-        Archive & ar,
-        SPT< U > &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;
-    BOOST_ARCHIVE_DECL void
-    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
-
-    struct non_polymorphic {
-        template<class U>
-        static const boost::serialization::extended_type_info * 
-        get_object_type(U & ){
-            return & boost::serialization::singleton<
-                typename 
-                boost::serialization::type_info_implementation< U >::type
-            >::get_const_instance();
-        }
-    };
-    struct polymorphic {
-        template<class U>
-        static const boost::serialization::extended_type_info * 
-        get_object_type(U & u){
-            return boost::serialization::singleton<
-                typename 
-                boost::serialization::type_info_implementation< U >::type
-            >::get_const_instance().get_derived_extended_type_info(u);
-        }
-    };
-
-public:
-    template<class T>
-    void reset(SPT< 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's eti.  This is effectively
-        // the object type identifer
-        typedef typename mpl::if_<
-            is_polymorphic< T >,
-            polymorphic,
-            non_polymorphic
-        >::type type;
-
-        const boost::serialization::extended_type_info * true_type
-            = type::get_object_type(*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(
-                boost::archive::archive_exception(
-                    boost::archive::archive_exception::unregistered_class,
-                    this_type->get_debug_info()
-                )
-            );
-        // get void pointer to the most derived type
-        // this uniquely identifies the object referred to
-        // oid = "object identifier"
-        const void * oid = void_downcast(
-            *true_type,
-            *this_type,
-            t
-        );
-        if(NULL == oid)
-            boost::serialization::throw_exception(
-                boost::archive::archive_exception(
-                    boost::archive::archive_exception::unregistered_cast,
-                    true_type->get_debug_info(),
-                    this_type->get_debug_info()
-                )
-            );
-
-        // make tracking array if necessary
-        if(NULL == m_o_sp)
-            m_o_sp = new object_shared_pointer_map;
-
-        typename object_shared_pointer_map::iterator i = m_o_sp->find(oid);
-
-        // if it's a new object
-        if(i == m_o_sp->end()){
-            s.reset(t);
-            std::pair<typename object_shared_pointer_map::iterator, bool> result;
-            result = m_o_sp->insert(std::make_pair(oid, s));
-            BOOST_ASSERT(result.second);
-        }
-        // if the object has already been seen
-        else{
-            s = SPT<T>(i->second, t);
-        }
-    }
-
-    shared_ptr_helper() :
-        m_o_sp(NULL)
-        #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-            , m_pointers_132(NULL)
-        #endif
-    {}
-    virtual ~shared_ptr_helper(){
-        if(NULL != m_o_sp)
-            delete m_o_sp;
-        #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
-        if(NULL != m_pointers_132)
-            delete m_pointers_132;
-        #endif
-    }
-};
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-#endif // BOOST_SERIALIZATION_SHARED_PTR_HELPER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/singleton.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/singleton.hpp
deleted file mode 100644
index fcb79c3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/singleton.hpp
+++ /dev/null
@@ -1,152 +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)
-# pragma once
-#endif 
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/serialization/force_include.hpp>
-
-#include <boost/archive/detail/auto_link_archive.hpp>
-#include <boost/serialization/config.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 { 
-
-//////////////////////////////////////////////////////////////////////
-// 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 BOOST_SYMBOL_VISIBLE singleton_module :
-    public boost::noncopyable
-{
-private:
-    static bool & get_lock();
-public:
-    BOOST_SERIALIZATION_DECL static void lock();
-    BOOST_SERIALIZATION_DECL static void unlock();
-    BOOST_SERIALIZATION_DECL static bool is_locked();
-};
-
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
-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/rbgl_trimmed_boost_1_61_0/boost/serialization/slist.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/slist.hpp
deleted file mode 100644
index af30068..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/slist.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SLIST_HPP
-#define BOOST_SERIALIZATION_SLIST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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 <boost/config.hpp>
-#ifdef BOOST_HAS_SLIST
-#include BOOST_SLIST_HEADER
-
-#include <boost/serialization/collections_save_imp.hpp>
-#include <boost/serialization/collections_load_imp.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>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/detail/stack_constructor.hpp>
-#include <boost/serialization/detail/is_default_constructible.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);
-}
-
-namespace stl {
-
-template<
-    class Archive,
-    class T,
-    class Allocator
->
-typename boost::disable_if<
-    typename detail::is_default_constructible<
-        typename BOOST_STD_EXTENSION_NAMESPACE::slist<T, Allocator>::value_type
-    >,
-    void
->::type
-collection_load_impl(
-    Archive & ar,
-    BOOST_STD_EXTENSION_NAMESPACE::slist<T, Allocator> &t,
-    collection_size_type count,
-    item_version_type item_version
-){
-    t.clear();
-    boost::serialization::detail::stack_construct<Archive, T> u(ar, item_version);
-    ar >> boost::serialization::make_nvp("item", u.reference());
-    t.push_front(u.reference());
-    typename BOOST_STD_EXTENSION_NAMESPACE::slist<T, Allocator>::iterator last;
-    last = t.begin();
-    ar.reset_object_address(&(*t.begin()) , & u.reference());
-    while(--count > 0){
-        detail::stack_construct<Archive, T> u(ar, item_version);
-        ar >> boost::serialization::make_nvp("item", u.reference());
-        last = t.insert_after(last, u.reference());
-        ar.reset_object_address(&(*last) , & u.reference());
-    }
-}
-
-} // stl
-
-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
-){
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    if(detail::is_default_constructible<U>()){
-        t.resize(count);
-        typename BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator>::iterator hint;
-        hint = t.begin();
-        while(count-- > 0){
-            ar >> boost::serialization::make_nvp("item", *hint++);
-        }
-    }
-    else{
-        t.clear();
-        boost::serialization::detail::stack_construct<Archive, U> u(ar, item_version);
-        ar >> boost::serialization::make_nvp("item", u.reference());
-        t.push_front(u.reference());
-        typename BOOST_STD_EXTENSION_NAMESPACE::slist<U, Allocator>::iterator last;
-        last = t.begin();
-        ar.reset_object_address(&(*t.begin()) , & u.reference());
-        while(--count > 0){
-            detail::stack_construct<Archive, U> u(ar, item_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/rbgl_trimmed_boost_1_61_0/boost/serialization/smart_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/smart_cast.hpp
deleted file mode 100644
index 563f36a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/smart_cast.hpp
+++ /dev/null
@@ -1,275 +0,0 @@
-#ifndef BOOST_SERIALIZATION_SMART_CAST_HPP
-#define BOOST_SERIALIZATION_SMART_CAST_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// smart_cast.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/libs/serialization for updates, documentation, and revision history.
-
-// casting of pointers and references.  
-
-// In casting between different C++ classes, there are a number of
-// rules that have to be kept in mind in deciding whether to use
-// static_cast or dynamic_cast.  
-
-// a) dynamic casting can only be applied when one of the types is polymorphic
-// Otherwise static_cast must be used.
-// b) only dynamic casting can do runtime error checking
-// use of static_cast is generally un checked even when compiled for debug
-// c) static_cast would be considered faster than dynamic_cast.
-
-// If casting is applied to a template parameter, there is no apriori way
-// to know which of the two casting methods will be permitted or convenient.
-
-// smart_cast uses C++ type_traits, and program debug mode to select the
-// most convenient cast to use.
-
-#include <exception>
-#include <typeinfo>
-#include <cstddef> // NULL
-
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-
-#include <boost/type_traits/is_base_and_derived.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_same.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.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/identity.hpp>
-
-#include <boost/serialization/throw_exception.hpp>
-
-namespace boost {
-namespace serialization {
-namespace smart_cast_impl {
-
-    template<class T>
-    struct reference {
-
-        struct polymorphic {
-
-            struct linear {
-                template<class U>
-                 static T cast(U & u){
-                    return static_cast< T >(u);
-                }
-            };
-
-            struct cross {
-                 template<class U>
-                static T cast(U & u){
-                    return dynamic_cast< T >(u);
-                }
-            };
-
-            template<class U>
-            static T cast(U & u){
-                // if we're in debug mode
-                #if ! defined(NDEBUG)                               \
-                || defined(__MWERKS__)
-                    // do a checked dynamic cast
-                    return cross::cast(u);
-                #else
-                    // borland 5.51 chokes here so we can't use it
-                    // note: if remove_reference isn't function for these types
-                    // cross casting will be selected this will work but will
-                    // not be the most efficient method. This will conflict with
-                    // the original smart_cast motivation.
-                    typedef typename mpl::eval_if<
-                            typename mpl::and_<
-                                mpl::not_<is_base_and_derived<
-                                    typename remove_reference< T >::type,
-                                    U
-                                > >,
-                                mpl::not_<is_base_and_derived<
-                                    U,
-                                    typename remove_reference< T >::type
-                                > >
-                            >,
-                            // borland chokes w/o full qualification here
-                            mpl::identity<cross>,
-                            mpl::identity<linear>
-                    >::type typex;
-                    // typex works around gcc 2.95 issue
-                    return typex::cast(u);
-                #endif
-            }
-        };
-
-        struct non_polymorphic {
-            template<class U>
-             static T cast(U & u){
-                return static_cast< T >(u);
-            }
-        };
-        template<class U>
-        static T cast(U & u){
-            typedef typename mpl::eval_if<
-                boost::is_polymorphic<U>,
-                mpl::identity<polymorphic>,
-                mpl::identity<non_polymorphic>
-            >::type typex;
-            return typex::cast(u);
-        }
-    };
-
-    template<class T>
-    struct pointer {
-
-        struct polymorphic {
-            // unfortunately, this below fails to work for virtual base 
-            // classes.  need has_virtual_base to do this.
-            // Subject for further study
-            #if 0
-            struct linear {
-                template<class U>
-                 static T cast(U * u){
-                    return static_cast< T >(u);
-                }
-            };
-
-            struct cross {
-                template<class U>
-                static T cast(U * u){
-                    T tmp = dynamic_cast< T >(u);
-                    #ifndef NDEBUG
-                        if ( tmp == 0 ) throw_exception(std::bad_cast());
-                    #endif
-                    return tmp;
-                }
-            };
-
-            template<class U>
-            static T cast(U * u){
-                typedef
-                    typename mpl::eval_if<
-                        typename mpl::and_<
-                            mpl::not_<is_base_and_derived<
-                                typename remove_pointer< T >::type,
-                                U
-                            > >,
-                            mpl::not_<is_base_and_derived<
-                                U,
-                                typename remove_pointer< T >::type
-                            > >
-                        >,
-                        // borland chokes w/o full qualification here
-                        mpl::identity<cross>,
-                        mpl::identity<linear>
-                    >::type typex;
-                return typex::cast(u);
-            }
-            #else
-            template<class U>
-            static T cast(U * u){
-                T tmp = dynamic_cast< T >(u);
-                #ifndef NDEBUG
-                    if ( tmp == 0 ) throw_exception(std::bad_cast());
-                #endif
-                return tmp;
-            }
-            #endif
-        };
-
-        struct non_polymorphic {
-            template<class U>
-             static T cast(U * u){
-                return static_cast< T >(u);
-            }
-        };
-
-        template<class U>
-        static T cast(U * u){
-            typedef typename mpl::eval_if<
-                boost::is_polymorphic<U>,
-                mpl::identity<polymorphic>,
-                mpl::identity<non_polymorphic>
-            >::type typex;
-            return typex::cast(u);
-        }
-
-    };
-
-    template<class TPtr>
-    struct void_pointer {
-        template<class UPtr>
-        static TPtr cast(UPtr uptr){
-            return static_cast<TPtr>(uptr);
-        }
-    };
-
-    template<class T>
-    struct error {
-        // if we get here, its because we are using one argument in the
-        // cast on a system which doesn't support partial template 
-        // specialization
-        template<class U>
-        static T cast(U){
-            BOOST_STATIC_ASSERT(sizeof(T)==0);
-            return * static_cast<T *>(NULL);
-        }
-    };
-
-} // smart_cast_impl
-
-// this implements:
-// smart_cast<Target *, Source *>(Source * s)
-// smart_cast<Target &, Source &>(s)
-// note that it will fail with
-// smart_cast<Target &>(s)
-template<class T, class U>
-T smart_cast(U u) {
-    typedef
-        typename mpl::eval_if<
-            typename mpl::or_<
-                boost::is_same<void *, U>,
-                boost::is_same<void *, T>,
-                boost::is_same<const void *, U>,
-                boost::is_same<const void *, T>
-            >,
-            mpl::identity<smart_cast_impl::void_pointer< T > >,
-        // else
-        typename mpl::eval_if<boost::is_pointer<U>,
-            mpl::identity<smart_cast_impl::pointer< T > >,
-        // else
-        typename mpl::eval_if<boost::is_reference<U>,
-            mpl::identity<smart_cast_impl::reference< T > >,
-        // else
-            mpl::identity<smart_cast_impl::error< T >
-        >
-        >
-        >
-        >::type typex;
-    return typex::cast(u);
-}
-
-// this implements:
-// smart_cast_reference<Target &>(Source & s)
-template<class T, class U>
-T smart_cast_reference(U & u) {
-    return smart_cast_impl::reference< T >::cast(u);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_SMART_CAST_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/split_free.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/split_free.hpp
deleted file mode 100644
index 85e2f59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 typename mpl::eval_if<
-        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/rbgl_trimmed_boost_1_61_0/boost/serialization/split_member.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/split_member.hpp
deleted file mode 100644
index 5f32520..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 typename mpl::eval_if<
-        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/rbgl_trimmed_boost_1_61_0/boost/serialization/stack.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/stack.hpp
deleted file mode 100644
index aea3ba8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/stack.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_STACK_HPP
-#define BOOST_SERIALIZATION_STACK_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
-// stack.hpp
-
-// (C) Copyright 2014 Robert Ramey - http://www.rrsd.com .
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org for updates, documentation, and revision history.
-
-#include <stack>
-#include <boost/config.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 {
-namespace detail{
-
-template <typename U, typename C>
-struct stack_save : public STD::stack<U, C> {
-    template<class Archive>
-    void operator()(Archive & ar, const unsigned int file_version) const {
-        save(ar, STD::stack<U, C>::c, file_version);
-    }
-};
-template <typename U, typename C>
-struct stack_load : public STD::stack<U, C> {
-    template<class Archive>
-    void operator()(Archive & ar, const unsigned int file_version) {
-        load(ar, STD::stack<U, C>::c, file_version);
-    }
-};
-
-} // detail
-
-template<class Archive, class T, class C>
-inline void serialize(
-    Archive & ar,
-    std::stack< T, C> & t,
-    const unsigned int file_version 
-){
-    typedef typename mpl::eval_if<
-        typename Archive::is_saving,
-        mpl::identity<detail::stack_save<T, C> >,
-        mpl::identity<detail::stack_load<T, C> >
-    >::type typex;
-    static_cast<typex &>(t)(ar, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(STD::stack)
-
-#undef STD
-
-#endif // BOOST_SERIALIZATION_DEQUE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/state_saver.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/state_saver.hpp
deleted file mode 100644
index 248b8d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/state_saver.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef BOOST_SERIALIZATION_STATE_SAVER_HPP
-#define BOOST_SERIALIZATION_STATE_SAVER_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// state_saver.hpp:
-
-// (C) Copyright 2003-4 Pavel Vozenilek and Robert Ramey - http://www.rrsd.com.
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (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 updates, documentation, and revision history.
-
-// Inspired by Daryle Walker's iostate_saver concept.  This saves the original
-// value of a variable when a state_saver is constructed and restores
-// upon destruction.  Useful for being sure that state is restored to
-// variables upon exit from scope.
-
-
-#include <boost/config.hpp>
-#ifndef BOOST_NO_EXCEPTIONS
-    #include <exception>
-#endif
-
-#include <boost/call_traits.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/type_traits/has_nothrow_copy.hpp>
-#include <boost/core/no_exceptions_support.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost {
-namespace serialization {
-
-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:
-    const T previous_value;
-    T & previous_ref;
-
-    struct restore {
-        static void invoke(T & previous_ref, const T & previous_value){
-            previous_ref = previous_value; // won't throw
-        }
-    };
-
-    struct restore_with_exception {
-        static void invoke(T & previous_ref, const T & previous_value){
-            BOOST_TRY{
-                previous_ref = previous_value;
-            } 
-            BOOST_CATCH(::std::exception &) { 
-                // we must ignore it - we are in destructor
-            }
-            BOOST_CATCH_END
-        }
-    };
-
-public:
-    state_saver(
-        T & object
-    ) : 
-        previous_value(object),
-        previous_ref(object) 
-    {}
-    
-    ~state_saver() {
-        #ifndef BOOST_NO_EXCEPTIONS
-            typedef typename mpl::eval_if<
-                has_nothrow_copy< T >,
-                mpl::identity<restore>,
-                mpl::identity<restore_with_exception>
-            >::type typex;
-            typex::invoke(previous_ref, previous_value);
-        #else
-            previous_ref = previous_value;
-        #endif
-    }
-
-}; // state_saver<>
-
-} // serialization
-} // boost
-
-#endif //BOOST_SERIALIZATION_STATE_SAVER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/static_warning.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/static_warning.hpp
deleted file mode 100644
index 1d9238f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/static_warning.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef BOOST_SERIALIZATION_STATIC_WARNING_HPP
-#define BOOST_SERIALIZATION_STATIC_WARNING_HPP
-
-//  (C) Copyright Robert Ramey 2003. Jonathan Turkanis 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
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-// http://www.boost.org/LICENSE_1_0.txt)
-
-//  See http://www.boost.org/libs/static_assert for documentation.
-
-/*
- Revision history:
-   15 June  2003 - Initial version.
-   31 March 2004 - improved diagnostic messages and portability 
-                   (Jonathan Turkanis)
-   03 April 2004 - works on VC6 at class and namespace scope
-                 - ported to DigitalMars
-                 - static warnings disabled by default; when enabled,
-                   uses pragmas to enable required compiler warnings
-                   on MSVC, Intel, Metrowerks and Borland 5.x.
-                   (Jonathan Turkanis)
-   30 May 2004   - tweaked for msvc 7.1 and gcc 3.3
-                 - static warnings ENabled by default; when enabled,
-                   (Robert Ramey)
-*/
-
-#include <boost/config.hpp>
-
-//
-// Implementation
-// Makes use of the following warnings:
-//  1. GCC prior to 3.3: division by zero.
-//  2. BCC 6.0 preview: unreferenced local variable.
-//  3. DigitalMars: returning address of local automatic variable.
-//  4. VC6: class previously seen as struct (as in 'boost/mpl/print.hpp')
-//  5. All others: deletion of pointer to incomplete type.
-//
-// The trick is to find code which produces warnings containing the name of
-// a structure or variable. Details, with same numbering as above:
-// 1. static_warning_impl<B>::value is zero iff B is false, so diving an int
-//    by this value generates a warning iff B is false.
-// 2. static_warning_impl<B>::type has a constructor iff B is true, so an
-//    unreferenced variable of this type generates a warning iff B is false.
-// 3. static_warning_impl<B>::type overloads operator& to return a dynamically
-//    allocated int pointer only is B is true, so  returning the address of an
-//    automatic variable of this type generates a warning iff B is fasle.
-// 4. static_warning_impl<B>::STATIC_WARNING is decalred as a struct iff B is 
-//    false. 
-// 5. static_warning_impl<B>::type is incomplete iff B is false, so deleting a
-//    pointer to this type generates a warning iff B is false.
-//
-
-//------------------Enable selected warnings----------------------------------//
-
-// Enable the warnings relied on by BOOST_STATIC_WARNING, where possible.
-
-// 6. replaced implementation with one which depends solely on
-//    mpl::print<>.  The previous one was found to fail for functions
-//    under recent versions of gcc and intel compilers - Robert Ramey
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/print.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/bool_fwd.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost {
-namespace serialization {
-
-template<int L> 
-struct BOOST_SERIALIZATION_STATIC_WARNING_LINE{};
-
-template<bool B, int L>
-struct static_warning_test{
-    typename boost::mpl::eval_if_c<
-        B,
-        boost::mpl::true_,
-        typename boost::mpl::identity<
-            boost::mpl::print<
-                BOOST_SERIALIZATION_STATIC_WARNING_LINE<L>
-            >
-        >
-    >::type type;
-};
-
-template<int i>
-struct BOOST_SERIALIZATION_SS {};
-
-} // serialization
-} // boost
-
-#define BOOST_SERIALIZATION_BSW(B, L) \
-    typedef boost::serialization::BOOST_SERIALIZATION_SS< \
-        sizeof( boost::serialization::static_warning_test< B, L > ) \
-    > BOOST_JOIN(STATIC_WARNING_LINE, L) BOOST_ATTRIBUTE_UNUSED; 
-#define BOOST_STATIC_WARNING(B) BOOST_SERIALIZATION_BSW(B, __LINE__)
-
-#endif // BOOST_SERIALIZATION_STATIC_WARNING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/string.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/string.hpp
deleted file mode 100644
index 76e695d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/string.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_STRING_HPP
-#define BOOST_SERIALIZATION_STRING_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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
-
-#endif // BOOST_SERIALIZATION_STRING_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/strong_typedef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/strong_typedef.hpp
deleted file mode 100644
index c1bf184..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/strong_typedef.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef BOOST_SERIALIZATION_STRONG_TYPEDEF_HPP
-#define BOOST_SERIALIZATION_STRONG_TYPEDEF_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// strong_typedef.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/libs/serialization for updates, documentation, and revision history.
-
-// macro used to implement a strong typedef.  strong typedef
-// guarentees that two types are distinguised even though the
-// share the same underlying implementation.  typedef does not create
-// a new type.  BOOST_STRONG_TYPEDEF(T, D) creates a new type named D
-// that operates as a type T.
-
-#include <boost/config.hpp>
-#include <boost/operators.hpp>
-
-#define BOOST_STRONG_TYPEDEF(T, D)                              \
-struct D                                                        \
-    : boost::totally_ordered1< D                                \
-    , boost::totally_ordered2< D, T                             \
-    > >                                                         \
-{                                                               \
-    T t;                                                        \
-    explicit D(const T t_) : t(t_) {};                          \
-    D(): t() {};                                                \
-    D(const D & t_) : t(t_.t){}                                 \
-    D & operator=(const D & rhs) { t = rhs.t; return *this;}    \
-    D & operator=(const T & rhs) { t = rhs; return *this;}      \
-    operator const T & () const {return t; }                    \
-    operator T & () { return t; }                               \
-    bool operator==(const D & rhs) const { return t == rhs.t; } \
-    bool operator<(const D & rhs) const { return t < rhs.t; }   \
-};
-
-#endif // BOOST_SERIALIZATION_STRONG_TYPEDEF_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/throw_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/throw_exception.hpp
deleted file mode 100644
index b67618a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/throw_exception.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef BOOST_SERIALIZATION_THROW_EXCEPTION_HPP_INCLUDED
-#define BOOST_SERIALIZATION_THROW_EXCEPTION_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-//  boost/throw_exception.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/config.hpp>
-
-#ifndef BOOST_NO_EXCEPTIONS
-#include <exception>
-#endif
-
-namespace boost {
-namespace serialization {
-
-#ifdef BOOST_NO_EXCEPTIONS
-
-inline void throw_exception(std::exception const & e) {
-    ::boost::throw_exception(e);
-}
-
-#else
-
-template<class E> inline void throw_exception(E const & e){
-    throw e;
-}
-
-#endif
-
-} // namespace serialization
-} // namespace boost
-
-#endif // #ifndef BOOST_SERIALIZATION_THROW_EXCEPTION_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/tracking.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/tracking.hpp
deleted file mode 100644
index d5c79b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 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
-        typename mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits, T>,
-            traits_class_tracking< T >,
-        //else
-        typename mpl::eval_if<
-            is_pointer< T >,
-            // pointers are not tracked by default
-            mpl::int_<track_never>,
-        //else
-        typename mpl::eval_if<
-            // for primitives
-            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/rbgl_trimmed_boost_1_61_0/boost/serialization/tracking_enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/tracking_enum.hpp
deleted file mode 100644
index 278051e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/tracking_enum.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef BOOST_SERIALIZATION_TRACKING_ENUM_HPP
-#define BOOST_SERIALIZATION_TRACKING_ENUM_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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
-};
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_TRACKING_ENUM_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/traits.hpp
deleted file mode 100644
index 9e114fd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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_fwd.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 typename mpl::int_<Level> level;
-    typedef typename mpl::int_<Tracking> tracking;
-    typedef 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/rbgl_trimmed_boost_1_61_0/boost/serialization/type_info_implementation.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/type_info_implementation.hpp
deleted file mode 100644
index 24637a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/type_info_implementation.hpp
+++ /dev/null
@@ -1,73 +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)
-# 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 typename U::type_info_implementation::type type;
-    };
-    // note: at least one compiler complained w/o the full qualification
-    // on basic traits below
-    typedef 
-        typename mpl::eval_if<
-            is_base_and_derived<boost::serialization::basic_traits, T>,
-            traits_class_typeinfo_implementation< T >,
-        //else
-            mpl::identity<
-                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. 
-#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 /// BOOST_SERIALIZATION_TYPE_INFO_IMPLEMENTATION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unique_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unique_ptr.hpp
deleted file mode 100644
index 8d8703e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unique_ptr.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_UNIQUE_PTR_HPP
-#define BOOST_SERIALIZATION_UNIQUE_PTR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// unique_ptr.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 <memory>
-#include <boost/serialization/split_free.hpp>
-#include <boost/serialization/nvp.hpp>
-
-namespace boost {
-namespace serialization {
-
-/////////////////////////////////////////////////////////////
-// implement serialization for unique_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::unique_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 << BOOST_SERIALIZATION_NVP(tx);
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    std::unique_ptr< T > &t,
-    const unsigned int /*file_version*/
-){
-    T *tx;
-    ar >> BOOST_SERIALIZATION_NVP(tx);
-    // note that the reset automagically maintains the reference count
-    t.reset(tx);
-}
-
-// 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::unique_ptr< T > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-
-#endif // BOOST_SERIALIZATION_UNIQUE_PTR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_collections_load_imp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_collections_load_imp.hpp
deleted file mode 100644
index 48c568d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_collections_load_imp.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef BOOST_SERIALIZATION_UNORDERED_COLLECTIONS_LOAD_IMP_HPP
-#define BOOST_SERIALIZATION_UNORDERED_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
-// unordered_collections_load_imp.hpp: serialization for loading stl collections
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_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
-//
-template<class Archive, class Container, class InputFunction>
-inline void load_unordered_collection(Archive & ar, Container &s)
-{
-    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
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    ar >> BOOST_SERIALIZATION_NVP(bucket_count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    s.clear();
-    s.rehash(bucket_count);
-    InputFunction ifunc;
-    while(count-- > 0){
-        ifunc(ar, s, item_version);
-    }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_UNORDERED_COLLECTIONS_LOAD_IMP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_collections_save_imp.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_collections_save_imp.hpp
deleted file mode 100644
index 56746eb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_collections_save_imp.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef BOOST_SERIALIZATION_UNORDERED_COLLECTIONS_SAVE_IMP_HPP
-#define BOOST_SERIALIZATION_UNORDERED_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 . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_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_unordered_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<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
-	ar << BOOST_SERIALIZATION_NVP(count);
-	ar << BOOST_SERIALIZATION_NVP(bucket_count);
-    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
-
-    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<
-                typename Container::value_type
-            >::value
-        );
-        ar << boost::serialization::make_nvp("item", *it++);
-    }
-}
-
-} // namespace stl 
-} // namespace serialization
-} // namespace boost
-
-#endif //BOOST_SERIALIZATION_UNORDERED_COLLECTIONS_SAVE_IMP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_map.hpp
deleted file mode 100644
index 4fdbddd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_map.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_UNORDERED_MAP_HPP
-#define BOOST_SERIALIZATION_UNORDERED_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/unordered_map.hpp:
-// serialization for stl unordered_map templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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 <unordered_map>
-
-#include <boost/serialization/utility.hpp>
-#include <boost/serialization/unordered_collections_save_imp.hpp>
-#include <boost/serialization/unordered_collections_load_imp.hpp>
-#include <boost/serialization/archive_input_unordered_map.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const std::unordered_map<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        std::unordered_map<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    std::unordered_map<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        std::unordered_map<Key, HashFcn, EqualKey, Allocator>,
-        boost::serialization::stl::archive_input_unordered_map<
-            Archive, 
-            std::unordered_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,
-    std::unordered_map<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-// unordered_multimap
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const std::unordered_multimap<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        std::unordered_multimap<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    std::unordered_multimap<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        std::unordered_multimap<
-            Key, HashFcn, EqualKey, Allocator
-        >,
-        boost::serialization::stl::archive_input_unordered_multimap<
-            Archive, 
-            std::unordered_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,
-    std::unordered_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_SERIALIZATION_UNORDERED_MAP_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_set.hpp
deleted file mode 100644
index adfee60..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/unordered_set.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_UNORDERED_SET_HPP
-#define BOOST_SERIALIZATION_UNORDERED_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
-// unordered_set.hpp: serialization for stl unordered_set templates
-
-// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . 
-// (C) Copyright 2014 Jim Bell
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.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 <unordered_set>
-
-#include <boost/serialization/unordered_collections_save_imp.hpp>
-#include <boost/serialization/unordered_collections_load_imp.hpp>
-#include <boost/serialization/archive_input_unordered_set.hpp>
-#include <boost/serialization/split_free.hpp>
-
-namespace boost { 
-namespace serialization {
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const std::unordered_set<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::save_unordered_collection<
-        Archive, 
-        std::unordered_set<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    std::unordered_set<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        std::unordered_set<Key, HashFcn, EqualKey, Allocator>,
-        stl::archive_input_unordered_set<
-            Archive, 
-            std::unordered_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,
-    std::unordered_set<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int file_version
-){
-    split_free(ar, t, file_version);
-}
-
-// unordered_multiset
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void save(
-    Archive & ar,
-    const std::unordered_multiset<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    stl::save_unordered_collection<
-        Archive, 
-        std::unordered_multiset<Key, HashFcn, EqualKey, Allocator>
-    >(ar, t);
-}
-
-template<
-    class Archive, 
-    class Key, 
-    class HashFcn, 
-    class EqualKey,
-    class Allocator
->
-inline void load(
-    Archive & ar,
-    std::unordered_multiset<
-        Key, HashFcn, EqualKey, Allocator
-    > &t,
-    const unsigned int /*file_version*/
-){
-    boost::serialization::stl::load_unordered_collection<
-        Archive,
-        std::unordered_multiset<Key, HashFcn, EqualKey, Allocator>,
-        boost::serialization::stl::archive_input_unordered_multiset<
-            Archive,
-            std::unordered_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,
-    std::unordered_multiset<Key, HashFcn, EqualKey, Allocator> &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_SERIALIZATION_UNORDERED_SET_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/utility.hpp
deleted file mode 100644
index 4867a4a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 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/rbgl_trimmed_boost_1_61_0/boost/serialization/valarray.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/valarray.hpp
deleted file mode 100644
index efe102f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/serialization/variant.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/variant.hpp
deleted file mode 100644
index dce6f3d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/variant.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef BOOST_SERIALIZATION_VARIANT_HPP
-#define BOOST_SERIALIZATION_VARIANT_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#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);
-    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 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 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 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 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/rbgl_trimmed_boost_1_61_0/boost/serialization/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/vector.hpp
deleted file mode 100644
index a173754..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/vector.hpp
+++ /dev/null
@@ -1,227 +0,0 @@
-#ifndef  BOOST_SERIALIZATION_VECTOR_HPP
-#define BOOST_SERIALIZATION_VECTOR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# 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/archive/detail/basic_iarchive.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/collection_size_type.hpp>
-#include <boost/serialization/item_version_type.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/serialization/detail/stack_constructor.hpp>
-#include <boost/mpl/bool_fwd.hpp>
-#include <boost/mpl/if.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
-
-// 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
-// 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_
-){
-    const boost::archive::library_version_type library_version(
-        ar.get_library_version()
-    );
-    // retrieve number of elements
-    item_version_type item_version(0);
-    collection_size_type count;
-    ar >> BOOST_SERIALIZATION_NVP(count);
-    if(boost::archive::library_version_type(3) < library_version){
-        ar >> BOOST_SERIALIZATION_NVP(item_version);
-    }
-    t.reserve(count);
-    stl::collection_load_impl(ar, t, count, item_version);
-}
-
-// 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 << boost::serialization::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 >> boost::serialization::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 typename 
-    boost::serialization::use_array_optimization<Archive>::template apply<
-        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 typename 
-    boost::serialization::use_array_optimization<Archive>::template apply<
-        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);
-}
-
-/////////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.resize(count);
-    for(collection_size_type i = collection_size_type(0); i < count; ++i){
-        bool b;
-        ar >> boost::serialization::make_nvp("item", b);
-        t[i] = b;
-    }
-}
-
-// 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);
-}
-
-} // serialization
-} // namespace boost
-
-#include <boost/serialization/collection_traits.hpp>
-
-BOOST_SERIALIZATION_COLLECTION_TRAITS(std::vector)
-#undef STD
-
-#endif // BOOST_SERIALIZATION_VECTOR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/vector_135.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/vector_135.hpp
deleted file mode 100644
index fd1a739..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/serialization/version.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/version.hpp
deleted file mode 100644
index 21a74d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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 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
-        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/rbgl_trimmed_boost_1_61_0/boost/serialization/void_cast.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/void_cast.hpp
deleted file mode 100644
index f1b3828..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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_SYMBOL_VISIBLE 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:
-    BOOST_SERIALIZATION_DECL void recursive_register(bool includes_virtual_base = false) const;
-    BOOST_SERIALIZATION_DECL 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 BOOST_SYMBOL_VISIBLE 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 displace 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 *>(8)
-            )
-        ) - 8
-    )
-{
-    recursive_register();
-}
-
-template <class Derived, class Base>
-void_caster_primitive<Derived, Base>::~void_caster_primitive(){
-    recursive_unregister();
-}
-
-template <class Derived, class Base>
-class BOOST_SYMBOL_VISIBLE 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 BOOST_SYMBOL_VISIBLE void_caster_base :
-    public void_caster
-{
-    typedef
-        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
-        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 BOOST_SYMBOL_VISIBLE 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/rbgl_trimmed_boost_1_61_0/boost/serialization/void_cast_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/void_cast_fwd.hpp
deleted file mode 100644
index def61d5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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)
-# 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/rbgl_trimmed_boost_1_61_0/boost/serialization/weak_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/weak_ptr.hpp
deleted file mode 100644
index 6952d24..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/weak_ptr.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef BOOST_SERIALIZATION_WEAK_PTR_HPP
-#define BOOST_SERIALIZATION_WEAK_PTR_HPP
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// weak_ptr.hpp: serialization for boost weak 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
-
-#ifndef BOOST_NO_CXX11_SMART_PTR
-#include <memory>
-
-namespace boost {
-namespace serialization{
-
-template<class Archive, class T>
-inline void save(
-    Archive & ar,
-    const std::weak_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    const std::shared_ptr< T > sp = t.lock();
-    ar << boost::serialization::make_nvp("weak_ptr", sp);
-}
-
-template<class Archive, class T>
-inline void load(
-    Archive & ar,
-    std::weak_ptr< T > &t,
-    const unsigned int /* file_version */
-){
-    std::shared_ptr< T > sp;
-    ar >> boost::serialization::make_nvp("weak_ptr", sp);
-    t = sp;
-}
-
-template<class Archive, class T>
-inline void serialize(
-    Archive & ar,
-    std::weak_ptr< T > &t,
-    const unsigned int file_version
-){
-    boost::serialization::split_free(ar, t, file_version);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif // BOOST_NO_CXX11_SMART_PTR
-
-#endif // BOOST_SERIALIZATION_WEAK_PTR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/serialization/wrapper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/serialization/wrapper.hpp
deleted file mode 100644
index 60d7910..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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_fwd.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 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/rbgl_trimmed_boost_1_61_0/boost/shared_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/shared_array.hpp
deleted file mode 100644
index 0700ce4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/shared_container_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/shared_container_iterator.hpp
deleted file mode 100644
index e803bd6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/shared_container_iterator.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// (C) Copyright Ronald Garcia 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.
-
-// See http://www.boost.org/libs/utility/shared_container_iterator.html for documentation.
-
-#ifndef SHARED_CONTAINER_ITERATOR_RG08102002_HPP
-#define SHARED_CONTAINER_ITERATOR_RG08102002_HPP
-
-#include "boost/iterator_adaptors.hpp"
-#include "boost/shared_ptr.hpp"
-#include <utility>
-
-namespace boost {
-namespace iterators {
-
-template <typename Container>
-class shared_container_iterator : public iterator_adaptor<
-                                    shared_container_iterator<Container>,
-                                    typename Container::iterator> {
-
-  typedef iterator_adaptor<
-    shared_container_iterator<Container>,
-    typename Container::iterator> super_t;
-
-  typedef typename Container::iterator iterator_t;
-  typedef boost::shared_ptr<Container> container_ref_t;
-
-  container_ref_t container_ref;
-public:
-  shared_container_iterator() { }
-
-  shared_container_iterator(iterator_t const& x,container_ref_t const& c) :
-    super_t(x), container_ref(c) { }
-
-
-};
-
-template <typename Container>
-inline shared_container_iterator<Container>
-make_shared_container_iterator(typename Container::iterator iter,
-                               boost::shared_ptr<Container> const& container) {
-  typedef shared_container_iterator<Container> iterator;
-  return iterator(iter,container);
-}
-
-
-
-template <typename Container>
-inline std::pair<
-  shared_container_iterator<Container>,
-  shared_container_iterator<Container> >
-make_shared_container_range(boost::shared_ptr<Container> const& container) {
-  return
-    std::make_pair(
-      make_shared_container_iterator(container->begin(),container),
-      make_shared_container_iterator(container->end(),container));
-}
-
-} // namespace iterators
-
-using iterators::shared_container_iterator;
-using iterators::make_shared_container_iterator;
-using iterators::make_shared_container_range;
-
-} // namespace boost
-
-#endif  // SHARED_CONTAINER_ITERATOR_RG08102002_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/shared_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/shared_ptr.hpp
deleted file mode 100644
index d31978c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/signal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/signal.hpp
deleted file mode 100644
index 7b31f36..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/signal.hpp
+++ /dev/null
@@ -1,366 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 2001-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/signals
-
-#ifndef BOOST_SIGNAL_HPP
-#define BOOST_SIGNAL_HPP
-
-#ifndef BOOST_SIGNALS_NO_DEPRECATION_WARNING
-# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-#  pragma message ("Warning: Boost.Signals is no longer being maintained and is now deprecated. Please switch to Boost.Signals2. To disable this warning message, define BOOST_SIGNALS_NO_DEPRECATION_WARNING.")
-# elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
-#  warning                  "Boost.Signals is no longer being maintained and is now deprecated. Please switch to Boost.Signals2. To disable this warning message, define BOOST_SIGNALS_NO_DEPRECATION_WARNING."
-# endif
-#endif
-
-#ifndef BOOST_SIGNALS_MAX_ARGS
-#  define BOOST_SIGNALS_MAX_ARGS 10
-#endif
-
-#include <boost/config.hpp>
-#include <boost/type_traits/function_traits.hpp>
-#include <boost/signals/signal0.hpp>
-#include <boost/signals/signal1.hpp>
-#include <boost/signals/signal2.hpp>
-#include <boost/signals/signal3.hpp>
-#include <boost/signals/signal4.hpp>
-#include <boost/signals/signal5.hpp>
-#include <boost/signals/signal6.hpp>
-#include <boost/signals/signal7.hpp>
-#include <boost/signals/signal8.hpp>
-#include <boost/signals/signal9.hpp>
-#include <boost/signals/signal10.hpp>
-#include <boost/function.hpp>
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
-#endif
-
-namespace boost {
-#ifndef BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
-  namespace BOOST_SIGNALS_NAMESPACE {
-    namespace detail {
-      template<int Arity,
-               typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl;
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<0, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal0<typename traits::result_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<1, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal1<typename traits::result_type,
-                        typename traits::arg1_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<2, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal2<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<3, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal3<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<4, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal4<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        typename traits::arg4_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<5, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal5<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        typename traits::arg4_type,
-                        typename traits::arg5_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<6, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal6<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        typename traits::arg4_type,
-                        typename traits::arg5_type,
-                        typename traits::arg6_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<7, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal7<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        typename traits::arg4_type,
-                        typename traits::arg5_type,
-                        typename traits::arg6_type,
-                        typename traits::arg7_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<8, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal8<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        typename traits::arg4_type,
-                        typename traits::arg5_type,
-                        typename traits::arg6_type,
-                        typename traits::arg7_type,
-                        typename traits::arg8_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<9, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal9<typename traits::result_type,
-                        typename traits::arg1_type,
-                        typename traits::arg2_type,
-                        typename traits::arg3_type,
-                        typename traits::arg4_type,
-                        typename traits::arg5_type,
-                        typename traits::arg6_type,
-                        typename traits::arg7_type,
-                        typename traits::arg8_type,
-                        typename traits::arg9_type,
-                        Combiner,
-                        Group,
-                        GroupCompare,
-                        SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      class real_get_signal_impl<10, Signature, Combiner, Group, GroupCompare,
-                                 SlotFunction>
-      {
-        typedef function_traits<Signature> traits;
-
-      public:
-        typedef signal10<typename traits::result_type,
-                         typename traits::arg1_type,
-                         typename traits::arg2_type,
-                         typename traits::arg3_type,
-                         typename traits::arg4_type,
-                         typename traits::arg5_type,
-                         typename traits::arg6_type,
-                         typename traits::arg7_type,
-                         typename traits::arg8_type,
-                         typename traits::arg9_type,
-                         typename traits::arg10_type,
-                         Combiner,
-                         Group,
-                         GroupCompare,
-                         SlotFunction> type;
-      };
-
-      template<typename Signature,
-               typename Combiner,
-               typename Group,
-               typename GroupCompare,
-               typename SlotFunction>
-      struct get_signal_impl :
-        public real_get_signal_impl<(function_traits<Signature>::arity),
-                                    Signature,
-                                    Combiner,
-                                    Group,
-                                    GroupCompare,
-                                    SlotFunction>
-      {
-      };
-
-    } // end namespace detail
-  } // end namespace BOOST_SIGNALS_NAMESPACE
-
-  // Very lightweight wrapper around the signalN classes that allows signals to
-  // be created where the number of arguments does not need to be part of the
-  // class name.
-  template<
-    typename Signature, // function type R (T1, T2, ..., TN)
-    typename Combiner = last_value<typename function_traits<Signature>::result_type>,
-    typename Group = int,
-    typename GroupCompare = std::less<Group>,
-    typename SlotFunction = function<Signature>
-  >
-  class signal :
-    public BOOST_SIGNALS_NAMESPACE::detail::get_signal_impl<Signature,
-                                                            Combiner,
-                                                            Group,
-                                                            GroupCompare,
-                                                            SlotFunction>::type
-  {
-    typedef typename BOOST_SIGNALS_NAMESPACE::detail::get_signal_impl<
-                       Signature,
-                       Combiner,
-                       Group,
-                       GroupCompare,
-                       SlotFunction>::type base_type;
-
-  public:
-    explicit signal(const Combiner& combiner = Combiner(),
-                    const GroupCompare& group_compare = GroupCompare()) :
-      base_type(combiner, group_compare)
-    {
-    }
-  };
-#endif // ndef BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
-
-} // end namespace boost
-
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
-#endif
-
-#endif // BOOST_SIGNAL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/signals.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/signals.hpp
deleted file mode 100644
index 7e83ed5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/signals.hpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// Boost.Signals library
-
-// Copyright Douglas Gregor 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/signals
-#include <boost/signal.hpp>
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/signals2.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/signals2.hpp
deleted file mode 100644
index 22b1119..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/signals2.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//  A convenience header for Boost.Signals2, should pull in everying in the library.
-
-//  Copyright (c) 2008-2009 Frank Mori Hess
-
-// Use, modification and
-// distribution is subject to the 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_SIGNALS2_HPP
-#define BOOST_SIGNALS2_HPP
-
-// For documentation, see http://www.boost.org/libs/signals2/
-
-#include <boost/signals2/deconstruct.hpp>
-#include <boost/signals2/deconstruct_ptr.hpp>
-#include <boost/signals2/dummy_mutex.hpp>
-#include <boost/signals2/last_value.hpp>
-#include <boost/signals2/signal.hpp>
-#include <boost/signals2/signal_type.hpp>
-#include <boost/signals2/shared_connection_block.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr.hpp
deleted file mode 100644
index b5e569d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/allocate_shared_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/allocate_shared_array.hpp
deleted file mode 100644
index 1ae5cc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/allocate_shared_array.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Glen Joseph Fernandes
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License,
- * Version 1.0. (See accompanying file LICENSE_1_0.txt
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
-#define BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
-
-#include <boost/smart_ptr/detail/array_count_impl.hpp>
-#include <boost/smart_ptr/detail/sp_if_array.hpp>
-
-namespace boost {
-    template<class T, class A>
-    inline typename boost::detail::sp_if_array<T>::type
-    allocate_shared(const A& allocator, std::size_t size) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_init_tag R1;
-        typedef boost::detail::as_allocator<A, T, R1> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        std::size_t n1 = size * boost::detail::array_total<T1>::size;
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(allocator, size, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        boost::detail::as_init(allocator, p2, n1);
-#else
-        boost::detail::ms_init(p2, n1);
-#endif
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T, class A>
-    inline typename boost::detail::sp_if_size_array<T>::type
-    allocate_shared(const A& allocator) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_init_tag R1;
-        typedef boost::detail::as_allocator<A, T, R1> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            N = boost::detail::array_total<T>::size
-        };
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(allocator, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        boost::detail::as_init(allocator, p2, N);
-#else
-        boost::detail::ms_init(p2, N);
-#endif
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T, class A>
-    inline typename boost::detail::sp_if_array<T>::type
-    allocate_shared(const A& allocator, std::size_t size,
-        const typename boost::detail::array_inner<T>::type& value) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef const T2 T3;
-        typedef boost::detail::ms_init_tag R1;
-        typedef boost::detail::as_allocator<A, T, R1> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            M = boost::detail::array_total<T1>::size
-        };
-        std::size_t n1 = M * size;
-        T1* p1 = 0;
-        T2* p2 = 0;
-        T3* p3 = reinterpret_cast<T3*>(&value);
-        D1 d1;
-        A1 a1(allocator, size, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        boost::detail::as_init<T2, A, M>(allocator, p2, n1, p3);
-#else
-        boost::detail::ms_init<T2, M>(p2, n1, p3);
-#endif
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T, class A>
-    inline typename boost::detail::sp_if_size_array<T>::type
-    allocate_shared(const A& allocator, 
-        const typename boost::detail::array_inner<T>::type& value) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef const T2 T3;
-        typedef boost::detail::ms_init_tag R1;
-        typedef boost::detail::as_allocator<A, T, R1> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            N = boost::detail::array_total<T>::size,
-            M = boost::detail::array_total<T1>::size
-        };
-        T1* p1 = 0;
-        T2* p2 = 0;
-        T3* p3 = reinterpret_cast<T3*>(&value);
-        D1 d1;
-        A1 a1(allocator, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        boost::detail::as_init<T2, A, M>(allocator, p2, N, p3);
-#else
-        boost::detail::ms_init<T2,  M>(p2, N, p3);
-#endif
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T, class A>
-    inline typename boost::detail::sp_if_array<T>::type
-    allocate_shared_noinit(const A& allocator, std::size_t size) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_noinit_tag R1;
-        typedef boost::detail::as_allocator<A, T, R1> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        std::size_t n1 = size * boost::detail::array_total<T1>::size;
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(allocator, size, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_noinit(p2, n1);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T, class A>
-    inline typename boost::detail::sp_if_size_array<T>::type
-    allocate_shared_noinit(const A& allocator) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_noinit_tag R1;
-        typedef boost::detail::as_allocator<A, T, R1> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            N = boost::detail::array_total<T>::size
-        };
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(allocator, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_noinit(p2, N);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/bad_weak_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/bad_weak_ptr.hpp
deleted file mode 100644
index 3e0a1b7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_allocator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_allocator.hpp
deleted file mode 100644
index 7147996..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_allocator.hpp
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Glen Joseph Fernandes 
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License, 
- * Version 1.0. (See accompanying file LICENSE_1_0.txt 
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_ALLOCATOR_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_ALLOCATOR_HPP
-
-#include <boost/align/align.hpp>
-#include <boost/smart_ptr/detail/array_traits.hpp>
-#include <boost/smart_ptr/detail/array_utility.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-
-namespace boost {
-    namespace detail {
-        struct ms_init_tag   { };
-        struct ms_noinit_tag { };
-
-        template<class T>
-        struct ms_allocator_state;
-
-        template<class T>
-        struct ms_allocator_state<T[]> {
-            typedef typename array_base<T>::type type;
-
-            ms_allocator_state(std::size_t size_,
-                type** result_)
-                : size(size_ * array_total<T>::size),
-                  result(result_) {
-            }
-
-            std::size_t size;
-
-            union {
-                type** result;
-                type* object;
-            };
-        };
-
-        template<class T, std::size_t N>
-        struct ms_allocator_state<T[N]> {
-            typedef typename array_base<T>::type type;
-
-            ms_allocator_state(type** result_)
-                : result(result_) {
-            }
-
-            enum {
-                size = array_total<T[N]>::size
-            };
-
-            union {
-                type** result;
-                type* object;
-            };
-        };
-
-        template<class A, class T, class R>
-        class as_allocator
-            : public A {
-            template<class A_, class T_, class R_>
-            friend class as_allocator;
-
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-            typedef std::allocator_traits<A> AT;
-            typedef typename AT::template rebind_alloc<char> CA;
-            typedef typename AT::template rebind_traits<char> CT;
-#else
-            typedef typename A::template rebind<char>::other CA;
-#endif
-
-        public:
-            typedef A allocator_type;
-
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-            typedef typename AT::value_type value_type;
-            typedef typename AT::pointer pointer;
-            typedef typename AT::const_pointer const_pointer;
-            typedef typename AT::void_pointer void_pointer;
-            typedef typename AT::const_void_pointer const_void_pointer;
-            typedef typename AT::size_type size_type;
-            typedef typename AT::difference_type difference_type;
-#else
-            typedef typename A::value_type value_type;
-            typedef typename A::pointer pointer;
-            typedef typename A::const_pointer const_pointer;
-            typedef typename A::size_type size_type;
-            typedef typename A::difference_type difference_type;
-            typedef typename A::reference reference;
-            typedef typename A::const_reference const_reference;
-            typedef void* void_pointer;
-            typedef const void* const_void_pointer;
-#endif
-
-            template<class U>
-            struct rebind {
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-                typedef as_allocator<typename AT::
-                    template rebind_alloc<U>, T, R> other;
-#else
-                typedef as_allocator<typename A::
-                    template rebind<U>::other, T, R> other;
-#endif
-            };
-
-            typedef typename array_base<T>::type type;
-
-            as_allocator(const A& allocator_, type** result)
-                : A(allocator_),
-                  data(result) {
-            }
-
-            as_allocator(const A& allocator_, std::size_t size,
-                type** result)
-                : A(allocator_),
-                  data(size, result) {
-            }
-
-            template<class U>
-            as_allocator(const as_allocator<U, T, R>& other)
-                : A(other.allocator()),
-                  data(other.data) {
-            }
-
-            pointer allocate(size_type count, const_void_pointer = 0) {
-                enum {
-                    M = boost::alignment_of<type>::value
-                };
-                std::size_t n1 = count * sizeof(value_type);
-                std::size_t n2 = data.size * sizeof(type);
-                std::size_t n3 = n2 + M;
-                CA ca(allocator());
-                void* p1 = ca.allocate(n1 + n3);
-                void* p2 = static_cast<char*>(p1) + n1;
-                (void)boost::alignment::align(M, n2, p2, n3);
-                *data.result = static_cast<type*>(p2);
-                return static_cast<value_type*>(p1);
-            }
-
-            void deallocate(pointer memory, size_type count) {
-                enum {
-                    M = boost::alignment_of<type>::value
-                };
-                std::size_t n1 = count * sizeof(value_type);
-                std::size_t n2 = data.size * sizeof(type) + M;
-                char* p1 = reinterpret_cast<char*>(memory);
-                CA ca(allocator());
-                ca.deallocate(p1, n1 + n2);
-            }
-
-            const A& allocator() const {
-                return static_cast<const A&>(*this);
-            }
-
-            A& allocator() {
-                return static_cast<A&>(*this);
-            }
-
-            void set(type* memory) {
-                data.object = memory;
-            }
-
-            void operator()() {
-                if (data.object) {
-                    R tag;
-                    release(tag);
-                }
-            }
-
-        private:
-            void release(ms_init_tag) {
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-                as_destroy(allocator(), data.object, data.size);
-#else
-                ms_destroy(data.object, data.size);
-#endif
-            }
-
-            void release(ms_noinit_tag) {
-                ms_destroy(data.object, data.size);
-            }
-
-            ms_allocator_state<T> data;
-        };
-
-        template<class A1, class A2, class T, class R>
-        bool operator==(const as_allocator<A1, T, R>& a1,
-            const as_allocator<A2, T, R>& a2) {
-            return a1.allocator() == a2.allocator();
-        }
-
-        template<class A1, class A2, class T, class R>
-        bool operator!=(const as_allocator<A1, T, R>& a1,
-            const as_allocator<A2, T, R>& a2) {
-            return a1.allocator() != a2.allocator();
-        }
-
-        template<class T, class Y = char>
-        class ms_allocator;
-
-        template<class T, class Y>
-        class ms_allocator {
-            template<class T_, class Y_>
-            friend class ms_allocator;
-
-        public:
-            typedef typename array_base<T>::type type;
-
-            typedef Y value_type;
-            typedef Y* pointer;
-            typedef const Y* const_pointer;
-            typedef std::size_t size_type;
-            typedef std::ptrdiff_t difference_type;
-            typedef Y& reference;
-            typedef const Y& const_reference;
-
-            template<class U>
-            struct rebind {
-                typedef ms_allocator<T, U> other;
-            };
-
-            ms_allocator(type** result)
-                : data(result) {
-            }
-
-            ms_allocator(std::size_t size, type** result)
-                : data(size, result) {
-            }
-
-            template<class U>
-            ms_allocator(const ms_allocator<T, U>& other)
-                : data(other.data) {
-            }
-
-            pointer allocate(size_type count, const void* = 0) {
-                enum {
-                    M = boost::alignment_of<type>::value
-                };
-                std::size_t n1 = count * sizeof(Y);
-                std::size_t n2 = data.size * sizeof(type);
-                std::size_t n3 = n2 + M;
-                void* p1 = ::operator new(n1 + n3);
-                void* p2 = static_cast<char*>(p1) + n1;
-                (void)boost::alignment::align(M, n2, p2, n3);
-                *data.result = static_cast<type*>(p2);
-                return static_cast<Y*>(p1);
-            }
-
-            void deallocate(pointer memory, size_type) {
-                void* p1 = memory;
-                ::operator delete(p1);
-            }
-
-#if defined(BOOST_NO_CXX11_ALLOCATOR)
-            pointer address(reference value) const {
-                return &value;
-            }
-
-            const_pointer address(const_reference value) const {
-                return &value;
-            }
-
-            size_type max_size() const {
-                enum {
-                    N = static_cast<std::size_t>(-1) / sizeof(Y)
-                };
-                return N;
-            }
-
-            void construct(pointer memory, const_reference value) {
-                void* p1 = memory;
-                ::new(p1) Y(value);
-            }
-
-            void destroy(pointer memory) {
-                (void)memory;
-                memory->~Y();
-            }
-#endif
-
-            void set(type* memory) {
-                data.object = memory;
-            }
-
-            void operator()() {
-                if (data.object) {
-                    ms_destroy(data.object, data.size);
-                }
-            }
-
-        private:
-            ms_allocator_state<T> data;
-        };
-
-        template<class T, class Y1, class Y2>
-        bool operator==(const ms_allocator<T, Y1>&,
-            const ms_allocator<T, Y2>&) {
-            return true;
-        }
-
-        template<class T, class Y1, class Y2>
-        bool operator!=(const ms_allocator<T, Y1>&,
-            const ms_allocator<T, Y2>&) {
-            return false;
-        }
-
-        class ms_in_allocator_tag {
-        public:
-            void operator()(const void*) {
-            }
-        };
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_count_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_count_impl.hpp
deleted file mode 100644
index b7c9617..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_count_impl.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Joseph Fernandes 
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License, 
- * Version 1.0. (See accompanying file LICENSE_1_0.txt 
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_COUNT_IMPL_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_COUNT_IMPL_HPP
-
-#include <boost/smart_ptr/detail/array_allocator.hpp>
-#include <boost/smart_ptr/detail/sp_counted_impl.hpp>
-
-namespace boost {
-    namespace detail {
-        template<class P, class A>
-        class sp_counted_impl_pda<P, ms_in_allocator_tag, A>
-            : public sp_counted_base {
-            typedef ms_in_allocator_tag D;
-            typedef sp_counted_impl_pda<P, D, A> Y;
-        public:
-            sp_counted_impl_pda(P, D, const A& allocator_)
-                : allocator(allocator_) {
-            }
-
-            virtual void dispose() {
-                allocator();
-            }
-
-            virtual void destroy() {
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-                typedef typename std::allocator_traits<A>::
-                    template rebind_alloc<Y> YA;
-                typedef typename std::allocator_traits<A>::
-                    template rebind_traits<Y> YT;
-#else
-                typedef typename A::template rebind<Y>::other YA;
-#endif
-                YA a1(allocator);
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-                YT::destroy(a1, this);
-                YT::deallocate(a1, this, 1);
-#else
-                this->~Y();
-                a1.deallocate(this, 1);
-#endif                
-            }
-
-            virtual void* get_deleter(const sp_typeinfo&) {
-                return &reinterpret_cast<char&>(allocator);
-            }
-
-            virtual void* get_untyped_deleter() {
-                return &reinterpret_cast<char&>(allocator);
-            }
-
-        private:
-            sp_counted_impl_pda(const sp_counted_impl_pda&);
-            sp_counted_impl_pda& operator=(const sp_counted_impl_pda&);
-
-            A allocator;
-        };
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_traits.hpp
deleted file mode 100644
index 819c5ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_traits.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Glen Joseph Fernandes 
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License, 
- * Version 1.0. (See accompanying file LICENSE_1_0.txt 
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP
-
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost {
-    namespace detail {
-        template<class T>
-        struct array_base {
-            typedef typename boost::remove_cv<T>::type type;
-        };
-
-        template<class T>
-        struct array_base<T[]> {
-            typedef typename array_base<T>::type type;
-        };
-
-        template<class T, std::size_t N>
-        struct array_base<T[N]> {
-            typedef typename array_base<T>::type type;
-        };
-
-        template<class T>
-        struct array_total {
-            enum {
-                size = 1
-            };
-        };
-
-        template<class T, std::size_t N>
-        struct array_total<T[N]> {
-            enum {
-                size = N * array_total<T>::size
-            };
-        };
-
-        template<class T>
-        struct array_inner;
-
-        template<class T>
-        struct array_inner<T[]> {
-            typedef T type;
-        };
-
-        template<class T, std::size_t N>
-        struct array_inner<T[N]> {
-            typedef T type;
-        };
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_utility.hpp
deleted file mode 100644
index 84029a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/array_utility.hpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Glen Joseph Fernandes
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License,
- * Version 1.0. (See accompanying file LICENSE_1_0.txt
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_UTILITY_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_UTILITY_HPP
-
-#include <boost/config.hpp>
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-#include <memory>
-#endif
-
-namespace boost {
-    namespace detail {
-        typedef boost::true_type  ms_is_trivial;
-        typedef boost::false_type ms_no_trivial;
-
-        template<class T>
-        inline void ms_destroy(T*, std::size_t, ms_is_trivial) {
-        }
-
-        template<class T>
-        inline void ms_destroy(T* memory, std::size_t size, ms_no_trivial) {
-            for (std::size_t i = size; i > 0;) {
-                memory[--i].~T();
-            }
-        }
-
-        template<class T>
-        inline void ms_destroy(T* memory, std::size_t size) {
-            boost::has_trivial_destructor<T> trivial;
-            ms_destroy(memory, size, trivial);
-        }
-
-        template<class T>
-        inline void ms_init(T* memory, std::size_t size, ms_is_trivial) {
-            for (std::size_t i = 0; i < size; i++) {
-                void* p1 = memory + i;
-                ::new(p1) T();
-            }
-        }
-
-        template<class T>
-        inline void ms_init(T* memory, std::size_t size, ms_no_trivial) {
-#if !defined(BOOST_NO_EXCEPTIONS)
-            std::size_t i = 0;
-            try {
-                for (; i < size; i++) {
-                    void* p1 = memory + i;
-                    ::new(p1) T();
-                }
-            } catch (...) {
-                ms_destroy(memory, i);
-                throw;
-            }
-#else
-            for (std::size_t i = 0; i < size; i++) {
-                void* p1 = memory + i;
-                ::new(p1) T();
-            }
-#endif
-        }
-
-        template<class T>
-        inline void ms_init(T* memory, std::size_t size) {
-            boost::has_trivial_default_constructor<T> trivial;
-            ms_init(memory, size, trivial);
-        }
-
-        template<class T, std::size_t N>
-        inline void ms_init(T* memory, std::size_t size, const T* list) {
-#if !defined(BOOST_NO_EXCEPTIONS)
-            std::size_t i = 0;
-            try {
-                for (; i < size; i++) {
-                    void* p1 = memory + i;
-                    ::new(p1) T(list[i % N]);
-                }
-            } catch (...) {
-                ms_destroy(memory, i);
-                throw;
-            }
-#else
-            for (std::size_t i = 0; i < size; i++) {
-                void* p1 = memory + i;
-                ::new(p1) T(list[i % N]);
-            }
-#endif
-        }
-
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-        template<class T, class A>
-        inline void as_destroy(const A& allocator, T* memory,
-            std::size_t size) {
-            typedef typename std::allocator_traits<A>::
-                template rebind_alloc<T> TA;
-            typedef typename std::allocator_traits<A>::
-                template rebind_traits<T> TT;
-            TA a2(allocator);
-            for (std::size_t i = size; i > 0;) {
-                TT::destroy(a2, &memory[--i]);
-            }
-        }
-
-        template<class T, class A>
-        inline void as_init(const A& allocator, T* memory, std::size_t size,
-            ms_is_trivial) {
-            typedef typename std::allocator_traits<A>::
-                template rebind_alloc<T> TA;
-            typedef typename std::allocator_traits<A>::
-                template rebind_traits<T> TT;
-            TA a2(allocator);
-            for (std::size_t i = 0; i < size; i++) {
-                TT::construct(a2, memory + i);
-            }
-        }
-
-        template<class T, class A>
-        inline void as_init(const A& allocator, T* memory, std::size_t size,
-            ms_no_trivial) {
-            typedef typename std::allocator_traits<A>::
-                template rebind_alloc<T> TA;
-            typedef typename std::allocator_traits<A>::
-                template rebind_traits<T> TT;
-            TA a2(allocator);
-#if !defined(BOOST_NO_EXCEPTIONS)
-            std::size_t i = 0;
-            try {
-                for (; i < size; i++) {
-                    TT::construct(a2, memory + i);
-                }
-            } catch (...) {
-                as_destroy(a2, memory, i);
-                throw;
-            }
-#else
-            for (std::size_t i = 0; i < size; i++) {
-                TT::construct(a2, memory + i);
-            }
-#endif
-        }
-
-        template<class T, class A>
-        inline void as_init(const A& allocator, T* memory, std::size_t size) {
-            boost::has_trivial_default_constructor<T> trivial;
-            as_init(allocator, memory, size, trivial);
-        }
-
-        template<class T, class A, std::size_t N>
-        inline void as_init(const A& allocator, T* memory, std::size_t size,
-            const T* list) {
-            typedef typename std::allocator_traits<A>::
-                template rebind_alloc<T> TA;
-            typedef typename std::allocator_traits<A>::
-                template rebind_traits<T> TT;
-            TA a2(allocator);
-#if !defined(BOOST_NO_EXCEPTIONS)
-            std::size_t i = 0;
-            try {
-                for (; i < size; i++) {
-                    TT::construct(a2, memory + i, list[i % N]);
-                }
-            } catch (...) {
-                as_destroy(a2, memory, i);
-                throw;
-            }
-#else
-            for (std::size_t i = 0; i < size; i++) {
-                TT::construct(a2, memory + i, list[i % N]);
-            }
-#endif
-        }
-#endif
-
-        template<class T>
-        inline void ms_noinit(T*, std::size_t, ms_is_trivial) {
-        }
-
-        template<class T>
-        inline void ms_noinit(T* memory, std::size_t size, ms_no_trivial) {
-#if !defined(BOOST_NO_EXCEPTIONS)
-            std::size_t i = 0;
-            try {
-                for (; i < size; i++) {
-                    void* p1 = memory + i;
-                    ::new(p1) T;
-                }
-            } catch (...) {
-                ms_destroy(memory, i);
-                throw;
-            }
-#else
-            for (std::size_t i = 0; i < size; i++) {
-                void* p1 = memory + i;
-                ::new(p1) T;
-            }
-#endif
-        }
-
-        template<class T>
-        inline void ms_noinit(T* memory, std::size_t size) {
-            boost::has_trivial_default_constructor<T> trivial;
-            ms_noinit(memory, size, trivial);
-        }
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count.hpp
deleted file mode 100644
index 8aefd44..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count.hpp
+++ /dev/null
@@ -1,96 +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.
-//  Copyright (c) 2013 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
-//
-//  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
-//    Memory Ordering: acquire
-//
-//  ++a;
-//
-//    Effects: Atomically increments the value of a
-//    Returns: (long) the new value of a
-//    Memory Ordering: acquire/release
-//
-//  --a;
-//
-//    Effects: Atomically decrements the value of a
-//    Returns: (long) the new value of a
-//    Memory Ordering: acquire/release
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#if defined( BOOST_AC_DISABLE_THREADS )
-# include <boost/smart_ptr/detail/atomic_count_nt.hpp>
-
-#elif defined( BOOST_AC_USE_STD_ATOMIC )
-# include <boost/smart_ptr/detail/atomic_count_std_atomic.hpp>
-
-#elif defined( BOOST_AC_USE_SPINLOCK )
-# include <boost/smart_ptr/detail/atomic_count_spin.hpp>
-
-#elif defined( BOOST_AC_USE_PTHREADS )
-# include <boost/smart_ptr/detail/atomic_count_pt.hpp>
-
-#elif defined( BOOST_SP_DISABLE_THREADS )
-# include <boost/smart_ptr/detail/atomic_count_nt.hpp>
-
-#elif defined( BOOST_SP_USE_STD_ATOMIC )
-# include <boost/smart_ptr/detail/atomic_count_std_atomic.hpp>
-
-#elif defined( BOOST_SP_USE_SPINLOCK )
-# include <boost/smart_ptr/detail/atomic_count_spin.hpp>
-
-#elif defined( BOOST_SP_USE_PTHREADS )
-# include <boost/smart_ptr/detail/atomic_count_pt.hpp>
-
-#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
-# include <boost/smart_ptr/detail/atomic_count_nt.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) && !defined( __PATHSCALE__ )
-# include <boost/smart_ptr/detail/atomic_count_gcc_x86.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-# include <boost/smart_ptr/detail/atomic_count_sync.hpp>
-
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-# include <boost/smart_ptr/detail/atomic_count_win32.hpp>
-
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-# include <boost/smart_ptr/detail/atomic_count_gcc.hpp>
-
-#elif !defined( BOOST_HAS_THREADS )
-# include <boost/smart_ptr/detail/atomic_count_nt.hpp>
-
-#else
-# include <boost/smart_ptr/detail/atomic_count_spin.hpp>
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_gcc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_gcc.hpp
deleted file mode 100644
index 54807e9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
deleted file mode 100644
index 5c44d7c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_nt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_nt.hpp
deleted file mode 100644
index 3bbf138..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_nt.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_NT_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_nt.hpp
-//
-//  Trivial atomic_count for the single-threaded case
-//
-//  http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html
-//
-//  Copyright 2013 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_( v )
-    {
-    }
-
-    long operator++()
-    {
-        return ++value_;
-    }
-
-    long operator--()
-    {
-        return --value_;
-    }
-
-    operator long() const
-    {
-        return 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_NT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_pt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_pt.hpp
deleted file mode 100644
index f99b910..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_pt.hpp
+++ /dev/null
@@ -1,97 +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 <boost/assert.hpp>
-#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)
-        {
-            BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        }
-
-        ~scoped_lock()
-        {
-            BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-        }
-
-    private:
-
-        pthread_mutex_t & m_;
-    };
-
-public:
-
-    explicit atomic_count(long v): value_(v)
-    {
-        BOOST_VERIFY( pthread_mutex_init( &mutex_, 0 ) == 0 );
-    }
-
-    ~atomic_count()
-    {
-        BOOST_VERIFY( pthread_mutex_destroy( &mutex_ ) == 0 );
-    }
-
-    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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_solaris.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_solaris.hpp
deleted file mode 100644
index a13bcfb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_solaris.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_solaris.hpp
-//   based on: boost/detail/atomic_count_win32.hpp
-//
-//  Copyright (c) 2001-2005 Peter Dimov
-//  Copyright (c) 2006 Michael van der Westhuizen
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <atomic.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( uint32_t v ): value_( v )
-    {
-    }
-
-    long operator++()
-    {
-        return atomic_inc_32_nv( &value_ );
-    }
-
-    long operator--()
-    {
-        return atomic_dec_32_nv( &value_ );
-    }
-
-    operator uint32_t() const
-    {
-        return static_cast<uint32_t const volatile &>( value_ );
-    }
-
-private:
-
-    atomic_count( atomic_count const & );
-    atomic_count & operator=( atomic_count const & );
-
-    uint32_t value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SOLARIS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_spin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_spin.hpp
deleted file mode 100644
index 8e62349..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_spin.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SPIN_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SPIN_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_spin.hpp
-//
-//  Copyright (c) 2013 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/spinlock_pool.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-private:
-
-public:
-
-    explicit atomic_count( long v ): value_( v )
-    {
-    }
-
-    long operator++()
-    {
-        spinlock_pool<0>::scoped_lock lock( &value_ );
-        return ++value_;
-    }
-
-    long operator--()
-    {
-        spinlock_pool<0>::scoped_lock lock( &value_ );
-        return --value_;
-    }
-
-    operator long() const
-    {
-        spinlock_pool<0>::scoped_lock lock( &value_ );
-        return 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_SPIN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_std_atomic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_std_atomic.hpp
deleted file mode 100644
index 55b9998..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_std_atomic.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_STD_ATOMIC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_STD_ATOMIC_HPP_INCLUDED
-
-//
-//  boost/detail/atomic_count_std_atomic.hpp
-//
-//  atomic_count for std::atomic
-//
-//  Copyright 2013 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 <atomic>
-#include <cstdint>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( long v ): value_( v )
-    {
-    }
-
-    long operator++()
-    {
-        return value_.fetch_add( 1, std::memory_order_acq_rel ) + 1;
-    }
-
-    long operator--()
-    {
-        return value_.fetch_sub( 1, std::memory_order_acq_rel ) - 1;
-    }
-
-    operator long() const
-    {
-        return value_.load( std::memory_order_acquire );
-    }
-
-private:
-
-    atomic_count(atomic_count const &);
-    atomic_count & operator=(atomic_count const &);
-
-    std::atomic_int_least32_t value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_STD_ATOMIC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_sync.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_sync.hpp
deleted file mode 100644
index b6359b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_win32.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/atomic_count_win32.hpp
deleted file mode 100644
index 633e73c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/smart_ptr/detail/sp_interlocked.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
-    explicit atomic_count( long v ): value_( v )
-    {
-    }
-
-    long operator++()
-    {
-        return BOOST_SP_INTERLOCKED_INCREMENT( &value_ );
-    }
-
-    long operator--()
-    {
-        return BOOST_SP_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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lightweight_mutex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lightweight_mutex.hpp
deleted file mode 100644
index d46b193..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_nop.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_nop.hpp
deleted file mode 100644
index 521a88e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_pthreads.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_pthreads.hpp
deleted file mode 100644
index 8eda518..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_win32_cs.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_win32_cs.hpp
deleted file mode 100644
index a93cf09..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/lwm_win32_cs.hpp
+++ /dev/null
@@ -1,119 +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
-//  Copyright (c) Microsoft Corporation 2014
-//
-// Distributed under the Boost 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/predef.h>
-
-#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
-};
-
-#if BOOST_PLAT_WINDOWS_RUNTIME
-extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSectionEx(critical_section *, unsigned long, unsigned long);
-#else
-extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(critical_section *);
-#endif
-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()
-    {
-#if BOOST_PLAT_WINDOWS_RUNTIME
-        InitializeCriticalSectionEx(&cs_, 4000, 0);
-#else
-        InitializeCriticalSection(&cs_);
-#endif
-    }
-
-    ~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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/operator_bool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/operator_bool.hpp
deleted file mode 100644
index c0289b8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/operator_bool.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//  This header intentionally has no include guards.
-//
-//  Copyright (c) 2001-2009, 2012 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_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ) && !defined( BOOST_NO_CXX11_NULLPTR )\
-    && !(defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5130))
-
-    explicit operator bool () const BOOST_NOEXCEPT
-    {
-        return px != 0;
-    }
-
-#elif ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
-
-    operator bool () const BOOST_NOEXCEPT
-    {
-        return px != 0;
-    }
-
-#elif defined( _MANAGED )
-
-    static void unspecified_bool( this_type*** )
-    {
-    }
-
-    typedef void (*unspecified_bool_type)( this_type*** );
-
-    operator unspecified_bool_type() const BOOST_NOEXCEPT
-    {
-        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 element_type * (this_type::*unspecified_bool_type)() const;
-
-    operator unspecified_bool_type() const BOOST_NOEXCEPT
-    {
-        return px == 0? 0: &this_type::get;
-    }
-
-#else
-
-    typedef element_type * this_type::*unspecified_bool_type;
-
-    operator unspecified_bool_type() const BOOST_NOEXCEPT
-    {
-        return px == 0? 0: &this_type::px;
-    }
-
-#endif
-
-    // operator! is redundant, but some compilers need it
-    bool operator! () const BOOST_NOEXCEPT
-    {
-        return px == 0;
-    }
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/quick_allocator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/quick_allocator.hpp
deleted file mode 100644
index 159bd5e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/shared_count.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/shared_count.hpp
deleted file mode 100644
index 7996aa4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/shared_count.hpp
+++ /dev/null
@@ -1,709 +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/smart_ptr/detail/sp_disable_deprecated.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
-
-#ifdef BOOST_NO_EXCEPTIONS
-# include <new>              // std::bad_alloc
-#endif
-
-#include <boost/core/addressof.hpp>
-
-#if defined( BOOST_SP_DISABLE_DEPRECATED )
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#endif
-
-namespace boost
-{
-
-namespace movelib
-{
-
-    template< class T, class D > class unique_ptr;
-
-} // namespace movelib
-
-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
-{
-};
-
-template< class T > class sp_reference_wrapper
-{ 
-public:
-
-    explicit sp_reference_wrapper( T & t): t_( boost::addressof( t ) )
-    {
-    }
-
-    template< class Y > void operator()( Y * p ) const
-    {
-        (*t_)( p );
-    }
-
-private:
-
-    T * t_;
-};
-
-template< class D > struct sp_convert_reference
-{
-    typedef D type;
-};
-
-template< class D > struct sp_convert_reference< D& >
-{
-    typedef sp_reference_wrapper< D > type;
-};
-
-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::operator_fn( p ); // delete p
-            throw;
-        }
-
-#else
-
-        pi_ = new sp_counted_impl_pd< P, D >( p );
-
-        if( pi_ == 0 )
-        {
-            D::operator_fn( 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;
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-        typedef typename std::allocator_traits<A>::template rebind_alloc< impl_type > A2;
-
-#else
-
-        typedef typename A::template rebind< impl_type >::other A2;
-
-#endif
-
-        A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-            impl_type * pi = std::allocator_traits<A2>::allocate( a2, 1 );
-            pi_ = pi;
-            std::allocator_traits<A2>::construct( a2, pi, p, d, a );
-
-#else
-
-            pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-            ::new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
-
-#endif
-        }
-        catch(...)
-        {
-            d( p );
-
-            if( pi_ != 0 )
-            {
-                a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
-            }
-
-            throw;
-        }
-
-#else
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-        impl_type * pi = std::allocator_traits<A2>::allocate( a2, 1 );
-        pi_ = pi;
-
-#else
-
-        pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
-#endif
-
-        if( pi_ != 0 )
-        {
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-            std::allocator_traits<A2>::construct( a2, pi, p, d, a );
-
-#else
-
-            ::new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
-
-#endif
-        }
-        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;
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-        typedef typename std::allocator_traits<A>::template rebind_alloc< impl_type > A2;
-
-#else
-
-        typedef typename A::template rebind< impl_type >::other A2;
-
-#endif
-
-        A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
-        try
-        {
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-            impl_type * pi = std::allocator_traits<A2>::allocate( a2, 1 );
-            pi_ = pi;
-            std::allocator_traits<A2>::construct( a2, pi, p, a );
-
-#else
-
-            pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-            ::new( static_cast< void* >( pi_ ) ) impl_type( p, a );
-
-#endif
-        }
-        catch(...)
-        {
-            D::operator_fn( p );
-
-            if( pi_ != 0 )
-            {
-                a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
-            }
-
-            throw;
-        }
-
-#else
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-        impl_type * pi = std::allocator_traits<A2>::allocate( a2, 1 );
-        pi_ = pi;
-
-#else
-
-        pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
-#endif
-
-        if( pi_ != 0 )
-        {
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-            std::allocator_traits<A2>::construct( a2, pi, p, a );
-
-#else
-
-            ::new( static_cast< void* >( pi_ ) ) impl_type( p, a );
-
-#endif
-        }
-        else
-        {
-            D::operator_fn( 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 
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
-
-    template<class Y, class D>
-    explicit shared_count( std::unique_ptr<Y, D> & r ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        typedef typename sp_convert_reference<D>::type D2;
-
-        D2 d2( r.get_deleter() );
-        pi_ = new sp_counted_impl_pd< typename std::unique_ptr<Y, D>::pointer, D2 >( r.get(), d2 );
-
-#ifdef BOOST_NO_EXCEPTIONS
-
-        if( pi_ == 0 )
-        {
-            boost::throw_exception( std::bad_alloc() );
-        }
-
-#endif
-
-        r.release();
-    }
-
-#endif
-
-    template<class Y, class D>
-    explicit shared_count( boost::movelib::unique_ptr<Y, D> & r ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-        , id_(shared_count_id)
-#endif
-    {
-        typedef typename sp_convert_reference<D>::type D2;
-
-        D2 d2( r.get_deleter() );
-        pi_ = new sp_counted_impl_pd< typename boost::movelib::unique_ptr<Y, D>::pointer, D2 >( r.get(), d2 );
-
-#ifdef BOOST_NO_EXCEPTIONS
-
-        if( pi_ == 0 )
-        {
-            boost::throw_exception( std::bad_alloc() );
-        }
-
-#endif
-
-        r.release();
-    }
-
-    ~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_NO_CXX11_RVALUE_REFERENCES )
-
-    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;
-    }
-
-    void * get_untyped_deleter() const
-    {
-        return pi_? pi_->get_untyped_deleter(): 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_NO_CXX11_RVALUE_REFERENCES )
-
-    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
-
-#if defined( BOOST_SP_DISABLE_DEPRECATED )
-#pragma GCC diagnostic pop
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_convertible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_convertible.hpp
deleted file mode 100644
index 4bba9ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_convertible.hpp
+++ /dev/null
@@ -1,92 +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>
-#include <cstddef>
-
-#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) };
-};
-
-template< class Y, class T > struct sp_convertible< Y, T[] >
-{
-    enum _vt { value = false };
-};
-
-template< class Y, class T > struct sp_convertible< Y[], T[] >
-{
-    enum _vt { value = sp_convertible< Y[1], T[1] >::value };
-};
-
-template< class Y, std::size_t N, class T > struct sp_convertible< Y[N], T[] >
-{
-    enum _vt { value = sp_convertible< Y[1], T[1] >::value };
-};
-
-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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base.hpp
deleted file mode 100644
index 0addf07..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base.hpp
+++ /dev/null
@@ -1,93 +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-2013 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( __clang__ ) && defined( __has_extension )
-# if __has_extension( __c_atomic__ )
-#   define BOOST_SP_HAS_CLANG_C11_ATOMICS
-# endif
-#endif
-
-#if defined( BOOST_SP_DISABLE_THREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#elif defined( BOOST_SP_USE_STD_ATOMIC )
-# include <boost/smart_ptr/detail/sp_counted_base_std_atomic.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( BOOST_SP_HAS_CLANG_C11_ATOMICS )
-# include <boost/smart_ptr/detail/sp_counted_base_clang.hpp>
-
-#elif defined( __SNC__ )
-# include <boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) && !defined(__PATHSCALE__)
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp>
-
-#elif defined(__HP_aCC) && defined(__ia64)
-# include <boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp>
-
-#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER ) && !defined(__PATHSCALE__)
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp>
-
-#elif defined( __IBMCPP__ ) && defined( __powerpc )
-# include <boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.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 ) ) && !defined(__PATHSCALE__) && !defined( _AIX )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) ) && !defined(__PATHSCALE__)
-# 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( _AIX )
-# include <boost/smart_ptr/detail/sp_counted_base_aix.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
-
-#undef BOOST_SP_HAS_CLANG_C11_ATOMICS
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
deleted file mode 100644
index cebc243..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
+++ /dev/null
@@ -1,151 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_aix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_aix.hpp
deleted file mode 100644
index fe6c727..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_aix.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
-
-//
-//  detail/sp_counted_base_aix.hpp
-//   based on: detail/sp_counted_base_w32.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//  Copyright 2006 Michael van der Westhuizen
-//
-//  Distributed under the 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>
-#include <builtins.h>
-#include <sys/atomic_op.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int32_t* pw )
-{
-    // ++*pw;
-
-    fetch_and_add( pw, 1 );
-}
-
-inline int32_t atomic_decrement( int32_t * pw )
-{
-    // return --*pw;
-
-    int32_t originalValue;
-
-    __lwsync();
-    originalValue = fetch_and_add( pw, -1 );
-    __isync();
-
-    return (originalValue - 1);
-}
-
-inline int32_t atomic_conditional_increment( int32_t * pw )
-{
-    // if( *pw != 0 ) ++*pw;
-    // return *pw;
-
-    int32_t tmp = fetch_and_add( pw, 0 );
-    for( ;; )
-    {
-        if( tmp == 0 ) return 0;
-        if( compare_and_swap( pw, &tmp, tmp + 1 ) ) return (tmp + 1);
-    }
-}
-
-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;
-    virtual void * get_untyped_deleter() = 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 fetch_and_add( const_cast<int32_t*>(&use_count_), 0 );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_clang.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_clang.hpp
deleted file mode 100644
index c66b985..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_clang.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_counted_base_clang.hpp - __c11 clang intrinsics
-//
-//  Copyright (c) 2007, 2013, 2015 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/cstdint.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
-
-inline void atomic_increment( atomic_int_least32_t * pw )
-{
-    __c11_atomic_fetch_add( pw, 1, __ATOMIC_RELAXED );
-}
-
-inline boost::int_least32_t atomic_decrement( atomic_int_least32_t * pw )
-{
-    return __c11_atomic_fetch_sub( pw, 1, __ATOMIC_ACQ_REL );
-}
-
-inline boost::int_least32_t atomic_conditional_increment( atomic_int_least32_t * pw )
-{
-    // long r = *pw;
-    // if( r != 0 ) ++*pw;
-    // return r;
-
-    boost::int_least32_t r = __c11_atomic_load( pw, __ATOMIC_RELAXED );
-
-    for( ;; )
-    {
-        if( r == 0 )
-        {
-            return r;
-        }
-
-        if( __c11_atomic_compare_exchange_weak( pw, &r, r + 1, __ATOMIC_RELAXED, __ATOMIC_RELAXED ) )
-        {
-            return r;
-        }
-    }    
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    atomic_int_least32_t use_count_;	// #shared
-    atomic_int_least32_t weak_count_;	// #weak + (#shared != 0)
-
-public:
-
-    sp_counted_base()
-    {
-        __c11_atomic_init( &use_count_, 1 );
-        __c11_atomic_init( &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;
-    virtual void * get_untyped_deleter() = 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 __c11_atomic_load( const_cast< atomic_int_least32_t* >( &use_count_ ), __ATOMIC_ACQUIRE );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
deleted file mode 100644
index 6c268e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
+++ /dev/null
@@ -1,171 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
deleted file mode 100644
index 81eba6f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_X86_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  detail/sp_counted_base_cw_x86.hpp - CodeWarrion on 486+
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//  Copyright 2005 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)
-//
-//
-//  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;
-
-    asm
-    {
-        mov esi, [pw]
-        mov eax, dv
-        lock xadd dword ptr [esi], eax
-    }
-}
-
-inline void atomic_increment( int * pw )
-{
-    //atomic_exchange_and_add( pw, 1 );
-
-    asm
-    {
-        mov esi, [pw]
-        lock inc dword ptr [esi]
-    }
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
-    // int rv = *pw;
-    // if( rv != 0 ) ++*pw;
-    // return rv;
-
-    asm
-    {
-        mov esi, [pw]
-        mov eax, dword ptr [esi]
-    L0:
-        test eax, eax
-        je L1
-        mov ebx, eax
-        inc ebx
-        lock cmpxchg dword ptr [esi], ebx
-        jne L0
-    L1:
-    }
-}
-
-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;
-    virtual void * get_untyped_deleter() = 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_CW_X86_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
deleted file mode 100644
index f6e3904..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
+++ /dev/null
@@ -1,158 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
deleted file mode 100644
index 545c8ae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+++ /dev/null
@@ -1,182 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
deleted file mode 100644
index 2e5bc0e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
+++ /dev/null
@@ -1,182 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
deleted file mode 100644
index c6d20ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
+++ /dev/null
@@ -1,167 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
deleted file mode 100644
index 173dce5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
+++ /dev/null
@@ -1,174 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_nt.hpp
deleted file mode 100644
index 5c901f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_nt.hpp
+++ /dev/null
@@ -1,108 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_pt.hpp
deleted file mode 100644
index a16d2d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_pt.hpp
+++ /dev/null
@@ -1,137 +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 <boost/assert.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_)
-        BOOST_VERIFY( pthread_mutex_init( &m_, pthread_mutexattr_default ) == 0 );
-#else
-        BOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );
-#endif
-    }
-
-    virtual ~sp_counted_base() // nothrow
-    {
-        BOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );
-    }
-
-    // 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;
-    virtual void * get_untyped_deleter() = 0;
-
-    void add_ref_copy()
-    {
-        BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        ++use_count_;
-        BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        bool r = use_count_ == 0? false: ( ++use_count_, true );
-        BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-        return r;
-    }
-
-    void release() // nothrow
-    {
-        BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        long new_use_count = --use_count_;
-        BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-
-        if( new_use_count == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        ++weak_count_;
-        BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-    }
-
-    void weak_release() // nothrow
-    {
-        BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        long new_weak_count = --weak_count_;
-        BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-
-        if( new_weak_count == 0 )
-        {
-            destroy();
-        }
-    }
-
-    long use_count() const // nothrow
-    {
-        BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
-        long r = use_count_;
-        BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
-
-        return r;
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
deleted file mode 100644
index 56ed79f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_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
-//  Copyright (c) 2011 Emil Dotchevski
-//
-//  Distributed under the 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> // uint32_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline uint32_t compare_and_swap( uint32_t * dest_, uint32_t compare_, uint32_t swap_ )
-{
-    return __builtin_cellAtomicCompareAndSwap32(dest_,compare_,swap_);
-}
-
-inline uint32_t atomic_fetch_and_add( uint32_t * pw, uint32_t dv )
-{
-    // long r = *pw;
-    // *pw += dv;
-    // return r;
-
-    for( ;; )
-    {
-        uint32_t r = *pw;
-
-        if( __builtin_expect((compare_and_swap(pw, r, r + dv) == r), 1) )
-        {
-            return r;
-        }
-    }
-}
-
-inline void atomic_increment( uint32_t * pw )
-{
-    (void) __builtin_cellAtomicIncr32( pw );
-}
-
-inline uint32_t atomic_decrement( uint32_t * pw )
-{
-    return __builtin_cellAtomicDecr32( pw );
-}
-
-inline uint32_t atomic_conditional_increment( uint32_t * pw )
-{
-    // long r = *pw;
-    // if( r != 0 ) ++*pw;
-    // return r;
-
-    for( ;; )
-    {
-        uint32_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 & );
-
-    uint32_t use_count_;        // #shared
-    uint32_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;
-    virtual void * get_untyped_deleter() = 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< uint32_t const volatile & >( use_count_ );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_solaris.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
deleted file mode 100644
index 0e05fef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_solaris.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SOLARIS_HPP_INCLUDED
-
-//
-//  detail/sp_counted_base_solaris.hpp
-//   based on: detail/sp_counted_base_w32.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//  Copyright 2006 Michael van der Westhuizen
-//
-//  Distributed under the 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>
-#include <atomic.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 & );
-
-    uint32_t use_count_;        // #shared
-    uint32_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;
-    virtual void * get_untyped_deleter() = 0;
-
-    void add_ref_copy()
-    {
-        atomic_inc_32( &use_count_ );
-    }
-
-    bool add_ref_lock() // true on success
-    {
-        for( ;; )
-        {
-            uint32_t tmp = static_cast< uint32_t const volatile& >( use_count_ );
-            if( tmp == 0 ) return false;
-            if( atomic_cas_32( &use_count_, tmp, tmp + 1 ) == tmp ) return true;
-        }
-    }
-
-    void release() // nothrow
-    {
-        if( atomic_dec_32_nv( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        atomic_inc_32( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( atomic_dec_32_nv( &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_SOLARIS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_spin.hpp
deleted file mode 100644
index 77734e7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_spin.hpp
+++ /dev/null
@@ -1,132 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
deleted file mode 100644
index cab8453..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_counted_base_std_atomic.hpp - C++11 std::atomic
-//
-//  Copyright (c) 2007, 2013 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 <atomic>
-#include <cstdint>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( std::atomic_int_least32_t * pw )
-{
-    pw->fetch_add( 1, std::memory_order_relaxed );
-}
-
-inline std::int_least32_t atomic_decrement( std::atomic_int_least32_t * pw )
-{
-    return pw->fetch_sub( 1, std::memory_order_acq_rel );
-}
-
-inline std::int_least32_t atomic_conditional_increment( std::atomic_int_least32_t * pw )
-{
-    // long r = *pw;
-    // if( r != 0 ) ++*pw;
-    // return r;
-
-    std::int_least32_t r = pw->load( std::memory_order_relaxed );
-
-    for( ;; )
-    {
-        if( r == 0 )
-        {
-            return r;
-        }
-
-        if( pw->compare_exchange_weak( r, r + 1, std::memory_order_relaxed, std::memory_order_relaxed ) )
-        {
-            return r;
-        }
-    }    
-}
-
-class sp_counted_base
-{
-private:
-
-    sp_counted_base( sp_counted_base const & );
-    sp_counted_base & operator= ( sp_counted_base const & );
-
-    std::atomic_int_least32_t use_count_;	// #shared
-    std::atomic_int_least32_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;
-    virtual void * get_untyped_deleter() = 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 use_count_.load( std::memory_order_acquire );
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_sync.hpp
deleted file mode 100644
index fafed0e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+++ /dev/null
@@ -1,156 +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;
-    virtual void * get_untyped_deleter() = 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
deleted file mode 100644
index 162f309..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
-
-//
-//  detail/sp_counted_base_vacpp_ppc.hpp - xlC(vacpp) on POWER
-//   based on: detail/sp_counted_base_w32.hpp
-//
-//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-//  Copyright 2004-2005 Peter Dimov
-//  Copyright 2006 Michael van der Westhuizen
-//  Copyright 2012 IBM Corp.
-//
-//  Distributed under the 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>
-
-extern "builtin" void __lwsync(void);
-extern "builtin" void __isync(void);
-extern "builtin" int __fetch_and_add(volatile int* addr, int val);
-extern "builtin" int __compare_and_swap(volatile int*, int*, int);
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int *pw )
-{
-   // ++*pw;
-   __lwsync();
-   __fetch_and_add(pw, 1);
-   __isync();
-} 
-
-inline int atomic_decrement( int *pw )
-{
-   // return --*pw;
-   __lwsync();
-   int originalValue = __fetch_and_add(pw, -1);
-   __isync();
-
-   return (originalValue - 1);
-}
-
-inline int atomic_conditional_increment( int *pw )
-{
-   // if( *pw != 0 ) ++*pw;
-   // return *pw;
-
-   __lwsync();
-   int v = *const_cast<volatile int*>(pw);
-   for (;;)
-   // loop until state is known
-   {
-      if (v == 0) return 0;
-      if (__compare_and_swap(pw, &v, v + 1))
-      {
-         __isync(); return (v + 1);
-      }
-   }
-}
-
-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)
-    char pad[64] __attribute__((__aligned__(64)));
-            // pad to prevent false sharing
-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;
-    virtual void * get_untyped_deleter() = 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 *const_cast<volatile int*>(&use_count_); 
-    }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_w32.hpp
deleted file mode 100644
index 4ba509c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_base_w32.hpp
+++ /dev/null
@@ -1,131 +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/smart_ptr/detail/sp_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;
-    virtual void * get_untyped_deleter() = 0;
-
-    void add_ref_copy()
-    {
-        BOOST_SP_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_SP_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;
-
-#else
-
-            if( BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;
-
-#endif
-        }
-    }
-
-    void release() // nothrow
-    {
-        if( BOOST_SP_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )
-        {
-            dispose();
-            weak_release();
-        }
-    }
-
-    void weak_add_ref() // nothrow
-    {
-        BOOST_SP_INTERLOCKED_INCREMENT( &weak_count_ );
-    }
-
-    void weak_release() // nothrow
-    {
-        if( BOOST_SP_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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_impl.hpp
deleted file mode 100644
index 1222f3c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_counted_impl.hpp
+++ /dev/null
@@ -1,271 +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( sp_typeinfo const & )
-    {
-        return 0;
-    }
-
-    virtual void * get_untyped_deleter()
-    {
-        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( sp_typeinfo const & ti )
-    {
-        return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
-    }
-
-    virtual void * get_untyped_deleter()
-    {
-        return &reinterpret_cast<char&>( del );
-    }
-
-#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_( a )
-    {
-    }
-
-    virtual void dispose() // nothrow
-    {
-        d_( p_ );
-    }
-
-    virtual void destroy() // nothrow
-    {
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-        typedef typename std::allocator_traits<A>::template rebind_alloc< this_type > A2;
-
-#else
-
-        typedef typename A::template rebind< this_type >::other A2;
-
-#endif
-
-        A2 a2( a_ );
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-        std::allocator_traits<A2>::destroy( a2, this );
-
-#else
-
-        this->~this_type();
-
-#endif
-
-        a2.deallocate( this, 1 );
-    }
-
-    virtual void * get_deleter( sp_typeinfo const & ti )
-    {
-        return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
-    }
-
-    virtual void * get_untyped_deleter()
-    {
-        return &reinterpret_cast<char&>( d_ );
-    }
-};
-
-#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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_disable_deprecated.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_disable_deprecated.hpp
deleted file mode 100644
index f79bdf3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_disable_deprecated.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_DISABLE_DEPRECATED_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_DISABLE_DEPRECATED_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/smart_ptr/detail/sp_disable_deprecated.hpp
-//
-//  Copyright 2015 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( __GNUC__ ) && ( defined( __GXX_EXPERIMENTAL_CXX0X__ ) || ( __cplusplus >= 201103L ) )
-
-# if defined( BOOST_GCC )
-
-#  if BOOST_GCC >= 40600
-#   define BOOST_SP_DISABLE_DEPRECATED
-#  endif
-
-# elif defined( __clang__ ) && defined( __has_warning )
-
-#  if __has_warning( "-Wdeprecated-declarations" )
-#   define BOOST_SP_DISABLE_DEPRECATED
-#  endif
-
-# endif
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_DISABLE_DEPRECATED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_forward.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_forward.hpp
deleted file mode 100644
index 8fdec65..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_forward.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_forward.hpp
-//
-//  Copyright 2008,2012 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>
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-#if defined( BOOST_GCC ) && __GNUC__ * 100 + __GNUC_MINOR__ <= 404
-
-// GCC 4.4 supports an outdated version of rvalue references and creates a copy of the forwarded object.
-// This results in warnings 'returning reference to temporary'. Therefore we use a special version similar to std::forward.
-template< class T > T&& sp_forward( T && t ) BOOST_NOEXCEPT
-{
-    return t;
-}
-
-#else
-
-template< class T > T&& sp_forward( T & t ) BOOST_NOEXCEPT
-{
-    return static_cast< T&& >( t );
-}
-
-#endif
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_has_sync.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_has_sync.hpp
deleted file mode 100644
index 16de21d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_has_sync.hpp
+++ /dev/null
@@ -1,69 +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.
-//
-
-#ifndef BOOST_SP_NO_SYNC
-
-#if defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 )
-
-# define BOOST_SP_HAS_SYNC
-
-#elif defined( __IBMCPP__ ) && ( __IBMCPP__ >= 1210 )
-
-# define BOOST_SP_HAS_SYNC
-
-#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
-
-#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 < 1110 )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined(__PATHSCALE__) && ((__PATHCC__ == 4) && (__PATHCC_MINOR__ < 9)) 
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#endif
-
-#endif // #ifndef BOOST_SP_NO_SYNC
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_if_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_if_array.hpp
deleted file mode 100644
index 9a2c1e0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_if_array.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Glen Joseph Fernandes 
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License, 
- * Version 1.0. (See accompanying file LICENSE_1_0.txt 
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_DETAIL_SP_IF_ARRAY_HPP
-#define BOOST_SMART_PTR_DETAIL_SP_IF_ARRAY_HPP
-
-#include <boost/smart_ptr/shared_ptr.hpp>
-
-namespace boost {
-    namespace detail {
-        template<class T>
-        struct sp_if_array;
-
-        template<class T>
-        struct sp_if_array<T[]> {
-            typedef boost::shared_ptr<T[]> type;
-        };
-
-        template<class T>
-        struct sp_if_size_array;
-
-        template<class T, std::size_t N>
-        struct sp_if_size_array<T[N]> {
-            typedef boost::shared_ptr<T[N]> type;
-        };
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_interlocked.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_interlocked.hpp
deleted file mode 100644
index 79cae14..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_interlocked.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_INTERLOCKED_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_INTERLOCKED_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  boost/detail/sp_interlocked.hpp
-//
-//  Copyright 2005, 2014 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>
-
-// BOOST_SP_HAS_INTRIN_H
-
-// VC9 has intrin.h, but it collides with <utility>
-#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
-
-# define BOOST_SP_HAS_INTRIN_H
-
-// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets.
-#elif defined( __MINGW64_VERSION_MAJOR )
-
-// MinGW-w64 provides intrin.h for both 32 and 64-bit targets.
-# define BOOST_SP_HAS_INTRIN_H
-
-// Intel C++ on Windows on VC10+ stdlib
-#elif defined( BOOST_INTEL_WIN ) && defined( _CPPLIB_VER ) && _CPPLIB_VER >= 520
-
-# define BOOST_SP_HAS_INTRIN_H
-
-#endif
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-# include <windows.h>
-
-# define BOOST_SP_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_SP_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-
-#elif defined( BOOST_USE_INTRIN_H ) || defined( BOOST_SP_HAS_INTRIN_H )
-
-#include <intrin.h>
-
-# define BOOST_SP_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_SP_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-
-#elif defined( _WIN32_WCE )
-
-#if _WIN32_WCE >= 0x600
-
-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 );
-
-# define BOOST_SP_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_SP_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-
-#else
-
-// 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_SP_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_SP_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-
-#endif
-
-#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 );
-
-# if defined( BOOST_MSVC ) && BOOST_MSVC == 1310
-//From MSDN, Visual Studio .NET 2003 spedific: To declare one of the interlocked functions
-//for use as an intrinsic, the function must be declared with the leading underscore and
-//the new function must appear in a #pragma intrinsic statement.
-#  pragma intrinsic( _InterlockedIncrement )
-#  pragma intrinsic( _InterlockedDecrement )
-#  pragma intrinsic( _InterlockedCompareExchange )
-#  pragma intrinsic( _InterlockedExchange )
-#  pragma intrinsic( _InterlockedExchangeAdd )
-# endif
-
-#endif
-
-# define BOOST_SP_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_SP_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-namespace boost
-{
-
-namespace detail
-{
-
-extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * );
-extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * );
-extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long );
-extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long );
-extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long );
-
-} // namespace detail
-
-} // namespace boost
-
-# define BOOST_SP_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement
-# define BOOST_SP_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement
-# define BOOST_SP_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange
-# define BOOST_SP_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd
-
-#else
-
-# error "Interlocked intrinsics not available"
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_INTERLOCKED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_nullptr_t.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_nullptr_t.hpp
deleted file mode 100644
index 219ae80..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/sp_nullptr_t.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//  detail/sp_nullptr_t.hpp
-//
-//  Copyright 2013 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 <cstddef>
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) )
-
-    typedef decltype(nullptr) sp_nullptr_t;
-
-#else
-
-    typedef std::nullptr_t sp_nullptr_t;
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // !defined( BOOST_NO_CXX11_NULLPTR )
-
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock.hpp
deleted file mode 100644
index 19f93d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock.hpp
+++ /dev/null
@@ -1,65 +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_STD_ATOMIC )
-# if !defined( __clang__ )
-#   include <boost/smart_ptr/detail/spinlock_std_atomic.hpp>
-# else
-//  Clang (at least up to 3.4) can't compile spinlock_pool when
-//  using std::atomic, so substitute the __sync implementation instead.
-#   include <boost/smart_ptr/detail/spinlock_sync.hpp>
-# endif
-
-#elif 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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_gcc_arm.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
deleted file mode 100644
index 24d08a8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
+++ /dev/null
@@ -1,121 +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, 2011 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(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7S__)
-
-# define BOOST_SP_ARM_BARRIER "dmb"
-# define BOOST_SP_ARM_HAS_LDREX
-
-#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__)
-
-# define BOOST_SP_ARM_BARRIER "mcr p15, 0, r0, c7, c10, 5"
-# define BOOST_SP_ARM_HAS_LDREX
-
-#else
-
-# define BOOST_SP_ARM_BARRIER ""
-
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    int v_;
-
-public:
-
-    bool try_lock()
-    {
-        int r;
-
-#ifdef BOOST_SP_ARM_HAS_LDREX
-
-        __asm__ __volatile__(
-            "ldrex %0, [%2]; \n"
-            "cmp %0, %1; \n"
-            "strexne %0, %1, [%2]; \n"
-            BOOST_SP_ARM_BARRIER :
-            "=&r"( r ): // outputs
-            "r"( 1 ), "r"( &v_ ): // inputs
-            "memory", "cc" );
-
-#else
-
-        __asm__ __volatile__(
-            "swp %0, %1, [%2];\n"
-            BOOST_SP_ARM_BARRIER :
-            "=&r"( r ): // outputs
-            "r"( 1 ), "r"( &v_ ): // inputs
-            "memory", "cc" );
-
-#endif
-
-        return r == 0;
-    }
-
-    void lock()
-    {
-        for( unsigned k = 0; !try_lock(); ++k )
-        {
-            boost::detail::yield( k );
-        }
-    }
-
-    void unlock()
-    {
-        __asm__ __volatile__( BOOST_SP_ARM_BARRIER ::: "memory" );
-        *const_cast< int volatile* >( &v_ ) = 0;
-        __asm__ __volatile__( BOOST_SP_ARM_BARRIER ::: "memory" );
-    }
-
-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}
-
-#undef BOOST_SP_ARM_BARRIER
-#undef BOOST_SP_ARM_HAS_LDREX
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_nt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_nt.hpp
deleted file mode 100644
index 1f399d0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_pool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_pool.hpp
deleted file mode 100644
index 39cf180..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 M > 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 M > spinlock spinlock_pool< M >::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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_pt.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_pt.hpp
deleted file mode 100644
index f9cabfc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_std_atomic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_std_atomic.hpp
deleted file mode 100644
index a61c1cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_std_atomic.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_STD_ATOMIC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_STD_ATOMIC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-//  Copyright (c) 2014 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>
-#include <atomic>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
-    std::atomic_flag v_;
-
-public:
-
-    bool try_lock()
-    {
-        return !v_.test_and_set( std::memory_order_acquire );
-    }
-
-    void lock()
-    {
-        for( unsigned k = 0; !try_lock(); ++k )
-        {
-            boost::detail::yield( k );
-        }
-    }
-
-    void unlock()
-    {
-        v_ .clear( std::memory_order_release );
-    }
-
-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 { ATOMIC_FLAG_INIT }
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_STD_ATOMIC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_sync.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_sync.hpp
deleted file mode 100644
index a7145c5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_w32.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/spinlock_w32.hpp
deleted file mode 100644
index d34e4fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/smart_ptr/detail/sp_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_SP_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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/yield_k.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/yield_k.hpp
deleted file mode 100644
index 44d1836..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/detail/yield_k.hpp
+++ /dev/null
@@ -1,177 +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
-//  Copyright (c) Microsoft Corporation 2014
-//
-//  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>
-#include <boost/predef.h>
-
-#if BOOST_PLAT_WINDOWS_RUNTIME
-#include <thread>
-#endif
-
-// BOOST_SMT_PAUSE
-
-#if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) )
-
-extern "C" void _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 ) && !BOOST_PLAT_WINDOWS_RUNTIME
-#if !BOOST_COMP_CLANG || !defined __MINGW32__
-  extern "C" void __stdcall Sleep( unsigned long ms );
-#else
-#include <_mingw.h>
-#if !defined __MINGW64_VERSION_MAJOR
-  extern "C" void __stdcall Sleep( unsigned long ms );
-#else
-  extern "C" __declspec(dllimport) void __stdcall Sleep( unsigned long ms );
-#endif
-#endif
-#endif
-
-inline void yield( unsigned k )
-{
-    if( k < 4 )
-    {
-    }
-#if defined( BOOST_SMT_PAUSE )
-    else if( k < 16 )
-    {
-        BOOST_SMT_PAUSE
-    }
-#endif
-#if !BOOST_PLAT_WINDOWS_RUNTIME
-    else if( k < 32 )
-    {
-        Sleep( 0 );
-    }
-    else
-    {
-        Sleep( 1 );
-    }
-#else
-    else
-    {
-        // Sleep isn't supported on the Windows Runtime.
-        std::this_thread::yield();
-    }
-#endif
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#elif defined( BOOST_HAS_PTHREADS )
-
-#ifndef _AIX
-#include <sched.h>
-#else
-   // AIX's sched.h defines ::var which sometimes conflicts with Lambda's var
-       extern "C" int sched_yield(void);
-#endif
-
-#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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/enable_shared_from_raw.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/enable_shared_from_raw.hpp
deleted file mode 100644
index 669a649..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/enable_shared_from_raw.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef BOOST_ENABLE_SHARED_FROM_RAW_HPP_INCLUDED
-#define BOOST_ENABLE_SHARED_FROM_RAW_HPP_INCLUDED
-
-//
-//  enable_shared_from_raw.hpp
-//
-//  Copyright 2002, 2009, 2014 Peter Dimov
-//  Copyright 2008-2009 Frank Mori Hess
-//
-//  Distributed under the Boost 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/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
-#include <boost/assert.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-template<typename T> boost::shared_ptr<T> shared_from_raw(T *);
-template<typename T> boost::weak_ptr<T> weak_from_raw(T *);
-
-namespace detail
-{
-template< class X, class Y > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe );
-
-} // namespace detail
-
-class enable_shared_from_raw
-{
-protected:
-
-    enable_shared_from_raw()
-    {
-    }
-
-    enable_shared_from_raw( enable_shared_from_raw const & )
-    {
-    }
-
-    enable_shared_from_raw & operator=( enable_shared_from_raw const & )
-    {
-        return *this;
-    }
-
-    ~enable_shared_from_raw()
-    {
-        BOOST_ASSERT( shared_this_.use_count() <= 1 ); // make sure no dangling shared_ptr objects exist
-    }
-
-private:
-
-    void init_if_expired() const
-    {
-        if( weak_this_.expired() )
-        {
-            shared_this_.reset( static_cast<void*>(0), detail::esft2_deleter_wrapper() );
-            weak_this_ = shared_this_;
-        }
-    }
-
-    void init_if_empty() const
-    {
-        if( weak_this_._empty() )
-        {
-            shared_this_.reset( static_cast<void*>(0), detail::esft2_deleter_wrapper() );
-            weak_this_ = shared_this_;
-        }
-    }
-
-#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-public:
-#else
-private:
-    template<class Y> friend class shared_ptr;
-    template<typename T> friend boost::shared_ptr<T> shared_from_raw(T *);
-    template<typename T> friend boost::weak_ptr<T> weak_from_raw(T *);
-    template< class X, class Y > friend inline void detail::sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe );
-#endif
-
-    shared_ptr<void const volatile> shared_from_this() const
-    {
-        init_if_expired();
-        return shared_ptr<void const volatile>( weak_this_ );
-    }
-
-    shared_ptr<void const volatile> shared_from_this() const volatile
-    {
-        return const_cast< enable_shared_from_raw const * >( this )->shared_from_this();
-    }
-
-    weak_ptr<void const volatile> weak_from_this() const
-    {
-        init_if_empty();
-        return weak_this_;
-    }
-
-    weak_ptr<void const volatile> weak_from_this() const volatile
-    {
-        return const_cast< enable_shared_from_raw const * >( this )->weak_from_this();
-    }
-
-    // Note: invoked automatically by shared_ptr; do not call
-    template<class X, class Y> void _internal_accept_owner( shared_ptr<X> * ppx, Y * py ) const
-    {
-        BOOST_ASSERT( ppx != 0 );
-
-        if( weak_this_.expired() )
-        {
-            weak_this_ = *ppx;
-        }
-        else if( shared_this_.use_count() != 0 )
-        {
-            BOOST_ASSERT( ppx->unique() ); // no weak_ptrs should exist either, but there's no way to check that
-
-            detail::esft2_deleter_wrapper * pd = boost::get_deleter<detail::esft2_deleter_wrapper>( shared_this_ );
-            BOOST_ASSERT( pd != 0 );
-
-            pd->set_deleter( *ppx );
-
-            ppx->reset( shared_this_, ppx->get() );
-            shared_this_.reset();
-        }
-    }
-
-    mutable weak_ptr<void const volatile> weak_this_;
-
-private:
-
-    mutable shared_ptr<void const volatile> shared_this_;
-};
-
-template<typename T>
-boost::shared_ptr<T> shared_from_raw(T *p)
-{
-    BOOST_ASSERT(p != 0);
-    return boost::shared_ptr<T>(p->enable_shared_from_raw::shared_from_this(), p);
-}
-
-template<typename T>
-boost::weak_ptr<T> weak_from_raw(T *p)
-{
-    BOOST_ASSERT(p != 0);
-    boost::weak_ptr<T> result;
-    result._internal_aliasing_assign(p->enable_shared_from_raw::weak_from_this(), p);
-    return result;
-}
-
-namespace detail
-{
-    template< class X, class Y > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe )
-    {
-        if( pe != 0 )
-        {
-            pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) );
-        }
-    }
-} // namepsace detail
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_ENABLE_SHARED_FROM_RAW_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/enable_shared_from_this.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/enable_shared_from_this.hpp
deleted file mode 100644
index 4e3f243..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/enable_shared_from_this.hpp
+++ /dev/null
@@ -1,89 +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() BOOST_NOEXCEPT
-    {
-    }
-
-    enable_shared_from_this(enable_shared_from_this const &) BOOST_NOEXCEPT
-    {
-    }
-
-    enable_shared_from_this & operator=(enable_shared_from_this const &) BOOST_NOEXCEPT
-    {
-        return *this;
-    }
-
-    ~enable_shared_from_this() BOOST_NOEXCEPT // ~weak_ptr<T> newer throws, so this call also must not throw
-    {
-    }
-
-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;
-    }
-
-    weak_ptr<T> weak_from_this() BOOST_NOEXCEPT
-    {
-        return weak_this_;
-    }
-
-    weak_ptr<T const> weak_from_this() const BOOST_NOEXCEPT
-    {
-        return weak_this_;
-    }
-
-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/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/intrusive_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/intrusive_ptr.hpp
deleted file mode 100644
index e5db609..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/intrusive_ptr.hpp
+++ /dev/null
@@ -1,336 +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/smart_ptr/detail/sp_nullptr_t.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() BOOST_NOEXCEPT : 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_NO_CXX11_RVALUE_REFERENCES )
-
-    intrusive_ptr(intrusive_ptr && rhs) BOOST_NOEXCEPT : px( rhs.px )
-    {
-        rhs.px = 0;
-    }
-
-    intrusive_ptr & operator=(intrusive_ptr && rhs) BOOST_NOEXCEPT
-    {
-        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() BOOST_NOEXCEPT
-    {
-        this_type().swap( *this );
-    }
-
-    void reset( T * rhs )
-    {
-        this_type( rhs ).swap( *this );
-    }
-
-    void reset( T * rhs, bool add_ref )
-    {
-        this_type( rhs, add_ref ).swap( *this );
-    }
-
-    T * get() const BOOST_NOEXCEPT
-    {
-        return px;
-    }
-
-    T * detach() BOOST_NOEXCEPT
-    {
-        T * ret = px;
-        px = 0;
-        return ret;
-    }
-
-    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) BOOST_NOEXCEPT
-    {
-        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
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class T> inline bool operator==( intrusive_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator==( boost::detail::sp_nullptr_t, intrusive_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator!=( intrusive_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, intrusive_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-#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)
-
-// hash_value
-
-template< class T > struct hash;
-
-template< class T > std::size_t hash_value( boost::intrusive_ptr<T> const & p )
-{
-    return boost::hash< T* >()( p.get() );
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/intrusive_ref_counter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/intrusive_ref_counter.hpp
deleted file mode 100644
index 82fa8bc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/intrusive_ref_counter.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- *          Copyright Andrey Semashev 2007 - 2013.
- * Distributed under the Boost Software License, Version 1.0.
- *    (See accompanying file LICENSE_1_0.txt or copy at
- *          http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file   intrusive_ref_counter.hpp
- * \author Andrey Semashev
- * \date   12.03.2009
- *
- * This header contains a reference counter class for \c intrusive_ptr.
- */
-
-#ifndef BOOST_SMART_PTR_INTRUSIVE_REF_COUNTER_HPP_INCLUDED_
-#define BOOST_SMART_PTR_INTRUSIVE_REF_COUNTER_HPP_INCLUDED_
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/atomic_count.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(_MSC_VER)
-#pragma warning(push)
-// This is a bogus MSVC warning, which is flagged by friend declarations of intrusive_ptr_add_ref and intrusive_ptr_release in intrusive_ref_counter:
-// 'name' : the inline specifier cannot be used when a friend declaration refers to a specialization of a function template
-// Note that there is no inline specifier in the declarations.
-#pragma warning(disable: 4396)
-#endif
-
-namespace boost {
-
-namespace sp_adl_block {
-
-/*!
- * \brief Thread unsafe reference counter policy for \c intrusive_ref_counter
- *
- * The policy instructs the \c intrusive_ref_counter base class to implement
- * a reference counter suitable for single threaded use only. Pointers to the same
- * object with this kind of reference counter must not be used by different threads.
- */
-struct thread_unsafe_counter
-{
-    typedef unsigned int type;
-
-    static unsigned int load(unsigned int const& counter) BOOST_NOEXCEPT
-    {
-        return counter;
-    }
-
-    static void increment(unsigned int& counter) BOOST_NOEXCEPT
-    {
-        ++counter;
-    }
-
-    static unsigned int decrement(unsigned int& counter) BOOST_NOEXCEPT
-    {
-        return --counter;
-    }
-};
-
-/*!
- * \brief Thread safe reference counter policy for \c intrusive_ref_counter
- *
- * The policy instructs the \c intrusive_ref_counter base class to implement
- * a thread-safe reference counter, if the target platform supports multithreading.
- */
-struct thread_safe_counter
-{
-    typedef boost::detail::atomic_count type;
-
-    static unsigned int load(boost::detail::atomic_count const& counter) BOOST_NOEXCEPT
-    {
-        return static_cast< unsigned int >(static_cast< long >(counter));
-    }
-
-    static void increment(boost::detail::atomic_count& counter) BOOST_NOEXCEPT
-    {
-        ++counter;
-    }
-
-    static unsigned int decrement(boost::detail::atomic_count& counter) BOOST_NOEXCEPT
-    {
-        return --counter;
-    }
-};
-
-template< typename DerivedT, typename CounterPolicyT = thread_safe_counter >
-class intrusive_ref_counter;
-
-template< typename DerivedT, typename CounterPolicyT >
-void intrusive_ptr_add_ref(const intrusive_ref_counter< DerivedT, CounterPolicyT >* p) BOOST_NOEXCEPT;
-template< typename DerivedT, typename CounterPolicyT >
-void intrusive_ptr_release(const intrusive_ref_counter< DerivedT, CounterPolicyT >* p) BOOST_NOEXCEPT;
-
-/*!
- * \brief A reference counter base class
- *
- * This base class can be used with user-defined classes to add support
- * for \c intrusive_ptr. The class contains a reference counter defined by the \c CounterPolicyT.
- * Upon releasing the last \c intrusive_ptr referencing the object
- * derived from the \c intrusive_ref_counter class, operator \c delete
- * is automatically called on the pointer to the object.
- *
- * The other template parameter, \c DerivedT, is the user's class that derives from \c intrusive_ref_counter.
- */
-template< typename DerivedT, typename CounterPolicyT >
-class intrusive_ref_counter
-{
-private:
-    //! Reference counter type
-    typedef typename CounterPolicyT::type counter_type;
-    //! Reference counter
-    mutable counter_type m_ref_counter;
-
-public:
-    /*!
-     * Default constructor
-     *
-     * \post <tt>use_count() == 0</tt>
-     */
-    intrusive_ref_counter() BOOST_NOEXCEPT : m_ref_counter(0)
-    {
-    }
-
-    /*!
-     * Copy constructor
-     *
-     * \post <tt>use_count() == 0</tt>
-     */
-    intrusive_ref_counter(intrusive_ref_counter const&) BOOST_NOEXCEPT : m_ref_counter(0)
-    {
-    }
-
-    /*!
-     * Assignment
-     *
-     * \post The reference counter is not modified after assignment
-     */
-    intrusive_ref_counter& operator= (intrusive_ref_counter const&) BOOST_NOEXCEPT { return *this; }
-
-    /*!
-     * \return The reference counter
-     */
-    unsigned int use_count() const BOOST_NOEXCEPT
-    {
-        return CounterPolicyT::load(m_ref_counter);
-    }
-
-protected:
-    /*!
-     * Destructor
-     */
-    BOOST_DEFAULTED_FUNCTION(~intrusive_ref_counter(), {})
-
-    friend void intrusive_ptr_add_ref< DerivedT, CounterPolicyT >(const intrusive_ref_counter< DerivedT, CounterPolicyT >* p) BOOST_NOEXCEPT;
-    friend void intrusive_ptr_release< DerivedT, CounterPolicyT >(const intrusive_ref_counter< DerivedT, CounterPolicyT >* p) BOOST_NOEXCEPT;
-};
-
-template< typename DerivedT, typename CounterPolicyT >
-inline void intrusive_ptr_add_ref(const intrusive_ref_counter< DerivedT, CounterPolicyT >* p) BOOST_NOEXCEPT
-{
-    CounterPolicyT::increment(p->m_ref_counter);
-}
-
-template< typename DerivedT, typename CounterPolicyT >
-inline void intrusive_ptr_release(const intrusive_ref_counter< DerivedT, CounterPolicyT >* p) BOOST_NOEXCEPT
-{
-    if (CounterPolicyT::decrement(p->m_ref_counter) == 0)
-        delete static_cast< const DerivedT* >(p);
-}
-
-} // namespace sp_adl_block
-
-using sp_adl_block::intrusive_ref_counter;
-using sp_adl_block::thread_unsafe_counter;
-using sp_adl_block::thread_safe_counter;
-
-} // namespace boost
-
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif
-
-#endif // BOOST_SMART_PTR_INTRUSIVE_REF_COUNTER_HPP_INCLUDED_
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared.hpp
deleted file mode 100644
index 8d0e3ea..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared.hpp
+++ /dev/null
@@ -1,22 +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, 2012 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_object.hpp>
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_SFINAE )
-# include <boost/smart_ptr/make_shared_array.hpp>
-# include <boost/smart_ptr/allocate_shared_array.hpp>
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared_array.hpp
deleted file mode 100644
index c48f507..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared_array.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Glen Joseph Fernandes
- * glenfe at live dot com
- *
- * Distributed under the Boost Software License,
- * Version 1.0. (See accompanying file LICENSE_1_0.txt
- * or copy at http://boost.org/LICENSE_1_0.txt)
- */
-#ifndef BOOST_SMART_PTR_MAKE_SHARED_ARRAY_HPP
-#define BOOST_SMART_PTR_MAKE_SHARED_ARRAY_HPP
-
-#include <boost/smart_ptr/detail/array_count_impl.hpp>
-#include <boost/smart_ptr/detail/sp_if_array.hpp>
-
-namespace boost {
-    template<class T>
-    inline typename boost::detail::sp_if_array<T>::type
-    make_shared(std::size_t size) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_allocator<T> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        std::size_t n1 = size * boost::detail::array_total<T1>::size;
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(size, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_init(p2, n1);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T>
-    inline typename boost::detail::sp_if_size_array<T>::type
-    make_shared() {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_allocator<T> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            N = boost::detail::array_total<T>::size
-        };
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(&p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_init(p2, N);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T>
-    inline typename boost::detail::sp_if_array<T>::type
-    make_shared(std::size_t size,
-        const typename boost::detail::array_inner<T>::type& value) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef const T2 T3;
-        typedef boost::detail::ms_allocator<T> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            M = boost::detail::array_total<T1>::size
-        };
-        std::size_t n1 = M * size;
-        T1* p1 = 0;
-        T2* p2 = 0;
-        T3* p3 = reinterpret_cast<T3*>(&value);
-        D1 d1;
-        A1 a1(size, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_init<T2, M>(p2, n1, p3);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T>
-    inline typename boost::detail::sp_if_size_array<T>::type
-    make_shared(const typename boost::detail::array_inner<T>::type& value) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef const T2 T3;
-        typedef boost::detail::ms_allocator<T> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            M = boost::detail::array_total<T1>::size,
-            N = boost::detail::array_total<T>::size
-        };
-        T1* p1 = 0;
-        T2* p2 = 0;
-        T3* p3 = reinterpret_cast<T3*>(&value);
-        D1 d1;
-        A1 a1(&p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_init<T2, M>(p2, N, p3);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T>
-    inline typename boost::detail::sp_if_array<T>::type
-    make_shared_noinit(std::size_t size) {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_allocator<T> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        std::size_t n1 = size * boost::detail::array_total<T1>::size;
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(size, &p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_noinit(p2, n1);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-
-    template<class T>
-    inline typename boost::detail::sp_if_size_array<T>::type
-    make_shared_noinit() {
-        typedef typename boost::detail::array_inner<T>::type T1;
-        typedef typename boost::detail::array_base<T1>::type T2;
-        typedef boost::detail::ms_allocator<T> A1;
-        typedef boost::detail::ms_in_allocator_tag D1;
-        enum {
-            N = boost::detail::array_total<T>::size
-        };
-        T1* p1 = 0;
-        T2* p2 = 0;
-        D1 d1;
-        A1 a1(&p2);
-        shared_ptr<T> s1(p1, d1, a1);
-        A1* a2 = static_cast<A1*>(s1._internal_get_untyped_deleter());
-        a2->set(0);
-        boost::detail::ms_noinit(p2, N);
-        a2->set(p2);
-        p1 = reinterpret_cast<T1*>(p2);
-        return shared_ptr<T>(s1, p1);
-    }
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared_object.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared_object.hpp
deleted file mode 100644
index 62372fa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_shared_object.hpp
+++ /dev/null
@@ -1,1131 +0,0 @@
-#ifndef BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
-#define BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
-
-//  make_shared_object.hpp
-//
-//  Copyright (c) 2007, 2008, 2012 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/smart_ptr/detail/sp_forward.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() BOOST_NOEXCEPT : initialized_( false )
-    {
-    }
-
-    template<class A> explicit sp_ms_deleter( A const & ) BOOST_NOEXCEPT : initialized_( false )
-    {
-    }
-
-    // optimization: do not copy storage_
-    sp_ms_deleter( sp_ms_deleter const & ) BOOST_NOEXCEPT : initialized_( false )
-    {
-    }
-
-    ~sp_ms_deleter()
-    {
-        destroy();
-    }
-
-    void operator()( T * )
-    {
-        destroy();
-    }
-
-    static void operator_fn( T* ) // operator() can't be static
-    {
-    }
-
-    void * address() BOOST_NOEXCEPT
-    {
-        return storage_.data_;
-    }
-
-    void set_initialized() BOOST_NOEXCEPT
-    {
-        initialized_ = true;
-    }
-};
-
-template< class T, class A > class sp_as_deleter
-{
-private:
-
-    typedef typename sp_aligned_storage< sizeof( T ), ::boost::alignment_of< T >::value >::type storage_type;
-
-    storage_type storage_;
-    A a_;
-    bool initialized_;
-
-private:
-
-    void destroy()
-    {
-        if( initialized_ )
-        {
-            T * p = reinterpret_cast< T* >( storage_.data_ );
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-            std::allocator_traits<A>::destroy( a_, p );
-
-#else
-
-            p->~T();
-
-#endif
-
-            initialized_ = false;
-        }
-    }
-
-public:
-
-    sp_as_deleter( A const & a ) BOOST_NOEXCEPT : a_( a ), initialized_( false )
-    {
-    }
-
-    // optimization: do not copy storage_
-    sp_as_deleter( sp_as_deleter const & r ) BOOST_NOEXCEPT : a_( r.a_), initialized_( false )
-    {
-    }
-
-    ~sp_as_deleter()
-    {
-        destroy();
-    }
-
-    void operator()( T * )
-    {
-        destroy();
-    }
-
-    static void operator_fn( T* ) // operator() can't be static
-    {
-    }
-
-    void * address() BOOST_NOEXCEPT
-    {
-        return storage_.data_;
-    }
-
-    void set_initialized() BOOST_NOEXCEPT
-    {
-        initialized_ = true;
-    }
-};
-
-template< class T > struct sp_if_not_array
-{
-    typedef boost::shared_ptr< T > type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_if_not_array< T[] >
-{
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_if_not_array< T[N] >
-{
-};
-
-#endif
-
-#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
-
-// _noinit versions
-
-template< class T > typename boost::detail::sp_if_not_array< T >::type make_shared_noinit()
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 > typename boost::detail::sp_if_not_array< T >::type allocate_shared_noinit( A const & a )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
-
-    boost::detail::sp_ms_deleter< T > * pd = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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_NO_CXX11_VARIADIC_TEMPLATES ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// Variadic templates, rvalue reference
-
-template< class T, class... Args > typename boost::detail::sp_if_not_array< T >::type make_shared( Args && ... args )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    void * pv = pd->address();
-
-    ::new( pv ) T( 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... Args > typename boost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, Args && ... args )
-{
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-    typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
-    A2 a2( a );
-
-    typedef boost::detail::sp_as_deleter< T, A2 > D;
-
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a2 );
-
-#else
-
-    typedef boost::detail::sp_ms_deleter< T > D;
-
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a );
-
-#endif
-
-    D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() );
-    void * pv = pd->address();
-
-#if !defined( BOOST_NO_CXX11_ALLOCATOR )
-
-    std::allocator_traits<A2>::construct( a2, static_cast< T* >( pv ), boost::detail::sp_forward<Args>( args )... );
-
-#else
-
-    ::new( pv ) T( boost::detail::sp_forward<Args>( args )... );
-
-#endif
-
-    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 // !defined( BOOST_NO_CXX11_VARIADIC_TEMPLATES ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// Common zero-argument versions
-
-template< class T > typename boost::detail::sp_if_not_array< T >::type make_shared()
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 > typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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_NO_CXX11_RVALUE_REFERENCES )
-
-// For example MSVC 10.0
-
-template< class T, class A1 >
-typename boost::detail::sp_if_not_array< T >::type make_shared( A1 && a1 )
-{
-    boost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
-
-    boost::detail::sp_ms_deleter< T > * pd = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 // !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// C++03 version
-
-template< class T, class A1 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 >
-typename boost::detail::sp_if_not_array< T >::type 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 = static_cast<boost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
-
-    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 // !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-#endif // !defined( BOOST_NO_CXX11_VARIADIC_TEMPLATES ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-#undef BOOST_SP_MSD
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_unique.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_unique.hpp
deleted file mode 100644
index d054e3d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/make_unique.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
-(c) 2014-2015 Glen Joseph Fernandes
-<glenjofe -at- gmail.com>
-
-Distributed under the Boost Software
-License, Version 1.0.
-http://boost.org/LICENSE_1_0.txt
-*/
-#ifndef BOOST_SMART_PTR_MAKE_UNIQUE_HPP
-#define BOOST_SMART_PTR_MAKE_UNIQUE_HPP
-
-#include <boost/config.hpp>
-#include <memory>
-#include <utility>
-
-namespace boost {
-namespace detail {
-template<class T>
-struct up_if_object {
-    typedef std::unique_ptr<T> type;
-};
-
-template<class T>
-struct up_if_object<T[]> { };
-
-template<class T, std::size_t N>
-struct up_if_object<T[N]> { };
-
-template<class T>
-struct up_if_array { };
-
-template<class T>
-struct up_if_array<T[]> {
-    typedef std::unique_ptr<T[]> type;
-};
-
-template<class T>
-struct up_remove_reference {
-    typedef T type;
-};
-
-template<class T>
-struct up_remove_reference<T&> {
-    typedef T type;
-};
-
-template<class T>
-struct up_remove_reference<T&&> {
-    typedef T type;
-};
-
-template<class T>
-struct up_element { };
-
-template<class T>
-struct up_element<T[]> {
-    typedef T type;
-};
-} /* detail */
-
-template<class T>
-inline typename detail::up_if_object<T>::type make_unique()
-{
-    return std::unique_ptr<T>(new T());
-}
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-template<class T, class... Args>
-inline typename detail::up_if_object<T>::type
-    make_unique(Args&&... args)
-{
-    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
-}
-#endif
-
-template<class T>
-inline typename detail::up_if_object<T>::type
-    make_unique(typename detail::up_remove_reference<T>::type&& value)
-{
-    return std::unique_ptr<T>(new T(std::move(value)));
-}
-
-template<class T>
-inline typename detail::up_if_object<T>::type make_unique_noinit()
-{
-    return std::unique_ptr<T>(new T);
-}
-
-template<class T>
-inline typename detail::up_if_array<T>::type make_unique(std::size_t n)
-{
-    return std::unique_ptr<T>(new
-        typename detail::up_element<T>::type[n]());
-}
-
-template<class T>
-inline typename detail::up_if_array<T>::type
-    make_unique_noinit(std::size_t n)
-{
-    return std::unique_ptr<T>(new
-        typename detail::up_element<T>::type[n]);
-}
-} /* boost */
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/owner_less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/owner_less.hpp
deleted file mode 100644
index 6899325..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/owner_less.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef BOOST_SMART_PTR_OWNER_LESS_HPP_INCLUDED
-#define BOOST_SMART_PTR_OWNER_LESS_HPP_INCLUDED
-
-//
-//  owner_less.hpp
-//
-//  Copyright (c) 2008 Frank Mori Hess
-//
-//  Distributed under the Boost Software License, Version 1.0. (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/smart_ptr.htm for documentation.
-//
-
-#include <functional>
-
-namespace boost
-{
-  template<typename T> class shared_ptr;
-  template<typename T> class weak_ptr;
-
-  namespace detail
-  {
-    template<typename T, typename U>
-      struct generic_owner_less : public std::binary_function<T, T, bool>
-    {
-      bool operator()(const T &lhs, const T &rhs) const
-      {
-        return lhs.owner_before(rhs);
-      }
-      bool operator()(const T &lhs, const U &rhs) const
-      {
-        return lhs.owner_before(rhs);
-      }
-      bool operator()(const U &lhs, const T &rhs) const
-      {
-        return lhs.owner_before(rhs);
-      }
-    };
-  } // namespace detail
-
-  template<typename T> struct owner_less;
-
-  template<typename T>
-    struct owner_less<shared_ptr<T> >:
-    public detail::generic_owner_less<shared_ptr<T>, weak_ptr<T> >
-  {};
-
-  template<typename T>
-    struct owner_less<weak_ptr<T> >:
-    public detail::generic_owner_less<weak_ptr<T>, shared_ptr<T> >
-  {};
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_OWNER_LESS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/scoped_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/scoped_array.hpp
deleted file mode 100644
index e395e28..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/scoped_array.hpp
+++ /dev/null
@@ -1,132 +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/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/smart_ptr/detail/sp_nullptr_t.hpp>
-
-#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 ) BOOST_NOEXCEPT : px( p )
-    {
-#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 (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
-    {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
-        this_type(p).swap(*this);
-    }
-
-    T & operator[](std::ptrdiff_t i) const // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
-    {
-        BOOST_ASSERT( px != 0 );
-        BOOST_ASSERT( i >= 0 );
-        return px[i];
-    }
-
-    T * get() const BOOST_NOEXCEPT
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    void swap(scoped_array & b) BOOST_NOEXCEPT
-    {
-        T * tmp = b.px;
-        b.px = px;
-        px = tmp;
-    }
-};
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class T> inline bool operator==( scoped_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator==( boost::detail::sp_nullptr_t, scoped_array<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator!=( scoped_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, scoped_array<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-#endif
-
-template<class T> inline void swap(scoped_array<T> & a, scoped_array<T> & b) BOOST_NOEXCEPT
-{
-    a.swap(b);
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/scoped_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/scoped_ptr.hpp
deleted file mode 100644
index d5d8720..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/scoped_ptr.hpp
+++ /dev/null
@@ -1,167 +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/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/smart_ptr/detail/sp_nullptr_t.hpp>
-#include <boost/smart_ptr/detail/sp_disable_deprecated.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_AUTO_PTR
-# include <memory>          // for std::auto_ptr
-#endif
-
-#if defined( BOOST_SP_DISABLE_DEPRECATED )
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#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 ) BOOST_NOEXCEPT : px( p.release() )
-    {
-#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 BOOST_NOEXCEPT
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    void swap(scoped_ptr & b) BOOST_NOEXCEPT
-    {
-        T * tmp = b.px;
-        b.px = px;
-        px = tmp;
-    }
-};
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class T> inline bool operator==( scoped_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator==( boost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator!=( scoped_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-#endif
-
-template<class T> inline void swap(scoped_ptr<T> & a, scoped_ptr<T> & b) BOOST_NOEXCEPT
-{
-    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) BOOST_NOEXCEPT
-{
-    return p.get();
-}
-
-} // namespace boost
-
-#if defined( BOOST_SP_DISABLE_DEPRECATED )
-#pragma GCC diagnostic pop
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/shared_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/shared_array.hpp
deleted file mode 100644
index fd58071..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/shared_array.hpp
+++ /dev/null
@@ -1,292 +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, 2012 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
-
-#include <memory>             // TR1 cyclic inclusion fix
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/detail/shared_count.hpp>
-#include <boost/smart_ptr/detail/sp_nullptr_t.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;
-
-    shared_array() BOOST_NOEXCEPT : px( 0 ), pn()
-    {
-    }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-    shared_array( boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT : px( 0 ), pn()
-    {
-    }
-
-#endif
-
-    template<class Y>
-    explicit shared_array( Y * p ): px( p ), pn( p, checked_array_deleter<Y>() )
-    {
-        boost::detail::sp_assert_convertible< Y[], T[] >();
-    }
-
-    //
-    // Requirements: D's copy constructor must not throw
-    //
-    // shared_array will release p by calling d(p)
-    //
-
-    template<class Y, class D> shared_array( Y * p, D d ): px( p ), pn( p, d )
-    {
-        boost::detail::sp_assert_convertible< Y[], T[] >();
-    }
-
-    // As above, but with allocator. A's copy constructor shall not throw.
-
-    template<class Y, class D, class A> shared_array( Y * p, D d, A a ): px( p ), pn( p, d, a )
-    {
-        boost::detail::sp_assert_convertible< Y[], T[] >();
-    }
-
-//  generated copy constructor, destructor are fine...
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// ... except in C++0x, move disables the implicit copy
-
-    shared_array( shared_array const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
-    {
-    }
-
-    shared_array( shared_array && r ) BOOST_NOEXCEPT : px( r.px ), pn()
-    {
-        pn.swap( r.pn );
-        r.px = 0;
-    }
-
-#endif
-
-    // conversion
-
-    template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    shared_array( shared_array<Y> const & r, typename boost::detail::sp_enable_if_convertible< Y[], T[] >::type = boost::detail::sp_empty() )
-
-#else
-
-    shared_array( shared_array<Y> const & r )
-
-#endif
-    BOOST_NOEXCEPT : px( r.px ), pn( r.pn ) // never throws
-    {
-        boost::detail::sp_assert_convertible< Y[], T[] >();
-    }
-
-    // aliasing
-
-    template< class Y >
-    shared_array( shared_array<Y> const & r, element_type * p ) BOOST_NOEXCEPT : px( p ), pn( r.pn )
-    {
-    }
-
-    // assignment
-
-    shared_array & operator=( shared_array const & r ) BOOST_NOEXCEPT
-    {
-        this_type( r ).swap( *this );
-        return *this;
-    }
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1400)
-
-    template<class Y>
-    shared_array & operator=( shared_array<Y> const & r ) BOOST_NOEXCEPT
-    {
-        this_type( r ).swap( *this );
-        return *this;
-    }
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    shared_array & operator=( shared_array && r ) BOOST_NOEXCEPT
-    {
-        this_type( static_cast< shared_array && >( r ) ).swap( *this );
-        return *this;
-    }
-
-    template<class Y>
-    shared_array & operator=( shared_array<Y> && r ) BOOST_NOEXCEPT
-    {
-        this_type( static_cast< shared_array<Y> && >( r ) ).swap( *this );
-        return *this;
-    }
-
-#endif
-
-    void reset() BOOST_NOEXCEPT
-    {
-        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_array<Y> const & r, element_type * p )
-    {
-        this_type( r, p ).swap( *this );
-    }
-
-    T & operator[] (std::ptrdiff_t i) const // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
-    {
-        BOOST_ASSERT(px != 0);
-        BOOST_ASSERT(i >= 0);
-        return px[i];
-    }
-    
-    T * get() const BOOST_NOEXCEPT
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    bool unique() const BOOST_NOEXCEPT
-    {
-        return pn.unique();
-    }
-
-    long use_count() const BOOST_NOEXCEPT
-    {
-        return pn.use_count();
-    }
-
-    void swap(shared_array<T> & other) BOOST_NOEXCEPT
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-    void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const
-    {
-        return pn.get_deleter( ti );
-    }
-
-private:
-
-    template<class Y> friend class shared_array;
-
-    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) BOOST_NOEXCEPT
-{
-    return a.get() == b.get();
-}
-
-template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) BOOST_NOEXCEPT
-{
-    return a.get() != b.get();
-}
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class T> inline bool operator==( shared_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator==( boost::detail::sp_nullptr_t, shared_array<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator!=( shared_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_array<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-#endif
-
-template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b) BOOST_NOEXCEPT
-{
-    return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_array<T> & a, shared_array<T> & b) BOOST_NOEXCEPT
-{
-    a.swap(b);
-}
-
-template< class D, class T > D * get_deleter( shared_array<T> const & p )
-{
-    return static_cast< D * >( p._internal_get_deleter( BOOST_SP_TYPEID(D) ) );
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/shared_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/shared_ptr.hpp
deleted file mode 100644
index bcefda8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/shared_ptr.hpp
+++ /dev/null
@@ -1,1077 +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
-
-// 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>
-#include <boost/smart_ptr/detail/sp_nullptr_t.hpp>
-#include <boost/smart_ptr/detail/sp_disable_deprecated.hpp>
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-#include <boost/smart_ptr/detail/spinlock_pool.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
-
-#if defined( BOOST_SP_DISABLE_DEPRECATED )
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#endif
-
-namespace boost
-{
-
-template<class T> class shared_ptr;
-template<class T> class weak_ptr;
-template<class T> class enable_shared_from_this;
-class enable_shared_from_raw;
-
-namespace movelib
-{
-
-    template< class T, class D > class unique_ptr;
-
-} // namespace movelib
-
-namespace detail
-{
-
-// sp_element, element_type
-
-template< class T > struct sp_element
-{
-    typedef T type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_element< T[] >
-{
-    typedef T type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_element< T[N] >
-{
-    typedef T type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_dereference, return type of operator*
-
-template< class T > struct sp_dereference
-{
-    typedef T & type;
-};
-
-template<> struct sp_dereference< void >
-{
-    typedef void type;
-};
-
-#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-template<> struct sp_dereference< void const >
-{
-    typedef void type;
-};
-
-template<> struct sp_dereference< void volatile >
-{
-    typedef void type;
-};
-
-template<> struct sp_dereference< void const volatile >
-{
-    typedef void type;
-};
-
-#endif // !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_dereference< T[] >
-{
-    typedef void type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_dereference< T[N] >
-{
-    typedef void type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_member_access, return type of operator->
-
-template< class T > struct sp_member_access
-{
-    typedef T * type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_member_access< T[] >
-{
-    typedef void type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_member_access< T[N] >
-{
-    typedef void type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_array_access, return type of operator[]
-
-template< class T > struct sp_array_access
-{
-    typedef void type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_array_access< T[] >
-{
-    typedef T & type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_array_access< T[N] >
-{
-    typedef T & type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_extent, for operator[] index check
-
-template< class T > struct sp_extent
-{
-    enum _vt { value = 0 };
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T, std::size_t N > struct sp_extent< T[N] >
-{
-    enum _vt { value = N };
-};
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// 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 > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe );
-
-#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
-
-// sp_assert_convertible
-
-template< class Y, class T > inline void sp_assert_convertible()
-{
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-    // static_assert( sp_convertible< Y, T >::value );
-    typedef char tmp[ sp_convertible< Y, T >::value? 1: -1 ];
-    (void)sizeof( tmp );
-
-#else
-
-    T* p = static_cast< Y* >( 0 );
-    (void)p;
-
-#endif
-}
-
-// pointer constructor helper
-
-template< class T, class Y > inline void sp_pointer_construct( boost::shared_ptr< T > * ppx, Y * p, boost::detail::shared_count & pn )
-{
-    boost::detail::shared_count( p ).swap( pn );
-    boost::detail::sp_enable_shared_from_this( ppx, p, p );
-}
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T, class Y > inline void sp_pointer_construct( boost::shared_ptr< T[] > * /*ppx*/, Y * p, boost::detail::shared_count & pn )
-{
-    sp_assert_convertible< Y[], T[] >();
-    boost::detail::shared_count( p, boost::checked_array_deleter< T >() ).swap( pn );
-}
-
-template< class T, std::size_t N, class Y > inline void sp_pointer_construct( boost::shared_ptr< T[N] > * /*ppx*/, Y * p, boost::detail::shared_count & pn )
-{
-    sp_assert_convertible< Y[N], T[N] >();
-    boost::detail::shared_count( p, boost::checked_array_deleter< T >() ).swap( pn );
-}
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// deleter constructor helper
-
-template< class T, class Y > inline void sp_deleter_construct( boost::shared_ptr< T > * ppx, Y * p )
-{
-    boost::detail::sp_enable_shared_from_this( ppx, p, p );
-}
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T, class Y > inline void sp_deleter_construct( boost::shared_ptr< T[] > * /*ppx*/, Y * /*p*/ )
-{
-    sp_assert_convertible< Y[], T[] >();
-}
-
-template< class T, std::size_t N, class Y > inline void sp_deleter_construct( boost::shared_ptr< T[N] > * /*ppx*/, Y * /*p*/ )
-{
-    sp_assert_convertible< Y[N], T[N] >();
-}
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-} // 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 typename boost::detail::sp_element< T >::type element_type;
-
-    shared_ptr() BOOST_NOEXCEPT : px( 0 ), pn() // never throws in 1.30+
-    {
-    }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-    shared_ptr( boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT : px( 0 ), pn() // never throws
-    {
-    }
-
-#endif
-
-    template<class Y>
-    explicit shared_ptr( Y * p ): px( p ), pn() // Y must be complete
-    {
-        boost::detail::sp_pointer_construct( this, p, pn );
-    }
-
-    //
-    // 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_deleter_construct( this, p );
-    }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-    template<class D> shared_ptr( boost::detail::sp_nullptr_t p, D d ): px( p ), pn( p, d )
-    {
-    }
-
-#endif
-
-    // 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_deleter_construct( this, p );
-    }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-    template<class D, class A> shared_ptr( boost::detail::sp_nullptr_t p, D d, A a ): px( p ), pn( p, d, a )
-    {
-    }
-
-#endif
-
-//  generated copy constructor, destructor are fine...
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// ... except in C++0x, move disables the implicit copy
-
-    shared_ptr( shared_ptr const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
-    {
-    }
-
-#endif
-
-    template<class Y>
-    explicit shared_ptr( weak_ptr<Y> const & r ): pn( r.pn ) // may throw
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        // 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 )
-    BOOST_NOEXCEPT : px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() )
-    {
-        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
-    BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-    }
-
-    // aliasing
-    template< class Y >
-    shared_ptr( shared_ptr<Y> const & r, element_type * p ) BOOST_NOEXCEPT : px( p ), pn( r.pn )
-    {
-    }
-
-#ifndef BOOST_NO_AUTO_PTR
-
-    template<class Y>
-    explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        Y * tmp = r.get();
-        pn = boost::detail::shared_count( r );
-
-        boost::detail::sp_deleter_construct( this, tmp );
-    }
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    template<class Y>
-    shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn()
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        Y * tmp = r.get();
-        pn = boost::detail::shared_count( r );
-
-        boost::detail::sp_deleter_construct( this, tmp );
-    }
-
-#elif !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()
-    {
-        typedef typename Ap::element_type Y;
-
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        Y * tmp = r.get();
-        pn = boost::detail::shared_count( r );
-
-        boost::detail::sp_deleter_construct( this, tmp );
-    }
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    template< class Y, class D >
-    shared_ptr( std::unique_ptr< Y, D > && r ): px( r.get() ), pn()
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        typename std::unique_ptr< Y, D >::pointer tmp = r.get();
-        pn = boost::detail::shared_count( r );
-
-        boost::detail::sp_deleter_construct( this, tmp );
-    }
-
-#endif
-
-    template< class Y, class D >
-    shared_ptr( boost::movelib::unique_ptr< Y, D > r ): px( r.get() ), pn()
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        typename boost::movelib::unique_ptr< Y, D >::pointer tmp = r.get();
-        pn = boost::detail::shared_count( r );
-
-        boost::detail::sp_deleter_construct( this, tmp );
-    }
-
-    // assignment
-
-    shared_ptr & operator=( shared_ptr const & r ) BOOST_NOEXCEPT
-    {
-        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) BOOST_NOEXCEPT
-    {
-        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_CXX11_RVALUE_REFERENCES )
-
-    template<class Y>
-    shared_ptr & operator=( std::auto_ptr<Y> && r )
-    {
-        this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this );
-        return *this;
-    }
-
-#elif !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
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    template<class Y, class D>
-    shared_ptr & operator=( std::unique_ptr<Y, D> && r )
-    {
-        this_type( static_cast< std::unique_ptr<Y, D> && >( r ) ).swap(*this);
-        return *this;
-    }
-
-#endif
-
-    template<class Y, class D>
-    shared_ptr & operator=( boost::movelib::unique_ptr<Y, D> r )
-    {
-        // this_type( static_cast< unique_ptr<Y, D> && >( r ) ).swap( *this );
-
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        typename boost::movelib::unique_ptr< Y, D >::pointer p = r.get();
-
-        shared_ptr tmp;
-
-        tmp.px = p;
-        tmp.pn = boost::detail::shared_count( r );
-
-        boost::detail::sp_deleter_construct( &tmp, p );
-
-        tmp.swap( *this );
-
-        return *this;
-    }
-
-// Move support
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    shared_ptr( shared_ptr && r ) BOOST_NOEXCEPT : px( r.px ), pn()
-    {
-        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
-    BOOST_NOEXCEPT : px( r.px ), pn()
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        pn.swap( r.pn );
-        r.px = 0;
-    }
-
-    shared_ptr & operator=( shared_ptr && r ) BOOST_NOEXCEPT
-    {
-        this_type( static_cast< shared_ptr && >( r ) ).swap( *this );
-        return *this;
-    }
-
-    template<class Y>
-    shared_ptr & operator=( shared_ptr<Y> && r ) BOOST_NOEXCEPT
-    {
-        this_type( static_cast< shared_ptr<Y> && >( r ) ).swap( *this );
-        return *this;
-    }
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-    shared_ptr & operator=( boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT // never throws
-    {
-        this_type().swap(*this);
-        return *this;
-    }
-
-#endif
-
-    void reset() BOOST_NOEXCEPT // 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, element_type * p )
-    {
-        this_type( r, p ).swap( *this );
-    }
-    
-    // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
-    typename boost::detail::sp_dereference< T >::type operator* () const
-    {
-        BOOST_ASSERT( px != 0 );
-        return *px;
-    }
-    
-    // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
-    typename boost::detail::sp_member_access< T >::type operator-> () const 
-    {
-        BOOST_ASSERT( px != 0 );
-        return px;
-    }
-    
-    // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
-    typename boost::detail::sp_array_access< T >::type operator[] ( std::ptrdiff_t i ) const
-    {
-        BOOST_ASSERT( px != 0 );
-        BOOST_ASSERT( i >= 0 && ( i < boost::detail::sp_extent< T >::value || boost::detail::sp_extent< T >::value == 0 ) );
-
-        return static_cast< typename boost::detail::sp_array_access< T >::type >( px[ i ] );
-    }
-
-    element_type * get() const BOOST_NOEXCEPT
-    {
-        return px;
-    }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
-    bool unique() const BOOST_NOEXCEPT
-    {
-        return pn.unique();
-    }
-
-    long use_count() const BOOST_NOEXCEPT
-    {
-        return pn.use_count();
-    }
-
-    void swap( shared_ptr & other ) BOOST_NOEXCEPT
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-    template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
-    {
-        return pn < rhs.pn;
-    }
-
-    template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
-    {
-        return pn < rhs.pn;
-    }
-
-    void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const BOOST_NOEXCEPT
-    {
-        return pn.get_deleter( ti );
-    }
-
-    void * _internal_get_untyped_deleter() const BOOST_NOEXCEPT
-    {
-        return pn.get_untyped_deleter();
-    }
-
-    bool _internal_equiv( shared_ptr const & r ) const BOOST_NOEXCEPT
-    {
-        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
-
-    element_type * 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) BOOST_NOEXCEPT
-{
-    return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
-{
-    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) BOOST_NOEXCEPT
-{
-    return a.get() != b.get();
-}
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class T> inline bool operator==( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator==( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() == 0;
-}
-
-template<class T> inline bool operator!=( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return p.get() != 0;
-}
-
-#endif
-
-template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
-{
-    return a.owner_before( b );
-}
-
-template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b) BOOST_NOEXCEPT
-{
-    a.swap(b);
-}
-
-template<class T, class U> shared_ptr<T> static_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
-    (void) static_cast< T* >( static_cast< U* >( 0 ) );
-
-    typedef typename shared_ptr<T>::element_type E;
-
-    E * p = static_cast< E* >( r.get() );
-    return shared_ptr<T>( r, p );
-}
-
-template<class T, class U> shared_ptr<T> const_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
-    (void) const_cast< T* >( static_cast< U* >( 0 ) );
-
-    typedef typename shared_ptr<T>::element_type E;
-
-    E * p = const_cast< E* >( r.get() );
-    return shared_ptr<T>( r, p );
-}
-
-template<class T, class U> shared_ptr<T> dynamic_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
-    (void) dynamic_cast< T* >( static_cast< U* >( 0 ) );
-
-    typedef typename shared_ptr<T>::element_type E;
-
-    E * p = dynamic_cast< E* >( r.get() );
-    return p? shared_ptr<T>( r, p ): shared_ptr<T>();
-}
-
-template<class T, class U> shared_ptr<T> reinterpret_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
-    (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) );
-
-    typedef typename shared_ptr<T>::element_type E;
-
-    E * p = reinterpret_cast< E* >( r.get() );
-    return shared_ptr<T>( r, p );
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shared_ptr<T> const & p) BOOST_NOEXCEPT
-{
-    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
-
-namespace detail
-{
-
-#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 * basic_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 * basic_get_deleter( shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    return static_cast<D *>( p._internal_get_deleter(BOOST_SP_TYPEID(D)) );
-}
-
-#endif
-
-class esft2_deleter_wrapper
-{
-private:
-
-    shared_ptr<void const volatile> deleter_;
-
-public:
-
-    esft2_deleter_wrapper()
-    {
-    }
-
-    template< class T > void set_deleter( shared_ptr<T> const & deleter )
-    {
-        deleter_ = deleter;
-    }
-
-    template<typename D> D* get_deleter() const BOOST_NOEXCEPT
-    {
-        return boost::detail::basic_get_deleter<D>( deleter_ );
-    }
-
-    template< class T> void operator()( T* )
-    {
-        BOOST_ASSERT( deleter_.use_count() <= 1 );
-        deleter_.reset();
-    }
-};
-
-} // namespace detail
-
-template<class D, class T> D * get_deleter( shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
-    D *del = boost::detail::basic_get_deleter<D>(p);
-
-    if(del == 0)
-    {
-        boost::detail::esft2_deleter_wrapper *del_wrapper = boost::detail::basic_get_deleter<boost::detail::esft2_deleter_wrapper>(p);
-// The following get_deleter method call is fully qualified because
-// older versions of gcc (2.95, 3.2.3) fail to compile it when written del_wrapper->get_deleter<D>()
-        if(del_wrapper) del = del_wrapper->::boost::detail::esft2_deleter_wrapper::get_deleter<D>();
-    }
-
-    return del;
-}
-
-// atomic access
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-
-template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ ) BOOST_NOEXCEPT
-{
-    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*/ int )
-{
-    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*/ int )
-{
-    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*/ int )
-{
-    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*/ int, /*memory_order failure*/ int )
-{
-    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 ) BOOST_NOEXCEPT
-{
-    return boost::hash< typename boost::shared_ptr<T>::element_type* >()( p.get() );
-}
-
-} // namespace boost
-
-#if defined( BOOST_SP_DISABLE_DEPRECATED )
-#pragma GCC diagnostic pop
-#endif
-
-#endif  // #ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/weak_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/weak_ptr.hpp
deleted file mode 100644
index e3e9ad9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/smart_ptr/weak_ptr.hpp
+++ /dev/null
@@ -1,253 +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>
-
-namespace boost
-{
-
-template<class T> class weak_ptr
-{
-private:
-
-    // Borland 5.5.1 specific workarounds
-    typedef weak_ptr<T> this_type;
-
-public:
-
-    typedef typename boost::detail::sp_element< T >::type element_type;
-
-    weak_ptr() BOOST_NOEXCEPT : px(0), pn() // never throws in 1.30+
-    {
-    }
-
-//  generated copy constructor, assignment, destructor are fine...
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// ... except in C++0x, move disables the implicit copy
-
-    weak_ptr( weak_ptr const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
-    {
-    }
-
-    weak_ptr & operator=( weak_ptr const & r ) BOOST_NOEXCEPT
-    {
-        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
-    BOOST_NOEXCEPT : px(r.lock().get()), pn(r.pn)
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-    }
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    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
-    BOOST_NOEXCEPT : px( r.lock().get() ), pn( static_cast< boost::detail::weak_count && >( r.pn ) )
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-        r.px = 0;
-    }
-
-    // for better efficiency in the T == Y case
-    weak_ptr( weak_ptr && r )
-    BOOST_NOEXCEPT : px( r.px ), pn( static_cast< boost::detail::weak_count && >( r.pn ) )
-    {
-        r.px = 0;
-    }
-
-    // for better efficiency in the T == Y case
-    weak_ptr & operator=( weak_ptr && r ) BOOST_NOEXCEPT
-    {
-        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
-    BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-    }
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300)
-
-    template<class Y>
-    weak_ptr & operator=( weak_ptr<Y> const & r ) BOOST_NOEXCEPT
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        px = r.lock().get();
-        pn = r.pn;
-
-        return *this;
-    }
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-    template<class Y>
-    weak_ptr & operator=( weak_ptr<Y> && r ) BOOST_NOEXCEPT
-    {
-        this_type( static_cast< weak_ptr<Y> && >( r ) ).swap( *this );
-        return *this;
-    }
-
-#endif
-
-    template<class Y>
-    weak_ptr & operator=( shared_ptr<Y> const & r ) BOOST_NOEXCEPT
-    {
-        boost::detail::sp_assert_convertible< Y, T >();
-
-        px = r.px;
-        pn = r.pn;
-
-        return *this;
-    }
-
-#endif
-
-    shared_ptr<T> lock() const BOOST_NOEXCEPT
-    {
-        return shared_ptr<T>( *this, boost::detail::sp_nothrow_tag() );
-    }
-
-    long use_count() const BOOST_NOEXCEPT
-    {
-        return pn.use_count();
-    }
-
-    bool expired() const BOOST_NOEXCEPT
-    {
-        return pn.use_count() == 0;
-    }
-
-    bool _empty() const // extension, not in std::weak_ptr
-    {
-        return pn.empty();
-    }
-
-    void reset() BOOST_NOEXCEPT // never throws in 1.30+
-    {
-        this_type().swap(*this);
-    }
-
-    void swap(this_type & other) BOOST_NOEXCEPT
-    {
-        std::swap(px, other.px);
-        pn.swap(other.pn);
-    }
-
-    template<typename Y>
-    void _internal_aliasing_assign(weak_ptr<Y> const & r, element_type * px2)
-    {
-        px = px2;
-        pn = r.pn;
-    }
-
-    template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
-    {
-        return pn < rhs.pn;
-    }
-
-    template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
-    {
-        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
-
-    element_type * 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) BOOST_NOEXCEPT
-{
-    return a.owner_before( b );
-}
-
-template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b) BOOST_NOEXCEPT
-{
-    a.swap(b);
-}
-
-} // namespace boost
-
-#endif  // #ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/spirit.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/spirit.hpp
deleted file mode 100644
index 7250ec1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/spirit.hpp
+++ /dev/null
@@ -1,27 +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_DEPRECATED_INCLUDE_SPIRIT
-#define BOOST_SPIRIT_DEPRECATED_INCLUDE_SPIRIT
-
-#include <boost/version.hpp>
-
-#if BOOST_VERSION >= 103800
-#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-#  pragma message ("Warning: This header is deprecated. Please use: boost/spirit/include/classic.hpp")
-#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
-#  warning "This header is deprecated. Please use: boost/spirit/include/classic.hpp"
-#endif
-#endif
-
-#if !defined(BOOST_SPIRIT_USE_OLD_NAMESPACE)
-#define BOOST_SPIRIT_USE_OLD_NAMESPACE
-#endif
-#include <boost/spirit/include/classic.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/static_assert.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/static_assert.hpp
deleted file mode 100644
index 07d461d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/static_assert.hpp
+++ /dev/null
@@ -1,180 +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>
-
-#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
-//
-// This is horrible, but it seems to be the only we can shut up the
-// "anonymous variadic macros were introduced in C99 [-Wvariadic-macros]"
-// warning that get spewed out otherwise in non-C++11 mode.
-//
-#pragma GCC system_header
-#endif
-
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__)
-#  else
-#     define BOOST_STATIC_ASSERT_MSG( B, Msg ) static_assert( B, Msg )
-#  endif
-#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)))
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) == 0 ? false : true)
-#  else
-#     define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
-#  endif
-#else
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__)
-#  else
-#     define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
-#  endif
-#endif
-
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
-#  else
-#     define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
-#  endif
-#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) && defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-#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_MSVC)
-#define BOOST_STATIC_ASSERT(...) \
-   typedef ::boost::static_assert_test<\
-      sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
-#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND))  && defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-// 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(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND))  && !defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-// 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(...) \
-    typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
-        [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::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
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT( ... ) \
-         typedef ::boost::static_assert_test<\
-            sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
-               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED
-#  else
-#     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__) BOOST_ATTRIBUTE_UNUSED
-#  endif
-#endif
-
-#else
-// alternative enum based implementation:
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#    define BOOST_STATIC_ASSERT( ... ) \
-         enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
-            = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( __VA_ARGS__ ) >) }
-#  else
-#    define BOOST_STATIC_ASSERT(B) \
-         enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
-            = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) }
-#  endif
-#endif
-#endif // defined(BOOST_NO_CXX11_STATIC_ASSERT)
-
-#endif // BOOST_STATIC_ASSERT_HPP
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/swap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/swap.hpp
deleted file mode 100644
index 55cafa4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/swap.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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
-
-// The header file at this path is deprecated;
-// use boost/core/swap.hpp instead.
-
-#include <boost/core/swap.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/thread.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/thread.hpp
deleted file mode 100644
index 892bbb8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/thread.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (C) 2001-2003
-// William E. Kempf
-// (C) Copyright 2008-9 Anthony Williams
-//
-// Distributed under the Boost 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/thread for documentation.
-
-#if !defined(BOOST_THREAD_WEK01082003_HPP)
-#define BOOST_THREAD_WEK01082003_HPP
-
-#include <boost/thread/thread.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/thread/exceptions.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/once.hpp>
-#include <boost/thread/recursive_mutex.hpp>
-#include <boost/thread/tss.hpp>
-#include <boost/thread/thread_time.hpp>
-#include <boost/thread/locks.hpp>
-#include <boost/thread/shared_mutex.hpp>
-#include <boost/thread/barrier.hpp>
-#include <boost/thread/future.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/throw_exception.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/throw_exception.hpp
deleted file mode 100644
index aa977df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/throw_exception.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef UUID_AA15E74A856F11E08B8D93F24824019B
-#define UUID_AA15E74A856F11E08B8D93F24824019B
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma GCC system_header
-#endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(push,1)
-#endif
-
-// 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/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>
-#if !defined(BOOST_THROW_EXCEPTION_CURRENT_FUNCTION)
-# include <boost/current_function.hpp>
-# define BOOST_THROW_EXCEPTION_CURRENT_FUNCTION BOOST_CURRENT_FUNCTION
-#endif
-# define BOOST_THROW_EXCEPTION(x) ::boost::exception_detail::throw_exception_(x,BOOST_THROW_EXCEPTION_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_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_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(
-                            enable_error_info(x),
-                            throw_function(current_function)),
-                        throw_file(file)),
-                    throw_line(line)));
-        }
-    }
-#endif
-} // namespace boost
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/timer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/timer.hpp
deleted file mode 100644
index 1e3571e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/token_functions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/token_functions.hpp
deleted file mode 100644
index be245a0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/token_functions.hpp
+++ /dev/null
@@ -1,651 +0,0 @@
-// Boost token_functions.hpp  ------------------------------------------------//
-
-// Copyright John R. Bandela 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/tokenizer/ for documentation.
-
-// Revision History:
-// 01 Oct 2004   Joaquin M Lopez Munoz
-//      Workaround for a problem with string::assign in msvc-stlport
-// 06 Apr 2004   John Bandela
-//      Fixed a bug involving using char_delimiter with a true input iterator
-// 28 Nov 2003   Robert Zeh and John Bandela
-//      Converted into "fast" functions that avoid using += when
-//      the supplied iterator isn't an input_iterator; based on
-//      some work done at Archelon and a version that was checked into
-//      the boost CVS for a short period of time.
-// 20 Feb 2002   John Maddock
-//      Removed using namespace std declarations and added
-//      workaround for BOOST_NO_STDC_NAMESPACE (the library
-//      can be safely mixed with regex).
-// 06 Feb 2002   Jeremy Siek
-//      Added char_separator.
-// 02 Feb 2002   Jeremy Siek
-//      Removed tabs and a little cleanup.
-
-
-#ifndef BOOST_TOKEN_FUNCTIONS_JRB120303_HPP_
-#define BOOST_TOKEN_FUNCTIONS_JRB120303_HPP_
-
-#include <vector>
-#include <stdexcept>
-#include <string>
-#include <cctype>
-#include <algorithm> // for find_if
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/throw_exception.hpp>
-#if !defined(BOOST_NO_CWCTYPE)
-#include <cwctype>
-#endif
-
-//
-// the following must not be macros if we are to prefix them
-// with std:: (they shouldn't be macros anyway...)
-//
-#ifdef ispunct
-#  undef ispunct
-#endif
-#ifdef iswpunct
-#  undef iswpunct
-#endif
-#ifdef isspace
-#  undef isspace
-#endif
-#ifdef iswspace
-#  undef iswspace
-#endif
-//
-// fix namespace problems:
-//
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{
- using ::ispunct;
- using ::isspace;
-#if !defined(BOOST_NO_CWCTYPE)
- using ::iswpunct;
- using ::iswspace;
-#endif
-}
-#endif
-
-namespace boost{
-  //===========================================================================
-  // The escaped_list_separator class. Which is a model of TokenizerFunction
-  // An escaped list is a super-set of what is commonly known as a comma
-  // separated value (csv) list.It is separated into fields by a comma or
-  // other character. If the delimiting character is inside quotes, then it is
-  // counted as a regular character.To allow for embedded quotes in a field,
-  // there can be escape sequences using the \ much like C.
-  // The role of the comma, the quotation mark, and the escape
-  // character (backslash \), can be assigned to other characters.
-
-  struct escaped_list_error : public std::runtime_error{
-    escaped_list_error(const std::string& what_arg):std::runtime_error(what_arg) { }
-  };
-
-
-// The out of the box GCC 2.95 on cygwin does not have a char_traits class.
-// MSVC does not like the following typename
-  template <class Char,
-    class Traits = BOOST_DEDUCED_TYPENAME std::basic_string<Char>::traits_type >
-  class escaped_list_separator {
-
-  private:
-    typedef std::basic_string<Char,Traits> string_type;
-    struct char_eq {
-      Char e_;
-      char_eq(Char e):e_(e) { }
-      bool operator()(Char c) {
-        return Traits::eq(e_,c);
-      }
-    };
-    string_type  escape_;
-    string_type  c_;
-    string_type  quote_;
-    bool last_;
-
-    bool is_escape(Char e) {
-      char_eq f(e);
-      return std::find_if(escape_.begin(),escape_.end(),f)!=escape_.end();
-    }
-    bool is_c(Char e) {
-      char_eq f(e);
-      return std::find_if(c_.begin(),c_.end(),f)!=c_.end();
-    }
-    bool is_quote(Char e) {
-      char_eq f(e);
-      return std::find_if(quote_.begin(),quote_.end(),f)!=quote_.end();
-    }
-    template <typename iterator, typename Token>
-    void do_escape(iterator& next,iterator end,Token& tok) {
-      if (++next == end)
-        BOOST_THROW_EXCEPTION(escaped_list_error(std::string("cannot end with escape")));
-      if (Traits::eq(*next,'n')) {
-        tok+='\n';
-        return;
-      }
-      else if (is_quote(*next)) {
-        tok+=*next;
-        return;
-      }
-      else if (is_c(*next)) {
-        tok+=*next;
-        return;
-      }
-      else if (is_escape(*next)) {
-        tok+=*next;
-        return;
-      }
-      else
-        BOOST_THROW_EXCEPTION(escaped_list_error(std::string("unknown escape sequence")));
-    }
-
-    public:
-
-    explicit escaped_list_separator(Char  e = '\\',
-                                    Char c = ',',Char  q = '\"')
-      : escape_(1,e), c_(1,c), quote_(1,q), last_(false) { }
-
-    escaped_list_separator(string_type e, string_type c, string_type q)
-      : escape_(e), c_(c), quote_(q), last_(false) { }
-
-    void reset() {last_=false;}
-
-    template <typename InputIterator, typename Token>
-    bool operator()(InputIterator& next,InputIterator end,Token& tok) {
-      bool bInQuote = false;
-      tok = Token();
-
-      if (next == end) {
-        if (last_) {
-          last_ = false;
-          return true;
-        }
-        else
-          return false;
-      }
-      last_ = false;
-      for (;next != end;++next) {
-        if (is_escape(*next)) {
-          do_escape(next,end,tok);
-        }
-        else if (is_c(*next)) {
-          if (!bInQuote) {
-            // If we are not in quote, then we are done
-            ++next;
-            // The last character was a c, that means there is
-            // 1 more blank field
-            last_ = true;
-            return true;
-          }
-          else tok+=*next;
-        }
-        else if (is_quote(*next)) {
-          bInQuote=!bInQuote;
-        }
-        else {
-          tok += *next;
-        }
-      }
-      return true;
-    }
-  };
-
-  //===========================================================================
-  // The classes here are used by offset_separator and char_separator to implement
-  // faster assigning of tokens using assign instead of +=
-
-  namespace tokenizer_detail {
-  //===========================================================================
-  // Tokenizer was broken for wide character separators, at least on Windows, since
-  // CRT functions isspace etc only expect values in [0, 0xFF]. Debug build asserts
-  // if higher values are passed in. The traits extension class should take care of this.
-  // Assuming that the conditional will always get optimized out in the function
-  // implementations, argument types are not a problem since both forms of character classifiers
-  // expect an int.
-
-#if !defined(BOOST_NO_CWCTYPE)
-  template<typename traits, int N>
-  struct traits_extension_details : public traits {
-    typedef typename traits::char_type char_type;
-    static bool isspace(char_type c)
-    {
-       return std::iswspace(c) != 0;
-    }
-    static bool ispunct(char_type c)
-    {
-       return std::iswpunct(c) != 0;
-    }
-  };
-
-  template<typename traits>
-  struct traits_extension_details<traits, 1> : public traits {
-    typedef typename traits::char_type char_type;
-    static bool isspace(char_type c)
-    {
-       return std::isspace(c) != 0;
-    }
-    static bool ispunct(char_type c)
-    {
-       return std::ispunct(c) != 0;
-    }
-  };
-#endif
-
-
-  // In case there is no cwctype header, we implement the checks manually.
-  // We make use of the fact that the tested categories should fit in ASCII.
-  template<typename traits>
-  struct traits_extension : public traits {
-    typedef typename traits::char_type char_type;
-    static bool isspace(char_type c)
-    {
-#if !defined(BOOST_NO_CWCTYPE)
-      return traits_extension_details<traits, sizeof(char_type)>::isspace(c);
-#else
-      return static_cast< unsigned >(c) <= 255 && std::isspace(c) != 0;
-#endif
-    }
-
-    static bool ispunct(char_type c)
-    {
-#if !defined(BOOST_NO_CWCTYPE)
-      return traits_extension_details<traits, sizeof(char_type)>::ispunct(c);
-#else
-      return static_cast< unsigned >(c) <= 255 && std::ispunct(c) != 0;
-#endif
-    }
-  };
-
-  // The assign_or_plus_equal struct contains functions that implement
-  // assign, +=, and clearing based on the iterator type.  The
-  // generic case does nothing for plus_equal and clearing, while
-  // passing through the call for assign.
-  //
-  // When an input iterator is being used, the situation is reversed.
-  // The assign method does nothing, plus_equal invokes operator +=,
-  // and the clearing method sets the supplied token to the default
-  // token constructor's result.
-  //
-
-  template<class IteratorTag>
-  struct assign_or_plus_equal {
-    template<class Iterator, class Token>
-    static void assign(Iterator b, Iterator e, Token &t) {
-      t.assign(b, e);
-    }
-
-    template<class Token, class Value>
-    static void plus_equal(Token &, const Value &) { }
-
-    // If we are doing an assign, there is no need for the
-    // the clear.
-    //
-    template<class Token>
-    static void clear(Token &) { }
-  };
-
-  template <>
-  struct assign_or_plus_equal<std::input_iterator_tag> {
-    template<class Iterator, class Token>
-    static void assign(Iterator , Iterator , Token &) { }
-    template<class Token, class Value>
-    static void plus_equal(Token &t, const Value &v) {
-      t += v;
-    }
-    template<class Token>
-    static void clear(Token &t) {
-      t = Token();
-    }
-  };
-
-
-  template<class Iterator>
-  struct pointer_iterator_category{
-    typedef std::random_access_iterator_tag type;
-  };
-
-
-  template<class Iterator>
-  struct class_iterator_category{
-    typedef typename Iterator::iterator_category type;
-  };
-
-
-
-  // This portably gets the iterator_tag without partial template specialization
-  template<class Iterator>
-    struct get_iterator_category{
-    typedef typename mpl::if_<is_pointer<Iterator>,
-      pointer_iterator_category<Iterator>,
-      class_iterator_category<Iterator>
-    >::type cat;
-
-    typedef typename cat::type iterator_category;
-  };
-
-
-  } // namespace tokenizer_detail
-
-
-  //===========================================================================
-  // The offset_separator class, which is a model of TokenizerFunction.
-  // Offset breaks a string into tokens based on a range of offsets
-
-  class offset_separator {
-  private:
-
-    std::vector<int> offsets_;
-    unsigned int current_offset_;
-    bool wrap_offsets_;
-    bool return_partial_last_;
-
-  public:
-    template <typename Iter>
-    offset_separator(Iter begin, Iter end, bool wrap_offsets = true,
-                     bool return_partial_last = true)
-      : offsets_(begin,end), current_offset_(0),
-        wrap_offsets_(wrap_offsets),
-        return_partial_last_(return_partial_last) { }
-
-    offset_separator()
-      : offsets_(1,1), current_offset_(),
-        wrap_offsets_(true), return_partial_last_(true) { }
-
-    void reset() {
-      current_offset_ = 0;
-    }
-
-    template <typename InputIterator, typename Token>
-    bool operator()(InputIterator& next, InputIterator end, Token& tok)
-    {
-      typedef tokenizer_detail::assign_or_plus_equal<
-        BOOST_DEDUCED_TYPENAME tokenizer_detail::get_iterator_category<
-          InputIterator
-        >::iterator_category
-      > assigner;
-
-      BOOST_ASSERT(!offsets_.empty());
-
-      assigner::clear(tok);
-      InputIterator start(next);
-
-      if (next == end)
-        return false;
-
-      if (current_offset_ == offsets_.size())
-      {
-        if (wrap_offsets_)
-          current_offset_=0;
-        else
-          return false;
-      }
-
-      int c = offsets_[current_offset_];
-      int i = 0;
-      for (; i < c; ++i) {
-        if (next == end)break;
-        assigner::plus_equal(tok,*next++);
-      }
-      assigner::assign(start,next,tok);
-
-      if (!return_partial_last_)
-        if (i < (c-1) )
-          return false;
-
-      ++current_offset_;
-      return true;
-    }
-  };
-
-
-  //===========================================================================
-  // The char_separator class breaks a sequence of characters into
-  // tokens based on the character delimiters (very much like bad old
-  // strtok). A delimiter character can either be kept or dropped. A
-  // kept delimiter shows up as an output token, whereas a dropped
-  // delimiter does not.
-
-  // This class replaces the char_delimiters_separator class. The
-  // constructor for the char_delimiters_separator class was too
-  // confusing and needed to be deprecated. However, because of the
-  // default arguments to the constructor, adding the new constructor
-  // would cause ambiguity, so instead I deprecated the whole class.
-  // The implementation of the class was also simplified considerably.
-
-  enum empty_token_policy { drop_empty_tokens, keep_empty_tokens };
-
-  // The out of the box GCC 2.95 on cygwin does not have a char_traits class.
-  template <typename Char,
-    typename Tr = BOOST_DEDUCED_TYPENAME std::basic_string<Char>::traits_type >
-  class char_separator
-  {
-    typedef tokenizer_detail::traits_extension<Tr> Traits;
-    typedef std::basic_string<Char,Tr> string_type;
-  public:
-    explicit
-    char_separator(const Char* dropped_delims,
-                   const Char* kept_delims = 0,
-                   empty_token_policy empty_tokens = drop_empty_tokens)
-      : m_dropped_delims(dropped_delims),
-        m_use_ispunct(false),
-        m_use_isspace(false),
-        m_empty_tokens(empty_tokens),
-        m_output_done(false)
-    {
-      // Borland workaround
-      if (kept_delims)
-        m_kept_delims = kept_delims;
-    }
-
-                // use ispunct() for kept delimiters and isspace for dropped.
-    explicit
-    char_separator()
-      : m_use_ispunct(true),
-        m_use_isspace(true),
-        m_empty_tokens(drop_empty_tokens) { }
-
-    void reset() { }
-
-    template <typename InputIterator, typename Token>
-    bool operator()(InputIterator& next, InputIterator end, Token& tok)
-    {
-      typedef tokenizer_detail::assign_or_plus_equal<
-        BOOST_DEDUCED_TYPENAME tokenizer_detail::get_iterator_category<
-          InputIterator
-        >::iterator_category
-      > assigner;
-
-      assigner::clear(tok);
-
-      // skip past all dropped_delims
-      if (m_empty_tokens == drop_empty_tokens)
-        for (; next != end  && is_dropped(*next); ++next)
-          { }
-
-      InputIterator start(next);
-
-      if (m_empty_tokens == drop_empty_tokens) {
-
-        if (next == end)
-          return false;
-
-
-        // if we are on a kept_delims move past it and stop
-        if (is_kept(*next)) {
-          assigner::plus_equal(tok,*next);
-          ++next;
-        } else
-          // append all the non delim characters
-          for (; next != end && !is_dropped(*next) && !is_kept(*next); ++next)
-            assigner::plus_equal(tok,*next);
-      }
-      else { // m_empty_tokens == keep_empty_tokens
-
-        // Handle empty token at the end
-        if (next == end)
-        {
-          if (m_output_done == false)
-          {
-            m_output_done = true;
-            assigner::assign(start,next,tok);
-            return true;
-          }
-          else
-            return false;
-        }
-
-        if (is_kept(*next)) {
-          if (m_output_done == false)
-            m_output_done = true;
-          else {
-            assigner::plus_equal(tok,*next);
-            ++next;
-            m_output_done = false;
-          }
-        }
-        else if (m_output_done == false && is_dropped(*next)) {
-          m_output_done = true;
-        }
-        else {
-          if (is_dropped(*next))
-            start=++next;
-          for (; next != end && !is_dropped(*next) && !is_kept(*next); ++next)
-            assigner::plus_equal(tok,*next);
-          m_output_done = true;
-        }
-      }
-      assigner::assign(start,next,tok);
-      return true;
-    }
-
-  private:
-    string_type m_kept_delims;
-    string_type m_dropped_delims;
-    bool m_use_ispunct;
-    bool m_use_isspace;
-    empty_token_policy m_empty_tokens;
-    bool m_output_done;
-
-    bool is_kept(Char E) const
-    {
-      if (m_kept_delims.length())
-        return m_kept_delims.find(E) != string_type::npos;
-      else if (m_use_ispunct) {
-        return Traits::ispunct(E) != 0;
-      } else
-        return false;
-    }
-    bool is_dropped(Char E) const
-    {
-      if (m_dropped_delims.length())
-        return m_dropped_delims.find(E) != string_type::npos;
-      else if (m_use_isspace) {
-        return Traits::isspace(E) != 0;
-      } else
-        return false;
-    }
-  };
-
-  //===========================================================================
-  // The following class is DEPRECATED, use class char_separators instead.
-  //
-  // The char_delimiters_separator class, which is a model of
-  // TokenizerFunction.  char_delimiters_separator breaks a string
-  // into tokens based on character delimiters. There are 2 types of
-  // delimiters. returnable delimiters can be returned as
-  // tokens. These are often punctuation. nonreturnable delimiters
-  // cannot be returned as tokens. These are often whitespace
-
-  // The out of the box GCC 2.95 on cygwin does not have a char_traits class.
-  template <class Char,
-    class Tr = BOOST_DEDUCED_TYPENAME std::basic_string<Char>::traits_type >
-  class char_delimiters_separator {
-  private:
-
-    typedef tokenizer_detail::traits_extension<Tr> Traits;
-    typedef std::basic_string<Char,Tr> string_type;
-    string_type returnable_;
-    string_type nonreturnable_;
-    bool return_delims_;
-    bool no_ispunct_;
-    bool no_isspace_;
-
-    bool is_ret(Char E)const
-    {
-      if (returnable_.length())
-        return  returnable_.find(E) != string_type::npos;
-      else{
-        if (no_ispunct_) {return false;}
-        else{
-          int r = Traits::ispunct(E);
-          return r != 0;
-        }
-      }
-    }
-    bool is_nonret(Char E)const
-    {
-      if (nonreturnable_.length())
-        return  nonreturnable_.find(E) != string_type::npos;
-      else{
-        if (no_isspace_) {return false;}
-        else{
-          int r = Traits::isspace(E);
-          return r != 0;
-        }
-      }
-    }
-
-  public:
-    explicit char_delimiters_separator(bool return_delims = false,
-                                       const Char* returnable = 0,
-                                       const Char* nonreturnable = 0)
-      : returnable_(returnable ? returnable : string_type().c_str()),
-        nonreturnable_(nonreturnable ? nonreturnable:string_type().c_str()),
-        return_delims_(return_delims), no_ispunct_(returnable!=0),
-        no_isspace_(nonreturnable!=0) { }
-
-    void reset() { }
-
-  public:
-
-     template <typename InputIterator, typename Token>
-     bool operator()(InputIterator& next, InputIterator end,Token& tok) {
-     tok = Token();
-
-     // skip past all nonreturnable delims
-     // skip past the returnable only if we are not returning delims
-     for (;next!=end && ( is_nonret(*next) || (is_ret(*next)
-       && !return_delims_ ) );++next) { }
-
-     if (next == end) {
-       return false;
-     }
-
-     // if we are to return delims and we are one a returnable one
-     // move past it and stop
-     if (is_ret(*next) && return_delims_) {
-       tok+=*next;
-       ++next;
-     }
-     else
-       // append all the non delim characters
-       for (;next!=end && !is_nonret(*next) && !is_ret(*next);++next)
-         tok+=*next;
-
-
-     return true;
-   }
-  };
-
-
-} //namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/token_iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/token_iterator.hpp
deleted file mode 100644
index 584fac2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/token_iterator.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-// Boost token_iterator.hpp  -------------------------------------------------//
-
-// Copyright John R. Bandela 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/tokenizer for documentation.
-
-// Revision History:
-// 16 Jul 2003   John Bandela
-//      Allowed conversions from convertible base iterators
-// 03 Jul 2003   John Bandela
-//      Converted to new iterator adapter
-
-
-
-#ifndef BOOST_TOKENIZER_POLICY_JRB070303_HPP_
-#define BOOST_TOKENIZER_POLICY_JRB070303_HPP_
-
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/iterator/minimum_category.hpp>
-#include <boost/token_functions.hpp>
-#include <utility>
-
-namespace boost
-{
-  template <class TokenizerFunc, class Iterator, class Type>
-  class token_iterator
-      : public iterator_facade<
-            token_iterator<TokenizerFunc, Iterator, Type>
-          , Type
-          , typename iterators::minimum_category<
-                forward_traversal_tag
-              , typename iterator_traversal<Iterator>::type
-            >::type
-          , const Type&
-        >
-  {
-
-      friend class iterator_core_access;
-
-      TokenizerFunc f_;
-      Iterator begin_;
-      Iterator end_;
-      bool valid_;
-      Type tok_;
-
-      void increment(){
-          BOOST_ASSERT(valid_);
-          valid_ = f_(begin_,end_,tok_);
-      }
-
-      const Type&  dereference() const {
-          BOOST_ASSERT(valid_);
-          return tok_;
-      }
-      template<class Other>
-      bool equal(const Other& a) const{
-          return (a.valid_ && valid_)
-              ?( (a.begin_==begin_) && (a.end_ == end_) )
-              :(a.valid_==valid_);
-
-      }
-
-      void initialize(){
-          if(valid_) return;
-          f_.reset();
-          valid_ = (begin_ != end_)?
-              f_(begin_,end_,tok_):false;
-      }
-  public:
-      token_iterator():begin_(),end_(),valid_(false),tok_() { }
-
-      token_iterator(TokenizerFunc f, Iterator begin, Iterator e = Iterator())
-          : f_(f),begin_(begin),end_(e),valid_(false),tok_(){ initialize(); }
-
-      token_iterator(Iterator begin, Iterator e = Iterator())
-            : f_(),begin_(begin),end_(e),valid_(false),tok_() {initialize();}
-
-      template<class OtherIter>
-      token_iterator(
-            token_iterator<TokenizerFunc, OtherIter,Type> const& t
-            , typename enable_if_convertible<OtherIter, Iterator>::type* = 0)
-            : f_(t.tokenizer_function()),begin_(t.base())
-            ,end_(t.end()),valid_(!t.at_end()),tok_(t.current_token()) {}
-
-      Iterator base()const{return begin_;}
-
-      Iterator end()const{return end_;}
-
-      TokenizerFunc tokenizer_function()const{return f_;}
-
-      Type current_token()const{return tok_;}
-
-      bool at_end()const{return !valid_;}
-
-
-
-
-  };
-    template <
-        class TokenizerFunc = char_delimiters_separator<char>,
-        class Iterator = std::string::const_iterator,
-        class Type = std::string
-    >
-    class token_iterator_generator {
-
-    private:
-    public:
-        typedef token_iterator<TokenizerFunc,Iterator,Type> type;
-    };
-
-
-    // Type has to be first because it needs to be explicitly specified
-    // because there is no way the function can deduce it.
-    template<class Type, class Iterator, class TokenizerFunc>
-        typename token_iterator_generator<TokenizerFunc,Iterator,Type>::type
-    make_token_iterator(Iterator begin, Iterator end,const TokenizerFunc& fun){
-        typedef typename
-            token_iterator_generator<TokenizerFunc,Iterator,Type>::type ret_type;
-        return ret_type(fun,begin,end);
-    }
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tokenizer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tokenizer.hpp
deleted file mode 100644
index 081e5ba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tokenizer.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// Boost tokenizer.hpp  -----------------------------------------------------//
-
-// (c) Copyright Jeremy Siek and John R. Bandela 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/tokenizer for documenation
-
-// Revision History:
-// 03 Jul 2003   John Bandela
-//      Converted to new iterator adapter
-// 02 Feb 2002   Jeremy Siek
-//      Removed tabs and a little cleanup.
-
-#ifndef BOOST_TOKENIZER_JRB070303_HPP_
-#define BOOST_TOKENIZER_JRB070303_HPP_
-
-#include <boost/token_iterator.hpp>
-
-namespace boost {
-
-  
-  //===========================================================================
-  // A container-view of a tokenized "sequence"
-  template <
-    typename TokenizerFunc = char_delimiters_separator<char>, 
-    typename Iterator = std::string::const_iterator,
-    typename Type = std::string
-  >
-  class tokenizer {
-  private:
-    typedef token_iterator_generator<TokenizerFunc,Iterator,Type> TGen;
-        
-    // It seems that MSVC does not like the unqualified use of iterator,
-    // Thus we use iter internally when it is used unqualified and
-    // the users of this class will always qualify iterator.     
-    typedef typename TGen::type iter;
-    
-  public:
-    
-    typedef iter iterator;
-    typedef iter const_iterator;
-    typedef Type value_type;
-    typedef value_type& reference;
-    typedef const value_type& const_reference;
-    typedef value_type* pointer;
-    typedef const pointer const_pointer;
-    typedef void size_type;
-    typedef void difference_type;
-
-    tokenizer(Iterator first, Iterator last,
-              const TokenizerFunc& f = TokenizerFunc()) 
-      : first_(first), last_(last), f_(f) { }
-        
-    template <typename Container>
-    tokenizer(const Container& c)
-      : first_(c.begin()), last_(c.end()), f_() { }
-    
-    template <typename Container>
-    tokenizer(const Container& c,const TokenizerFunc& f)
-      : first_(c.begin()), last_(c.end()), f_(f) { }
-    
-    void assign(Iterator first, Iterator last){
-      first_ = first;
-      last_ = last;
-    }
-    
-    void assign(Iterator first, Iterator last, const TokenizerFunc& f){
-      assign(first,last);
-      f_ = f;
-    }
-    
-    template <typename Container>
-    void assign(const Container& c){
-      assign(c.begin(),c.end());
-    }
-    
-    
-    template <typename Container>
-    void assign(const Container& c, const TokenizerFunc& f){
-      assign(c.begin(),c.end(),f);
-    }
-    
-    iter begin() const { return iter(f_,first_,last_); }
-    iter end() const { return iter(f_,last_,last_); }
-        
-  private:
-    Iterator first_;
-    Iterator last_;
-    TokenizerFunc f_;
-  };
-
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dcomp_mem_fun.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dcomp_mem_fun.hpp
deleted file mode 100644
index 95b37d1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dcomp_mem_fun.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_COMP_MEM_FUN_HPP)
-#define BOOST_TTI_DETAIL_COMP_MEM_FUN_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dftclass.hpp>
-#include <boost/tti/detail/dnullptr.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-
-#if defined(__SUNPRO_CC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_hcmf) \
-    { \
-    template<class BOOST_TTI_DETAIL_TP_F> \
-    struct cl_type : \
-      boost::remove_const \
-        < \
-        typename BOOST_TTI_NAMESPACE::detail::class_type<BOOST_TTI_DETAIL_TP_F>::type \
-        > \
-      { \
-      }; \
-    \
-    template<BOOST_TTI_DETAIL_TP_T> \
-    struct helper {}; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<sizeof(chkt<typename cl_type<BOOST_TTI_DETAIL_TP_T>::type>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
-    }; \
-/**/
-
-#else
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_hcmf) \
-    { \
-    template<class BOOST_TTI_DETAIL_TP_F> \
-    struct cl_type : \
-      boost::remove_const \
-        < \
-        typename BOOST_TTI_NAMESPACE::detail::class_type<BOOST_TTI_DETAIL_TP_F>::type \
-        > \
-      { \
-      }; \
-    \
-    template<BOOST_TTI_DETAIL_TP_T> \
-    struct helper; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<sizeof(chkt<typename cl_type<BOOST_TTI_DETAIL_TP_T>::type>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
-    }; \
-/**/
-
-#endif
-
-
-#endif // BOOST_TTI_DETAIL_COMP_MEM_FUN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/ddata.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/ddata.hpp
deleted file mode 100644
index b8b4d88..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/ddata.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_DATA_HPP)
-#define BOOST_TTI_DETAIL_DATA_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dmem_data.hpp>
-#include <boost/tti/detail/dstatic_mem_data.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_DT> \
-  struct BOOST_PP_CAT(trait,_detail_hd) : \
-    boost::mpl::or_ \
-    	< \
-    	BOOST_PP_CAT(trait,_detail_hmd_with_enclosing_class)<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_DT>, \
-    	BOOST_PP_CAT(trait,_detail_hsd)<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_DT> \
-    	> \
-    { \
-    }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/ddeftype.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/ddeftype.hpp
deleted file mode 100644
index 760d5e2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/ddeftype.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_DEFTYPE_HPP)
-#define BOOST_TTI_DETAIL_DEFTYPE_HPP
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      struct deftype
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_DEFTYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dftclass.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dftclass.hpp
deleted file mode 100644
index ce3060f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dftclass.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_FTCLASS_HPP)
-#define BOOST_TTI_DETAIL_FTCLASS_HPP
-
-#include <boost/function_types/parameter_types.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/quote.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      template<class BOOST_TTI_DETAIL_TP_F>
-      struct class_type :
-          boost::mpl::at
-            <
-            typename
-            boost::function_types::parameter_types
-              <
-              BOOST_TTI_DETAIL_TP_F,
-              boost::mpl::quote1
-                <
-                boost::mpl::identity
-                >
-              >::type,
-              boost::mpl::int_<0>
-            >
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_FTCLASS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dfunction.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dfunction.hpp
deleted file mode 100644
index f86fef4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dfunction.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_FUNCTION_HPP)
-#define BOOST_TTI_DETAIL_FUNCTION_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dmem_fun.hpp>
-#include <boost/tti/detail/dstatic_mem_fun.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_CALL_TYPES_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
-  struct BOOST_PP_CAT(trait,_detail_hf) : \
-    boost::mpl::or_ \
-    	< \
-    	BOOST_PP_CAT(trait,_detail_call_types)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>, \
-    	BOOST_PP_CAT(trait,_detail_ihsmf) \
-    		< \
-    		BOOST_TTI_DETAIL_TP_T, \
-    		typename BOOST_TTI_NAMESPACE::detail::tfunction_seq<BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>::type \
-    		> \
-    	> \
-    { \
-    }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_FUNCTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dlambda.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dlambda.hpp
deleted file mode 100644
index 758007c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dlambda.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_LAMBDA_HPP)
-#define BOOST_TTI_DETAIL_LAMBDA_HPP
-
-#include <boost/mpl/or.hpp>
-#include <boost/tti/detail/dmetafunc.hpp>
-#include <boost/tti/detail/dplaceholder.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      template <class BOOST_TTI_DETAIL_TP_T>
-      struct is_lambda_expression :
-        boost::mpl::or_
-          <
-          BOOST_TTI_NAMESPACE::detail::is_metafunction_class<BOOST_TTI_DETAIL_TP_T>,
-          BOOST_TTI_NAMESPACE::detail::is_placeholder_expression<BOOST_TTI_DETAIL_TP_T>
-          >
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_LAMBDA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_data.hpp
deleted file mode 100644
index 140a443..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_data.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_MEM_DATA_HPP)
-#define BOOST_TTI_DETAIL_MEM_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/function_types/components.hpp>
-#include <boost/function_types/is_member_object_pointer.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dftclass.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-#if defined(BOOST_MSVC) || (BOOST_WORKAROUND(BOOST_GCC, >= 40400) && BOOST_WORKAROUND(BOOST_GCC, < 40600))
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_C> \
-  struct BOOST_PP_CAT(trait,_detail_hmd_op) \
-    { \
-    template<class> \
-    struct return_of; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_IC> \
-    struct return_of<BOOST_TTI_DETAIL_TP_R BOOST_TTI_DETAIL_TP_IC::*> \
-      { \
-      typedef BOOST_TTI_DETAIL_TP_R type; \
-      }; \
-    \
-    template<bool,typename BOOST_TTI_DETAIL_TP_U> \
-    struct menable_if; \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U> \
-    struct menable_if<true,BOOST_TTI_DETAIL_TP_U> \
-      { \
-      typedef BOOST_TTI_DETAIL_TP_U type; \
-      }; \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static ::boost::type_traits::yes_type check2(BOOST_TTI_DETAIL_TP_V BOOST_TTI_DETAIL_TP_U::*); \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static ::boost::type_traits::no_type check2(BOOST_TTI_DETAIL_TP_U); \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static typename \
-      menable_if \
-        < \
-        sizeof(check2<BOOST_TTI_DETAIL_TP_U,BOOST_TTI_DETAIL_TP_V>(&BOOST_TTI_DETAIL_TP_U::name))==sizeof(::boost::type_traits::yes_type), \
-        ::boost::type_traits::yes_type \
-        > \
-      ::type \
-    has_matching_member(int); \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static ::boost::type_traits::no_type has_matching_member(...); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U,class BOOST_TTI_DETAIL_TP_V> \
-    struct ttc_md \
-      { \
-      typedef boost::mpl::bool_<sizeof(has_matching_member<BOOST_TTI_DETAIL_TP_V,typename return_of<BOOST_TTI_DETAIL_TP_U>::type>(0))==sizeof(::boost::type_traits::yes_type)> type; \
-      }; \
-    \
-    typedef typename ttc_md<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_C>::type type; \
-    \
-    }; \
-/**/
-
-#else // !defined(BOOST_MSVC)
-
-#include <boost/tti/detail/dmem_fun.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_OP(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TYPES_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_C> \
-  struct BOOST_PP_CAT(trait,_detail_hmd_op) : \
-    BOOST_PP_CAT(trait,_detail_types)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_C> \
-    { \
-    }; \
-/**/
-
-#endif // defined(BOOST_MSVC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_ENCLOSING_CLASS(trait) \
-  template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hmd_invoke_enclosing_class) : \
-  	BOOST_PP_CAT(trait,_detail_hmd_op) \
-		< \
-		typename BOOST_TTI_NAMESPACE::detail::ptmd<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_TYPE>::type, \
-		typename boost::remove_const<BOOST_TTI_DETAIL_TP_ET>::type \
-		> \
-  	{ \
-  	}; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_PT_MEMBER(trait) \
-  template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hmd_invoke_pt_member) : \
-	BOOST_PP_CAT(trait,_detail_hmd_op) \
-		< \
-		typename BOOST_TTI_NAMESPACE::detail::dmem_get_type<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_TYPE>::type, \
-		typename boost::remove_const \
-			< \
-			typename BOOST_TTI_NAMESPACE::detail::dmem_get_enclosing<BOOST_TTI_DETAIL_TP_ET,BOOST_TTI_DETAIL_TP_TYPE>::type \
-			>::type \
-		> \
-  	{ \
-  	}; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_WITH_ENCLOSING_CLASS(trait) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_ENCLOSING_CLASS(trait) \
-  template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hmd_with_enclosing_class) : \
-	boost::mpl::eval_if \
-		< \
- 		boost::is_class<BOOST_TTI_DETAIL_TP_ET>, \
- 		BOOST_PP_CAT(trait,_detail_hmd_invoke_enclosing_class) \
- 			< \
- 			BOOST_TTI_DETAIL_TP_ET, \
- 			BOOST_TTI_DETAIL_TP_TYPE \
- 			>, \
- 		boost::mpl::false_ \
-		> \
-  	{ \
-  	}; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_OP(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_WITH_ENCLOSING_CLASS(trait) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA_INVOKE_PT_MEMBER(trait) \
-  template<class BOOST_TTI_DETAIL_TP_ET,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hmd) : \
- 	boost::mpl::eval_if \
- 		< \
-		boost::is_same<BOOST_TTI_DETAIL_TP_TYPE,BOOST_TTI_NAMESPACE::detail::deftype>, \
- 		BOOST_PP_CAT(trait,_detail_hmd_invoke_pt_member) \
- 			< \
- 			BOOST_TTI_DETAIL_TP_ET, \
- 			BOOST_TTI_DETAIL_TP_TYPE \
- 			>, \
- 		BOOST_PP_CAT(trait,_detail_hmd_with_enclosing_class) \
- 			< \
- 			BOOST_TTI_DETAIL_TP_ET, \
- 			BOOST_TTI_DETAIL_TP_TYPE \
- 			> \
- 		> \
-    { \
-    }; \
-/**/
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      
-      template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R>
-      struct ptmd
-        {
-        typedef BOOST_TTI_DETAIL_TP_R BOOST_TTI_DETAIL_TP_T::* type;
-        };
-        
-      template<class BOOST_TTI_DETAIL_TP_T>
-      struct dmem_check_ptmd :
-        boost::mpl::identity<BOOST_TTI_DETAIL_TP_T>
-        {
-        BOOST_MPL_ASSERT((boost::function_types::is_member_object_pointer<BOOST_TTI_DETAIL_TP_T>));
-        };
-        
-      template<class BOOST_TTI_DETAIL_TP_T>
-      struct dmem_check_ptec :
-        BOOST_TTI_NAMESPACE::detail::class_type<BOOST_TTI_DETAIL_TP_T>
-        {
-        BOOST_MPL_ASSERT((boost::function_types::is_member_object_pointer<BOOST_TTI_DETAIL_TP_T>));
-        };
-        
-      template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_T2>
-      struct dmem_get_type :
-        boost::mpl::eval_if
-          <
-          boost::is_same<BOOST_TTI_DETAIL_TP_T2,BOOST_TTI_NAMESPACE::detail::deftype>,
-          BOOST_TTI_NAMESPACE::detail::dmem_check_ptmd<BOOST_TTI_DETAIL_TP_T>,
-          BOOST_TTI_NAMESPACE::detail::ptmd<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_T2>
-          >
-        {
-        };
-        
-      template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_T2>
-      struct dmem_get_enclosing :
-        boost::mpl::eval_if
-          <
-          boost::is_same<BOOST_TTI_DETAIL_TP_T2,BOOST_TTI_NAMESPACE::detail::deftype>,
-          BOOST_TTI_NAMESPACE::detail::dmem_check_ptec<BOOST_TTI_DETAIL_TP_T>,
-          boost::mpl::identity<BOOST_TTI_DETAIL_TP_T>
-          >
-        {
-        };
-        
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_MEM_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_fun.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_fun.hpp
deleted file mode 100644
index 4217802..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_fun.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_MEM_FUN_HPP)
-#define BOOST_TTI_DETAIL_MEM_FUN_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/is_member_function_pointer.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/logical.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/detail/dcomp_mem_fun.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dnullptr.hpp>
-#include <boost/tti/detail/dptmf.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-#if defined(__SUNPRO_CC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPES_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_PMEMF,class BOOST_TTI_DETAIL_TP_C> \
-  struct BOOST_PP_CAT(trait,_detail_types) \
-    { \
-    template<BOOST_TTI_DETAIL_TP_PMEMF> \
-    struct helper {}; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_EC> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_EC::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_EC> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<sizeof(chkt<BOOST_TTI_DETAIL_TP_C>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
-    }; \
-/**/
-
-#else
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPES_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_PMEMF,class BOOST_TTI_DETAIL_TP_C> \
-  struct BOOST_PP_CAT(trait,_detail_types) \
-    { \
-    template<BOOST_TTI_DETAIL_TP_PMEMF> \
-    struct helper; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_EC> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_EC::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_EC> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<sizeof(chkt<BOOST_TTI_DETAIL_TP_C>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
-    }; \
-/**/
-
-#endif
-
-#define BOOST_TTI_DETAIL_TRAIT_CTMF_INVOKE(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TYPES_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
-  struct BOOST_PP_CAT(trait,_detail_ctmf_invoke) : \
-    BOOST_PP_CAT(trait,_detail_types) \
-      < \
-      typename BOOST_TTI_NAMESPACE::detail::ptmf_seq<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>::type, \
-      BOOST_TTI_DETAIL_TP_T \
-      > \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_CALL_TYPES_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_CTMF_INVOKE(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
-  struct BOOST_PP_CAT(trait,_detail_call_types) : \
-	boost::mpl::eval_if \
-		< \
- 		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- 		BOOST_PP_CAT(trait,_detail_ctmf_invoke) \
- 			< \
- 			BOOST_TTI_DETAIL_TP_T, \
- 			BOOST_TTI_DETAIL_TP_R, \
- 			BOOST_TTI_DETAIL_TP_FS, \
- 			BOOST_TTI_DETAIL_TP_TAG \
- 			>, \
- 		boost::mpl::false_ \
-		> \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_CHECK_HAS_COMP_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_check_comp) : \
-    BOOST_PP_CAT(trait,_detail_hcmf)<BOOST_TTI_DETAIL_TP_T> \
-    { \
-    BOOST_MPL_ASSERT((boost::function_types::is_member_function_pointer<BOOST_TTI_DETAIL_TP_T>)); \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_CALL_TYPES_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_CHECK_HAS_COMP_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
-  struct BOOST_PP_CAT(trait,_detail_hmf) : \
-    boost::mpl::eval_if \
-      < \
-      boost::mpl::and_ \
-        < \
-        boost::is_same<BOOST_TTI_DETAIL_TP_R,BOOST_TTI_NAMESPACE::detail::deftype>, \
-        boost::is_same<BOOST_TTI_DETAIL_TP_FS,boost::mpl::vector<> >, \
-        boost::is_same<BOOST_TTI_DETAIL_TP_TAG,boost::function_types::null_tag> \
-        >, \
-      BOOST_PP_CAT(trait,_detail_check_comp)<BOOST_TTI_DETAIL_TP_T>, \
-      BOOST_PP_CAT(trait,_detail_call_types)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG> \
-      > \
-    { \
-    }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_MEM_FUN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_type.hpp
deleted file mode 100644
index 53c7c81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmem_type.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_MEM_TYPE_HPP)
-#define BOOST_TTI_DETAIL_MEM_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE_OP(trait,name) \
-  BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(trait,_detail_mpl), name, false) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_op) : \
-    BOOST_PP_CAT(trait,_detail_mpl)<BOOST_TTI_DETAIL_TP_T> \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail) \
-    { \
-    typedef typename \
-    boost::mpl::eval_if \
-    	< \
-    	boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
-    	BOOST_PP_CAT(trait,_detail_op)<BOOST_TTI_DETAIL_TP_T>, \
-    	boost::mpl::false_ \
-    	>::type type; \
-    \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_MEMBER_TYPE(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_member_type) \
-    { \
-    typedef typename BOOST_TTI_DETAIL_TP_T::name type; \
-    }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_MEM_TYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmetafunc.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmetafunc.hpp
deleted file mode 100644
index 8a31f09..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dmetafunc.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_METAFUNC_HPP)
-#define BOOST_TTI_DETAIL_METAFUNC_HPP
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(is_metafunction_class_apply, apply, false)
-      template <class BOOST_TTI_DETAIL_TP_T>
-      struct is_metafunction_class :
-        BOOST_TTI_NAMESPACE::detail::is_metafunction_class_apply<BOOST_TTI_DETAIL_TP_T>
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_METAFUNC_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dnotype.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dnotype.hpp
deleted file mode 100644
index 89418db..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dnotype.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_NOTYPE_HPP)
-#define BOOST_TTI_DETAIL_NOTYPE_HPP
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      struct notype
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_NOTYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dnullptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dnullptr.hpp
deleted file mode 100644
index 7454df7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dnullptr.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_NULLPTR_HPP)
-#define BOOST_TTI_DETAIL_NULLPTR_HPP
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_CXX11_NULLPTR)
-
-#define BOOST_TTI_DETAIL_NULLPTR 0
-
-#else // !BOOST_NO_CXX11_NULLPTR
-
-#define BOOST_TTI_DETAIL_NULLPTR nullptr
-
-#endif // BOOST_NO_CXX11_NULLPTR
-
-#endif // BOOST_TTI_DETAIL_NULLPTR_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dplaceholder.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dplaceholder.hpp
deleted file mode 100644
index 05fef8b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dplaceholder.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_PLACEHOLDER_HPP)
-#define BOOST_TTI_DETAIL_PLACEHOLDER_HPP
-
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      template <class BOOST_TTI_DETAIL_TP_T>
-      struct is_placeholder_expression :
-        boost::mpl::not_
-          <
-          boost::is_same
-            <
-            typename boost::mpl::lambda<BOOST_TTI_DETAIL_TP_T>::type,
-            BOOST_TTI_DETAIL_TP_T
-            >
-          >
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_PLACEHOLDER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dptmf.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dptmf.hpp
deleted file mode 100644
index ad6cdf5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dptmf.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_PTMF_HPP)
-#define BOOST_TTI_DETAIL_PTMF_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/function_types/member_function_pointer.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      template
-        <
-        class BOOST_TTI_DETAIL_TP_T,
-        class BOOST_TTI_DETAIL_TP_R,
-        class BOOST_TTI_DETAIL_TP_FS,
-        class BOOST_TTI_DETAIL_TP_TAG
-        >
-      struct ptmf_seq
-        {
-        typedef typename
-        boost::function_types::member_function_pointer
-          <
-          typename
-          boost::mpl::push_front
-            <
-            typename
-            boost::mpl::push_front<BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_T>::type,
-            BOOST_TTI_DETAIL_TP_R
-            >::type,
-          BOOST_TTI_DETAIL_TP_TAG
-          >::type type;
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_PTMF_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dstatic_mem_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dstatic_mem_data.hpp
deleted file mode 100644
index 5a3b537..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dstatic_mem_data.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_STATIC_MEM_DATA_HPP)
-#define BOOST_TTI_DETAIL_STATIC_MEM_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/is_function.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/tti/detail/dnullptr.hpp>
-
-#if defined(BOOST_MSVC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hsd_op) \
-    { \
-    template<bool,typename BOOST_TTI_DETAIL_TP_U> \
-    struct menable_if; \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U> \
-    struct menable_if<true,BOOST_TTI_DETAIL_TP_U> \
-      { \
-      typedef BOOST_TTI_DETAIL_TP_U type; \
-      }; \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static ::boost::type_traits::yes_type check2(BOOST_TTI_DETAIL_TP_V *); \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static ::boost::type_traits::no_type check2(BOOST_TTI_DETAIL_TP_U); \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static typename \
-      menable_if \
-        < \
-        sizeof(check2<BOOST_TTI_DETAIL_TP_U,BOOST_TTI_DETAIL_TP_V>(&BOOST_TTI_DETAIL_TP_U::name))==sizeof(::boost::type_traits::yes_type), \
-        ::boost::type_traits::yes_type \
-        > \
-      ::type \
-    has_matching_member(int); \
-    \
-    template<typename BOOST_TTI_DETAIL_TP_U,typename BOOST_TTI_DETAIL_TP_V> \
-    static ::boost::type_traits::no_type has_matching_member(...); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U,class BOOST_TTI_DETAIL_TP_V> \
-    struct ttc_sd \
-      { \
-      typedef boost::mpl::bool_<sizeof(has_matching_member<BOOST_TTI_DETAIL_TP_V,BOOST_TTI_DETAIL_TP_U>(0))==sizeof(::boost::type_traits::yes_type)> type; \
-      }; \
-    \
-    typedef typename ttc_sd<BOOST_TTI_DETAIL_TP_TYPE,BOOST_TTI_DETAIL_TP_T>::type type; \
-    }; \
-/**/
-
-#elif defined(__SUNPRO_CC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hsd_op) \
-    { \
-    template<BOOST_TTI_DETAIL_TP_TYPE *> \
-    struct helper {}; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<(!boost::function_types::is_function<BOOST_TTI_DETAIL_TP_TYPE>::value) && (sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type))> type; \
-    }; \
-/**/
-
-#else
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hsd_op) \
-    { \
-    template<BOOST_TTI_DETAIL_TP_TYPE *> \
-    struct helper; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<(!boost::function_types::is_function<BOOST_TTI_DETAIL_TP_TYPE>::value) && (sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type))> type; \
-    }; \
-/**/
-
-#endif // defined(BOOST_MSVC)
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_hsd) : \
-	boost::mpl::eval_if \
-		< \
- 		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- 		BOOST_PP_CAT(trait,_detail_hsd_op)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_TYPE>, \
- 		boost::mpl::false_ \
-		> \
-    { \
-    }; \
-/**/
-    
-#endif // BOOST_TTI_DETAIL_STATIC_MEM_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dstatic_mem_fun.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dstatic_mem_fun.hpp
deleted file mode 100644
index 35b46e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dstatic_mem_fun.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_STATIC_MEM_FUN_HPP)
-#define BOOST_TTI_DETAIL_STATIC_MEM_FUN_HPP
-
-#include <boost/function_types/is_function.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dnullptr.hpp>
-#include <boost/tti/detail/dtfunction.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-
-#if defined(__SUNPRO_CC)
-
-#define BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_ihsmf) \
-    { \
-    template<BOOST_TTI_DETAIL_TP_TYPE *> \
-    struct helper {}; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
-    }; \
-/**/
-
-#else
-
-#define BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_TYPE> \
-  struct BOOST_PP_CAT(trait,_detail_ihsmf) \
-    { \
-    template<BOOST_TTI_DETAIL_TP_TYPE *> \
-    struct helper; \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::yes_type chkt(helper<&BOOST_TTI_DETAIL_TP_U::name> *); \
-    \
-    template<class BOOST_TTI_DETAIL_TP_U> \
-    static ::boost::type_traits::no_type chkt(...); \
-    \
-    typedef boost::mpl::bool_<sizeof(chkt<BOOST_TTI_DETAIL_TP_T>(BOOST_TTI_DETAIL_NULLPTR))==sizeof(::boost::type_traits::yes_type)> type; \
-    }; \
-/**/
-
-#endif
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION_OP(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_IMPL_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
-  struct BOOST_PP_CAT(trait,_detail_hsmf_op) : \
-    BOOST_PP_CAT(trait,_detail_ihsmf) \
-      < \
-      BOOST_TTI_DETAIL_TP_T, \
-      typename \
-      boost::mpl::eval_if \
-        < \
-        boost::mpl::and_ \
-          < \
-          boost::function_types::is_function<BOOST_TTI_DETAIL_TP_R>, \
-          boost::is_same<BOOST_TTI_DETAIL_TP_FS,boost::mpl::vector<> >, \
-          boost::is_same<BOOST_TTI_DETAIL_TP_TAG,boost::function_types::null_tag> \
-          >, \
-        boost::mpl::identity<BOOST_TTI_DETAIL_TP_R>, \
-        BOOST_TTI_NAMESPACE::detail::tfunction_seq<BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG> \
-        >::type \
-      > \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION_OP(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_R,class BOOST_TTI_DETAIL_TP_FS,class BOOST_TTI_DETAIL_TP_TAG> \
-  struct BOOST_PP_CAT(trait,_detail_hsmf) : \
-	boost::mpl::eval_if \
-		< \
- 		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- 		BOOST_PP_CAT(trait,_detail_hsmf_op)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_R,BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_TAG>, \
- 		boost::mpl::false_ \
-		> \
-    { \
-    }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_STATIC_MEM_FUN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtclass.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtclass.hpp
deleted file mode 100644
index c4edbef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtclass.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_TCLASS_HPP)
-#define BOOST_TTI_DETAIL_TCLASS_HPP
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      template <class BOOST_TTI_DETAIL_TP_T>
-      struct tclass :
-        boost::mpl::eval_if
-          <
-          boost::is_class<BOOST_TTI_DETAIL_TP_T>,
-          BOOST_TTI_DETAIL_TP_T,
-          boost::mpl::identity<BOOST_TTI_DETAIL_TP_T>
-          >
-        {
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_TCLASS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtemplate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtemplate.hpp
deleted file mode 100644
index 484cc59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtemplate.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_TEMPLATE_HPP)
-#define BOOST_TTI_DETAIL_TEMPLATE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/debug/assert.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#define BOOST_TTI_DETAIL_IS_HELPER_BOOST_PP_NIL
-
-#define BOOST_TTI_DETAIL_IS_NIL(param) \
-  BOOST_PP_IS_EMPTY \
-    ( \
-    BOOST_PP_CAT(BOOST_TTI_DETAIL_IS_HELPER_,param) \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_ASSERT_NOT_NIL(trait,name,params) \
-  BOOST_PP_ASSERT_MSG(0, "The parameter must be BOOST_PP_NIL") \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_CHECK_IS_NIL(trait,name,params) \
-  BOOST_PP_IIF \
-    ( \
-    BOOST_TTI_DETAIL_IS_NIL(params), \
-    BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE, \
-    BOOST_TTI_DETAIL_TRAIT_ASSERT_NOT_NIL \
-    ) \
-    (trait,name,params) \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_THT(trait,name) \
-  BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(BOOST_PP_CAT(trait,_detail_mpl), name, false) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_tht) : \
-    BOOST_PP_CAT(trait,_detail_mpl)<BOOST_TTI_DETAIL_TP_T> \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE(trait,name,params) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_THT(trait,name) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct trait \
-    { \
-    typedef typename \
-  	boost::mpl::eval_if \
-  		< \
-  		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
-  		BOOST_PP_CAT(trait,_tht)<BOOST_TTI_DETAIL_TP_T>, \
-  		boost::mpl::false_ \
-  		>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-#endif // !BOOST_TTI_DETAIL_TEMPLATE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtemplate_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtemplate_params.hpp
deleted file mode 100644
index cfc1612..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtemplate_params.hpp
+++ /dev/null
@@ -1,239 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_TEMPLATE_PARAMS_HPP)
-#define BOOST_TTI_DETAIL_TEMPLATE_PARAMS_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/array/elem.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/array/enum.hpp>
-#include <boost/preprocessor/array/size.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_TEMPLATE_PARAMETERS(z,n,args) \
-BOOST_PP_ARRAY_ELEM(BOOST_PP_ADD(4,n),args) \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_IMPLEMENTATION(args,introspect_macro) \
-   template \
-     < \
-     typename BOOST_TTI_DETAIL_TP_T, \
-     typename BOOST_TTI_DETAIL_TP_FALLBACK_ \
-       = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \
-     > \
-   struct BOOST_PP_ARRAY_ELEM(0, args) \
-     { \
-     private: \
-     introspect_macro(args) \
-     public: \
-       static const bool value \
-         = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< BOOST_TTI_DETAIL_TP_T >::value; \
-       typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-         < \
-         BOOST_TTI_DETAIL_TP_T \
-         >::type type; \
-     }; \
-/**/
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE(z,n,args) \
-  template \
-    < \
-    template \
-      < \
-      BOOST_PP_ENUM_ ## z \
-        ( \
-        BOOST_PP_SUB \
-          ( \
-          BOOST_PP_ARRAY_SIZE(args), \
-          4 \
-          ), \
-        BOOST_TTI_DETAIL_TEMPLATE_PARAMETERS, \
-        args \
-        ) \
-      > \
-    class BOOST_TTI_DETAIL_TM_V \
-    > \
-  struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE(args) \
-  BOOST_PP_REPEAT \
-    ( \
-    BOOST_PP_ARRAY_ELEM(2, args), \
-    BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE, \
-    args \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT(args) \
-  template< typename U > \
-  struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-    { \
-    BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE(args) \
-    BOOST_MPL_HAS_MEMBER_REJECT(args, BOOST_PP_NIL) \
-    BOOST_MPL_HAS_MEMBER_ACCEPT(args, BOOST_PP_NIL) \
-    BOOST_STATIC_CONSTANT \
-      ( \
-      bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \
-      ); \
-    typedef boost::mpl::bool_< value > type; \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_WITH_FUNCTION_SFINAE(args) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_IMPLEMENTATION \
-    ( \
-    args, \
-    BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT \
-    ) \
-/**/
-
-#else // !!BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE(z,n,args) \
-  template \
-    < \
-    template \
-      < \
-      BOOST_PP_ENUM_ ## z \
-        ( \
-        BOOST_PP_SUB \
-          ( \
-          BOOST_PP_ARRAY_SIZE(args), \
-          4 \
-          ), \
-        BOOST_TTI_DETAIL_TEMPLATE_PARAMETERS, \
-        args \
-        ) \
-      > \
-    class BOOST_TTI_DETAIL_TM_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_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE(args) \
-  typedef void \
-      BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \
-  BOOST_PP_REPEAT \
-    ( \
-    BOOST_PP_ARRAY_ELEM(2, args), \
-    BOOST_TTI_DETAIL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE, \
-    args \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE(args) \
-  BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args,BOOST_PP_NIL) \
-  BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args,BOOST_PP_NIL) \
-  template< typename BOOST_TTI_DETAIL_TP_U > \
-  struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-      : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< BOOST_TTI_DETAIL_TP_U > { \
-  }; \
-/**/
-
-#define BOOST_TTI_DETAIL_HAS_MEMBER_WITH_TEMPLATE_SFINAE(args) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE \
-    ( \
-    args \
-    ) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_IMPLEMENTATION \
-    ( \
-    args, \
-    BOOST_TTI_DETAIL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \
-    ) \
-/**/
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#else // defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_SAME(trait,name) \
-  BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF \
-    ( \
-    trait, \
-    name, \
-    false \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tp) \
-  BOOST_TTI_DETAIL_SAME(trait,name) \
-/**/
-
-#endif // !BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS_OP(trait,name,tpArray) \
-  BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(BOOST_PP_CAT(trait,_detail),name,tpArray) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_cp_op) : \
-    BOOST_PP_CAT(trait,_detail)<BOOST_TTI_DETAIL_TP_T> \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpArray) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS_OP(trait,name,tpArray) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct trait \
-    { \
-    typedef typename \
-  	boost::mpl::eval_if \
-  		< \
-  		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
-  		BOOST_PP_CAT(trait,_detail_cp_op)<BOOST_TTI_DETAIL_TP_T>, \
-  		boost::mpl::false_ \
-  		>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpArray) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_WITH_FUNCTION_SFINAE \
-    (  \
-      ( BOOST_PP_ADD(BOOST_PP_ARRAY_SIZE(tpArray),4), ( trait, name, 1, false, BOOST_PP_ARRAY_ENUM(tpArray) ) )  \
-    )  \
-/**/
-
-#else // BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_TRAIT_CALL_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpArray) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_WITH_TEMPLATE_SFINAE \
-    ( \
-      ( BOOST_PP_ADD(BOOST_PP_ARRAY_SIZE(tpArray),4), ( trait, name, 1, false, BOOST_PP_ARRAY_ENUM(tpArray) ) )  \
-    ) \
-/**/
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#endif // !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#endif // BOOST_TTI_DETAIL_TEMPLATE_PARAMS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtfunction.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtfunction.hpp
deleted file mode 100644
index f539958..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtfunction.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_TFUNCTION_HPP)
-#define BOOST_TTI_DETAIL_TFUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/function_types/function_type.hpp>
-
-namespace boost
-  {
-  namespace tti
-    {
-    namespace detail
-      {
-      template
-        <
-        class BOOST_TTI_DETAIL_TP_R,
-        class BOOST_TTI_DETAIL_TP_FS,
-        class BOOST_TTI_DETAIL_TP_TAG
-        >
-      struct tfunction_seq
-        {
-        typedef typename boost::mpl::push_front<BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_R>::type ftseq;
-        typedef typename boost::function_types::function_type<ftseq,BOOST_TTI_DETAIL_TP_TAG>::type type;
-        };
-      }
-    }
-  }
-  
-#endif // BOOST_TTI_DETAIL_TFUNCTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtype.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtype.hpp
deleted file mode 100644
index 45964cf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dtype.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_TYPE_HPP)
-#define BOOST_TTI_DETAIL_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dlambda.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#define BOOST_TTI_DETAIL_TRAIT_INVOKE_HAS_TYPE(trait,name) \
-template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_MFC> \
-struct BOOST_PP_CAT(trait,_detail_type_invoke) : \
-  boost::mpl::apply<BOOST_TTI_DETAIL_TP_MFC,typename BOOST_TTI_DETAIL_TP_T::name> \
-  { \
-  }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP_CHOOSE(trait,name) \
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(trait,_detail_type_mpl), name, false) \
-BOOST_TTI_DETAIL_TRAIT_INVOKE_HAS_TYPE(trait,name) \
-template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U,class BOOST_TTI_DETAIL_TP_B> \
-struct BOOST_PP_CAT(trait,_detail_type_op_choose) \
-  { \
-  BOOST_MPL_ASSERT((BOOST_TTI_NAMESPACE::detail::is_lambda_expression<BOOST_TTI_DETAIL_TP_U>)); \
-  typedef typename BOOST_PP_CAT(trait,_detail_type_invoke)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_U>::type type; \
-  }; \
-\
-template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U> \
-struct BOOST_PP_CAT(trait,_detail_type_op_choose)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_U,boost::mpl::false_::type> : \
-  boost::mpl::false_ \
-  { \
-  }; \
-\
-template<class BOOST_TTI_DETAIL_TP_T> \
-struct BOOST_PP_CAT(trait,_detail_type_op_choose)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_NAMESPACE::detail::deftype,boost::mpl::true_::type> : \
-  boost::mpl::true_ \
-  { \
-  }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP(trait,name) \
-BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP_CHOOSE(trait,name) \
-template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U> \
-struct BOOST_PP_CAT(trait,_detail_type_op) : \
-  BOOST_PP_CAT(trait,_detail_type_op_choose) \
-    < \
-    BOOST_TTI_DETAIL_TP_T, \
-    BOOST_TTI_DETAIL_TP_U, \
-    typename BOOST_PP_CAT(trait,_detail_type_mpl)<BOOST_TTI_DETAIL_TP_T>::type \
-    > \
-  { \
-  }; \
-/**/
-
-#define BOOST_TTI_DETAIL_TRAIT_HAS_TYPE(trait,name) \
-BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_OP(trait,name) \
-template<class BOOST_TTI_DETAIL_TP_T,class BOOST_TTI_DETAIL_TP_U> \
-struct BOOST_PP_CAT(trait,_detail_type) : \
-	boost::mpl::eval_if \
-		< \
- 		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
- 		BOOST_PP_CAT(trait,_detail_type_op)<BOOST_TTI_DETAIL_TP_T,BOOST_TTI_DETAIL_TP_U>, \
- 		boost::mpl::false_ \
-		> \
-  { \
-  }; \
-/**/
-
-#endif // BOOST_TTI_DETAIL_TYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dvm_template_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dvm_template_params.hpp
deleted file mode 100644
index a8bc2af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/detail/dvm_template_params.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_DETAIL_VM_TEMPLATE_PARAMS_HPP)
-#define BOOST_TTI_DETAIL_VM_TEMPLATE_PARAMS_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/config/config.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/detail/is_binary.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/variadic/elem.hpp>
-#include <boost/preprocessor/variadic/to_seq.hpp>
-#include <boost/tti/detail/dtemplate.hpp>
-#include <boost/tti/detail/dtemplate_params.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_WITH_FUNCTION_SFINAE \
-    (  \
-      ( BOOST_PP_ADD(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),4), ( trait, name, 1, false, __VA_ARGS__ ) )  \
-    )  \
-/**/
-
-#else // !!BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
-  BOOST_TTI_DETAIL_HAS_MEMBER_WITH_TEMPLATE_SFINAE \
-    ( \
-      ( BOOST_PP_ADD(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),4), ( trait, name, 1, false, __VA_ARGS__ ) )  \
-    ) \
-/**/
-
-#endif // !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#else // defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
-  BOOST_TTI_DETAIL_SAME(trait,name) \
-/**/
-
-#endif // !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-#define BOOST_TTI_DETAIL_VM_CHECK_MORE_THAN_TWO(trait,...) \
-  BOOST_PP_IIF \
-    ( \
-    BOOST_PP_EQUAL \
-      ( \
-      BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
-      2 \
-      ), \
-    BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_FROM_TWO, \
-    BOOST_TTI_DETAIL_VM_TRAIT_EXPAND_ARGUMENTS \
-    ) \
-    (trait,__VA_ARGS__) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_FROM_TWO(trait,...) \
-  BOOST_PP_IIF \
-    ( \
-    BOOST_PP_IS_BINARY \
-      ( \
-      BOOST_PP_VARIADIC_ELEM(1,__VA_ARGS__) \
-      ), \
-    BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS, \
-    BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_IF_NIL \
-    ) \
-  ( \
-  trait, \
-  BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \
-  BOOST_PP_VARIADIC_ELEM(1,__VA_ARGS__) \
-  ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_IS_NIL(param) \
-  BOOST_PP_IS_EMPTY \
-    ( \
-    BOOST_PP_CAT(BOOST_TTI_DETAIL_IS_HELPER_,param) \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_CHOOSE_IF_NIL(trait,name,param) \
-  BOOST_PP_IIF \
-    ( \
-    BOOST_TTI_DETAIL_VM_IS_NIL(param), \
-    BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE, \
-    BOOST_TTI_DETAIL_VM_CALL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS \
-    ) \
-  (trait,name,param) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_VARIADIC_TAIL(...) \
-  BOOST_PP_SEQ_ENUM \
-    ( \
-    BOOST_PP_SEQ_TAIL \
-      ( \
-      BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
-      ) \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_EXPAND_ARGUMENTS(trait,...) \
-  BOOST_TTI_DETAIL_VM_CALL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS \
-    ( \
-    trait, \
-    BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \
-    BOOST_TTI_DETAIL_VM_VARIADIC_TAIL(__VA_ARGS__) \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE(trait,...) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE \
-    ( \
-    trait, \
-    BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__), \
-    BOOST_PP_NIL \
-    ) \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_CT_INVOKE(trait,name,...) \
-  BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(BOOST_PP_CAT(trait,_detail),name,__VA_ARGS__) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct BOOST_PP_CAT(trait,_detail_vm_ct_invoke) : \
-  	BOOST_PP_CAT(trait,_detail)<BOOST_TTI_DETAIL_TP_T> \
-    { \
-    }; \
-/**/
-
-#define BOOST_TTI_DETAIL_VM_CALL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
-  BOOST_TTI_DETAIL_VM_CT_INVOKE(trait,name,__VA_ARGS__) \
-  template<class BOOST_TTI_DETAIL_TP_T> \
-  struct trait \
-    { \
-    typedef typename \
-  	boost::mpl::eval_if \
-  		< \
-  		boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
-  		BOOST_PP_CAT(trait,_detail_vm_ct_invoke)<BOOST_TTI_DETAIL_TP_T>, \
-  		boost::mpl::false_ \
-  		>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-#endif // BOOST_PP_VARIADICS
-
-#endif // BOOST_TTI_DETAIL_VM_TEMPLATE_PARAMS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_data_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_data_gen.hpp
deleted file mode 100644
index aa22417..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_data_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012
-//  Use, modification and distribution are subject to the 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_TTI_DATA_GEN_HPP)
-#define BOOST_TTI_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_DATA.
-/**
-    name  = the name of the member data.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_DATA_GEN(name) \
-  BOOST_PP_CAT(has_data_,name) \
-/**/
-
-#endif // BOOST_TTI_DATA_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_function_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_function_gen.hpp
deleted file mode 100644
index e5a5d25..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_function_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012
-//  Use, modification and distribution are subject to the 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_TTI_FUNCTION_GEN_HPP)
-#define BOOST_TTI_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_FUNCTION.
-/**
-    name  = the name of the static member function.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_FUNCTION_GEN(name) \
-  BOOST_PP_CAT(has_function_,name) \
-/**/
-
-#endif // BOOST_TTI_FUNCTION_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_member_data_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_member_data_gen.hpp
deleted file mode 100644
index f41aafa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_member_data_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_MEMBER_DATA_GEN_HPP)
-#define BOOST_TTI_MEMBER_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_MEMBER_DATA.
-/**
-    name  = the name of the member data.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_MEMBER_DATA_GEN(name) \
-  BOOST_PP_CAT(has_member_data_,name) \
-/**/
-
-#endif // BOOST_TTI_MEMBER_DATA_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_member_function_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_member_function_gen.hpp
deleted file mode 100644
index 3832946..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_member_function_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_MEMBER_FUNCTION_GEN_HPP)
-#define BOOST_TTI_MEMBER_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_MEMBER_FUNCTION.
-/**
-    name  = the name of the member function.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(name) \
-  BOOST_PP_CAT(has_member_function_,name) \
-/**/
-
-#endif // BOOST_TTI_MEMBER_FUNCTION_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_static_member_data_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_static_member_data_gen.hpp
deleted file mode 100644
index 6e42dc7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_static_member_data_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_STATIC_MEMBER_DATA_GEN_HPP)
-#define BOOST_TTI_STATIC_MEMBER_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_DATA.
-/**
-    name  = the name of the static member data.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(name) \
-  BOOST_PP_CAT(has_static_member_data_,name) \
-/**/
-
-#endif // BOOST_TTI_STATIC_MEMBER_DATA_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_static_member_function_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_static_member_function_gen.hpp
deleted file mode 100644
index ca29827..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_static_member_function_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_STATIC_MEMBER_FUNCTION_GEN_HPP)
-#define BOOST_TTI_STATIC_MEMBER_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION.
-/**
-    name  = the name of the static member function.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_GEN(name) \
-  BOOST_PP_CAT(has_static_member_function_,name) \
-/**/
-
-#endif // BOOST_TTI_STATIC_MEMBER_FUNCTION_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_template_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_template_gen.hpp
deleted file mode 100644
index 9095488..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_template_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_TEMPLATE_GEN_HPP)
-#define BOOST_TTI_TEMPLATE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TEMPLATE.
-/**
-    name  = the name of the class template.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TEMPLATE_GEN(name) \
-  BOOST_PP_CAT(has_template_,name) \
-/**/
-
-#endif // BOOST_TTI_TEMPLATE_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_type_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_type_gen.hpp
deleted file mode 100644
index 5239570..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/has_type_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_TYPE_GEN_HPP)
-#define BOOST_TTI_TYPE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TYPE.
-/**
-    name  = the name of the type.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TYPE_GEN(name) \
-  BOOST_PP_CAT(has_type_,name) \
-/**/
-
-#endif // BOOST_TTI_TYPE_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/member_type_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/member_type_gen.hpp
deleted file mode 100644
index 475ec48..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/member_type_gen.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_MEMBER_TYPE_GEN_HPP)
-#define BOOST_TTI_MEMBER_TYPE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_MEMBER_TYPE.
-/**
-    name  = the name of the inner type.
-
-    returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_MEMBER_TYPE_GEN(name) \
-  BOOST_PP_CAT(member_type_,name) \
-/**/
-  
-#endif // BOOST_TTI_MEMBER_TYPE_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/namespace_gen.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/namespace_gen.hpp
deleted file mode 100644
index 6781569..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/gen/namespace_gen.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_NAMESPACE_GEN_HPP)
-#define BOOST_TTI_NAMESPACE_GEN_HPP
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the name of the Boost TTI namespace
-/**
-    returns = the generated name of the Boost TTI namespace.
-*/
-#define BOOST_TTI_NAMESPACE boost::tti
-
-#endif // BOOST_TTI_NAMESPACE_GEN_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_data.hpp
deleted file mode 100644
index b967891..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_data.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_DATA_HPP)
-#define BOOST_TTI_HAS_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/gen/has_data_gen.hpp>
-#include <boost/tti/detail/ddata.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether member data or static member with a particular name and type exists.
-/**
-
-    trait = the name of the metafunction.
-    
-    name  = the name of the inner member to introspect.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T    = the enclosing type in which to look for our 'name'
-                
-                BOOST_TTI_TP_TYPE = The type of the member data or static member.
-                
-                returns  = 'value' is true if the 'name' exists, with the correct data type,
-                           otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_TRAIT_HAS_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_DATA(trait,name) \
-  template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_hd) \
-      < \
-      typename boost::remove_const<BOOST_TTI_TP_T>::type, \
-      BOOST_TTI_TP_TYPE \
-      >::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/// Expands to a metafunction which tests whether member data or static member data with a particular name and type exists.
-/**
-
-    name  = the name of the inner member.
-
-    generates a metafunction called "has_data_name" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE>
-              struct has_data_name
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T    = the enclosing type in which to look for our 'name'
-                
-                BOOST_TTI_TP_TYPE = The type of the member data or static member.
-                
-                returns  = 'value' is true if the 'name' exists, with the correct data type,
-                           otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_HAS_DATA(name) \
-  BOOST_TTI_TRAIT_HAS_DATA \
-  ( \
-  BOOST_TTI_HAS_DATA_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_function.hpp
deleted file mode 100644
index 211590b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_function.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-//  (C) Copyright Edward Diener 2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_FUNCTION_HPP)
-#define BOOST_TTI_HAS_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dfunction.hpp>
-#include <boost/tti/gen/has_function_gen.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member function or a static member function with a particular name and signature exists.
-/**
-
-    trait = the name of the metafunction within the tti namespace.
-    
-    name  = the name of the inner member.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T   = the enclosing type in which to look for our 'name'.
-                
-                BOOST_TTI_TP_R   = the return type of the function
-                
-                BOOST_TTI_TP_FS  = (optional) the parameters of the function as a boost::mpl forward sequence
-                          if function parameters are not empty.
-                
-                BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the function
-                          if the need for a tag exists.
-                
-                returns = 'value' is true if the 'name' exists, 
-                          with the appropriate static member function type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_TRAIT_HAS_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_FUNCTION(trait,name) \
-  template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS = boost::mpl::vector<>,class BOOST_TTI_TP_TAG = boost::function_types::null_tag> \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_hf)<BOOST_TTI_TP_T,BOOST_TTI_TP_R,BOOST_TTI_TP_FS,BOOST_TTI_TP_TAG>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member function or a static member function with a particular name and signature exists.
-/**
-
-    name  = the name of the inner member.
-
-    generates a metafunction called "has_function_name" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T   = the enclosing type in which to look for our 'name'.
-                
-                BOOST_TTI_TP_R   = the return type of the function
-                
-                BOOST_TTI_TP_FS  = (optional) the parameters of the function as a boost::mpl forward sequence
-                          if function parameters are not empty.
-                
-                BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the function
-                          if the need for a tag exists.
-                
-                returns = 'value' is true if the 'name' exists, 
-                          with the appropriate function type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_HAS_FUNCTION(name) \
-  BOOST_TTI_TRAIT_HAS_FUNCTION \
-  ( \
-  BOOST_TTI_HAS_FUNCTION_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_FUNCTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_member_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_member_data.hpp
deleted file mode 100644
index 84988f3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_member_data.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_MEMBER_DATA_HPP)
-#define BOOST_TTI_HAS_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dmem_data.hpp>
-#include <boost/tti/gen/has_member_data_gen.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member data with a particular name and type exists.
-/**
-
-    trait = the name of the metafunction.
-    
-    name  = the name of the inner member to introspect.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_ET,class BOOST_TTI_TP_TYPE>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_ET   = the enclosing type in which to look for our 'name'
-                                                         OR
-                                    The type of the member data in the form of a pointer
-                                    to member data.
-                
-                BOOST_TTI_TP_TYPE = (optional) The type of the member data if the first
-                                    parameter is the enclosing type.
-                
-                returns  = 'value' is true if the 'name' exists, with the correct data type,
-                           otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_TRAIT_HAS_MEMBER_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
-  template<class BOOST_TTI_TP_ET,class BOOST_TTI_TP_TYPE = BOOST_TTI_NAMESPACE::detail::deftype> \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_hmd) \
-      	< \
-      	BOOST_TTI_TP_ET, \
-      	BOOST_TTI_TP_TYPE \
-      	>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member data with a particular name and type exists.
-/**
-
-    name  = the name of the inner member.
-
-    generates a metafunction called "has_member_data_name" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_ET,class BOOST_TTI_TP_TYPE>
-              struct has_member_data_name
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_ET   = the enclosing type in which to look for our 'name'
-                                                         OR
-                                    The type of the member data in the form of a pointer
-                                    to member data.
-                
-                BOOST_TTI_TP_TYPE = (optional) The type of the member data if the first
-                                    parameter is the enclosing type.
-                
-                returns  = 'value' is true if the 'name' exists, with the correct data type,
-                           otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_HAS_MEMBER_DATA(name) \
-  BOOST_TTI_TRAIT_HAS_MEMBER_DATA \
-  ( \
-  BOOST_TTI_HAS_MEMBER_DATA_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_MEMBER_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_member_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_member_function.hpp
deleted file mode 100644
index 3aa2476..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_member_function.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_MEMBER_FUNCTION_HPP)
-#define BOOST_TTI_HAS_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-#include <boost/tti/detail/dmem_fun.hpp>
-#include <boost/tti/gen/has_member_function_gen.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member function with a particular name and signature exists.
-/**
-
-    trait = the name of the metafunction within the tti namespace.
-    
-    name  = the name of the inner member.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.<br />
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_R,class BOOST_TTI_FS,class BOOST_TTI_TAG>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T   = the enclosing type in which to look for our 'name'
-                                            OR
-                          a pointer to member function as a single type.
-                
-                BOOST_TTI_TP_R   = (optional) the return type of the member function
-                          if the first parameter is the enclosing type.
-                
-                BOOST_TTI_TP_FS  = (optional) the parameters of the member function as a boost::mpl forward sequence
-                          if the first parameter is the enclosing type and the member function parameters
-                          are not empty.
-                
-                BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the member function
-                          if the first parameter is the enclosing type and a tag is needed.
-                
-                returns = 'value' is true if the 'name' exists, 
-                          with the appropriate member function type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R = BOOST_TTI_NAMESPACE::detail::deftype,class BOOST_TTI_TP_FS = boost::mpl::vector<>,class BOOST_TTI_TP_TAG = boost::function_types::null_tag> \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_hmf)<BOOST_TTI_TP_T,BOOST_TTI_TP_R,BOOST_TTI_TP_FS,BOOST_TTI_TP_TAG>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member function with a particular name and signature exists.
-/**
-
-    name  = the name of the inner member.
-
-    generates a metafunction called "has_member_function_name" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
-              struct has_member_function_name
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T   = the enclosing type in which to look for our 'name'
-                                            OR
-                          a pointer to member function as a single type.
-                
-                BOOST_TTI_TP_R   = (optional) the return type of the member function
-                          if the first parameter is the enclosing type.
-                
-                BOOST_TTI_TP_FS  = (optional) the parameters of the member function as a boost::mpl forward sequence
-                          if the first parameter is the enclosing type and the member function parameters
-                          are not empty.
-                
-                BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the member function
-                          if the first parameter is the enclosing type and a tag is needed.
-                
-                returns = 'value' is true if the 'name' exists, 
-                          with the appropriate member function type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_HAS_MEMBER_FUNCTION(name) \
-  BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION \
-  ( \
-  BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_MEMBER_FUNCTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_static_member_data.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_static_member_data.hpp
deleted file mode 100644
index d3449be..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_static_member_data.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_STATIC_MEMBER_DATA_HPP)
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/has_static_member_data_gen.hpp>
-#include <boost/tti/detail/dstatic_mem_data.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member data with a particular name and type exists.
-/**
-
-    trait = the name of the metafunction within the tti namespace.
-    
-    name  = the name of the inner member.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T    = the enclosing type.
-                
-                BOOST_TTI_TP_TYPE = the static member data type,
-                           in the form of a data type,
-                           in which to look for our 'name'.
-                       
-                returns = 'value' is true if the 'name' exists,
-                          with the BOOST_TTI_TP_TYPE type,
-                          within the enclosing BOOST_TTI_TP_T type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
-  template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_hsd)<BOOST_TTI_TP_T,BOOST_TTI_TP_TYPE>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member data with a particular name and type exists.
-/**
-
-    name  = the name of the inner member.
-
-    generates a metafunction called "has_static_member_data_name" where 'name' is the macro parameter.
-    
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T    = the enclosing type.
-                
-                BOOST_TTI_TP_TYPE = the static member data type,
-                           in the form of a data type,
-                           in which to look for our 'name'.
-                       
-                returns = 'value' is true if the 'name' exists,
-                          with the appropriate BOOST_TTI_TP_TYPE type,
-                          within the enclosing BOOST_TTI_TP_T type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA(name) \
-  BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA \
-  ( \
-  BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_STATIC_MEMBER_DATA_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_static_member_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_static_member_function.hpp
deleted file mode 100644
index d558f04..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_static_member_function.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_STATIC_MEMBER_FUNCTION_HPP)
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/detail/dstatic_mem_fun.hpp>
-#include <boost/tti/gen/has_static_member_function_gen.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and signature exists.
-/**
-
-    trait = the name of the metafunction within the tti namespace.
-    
-    name  = the name of the inner member.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T   = the enclosing type in which to look for our 'name'.
-                
-                BOOST_TTI_TP_R   = the return type of the static member function
-                                       OR
-                          the signature of a function in the form of Return_Type ( Parameter_Types )
-                
-                BOOST_TTI_TP_FS  = (optional) the parameters of the static member function as a boost::mpl forward sequence
-                          if the second parameter is a return type and the function parameters exist.
-                
-                BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the static member function
-                          if the second parameter is a return type and the need for a tag exists.
-                
-                returns = 'value' is true if the 'name' exists, 
-                          with the appropriate static member function type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
-  template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS = boost::mpl::vector<>,class BOOST_TTI_TP_TAG = boost::function_types::null_tag> \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_hsmf)<BOOST_TTI_TP_T,BOOST_TTI_TP_R,BOOST_TTI_TP_FS,BOOST_TTI_TP_TAG>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and signature exists.
-/**
-
-    name  = the name of the inner member.
-
-    generates a metafunction called "has_static_member_function_name" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_R,class BOOST_TTI_TP_FS,class BOOST_TTI_TP_TAG>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T   = the enclosing type in which to look for our 'name'.
-                
-                BOOST_TTI_TP_R   = the return type of the static member function
-                                       OR
-                          the signature of a function in the form of Return_Type ( Parameter_Types )
-                
-                BOOST_TTI_TP_FS  = (optional) the parameters of the static member function as a boost::mpl forward sequence
-                          if the second parameter is a return type and the function parameters exist.
-                
-                BOOST_TTI_TP_TAG = (optional) a boost::function_types tag to apply to the static member function
-                          if the second parameter is a return type and the need for a tag exists.
-                
-                returns = 'value' is true if the 'name' exists, 
-                          with the appropriate static member function type,
-                          otherwise 'value' is false.
-                          
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION(name) \
-  BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION \
-  ( \
-  BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_template.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_template.hpp
deleted file mode 100644
index 60714f7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_template.hpp
+++ /dev/null
@@ -1,348 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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 succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-#if !defined(BOOST_TTI_HAS_TEMPLATE_HPP)
-#define BOOST_TTI_HAS_TEMPLATE_HPP
-
-#include <boost/config.hpp>
-#include <boost/tti/gen/has_template_gen.hpp>
-#include <boost/preprocessor/config/config.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/variadic/elem.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-#include <boost/tti/detail/dvm_template_params.hpp>
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
-    trait = the name of the metafunction.
-    ...   = variadic parameters.
-    
-            The first variadic parameter is the inner class template name.
-            
-            Following variadic parameters are optional.
-            
-            If no following variadic parameters exist, then the inner class template 
-            being introspected must be all template type parameters ( template parameters 
-            starting with `class` or `typename` ) and any number of template type parameters
-            can occur.
-            
-            If the second variadic parameter is BOOST_PP_NIL and no other variadic 
-            parameter is given, then just as in the previous case the inner class template 
-            being introspected must be all template type parameters ( template parameters 
-            starting with `class` or `typename` ) and any number of template type parameters
-            can occur. This form is allowed in order to be consistent with using the 
-            non-variadic form of this macro.
-            
-            If the second variadic parameter is a Boost preprocessor library array and no other 
-            variadic parameter is given, then the inner class template must have its template 
-            parameters matching the sequence in the tuple portion of the Boost PP array. This 
-            form is allowed in order to be consistent with using the non-variadic form of this 
-            macro.
-            
-            Otherwise the inner class template must have its template parameters matching the 
-            sequence of the optional variadic parameters.
-    
-    generates a metafunction called "trait" where 'trait' is the first macro parameter.
-    
-              template<class BOOST_TTI_TP_T>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-                
-                returns = 'value' is true if the 'name' template exists within the enclosing type,
-                          otherwise 'value' is false.
-                          
-    Examples:
-    
-    1) Search for an inner class template called 'MyTemplate', with all template type parameters,
-       nested within the class 'MyClass' using a metafunction name of 'MyMeta'.
-    
-       BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate)
-    
-       or
-    
-       BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,BOOST_PP_NIL) // Non-variadic macro form
-    
-       MyMeta<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-    2) Search for an inner class template called 'MyTemplate', with template parameters 
-       of 'class T,int x,template<class> class U', nested within the class 'MyClass' 
-       using a metafunction name of 'MyMeta'.
-    
-       BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,class,int,template<class> class)
-    
-       or
-    
-       BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,(3,(class,int,template<class> class))) // Non-variadic macro form
-    
-       MyMeta<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-*/
-#define BOOST_TTI_TRAIT_HAS_TEMPLATE(trait,...) \
-  BOOST_PP_IIF \
-    ( \
-    BOOST_PP_EQUAL \
-      ( \
-      BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \
-      1 \
-      ), \
-    BOOST_TTI_DETAIL_VM_TRAIT_HAS_TEMPLATE, \
-    BOOST_TTI_DETAIL_VM_CHECK_MORE_THAN_TWO \
-    ) \
-    (trait,__VA_ARGS__) \
-/**/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
-    ...   = variadic parameters.
-    
-            The first variadic parameter is the inner class template name.
-            
-            Following variadic parameters are optional.
-            
-            If no following variadic parameters exist, then the inner class template 
-            being introspected must be all template type parameters ( template parameters 
-            starting with `class` or `typename` ) and any number of template type parameters
-            can occur.
-            
-            If the second variadic parameter is BOOST_PP_NIL and no other variadic 
-            parameter is given, then just as in the previous case the inner class template 
-            being introspected must be all template type parameters ( template parameters 
-            starting with `class` or `typename` ) and any number of template type parameters
-            can occur. This form is allowed in order to be consistent with using the 
-            non-variadic form of this macro.
-            
-            If the second variadic parameter is a Boost preprocessor library array and no other 
-            variadic parameter is given, then the inner class template must have its template 
-            parameters matching the sequence in the tuple portion of the Boost PP array. This 
-            form is allowed in order to be consistent with using the non-variadic form of this 
-            macro.
-            
-            Otherwise the inner class template must have its template parameters matching the 
-            sequence of the optional variadic parameters.
-    
-    generates a metafunction called "has_template_'name'" where 'name' is the first variadic parameter.
-    
-              template<class BOOST_TTI_TP_T>
-              struct has_template_'name'
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-                
-                returns = 'value' is true if the 'name' template exists within the enclosing type,
-                          otherwise 'value' is false.
-                          
-    Examples:
-    
-    1) Search for an inner class template called 'MyTemplate', with all template type parameters,
-       nested within the class 'MyClass'.
-    
-       BOOST_TTI_HAS_TEMPLATE(MyTemplate)
-    
-       or
-    
-       BOOST_TTI_HAS_TEMPLATE(MyTemplate,BOOST_PP_NIL) // Non-variadic macro form
-    
-       has_template_MyTemplate<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-    2) Search for an inner class template called 'MyTemplate' with template parameters 
-       of 'class T,int x,template<class> class U' nested within the class 'MyClass'.
-    
-       BOOST_TTI_HAS_TEMPLATE(MyTemplate,class,int,template<class> class)
-    
-       or
-    
-       BOOST_TTI_HAS_TEMPLATE(MyTemplate,(3,(class,int,template<class> class))) // Non-variadic macro form
-    
-       has_template_MyTemplate<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-*/
-#define BOOST_TTI_HAS_TEMPLATE(...) \
-  BOOST_TTI_TRAIT_HAS_TEMPLATE \
-    ( \
-    BOOST_TTI_HAS_TEMPLATE_GEN \
-      ( \
-      BOOST_PP_VARIADIC_ELEM(0,__VA_ARGS__) \
-      ), \
-    __VA_ARGS__ \
-    ) \
-/**/
-
-#else // !BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/detail/is_binary.hpp>
-#include <boost/tti/detail/dtemplate.hpp>
-#include <boost/tti/detail/dtemplate_params.hpp>
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
-    trait  = the name of the metafunction.
-    name   = the inner class template name.
-    params = If the  parameter is BOOST_PP_NIL the inner class template 
-             being introspected must be all template type parameters ( template parameters 
-             starting with `class` or `typename` ) and any number of template type parameters
-             can occur.
-            
-             If the parameter is a Boost preprocessor library array, then the inner class 
-             template must have its template parameters matching the sequence in the tuple portion 
-             of the Boost PP array.
-            
-             Otherwise a compiler error occurs.
-    
-    generates a metafunction called "trait" where 'trait' is the first macro parameter.
-    
-              template<class BOOST_TTI_TP_T>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-                
-                returns = 'value' is true if the 'name' template exists within the enclosing type,
-                          otherwise 'value' is false.
-                          
-    Examples:
-    
-    1) Search for an inner class template called 'MyTemplate', with all template type parameters,
-       nested within the class 'MyClass' using a metafunction name of 'MyMeta'.
-    
-       BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,BOOST_PP_NIL)
-    
-       MyMeta<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-    2) Search for an inner class template called 'MyTemplate', with template parameters 
-       of 'class T,int x,template<class> class U', nested within the class 'MyClass' 
-       using a metafunction name of 'MyMeta'.
-    
-       BOOST_TTI_TRAIT_HAS_TEMPLATE(MyMeta,MyTemplate,(3,(class,int,template<class> class)))
-    
-       MyMeta<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-*/
-#define BOOST_TTI_TRAIT_HAS_TEMPLATE(trait,name,params) \
-  BOOST_PP_IIF \
-    ( \
-    BOOST_PP_IS_BINARY(params), \
-    BOOST_TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS, \
-    BOOST_TTI_DETAIL_TRAIT_CHECK_IS_NIL \
-    ) \
-    (trait,name,params) \
-/**/
-  
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
-    name   = the inner class template name.
-    params = If the  parameter is BOOST_PP_NIL the inner class template 
-             being introspected must be all template type parameters ( template parameters 
-             starting with `class` or `typename` ) and any number of template type parameters
-             can occur.
-            
-             If the parameter is a Boost preprocessor library array, then the inner class 
-             template must have its template parameters matching the sequence in the tuple portion 
-             of the Boost PP array.
-            
-             Otherwise a compiler error occurs.
-    
-    generates a metafunction called "has_template_'name'" where 'name' is the first macro parameter.
-    
-              template<class BOOST_TTI_TP_T>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-                
-                returns = 'value' is true if the 'name' template exists within the enclosing type,
-                          otherwise 'value' is false.
-                          
-    Examples:
-    
-    1) Search for an inner class template called 'MyTemplate', with all template type parameters,
-       nested within the class 'MyClass'.
-    
-       BOOST_TTI_HAS_TEMPLATE(MyTemplate,BOOST_PP_NIL)
-    
-       has_template_MyTemplate<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-    
-    2) Search for an inner class template called 'MyTemplate' with template parameters 
-       of 'class T,int x,template<class> class U' nested within the class 'MyClass'.
-    
-       BOOST_TTI_HAS_TEMPLATE(MyTemplate,(3,(class,int,template<class> class)))
-    
-       has_template_MyTemplate<MyClass>::value
-    
-       is a compile time boolean constant which is either 'true' or 'false'
-       if the nested template exists.
-       
-*/
-#define BOOST_TTI_HAS_TEMPLATE(name,params) \
-  BOOST_TTI_TRAIT_HAS_TEMPLATE \
-  ( \
-  BOOST_TTI_HAS_TEMPLATE_GEN(name), \
-  name, \
-  params \
-  ) \
-/**/
-
-#endif // BOOST_PP_VARIADICS
-#endif // BOOST_TTI_HAS_TEMPLATE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_type.hpp
deleted file mode 100644
index cf413e5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/has_type.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_HAS_TYPE_HPP)
-#define BOOST_TTI_HAS_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/has_type_gen.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dtype.hpp>
-#include <boost/tti/detail/ddeftype.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/**
-
-    BOOST_TTI_TRAIT_HAS_TYPE is a macro which expands to a metafunction.
-    The metafunction tests whether an inner type with a particular name exists
-    and, optionally, whether a lambda expression invoked with the inner type 
-    is true or not.
-    
-    trait = the name of the metafunction within the tti namespace.
-    
-    name  = the name of the inner type.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_U>
-              struct trait
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-                
-                BOOST_TTI_TP_U = (optional) An optional template parameter, defaulting to a marker type.
-                                   If specified it is an MPL lambda expression which is invoked 
-                                   with the inner type found and must return a constant boolean 
-                                   value.
-                                   
-                returns = 'value' depends on whether or not the optional BOOST_TTI_TP_U is specified.
-                
-                          If BOOST_TTI_TP_U is not specified, then 'value' is true if the 'name' type 
-                          exists within the enclosing type BOOST_TTI_TP_T; otherwise 'value' is false.
-                          
-                          If BOOST_TTI_TP_U is specified , then 'value' is true if the 'name' type exists 
-                          within the enclosing type BOOST_TTI_TP_T and the lambda expression as specified 
-                          by BOOST_TTI_TP_U, invoked by passing the actual inner type of 'name', returns 
-                          a 'value' of true; otherwise 'value' is false.
-                             
-                          The action taken with BOOST_TTI_TP_U occurs only when the 'name' type exists 
-                          within the enclosing type BOOST_TTI_TP_T.
-                             
-  Example usage:
-  
-  BOOST_TTI_TRAIT_HAS_TYPE(LookFor,MyType) generates the metafunction LookFor in the current scope
-  to look for an inner type called MyType.
-  
-  LookFor<EnclosingType>::value is true if MyType is an inner type of EnclosingType, otherwise false.
-  
-  LookFor<EnclosingType,ALambdaExpression>::value is true if MyType is an inner type of EnclosingType
-    and invoking ALambdaExpression with the inner type returns a value of true, otherwise false.
-    
-  A popular use of the optional MPL lambda expression is to check whether the type found is the same  
-  as another type, when the type found is a typedef. In that case our example would be:
-  
-  LookFor<EnclosingType,boost::is_same<_,SomeOtherType> >::value is true if MyType is an inner type
-    of EnclosingType and is the same type as SomeOtherType.
-  
-*/
-#define BOOST_TTI_TRAIT_HAS_TYPE(trait,name) \
-  BOOST_TTI_DETAIL_TRAIT_HAS_TYPE(trait,name) \
-  template \
-    < \
-    class BOOST_TTI_TP_T, \
-    class BOOST_TTI_TP_U = BOOST_TTI_NAMESPACE::detail::deftype \
-    > \
-  struct trait \
-    { \
-    typedef typename \
-    BOOST_PP_CAT(trait,_detail_type)<BOOST_TTI_TP_T,BOOST_TTI_TP_U>::type type; \
-    BOOST_STATIC_CONSTANT(bool,value=type::value); \
-    }; \
-/**/
-
-/**
-
-    BOOST_TTI_HAS_TYPE is a macro which expands to a metafunction.
-    The metafunction tests whether an inner type with a particular name exists
-    and, optionally, whether a lambda expression invoked with the inner type 
-    is true or not.
-    
-    name  = the name of the inner type.
-
-    generates a metafunction called "has_type_'name'" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_U>
-              struct has_type_'name'
-                {
-                static const value = unspecified;
-                typedef mpl::bool_<true-or-false> type;
-                };
-
-              The metafunction types and return:
-    
-                BOOST_TTI_TP_T = the enclosing type in which to look for our 'name'.
-                
-                BOOST_TTI_TP_U = (optional) An optional template parameter, defaulting to a marker type.
-                                   If specified it is an MPL lambda expression which is invoked 
-                                   with the inner type found and must return a constant boolean 
-                                   value.
-                                   
-                returns = 'value' depends on whether or not the optional BOOST_TTI_TP_U is specified.
-                
-                          If BOOST_TTI_TP_U is not specified, then 'value' is true if the 'name' type 
-                          exists within the enclosing type BOOST_TTI_TP_T; otherwise 'value' is false.
-                          
-                          If BOOST_TTI_TP_U is specified , then 'value' is true if the 'name' type exists 
-                          within the enclosing type BOOST_TTI_TP_T and the lambda expression as specified 
-                          by BOOST_TTI_TP_U, invoked by passing the actual inner type of 'name', returns 
-                          a 'value' of true; otherwise 'value' is false.
-                             
-                          The action taken with BOOST_TTI_TP_U occurs only when the 'name' type exists 
-                          within the enclosing type BOOST_TTI_TP_T.
-                             
-  Example usage:
-  
-  BOOST_TTI_HAS_TYPE(MyType) generates the metafunction has_type_MyType in the current scope
-  to look for an inner type called MyType.
-  
-  has_type_MyType<EnclosingType>::value is true if MyType is an inner type of EnclosingType, otherwise false.
-  
-  has_type_MyType<EnclosingType,ALambdaExpression>::value is true if MyType is an inner type of EnclosingType
-    and invoking ALambdaExpression with the inner type returns a value of true, otherwise false.
-  
-  A popular use of the optional MPL lambda expression is to check whether the type found is the same  
-  as another type, when the type found is a typedef. In that case our example would be:
-  
-  has_type_MyType<EnclosingType,boost::is_same<_,SomeOtherType> >::value is true if MyType is an inner type
-    of EnclosingType and is the same type as SomeOtherType.
-  
-*/
-#define BOOST_TTI_HAS_TYPE(name) \
-  BOOST_TTI_TRAIT_HAS_TYPE \
-  ( \
-  BOOST_TTI_HAS_TYPE_GEN(name), \
-  name \
-  ) \
-/**/
-
-#endif // BOOST_TTI_HAS_TYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/member_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/member_type.hpp
deleted file mode 100644
index 6d60289..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/member_type.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012,2013
-//  Use, modification and distribution are subject to the 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_TTI_MEMBER_TYPE_HPP)
-#define BOOST_TTI_MEMBER_TYPE_HPP
-  
-#include <boost/config.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/member_type_gen.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dmem_type.hpp>
-#include <boost/tti/detail/dnotype.hpp>
-
-/*
-
-  The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction whose typedef 'type' is either the named type or a marker type.
-/**
-
-    trait = the name of the metafunction within the tti namespace.
-    
-    name  = the name of the inner type.
-
-    generates a metafunction called "trait" where 'trait' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = boost::tti::detail::notype>
-              struct trait
-                {
-                typedef unspecified type;
-                
-                typedef BOOST_TTI_TP_MARKER_TYPE boost_tti_marker_type;
-                };
-
-              The metafunction types and return:
-              
-                BOOST_TTI_TP_T           = the enclosing type.
-                BOOST_TTI_TP_MARKER_TYPE = (optional) a type to use as the marker type.
-                                  defaults to the internal boost::tti::detail::notype.
-                
-                returns         = 'type' is the inner type of 'name' if the inner type exists
-                                  within the enclosing type, else 'type' is a marker type.
-                                  if the end-user does not specify a marker type then
-                                  an internal boost::tti::detail::notype marker type is used.
-                          
-                The metafunction also encapsulates the type of the marker type as
-                a nested 'boost_tti_marker_type'.
-                          
-    The purpose of this macro is to encapsulate the 'name' type as the typedef 'type'
-    of a metafunction, but only if it exists within the enclosing type. This allows for
-    an evaluation of inner type existence, without generating a compiler error,
-    which can be used by other metafunctions in this library.
-    
-*/
-#define BOOST_TTI_TRAIT_MEMBER_TYPE(trait,name) \
-    BOOST_TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE(trait,name) \
-    BOOST_TTI_DETAIL_TRAIT_MEMBER_TYPE(trait,name) \
-    template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = BOOST_TTI_NAMESPACE::detail::notype> \
-    struct trait : \
-      boost::mpl::eval_if \
-        < \
-        BOOST_PP_CAT(trait,_detail)<BOOST_TTI_TP_T>, \
-        BOOST_PP_CAT(trait,_detail_member_type)<BOOST_TTI_TP_T>, \
-        boost::mpl::identity<BOOST_TTI_TP_MARKER_TYPE> \
-        > \
-      { \
-      typedef BOOST_TTI_TP_MARKER_TYPE boost_tti_marker_type; \
-      }; \
-/**/
-
-/// Expands to a metafunction whose typedef 'type' is either the named type or a marker type.
-/**
-
-    name  = the name of the inner type.
-
-    generates a metafunction called "member_type_name" where 'name' is the macro parameter.
-    
-              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = boost::tti::detail::notype>
-              struct member_type_name
-                {
-                typedef unspecified type;
-                
-                typedef BOOST_TTI_TP_MARKER_TYPE boost_tti_marker_type;
-                };
-
-              The metafunction types and return:
-              
-                BOOST_TTI_TP_T           = the enclosing type.
-                BOOST_TTI_TP_MARKER_TYPE = (optional) a type to use as the marker type.
-                                  defaults to the internal boost::tti::detail::notype.
-                
-                returns         = 'type' is the inner type of 'name' if the inner type exists
-                                  within the enclosing type, else 'type' is a marker type.
-                                  if the end-user does not specify a marker type then
-                                  an internal boost::tti::detail::notype marker type is used.
-                          
-                The metafunction also encapsulates the type of the marker type as
-                a nested 'boost_tti_marker_type'.
-                          
-    The purpose of this macro is to encapsulate the 'name' type as the typedef 'type'
-    of a metafunction, but only if it exists within the enclosing type. This allows for
-    an evaluation of inner type existence, without generating a compiler error,
-    which can be used by other metafunctions in this library.
-    
-*/
-#define BOOST_TTI_MEMBER_TYPE(name) \
-  BOOST_TTI_TRAIT_MEMBER_TYPE \
-  ( \
-  BOOST_TTI_MEMBER_TYPE_GEN(name), \
-  name \
-  ) \
-/**/
-  
-namespace boost
-  {
-  namespace tti
-    {
-  
-    /// A metafunction which checks whether the member 'type' returned from invoking the macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ) is a valid type.
-    /**
-
-        template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = boost::tti::detail::notype>
-        struct valid_member_type
-          {
-          static const value = unspecified;
-          typedef mpl::bool_<true-or-false> type;
-          };
-
-        The metafunction types and return:
-
-          BOOST_TTI_TP_T           = returned inner 'type' from invoking the macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ).
-          BOOST_TTI_TP_MARKER_TYPE = (optional) a type to use as the marker type.
-                            defaults to the internal boost::tti::detail::notype.
-      
-          returns         = 'value' is true if the type is valid, otherwise 'value' is false.
-                            A valid type means that the returned inner 'type' is not the marker type.
-                          
-    */
-    template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_MARKER_TYPE = BOOST_TTI_NAMESPACE::detail::notype>
-    struct valid_member_type :
-      boost::mpl::not_
-        <
-        boost::is_same<BOOST_TTI_TP_T,BOOST_TTI_TP_MARKER_TYPE>
-        >
-      {
-      };
-      
-    /// A metafunction which checks whether the invoked macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ) hold a valid type.
-    /**
-
-        template<class TTI_METAFUNCTION>
-        struct valid_member_metafunction
-          {
-          static const value = unspecified;
-          typedef mpl::bool_<true-or-false> type;
-          };
-
-        The metafunction types and return:
-
-          TTI_METAFUNCTION = The invoked macro metafunction generated by BOOST_TTI_MEMBER_TYPE ( BOOST_TTI_TRAIT_MEMBER_TYPE ).
-      
-          returns = 'value' is true if the nested type of the invoked metafunction is valid, otherwise 'value' is false.
-                    A valid type means that the invoked metafunction's inner 'type' is not the marker type.
-                          
-    */
-    template<class TTI_METAFUNCTION>
-    struct valid_member_metafunction :
-      boost::mpl::not_
-        <
-        boost::is_same<typename TTI_METAFUNCTION::type,typename TTI_METAFUNCTION::boost_tti_marker_type>
-        >
-      {
-      };
-    }
-  }
-  
-#endif // BOOST_TTI_MEMBER_TYPE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tti/tti.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tti/tti.hpp
deleted file mode 100644
index 5a6ee33..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tti/tti.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-//  (C) Copyright Edward Diener 2011,2012
-//  Use, modification and distribution are subject to the 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_TTI_INTROSPECTION_HPP)
-#define BOOST_TTI_INTROSPECTION_HPP
-
-#include "has_data.hpp"
-#include "has_function.hpp"
-#include "has_member_data.hpp"
-#include "has_member_function.hpp"
-#include "has_static_member_data.hpp"
-#include "has_static_member_function.hpp"
-#include "has_template.hpp"
-#include "has_type.hpp"
-#include "member_type.hpp"
-
-#endif // BOOST_TTI_INTROSPECTION_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/detail/tuple_basic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tuple/detail/tuple_basic.hpp
deleted file mode 100644
index 5f26c7f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/detail/tuple_basic.hpp
+++ /dev/null
@@ -1,989 +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
-
-#if BOOST_GCC >= 40700
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
-#endif
-
-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) {
-  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) {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
-      apply<cons<HT, TT> > impl;
-  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() {
-    return boost::tuples::get<N>(*this);
-  }
-
-  template <int N>
-  typename access_traits<
-             typename element<N, self_type>::type
-           >::const_type
-  get() 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
-
-
-#if BOOST_GCC >= 40700
-#pragma GCC diagnostic pop
-#endif
-
-
-#endif // BOOST_TUPLE_BASIC_HPP
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple.hpp
deleted file mode 100644
index 433d4b3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple.hpp
+++ /dev/null
@@ -1,67 +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"
-
-// other compilers
-#include "boost/ref.hpp"
-#include "boost/tuple/detail/tuple_basic.hpp"
-
-
-namespace boost {    
-
-using tuples::tuple;
-using tuples::make_tuple;
-using tuples::tie;
-#if !defined(BOOST_NO_USING_TEMPLATE)
-using tuples::get;
-#else
-//
-// 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);
-}
-
-#endif // BOOST_NO_USING_TEMPLATE
-   
-} // end namespace boost
-
-
-#endif // BOOST_TUPLE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple_comparison.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple_comparison.hpp
deleted file mode 100644
index 73723a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple_comparison.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// tuple_comparison.hpp -----------------------------------------------------
-//  
-// Copyright (C) 2001 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-// 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
-// 
-// (The idea and first impl. of comparison operators was from Doug Gregor)
-
-// ----------------------------------------------------------------- 
-
-#ifndef BOOST_TUPLE_COMPARISON_HPP
-#define BOOST_TUPLE_COMPARISON_HPP
-
-#include "boost/tuple/tuple.hpp"
-
-// -------------------------------------------------------------
-// equality and comparison operators 
-//
-// == and != compare tuples elementwise
-// <, >, <= and >= use lexicographical ordering
-//
-// Any operator between tuples of different length fails at compile time
-// No dependencies between operators are assumed 
-// (i.e. !(a<b)  does not imply a>=b, a!=b does not imply a==b etc.
-// so any weirdnesses of elementary operators are respected).
-//
-// -------------------------------------------------------------
-
-
-namespace boost {
-namespace tuples {
-
-inline bool operator==(const null_type&, const null_type&) { return true; }
-inline bool operator>=(const null_type&, const null_type&) { return true; }
-inline bool operator<=(const null_type&, const null_type&) { return true; }
-inline bool operator!=(const null_type&, const null_type&) { return false; }
-inline bool operator<(const null_type&, const null_type&) { return false; }
-inline bool operator>(const null_type&, const null_type&) { return false; }
-
-
-namespace detail {
-  // comparison operators check statically the length of its operands and
-  // delegate the comparing task to the following functions. Hence
-  // the static check is only made once (should help the compiler).  
-  // These functions assume tuples to be of the same length.
-
-
-template<class T1, class T2>
-inline bool eq(const T1& lhs, const T2& rhs) {
-  return lhs.get_head() == rhs.get_head() &&
-         eq(lhs.get_tail(), rhs.get_tail());
-}
-template<>
-inline bool eq<null_type,null_type>(const null_type&, const null_type&) { return true; }
-
-template<class T1, class T2>
-inline bool neq(const T1& lhs, const T2& rhs) {
-  return lhs.get_head() != rhs.get_head()  ||
-         neq(lhs.get_tail(), rhs.get_tail());
-}
-template<>
-inline bool neq<null_type,null_type>(const null_type&, const null_type&) { return false; }
-
-template<class T1, class T2>
-inline bool lt(const T1& lhs, const T2& rhs) {
-  return lhs.get_head() < rhs.get_head()  ||
-          ( !(rhs.get_head() < lhs.get_head()) &&
-            lt(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool lt<null_type,null_type>(const null_type&, const null_type&) { return false; }
-
-template<class T1, class T2>
-inline bool gt(const T1& lhs, const T2& rhs) {
-  return lhs.get_head() > rhs.get_head()  ||
-          ( !(rhs.get_head() > lhs.get_head()) &&
-            gt(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool gt<null_type,null_type>(const null_type&, const null_type&) { return false; }
-
-template<class T1, class T2>
-inline bool lte(const T1& lhs, const T2& rhs) {
-  return lhs.get_head() <= rhs.get_head()  &&
-          ( !(rhs.get_head() <= lhs.get_head()) ||
-            lte(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool lte<null_type,null_type>(const null_type&, const null_type&) { return true; }
-
-template<class T1, class T2>
-inline bool gte(const T1& lhs, const T2& rhs) {
-  return lhs.get_head() >= rhs.get_head()  &&
-          ( !(rhs.get_head() >= lhs.get_head()) ||
-            gte(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool gte<null_type,null_type>(const null_type&, const null_type&) { return true; }
-
-} // end of namespace detail
-
-
-// equal ----
-
-template<class T1, class T2, class S1, class S2>
-inline bool operator==(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-  // check that tuple lengths are equal
-  BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
-  return  detail::eq(lhs, rhs);
-}
-
-// not equal -----
-
-template<class T1, class T2, class S1, class S2>
-inline bool operator!=(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-
-  // check that tuple lengths are equal
-  BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
-  return detail::neq(lhs, rhs);
-}
-
-// <
-template<class T1, class T2, class S1, class S2>
-inline bool operator<(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-  // check that tuple lengths are equal
-  BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
-  return detail::lt(lhs, rhs);
-}
-
-// >
-template<class T1, class T2, class S1, class S2>
-inline bool operator>(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-  // check that tuple lengths are equal
-  BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
-  return detail::gt(lhs, rhs);
-}
-
-// <=
-template<class T1, class T2, class S1, class S2>
-inline bool operator<=(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-  // check that tuple lengths are equal
-  BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
-  return detail::lte(lhs, rhs);
-}
-
-// >=
-template<class T1, class T2, class S1, class S2>
-inline bool operator>=(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-  // check that tuple lengths are equal
-  BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
-  return detail::gte(lhs, rhs);
-}
-
-} // end of namespace tuples
-} // end of namespace boost
-
-
-#endif // BOOST_TUPLE_COMPARISON_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple_io.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple_io.hpp
deleted file mode 100644
index 99cf36c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/tuple/tuple_io.hpp
+++ /dev/null
@@ -1,341 +0,0 @@
-// tuple_io.hpp --------------------------------------------------------------
-
-// Copyright (C) 2001 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//               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 
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_IO_HPP
-#define BOOST_TUPLE_IO_HPP
-
-#include <istream>
-#include <ostream>
-
-#include <sstream>
-
-#include "boost/tuple/tuple.hpp"
-
-// This is ugly: one should be using twoargument isspace since whitspace can
-// be locale dependent, in theory at least.
-// not all libraries implement have the two-arg version, so we need to 
-// use the one-arg one, which one should get with <cctype> but there seem
-// to be exceptions to this.
-
-#if !defined (BOOST_NO_STD_LOCALE)
-
-#include <locale> // for two-arg isspace
-
-#else 
-
-#include <cctype> // for one-arg (old) isspace 
-#include <ctype.h> // Metrowerks does not find one-arg isspace from cctype
-
-#endif
-
-namespace boost {
-namespace tuples {
-
-namespace detail {
-
-class format_info {
-public:   
-
-   enum manipulator_type { open, close, delimiter };
-   BOOST_STATIC_CONSTANT(int, number_of_manipulators = delimiter + 1);
-private:
-   
-   static int get_stream_index (int m)
-   {
-     static const int stream_index[number_of_manipulators]
-        = { std::ios::xalloc(), std::ios::xalloc(), std::ios::xalloc() };
-
-     return stream_index[m];
-   }
-
-   format_info(const format_info&);
-   format_info();   
-
-
-public:
-
-   template<class CharType, class CharTrait>
-   static CharType get_manipulator(std::basic_ios<CharType, CharTrait>& i, 
-                                   manipulator_type m) {
-     // The manipulators are stored as long.
-     // A valid instanitation of basic_stream allows CharType to be any POD,
-     // hence, the static_cast may fail (it fails if long is not convertible 
-     // to CharType
-     CharType c = static_cast<CharType>(i.iword(get_stream_index(m)) ); 
-     // parentheses and space are the default manipulators
-     if (!c) {
-       switch(m) {
-         case detail::format_info::open :  c = i.widen('('); break;
-         case detail::format_info::close : c = i.widen(')'); break;
-         case detail::format_info::delimiter : c = i.widen(' '); break;
-       }
-     }
-     return c;
-   }
-
-
-   template<class CharType, class CharTrait>
-   static void set_manipulator(std::basic_ios<CharType, CharTrait>& i, 
-                               manipulator_type m, CharType c) {
-     // The manipulators are stored as long.
-     // A valid instanitation of basic_stream allows CharType to be any POD,
-     // hence, the static_cast may fail (it fails if CharType is not 
-     // convertible long.
-      i.iword(get_stream_index(m)) = static_cast<long>(c);
-   }
-};
-
-} // end of namespace detail
- 
-template<class CharType>    
-class tuple_manipulator {
-  const detail::format_info::manipulator_type mt;
-  CharType f_c;
-public:
-  explicit tuple_manipulator(detail::format_info::manipulator_type m, 
-                             const char c = 0)
-     : mt(m), f_c(c) {}
-  
-   template<class CharTrait>
-  void set(std::basic_ios<CharType, CharTrait> &io) const {
-     detail::format_info::set_manipulator(io, mt, f_c);
-  }
-};
-
-
-template<class CharType, class CharTrait>
-inline std::basic_ostream<CharType, CharTrait>&
-operator<<(std::basic_ostream<CharType, CharTrait>& o, const tuple_manipulator<CharType>& m) {
-  m.set(o);
-  return o;
-}
-
-template<class CharType, class CharTrait>
-inline std::basic_istream<CharType, CharTrait>&
-operator>>(std::basic_istream<CharType, CharTrait>& i, const tuple_manipulator<CharType>& m) {
-  m.set(i);
-  return i;
-}
-
-   
-template<class CharType>
-inline tuple_manipulator<CharType> set_open(const CharType c) {
-   return tuple_manipulator<CharType>(detail::format_info::open, c);
-}
-
-template<class CharType>
-inline tuple_manipulator<CharType> set_close(const CharType c) {
-   return tuple_manipulator<CharType>(detail::format_info::close, c);
-}
-
-template<class CharType>
-inline tuple_manipulator<CharType> set_delimiter(const CharType c) {
-   return tuple_manipulator<CharType>(detail::format_info::delimiter, c);
-}
-
-
-
-   
-   
-// -------------------------------------------------------------
-// printing tuples to ostream in format (a b c)
-// parentheses and space are defaults, but can be overriden with manipulators
-// set_open, set_close and set_delimiter
-   
-namespace detail {
-
-// Note: The order of the print functions is critical 
-// to let a conforming compiler  find and select the correct one.
-
-
-template<class CharType, class CharTrait, class T1>
-inline std::basic_ostream<CharType, CharTrait>& 
-print(std::basic_ostream<CharType, CharTrait>& o, const cons<T1, null_type>& t) {
-  return o << t.head;
-}
-
- 
-template<class CharType, class CharTrait>
-inline std::basic_ostream<CharType, CharTrait>& 
-print(std::basic_ostream<CharType, CharTrait>& o, const null_type&) { 
-  return o; 
-}
-
-template<class CharType, class CharTrait, class T1, class T2>
-inline std::basic_ostream<CharType, CharTrait>& 
-print(std::basic_ostream<CharType, CharTrait>& o, const cons<T1, T2>& t) {
-  
-  const CharType d = format_info::get_manipulator(o, format_info::delimiter);
-   
-  o << t.head;
-
-  o << d;
-
-  return print(o, t.tail);
-}
-
-template<class CharT, class Traits, class T>
-inline bool handle_width(std::basic_ostream<CharT, Traits>& o, const T& t) {
-    std::streamsize width = o.width();
-    if(width == 0) return false;
-
-    std::basic_ostringstream<CharT, Traits> ss;
-
-    ss.copyfmt(o);
-    ss.tie(0);
-    ss.width(0);
-
-    ss << t;
-    o << ss.str();
-
-    return true;
-}
-
-
-} // namespace detail
-
-
-template<class CharType, class CharTrait>
-inline std::basic_ostream<CharType, CharTrait>& 
-operator<<(std::basic_ostream<CharType, CharTrait>& o, 
-           const null_type& t) {
-  if (!o.good() ) return o;
-  if (detail::handle_width(o, t)) return o;
- 
-  const CharType l = 
-    detail::format_info::get_manipulator(o, detail::format_info::open);
-  const CharType r = 
-    detail::format_info::get_manipulator(o, detail::format_info::close);
-   
-  o << l;
-  o << r;
-
-  return o;
-}
-
-template<class CharType, class CharTrait, class T1, class T2>
-inline std::basic_ostream<CharType, CharTrait>& 
-operator<<(std::basic_ostream<CharType, CharTrait>& o, 
-           const cons<T1, T2>& t) {
-  if (!o.good() ) return o;
-  if (detail::handle_width(o, t)) return o;
- 
-  const CharType l = 
-    detail::format_info::get_manipulator(o, detail::format_info::open);
-  const CharType r = 
-    detail::format_info::get_manipulator(o, detail::format_info::close);
-   
-  o << l;   
-
-  detail::print(o, t);  
-
-  o << r;
-
-  return o;
-}
-
-   
-// -------------------------------------------------------------
-// input stream operators
-
-namespace detail {
-
-
-template<class CharType, class CharTrait>
-inline std::basic_istream<CharType, CharTrait>& 
-extract_and_check_delimiter(
-  std::basic_istream<CharType, CharTrait> &is, format_info::manipulator_type del)
-{
-  const CharType d = format_info::get_manipulator(is, del);
-
-#if defined (BOOST_NO_STD_LOCALE)
-  const bool is_delimiter = !isspace(d);
-#elif defined ( __BORLANDC__ )
-  const bool is_delimiter = !std::use_facet< std::ctype< CharType > >
-    (is.getloc() ).is( std::ctype_base::space, d);
-#else
-  const bool is_delimiter = (!std::isspace(d, is.getloc()) );            
-#endif
-
-  CharType c;
-  if (is_delimiter) { 
-    is >> c;
-    if (is.good() && c!=d) { 
-      is.setstate(std::ios::failbit);
-    }
-  } else {
-    is >> std::ws;
-  }
-  return is;
-}
-
-   
-template<class CharType, class CharTrait, class T1>
-inline  std::basic_istream<CharType, CharTrait> & 
-read (std::basic_istream<CharType, CharTrait> &is, cons<T1, null_type>& t1) {
-
-  if (!is.good()) return is;   
-   
-  return is >> t1.head; 
-}
-
-template<class CharType, class CharTrait, class T1, class T2>
-inline std::basic_istream<CharType, CharTrait>& 
-read(std::basic_istream<CharType, CharTrait> &is, cons<T1, T2>& t1) {
-
-  if (!is.good()) return is;
-   
-  is >> t1.head;
-
-
-  extract_and_check_delimiter(is, format_info::delimiter);
-
-  return read(is, t1.tail);
-}
-
-} // end namespace detail
-
-
-template<class CharType, class CharTrait>
-inline std::basic_istream<CharType, CharTrait>& 
-operator>>(std::basic_istream<CharType, CharTrait> &is, null_type&) {
-
-  if (!is.good() ) return is;
-
-  detail::extract_and_check_delimiter(is, detail::format_info::open);
-  detail::extract_and_check_delimiter(is, detail::format_info::close);
-
-  return is;
-}
-
-template<class CharType, class CharTrait, class T1, class T2>
-inline std::basic_istream<CharType, CharTrait>& 
-operator>>(std::basic_istream<CharType, CharTrait>& is, cons<T1, T2>& t1) {
-
-  if (!is.good() ) return is;
-
-  detail::extract_and_check_delimiter(is, detail::format_info::open);
-                      
-  detail::read(is, t1);
-   
-  detail::extract_and_check_delimiter(is, detail::format_info::close);
-
-  return is;
-}
-
-
-} // end of namespace tuples
-} // end of namespace boost
-
-#endif // BOOST_TUPLE_IO_HPP
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type.hpp
deleted file mode 100644
index ab81c91..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_index.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_index.hpp
deleted file mode 100644
index dce89d8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_index.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-//
-// Copyright (c) Antony Polukhin, 2012-2014.
-//
-// Distributed under the 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_INDEX_HPP
-#define BOOST_TYPE_INDEX_HPP
-
-/// \file boost/type_index.hpp
-/// \brief Includes minimal set of headers required to use the Boost.TypeIndex library.
-///
-/// By inclusion of this file most optimal type index classes will be included and used 
-/// as a boost::typeindex::type_index and boost::typeindex::type_info.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-# pragma once
-#endif
-
-#if defined(BOOST_TYPE_INDEX_USER_TYPEINDEX)
-#   include BOOST_TYPE_INDEX_USER_TYPEINDEX
-#   ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#       pragma detect_mismatch( "boost__type_index__abi", "user defined type_index class is used: " BOOST_STRINGIZE(BOOST_TYPE_INDEX_USER_TYPEINDEX))
-#   endif
-#elif (!defined(BOOST_NO_RTTI) && !defined(BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)) || defined(BOOST_MSVC)
-#   include <boost/type_index/stl_type_index.hpp>
-#   if defined(BOOST_NO_RTTI) || defined(BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)
-#       include <boost/type_index/detail/stl_register_class.hpp>
-#       ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#           pragma detect_mismatch( "boost__type_index__abi", "RTTI is off - typeid() is used only for templates")
-#       endif
-#   else
-#       ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#           pragma detect_mismatch( "boost__type_index__abi", "RTTI is used")
-#       endif
-#   endif
-#else
-#   include <boost/type_index/ctti_type_index.hpp>
-#   include <boost/type_index/detail/ctti_register_class.hpp>
-#   ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
-#       pragma detect_mismatch( "boost__type_index__abi", "RTTI is off - using CTTI")
-#   endif
-#endif
-
-#ifndef BOOST_TYPE_INDEX_REGISTER_CLASS
-#define BOOST_TYPE_INDEX_REGISTER_CLASS
-#endif
-
-namespace boost { namespace typeindex {
-
-#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
-
-/// \def BOOST_TYPE_INDEX_FUNCTION_SIGNATURE
-/// BOOST_TYPE_INDEX_FUNCTION_SIGNATURE is used by boost::typeindex::ctti_type_index class to
-/// deduce the name of a type. If your compiler is not recognized
-/// by the TypeIndex library and you wish to work with boost::typeindex::ctti_type_index, you may
-/// define this macro by yourself.
-///
-/// BOOST_TYPE_INDEX_FUNCTION_SIGNATURE must be defined to a compiler specific macro
-/// that outputs the \b whole function signature \b including \b template \b parameters.
-///
-/// If your compiler is not recognised and BOOST_TYPE_INDEX_FUNCTION_SIGNATURE is not defined,
-/// then a compile-time error will arise at any attempt to use boost::typeindex::ctti_type_index classes.
-///
-/// See BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS and BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING
-/// for an information of how to tune the implementation to make a nice pretty_name() output.
-#define BOOST_TYPE_INDEX_FUNCTION_SIGNATURE BOOST_CURRENT_FUNCTION
-
-/// \def BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING
-/// This is a helper macro for making correct pretty_names() with RTTI off.
-///
-/// BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING macro may be defined to
-/// '(begin_skip, end_skip, runtime_skip, runtime_skip_until)' with parameters for adding a
-/// support for compilers, that by default are not recognized by TypeIndex library.
-///
-/// \b Example:
-///
-/// Imagine the situation when
-/// \code boost::typeindex::ctti_type_index::type_id<int>().pretty_name() \endcode
-/// returns the following string:
-/// \code "static const char *boost::detail::ctti<int>::n() [T = int]" \endcode
-/// and \code boost::typeindex::ctti_type_index::type_id<short>().pretty_name() \endcode returns the following:
-/// \code "static const char *boost::detail::ctti<short>::n() [T = short]" \endcode
-///
-/// As we may see first 39 characters are "static const char *boost::detail::ctti<" and they do not depend on
-/// the type T. After first 39 characters we have a human readable type name which is duplicated at the end
-/// of a string. String always ends on ']', which consumes 1 character.
-///
-/// Now if we define `BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING` to
-/// `(39, 1, false, "")` we'll be getting \code "int>::n() [T = int" \endcode
-/// for `boost::typeindex::ctti_type_index::type_id<int>().pretty_name()` and \code "short>::n() [T = short" \endcode
-/// for `boost::typeindex::ctti_type_index::type_id<short>().pretty_name()`.
-///
-/// Now we need to take additional care of the characters that go before the last mention of our type. We'll
-/// do that by telling the macro that we need to cut off everything that goes before the "T = " including the "T = "
-/// itself:
-///
-/// \code (39, 1, true, "T = ") \endcode
-///
-/// In case of GCC or Clang command line we need to add the following line while compiling all the sources:
-///
-/// \code
-/// -DBOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING='(39, 1, true, "T = ")'
-/// \endcode
-/// \param begin_skip How many characters must be skipped at the beginning of the type holding string.
-/// Must be a compile time constant.
-/// \param end_skip How many characters must be skipped at the end of the type holding string.
-/// Must be a compile time constant.
-/// \param runtime_skip Do we need additional checks at runtime to cut off the more characters.
-/// Must be `true` or `false`.
-/// \param runtime_skip_until Skip all the characters before the following string (including the string itself).
-/// Must be a compile time array of characters.
-///
-/// See [RTTI emulation limitations](boost_typeindex/rtti_emulation_limitations.html) for more info.
-#define BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING (0, 0, false, "")
-
-
-    /// Depending on a compiler flags, optimal implementation of type_index will be used 
-    /// as a default boost::typeindex::type_index.
-    ///
-    /// Could be a boost::typeindex::stl_type_index, boost::typeindex::ctti_type_index or 
-    /// user defined type_index class.
-    ///
-    /// \b See boost::typeindex::type_index_facade for a full description of type_index functions.
-    typedef platform_specific type_index;
-#elif defined(BOOST_TYPE_INDEX_USER_TYPEINDEX)
-    // Nothing to do
-#elif (!defined(BOOST_NO_RTTI) && !defined(BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)) || defined(BOOST_MSVC)
-    typedef boost::typeindex::stl_type_index type_index;
-#else 
-    typedef boost::typeindex::ctti_type_index type_index;
-#endif
-
-/// Depending on a compiler flags, optimal implementation of type_info will be used 
-/// as a default boost::typeindex::type_info.
-///
-/// Could be a std::type_info, boost::typeindex::detail::ctti_data or 
-/// some user defined class.
-///
-/// type_info \b is \b not copyable or default constructible. It is \b not assignable too!
-typedef type_index::type_info_t type_info;
-
-#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
-
-/// \def BOOST_TYPE_INDEX_USER_TYPEINDEX
-/// BOOST_TYPE_INDEX_USER_TYPEINDEX can be defined to the path to header file
-/// with user provided implementation of type_index.
-///
-/// See [Making a custom type_index](boost_typeindex/making_a_custom_type_index.html) section
-/// of documentation for usage example.
-#define BOOST_TYPE_INDEX_USER_TYPEINDEX <full/absolute/path/to/header/with/type_index.hpp>
-
-
-/// \def BOOST_TYPE_INDEX_REGISTER_CLASS
-/// BOOST_TYPE_INDEX_REGISTER_CLASS is used to help to emulate RTTI.
-/// Put this macro into the public section of polymorphic class to allow runtime type detection.
-///
-/// Depending on the typeid() availability this macro will expand to nothing or to virtual helper function
-/// `virtual const type_info& boost_type_info_type_id_runtime_() const noexcept`.
-///
-/// \b Example:
-/// \code
-/// class A {
-/// public:
-///     BOOST_TYPE_INDEX_REGISTER_CLASS
-///     virtual ~A(){}
-/// };
-///
-/// struct B: public A {
-///     BOOST_TYPE_INDEX_REGISTER_CLASS
-/// };
-///
-/// struct C: public B {
-///     BOOST_TYPE_INDEX_REGISTER_CLASS
-/// };
-///
-/// ...
-///
-/// C c1;
-/// A* pc1 = &c1;
-/// assert(boost::typeindex::type_id<C>() == boost::typeindex::type_id_runtime(*pc1));
-/// \endcode
-#define BOOST_TYPE_INDEX_REGISTER_CLASS nothing-or-some-virtual-functions
-
-/// \def BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY
-/// BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY is a helper macro that must be defined if mixing
-/// RTTI on/off modules. See
-/// [Mixing sources with RTTI on and RTTI off](boost_typeindex/mixing_sources_with_rtti_on_and_.html)
-/// section of documentation for more info.
-#define BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY
-
-#endif // defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
-
-
-/// Function to get boost::typeindex::type_index for a type T.
-/// Removes const, volatile && and & modifiers from T.
-///
-/// \b Example:
-/// \code
-/// type_index ti = type_id<int&>();
-/// std::cout << ti.pretty_name();  // Outputs 'int'
-/// \endcode
-///
-/// \tparam T Type for which type_index must be created.
-/// \throw Nothing.
-/// \return boost::typeindex::type_index with information about the specified type T.
-template <class T>
-inline type_index type_id() BOOST_NOEXCEPT {
-    return type_index::type_id<T>();
-}
-
-/// Function for constructing boost::typeindex::type_index instance for type T. 
-/// Does not remove const, volatile, & and && modifiers from T.
-///
-/// If T has no const, volatile, & and && modifiers, then returns exactly 
-/// the same result as in case of calling `type_id<T>()`.
-///
-/// \b Example:
-/// \code
-/// type_index ti = type_id_with_cvr<int&>();
-/// std::cout << ti.pretty_name();  // Outputs 'int&'
-/// \endcode
-///
-/// \tparam T Type for which type_index must be created.
-/// \throw Nothing.
-/// \return boost::typeindex::type_index with information about the specified type T.
-template <class T>
-inline type_index type_id_with_cvr() BOOST_NOEXCEPT {
-    return type_index::type_id_with_cvr<T>();
-}
-
-/// Function that works exactly like C++ typeid(rtti_val) call, but returns boost::type_index.
-///
-/// Retunrs runtime information about specified type.
-///
-/// \b Requirements: RTTI available or Base and Derived classes must be marked with BOOST_TYPE_INDEX_REGISTER_CLASS.
-///
-/// \b Example:
-/// \code
-/// struct Base { virtual ~Base(){} };
-/// struct Derived: public Base  {};
-/// ...
-/// Derived d;
-/// Base& b = d;
-/// type_index ti = type_id_runtime(b);
-/// std::cout << ti.pretty_name();  // Outputs 'Derived'
-/// \endcode
-///
-/// \param runtime_val Varaible which runtime type must be returned.
-/// \throw Nothing.
-/// \return boost::typeindex::type_index with information about the specified variable.
-template <class T>
-inline type_index type_id_runtime(const T& runtime_val) BOOST_NOEXCEPT {
-    return type_index::type_id_runtime(runtime_val);
-}
-
-}} // namespace boost::typeindex
-
-
-
-#endif // BOOST_TYPE_INDEX_HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits.hpp
deleted file mode 100644
index 7d651ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits.hpp
+++ /dev/null
@@ -1,150 +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/copy_cv.hpp>
-#include <boost/type_traits/decay.hpp>
-#include <boost/type_traits/declval.hpp>
-#include <boost/type_traits/extent.hpp>
-#include <boost/type_traits/floating_point_promotion.hpp>
-#include <boost/type_traits/function_traits.hpp>
-
-#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>
-#if !defined(__BORLANDC__) && !defined(__CUDACC__)
-#include <boost/type_traits/has_new_operator.hpp>
-#endif
-#include <boost/type_traits/has_not_equal_to.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/has_nothrow_destructor.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_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_trivial_move_assign.hpp>
-#include <boost/type_traits/has_trivial_move_constructor.hpp>
-#include <boost/type_traits/has_unary_minus.hpp>
-#include <boost/type_traits/has_unary_plus.hpp>
-#include <boost/type_traits/has_virtual_destructor.hpp>
-
-#include <boost/type_traits/integral_constant.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_assignable.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_constructible.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_copy_assignable.hpp>
-#include <boost/type_traits/is_copy_constructible.hpp>
-#include <boost/type_traits/is_default_constructible.hpp>
-#include <boost/type_traits/is_destructible.hpp>
-#include <boost/type_traits/is_empty.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_final.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_nothrow_move_assignable.hpp>
-#include <boost/type_traits/is_nothrow_move_constructible.hpp>
-#include <boost/type_traits/is_object.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_polymorphic.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/is_signed.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_virtual_base_of.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/rank.hpp>
-#include <boost/type_traits/remove_all_extents.hpp>
-#include <boost/type_traits/remove_bounds.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_extent.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_identity.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
-
-#endif // BOOST_TYPE_TRAITS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_const.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_const.hpp
deleted file mode 100644
index a9fb781..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_const.hpp
+++ /dev/null
@@ -1,46 +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/type_traits/detail/config.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 
-
-   template <class T> struct add_const
-   {
-      typedef T const type;
-   };
-
-#if defined(BOOST_MSVC)
-#   pragma warning(pop)
-#endif 
-
-   template <class T> struct add_const<T&>
-   {
-      typedef T& type;
-   };
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_cv.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_cv.hpp
deleted file mode 100644
index e62ddee..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_cv.hpp
+++ /dev/null
@@ -1,41 +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>
-
-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 
-
-template <class T> struct add_cv{ typedef T const volatile type; };
-
-#if defined(BOOST_MSVC)
-#   pragma warning(pop)
-#endif 
-
-template <class T> struct add_cv<T&>{ typedef T& type; };
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_CV_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_lvalue_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_lvalue_reference.hpp
deleted file mode 100644
index 41851a1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_lvalue_reference.hpp
+++ /dev/null
@@ -1,27 +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>
-
-namespace boost{
-
-template <class T> struct add_lvalue_reference
-{
-   typedef typename boost::add_reference<T>::type type; 
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct add_lvalue_reference<T&&>
-{
-   typedef T& type;
-};
-#endif
-
-}
-
-#endif  // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_pointer.hpp
deleted file mode 100644
index 745f63a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_pointer.hpp
+++ /dev/null
@@ -1,61 +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>
-
-namespace boost {
-
-#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
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer<T&>
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer<T&const>
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer<T&volatile>
-{
-    typedef T* type;
-};
-template <typename T>
-struct add_pointer<T&const volatile>
-{
-    typedef T* type;
-};
-
-#else
-
-template <typename T>
-struct add_pointer
-{
-    typedef typename remove_reference<T>::type no_ref_type;
-    typedef no_ref_type* type;
-};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_reference.hpp
deleted file mode 100644
index 3c91415..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_reference.hpp
+++ /dev/null
@@ -1,59 +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/detail/workaround.hpp>
-#include <boost/config.hpp>
-
-namespace boost {
-
-namespace detail {
-
-//
-// 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_impl
-{
-    typedef T& type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct add_reference_impl<T&&>
-{
-    typedef T&& type;
-};
-#endif
-
-} // namespace detail
-
-template <class T> struct add_reference
-{
-   typedef typename boost::detail::add_reference_impl<T>::type type;
-};
-template <class T> struct add_reference<T&>
-{
-   typedef T& type;
-};
-
-// these full specialisations are always required:
-template <> struct add_reference<void> { typedef void type; };
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct add_reference<const void> { typedef const void type; };
-template <> struct add_reference<const volatile void> { typedef const volatile void type; };
-template <> struct add_reference<volatile void> { typedef volatile void type; };
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_rvalue_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_rvalue_reference.hpp
deleted file mode 100644
index 44ead34..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_rvalue_reference.hpp
+++ /dev/null
@@ -1,64 +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>
-
-//----------------------------------------------------------------------------//
-//                                                                            //
-//                           C++03 implementation of                          //
-//             20.9.7.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_CXX11_RVALUE_REFERENCES)
-    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 == false && is_reference<T>::value == false) >::type type;
-    };
-
-}
-
-template <class T> struct add_rvalue_reference
-{
-   typedef typename boost::type_traits_detail::add_rvalue_reference_imp<T>::type type;
-};
-
-}  // namespace boost
-
-#endif  // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_volatile.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_volatile.hpp
deleted file mode 100644
index 24f515c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/add_volatile.hpp
+++ /dev/null
@@ -1,40 +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>
-
-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 
-
-template <class T> struct add_volatile{ typedef T volatile type; };
-
-#if defined(BOOST_MSVC)
-#   pragma warning(pop)
-#endif 
-
-template <class T> struct add_volatile<T&>{ typedef T& type; };
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/aligned_storage.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/aligned_storage.hpp
deleted file mode 100644
index 171f5d4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/aligned_storage.hpp
+++ /dev/null
@@ -1,138 +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_TT_ALIGNED_STORAGE_HPP
-#define BOOST_TT_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/type_traits/conditional.hpp>
-
-namespace boost {
-
-namespace detail { namespace aligned_storage {
-
-BOOST_STATIC_CONSTANT(
-      std::size_t
-    , alignment_of_max_align = ::boost::alignment_of<boost::detail::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 ::boost::type_with_alignment<alignment_>::type align_;
-    } data_;
-    void* address() const { return const_cast<aligned_storage_imp*>(this); }
-};
-template <std::size_t size>
-struct aligned_storage_imp<size, std::size_t(-1)>
-{
-   union data_t
-   {
-      char buf[size];
-      ::boost::detail::max_align 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
-   ::boost::detail::aligned_storage::aligned_storage_imp<size_, alignment_> 
-{
- 
-public: // constants
-
-    typedef ::boost::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_
-            )
-        );
-
-private: // noncopyable
-
-    aligned_storage(const aligned_storage&);
-    aligned_storage& operator=(const aligned_storage&);
-
-public: // structors
-
-    aligned_storage()
-    {
-    }
-
-    ~aligned_storage()
-    {
-    }
-
-public: // accessors
-
-    void* address()
-    {
-        return static_cast<type*>(this)->address();
-    }
-
-    const void* address() const
-    {
-        return static_cast<const type*>(this)->address();
-    }
-};
-
-//
-// 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_> > : public true_type{};
-
-} // namespace boost
-
-#endif // BOOST_ALIGNED_STORAGE_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/alignment_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/alignment_of.hpp
deleted file mode 100644
index 7d960e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/alignment_of.hpp
+++ /dev/null
@@ -1,119 +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>
-#include <boost/type_traits/integral_constant.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
-
-template <class T> struct alignment_of : public integral_constant<std::size_t, ::boost::detail::alignment_of_impl<T>::value>{};
-
-// references have to be treated specially, assume
-// that a reference is just a special pointer:
-template <typename T> struct alignment_of<T&> : public alignment_of<T*>{};
-
-#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:
-template<> struct alignment_of<void> : integral_constant<std::size_t, 0>{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template<> struct alignment_of<void const> : integral_constant<std::size_t, 0>{};
-template<> struct alignment_of<void const volatile> : integral_constant<std::size_t, 0>{};
-template<> struct alignment_of<void volatile> : integral_constant<std::size_t, 0>{};
-#endif
-
-} // namespace boost
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-#   pragma warning(pop)
-#endif
-
-#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/alignment_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/alignment_traits.hpp
deleted file mode 100644
index 2ed6934..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/arithmetic_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/arithmetic_traits.hpp
deleted file mode 100644
index e4670e6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/array_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/array_traits.hpp
deleted file mode 100644
index a68ae73..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/broken_compiler_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/broken_compiler_spec.hpp
deleted file mode 100644
index 030840f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/broken_compiler_spec.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.
-
-#ifndef BOOST_TT_BROKEN_SPEC_HPP_INCLUDED
-#define BOOST_TT_BROKEN_SPEC_HPP_INCLUDED
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (boost/type_traits/broken_compiler_spec.hpp) is deprecated")
-#endif
-
-#endif // BOOST_TT_CONFIG_HPP_INCLUDED
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/common_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/common_type.hpp
deleted file mode 100644
index c887a89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/common_type.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_COMMON_TYPE_HPP_INCLUDED
-
-//
-//  Copyright 2015 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/type_traits/decay.hpp>
-#include <boost/type_traits/declval.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(BOOST_NO_CXX11_DECLTYPE)
-#include <boost/type_traits/detail/common_type_impl.hpp>
-#endif
-
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/type_traits/detail/mp_defer.hpp>
-#endif
-
-namespace boost
-{
-
-// variadic common_type
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-template<class... T> struct common_type
-{
-};
-
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template<class... T> using common_type_t = typename common_type<T...>::type;
-
-namespace type_traits_detail
-{
-
-template<class T1, class T2, class... T> using common_type_fold = common_type_t<common_type_t<T1, T2>, T...>;
-
-} // namespace type_traits_detail
-
-template<class T1, class T2, class... T>
-struct common_type<T1, T2, T...>: type_traits_detail::mp_defer<type_traits_detail::common_type_fold, T1, T2, T...>
-{
-};
-
-#else
-
-template<class T1, class T2, class... T>
-struct common_type<T1, T2, T...>: common_type<typename common_type<T1, T2>::type, T...>
-{
-};
-
-#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-#else
-
-template<
-    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 common_type: common_type<typename common_type<T1, T2>::type, T3, T4, T5, T6, T7, T8, T9>
-{
-};
-
-#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-// one argument
-
-template<class T> struct common_type<T>: boost::decay<T>
-{
-};
-
-// two arguments
-
-namespace type_traits_detail
-{
-
-// binary common_type
-
-#if !defined(BOOST_NO_CXX11_DECLTYPE)
-
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-    
-#if !defined(BOOST_MSVC) || BOOST_MSVC > 1800
-
-// internal compiler error on msvc-12.0
-
-template<class T1, class T2> using builtin_common_type = typename boost::decay<decltype( boost::declval<bool>()? boost::declval<T1>(): boost::declval<T2>() )>::type;
-
-template<class T1, class T2> struct common_type_impl: mp_defer<builtin_common_type, T1, T2>
-{
-};
-
-#else
-
-template<class T1, class T2> using builtin_common_type = decltype( boost::declval<bool>()? boost::declval<T1>(): boost::declval<T2>() );
-
-template<class T1, class T2> struct common_type_impl_2: mp_defer<builtin_common_type, T1, T2>
-{
-};
-
-template<class T1, class T2> using decay_common_type = typename boost::decay<typename common_type_impl_2<T1, T2>::type>::type;
-
-template<class T1, class T2> struct common_type_impl: mp_defer<decay_common_type, T1, T2>
-{
-};
-
-#endif // !defined(BOOST_MSVC) || BOOST_MSVC > 1800
-
-#else
-
-template<class T1, class T2> struct common_type_impl: boost::decay<decltype( boost::declval<bool>()? boost::declval<T1>(): boost::declval<T2>() )>
-{
-};
-
-#endif // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#endif // #if !defined(BOOST_NO_CXX11_DECLTYPE)
-
-// decay helper
-
-template<class T1, class T2, class T1d = typename boost::decay<T1>::type, class T2d = typename boost::decay<T2>::type> struct common_type_decay_helper: boost::common_type<T1d, T2d>
-{
-};
-
-template<class T1, class T2> struct common_type_decay_helper<T1, T2, T1, T2>: common_type_impl<T1, T2>
-{
-};
-
-} // type_traits_detail
-
-template<class T1, class T2> struct common_type<T1, T2>: type_traits_detail::common_type_decay_helper<T1, T2>
-{
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/composite_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/composite_traits.hpp
deleted file mode 100644
index 985a4c5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/conditional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/conditional.hpp
deleted file mode 100644
index b7e82db..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/conditional.hpp
+++ /dev/null
@@ -1,20 +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
-
-namespace boost {
-
-template <bool b, class T, class U> struct conditional { typedef T type; };
-template <class T, class U> struct conditional<false, T, U> { typedef U type; };
-
-} // namespace boost
-
-
-#endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/config.hpp
deleted file mode 100644
index 47a0648..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/config.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.
-
-#ifndef BOOST_TT_OLD_CONFIG_HPP_INCLUDED
-#define BOOST_TT_OLD_CONFIG_HPP_INCLUDED
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (boost/type_traits/config.hpp) is deprecated")
-#endif
-
-#endif // BOOST_TT_CONFIG_HPP_INCLUDED
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/conversion_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/conversion_traits.hpp
deleted file mode 100644
index c8e5139..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/copy_cv.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/copy_cv.hpp
deleted file mode 100644
index 1605ca3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/copy_cv.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED
-
-//
-//  Copyright 2015 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/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/conditional.hpp>
-
-namespace boost
-{
-
-template<class T, class U> struct copy_cv
-{
-private:
-
-    typedef typename boost::conditional<boost::is_const<U>::value, typename boost::add_const<T>::type, T>::type CT;
-
-public:
-
-    typedef typename boost::conditional<boost::is_volatile<U>::value, typename boost::add_volatile<CT>::type, CT>::type type;
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/cv_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/cv_traits.hpp
deleted file mode 100644
index 5bd6c4f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/decay.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/decay.hpp
deleted file mode 100644
index 4e81184..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/decay.hpp
+++ /dev/null
@@ -1,43 +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/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/type_traits/remove_cv.hpp>
-
-namespace boost 
-{
-
-   namespace detail
-   {
-
-      template <class T, bool Array, bool Function> struct decay_imp { typedef typename remove_cv<T>::type type; };
-      template <class T> struct decay_imp<T, true, false> { typedef typename remove_bounds<T>::type* type; };
-      template <class T> struct decay_imp<T, false, true> { typedef T* type; };
-
-   }
-
-    template< class T >
-    struct decay
-    {
-    private:
-        typedef typename remove_reference<T>::type Ty;
-    public:
-       typedef typename boost::detail::decay_imp<Ty, boost::is_array<Ty>::value, boost::is_function<Ty>::value>::type type;
-    };
-    
-} // namespace boost
-
-
-#endif // BOOST_TT_DECAY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/declval.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/declval.hpp
deleted file mode 100644
index a050012..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/declval.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//  declval.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_DECLVAL_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-//----------------------------------------------------------------------------//
-
-#include <boost/type_traits/add_rvalue_reference.hpp>
-
-//----------------------------------------------------------------------------//
-//                                                                            //
-//                           C++03 implementation of                          //
-//                   20.2.4 Function template declval [declval]               //
-//                          Written by Vicente J. Botet Escriba               //
-//                                                                            //
-// 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 participates in overloading
-// if the type From can be explicitly converted to type To. For another example
-// see class template common_type (20.9.7.6). -end example ]
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
-    template <typename T>
-    typename add_rvalue_reference<T>::type declval() BOOST_NOEXCEPT; // as unevaluated operand
-
-}  // namespace boost
-
-#endif  // BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/bool_trait_def.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/bool_trait_def.hpp
deleted file mode 100644
index b6b0677..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/bool_trait_def.hpp
+++ /dev/null
@@ -1,179 +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$
-// $Revision$
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (bool_trait_def.hpp) is deprecated")
-#endif
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/type_traits/integral_constant.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
-
-#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_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_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_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) \
-}; \
-/**/
-
-#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) \
-}; \
-/**/
-
-#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) \
-}; \
-/**/
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/bool_trait_undef.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/bool_trait_undef.hpp
deleted file mode 100644
index 4ac61ef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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$
-// $Revision$
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/common_arithmetic_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/common_arithmetic_type.hpp
deleted file mode 100644
index 8c09158..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/common_arithmetic_type.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_ARITHMETIC_TYPE_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_DETAIL_COMMON_ARITHMETIC_TYPE_HPP_INCLUDED
-
-//
-//  Copyright 2015 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>
-
-namespace boost
-{
-
-namespace type_traits_detail
-{
-
-template<int I> struct arithmetic_type;
-
-// Types bool, char, char16_t, char32_t, wchar_t,
-// and the signed and unsigned integer types are
-// collectively called integral types
-
-template<> struct arithmetic_type<1>
-{
-    typedef bool type;
-    typedef char (&result_type) [1];
-};
-
-template<> struct arithmetic_type<2>
-{
-    typedef char type;
-    typedef char (&result_type) [2];
-};
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-
-template<> struct arithmetic_type<3>
-{
-    typedef wchar_t type;
-    typedef char (&result_type) [3];
-};
-
-#endif
-
-// There are five standard signed integer types:
-// “signed char”, “short int”, “int”, “long int”, and “long long int”.
-
-template<> struct arithmetic_type<4>
-{
-    typedef signed char type;
-    typedef char (&result_type) [4];
-};
-
-template<> struct arithmetic_type<5>
-{
-    typedef short type;
-    typedef char (&result_type) [5];
-};
-
-template<> struct arithmetic_type<6>
-{
-    typedef int type;
-    typedef char (&result_type) [6];
-};
-
-template<> struct arithmetic_type<7>
-{
-    typedef long type;
-    typedef char (&result_type) [7];
-};
-
-template<> struct arithmetic_type<8>
-{
-    typedef boost::long_long_type type;
-    typedef char (&result_type) [8];
-};
-
-// For each of the standard signed integer types, there exists a corresponding
-// (but different) standard unsigned integer type: “unsigned char”, “unsigned short int”,
-// “unsigned int”, “unsigned long int”, and “unsigned long long int”
-
-template<> struct arithmetic_type<9>
-{
-    typedef unsigned char type;
-    typedef char (&result_type) [9];
-};
-
-template<> struct arithmetic_type<10>
-{
-    typedef unsigned short type;
-    typedef char (&result_type) [10];
-};
-
-template<> struct arithmetic_type<11>
-{
-    typedef unsigned int type;
-    typedef char (&result_type) [11];
-};
-
-template<> struct arithmetic_type<12>
-{
-    typedef unsigned long type;
-    typedef char (&result_type) [12];
-};
-
-template<> struct arithmetic_type<13>
-{
-    typedef boost::ulong_long_type type;
-    typedef char (&result_type) [13];
-};
-
-// There are three floating point types: float, double, and long double.
-
-template<> struct arithmetic_type<14>
-{
-    typedef float type;
-    typedef char (&result_type) [14];
-};
-
-template<> struct arithmetic_type<15>
-{
-    typedef double type;
-    typedef char (&result_type) [15];
-};
-
-template<> struct arithmetic_type<16>
-{
-    typedef long double type;
-    typedef char (&result_type) [16];
-};
-
-#if !defined( BOOST_NO_CXX11_CHAR16_T )
-
-template<> struct arithmetic_type<17>
-{
-    typedef char16_t type;
-    typedef char (&result_type) [17];
-};
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_CHAR32_T )
-
-template<> struct arithmetic_type<18>
-{
-    typedef char32_t type;
-    typedef char (&result_type) [18];
-};
-
-#endif
-
-#if defined( BOOST_HAS_INT128 )
-
-template<> struct arithmetic_type<19>
-{
-    typedef boost::int128_type type;
-    typedef char (&result_type) [19];
-};
-
-template<> struct arithmetic_type<20>
-{
-    typedef boost::uint128_type type;
-    typedef char (&result_type) [20];
-};
-
-#endif
-
-template<class T, class U> class common_arithmetic_type
-{
-private:
-
-    static arithmetic_type<1>::result_type select( arithmetic_type<1>::type );
-    static arithmetic_type<2>::result_type select( arithmetic_type<2>::type );
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-    static arithmetic_type<3>::result_type select( arithmetic_type<3>::type );
-#endif
-    static arithmetic_type<4>::result_type select( arithmetic_type<4>::type );
-    static arithmetic_type<5>::result_type select( arithmetic_type<5>::type );
-    static arithmetic_type<6>::result_type select( arithmetic_type<6>::type );
-    static arithmetic_type<7>::result_type select( arithmetic_type<7>::type );
-    static arithmetic_type<8>::result_type select( arithmetic_type<8>::type );
-    static arithmetic_type<9>::result_type select( arithmetic_type<9>::type );
-    static arithmetic_type<10>::result_type select( arithmetic_type<10>::type );
-    static arithmetic_type<11>::result_type select( arithmetic_type<11>::type );
-    static arithmetic_type<12>::result_type select( arithmetic_type<12>::type );
-    static arithmetic_type<13>::result_type select( arithmetic_type<13>::type );
-    static arithmetic_type<14>::result_type select( arithmetic_type<14>::type );
-    static arithmetic_type<15>::result_type select( arithmetic_type<15>::type );
-    static arithmetic_type<16>::result_type select( arithmetic_type<16>::type );
-
-#if !defined( BOOST_NO_CXX11_CHAR16_T )
-    static arithmetic_type<17>::result_type select( arithmetic_type<17>::type );
-#endif
-
-#if !defined( BOOST_NO_CXX11_CHAR32_T )
-    static arithmetic_type<18>::result_type select( arithmetic_type<18>::type );
-#endif
-
-#if defined( BOOST_HAS_INT128 )
-    static arithmetic_type<19>::result_type select( arithmetic_type<19>::type );
-    static arithmetic_type<20>::result_type select( arithmetic_type<20>::type );
-#endif
-
-    static bool cond();
-
-public:
-
-    typedef typename arithmetic_type< sizeof(select( cond()? T(): U() )) >::type type;
-};
-
-} // namespace type_traits_detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_ARITHMETIC_TYPE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/common_type_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/common_type_impl.hpp
deleted file mode 100644
index 53a634d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/common_type_impl.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMPL_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMPL_HPP_INCLUDED
-
-//
-//  Copyright 2015 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/type_traits/detail/common_arithmetic_type.hpp>
-#include <boost/type_traits/detail/composite_pointer_type.hpp>
-#include <boost/type_traits/detail/composite_member_pointer_type.hpp>
-#include <boost/type_traits/type_identity.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_union.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/conditional.hpp>
-
-namespace boost
-{
-
-namespace type_traits_detail
-{
-
-// the arguments to common_type_impl have already been passed through decay<>
-
-template<class T, class U> struct common_type_impl;
-
-// same type
-
-template<class T> struct common_type_impl<T, T>
-{
-    typedef T type;
-};
-
-// one of the operands is a class type, try conversions in both directions
-
-template<class T, class U> struct ct_class
-{
-    BOOST_STATIC_CONSTANT( bool, ct = boost::is_class<T>::value || boost::is_union<T>::value );
-    BOOST_STATIC_CONSTANT( bool, cu = boost::is_class<U>::value || boost::is_union<U>::value );
-
-    BOOST_STATIC_CONSTANT( bool, value = ct || cu );
-};
-
-template<class T, class U> struct common_type_impl3;
-
-template<class T, class U> struct common_type_class: public boost::conditional<
-
-    boost::is_convertible<T, U>::value && !boost::is_convertible<U, T>::value,
-    boost::type_identity<U>,
-
-    typename boost::conditional<
-
-        boost::is_convertible<U, T>::value && !boost::is_convertible<T, U>::value,
-        boost::type_identity<T>,
-
-        common_type_impl3<T, U>
-    >::type
->::type
-{
-};
-
-template<class T, class U> struct common_type_impl: public boost::conditional<
-    ct_class<T, U>::value,
-    common_type_class<T, U>,
-    common_type_impl3<T, U> >::type
-{
-};
-
-// pointers
-
-template<class T, class U> struct common_type_impl4;
-
-template<class T, class U> struct common_type_impl3: public boost::conditional<
-    boost::is_pointer<T>::value || boost::is_pointer<U>::value,
-    composite_pointer_type<T, U>,
-    common_type_impl4<T, U> >::type
-{
-};
-
-// pointers to members
-
-template<class T, class U> struct common_type_impl5;
-
-template<class T, class U> struct common_type_impl4: public boost::conditional<
-    boost::is_member_pointer<T>::value || boost::is_member_pointer<U>::value,
-    composite_member_pointer_type<T, U>,
-    common_type_impl5<T, U> >::type
-{
-};
-
-// arithmetic types (including class types w/ conversions to arithmetic and enums)
-
-template<class T, class U> struct common_type_impl5: public common_arithmetic_type<T, U>
-{
-};
-
-} // namespace type_traits_detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMPL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/composite_member_pointer_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/composite_member_pointer_type.hpp
deleted file mode 100644
index a747ee4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/composite_member_pointer_type.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_MEMBER_POINTER_TYPE_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_MEMBER_POINTER_TYPE_HPP_INCLUDED
-
-//
-//  Copyright 2015 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/type_traits/detail/composite_pointer_type.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/conditional.hpp>
-#include <boost/config.hpp>
-#include <cstddef>
-
-namespace boost
-{
-
-namespace type_traits_detail
-{
-
-template<class T, class U> struct composite_member_pointer_type;
-
-// nullptr_t
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) )
-
-template<class C, class T> struct composite_member_pointer_type<T C::*, decltype(nullptr)>
-{
-    typedef T C::* type;
-};
-
-template<class C, class T> struct composite_member_pointer_type<decltype(nullptr), T C::*>
-{
-    typedef T C::* type;
-};
-
-template<> struct composite_member_pointer_type<decltype(nullptr), decltype(nullptr)>
-{
-    typedef decltype(nullptr) type;
-};
-
-#else
-
-template<class C, class T> struct composite_member_pointer_type<T C::*, std::nullptr_t>
-{
-    typedef T C::* type;
-};
-
-template<class C, class T> struct composite_member_pointer_type<std::nullptr_t, T C::*>
-{
-    typedef T C::* type;
-};
-
-template<> struct composite_member_pointer_type<std::nullptr_t, std::nullptr_t>
-{
-    typedef std::nullptr_t type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class C1, class C2> struct common_member_class;
-
-template<class C> struct common_member_class<C, C>
-{
-    typedef C type;
-};
-
-template<class C1, class C2> struct common_member_class
-{
-    typedef typename boost::conditional<
-
-        boost::is_base_of<C1, C2>::value,
-        C2,
-        typename boost::conditional<boost::is_base_of<C2, C1>::value, C1, void>::type
-
-    >::type type;
-};
-
-//This indirection avoids compilation errors on some older 
-//compilers like MSVC 7.1
-template<class CT, class CB>
-struct common_member_class_pointer_to_member
-{
-    typedef CT CB::* type;
-};
-
-template<class C1, class T1, class C2, class T2> struct composite_member_pointer_type<T1 C1::*, T2 C2::*>
-{
-private:
-
-    typedef typename composite_pointer_type<T1*, T2*>::type CPT;
-    typedef typename boost::remove_pointer<CPT>::type CT;
-
-    typedef typename common_member_class<C1, C2>::type CB;
-
-public:
-
-    typedef typename common_member_class_pointer_to_member<CT, CB>::type type;
-};
-
-} // namespace type_traits_detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_MEMBER_POINTER_TYPE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/composite_pointer_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/composite_pointer_type.hpp
deleted file mode 100644
index ae21e18..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/composite_pointer_type.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_POINTER_TYPE_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_POINTER_TYPE_HPP_INCLUDED
-
-//
-//  Copyright 2015 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/type_traits/copy_cv.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/config.hpp>
-#include <cstddef>
-
-namespace boost
-{
-
-namespace type_traits_detail
-{
-
-template<class T, class U> struct composite_pointer_type;
-
-// same type
-
-template<class T> struct composite_pointer_type<T*, T*>
-{
-    typedef T* type;
-};
-
-// nullptr_t
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) )
-
-template<class T> struct composite_pointer_type<T*, decltype(nullptr)>
-{
-    typedef T* type;
-};
-
-template<class T> struct composite_pointer_type<decltype(nullptr), T*>
-{
-    typedef T* type;
-};
-
-template<> struct composite_pointer_type<decltype(nullptr), decltype(nullptr)>
-{
-    typedef decltype(nullptr) type;
-};
-
-#else
-
-template<class T> struct composite_pointer_type<T*, std::nullptr_t>
-{
-    typedef T* type;
-};
-
-template<class T> struct composite_pointer_type<std::nullptr_t, T*>
-{
-    typedef T* type;
-};
-
-template<> struct composite_pointer_type<std::nullptr_t, std::nullptr_t>
-{
-    typedef std::nullptr_t type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_CXX11_NULLPTR )
-
-namespace detail
-{
-
-template<class T, class U> struct has_common_pointee
-{
-private:
-
-    typedef typename boost::remove_cv<T>::type T2;
-    typedef typename boost::remove_cv<U>::type U2;
-
-public:
-
-    BOOST_STATIC_CONSTANT( bool, value =
-        (boost::is_same<T2, U2>::value)
-        || boost::is_void<T2>::value
-        || boost::is_void<U2>::value
-        || (boost::is_base_of<T2, U2>::value)
-        || (boost::is_base_of<U2, T2>::value) );
-};
-
-template<class T, class U> struct common_pointee
-{
-private:
-
-    typedef typename boost::remove_cv<T>::type T2;
-    typedef typename boost::remove_cv<U>::type U2;
-
-public:
-
-    typedef typename boost::conditional<
-
-        boost::is_same<T2, U2>::value || boost::is_void<T2>::value || boost::is_base_of<T2, U2>::value,
-        typename boost::copy_cv<T, U>::type,
-        typename boost::copy_cv<U, T>::type
-
-    >::type type;
-};
-
-template<class T, class U> struct composite_pointer_impl
-{
-private:
-
-    typedef typename boost::remove_cv<T>::type T2;
-    typedef typename boost::remove_cv<U>::type U2;
-
-public:
-
-    typedef typename boost::copy_cv<typename boost::copy_cv<typename composite_pointer_type<T2, U2>::type const, T>::type, U>::type type;
-};
-
-//Old compilers like MSVC-7.1 have problems using boost::conditional in
-//composite_pointer_type. Partially specializing on has_common_pointee<T, U>::value
-//seems to make their life easier
-template<class T, class U, bool = has_common_pointee<T, U>::value >
-struct composite_pointer_type_dispatch
-   : common_pointee<T, U>
-{};
-
-template<class T, class U>
-struct composite_pointer_type_dispatch<T, U, false>
-   : composite_pointer_impl<T, U>
-{};
-
-
-} // detail
-
-
-template<class T, class U> struct composite_pointer_type<T*, U*>
-{
-    typedef typename detail::composite_pointer_type_dispatch<T, U>::type* type;
-};
-
-} // namespace type_traits_detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_POINTER_TYPE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/config.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/config.hpp
deleted file mode 100644
index ebb1dd6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/config.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_CONFIG_HPP_INCLUDED
-#define BOOST_TT_CONFIG_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-#include <boost/version.hpp>
-#include <boost/detail/workaround.hpp>
-
-//
-// whenever we have a conversion function with ellipses
-// 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(__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_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
-
-//
-// Macros that have been deprecated, defined here for backwards compatibility:
-//
-#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(x)
-#define BOOST_TT_BROKEN_COMPILER_SPEC(x)
-
-#endif // BOOST_TT_CONFIG_HPP_INCLUDED
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_binary_operator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_binary_operator.hpp
deleted file mode 100644
index 039a6bb..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_binary_operator.hpp
+++ /dev/null
@@ -1,222 +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/detail/yes_no_type.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>
-
-// 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__)
-#   pragma GCC system_header
-#elif defined(BOOST_MSVC)
-#   pragma warning ( push )
-#   pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913)
-#   if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#       pragma warning ( disable : 6334)
-#   endif
-#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 s_check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_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 = (operator_exists < Lhs, Rhs >::value && operator_returns_Ret < Lhs, Rhs, Ret, operator_returns_void < Lhs, Rhs >::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
-template <class Lhs, class Rhs=Lhs, class Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care>
-struct BOOST_TT_TRAIT_NAME : public integral_constant<bool, (::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
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_postfix_operator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_postfix_operator.hpp
deleted file mode 100644
index 3e686f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_postfix_operator.hpp
+++ /dev/null
@@ -1,195 +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/detail/yes_no_type.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>
-
-// avoid warnings
-#if defined(__GNUC__)
-#   pragma GCC system_header
-#elif defined(BOOST_MSVC)
-#   pragma warning ( push )
-#   pragma warning ( disable : 4244 4913)
-#   if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#       pragma warning ( disable : 6334)
-#   endif
-#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 s_check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_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 = (operator_exists < Lhs >::value && operator_returns_Ret < Lhs, Ret, operator_returns_void < Lhs >::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
-template <class Lhs, class Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care>
-struct BOOST_TT_TRAIT_NAME : public integral_constant<bool, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _impl)::trait_impl< Lhs, Ret >::value)>{};
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#   pragma warning ( pop )
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_prefix_operator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_prefix_operator.hpp
deleted file mode 100644
index d4574fc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/has_prefix_operator.hpp
+++ /dev/null
@@ -1,205 +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/detail/yes_no_type.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>
-
-// 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__)
-#   pragma GCC system_header
-#elif defined(BOOST_MSVC)
-#   pragma warning ( push )
-#   pragma warning ( disable : 4146 4804 4913 4244)
-#   if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#       pragma warning ( disable : 6334)
-#   endif
-#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 s_check(has_operator); // this version is preferred when operator exists
-   static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise
-
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_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 = (operator_exists < Rhs >::value && operator_returns_Ret < Rhs, Ret, operator_returns_void < Rhs >::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
-template <class Rhs, class Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care>
-struct BOOST_TT_TRAIT_NAME : public integral_constant<bool, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _impl)::trait_impl < Rhs, Ret >::value)>{};
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#   pragma warning ( pop )
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_and.hpp
deleted file mode 100644
index 3ccb03e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_and.hpp
+++ /dev/null
@@ -1,42 +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>
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (ice_and.hpp) is deprecated")
-#endif
-
-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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_eq.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_eq.hpp
deleted file mode 100644
index 5908f81..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_eq.hpp
+++ /dev/null
@@ -1,43 +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>
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (ice_eq.hpp) is deprecated")
-#endif
-
-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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_not.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_not.hpp
deleted file mode 100644
index e095be9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_not.hpp
+++ /dev/null
@@ -1,38 +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>
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (ice_not.hpp) is deprecated")
-#endif
-
-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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_or.hpp
deleted file mode 100644
index ea523c8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/ice_or.hpp
+++ /dev/null
@@ -1,41 +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>
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (ice_or.hpp) is deprecated")
-#endif
-
-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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_function_ptr_helper.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_function_ptr_helper.hpp
deleted file mode 100644
index 3538e40..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_function_ptr_helper.hpp
+++ /dev/null
@@ -1,176 +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
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-//
-// Hide these #include from dependency analysers as
-// these are required in maintenance mode only:
-//
-#define PP1 <boost/preprocessor/iterate.hpp>
-#include PP1
-#undef PP1
-#define PP1 <boost/preprocessor/enum_params.hpp>
-#include PP1
-#undef PP1
-#define PP1 <boost/preprocessor/comma_if.hpp>
-#include PP1
-#undef PP1
-#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); };
-template <class R >
-struct is_function_ptr_helper<R (*)( ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-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); };
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_function_ptr_tester.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_function_ptr_tester.hpp
deleted file mode 100644
index 4fe88e8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_function_ptr_tester.hpp
+++ /dev/null
@@ -1,449 +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>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-//
-// Hide include dependencies from analysers since they're
-// only require in maintenance mode:
-//
-#define PP1 <boost/preprocessor/iterate.hpp>
-#define PP2 <boost/preprocessor/enum_params.hpp>
-#define PP3 <boost/preprocessor/comma_if.hpp>
-#include PP1
-#include PP2
-#include PP3
-#undef PP1
-#undef PP2
-#undef PP3
-#endif
-
-namespace boost {
-namespace type_traits {
-
-// Note it is acceptable 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 (*)());
-template <class R >
-yes_type is_function_ptr_tester(R (*)( ...));
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R >
-yes_type is_function_ptr_tester(R (__stdcall*)());
-#ifndef _MANAGED
-template <class R >
-yes_type is_function_ptr_tester(R (__fastcall*)());
-#endif
-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));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (*)( T0 ...));
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-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));
-#endif
-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));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 ...));
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-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));
-#endif
-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));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 ...));
-#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));
-#ifndef _MANAGED
-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));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 ...));
-#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));
-#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));
-#endif
-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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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));
-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 ...));
-#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));
-#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));
-#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));
-#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)));
-@#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)));
-@#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)));
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
deleted file mode 100644
index 5698a74..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
+++ /dev/null
@@ -1,723 +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)
-//
-// Maintenance mode, hide include dependencies
-// from trackers:
-//
-#define PPI <boost/preprocessor/iterate.hpp>
-#include PPI
-#undef PPI
-#define PPI <boost/preprocessor/enum_params.hpp>
-#include PPI
-#undef PPI
-#define PPI <boost/preprocessor/comma_if.hpp>
-#include PPI
-#undef PPI
-#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); };
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#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); };
-
-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
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-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); };
-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); };
-
-#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); };
-
-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
-template <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); };
-template <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); };
-
-#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); };
-
-template <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
-template <class R, 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); };
-template <class R, 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); };
-
-#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); };
-
-template <class R, 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
-template <class R, class T , 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); };
-template <class R, class T , 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); };
-
-#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); };
-
-template <class R, class T , 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
-template <class R, class T , class T0 , 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); };
-template <class R, class T , class T0 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , 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
-template <class R, class T , class T0 , class T1 , 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); };
-template <class R, class T , class T0 , class T1 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , 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
-template <class R, class T , class T0 , class T1 , class T2 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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); };
-
-#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); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
deleted file mode 100644
index 5e31693..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
+++ /dev/null
@@ -1,1800 +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/detail/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-//
-// Maintentance mode, hide include dependencies
-// from dependency trackers:
-//
-#define PPI <boost/preprocessor/iterate.hpp>
-#include PPI
-#undef PPI
-#define PPI <boost/preprocessor/enum_params.hpp>
-#include PPI
-#undef PPI
-#define <boost/preprocessor/comma_if.hpp>
-#include PPI
-#undef
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , 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);
-#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);
-
-#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);
-
-#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);
-
-#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);
-
-@#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);
-
-@#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);
-
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/mp_defer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/mp_defer.hpp
deleted file mode 100644
index f3beeb2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/mp_defer.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_DETAIL_MP_DEFER_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_DETAIL_MP_DEFER_HPP_INCLUDED
-
-//
-//  Copyright 2015 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/type_traits/integral_constant.hpp>
-#include <boost/type_traits/conditional.hpp>
-
-namespace boost
-{
-
-namespace type_traits_detail
-{
-
-// mp_valid
-// implementation by Bruno Dutra (by the name is_evaluable)
-
-template<template<class...> class F, class... T>
-struct mp_valid_impl
-{
-    template<template<class...> class G, class = G<T...>>
-    static boost::true_type check_s(int);
-
-    template<template<class...> class>
-    static boost::false_type check_s(...);
-
-    using type = decltype(check_s<F>(0));
-};
-
-template<template<class...> class F, class... T>
-using mp_valid = typename mp_valid_impl<F, T...>::type;
-
-// mp_defer
-
-struct mp_empty
-{
-};
-
-template<template<class...> class F, class... T> struct mp_defer_impl
-{
-    using type = F<T...>;
-};
-
-template<template<class...> class F, class... T> using mp_defer = typename boost::conditional<mp_valid<F, T...>::value, mp_defer_impl<F, T...>, mp_empty>::type;
-
-} // namespace type_traits_detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_MP_DEFER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/template_arity_spec.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/template_arity_spec.hpp
deleted file mode 100644
index 36ea96d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/template_arity_spec.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)
-
-//
-// This header is deprecated and no longer used by type_traits:
-//
-#if defined(__GNUC__) || defined(_MSC_VER)
-# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
-#endif
-
-#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/yes_no_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/detail/yes_no_type.hpp
deleted file mode 100644
index f583730..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/extent.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/extent.hpp
deleted file mode 100644
index dfb3c54..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/extent.hpp
+++ /dev/null
@@ -1,138 +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
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/detail/workaround.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_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>
-{
-};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/floating_point_promotion.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/floating_point_promotion.hpp
deleted file mode 100644
index 993e14e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/floating_point_promotion.hpp
+++ /dev/null
@@ -1,20 +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
-
-namespace boost {
-
-   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; };
-
-}
-
-#endif // #ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/function_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/function_traits.hpp
deleted file mode 100644
index 26d7e05..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/function_traits.hpp
+++ /dev/null
@@ -1,174 +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 {
-
-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>
-{
-};
-
-}
-
-#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_and.hpp
deleted file mode 100644
index a16c71a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-          )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_and_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_and_assign.hpp
deleted file mode 100644
index 01e25e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         (\
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-          )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_or.hpp
deleted file mode 100644
index 6e76929..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-          )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_or_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_or_assign.hpp
deleted file mode 100644
index 891c39c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-          )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_xor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_xor.hpp
deleted file mode 100644
index 05173ac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_xor_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_bit_xor_assign.hpp
deleted file mode 100644
index 3866b7a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-          )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_complement.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_complement.hpp
deleted file mode 100644
index d323e12..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* pointer */\
-      ::boost::is_pointer< Rhs_noref >::value || \
-      /* fundamental non integral */\
-      (\
-         ::boost::is_fundamental< Rhs_noref >::value && \
-         (!  ::boost::is_integral< 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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_dereference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_dereference.hpp
deleted file mode 100644
index 1e514cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value\
-      ) || \
-      ::boost::is_fundamental< Rhs_nocv >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_divides.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_divides.hpp
deleted file mode 100644
index 869e907..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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::is_pointer< Lhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-         )\
-      )||\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_divides_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_divides_assign.hpp
deleted file mode 100644
index 1a8e3c1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-          )\
-      )||\
-      /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_equal_to.hpp
deleted file mode 100644
index d80a55d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (! \
-            (\
-               ::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\
-            )\
-         )\
-      )\
-      )
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_greater.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_greater.hpp
deleted file mode 100644
index 32e0a12..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (! \
-            ( \
-               ::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\
-            )\
-         )\
-      )\
-   )
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_greater_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_greater_equal.hpp
deleted file mode 100644
index a933a6b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (! \
-            ( \
-               ::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\
-            )\
-         )\
-      )\
-   )
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_left_shift.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_left_shift.hpp
deleted file mode 100644
index e95c12a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_left_shift_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_left_shift_assign.hpp
deleted file mode 100644
index 74e0df9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_less.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_less.hpp
deleted file mode 100644
index 0eefcd2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (! \
-            ( \
-               ::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\
-            )\
-         )\
-      )\
-      )
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_less_equal.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_less_equal.hpp
deleted file mode 100644
index 4725bbd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (! \
-            ( \
-               ::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\
-            )\
-         )\
-      )\
-      )
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_and.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_and.hpp
deleted file mode 100644
index 3bb1733..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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::is_pointer< Lhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value && \
-            (!  ::boost::is_convertible< Rhs_nocv, bool >::value )\
-          )\
-      )||\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Lhs_nocv >::value && \
-            (!  ::boost::is_convertible< Lhs_nocv, bool >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_not.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_not.hpp
deleted file mode 100644
index d36858e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_not.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_LOGICAL_NOT_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
-
-#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40800)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-value"
-#endif
-
-#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
-
-#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40800)
-#pragma GCC diagnostic pop
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_or.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_logical_or.hpp
deleted file mode 100644
index a188726..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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::is_pointer< Lhs_noref >::value && \
-         (\
-            ::boost::is_fundamental< Rhs_nocv >::value && \
-            (!  ::boost::is_convertible< Rhs_nocv, bool >::value )\
-          )\
-      )||\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (\
-            ::boost::is_fundamental< Lhs_nocv >::value && \
-            (!  ::boost::is_convertible< Lhs_nocv, bool >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_minus.hpp
deleted file mode 100644
index 5e13c16..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         (!  ::boost::is_integral< Rhs_noref >::value )\
-      ) || \
-      /* Lhs==void* and (Rhs==fundamental or Rhs==pointer) */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_void< Lhs_noptr >::value && \
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-          )\
-      ) || \
-      /* Rhs==void* and (Lhs==fundamental or Lhs==pointer) */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value && \
-         (\
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::value\
-          )\
-      ) ||\
-      /* Lhs=fundamental and Rhs=pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      ) ||\
-      /* two different pointers */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (!  ::boost::is_same< Lhs_nocv, Rhs_nocv >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_minus_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_minus_assign.hpp
deleted file mode 100644
index b53474e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         (!  ::boost::is_integral< Rhs_noref >::value )\
-      ) || \
-      /* Lhs==void* and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_void< Lhs_noptr >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==void* and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs=fundamental and Rhs=pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      ) || \
-      /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\
-      (\
-         (\
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::value\
-         ) && \
-         (\
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-          ) && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_modulus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_modulus.hpp
deleted file mode 100644
index 24a815f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         (\
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_modulus_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_modulus_assign.hpp
deleted file mode 100644
index 5e3e83f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_multiplies.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_multiplies.hpp
deleted file mode 100644
index 591a0ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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::is_pointer< Lhs_noref >::value && \
-         (\
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-        )\
-      )||\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (\
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_multiplies_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_multiplies_assign.hpp
deleted file mode 100644
index b24f879..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-         )\
-      )||\
-      /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ( \
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_negate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_negate.hpp
deleted file mode 100644
index 452e54a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_new_operator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_new_operator.hpp
deleted file mode 100644
index 4def872..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_new_operator.hpp
+++ /dev/null
@@ -1,147 +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/integral_constant.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(new) 
-#  if BOOST_WORKAROUND(BOOST_MSVC, >= 1310)
-#     define BOOST_TT_AUX_MACRO_NEW_DEFINED
-#     pragma push_macro("new")
-#     undef new
-#  else
-#     error "Sorry but you can't include this header if 'new' is defined as a macro."
-#  endif
-#endif
-
-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 = 
-            (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))
-        );
-    };
-} // namespace detail
-
-template <class T> struct has_new_operator : public integral_constant<bool, ::boost::detail::has_new_operator_impl<T>::value>{};
-
-} // namespace boost
-
-#if defined(BOOST_TT_AUX_MACRO_NEW_DEFINED)
-#  pragma pop_macro("new")
-#endif
-
-#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_not_equal_to.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_not_equal_to.hpp
deleted file mode 100644
index c2b6705..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value && \
-         (! \
-            (\
-               ::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\
-            )\
-         )\
-      )\
-      )
-
-
-#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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_assign.hpp
deleted file mode 100644
index 65fbeef..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_assign.hpp
+++ /dev/null
@@ -1,83 +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/integral_constant.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#if !defined(BOOST_HAS_NOTHROW_ASSIGN) || defined(BOOST_MSVC) || defined(BOOST_INTEL)
-#include <boost/type_traits/has_trivial_assign.hpp>
-#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <boost/type_traits/declval.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_assignable.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#endif
-#endif
-#if defined(__GNUC__) || defined(__SUNPRO_CC) || defined(__clang__)
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_assignable.hpp>
-#include <boost/type_traits/is_array.hpp>
-#ifdef BOOST_INTEL
-#include <boost/type_traits/is_pod.hpp>
-#endif
-#endif
-
-namespace boost {
-
-#if !defined(BOOST_HAS_NOTHROW_ASSIGN) && !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-   namespace detail
-   {
-      template <class T, bool b1, bool b2> struct has_nothrow_assign_imp{ static const bool value = false; };
-      template <class T>          struct has_nothrow_assign_imp<T, false, true>{ static const bool value = noexcept(boost::declval<typename add_reference<T>::type>() = boost::declval<typename add_reference<T const>::type>()); };
-      template <class T, std::size_t N> struct has_nothrow_assign_imp<T[N], false, true>{ static const bool value = has_nothrow_assign_imp<T, false, true>::value; };
-      template <class T>          struct has_nothrow_assign_imp<T[], false, true>{ static const bool value = has_nothrow_assign_imp<T, false, true>::value; };
-   }
-
-#endif
-
-   template <class T>
-   struct has_nothrow_assign : public integral_constant < bool,
-#ifndef BOOST_HAS_NOTHROW_ASSIGN
-#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-      // Portable C++11 version:
-      detail::has_nothrow_assign_imp<T, 
-      (is_const<typename remove_reference<T>::type>::value || is_volatile<typename remove_reference<T>::type>::value || is_reference<T>::value), 
-      is_assignable<typename add_reference<T>::type, typename add_reference<const T>::type>::value
-      >::value
-#else
-      ::boost::has_trivial_assign<T>::value
-#endif
-#else
-      BOOST_HAS_NOTHROW_ASSIGN(T)
-#endif
-   > {};
-
-template <class T, std::size_t N> struct has_nothrow_assign <T[N]> : public has_nothrow_assign<T> {};
-template <> struct has_nothrow_assign<void> : public false_type{};
-template <class T> struct has_nothrow_assign<T volatile> : public false_type{};
-template <class T> struct has_nothrow_assign<T&> : public false_type{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-template <class T> struct has_nothrow_assign<T&&> : public false_type{};
-#endif
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct has_nothrow_assign<void const> : public false_type{};
-template <> struct has_nothrow_assign<void const volatile> : public false_type{};
-template <> struct has_nothrow_assign<void volatile> : public false_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_constructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_constructor.hpp
deleted file mode 100644
index a71d42e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_constructor.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_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
-
-#if defined(BOOST_MSVC) || defined(BOOST_INTEL)
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#endif
-#if defined(__GNUC__ ) || defined(__SUNPRO_CC) || defined(__clang__)
-#include <boost/type_traits/is_default_constructible.hpp>
-#endif
-
-namespace boost {
-
-template <class T> struct has_nothrow_constructor : public integral_constant<bool, BOOST_HAS_NOTHROW_CONSTRUCTOR(T)>{};
-
-#elif !defined(BOOST_NO_CXX11_NOEXCEPT)
-
-#include <boost/type_traits/is_default_constructible.hpp>
-#include <boost/type_traits/remove_all_extents.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4197) // top-level volatile in cast is ignored
-#endif
-
-namespace boost { namespace detail{
-
-   template <class T, bool b> struct has_nothrow_constructor_imp : public boost::integral_constant<bool, false>{};
-   template <class T> struct has_nothrow_constructor_imp<T, true> : public boost::integral_constant<bool, noexcept(T())>{};
-   template <class T, std::size_t N> struct has_nothrow_constructor_imp<T[N], true> : public has_nothrow_constructor_imp<T, true> {};
-}
-
-template <class T> struct has_nothrow_constructor : public detail::has_nothrow_constructor_imp<T, is_default_constructible<T>::value>{};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#else
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-
-namespace boost {
-
-template <class T> struct has_nothrow_constructor : public ::boost::has_trivial_constructor<T> {};
-
-#endif
-
-template<> struct has_nothrow_constructor<void> : public false_type {};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template<> struct has_nothrow_constructor<void const> : public false_type{};
-template<> struct has_nothrow_constructor<void const volatile> : public false_type{};
-template<> struct has_nothrow_constructor<void volatile> : public false_type{};
-#endif
-
-template <class T> struct has_nothrow_default_constructor : public has_nothrow_constructor<T>{};
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_copy.hpp
deleted file mode 100644
index 0d9bb18..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_copy.hpp
+++ /dev/null
@@ -1,82 +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/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-#ifdef BOOST_HAS_NOTHROW_COPY
-
-#if defined(BOOST_CLANG) || defined(__GNUC__) || defined(__ghs__) || defined(__CODEGEARC__) || defined(__SUNPRO_CC)
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_copy_constructible.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_array.hpp>
-#ifdef BOOST_INTEL
-#include <boost/type_traits/is_pod.hpp>
-#endif
-#elif defined(BOOST_MSVC) || defined(BOOST_INTEL)
-#include <boost/type_traits/has_trivial_copy.hpp>
-#include <boost/type_traits/is_array.hpp>
-#ifdef BOOST_INTEL
-#include <boost/type_traits/add_lvalue_reference.hpp>
-#include <boost/type_traits/add_const.hpp>
-#endif
-#endif
-
-namespace boost {
-
-template <class T> struct has_nothrow_copy_constructor : public integral_constant<bool, BOOST_HAS_NOTHROW_COPY(T)>{};
-
-#elif !defined(BOOST_NO_CXX11_NOEXCEPT)
-
-#include <boost/type_traits/declval.hpp>
-#include <boost/type_traits/is_copy_constructible.hpp>
-
-namespace boost{
-
-namespace detail{
-
-template <class T, bool b>
-struct has_nothrow_copy_constructor_imp : public boost::integral_constant<bool, false>{};
-template <class T>
-struct has_nothrow_copy_constructor_imp<T, true> : public boost::integral_constant<bool, noexcept(T(boost::declval<const T&>()))>{};
-
-}
-
-template <class T> struct has_nothrow_copy_constructor : public detail::has_nothrow_copy_constructor_imp<T, boost::is_copy_constructible<T>::value>{};
-
-#else
-
-#include <boost/type_traits/has_trivial_copy.hpp>
-
-namespace boost{
-
-template <class T> struct has_nothrow_copy_constructor : public integral_constant<bool, ::boost::has_trivial_copy<T>::value>{};
-
-#endif
-
-template <> struct has_nothrow_copy_constructor<void> : public false_type{};
-template <class T> struct has_nothrow_copy_constructor<T volatile> : public false_type{};
-template <class T> struct has_nothrow_copy_constructor<T&> : public false_type{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 
-template <class T> struct has_nothrow_copy_constructor<T&&> : public false_type{};
-#endif
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct has_nothrow_copy_constructor<void const> : public false_type{};
-template <> struct has_nothrow_copy_constructor<void volatile> : public false_type{};
-template <> struct has_nothrow_copy_constructor<void const volatile> : public false_type{};
-#endif
-
-template <class T> struct has_nothrow_copy : public has_nothrow_copy_constructor<T>{};
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_destructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_destructor.hpp
deleted file mode 100644
index 273eb9f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_nothrow_destructor.hpp
+++ /dev/null
@@ -1,47 +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>
-
-#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(__SUNPRO_CC) && !defined(BOOST_MSVC)
-
-#include <boost/type_traits/declval.hpp>
-#include <boost/type_traits/is_destructible.hpp>
-
-namespace boost{
-
-   namespace detail{
-
-      template <class T, bool b>
-      struct has_nothrow_destructor_imp : public boost::integral_constant<bool, false>{};
-      template <class T>
-      struct has_nothrow_destructor_imp<T, true> : public boost::integral_constant<bool, noexcept(boost::declval<T*&>()->~T())>{};
-
-   }
-
-   template <class T> struct has_nothrow_destructor : public detail::has_nothrow_destructor_imp<T, boost::is_destructible<T>::value>{};
-   template <class T, std::size_t N> struct has_nothrow_destructor<T[N]> : public has_nothrow_destructor<T>{};
-   template <class T> struct has_nothrow_destructor<T&> : public integral_constant<bool, false>{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 
-   template <class T> struct has_nothrow_destructor<T&&> : public integral_constant<bool, false>{};
-#endif
-}
-#else
-
-namespace boost {
-
-template <class T> struct has_nothrow_destructor : public ::boost::has_trivial_destructor<T> {};
-
-} // namespace boost
-
-#endif
-
-#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_operator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_operator.hpp
deleted file mode 100644
index c97a90f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_plus.hpp
deleted file mode 100644
index 2d79328..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      ) || \
-      /* Lhs==void* and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_void< Lhs_noptr >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==void* and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         (!  ::boost::is_integral< Rhs_noref >::value )\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental and Lhs!=integral */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         (!  ::boost::is_integral< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_plus_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_plus_assign.hpp
deleted file mode 100644
index 5ef6f23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      ) || \
-      /* Lhs==void* and Rhs==fundamental */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_void< Lhs_noptr >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value\
-      ) || \
-      /* Rhs==void* and Lhs==fundamental */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value\
-      ) || \
-      /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         (!  ::boost::is_integral< Rhs_noref >::value )\
-      ) || \
-      /* Rhs==pointer and Lhs==fundamental and Lhs!=bool */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         (!  ::boost::is_same< Lhs_nocv, bool >::value )\
-      ) || \
-      /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\
-      (\
-         (\
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::value\
-          ) && \
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-          ) && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_post_decrement.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_post_decrement.hpp
deleted file mode 100644
index e3f98ff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_post_decrement.hpp
+++ /dev/null
@@ -1,44 +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
-
-#include <boost/type_traits/is_array.hpp>
-
-#define BOOST_TT_TRAIT_NAME has_post_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
-   (\
-      /* bool */\
-      ::boost::is_same< bool, Lhs_nocv >::value || \
-      /* void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_void< Lhs_noptr >::value\
-      ) || \
-      /* (fundamental or pointer) and const */\
-      (\
-         ( \
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::value\
-         ) && \
-         ::boost::is_const< Lhs_noref >::value\
-      )||\
-      /* Arrays */ \
-      ::boost::is_array<Lhs_noref>::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_post_increment.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_post_increment.hpp
deleted file mode 100644
index 3861a2b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_post_increment.hpp
+++ /dev/null
@@ -1,44 +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
-
-#include <boost/type_traits/is_array.hpp>
-
-#define BOOST_TT_TRAIT_NAME has_post_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
-   (\
-      /* bool */\
-      ::boost::is_same< bool, Lhs_nocv >::value || \
-      /* void* */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_void< Lhs_noptr >::value\
-      ) || \
-      /* (fundamental or pointer) and const */\
-      (\
-         ( \
-            ::boost::is_fundamental< Lhs_nocv >::value || \
-            ::boost::is_pointer< Lhs_noref >::value\
-         ) && \
-         ::boost::is_const< Lhs_noref >::value\
-      )||\
-      /* Arrays */ \
-      ::boost::is_array<Lhs_noref>::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_pre_decrement.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_pre_decrement.hpp
deleted file mode 100644
index 7ef0783..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_pre_decrement.hpp
+++ /dev/null
@@ -1,44 +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
-
-#include <boost/type_traits/is_array.hpp>
-
-#define BOOST_TT_TRAIT_NAME has_pre_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
-   (\
-      /* bool */\
-      ::boost::is_same< bool, Rhs_nocv >::value || \
-      /* void* */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value\
-      ) || \
-      /* (fundamental or pointer) and const */\
-      (\
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-         ) && \
-         ::boost::is_const< Rhs_noref >::value\
-      )||\
-      /* Arrays */ \
-      ::boost::is_array<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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_pre_increment.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_pre_increment.hpp
deleted file mode 100644
index c4c9734..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_pre_increment.hpp
+++ /dev/null
@@ -1,44 +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
-
-#include <boost/type_traits/is_array.hpp>
-
-#define BOOST_TT_TRAIT_NAME has_pre_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
-   (\
-      /* bool */\
-      ::boost::is_same< bool, Rhs_nocv >::value || \
-      /* void* */\
-      (\
-         ::boost::is_pointer< Rhs_noref >::value && \
-         ::boost::is_void< Rhs_noptr >::value\
-      ) || \
-      /* (fundamental or pointer) and const */\
-      (\
-         ( \
-            ::boost::is_fundamental< Rhs_nocv >::value || \
-            ::boost::is_pointer< Rhs_noref >::value\
-         ) && \
-         ::boost::is_const< Rhs_noref >::value\
-      )||\
-      /* Arrays */ \
-      ::boost::is_array<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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_right_shift.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_right_shift.hpp
deleted file mode 100644
index 5562911..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_right_shift_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_right_shift_assign.hpp
deleted file mode 100644
index 0e2c263..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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\
-   (\
-      /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ( \
-            (!  ::boost::is_integral< Lhs_noref >::value ) || \
-            (!  ::boost::is_integral< Rhs_noref >::value )\
-         )\
-      )||\
-      /* Lhs==fundamental and Rhs==pointer */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Rhs==fundamental and Lhs==pointer */\
-      (\
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_pointer< Lhs_noref >::value\
-      )||\
-      /* Lhs==pointer and Rhs==pointer */\
-      (\
-         ::boost::is_pointer< Lhs_noref >::value && \
-         ::boost::is_pointer< Rhs_noref >::value\
-      )||\
-      /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
-      (\
-         ::boost::is_fundamental< Lhs_nocv >::value && \
-         ::boost::is_fundamental< Rhs_nocv >::value && \
-         ::boost::is_const< Lhs_noref >::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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_assign.hpp
deleted file mode 100644
index a434dae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_assign.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_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/detail/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-#if !defined(BOOST_HAS_TRIVIAL_ASSIGN) || defined(BOOST_MSVC) || defined(__GNUC__) || defined(BOOST_INTEL) || defined(__SUNPRO_CC) || defined(__clang__)
-#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/is_assignable.hpp>
-#endif
-
-namespace boost {
-
-   template <typename T>
-   struct has_trivial_assign : public integral_constant < bool,
-#ifdef BOOST_HAS_TRIVIAL_ASSIGN
-      BOOST_HAS_TRIVIAL_ASSIGN(T)
-#else
-      ::boost::is_pod<T>::value && !::boost::is_const<T>::value && !::boost::is_volatile<T>::value
-#endif
-   > {};
-
-   template<> struct has_trivial_assign<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-   template<> struct has_trivial_assign<void const> : public false_type{};
-   template<> struct has_trivial_assign<void const volatile> : public false_type{};
-   template<> struct has_trivial_assign<void volatile> : public false_type{};
-#endif
-   template <class T> struct has_trivial_assign<T volatile> : public false_type{};
-   template <class T> struct has_trivial_assign<T&> : public false_type{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-   template <class T> struct has_trivial_assign<T&&> : public false_type{};
-#endif
-   // Arrays are not explictly assignable:
-   template <typename T, std::size_t N> struct has_trivial_assign<T[N]> : public false_type{};
-   template <typename T> struct has_trivial_assign<T[]> : public false_type{};
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_constructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_constructor.hpp
deleted file mode 100644
index 06c137d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_constructor.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_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_default_constructible.hpp>
-
-#ifdef BOOST_HAS_TRIVIAL_CONSTRUCTOR
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
-#include <boost/type_traits/is_same.hpp>
-#elif defined(__GNUC__) || defined(__SUNPRO_CC)
-#include <boost/type_traits/is_volatile.hpp>
-#ifdef BOOST_INTEL
-#include <boost/type_traits/is_pod.hpp>
-#endif
-#endif
-#endif
-
-
-#if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 409)) || defined(BOOST_CLANG) || (defined(__SUNPRO_CC) && defined(BOOST_HAS_TRIVIAL_CONSTRUCTOR))
-#include <boost/type_traits/is_default_constructible.hpp>
-#define BOOST_TT_TRIVIAL_CONSTRUCT_FIX && is_default_constructible<T>::value
-#else
-//
-// Mot all compilers, particularly older GCC versions can handle the fix above.
-#define BOOST_TT_TRIVIAL_CONSTRUCT_FIX
-#endif
-
-namespace boost {
-
-template <typename T> struct has_trivial_constructor
-#ifdef BOOST_HAS_TRIVIAL_CONSTRUCTOR
-   : public integral_constant <bool, ((::boost::is_pod<T>::value || BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)) BOOST_TT_TRIVIAL_CONSTRUCT_FIX)>{};
-#else
-   : public integral_constant <bool, ::boost::is_pod<T>::value>{};
-#endif
-
-template <> struct has_trivial_constructor<void> : public boost::false_type{};
-template <> struct has_trivial_constructor<void const> : public boost::false_type{};
-template <> struct has_trivial_constructor<void const volatile> : public boost::false_type{};
-template <> struct has_trivial_constructor<void volatile> : public boost::false_type{};
-
-template <class T> struct has_trivial_default_constructor : public has_trivial_constructor<T> {};
-
-#undef BOOST_TT_TRIVIAL_CONSTRUCT_FIX
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_copy.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_copy.hpp
deleted file mode 100644
index 9d3265d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_copy.hpp
+++ /dev/null
@@ -1,62 +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/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-#if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 409)) || defined(BOOST_CLANG) || (defined(__SUNPRO_CC) && defined(BOOST_HAS_TRIVIAL_COPY))
-#include <boost/type_traits/is_copy_constructible.hpp>
-#define BOOST_TT_TRIVIAL_CONSTRUCT_FIX && is_copy_constructible<T>::value
-#else
-#define BOOST_TT_TRIVIAL_CONSTRUCT_FIX
-#endif
-
-#ifdef BOOST_INTEL
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_lvalue_reference.hpp>
-#endif
-
-namespace boost {
-
-template <typename T> struct has_trivial_copy 
-: public integral_constant<bool, 
-#ifdef BOOST_HAS_TRIVIAL_COPY
-   BOOST_HAS_TRIVIAL_COPY(T) BOOST_TT_TRIVIAL_CONSTRUCT_FIX
-#else
-   ::boost::is_pod<T>::value
-#endif
->{};
-// Arrays are not explicitly copyable:
-template <typename T, std::size_t N> struct has_trivial_copy<T[N]> : public false_type{};
-template <typename T> struct has_trivial_copy<T[]> : public false_type{};
-// Are volatile types ever trivial?  We don't really know, so assume not:
-template <typename T> struct has_trivial_copy<T volatile> : public false_type{};
-
-template <> struct has_trivial_copy<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct has_trivial_copy<void const> : public false_type{};
-template <> struct has_trivial_copy<void volatile> : public false_type{};
-template <> struct has_trivial_copy<void const volatile> : public false_type{};
-#endif
-
-template <class T> struct has_trivial_copy<T&> : public false_type{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 
-template <class T> struct has_trivial_copy<T&&> : public false_type{};
-#endif
-
-template <class T> struct has_trivial_copy_constructor : public has_trivial_copy<T>{};
-
-#undef BOOST_TT_TRIVIAL_CONSTRUCT_FIX
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_destructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_destructor.hpp
deleted file mode 100644
index 9a3a61f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_destructor.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_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-#ifdef BOOST_HAS_TRIVIAL_DESTRUCTOR
-
-#if defined(BOOST_INTEL) || defined(BOOST_MSVC)
-#include <boost/type_traits/is_pod.hpp>
-#endif
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
-#include <boost/type_traits/is_same.hpp>
-#endif
-
-#if defined(__GNUC__) || defined(__clang__) || defined(__SUNPRO_CC)
-#include <boost/type_traits/is_destructible.hpp>
-#endif
-
-namespace boost {
-
-template <typename T> struct has_trivial_destructor : public integral_constant<bool, BOOST_HAS_TRIVIAL_DESTRUCTOR(T)>{};
-#else
-#include <boost/type_traits/is_pod.hpp>
-
-namespace boost{
-
-template <typename T> struct has_trivial_destructor : public integral_constant<bool, ::boost::is_pod<T>::value>{};
-#endif
-
-template <> struct has_trivial_destructor<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct has_trivial_destructor<void const> : public false_type{};
-template <> struct has_trivial_destructor<void const volatile> : public false_type{};
-template <> struct has_trivial_destructor<void volatile> : public false_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_move_assign.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_move_assign.hpp
deleted file mode 100644
index f7bb198..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_move_assign.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  (C) Copyright Eric Friedman 2002-2003.
-//  (C) Copyright Antony Polukhin 2013.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_MOVE_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-#if !defined(BOOST_HAS_TRIVIAL_MOVE_ASSIGN) || defined(BOOST_MSVC) || defined(BOOST_INTEL)
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#ifdef BOOST_MSVC
-#include <boost/type_traits/is_reference.hpp>
-#endif
-#endif
-
-#if defined(__GNUC__) || defined(__clang)
-#include <boost/type_traits/is_assignable.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#endif
-
-#ifdef __SUNPRO_CC
-#include <boost/type_traits/is_assignable.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#if __cplusplus >= 201103
-#define SOLARIS_EXTRA_CHECK && is_assignable<typename remove_const<T>::type&, typename remove_const<T>::type&&>::value
-#endif
-#endif
-
-#ifndef SOLARIS_EXTRA_CHECK
-#define SOLARIS_EXTRA_CHECK
-#endif
-
-namespace boost{
-
-template <typename T>
-struct has_trivial_move_assign : public integral_constant<bool,
-#ifdef BOOST_HAS_TRIVIAL_MOVE_ASSIGN
-   BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T)
-#else
-   ::boost::is_pod<T>::value && !::boost::is_const<T>::value && !::boost::is_volatile<T>::value SOLARIS_EXTRA_CHECK
-#endif
-   > {};
-
-template <> struct has_trivial_move_assign<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct has_trivial_move_assign<void const> : public false_type{};
-template <> struct has_trivial_move_assign<void const volatile> : public false_type{};
-template <> struct has_trivial_move_assign<void volatile> : public false_type{};
-#endif
-template <class T> struct has_trivial_move_assign<T&> : public false_type{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct has_trivial_move_assign<T&&> : public false_type{};
-#endif
-// Array types are not assignable:
-template <class T, std::size_t N> struct has_trivial_move_assign<T[N]> : public false_type{};
-template <class T> struct has_trivial_move_assign<T[]> : public false_type{};
-
-} // namespace boost
-
-#undef SOLARIS_EXTRA_CHECK
-
-#endif // BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_move_constructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_move_constructor.hpp
deleted file mode 100644
index 9e601f3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_trivial_move_constructor.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  (C) Copyright Eric Friedman 2002-2003.
-//  (C) Copyright Antony Polukhin 2013.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_MOVE_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-#ifdef BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR
-
-#if defined(BOOST_MSVC) || defined(BOOST_INTEL)
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#endif
-
-#if defined(__GNUC__) || defined(__clang)
-#include <boost/type_traits/is_constructible.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#endif
-
-
-namespace boost {
-
-template <typename T> struct has_trivial_move_constructor : public integral_constant<bool, BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T)>{};
-
-#else
-
-#ifdef __SUNPRO_CC
-#include <boost/type_traits/is_constructible.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#if __cplusplus >= 201103
-#define SOLARIS_EXTRA_CHECK && is_constructible<typename remove_const<T>::type, typename remove_const<T>::type&&>::value
-#endif
-#endif
-
-#ifndef SOLARIS_EXTRA_CHECK
-#define SOLARIS_EXTRA_CHECK
-#endif
-
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-
-namespace boost {
-
-template <typename T> struct has_trivial_move_constructor 
-   : public integral_constant<bool, ::boost::is_pod<T>::value && !::boost::is_volatile<T>::value SOLARIS_EXTRA_CHECK>{};
-
-#undef SOLARIS_EXTRA_CHECK
-
-#endif
-
-template <> struct has_trivial_move_constructor<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct has_trivial_move_constructor<void const> : public false_type{};
-template <> struct has_trivial_move_constructor<void volatile> : public false_type{};
-template <> struct has_trivial_move_constructor<void const volatile> : public false_type{};
-#endif
-// What should we do with reference types??? The standard seems to suggest these are trivial, even if the thing they reference is not:
-template <class T> struct has_trivial_move_constructor<T&> : public true_type{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct has_trivial_move_constructor<T&&> : public true_type{};
-#endif
-// Arrays can not be explicitly copied:
-template <class T, std::size_t N> struct has_trivial_move_constructor<T[N]> : public false_type{};
-template <class T> struct has_trivial_move_constructor<T[]> : public false_type{};
-
-} // namespace boost
-
-#endif // BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_unary_minus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_unary_minus.hpp
deleted file mode 100644
index 6b3157f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_unary_plus.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_unary_plus.hpp
deleted file mode 100644
index a61770f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_virtual_destructor.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_virtual_destructor.hpp
deleted file mode 100644
index 4b0f383..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/has_virtual_destructor.hpp
+++ /dev/null
@@ -1,26 +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>
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-#ifdef BOOST_HAS_VIRTUAL_DESTRUCTOR
-   template <class T> struct has_virtual_destructor : public integral_constant<bool, BOOST_HAS_VIRTUAL_DESTRUCTOR(T)>{};
-#else
-   template <class T> struct has_virtual_destructor : public integral_constant<bool, false>{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/ice.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/ice.hpp
deleted file mode 100644
index 134bc4b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/integral_constant.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/integral_constant.hpp
deleted file mode 100644
index ae2448d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/integral_constant.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//  (C) Copyright John Maddock 2015. 
-//  Use, modification and distribution are subject to the 
-//  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/detail/workaround.hpp>
-
-#if (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)) )
-
-
-namespace boost{
-   namespace mpl
-   {
-      template <bool B> struct bool_;
-      template <class I, I val> struct integral_c;
-      struct integral_c_tag;
-   }
-}
-
-#else
-
-namespace mpl_{
-
-   template <bool B> struct bool_;
-   template <class I, I val> struct integral_c;
-   struct integral_c_tag;
-}
-
-namespace boost
-{
-   namespace mpl
-   {
-      using ::mpl_::bool_;
-      using ::mpl_::integral_c;
-      using ::mpl_::integral_c_tag;
-   }
-}
-
-#endif
-
-namespace boost{
-
-   template <class T, T val>
-   struct integral_constant
-   {
-      typedef mpl::integral_c_tag tag;
-      typedef T value_type;
-      typedef integral_constant<T, val> type;
-      static const T value = val;
-      //
-      // This helper function is just to disable type-punning 
-      // warnings from GCC:
-      //
-      template <class U>
-      static U& dereference(U* p) { return *p; }
-
-      operator const mpl::integral_c<T, val>& ()const
-      {
-         static const char data[sizeof(long)] = { 0 };
-         return dereference(reinterpret_cast<const mpl::integral_c<T, val>*>(&data));
-      }
-      BOOST_CONSTEXPR operator T()const { return val; }
-   };
-
-   template <class T, T val>
-   T const integral_constant<T, val>::value;
-      
-   template <bool val>
-   struct integral_constant<bool, val>
-   {
-      typedef mpl::integral_c_tag tag;
-      typedef bool value_type;
-      typedef integral_constant<bool, val> type;
-      static const bool value = val;
-      //
-      // This helper function is just to disable type-punning 
-      // warnings from GCC:
-      //
-      template <class T>
-      static T& dereference(T* p) { return *p; }
-
-      operator const mpl::bool_<val>& ()const
-      {
-         static const char data = 0;
-         return dereference(reinterpret_cast<const mpl::bool_<val>*>(&data));
-      }
-      BOOST_CONSTEXPR operator bool()const { return val; }
-   };
-
-   template <bool val>
-   bool const integral_constant<bool, val>::value;
-
-   typedef integral_constant<bool, true> true_type;
-   typedef integral_constant<bool, false> false_type;
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/integral_promotion.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/integral_promotion.hpp
deleted file mode 100644
index 0478f56..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/integral_promotion.hpp
+++ /dev/null
@@ -1,181 +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/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>
-
-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_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, bool b> struct integral_promotion { typedef T type; };
-template<class T> struct integral_promotion<T, true> : public integral_promotion_impl<T>{};
-
-} }
-
-template <class T> struct integral_promotion
-{
-private:
-   typedef boost::type_traits::detail::need_promotion<typename remove_cv<T>::type> tag_type;
-public:
-   typedef typename boost::type_traits::detail::integral_promotion<T, tag_type::value>::type type;
-};
-
-}
-
-#endif // #ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/intrinsics.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/intrinsics.hpp
deleted file mode 100644
index e2246be..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/intrinsics.hpp
+++ /dev/null
@@ -1,380 +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_DISABLE_INTRINSICS
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
-#include <boost/type_traits/detail/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_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy
-// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
-// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(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
-// BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) should evaluate to true if T has a non-throwing move constructor.
-// BOOST_IS_NOTHROW_MOVE_ASSIGN(T) should evaluate to true if T has a non-throwing move assignment operator.
-//
-// 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.
-//
-// define BOOST_TT_DISABLE_INTRINSICS to prevent any intrinsics being used (mostly used when testing)
-//
-
-#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))\
-         || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
-//
-// Note that even though these intrinsics rely on other type traits classes
-// we do not #include those here as it produces cyclic dependencies and
-// can cause the intrinsics to not even be used at all!
-//
-#   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_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)
-#if !defined(BOOST_INTEL)
-#   define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) || ::boost::has_trivial_copy<T>::value) && !is_array<T>::value)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) || ::boost::is_pod<T>::value)
-#elif (_MSC_VER >= 1900)
-#   define BOOST_HAS_NOTHROW_COPY(T) ((__is_nothrow_constructible(T, typename add_lvalue_reference<typename add_const<T>::type>::type)) && !is_array<T>::value)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__is_trivially_constructible(T, typename add_lvalue_reference<typename add_const<T>::type>::type))
-#endif
-#   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_function<U>::value)) && !__is_abstract(U))
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-//  This one fails if the default alignment has been changed with /Zp:
-//  #   define BOOST_ALIGNMENT_OF(T) __alignof(T)
-
-#   if defined(_MSC_VER) && (_MSC_VER >= 1700)
-#       define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || boost::is_pod<T>::value) && ! ::boost::is_volatile<T>::value && ! ::boost::is_reference<T>::value)
-#       define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value && ! ::boost::is_reference<T>::value)
-#   endif
-#ifndef BOOST_NO_CXX11_FINAL
-//  This one doesn't quite always do the right thing on older VC++ versions
-//  we really need it when the final keyword is supporyted though:
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#endif
-#if _MSC_FULL_VER >= 180020827
-#   define BOOST_IS_NOTHROW_MOVE_ASSIGN(T) (__is_nothrow_assignable(T&, T&&))
-#   define BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) (__is_nothrow_constructible(T, T&&))
-#endif
-#   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) && !defined(__CUDACC__)
-//
-// Note that these intrinsics are disabled for the CUDA meta-compiler as it appears
-// to not support them, even though the underlying clang compiler does so.
-// This is a rubbish fix as it basically stops type traits from working correctly, 
-// but maybe the best we can do for now.  See https://svn.boost.org/trac/boost/ticket/10694
-//
-//
-// Note that even though these intrinsics rely on other type traits classes
-// we do not #include those here as it produces cyclic dependencies and
-// can cause the intrinsics to not even be used at all!
-//
-#   include <cstddef>
-
-#   if __has_feature(is_union)
-#     define BOOST_IS_UNION(T) __is_union(T)
-#   endif
-#   if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod)
-#     define BOOST_IS_POD(T) __is_pod(T)
-#   endif
-#   if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty)
-#     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)
-#   endif
-#   if __has_feature(has_trivial_assign)
-#     define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value && is_assignable<T&, const T&>::value)
-#   endif
-#   if __has_feature(has_trivial_destructor)
-#     define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T)  && is_destructible<T>::value)
-#   endif
-#   if __has_feature(has_nothrow_constructor)
-#     define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible<T>::value)
-#   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 && is_copy_constructible<T>::value)
-#   endif
-#   if __has_feature(has_nothrow_assign)
-#     define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value && is_assignable<T&, const 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)
-#     define BOOST_IS_CONVERTIBLE(T,U) __is_convertible_to(T,U)
-#   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
-#   if __has_feature(has_trivial_move_constructor)
-#     define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__has_trivial_move_constructor(T)  && is_constructible<T, T&&>::value && !::boost::is_volatile<T>::value)
-#   endif
-#   if __has_feature(has_trivial_move_assign)
-#     define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__has_trivial_move_assign(T) && is_assignable<T&, T&&>::value && !::boost::is_volatile<T>::value)
-#   endif
-#   if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) || !defined(__GNUC__)
-// 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
-#   if __has_feature(is_final)
-#     define BOOST_IS_FINAL(T) __is_final(T)
-#   endif
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG)
-//
-// Note that even though these intrinsics rely on other type traits classes
-// we do not #include those here as it produces cyclic dependencies and
-// can cause the intrinsics to not even be used at all!
-//
-
-#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)
-#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile<T>::value && ! ::boost::is_const<T>::value && is_assignable<T&, const T&>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS && is_destructible<T>::value)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible<T>::value 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 && is_copy_constructible<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value && is_assignable<T&, const T&>::value)
-#else
-#   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 && !is_array<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value && !is_array<T>::value)
-#endif
-#   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
-#   if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))
-#     define BOOST_IS_FINAL(T) __is_final(T)
-#   endif
-
-#   if (__GNUC__ >= 5) && (__cplusplus >= 201103)
-#     define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable<T&, T&&>::value && !::boost::is_volatile<T>::value)
-#     define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible<T, T&&>::value && !::boost::is_volatile<T>::value)
-#   endif
-
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)
-#   define BOOST_IS_UNION(T) __oracle_is_union(T)
-#   define BOOST_IS_POD(T) (__oracle_is_pod(T) && !is_function<T>::value)
-#   define BOOST_IS_EMPTY(T) __oracle_is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__oracle_has_trivial_constructor(T) && ! ::boost::is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__oracle_has_trivial_copy(T) && !is_reference<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && ! ::boost::is_volatile<T>::value && ! ::boost::is_const<T>::value && is_assignable<T&, const T&>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__oracle_has_trivial_destructor(T) && is_destructible<T>::value)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) ((__oracle_has_nothrow_constructor(T) || __oracle_has_trivial_constructor(T) || __oracle_is_trivial(T)) && is_default_constructible<T>::value)
-//  __oracle_has_nothrow_copy appears to behave the same as __oracle_has_nothrow_assign, disabled for now:
-//#   define BOOST_HAS_NOTHROW_COPY(T) ((__oracle_has_nothrow_copy(T) || __oracle_has_trivial_copy(T) || __oracle_is_trivial(T)) && !is_volatile<T>::value && !is_reference<T>::value && is_copy_constructible<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) ((__oracle_has_nothrow_assign(T) || __oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && !is_volatile<T>::value && !is_const<T>::value && is_assignable<T&, const T&>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __oracle_has_virtual_destructor(T)
-
-#   define BOOST_IS_ABSTRACT(T) __oracle_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) __oracle_is_class(T)
-#   define BOOST_IS_ENUM(T) __oracle_is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __oracle_is_polymorphic(T)
-#   define BOOST_ALIGNMENT_OF(T) __alignof__(T)
-#   define BOOST_IS_FINAL(T) __oracle_is_final(T)
-
-#   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)
-#   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_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_DISABLE_INTRINSICS
-
-#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_abstract.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_abstract.hpp
deleted file mode 100644
index 7715c5c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_abstract.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP
-#define BOOST_TT_IS_ABSTRACT_CLASS_HPP
-
-#if defined(_MSC_VER)
-# 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://www.open-std.org/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 support 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>
-#include <boost/type_traits/integral_constant.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>
-#ifdef BOOST_NO_IS_ABSTRACT
-#include <boost/type_traits/is_polymorphic.hpp>
-#endif
-#endif
-
-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
-template <class T> struct is_abstract : public integral_constant<bool, ::boost::detail::is_abstract_imp<T>::value> {};
-#else
-template <class T> struct is_abstract : public integral_constant<bool, ::boost::detail::is_polymorphic_imp<T>::value> {};
-#endif
-
-} // namespace boost
-
-#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_arithmetic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_arithmetic.hpp
deleted file mode 100644
index c23811e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_arithmetic.hpp
+++ /dev/null
@@ -1,22 +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
-
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-
-namespace boost {
-
-template <class T>
-struct is_arithmetic : public integral_constant<bool, is_integral<T>::value || is_floating_point<T>::value> {};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_array.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_array.hpp
deleted file mode 100644
index 497dc49..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_array.hpp
+++ /dev/null
@@ -1,43 +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 newsgroup posting by Jonathan Lundquist.
-
-
-#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED
-#define BOOST_TT_IS_ARRAY_HPP_INCLUDED
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <cstddef>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-   template <class T> struct is_array : public integral_constant<bool, __is_array(T)> {};
-#else
-   template <class T> struct is_array : public false_type {};
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-   template <class T, std::size_t N> struct is_array<T[N]> : public true_type {};
-   template <class T, std::size_t N> struct is_array<T const[N]> : public true_type{};
-   template <class T, std::size_t N> struct is_array<T volatile[N]> : public true_type{};
-   template <class T, std::size_t N> struct is_array<T const volatile[N]> : public true_type{};
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-   template <class T> struct is_array<T[]> : public true_type{};
-   template <class T> struct is_array<T const[]> : public true_type{};
-   template <class T> struct is_array<T const volatile[]> : public true_type{};
-   template <class T> struct is_array<T volatile[]> : public true_type{};
-#endif
-#endif
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_assignable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_assignable.hpp
deleted file mode 100644
index 9cf681d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_assignable.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-//  (C) Copyright John Maddock 2015.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_ASSIGNABLE_HPP_INCLUDED
-#define BOOST_TT_IS_ASSIGNABLE_HPP_INCLUDED
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost{
-
-   template <class T, class U = T> struct is_assignable;
-
-}
-
-#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800)
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/declval.hpp>
-
-namespace boost{
-
-   namespace detail{
-
-      struct is_assignable_imp
-      {
-         template<typename T, typename U, typename = decltype(boost::declval<T>() = boost::declval<U>())>
-         static boost::type_traits::yes_type test(int);
-
-         template<typename, typename>
-         static boost::type_traits::no_type test(...);
-      };
-
-   }
-
-   template <class T, class U> struct is_assignable : public integral_constant<bool, sizeof(detail::is_assignable_imp::test<T, U>(0)) == sizeof(boost::type_traits::yes_type)>{};
-   template <class T, std::size_t N, class U> struct is_assignable<T[N], U> : public is_assignable<T, U>{};
-   template <class T, std::size_t N, class U> struct is_assignable<T(&)[N], U> : public is_assignable<T&, U>{};
-   template <class T, class U> struct is_assignable<T[], U> : public is_assignable<T, U>{};
-   template <class T, class U> struct is_assignable<T(&)[], U> : public is_assignable<T&, U>{};
-   template <class U> struct is_assignable<void, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void const, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void volatile, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void const volatile, U> : public integral_constant<bool, false>{};
-
-#else
-
-#include <boost/type_traits/has_trivial_assign.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost{
-
-   // We don't know how to implement this:
-   template <class T, class U> struct is_assignable : public integral_constant<bool, false>{};
-   template <class T, class U> struct is_assignable<T&, U> : public integral_constant<bool, is_pod<T>::value && is_pod<typename remove_reference<U>::type>::value>{};
-   template <class T, class U> struct is_assignable<const T&, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void const, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void volatile, U> : public integral_constant<bool, false>{};
-   template <class U> struct is_assignable<void const volatile, U> : public integral_constant<bool, false>{};
-   /*
-   template <> struct is_assignable<void, void> : public integral_constant<bool, false>{};
-   template <> struct is_assignable<void const, void const> : public integral_constant<bool, false>{};
-   template <> struct is_assignable<void volatile, void volatile> : public integral_constant<bool, false>{};
-   template <> struct is_assignable<void const volatile, void const volatile> : public integral_constant<bool, false>{};
-   */
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_ASSIGNABLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_and_derived.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_and_derived.hpp
deleted file mode 100644
index ee3dce5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_and_derived.hpp
+++ /dev/null
@@ -1,244 +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>
-#include <boost/type_traits/integral_constant.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/config.hpp>
-#include <boost/static_assert.hpp>
-#endif
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_same.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
-
-template <class Base, class Derived> struct is_base_and_derived
-   : public integral_constant<bool, (::boost::detail::is_base_and_derived_impl<Base, Derived>::value)> {};
-
-template <class Base, class Derived> struct is_base_and_derived<Base&, Derived> : public false_type{};
-template <class Base, class Derived> struct is_base_and_derived<Base, Derived&> : public false_type{};
-template <class Base, class Derived> struct is_base_and_derived<Base&, Derived&> : public false_type{};
-
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-template <class Base> struct is_base_and_derived<Base, Base> : public true_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_of.hpp
deleted file mode 100644
index 89f2f67..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_of.hpp
+++ /dev/null
@@ -1,39 +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>
-
-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::detail::is_base_and_derived_impl<ncvB,ncvD>::value) ||
-            (::boost::is_same<ncvB,ncvD>::value && ::boost::is_class<ncvB>::value)));
-      };
-   }
-
-   template <class Base, class Derived> struct is_base_of
-      : public integral_constant<bool, (::boost::detail::is_base_of_imp<Base, Derived>::value)> {};
-
-   template <class Base, class Derived> struct is_base_of<Base, Derived&> : false_type{};
-   template <class Base, class Derived> struct is_base_of<Base&, Derived&> : false_type{};
-   template <class Base, class Derived> struct is_base_of<Base&, Derived> : false_type{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_of_tr1.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_of_tr1.hpp
deleted file mode 100644
index 210bf54..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_base_of_tr1.hpp
+++ /dev/null
@@ -1,37 +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>
-
-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::detail::is_base_and_derived_impl<ncvB,ncvD>::value) || (::boost::is_same<ncvB,ncvD>::value)));
-      };
-   }
-
-   template <class Base, class Derived> struct is_base_of
-      : public integral_constant<bool, (::boost::tr1::detail::is_base_of_imp<Base, Derived>::value)>{};
-
-   template <class Base, class Derived> struct is_base_of<Base, Derived&> : public false_type{};
-   template <class Base, class Derived> struct is_base_of<Base&, Derived&> : public false_type{};
-   template <class Base, class Derived> struct is_base_of<Base&, Derived> : public false_type{};
-
-} } // namespace boost
-
-#endif // BOOST_TT_IS_BASE_OF_TR1_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_class.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_class.hpp
deleted file mode 100644
index e3a22d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_class.hpp
+++ /dev/null
@@ -1,114 +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/detail/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#ifndef BOOST_IS_CLASS
-#   include <boost/type_traits/is_union.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
-
-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 =
-            sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type)
-            && ! ::boost::is_union<T>::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 =
-            sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type)
-            && ! ::boost::is_union<T>::value
-        );
-};
-
-#endif
-
-#else
-
-template <typename T>
-struct is_class_impl
-{
-    BOOST_STATIC_CONSTANT(bool, value =
-        ! ::boost::is_union<T>::value >::value
-        && ! ::boost::is_scalar<T>::value
-        && ! ::boost::is_array<T>::value
-        && ! ::boost::is_reference<T>::value
-        && ! ::boost::is_void<T>::value
-        && ! ::boost::is_function<T>::value
-        );
-};
-
-# 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
-
-template <class T> struct is_class : public integral_constant<bool, ::boost::detail::is_class_impl<T>::value> {};
-# ifdef __EDG_VERSION__
-template <class T> struct is_class<const T> : public is_class<T>{};
-template <class T> struct is_class<const volatile T> : public is_class<T>{};
-template <class T> struct is_class<volatile T> : public is_class<T>{};
-# endif
-    
-} // namespace boost
-
-#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_complex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_complex.hpp
deleted file mode 100644
index 7cf04b4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_complex.hpp
+++ /dev/null
@@ -1,24 +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 <complex>
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-   template <class T> struct is_complex : public false_type {};
-   template <class T> struct is_complex<const T > : public is_complex<T>{};
-   template <class T> struct is_complex<volatile const T > : public is_complex<T>{};
-   template <class T> struct is_complex<volatile T > : public is_complex<T>{};
-   template <class T> struct is_complex<std::complex<T> > : public true_type{};
-
-} // namespace boost
-
-#endif //BOOST_TT_IS_COMPLEX_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_compound.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_compound.hpp
deleted file mode 100644
index 7995eb8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_compound.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/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-#define BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-
-#include <boost/type_traits/is_fundamental.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-   template <class T> struct is_compound : public integral_constant<bool, __is_compound(T)> {};
-#else
-   template <class T> struct is_compound : public integral_constant<bool, ! ::boost::is_fundamental<T>::value> {};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_COMPOUND_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_const.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_const.hpp
deleted file mode 100644
index d9dd2aa..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_const.hpp
+++ /dev/null
@@ -1,46 +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/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-
-   template <class T>
-   struct is_const : public integral_constant<bool, __is_const(T)> {};
-
-#else
-
-   template <class T>
-   struct is_const : public false_type {};
-   template <class T> struct is_const<T const> : public true_type{};
-   template <class T, size_t N> struct is_const<T const[N]> : public true_type{};
-   template <class T> struct is_const<T const[]> : public true_type{};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_CONST_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_constructible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_constructible.hpp
deleted file mode 100644
index 2017317..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_constructible.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-
-//  (C) Copyright John Maddock 2015.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_CONSTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500)
-
-#include <boost/type_traits/is_destructible.hpp>
-#include <boost/type_traits/is_default_constructible.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/declval.hpp>
-
-namespace boost{
-
-   namespace detail{
-
-      struct is_constructible_imp
-      {
-         template<typename T, typename ...TheArgs, typename = decltype(T(boost::declval<TheArgs>()...))>
-         static boost::type_traits::yes_type test(int);
-         template<typename, typename...>
-         static boost::type_traits::no_type test(...);
-
-         template<typename T, typename Arg, typename = decltype(::new T(boost::declval<Arg>()))>
-         static boost::type_traits::yes_type test1(int);
-         template<typename, typename>
-         static boost::type_traits::no_type test1(...);
-
-         template <typename T>
-         static boost::type_traits::yes_type ref_test(T);
-         template <typename T>
-         static boost::type_traits::no_type ref_test(...);
-      };
-
-   }
-
-   template <class T, class ...Args> struct is_constructible : public integral_constant<bool, sizeof(detail::is_constructible_imp::test<T, Args...>(0)) == sizeof(boost::type_traits::yes_type)>{};
-   template <class T, class Arg> struct is_constructible<T, Arg> : public integral_constant<bool, is_destructible<T>::value && sizeof(detail::is_constructible_imp::test1<T, Arg>(0)) == sizeof(boost::type_traits::yes_type)>{};
-   template <class Ref, class Arg> struct is_constructible<Ref&, Arg> : public integral_constant<bool, sizeof(detail::is_constructible_imp::ref_test<Ref&>(boost::declval<Arg>())) == sizeof(boost::type_traits::yes_type)>{};
-   template <class Ref, class Arg> struct is_constructible<Ref&&, Arg> : public integral_constant<bool, sizeof(detail::is_constructible_imp::ref_test<Ref&&>(boost::declval<Arg>())) == sizeof(boost::type_traits::yes_type)>{};
-
-   template <> struct is_constructible<void> : public false_type{};
-   template <> struct is_constructible<void const> : public false_type{};
-   template <> struct is_constructible<void const volatile> : public false_type{};
-   template <> struct is_constructible<void volatile> : public false_type{};
-
-   template <class T> struct is_constructible<T> : public is_default_constructible<T>{};
-
-#else
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_default_constructible.hpp>
-
-namespace boost{
-
-   // We don't know how to implement this:
-   template <class T, class U = void> struct is_constructible : public is_convertible<U, T>{};
-   template <class T> struct is_constructible<T, void> : public is_default_constructible<T>{};
-   template <> struct is_constructible<void, void> : public false_type{};
-   template <> struct is_constructible<void const, void> : public false_type{};
-   template <> struct is_constructible<void const volatile, void> : public false_type{};
-   template <> struct is_constructible<void volatile, void> : public false_type{};
-   template <class Ref> struct is_constructible<Ref&, void> : public false_type{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-   template <class Ref> struct is_constructible<Ref&&, void> : public false_type{};
-#endif
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_convertible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_convertible.hpp
deleted file mode 100644
index 417ece2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_convertible.hpp
+++ /dev/null
@@ -1,488 +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>
-#include <boost/type_traits/integral_constant.hpp>
-#ifndef BOOST_IS_CONVERTIBLE
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_void.hpp>
-#if !defined(BOOST_NO_IS_ABSTRACT)
-#include <boost/type_traits/is_abstract.hpp>
-#endif
-#include <boost/type_traits/add_lvalue_reference.hpp>
-#include <boost/type_traits/add_rvalue_reference.hpp>
-#include <boost/type_traits/is_function.hpp>
-
-#if defined(__MWERKS__)
-#include <boost/type_traits/remove_reference.hpp>
-#endif
-#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#  include <boost/type_traits/declval.hpp>
-#endif
-#elif defined(BOOST_MSVC) || defined(BOOST_INTEL)
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_same.hpp>
-#endif // BOOST_IS_CONVERTIBLE
-
-namespace boost {
-
-#ifndef BOOST_IS_CONVERTIBLE
-
-// is one type convertible 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 {
-
-#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_GCC) && (BOOST_GCC < 40700))
-
-   // This is a C++11 conforming version, place this first and use it wherever possible:
-
-#  define BOOST_TT_CXX11_IS_CONVERTIBLE
-
-   template <class A, class B, class C>
-   struct or_helper
-   {
-      static const bool value = (A::value || B::value || C::value);
-   };
-
-   template<typename From, typename To, bool b = or_helper<boost::is_void<From>, boost::is_function<To>, boost::is_array<To> >::value>
-   struct is_convertible_basic_impl
-   {
-      // Nothing converts to function or array, but void converts to void:
-      static const bool value = is_void<To>::value; 
-   };
-
-   template<typename From, typename To>
-   class is_convertible_basic_impl<From, To, false>
-   {
-      typedef char one;
-      typedef int  two;
-
-      template<typename To1>
-      static void test_aux(To1);
-
-      template<typename From1, typename To1>
-      static decltype(test_aux<To1>(boost::declval<From1>()), one()) test(int);
-
-      template<typename, typename>
-      static two test(...);
-
-   public:
-      static const bool value = sizeof(test<From, To>(0)) == 1;
-   };
-
-#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_lvalue_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(const T&);
-    template <typename T> any_conversion(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
-{
-    typedef typename add_lvalue_reference<From>::type lvalue_type;
-    typedef typename add_rvalue_reference<From>::type rvalue_type;
-    static lvalue_type _m_from;
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)))
-    static bool const value =
-        sizeof( boost::detail::checker<To>::_m_check(static_cast<rvalue_type>(_m_from), 0) )
-        == sizeof(::boost::type_traits::yes_type);
-#else
-    static bool const value =
-        sizeof( boost::detail::checker<To>::_m_check(_m_from, 0) )
-        == sizeof(::boost::type_traits::yes_type);
-#endif
-};
-
-#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&);
-    template <typename T> any_conversion(const T&);
-    template <typename T> any_conversion(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);
-    typedef typename add_lvalue_reference<From>::type lvalue_type;
-    typedef typename add_rvalue_reference<From>::type rvalue_type; 
-    static lvalue_type _m_from;
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#else
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#endif
-};
-
-#elif defined(__DMC__)
-
-struct any_conversion
-{
-    template <typename T> any_conversion(const volatile T&);
-    template <typename T> any_conversion(const T&);
-    template <typename T> any_conversion(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);
-    typedef typename add_lvalue_reference<From>::type lvalue_type;
-    typedef typename add_rvalue_reference<From>::type rvalue_type;
-    static lvalue_type _m_from;
-
-    // Static constants sometime cause the conversion of _m_from to To to be
-    // called. This doesn't happen with an enum.
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    enum { value =
-        sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0, 0) ) == sizeof(::boost::type_traits::yes_type)
-        };
-#else
-    enum { value =
-        sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type)
-        };
-#endif
-};
-
-#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 T> any_conversion(const T&);
-    template <typename T> any_conversion(volatile T&);
-    template <typename T> any_conversion(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);
-    typedef typename add_lvalue_reference<From>::type lvalue_type;
-    typedef typename add_rvalue_reference<From>::type rvalue_type; 
-    static lvalue_type _m_from;
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#else
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#endif
-};
-
-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);
-    typedef typename add_lvalue_reference<From>::type lvalue_type;
-    typedef typename add_rvalue_reference<From>::type rvalue_type;
-    static lvalue_type _m_from;
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#else
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#endif
-};
-
-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 (...).
-//
-
-//Workaround for old compilers like MSVC 7.1 to avoid
-//forming a reference to an array of unknown bound
-template <typename From>
-struct is_convertible_basic_impl_add_lvalue_reference
-   : add_lvalue_reference<From>
-{};
-
-template <typename From>
-struct is_convertible_basic_impl_add_lvalue_reference<From[]>
-{
-    typedef From type [];
-};
-
-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);
-    typedef typename is_convertible_basic_impl_add_lvalue_reference<From>::type lvalue_type;
-    static lvalue_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
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    typedef typename add_rvalue_reference<From>::type rvalue_type; 
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#else
-    BOOST_STATIC_CONSTANT(bool, value =
-        sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
-        );
-#endif
-#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
-{
-    enum { 
-       value = ( ::boost::detail::is_convertible_basic_impl<From,To>::value && ! ::boost::is_array<To>::value && ! ::boost::is_function<To>::value) 
-    };
-};
-#elif !defined(__BORLANDC__) || __BORLANDC__ > 0x551
-template <typename From, typename To>
-struct is_convertible_impl
-{
-   BOOST_STATIC_CONSTANT(bool, value = ( ::boost::detail::is_convertible_basic_impl<From, To>::value && !::boost::is_array<To>::value && !::boost::is_function<To>::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,
-#if !defined(BOOST_NO_IS_ABSTRACT) && !defined(BOOST_TT_CXX11_IS_CONVERTIBLE)
-      // We need to filter out abstract types, only if we don't have a strictly conforming C++11 version:
-      ::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
-
-template <> struct is_convertible_impl_dispatch<void, void> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void, void const> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void, void const volatile> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void, void volatile> : public true_type{};
-
-template <> struct is_convertible_impl_dispatch<void const, void> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void const, void const> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void const, void const volatile> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void const, void volatile> : public true_type{};
-
-template <> struct is_convertible_impl_dispatch<void const volatile, void> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void const volatile, void const> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void const volatile, void const volatile> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void const volatile, void volatile> : public true_type{};
-
-template <> struct is_convertible_impl_dispatch<void volatile, void> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void volatile, void const> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void volatile, void const volatile> : public true_type{};
-template <> struct is_convertible_impl_dispatch<void volatile, void volatile> : public true_type{};
-
-#else
-template <> struct is_convertible_impl_dispatch<void, void> : public true_type{};
-#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS
-
-template <class To> struct is_convertible_impl_dispatch<void, To> : public false_type{};
-template <class From> struct is_convertible_impl_dispatch<From, void> : public false_type{};
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <class To> struct is_convertible_impl_dispatch<void const, To> : public false_type{};
-template <class From> struct is_convertible_impl_dispatch<From, void const> : public false_type{};
-template <class To> struct is_convertible_impl_dispatch<void const volatile, To> : public false_type{};
-template <class From> struct is_convertible_impl_dispatch<From, void const volatile> : public false_type{};
-template <class To> struct is_convertible_impl_dispatch<void volatile, To> : public false_type{};
-template <class From> struct is_convertible_impl_dispatch<From, void volatile> : public false_type{};
-#endif
-
-} // namespace detail
-
-template <class From, class To> 
-struct is_convertible : public integral_constant<bool, ::boost::detail::is_convertible_impl_dispatch<From, To>::value> {};
-
-#else
-
-template <class From, class To>
-struct is_convertible : public integral_constant<bool, BOOST_IS_CONVERTIBLE(From, To)> {};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_copy_assignable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_copy_assignable.hpp
deleted file mode 100644
index 76afdda..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_copy_assignable.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//  (C) Copyright Ion Gaztanaga 2014.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_COPY_ASSIGNABLE_HPP_INCLUDED
-#define BOOST_TT_IS_COPY_ASSIGNABLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/noncopyable.hpp>
-
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \
-   && !defined(BOOST_INTEL_CXX_VERSION) && \
-      !(defined(BOOST_MSVC) && _MSC_VER == 1800)
-#define BOOST_TT_CXX11_IS_COPY_ASSIGNABLE
-#include <boost/type_traits/declval.hpp>
-#else
-   //For compilers without decltype
-   #include <boost/type_traits/is_const.hpp>
-   #include <boost/type_traits/is_array.hpp>
-   #include <boost/type_traits/add_reference.hpp>
-   #include <boost/type_traits/remove_reference.hpp>
-#endif
-
-namespace boost {
-
-namespace detail{
-
-template <bool DerivedFromNoncopyable, class T>
-struct is_copy_assignable_impl2 {
-
-// Intel compiler has problems with SFINAE for copy constructors and deleted functions:
-//
-// error: function *function_name* cannot be referenced -- it is a deleted function
-// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval<T1&>()))* = 0);
-//                                                        ^ 
-//
-// MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See:
-// https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken
-#if defined(BOOST_TT_CXX11_IS_COPY_ASSIGNABLE)
-    typedef boost::type_traits::yes_type yes_type;
-    typedef boost::type_traits::no_type  no_type;
-
-    template <class U>
-    static decltype(::boost::declval<U&>() = ::boost::declval<const U&>(), yes_type() ) test(int);
-
-    template <class>
-    static no_type test(...);
-
-    static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
-
-#else
-    static BOOST_DEDUCED_TYPENAME boost::add_reference<T>::type produce();
-
-    template <class T1>
-    static boost::type_traits::no_type test(T1&, typename T1::boost_move_no_copy_constructor_or_assign* = 0);
-
-    static boost::type_traits::yes_type test(...);
-    // If you see errors like this:
-    //
-    //      `'T::operator=(const T&)' is private`
-    //      `boost/type_traits/is_copy_assignable.hpp:NN:M: error: within this context`
-    //
-    // then you are trying to call that macro for a structure defined like that:
-    //
-    //      struct T {
-    //          ...
-    //      private:
-    //          T & operator=(const T &);
-    //          ...
-    //      };
-    //
-    // To fix that you must modify your structure:
-    //
-    //      // C++03 and C++11 version
-    //      struct T: private boost::noncopyable {
-    //          ...
-    //      private:
-    //          T & operator=(const T &);
-    //          ...
-    //      };
-    //
-    //      // C++11 version
-    //      struct T {
-    //          ...
-    //      private:
-    //          T& operator=(const T &) = delete;
-    //          ...
-    //      };
-    BOOST_STATIC_CONSTANT(bool, value = (
-            sizeof(test(produce())) == sizeof(boost::type_traits::yes_type)
-    ));
-   #endif
-};
-
-template <class T>
-struct is_copy_assignable_impl2<true, T> {
-    BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <class T>
-struct is_copy_assignable_impl {
-
-#if !defined(BOOST_TT_CXX11_IS_COPY_ASSIGNABLE)
-    //For compilers without decltype, at least return false on const types, arrays
-    //types derived from boost::noncopyable and types defined as BOOST_MOVEABLE_BUT_NOT_COPYABLE
-    typedef BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type unreferenced_t;
-    BOOST_STATIC_CONSTANT(bool, value = (
-        boost::detail::is_copy_assignable_impl2<
-            boost::is_base_and_derived<boost::noncopyable, T>::value
-            || boost::is_const<unreferenced_t>::value || boost::is_array<unreferenced_t>::value
-            ,T
-        >::value
-    ));
-    #else
-    BOOST_STATIC_CONSTANT(bool, value = (
-        boost::detail::is_copy_assignable_impl2<
-            boost::is_base_and_derived<boost::noncopyable, T>::value,T
-        >::value
-    ));
-    #endif
-};
-
-} // namespace detail
-
-template <class T> struct is_copy_assignable : public integral_constant<bool, ::boost::detail::is_copy_assignable_impl<T>::value>{};
-template <> struct is_copy_assignable<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct is_copy_assignable<void const> : public false_type{};
-template <> struct is_copy_assignable<void const volatile> : public false_type{};
-template <> struct is_copy_assignable<void volatile> : public false_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_COPY_ASSIGNABLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_copy_constructible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_copy_constructible.hpp
deleted file mode 100644
index c688264..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_copy_constructible.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-//  (C) Copyright Antony Polukhin 2013.
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_COPY_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_COPY_CONSTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40900)
-
-#include <boost/type_traits/is_constructible.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1800)
-
-namespace boost {
-
-template <class T> struct is_copy_constructible : public boost::is_constructible<T, const T&>{};
-
-template <> struct is_copy_constructible<void> : public false_type{};
-template <> struct is_copy_constructible<void const> : public false_type{};
-template <> struct is_copy_constructible<void const volatile> : public false_type{};
-template <> struct is_copy_constructible<void volatile> : public false_type{};
-
-} // namespace boost
-
-#else
-//
-// Special version for VC12 which has a problem when a base class (such as non_copyable) has a deleted
-// copy constructor.  In this case the compiler thinks there really is a copy-constructor and tries to
-// instantiate the deleted member.  std::is_copy_constructible has the same issue (or at least returns
-// an incorrect value, which just defers the issue into the users code) as well.  We can at least fix
-// boost::non_copyable as a base class as a special case:
-//
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/noncopyable.hpp>
-
-namespace boost {
-
-   namespace detail
-   {
-
-      template <class T, bool b> struct is_copy_constructible_imp : public boost::is_constructible<T, const T&>{};
-      template <class T> struct is_copy_constructible_imp<T, true> : public false_type{};
-
-   }
-
-   template <class T> struct is_copy_constructible : public detail::is_copy_constructible_imp<T, is_base_and_derived<boost::noncopyable, T>::value>{};
-
-   template <> struct is_copy_constructible<void> : public false_type{};
-   template <> struct is_copy_constructible<void const> : public false_type{};
-   template <> struct is_copy_constructible<void const volatile> : public false_type{};
-   template <> struct is_copy_constructible<void volatile> : public false_type{};
-
-} // namespace boost
-
-#endif
-
-#else
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/type_traits/declval.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/declval.hpp>
-#include <boost/noncopyable.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4181)
-#endif
-
-namespace boost {
-
-   namespace detail{
-
-      template <bool DerivedFromNoncopyable, class T>
-      struct is_copy_constructible_impl2 {
-
-         // Intel compiler has problems with SFINAE for copy constructors and deleted functions:
-         //
-         // error: function *function_name* cannot be referenced -- it is a deleted function
-         // static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval<T1&>()))* = 0);
-         //                                                        ^ 
-         //
-         // MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See:
-         // https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_INTEL_CXX_VERSION) && !(defined(BOOST_MSVC) && _MSC_VER == 1800)
-
-#ifdef BOOST_NO_CXX11_DECLTYPE
-         template <class T1>
-         static boost::type_traits::yes_type test(const T1&, boost::mpl::int_<sizeof(T1(boost::declval<const T1&>()))>* = 0);
-#else
-         template <class T1>
-         static boost::type_traits::yes_type test(const T1&, decltype(T1(boost::declval<const T1&>()))* = 0);
-#endif
-
-         static boost::type_traits::no_type test(...);
-#else
-         template <class T1>
-         static boost::type_traits::no_type test(const T1&, typename T1::boost_move_no_copy_constructor_or_assign* = 0);
-         static boost::type_traits::yes_type test(...);
-#endif
-
-         // If you see errors like this:
-         //
-         //      `'T::T(const T&)' is private`
-         //      `boost/type_traits/is_copy_constructible.hpp:68:5: error: within this context`
-         //
-         // then you are trying to call that macro for a structure defined like that:
-         //
-         //      struct T {
-         //          ...
-         //      private:
-         //          T(const T &);
-         //          ...
-         //      };
-         //
-         // To fix that you must modify your structure:
-         //
-         //      // C++03 and C++11 version
-         //      struct T: private boost::noncopyable {
-         //          ...
-         //      private:
-         //          T(const T &);
-         //          ...
-         //      };
-         //
-         //      // C++11 version
-         //      struct T {
-         //          ...
-         //      private:
-         //          T(const T &) = delete;
-         //          ...
-         //      };
-         BOOST_STATIC_CONSTANT(bool, value = (
-            sizeof(test(
-            boost::declval<BOOST_DEDUCED_TYPENAME boost::add_reference<T const>::type>()
-            )) == sizeof(boost::type_traits::yes_type)
-            &&
-            !boost::is_rvalue_reference<T>::value
-            && !boost::is_array<T>::value
-            ));
-      };
-
-      template <class T>
-      struct is_copy_constructible_impl2<true, T> {
-         BOOST_STATIC_CONSTANT(bool, value = false);
-      };
-
-      template <class T>
-      struct is_copy_constructible_impl {
-
-         BOOST_STATIC_CONSTANT(bool, value = (
-            boost::detail::is_copy_constructible_impl2<
-            boost::is_base_and_derived<boost::noncopyable, T>::value,
-            T
-            >::value
-            ));
-      };
-
-   } // namespace detail
-
-   template <class T> struct is_copy_constructible : public integral_constant<bool, ::boost::detail::is_copy_constructible_impl<T>::value>{};
-   template <> struct is_copy_constructible<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-   template <> struct is_copy_constructible<void const> : public false_type{};
-   template <> struct is_copy_constructible<void volatile> : public false_type{};
-   template <> struct is_copy_constructible<void const volatile> : public false_type{};
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
-#endif // BOOST_TT_IS_COPY_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_default_constructible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_default_constructible.hpp
deleted file mode 100644
index 0b7d960..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_default_constructible.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-
-//  (C) Copyright John Maddock 2015.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_DEFAULT_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_DEFAULT_CONSTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
-#include <boost/type_traits/is_abstract.hpp>
-#endif
-
-#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500)
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-
-namespace boost{
-
-   namespace detail{
-
-      struct is_default_constructible_imp
-      {
-         template<typename _Tp, typename = decltype(_Tp())>
-         static boost::type_traits::yes_type test(int);
-
-         template<typename>
-         static boost::type_traits::no_type test(...);
-      };
-#if BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
-      template<class T, bool b> 
-      struct is_default_constructible_abstract_filter
-      {
-          static const bool value = sizeof(is_default_constructible_imp::test<T>(0)) == sizeof(boost::type_traits::yes_type);
-      };
-      template<class T> 
-      struct is_default_constructible_abstract_filter<T, true>
-      {
-          static const bool value = false;
-      };
-#endif
-   }
-
-#if BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
-   template <class T> struct is_default_constructible : public integral_constant<bool, detail::is_default_constructible_abstract_filter<T, boost::is_abstract<T>::value>::value>{};
-#else
-   template <class T> struct is_default_constructible : public integral_constant<bool, sizeof(detail::is_default_constructible_imp::test<T>(0)) == sizeof(boost::type_traits::yes_type)>{};
-#endif
-   template <class T, std::size_t N> struct is_default_constructible<T[N]> : public is_default_constructible<T>{};
-   template <class T> struct is_default_constructible<T[]> : public is_default_constructible<T>{};
-   template <class T> struct is_default_constructible<T&> : public integral_constant<bool, false>{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 
-   template <class T> struct is_default_constructible<T&&> : public integral_constant<bool, false>{};
-#endif
-   template <> struct is_default_constructible<void> : public integral_constant<bool, false>{};
-   template <> struct is_default_constructible<void const> : public integral_constant<bool, false>{};
-   template <> struct is_default_constructible<void volatile> : public integral_constant<bool, false>{};
-   template <> struct is_default_constructible<void const volatile> : public integral_constant<bool, false>{};
-
-#else
-
-#include <boost/type_traits/is_pod.hpp>
-
-namespace boost{
-
-   // We don't know how to implement this, note we can not use has_trivial_constructor here
-   // because the correct implementation of that trait requires this one:
-   template <class T> struct is_default_constructible : public is_pod<T>{};
-   template <> struct is_default_constructible<void> : public integral_constant<bool, false>{};
-   template <> struct is_default_constructible<void const> : public integral_constant<bool, false>{};
-   template <> struct is_default_constructible<void volatile> : public integral_constant<bool, false>{};
-   template <> struct is_default_constructible<void const volatile> : public integral_constant<bool, false>{};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_DEFAULT_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_destructible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_destructible.hpp
deleted file mode 100644
index 9f1e5d9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_destructible.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-//  (C) Copyright John Maddock 2015.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_DESTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_DESTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800)
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/declval.hpp>
-
-namespace boost{
-
-   namespace detail{
-
-      struct is_destructible_imp
-      {
-         template<typename T, typename = decltype(boost::declval<T&>().~T())>
-         static boost::type_traits::yes_type test(int);
-         template<typename>
-         static boost::type_traits::no_type test(...);
-      };
-
-   }
-
-   template <class T> struct is_destructible : public integral_constant<bool, sizeof(detail::is_destructible_imp::test<T>(0)) == sizeof(boost::type_traits::yes_type)>{};
-
-#else
-
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_class.hpp>
-
-namespace boost{
-
-   // We don't know how to implement this:
-   template <class T> struct is_destructible : public integral_constant<bool, is_pod<T>::value || is_class<T>::value>{};
-#endif
-
-   template <> struct is_destructible<void> : public false_type{};
-   template <> struct is_destructible<void const> : public false_type{};
-   template <> struct is_destructible<void volatile> : public false_type{};
-   template <> struct is_destructible<void const volatile> : public false_type{};
-   template <class T> struct is_destructible<T&> : public is_destructible<T>{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-   template <class T> struct is_destructible<T&&> : public is_destructible<T>{};
-#endif
-   template <class T, std::size_t N> struct is_destructible<T[N]> : public is_destructible<T>{};
-   template <class T> struct is_destructible<T[]> : public is_destructible<T>{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_DESTRUCTIBLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_empty.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_empty.hpp
deleted file mode 100644
index ef288c5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_empty.hpp
+++ /dev/null
@@ -1,120 +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/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/add_reference.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 {
-
-
-#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::detail::empty_helper<cvt,::boost::is_class<T>::value>::value || BOOST_INTERNAL_IS_EMPTY(cvt)));
-};
-
-#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::detail::empty_helper<
-                  cvt
-                , ::boost::is_class<T>::value
-                , ::boost::is_convertible< r_type,int>::value
-              >::value || BOOST_INTERNAL_IS_EMPTY(cvt));
-};
-
-#endif // __BORLANDC__
-
-} // namespace detail
-
-template <class T> struct is_empty : integral_constant<bool, ::boost::detail::is_empty_impl<T>::value> {};
-
-} // namespace boost
-
-#undef BOOST_INTERNAL_IS_EMPTY
-
-#endif // BOOST_TT_IS_EMPTY_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_enum.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_enum.hpp
deleted file mode 100644
index eada480..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_enum.hpp
+++ /dev/null
@@ -1,166 +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>
-#include <boost/type_traits/integral_constant.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/detail/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
-
-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::is_class<T>::value || ::boost::is_union<T>::value);
-};
-
-#else
-
-template <typename T>
-struct is_class_or_union
-{
-# if 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(__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
-    {
-       static const bool value = ::boost::is_convertible<typename boost::add_reference<T>::type, ::boost::detail::int_convertible>::value;
-    };
-};
-
-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::is_arithmetic<T>::value
-         || ::boost::is_reference<T>::value
-         || ::boost::is_function<T>::value
-         || is_class_or_union<T>::value
-         || is_array<T>::value);
-#else
-   // ...however, not checking is_class_or_union on non-conforming
-   // compilers prevents a dependency recursion.
-   BOOST_STATIC_CONSTANT(bool, selector =
-           ::boost::is_arithmetic<T>::value
-         || ::boost::is_reference<T>::value
-         || ::boost::is_function<T>::value
-         || is_array<T>::value);
-#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-
-#else // !defined(__GNUC__):
-    
-   BOOST_STATIC_CONSTANT(bool, selector =
-           ::boost::is_arithmetic<T>::value
-         || ::boost::is_reference<T>::value
-         || is_class_or_union<T>::value
-         || is_array<T>::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);
-};
-
-} // namespace detail
-
-template <class T> struct is_enum : public integral_constant<bool, ::boost::detail::is_enum_impl<T>::value> {};
-
-#else // __BORLANDC__
-//
-// buggy is_convertible prevents working
-// implementation of is_enum:
-template <class T> struct is_enum : public integral_constant<bool, false> {};
-
-#endif
-
-#else // BOOST_IS_ENUM
-
-template <class T> struct is_enum : public integral_constant<bool, BOOST_IS_ENUM(T)> {};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_final.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_final.hpp
deleted file mode 100644
index 410d186..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_final.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-//  Copyright (c) 2014 Agustin Berge
-//
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_FINAL_HPP_INCLUDED
-#define BOOST_TT_IS_FINAL_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#ifdef BOOST_IS_FINAL
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-
-namespace boost {
-
-#ifdef BOOST_IS_FINAL
-template <class T> struct is_final : public integral_constant<bool, BOOST_IS_FINAL(typename remove_cv<T>::type)> {};
-#else
-template <class T> struct is_final : public integral_constant<bool, false> {};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_FINAL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_float.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_float.hpp
deleted file mode 100644
index 7bf7d1f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_float.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.
-
-#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/is_floating_point.hpp>
-
-namespace boost {
-
-//* is a type T a floating-point type described in the standard (3.9.1p8)
-   template <class T> struct is_float : public is_floating_point<T> {};
-} // namespace boost
-
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_floating_point.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_floating_point.hpp
deleted file mode 100644
index 196c900..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_floating_point.hpp
+++ /dev/null
@@ -1,30 +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
-
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-//* is a type T a floating-point type described in the standard (3.9.1p8)
-   template <class T> struct is_floating_point : public false_type{};
-   template <class T> struct is_floating_point<const T> : public is_floating_point<T>{};
-   template <class T> struct is_floating_point<volatile const T> : public is_floating_point<T>{};
-   template <class T> struct is_floating_point<volatile T> : public is_floating_point<T>{};
-   template<> struct is_floating_point<float> : public true_type{};
-   template<> struct is_floating_point<double> : public true_type{};
-   template<> struct is_floating_point<long double> : public true_type{};
-   
-#if defined(BOOST_HAS_FLOAT128)
-   template<> struct is_floating_point<__float128> : public true_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_function.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_function.hpp
deleted file mode 100644
index f77c1f0..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_function.hpp
+++ /dev/null
@@ -1,102 +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/config.hpp>
-
-#if !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
-
-// 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_TT_TEST_MS_FUNC_SIGS)
-template<bool is_ref = true>
-struct is_function_chooser
-{
-   template< typename T > struct result_
-      : public false_type {};
-};
-
-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
-};
-
-template <typename T>
-struct is_function_impl<T&> : public false_type
-{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct is_function_impl<T&&> : public false_type
-{};
-#endif
-
-#endif
-
-} // namespace detail
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-template <class T> struct is_function : integral_constant<bool, __is_function(T)> {};
-#else
-template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct is_function<T&&> : public false_type {};
-#endif
-#endif
-} // namespace boost
-
-#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_fundamental.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_fundamental.hpp
deleted file mode 100644
index f58767a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_fundamental.hpp
+++ /dev/null
@@ -1,26 +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>
-
-namespace boost {
-
-//* is a type T a fundamental type described in the standard (3.9.1)
-#if defined( __CODEGEARC__ )
-template <class T> struct is_fundamental : public integral_constant<bool, __is_fundamental(T)> {};
-#else
-template <class T> struct is_fundamental : public integral_constant<bool, ::boost::is_arithmetic<T>::value || ::boost::is_void<T>::value> {};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_integral.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_integral.hpp
deleted file mode 100644
index 7a7e54b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_integral.hpp
+++ /dev/null
@@ -1,89 +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>
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-   template <class T>
-   struct is_integral : public integral_constant<bool, __is_integral(T)> {};
-#else
-
-template <class T> struct is_integral : public false_type {};
-template <class T> struct is_integral<const T> : public is_integral<T> {};
-template <class T> struct is_integral<volatile const T> : public is_integral<T>{};
-template <class T> struct is_integral<volatile T> : public is_integral<T>{};
-
-//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3)
-// as an extension we include long long, as this is likely to be added to the
-// standard at a later date
-template<> struct is_integral<unsigned char> : public true_type {};
-template<> struct is_integral<unsigned short> : public true_type{};
-template<> struct is_integral<unsigned int> : public true_type{};
-template<> struct is_integral<unsigned long> : public true_type{};
-
-template<> struct is_integral<signed char> : public true_type{};
-template<> struct is_integral<short> : public true_type{};
-template<> struct is_integral<int> : public true_type{};
-template<> struct is_integral<long> : public true_type{};
-
-template<> struct is_integral<char> : public true_type{};
-template<> struct is_integral<bool> : public true_type{};
-
-#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.
-template<> struct is_integral<wchar_t> : public true_type{};
-#endif
-
-// Same set of integral types as in boost/type_traits/integral_promotion.hpp.
-// Please, keep in sync. -- Alexander Nasonov
-#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
-    || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
-template<> struct is_integral<unsigned __int8> : public true_type{};
-template<> struct is_integral<unsigned __int16> : public true_type{};
-template<> struct is_integral<unsigned __int32> : public true_type{};
-template<> struct is_integral<__int8> : public true_type{};
-template<> struct is_integral<__int16> : public true_type{};
-template<> struct is_integral<__int32> : public true_type{};
-#ifdef __BORLANDC__
-template<> struct is_integral<unsigned __int64> : public true_type{};
-template<> struct is_integral<__int64> : public true_type{};
-#endif
-#endif
-
-# if defined(BOOST_HAS_LONG_LONG)
-template<> struct is_integral< ::boost::ulong_long_type> : public true_type{};
-template<> struct is_integral< ::boost::long_long_type> : public true_type{};
-#elif defined(BOOST_HAS_MS_INT64)
-template<> struct is_integral<unsigned __int64> : public true_type{};
-template<> struct is_integral<__int64> : public true_type{};
-#endif
-        
-#ifdef BOOST_HAS_INT128
-template<> struct is_integral<boost::int128_type> : public true_type{};
-template<> struct is_integral<boost::uint128_type> : public true_type{};
-#endif
-#ifndef BOOST_NO_CXX11_CHAR16_T
-template<> struct is_integral<char16_t> : public true_type{};
-#endif
-#ifndef BOOST_NO_CXX11_CHAR32_T
-template<> struct is_integral<char32_t> : public true_type{};
-#endif
-
-#endif  // non-CodeGear implementation
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_lvalue_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_lvalue_reference.hpp
deleted file mode 100644
index e94d787..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_lvalue_reference.hpp
+++ /dev/null
@@ -1,50 +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/integral_constant.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-   template <class T> struct is_lvalue_reference : public integral_constant<bool, __is_reference(T)>{};
-#else
-
-   template <class T> struct is_lvalue_reference : public false_type{};
-   template <class T> struct is_lvalue_reference<T&> : public true_type{};
-
-#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...
-   template <class T> struct is_lvalue_reference<T&const> : public true_type{};
-   template <class T> struct is_lvalue_reference<T&volatile> : public true_type{};
-   template <class T> struct is_lvalue_reference<T&const volatile> : public true_type{};
-#endif
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_function_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_function_pointer.hpp
deleted file mode 100644
index 223197f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_function_pointer.hpp
+++ /dev/null
@@ -1,120 +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/detail/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !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>
-#   include <boost/type_traits/integral_constant.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/is_mem_fun_pointer_tester.hpp>
-#endif
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-template <class T> struct is_member_function_pointer : public integral_constant<bool, __is_member_function_pointer( T )> {};
-#elif !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-
-template <class T> struct is_member_function_pointer 
-   : public ::boost::integral_constant<bool, ::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
-{
-   template <class T> struct result_ : public false_type{};
-};
-
-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::is_reference<T>::value || ::boost::is_array<T>::value>::template result_<T>{};
-
-template <typename T>
-struct is_member_function_pointer_impl<T&> : public false_type{};
-
-#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
-
-template<> struct is_member_function_pointer_impl<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template<> struct is_member_function_pointer_impl<void const> : public false_type{};
-template<> struct is_member_function_pointer_impl<void const volatile> : public false_type{};
-template<> struct is_member_function_pointer_impl<void volatile> : public false_type{};
-#endif
-
-} // namespace detail
-
-template <class T>
-struct is_member_function_pointer
-   : public integral_constant<bool, ::boost::detail::is_member_function_pointer_impl<T>::value>{};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_object_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_object_pointer.hpp
deleted file mode 100644
index cb7cf14..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_object_pointer.hpp
+++ /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/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/is_member_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-
-namespace boost {
-
-template <class T> struct is_member_object_pointer 
-   : public integral_constant<bool, 
-   ::boost::is_member_pointer<T>::value && !::boost::is_member_function_pointer<T>::value>{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_pointer.hpp
deleted file mode 100644
index 9757afc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_member_pointer.hpp
+++ /dev/null
@@ -1,45 +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/detail/workaround.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-template <class T> struct is_member_pointer : public integral_constant<bool, __is_member_pointer(T)>{};
-#else
-template <class T> struct is_member_pointer : public integral_constant<bool, ::boost::is_member_function_pointer<T>::value>{};
-template <class T, class U> struct is_member_pointer<U T::* > : public true_type{};
-
-#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600)
-template <class T, class U> struct is_member_pointer<U T::*const> : public true_type{};
-template <class T, class U> struct is_member_pointer<U T::*const volatile> : public true_type{};
-template <class T, class U> struct is_member_pointer<U T::*volatile> : public true_type{};
-#endif
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_nothrow_move_assignable.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_nothrow_move_assignable.hpp
deleted file mode 100644
index 4fb5bd8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_nothrow_move_assignable.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  (C) Copyright Eric Friedman 2002-2003.
-//  (C) Copyright Antony Polukhin 2013.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
-#define BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/has_trivial_move_assign.hpp>
-#include <boost/type_traits/has_nothrow_assign.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/declval.hpp>
-
-namespace boost {
-
-#ifdef BOOST_IS_NOTHROW_MOVE_ASSIGN
-
-template <class T>
-struct is_nothrow_move_assignable : public integral_constant<bool, BOOST_IS_NOTHROW_MOVE_ASSIGN(T)>{};
-template <class T> struct is_nothrow_move_assignable<T const> : public false_type{};
-template <class T> struct is_nothrow_move_assignable<T volatile> : public false_type{};
-template <class T> struct is_nothrow_move_assignable<T const volatile> : public false_type{};
-template <class T> struct is_nothrow_move_assignable<T&> : public false_type{};
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 
-template <class T> struct is_nothrow_move_assignable<T&&> : public false_type{};
-#endif
-
-#elif !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
-
-namespace detail{
-
-template <class T, class Enable = void>
-struct false_or_cpp11_noexcept_move_assignable: public ::boost::false_type {};
-
-template <class T>
-struct false_or_cpp11_noexcept_move_assignable <
-        T,
-        typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>::type
-    > : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>
-{};
-
-}
-
-template <class T>
-struct is_nothrow_move_assignable : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_assignable<T>::value>{};
-
-template <class T> struct is_nothrow_move_assignable<T const> : public ::boost::false_type {};
-template <class T> struct is_nothrow_move_assignable<T const volatile> : public ::boost::false_type{};
-template <class T> struct is_nothrow_move_assignable<T volatile> : public ::boost::false_type{};
-template <class T> struct is_nothrow_move_assignable<T&> : public ::boost::false_type{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct is_nothrow_move_assignable<T&&> : public ::boost::false_type{};
-#endif
-
-#else
-
-template <class T>
-struct is_nothrow_move_assignable : public integral_constant<bool,
-   (::boost::has_trivial_move_assign<T>::value || ::boost::has_nothrow_assign<T>::value) &&  ! ::boost::is_array<T>::value>{};
-
-#endif
-
-
-template <> struct is_nothrow_move_assignable<void> : public false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct is_nothrow_move_assignable<void const> : public false_type{};
-template <> struct is_nothrow_move_assignable<void const volatile> : public false_type{};
-template <> struct is_nothrow_move_assignable<void volatile> : public false_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_nothrow_move_constructible.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_nothrow_move_constructible.hpp
deleted file mode 100644
index 4c8f734..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_nothrow_move_constructible.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-
-//  (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-//  (C) Copyright Eric Friedman 2002-2003.
-//  (C) Copyright Antony Polukhin 2013.
-//  Use, modification and distribution are subject to the Boost Software License,
-//  Version 1.0. (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_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_IS_NOTHROW_MOVE_CONSTRUCT
-
-namespace boost {
-
-template <class T>
-struct is_nothrow_move_constructible : public integral_constant<bool, BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T)>{};
-
-template <class T> struct is_nothrow_move_constructible<volatile T> : public ::boost::false_type {};
-template <class T> struct is_nothrow_move_constructible<const volatile T> : public ::boost::false_type{};
-
-#elif !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40800)
-
-#include <boost/type_traits/declval.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost{ namespace detail{
-
-template <class T, class Enable = void>
-struct false_or_cpp11_noexcept_move_constructible: public ::boost::false_type {};
-
-template <class T>
-struct false_or_cpp11_noexcept_move_constructible <
-        T,
-        typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>::type
-    > : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>
-{};
-
-}
-
-template <class T> struct is_nothrow_move_constructible
-   : public integral_constant<bool, ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value>{};
-
-template <class T> struct is_nothrow_move_constructible<volatile T> : public ::boost::false_type {};
-template <class T> struct is_nothrow_move_constructible<const volatile T> : public ::boost::false_type{};
-template <class T, std::size_t N> struct is_nothrow_move_constructible<T[N]> : public ::boost::false_type{};
-template <class T> struct is_nothrow_move_constructible<T[]> : public ::boost::false_type{};
-
-#else
-
-#include <boost/type_traits/has_trivial_move_constructor.hpp>
-#include <boost/type_traits/has_nothrow_copy.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost{
-
-template <class T>
-struct is_nothrow_move_constructible
-   : public integral_constant<bool,
-   (::boost::has_trivial_move_constructor<T>::value || ::boost::has_nothrow_copy<T>::value) && !::boost::is_array<T>::value>
-{};
-
-#endif
-
-template <> struct is_nothrow_move_constructible<void> : false_type{};
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct is_nothrow_move_constructible<void const> : false_type{};
-template <> struct is_nothrow_move_constructible<void volatile> : false_type{};
-template <> struct is_nothrow_move_constructible<void const volatile> : false_type{};
-#endif
-// References are always trivially constructible, even if the thing they reference is not:
-template <class T> struct is_nothrow_move_constructible<T&> : public ::boost::true_type{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct is_nothrow_move_constructible<T&&> : public ::boost::true_type{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_object.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_object.hpp
deleted file mode 100644
index fc9d2f2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_object.hpp
+++ /dev/null
@@ -1,28 +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/config.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_function.hpp>
-
-namespace boost {
-
-template <class T> struct is_object
-   : public 
-      integral_constant<
-         bool, 
-         ! ::boost::is_reference<T>::value && ! ::boost::is_void<T>::value && ! ::boost::is_function<T>::value > 
-{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_OBJECT_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_pod.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_pod.hpp
deleted file mode 100644
index 9204c93..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_pod.hpp
+++ /dev/null
@@ -1,58 +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/detail/config.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#ifdef __SUNPRO_CC
-#include <boost/type_traits/is_function.hpp>
-#endif
-
-#include <cstddef>
-
-#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;
-
-template <typename T> struct is_pod
-: public integral_constant<bool, ::boost::is_scalar<T>::value || ::boost::is_void<T>::value || BOOST_INTERNAL_IS_POD(T)>
-{};
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <typename T, std::size_t sz> struct is_pod<T[sz]> : public is_pod<T>{};
-#endif
-
-
-// the following help compilers without partial specialization support:
-template<> struct is_pod<void> : public true_type{};
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template<> struct is_pod<void const> : public true_type{};
-template<> struct is_pod<void const volatile> : public true_type{};
-template<> struct is_pod<void volatile> : public true_type{};
-#endif
-
-template<class T> struct is_POD : public is_pod<T>{};
-
-} // namespace boost
-
-#undef BOOST_INTERNAL_IS_POD
-
-#endif // BOOST_TT_IS_POD_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_pointer.hpp
deleted file mode 100644
index 44b06c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_pointer.hpp
+++ /dev/null
@@ -1,47 +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/integral_constant.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-template <class T> struct is_pointer : public integral_constant<bool, __is_pointer(T)>{};
-#else
-template <class T> struct is_pointer : public false_type{};
-template <class T> struct is_pointer<T*> : public true_type{};
-template <class T> struct is_pointer<T*const> : public true_type{};
-template <class T> struct is_pointer<T*const volatile> : public true_type{};
-template <class T> struct is_pointer<T*volatile> : public true_type{};
-
-#ifdef BOOST_MSVC
-template <class T> struct is_pointer<T const> : public is_pointer<T>{};
-template <class T> struct is_pointer<T const volatile> : public is_pointer<T>{};
-template <class T> struct is_pointer<T volatile> : public is_pointer<T>{};
-#endif
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_polymorphic.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_polymorphic.hpp
deleted file mode 100644
index 722d8b4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_polymorphic.hpp
+++ /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).
-//
-//  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>
-#include <boost/type_traits/integral_constant.hpp>
-#ifndef BOOST_IS_POLYMORPHIC
-#include <boost/type_traits/is_class.hpp>
-#endif
-#include <boost/detail/workaround.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700)
-#pragma warning(push)
-#pragma warning(disable:4250)
-#endif
-
-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 
-   struct d1 : public T
-   {
-      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 T
-   {
-      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_imp1<T const> : public is_polymorphic_imp1<T>{};
-template <class T> struct is_polymorphic_imp1<T const volatile> : public is_polymorphic_imp1<T>{};
-template <class T> struct is_polymorphic_imp1<T volatile> : public is_polymorphic_imp1<T>{};
-
-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
-
-template <class T> struct is_polymorphic : public integral_constant<bool, ::boost::detail::is_polymorphic_imp<T>::value> {};
-
-#else // BOOST_IS_POLYMORPHIC
-
-template <class T> struct is_polymorphic : public integral_constant<bool, BOOST_IS_POLYMORPHIC(T)> {};
-
-#endif
-
-} // namespace boost
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_reference.hpp
deleted file mode 100644
index 85f0a63..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_reference.hpp
+++ /dev/null
@@ -1,30 +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/is_lvalue_reference.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-
-namespace boost {
-
-template <class T> struct is_reference 
-   : public 
-   integral_constant<
-      bool, 
-      ::boost::is_lvalue_reference<T>::value || ::boost::is_rvalue_reference<T>::value>
-{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_rvalue_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_rvalue_reference.hpp
deleted file mode 100644
index 50e88ed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_rvalue_reference.hpp
+++ /dev/null
@@ -1,25 +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/config.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-template <class T> struct is_rvalue_reference : public false_type {};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T> struct is_rvalue_reference<T&&> : public true_type {};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_same.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_same.hpp
deleted file mode 100644
index d16f4b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_same.hpp
+++ /dev/null
@@ -1,41 +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/integral_constant.hpp>
-
-namespace boost {
-
-
-   template <class T, class U> struct is_same : public false_type {};
-   template <class T> struct is_same<T,T> : public true_type {};
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-// without this, Borland's compiler gives the wrong answer for
-// references to arrays:
-   template <class T> struct is_same<T&, T&> : public true_type{};
-#endif
-
-
-} // namespace boost
-
-#endif  // BOOST_TT_IS_SAME_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_scalar.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_scalar.hpp
deleted file mode 100644
index 3031440..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_scalar.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_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/config.hpp>
-
-namespace boost {
-
-template <typename T>
-struct is_scalar
-   : public integral_constant<bool, ::boost::is_arithmetic<T>::value || ::boost::is_enum<T>::value || ::boost::is_pointer<T>::value || ::boost::is_member_pointer<T>::value>
-{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_signed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_signed.hpp
deleted file mode 100644
index 70ca2e4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_signed.hpp
+++ /dev/null
@@ -1,163 +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 <climits>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1310) && \
-    !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) &&\
-    !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-namespace detail{
-
-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_impl
-{
-   typedef ::boost::detail::is_signed_select_helper< ::boost::is_integral<T>::value || ::boost::is_enum<T>::value> selector;
-   typedef typename selector::template rebind<T> binder;
-   typedef typename binder::type type;
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
-};
-
-}
-
-template <class T> struct is_signed : public integral_constant<bool, boost::detail::is_signed_impl<T>::value> {};
-
-#else
-
-template <class T> struct is_signed : public false_type{};
-
-#endif
-
-#else //defined( __CODEGEARC__ )
-   template <class T> struct is_signed : public integral_constant<bool, __is_signed(T)>{};
-#endif
-
-template <> struct is_signed<signed char> : public true_type{};
-template <> struct is_signed<const signed char> : public true_type{};
-template <> struct is_signed<volatile signed char> : public true_type{};
-template <> struct is_signed<const volatile signed char> : public true_type{};
-template <> struct is_signed<short> : public true_type{};
-template <> struct is_signed<const short> : public true_type{};
-template <> struct is_signed<volatile short> : public true_type{};
-template <> struct is_signed<const volatile short> : public true_type{};
-template <> struct is_signed<int> : public true_type{};
-template <> struct is_signed<const int> : public true_type{};
-template <> struct is_signed<volatile int> : public true_type{};
-template <> struct is_signed<const volatile int> : public true_type{};
-template <> struct is_signed<long> : public true_type{};
-template <> struct is_signed<const long> : public true_type{};
-template <> struct is_signed<volatile long> : public true_type{};
-template <> struct is_signed<const volatile long> : public true_type{};
-
-template <> struct is_signed<unsigned char> : public false_type{};
-template <> struct is_signed<const unsigned char> : public false_type{};
-template <> struct is_signed<volatile unsigned char> : public false_type{};
-template <> struct is_signed<const volatile unsigned char> : public false_type{};
-template <> struct is_signed<unsigned short> : public false_type{};
-template <> struct is_signed<const unsigned short> : public false_type{};
-template <> struct is_signed<volatile unsigned short> : public false_type{};
-template <> struct is_signed<const volatile unsigned short> : public false_type{};
-template <> struct is_signed<unsigned int> : public false_type{};
-template <> struct is_signed<const unsigned int> : public false_type{};
-template <> struct is_signed<volatile unsigned int> : public false_type{};
-template <> struct is_signed<const volatile unsigned int> : public false_type{};
-template <> struct is_signed<unsigned long> : public false_type{};
-template <> struct is_signed<const unsigned long> : public false_type{};
-template <> struct is_signed<volatile unsigned long> : public false_type{};
-template <> struct is_signed<const volatile unsigned long> : public false_type{};
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct is_signed< ::boost::long_long_type> : public true_type{};
-template <> struct is_signed<const ::boost::long_long_type> : public true_type{};
-template <> struct is_signed<volatile ::boost::long_long_type> : public true_type{};
-template <> struct is_signed<const volatile ::boost::long_long_type> : public true_type{};
-
-template <> struct is_signed< ::boost::ulong_long_type> : public false_type{};
-template <> struct is_signed<const ::boost::ulong_long_type> : public false_type{};
-template <> struct is_signed<volatile ::boost::ulong_long_type> : public false_type{};
-template <> struct is_signed<const volatile ::boost::ulong_long_type> : public false_type{};
-#endif
-#if defined(CHAR_MIN) 
-#if CHAR_MIN != 0
-template <> struct is_signed<char> : public true_type{};
-template <> struct is_signed<const char> : public true_type{};
-template <> struct is_signed<volatile char> : public true_type{};
-template <> struct is_signed<const volatile char> : public true_type{};
-#else
-template <> struct is_signed<char> : public false_type{};
-template <> struct is_signed<const char> : public false_type{};
-template <> struct is_signed<volatile char> : public false_type{};
-template <> struct is_signed<const volatile char> : public false_type{};
-#endif
-#endif
-#if defined(WCHAR_MIN) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#if WCHAR_MIN != 0
-template <> struct is_signed<wchar_t> : public true_type{};
-template <> struct is_signed<const wchar_t> : public true_type{};
-template <> struct is_signed<volatile wchar_t> : public true_type{};
-template <> struct is_signed<const volatile wchar_t> : public true_type{};
-#else
-template <> struct is_signed<wchar_t> : public false_type{};
-template <> struct is_signed<const wchar_t> : public false_type{};
-template <> struct is_signed<volatile wchar_t> : public false_type{};
-template <> struct is_signed<const volatile wchar_t> : public false_type{};
-#endif
-#endif
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_stateless.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_stateless.hpp
deleted file mode 100644
index f9266da..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_stateless.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.
-
-#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/config.hpp>
-
-namespace boost {
-
-template <typename T>
-struct is_stateless
- : public integral_constant<bool,  
-      (::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)>
-{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_union.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_union.hpp
deleted file mode 100644
index c5e1a96..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_union.hpp
+++ /dev/null
@@ -1,31 +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/intrinsics.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-#ifdef BOOST_IS_UNION
-template <class T> struct is_union : public integral_constant<bool, BOOST_IS_UNION(T)> {};
-#else
-template <class T> struct is_union : public integral_constant<bool, false> {};
-#endif
-
-template <class T> struct is_union<T const> : public is_union<T>{};
-template <class T> struct is_union<T volatile const> : public is_union<T>{};
-template <class T> struct is_union<T volatile> : public is_union<T>{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_UNION_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_unsigned.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_unsigned.hpp
deleted file mode 100644
index c4c54af..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_unsigned.hpp
+++ /dev/null
@@ -1,163 +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 <climits>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1310) &&\
-    !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) &&\
-    !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-namespace detail{
-
-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_unsigned_select_helper
-{
-   template <class T>
-   struct rebind
-   {
-      typedef is_ununsigned_helper<T> type;
-   };
-};
-
-template <>
-struct is_unsigned_select_helper<false>
-{
-   template <class T>
-   struct rebind
-   {
-      typedef false_type type;
-   };
-};
-
-template <class T>
-struct is_unsigned
-{
-   typedef ::boost::detail::is_unsigned_select_helper< ::boost::is_integral<T>::value || ::boost::is_enum<T>::value > selector;
-   typedef typename selector::template rebind<T> binder;
-   typedef typename binder::type type;
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
-};
-
-} // namespace detail
-
-template <class T> struct is_unsigned : public integral_constant<bool, boost::detail::is_unsigned<T>::value> {};
-
-#else
-
-template <class T> struct is_unsigned : public false_type{};
-
-#endif
-
-#else // defined( __CODEGEARC__ )
-template <class T> struct is_unsigned : public integral_constant<bool, __is_unsigned(T)> {};
-#endif
-
-template <> struct is_unsigned<unsigned char> : public true_type{};
-template <> struct is_unsigned<const unsigned char> : public true_type{};
-template <> struct is_unsigned<volatile unsigned char> : public true_type{};
-template <> struct is_unsigned<const volatile unsigned char> : public true_type{};
-template <> struct is_unsigned<unsigned short> : public true_type{};
-template <> struct is_unsigned<const unsigned short> : public true_type{};
-template <> struct is_unsigned<volatile unsigned short> : public true_type{};
-template <> struct is_unsigned<const volatile unsigned short> : public true_type{};
-template <> struct is_unsigned<unsigned int> : public true_type{};
-template <> struct is_unsigned<const unsigned int> : public true_type{};
-template <> struct is_unsigned<volatile unsigned int> : public true_type{};
-template <> struct is_unsigned<const volatile unsigned int> : public true_type{};
-template <> struct is_unsigned<unsigned long> : public true_type{};
-template <> struct is_unsigned<const unsigned long> : public true_type{};
-template <> struct is_unsigned<volatile unsigned long> : public true_type{};
-template <> struct is_unsigned<const volatile unsigned long> : public true_type{};
-
-template <> struct is_unsigned<signed char> : public false_type{};
-template <> struct is_unsigned<const signed char> : public false_type{};
-template <> struct is_unsigned<volatile signed char> : public false_type{};
-template <> struct is_unsigned<const volatile signed char> : public false_type{};
-template <> struct is_unsigned< short> : public false_type{};
-template <> struct is_unsigned<const  short> : public false_type{};
-template <> struct is_unsigned<volatile  short> : public false_type{};
-template <> struct is_unsigned<const volatile  short> : public false_type{};
-template <> struct is_unsigned< int> : public false_type{};
-template <> struct is_unsigned<const  int> : public false_type{};
-template <> struct is_unsigned<volatile  int> : public false_type{};
-template <> struct is_unsigned<const volatile  int> : public false_type{};
-template <> struct is_unsigned< long> : public false_type{};
-template <> struct is_unsigned<const  long> : public false_type{};
-template <> struct is_unsigned<volatile  long> : public false_type{};
-template <> struct is_unsigned<const volatile  long> : public false_type{};
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct is_unsigned< ::boost::ulong_long_type> : public true_type{};
-template <> struct is_unsigned<const ::boost::ulong_long_type> : public true_type{};
-template <> struct is_unsigned<volatile ::boost::ulong_long_type> : public true_type{};
-template <> struct is_unsigned<const volatile ::boost::ulong_long_type> : public true_type{};
-
-template <> struct is_unsigned< ::boost::long_long_type> : public false_type{};
-template <> struct is_unsigned<const ::boost::long_long_type> : public false_type{};
-template <> struct is_unsigned<volatile ::boost::long_long_type> : public false_type{};
-template <> struct is_unsigned<const volatile ::boost::long_long_type> : public false_type{};
-#endif
-#if defined(CHAR_MIN) 
-#if CHAR_MIN == 0
-template <> struct is_unsigned<char> : public true_type{};
-template <> struct is_unsigned<const char> : public true_type{};
-template <> struct is_unsigned<volatile char> : public true_type{};
-template <> struct is_unsigned<const volatile char> : public true_type{};
-#else
-template <> struct is_unsigned<char> : public false_type{};
-template <> struct is_unsigned<const char> : public false_type{};
-template <> struct is_unsigned<volatile char> : public false_type{};
-template <> struct is_unsigned<const volatile char> : public false_type{};
-#endif
-#endif
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && defined(WCHAR_MIN)
-#if WCHAR_MIN == 0
-template <> struct is_unsigned<wchar_t> : public true_type{};
-template <> struct is_unsigned<const wchar_t> : public true_type{};
-template <> struct is_unsigned<volatile wchar_t> : public true_type{};
-template <> struct is_unsigned<const volatile wchar_t> : public true_type{};
-#else
-template <> struct is_unsigned<wchar_t> : public false_type{};
-template <> struct is_unsigned<const wchar_t> : public false_type{};
-template <> struct is_unsigned<volatile wchar_t> : public false_type{};
-template <> struct is_unsigned<const volatile wchar_t> : public false_type{};
-#endif
-#endif
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_virtual_base_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_virtual_base_of.hpp
deleted file mode 100644
index f005256..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_virtual_base_of.hpp
+++ /dev/null
@@ -1,105 +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>
-
-namespace boost {
-namespace detail {
-
-
-#ifdef BOOST_MSVC
-#pragma warning( push )
-#pragma warning( disable : 4584 4250)
-#elif defined(__GNUC__) && (__GNUC__ >= 4)
-#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, true_type>
-{
-   union max_align
-   {
-      unsigned u;
-      unsigned long ul;
-      void* v;
-      double d;
-      long double ld;
-#ifndef BOOST_NO_LONG_LONG
-      long long ll;
-#endif
-   };
-#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();
-       max_align data[4];
-    };
-    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();
-       max_align data[4];
-    };
-#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();
-       max_align data[16];
-    };
-    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();
-       max_align data[16];
-    };
-#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 boost::integral_constant<bool, (boost::is_base_of<Base, Derived>::value && ! boost::is_same<Base, Derived>::value)> 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
-
-template <class Base, class Derived> struct is_virtual_base_of : public integral_constant<bool, (::boost::detail::is_virtual_base_of_impl2<Base, Derived>::value)>{};
-
-template <class Base, class Derived> struct is_virtual_base_of<Base&, Derived> : public false_type{};
-template <class Base, class Derived> struct is_virtual_base_of<Base, Derived&> : public false_type{};
-template <class Base, class Derived> struct is_virtual_base_of<Base&, Derived&> : public false_type{};
-
-} // namespace boost
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_void.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_void.hpp
deleted file mode 100644
index 183f8ab..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_void.hpp
+++ /dev/null
@@ -1,26 +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/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-template <class T>
-struct is_void : public false_type {};
-
-template<> struct is_void<void> : public true_type {};
-template<> struct is_void<const void> : public true_type{};
-template<> struct is_void<const volatile void> : public true_type{};
-template<> struct is_void<volatile void> : public true_type{};
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_VOID_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_volatile.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_volatile.hpp
deleted file mode 100644
index cefe987..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/is_volatile.hpp
+++ /dev/null
@@ -1,45 +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/type_traits/integral_constant.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-
-   template <class T>
-   struct is_volatile : public integral_constant<bool, __is_volatile(T)> {};
-
-#else
-
-   template <class T>
-   struct is_volatile : public false_type {};
-   template <class T> struct is_volatile<T volatile> : public true_type{};
-   template <class T, size_t N> struct is_volatile<T volatile[N]> : public true_type{};
-   template <class T> struct is_volatile<T volatile[]> : public true_type{};
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/make_signed.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/make_signed.hpp
deleted file mode 100644
index 0d2d5df..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/make_signed.hpp
+++ /dev/null
@@ -1,131 +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/type_traits/conditional.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/static_assert.hpp>
-
-namespace boost {
-
-template <class T>
-struct make_signed
-{
-private:
-   BOOST_STATIC_ASSERT_MSG(( ::boost::is_integral<T>::value || ::boost::is_enum<T>::value), "The template argument to make_signed must be an integer or enum type.");
-   BOOST_STATIC_ASSERT_MSG(!(::boost::is_same<typename remove_cv<T>::type, bool>::value), "The template argument to make_signed must not be the type bool.");
-
-   typedef typename remove_cv<T>::type t_no_cv;
-   typedef typename conditional<
-      (::boost::is_signed<T>::value
-      && ::boost::is_integral<T>::value
-      && ! ::boost::is_same<t_no_cv, char>::value
-      && ! ::boost::is_same<t_no_cv, wchar_t>::value
-      && ! ::boost::is_same<t_no_cv, bool>::value),
-      T,
-      typename conditional<
-         (::boost::is_integral<T>::value
-         && ! ::boost::is_same<t_no_cv, char>::value
-         && ! ::boost::is_same<t_no_cv, wchar_t>::value
-         && ! ::boost::is_same<t_no_cv, bool>::value),
-         typename conditional<
-            is_same<t_no_cv, unsigned char>::value,
-            signed char,
-            typename conditional<
-               is_same<t_no_cv, unsigned short>::value,
-               signed short,
-               typename conditional<
-                  is_same<t_no_cv, unsigned int>::value,
-                  int,
-                  typename conditional<
-                     is_same<t_no_cv, unsigned long>::value,
-                     long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
-                     typename conditional<
-                        sizeof(t_no_cv) == sizeof(boost::long_long_type), 
-                        boost::long_long_type, 
-                        boost::int128_type
-                     >::type
-#else
-                     boost::long_long_type
-#endif
-#elif defined(BOOST_HAS_MS_INT64)
-                     __int64
-#else
-                     long
-#endif
-                  >::type
-               >::type
-            >::type
-         >::type,
-         // Not a regular integer type:
-         typename conditional<
-            sizeof(t_no_cv) == sizeof(unsigned char),
-            signed char,
-            typename conditional<
-               sizeof(t_no_cv) == sizeof(unsigned short),
-               signed short,
-               typename conditional<
-                  sizeof(t_no_cv) == sizeof(unsigned int),
-                  int,
-                  typename conditional<
-                     sizeof(t_no_cv) == sizeof(unsigned long),
-                     long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
-                     typename conditional<
-                        sizeof(t_no_cv) == sizeof(boost::long_long_type), 
-                        boost::long_long_type, 
-                        boost::int128_type
-                     >::type
-#else
-                     boost::long_long_type
-#endif
-#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 conditional<
-      is_const<T>::value,
-      typename add_const<base_integer_type>::type,
-      base_integer_type
-   >::type const_base_integer_type;
-public:
-   // Add back any volatile qualifier:
-   typedef typename conditional<
-      is_volatile<T>::value,
-      typename add_volatile<const_base_integer_type>::type,
-      const_base_integer_type
-   >::type type;
-};
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/make_unsigned.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/make_unsigned.hpp
deleted file mode 100644
index 4b21eba..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/make_unsigned.hpp
+++ /dev/null
@@ -1,130 +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/type_traits/conditional.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/static_assert.hpp>
-
-namespace boost {
-
-template <class T>
-struct make_unsigned
-{
-private:
-   BOOST_STATIC_ASSERT_MSG((::boost::is_integral<T>::value || ::boost::is_enum<T>::value), "The template argument to make_unsigned must be an integer or enum type.");
-   BOOST_STATIC_ASSERT_MSG((! ::boost::is_same<typename remove_cv<T>::type, bool>::value), "The template argument to make_unsigned must not be the type bool");
-
-   typedef typename remove_cv<T>::type t_no_cv;
-   typedef typename conditional<
-      (::boost::is_unsigned<T>::value && ::boost::is_integral<T>::value 
-      && ! ::boost::is_same<t_no_cv, char>::value
-      && ! ::boost::is_same<t_no_cv, wchar_t>::value
-      && ! ::boost::is_same<t_no_cv, bool>::value),
-      T,
-      typename conditional<
-         (::boost::is_integral<T>::value 
-         && ! ::boost::is_same<t_no_cv, char>::value
-         && ! ::boost::is_same<t_no_cv, wchar_t>::value
-         && ! ::boost::is_same<t_no_cv, bool>::value),
-         typename conditional<
-            is_same<t_no_cv, signed char>::value,
-            unsigned char,
-            typename conditional<
-               is_same<t_no_cv, short>::value,
-               unsigned short,
-               typename conditional<
-                  is_same<t_no_cv, int>::value,
-                  unsigned int,
-                  typename conditional<
-                     is_same<t_no_cv, long>::value,
-                     unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
-                     typename conditional<
-                        sizeof(t_no_cv) == sizeof(boost::ulong_long_type), 
-                        boost::ulong_long_type, 
-                        boost::uint128_type
-                     >::type
-#else
-                     boost::ulong_long_type
-#endif
-#elif defined(BOOST_HAS_MS_INT64)
-                     unsigned __int64
-#else
-                     unsigned long
-#endif
-                  >::type
-               >::type
-            >::type
-         >::type,
-         // Not a regular integer type:
-         typename conditional<
-            sizeof(t_no_cv) == sizeof(unsigned char),
-            unsigned char,
-            typename conditional<
-               sizeof(t_no_cv) == sizeof(unsigned short),
-               unsigned short,
-               typename conditional<
-                  sizeof(t_no_cv) == sizeof(unsigned int),
-                  unsigned int,
-                  typename conditional<
-                     sizeof(t_no_cv) == sizeof(unsigned long),
-                     unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
-                     typename conditional<
-                        sizeof(t_no_cv) == sizeof(boost::ulong_long_type), 
-                        boost::ulong_long_type, 
-                        boost::uint128_type
-                     >::type
-#else
-                     boost::ulong_long_type
-#endif
-#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 conditional<
-      is_const<T>::value,
-      typename add_const<base_integer_type>::type,
-      base_integer_type
-   >::type const_base_integer_type;
-public:
-   // Add back any volatile qualifier:
-   typedef typename conditional<
-      is_volatile<T>::value,
-      typename add_volatile<const_base_integer_type>::type,
-      const_base_integer_type
-   >::type type;
-};
-
-} // namespace boost
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/object_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/object_traits.hpp
deleted file mode 100644
index c812a62..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/promote.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/promote.hpp
deleted file mode 100644
index 587617a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/promote.hpp
+++ /dev/null
@@ -1,20 +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>
-
-namespace boost {
-
-template<class T> struct promote : public integral_promotion<typename floating_point_promotion<T>::type>{};
-
-}
-
-#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/rank.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/rank.hpp
deleted file mode 100644
index 3dfc693..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/rank.hpp
+++ /dev/null
@@ -1,86 +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
-
-#include <boost/type_traits/integral_constant.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_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__ )
-template <class T> struct rank : public integral_constant<std::size_t, __array_rank(T)>{};
-#else
-template <class T> struct rank : public integral_constant<std::size_t, (::boost::detail::rank_imp<T, 0>::value)>{};
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/reference_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/reference_traits.hpp
deleted file mode 100644
index 1607b3d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_all_extents.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_all_extents.hpp
deleted file mode 100644
index 3ccdc98..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_all_extents.hpp
+++ /dev/null
@@ -1,35 +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>
-
-namespace boost {
-
-template <class T> struct remove_all_extents{ typedef T type; };
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <class T, std::size_t N> struct remove_all_extents<T[N]> : public remove_all_extents<T>{};
-template <class T, std::size_t N> struct remove_all_extents<T const[N]> : public remove_all_extents<T const>{};
-template <class T, std::size_t N> struct remove_all_extents<T volatile[N]> : public remove_all_extents<T volatile>{};
-template <class T, std::size_t N> struct remove_all_extents<T const volatile[N]> : public remove_all_extents<T const volatile>{};
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-template <class T> struct remove_all_extents<T[]> : public remove_all_extents<T>{};
-template <class T> struct remove_all_extents<T const[]> : public remove_all_extents<T const>{};
-template <class T> struct remove_all_extents<T volatile[]> : public remove_all_extents<T volatile>{};
-template <class T> struct remove_all_extents<T const volatile[]> : public remove_all_extents<T const volatile>{};
-#endif
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_bounds.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_bounds.hpp
deleted file mode 100644
index 56988d2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_bounds.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.
-
-#ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-
-#include <boost/type_traits/remove_extent.hpp>
-
-namespace boost 
-{
-
-template <class T> struct remove_bounds : public remove_extent<T> {};
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_const.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_const.hpp
deleted file mode 100644
index b47f851..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_const.hpp
+++ /dev/null
@@ -1,33 +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/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-
-   //  convert a type T to a non-cv-qualified type - remove_const<T>
-   template <class T> struct remove_const{ typedef T type; };
-   template <class T> struct remove_const<T const>{ typedef T type; };
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-   template <class T, std::size_t N> struct remove_const<T const[N]>{ typedef T type[N]; };
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-   template <class T> struct remove_const<T const[]>{ typedef T type[]; };
-#endif
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_cv.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_cv.hpp
deleted file mode 100644
index b50607f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_cv.hpp
+++ /dev/null
@@ -1,40 +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/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <cstddef>
-
-namespace boost {
-
-   //  convert a type T to a non-cv-qualified type - remove_cv<T>
-template <class T> struct remove_cv{ typedef T type; };
-template <class T> struct remove_cv<T const>{ typedef T type;  };
-template <class T> struct remove_cv<T volatile>{ typedef T type; };
-template <class T> struct remove_cv<T const volatile>{ typedef T type; };
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <class T, std::size_t N> struct remove_cv<T const[N]>{ typedef T type[N]; };
-template <class T, std::size_t N> struct remove_cv<T const volatile[N]>{ typedef T type[N]; };
-template <class T, std::size_t N> struct remove_cv<T volatile[N]>{ typedef T type[N]; };
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-template <class T> struct remove_cv<T const[]>{ typedef T type[]; };
-template <class T> struct remove_cv<T const volatile[]>{ typedef T type[]; };
-template <class T> struct remove_cv<T volatile[]>{ typedef T type[]; };
-#endif
-#endif
-
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_extent.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_extent.hpp
deleted file mode 100644
index 0b50a07..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_extent.hpp
+++ /dev/null
@@ -1,35 +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>
-
-namespace boost {
-
-template <class T> struct remove_extent{ typedef T type; };
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <typename T, std::size_t N> struct remove_extent<T[N]> { typedef T type; };
-template <typename T, std::size_t N> struct remove_extent<T const[N]> { typedef T const type; };
-template <typename T, std::size_t N> struct remove_extent<T volatile [N]> { typedef T volatile type; };
-template <typename T, std::size_t N> struct remove_extent<T const volatile [N]> { typedef T const volatile type; };
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-template <typename T> struct remove_extent<T[]> { typedef T type; };
-template <typename T> struct remove_extent<T const[]> { typedef T const type; };
-template <typename T> struct remove_extent<T volatile[]> { typedef T volatile type; };
-template <typename T> struct remove_extent<T const volatile[]> { typedef T const volatile type; };
-#endif
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_pointer.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_pointer.hpp
deleted file mode 100644
index fb79e59..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_pointer.hpp
+++ /dev/null
@@ -1,77 +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>
-
-#if defined(BOOST_MSVC)
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#endif
-
-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;
-   };
-}
-
-template <class T> struct remove_pointer{ typedef typename boost::detail::remove_pointer_imp2<T>::type type; };
-
-#else
-
-template <class T> struct remove_pointer{ typedef T type; };
-template <class T> struct remove_pointer<T*>{ typedef T type; };
-template <class T> struct remove_pointer<T*const>{ typedef T type; };
-template <class T> struct remove_pointer<T*volatile>{ typedef T type; };
-template <class T> struct remove_pointer<T*const volatile>{ typedef T type; };
-
-#endif
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_reference.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_reference.hpp
deleted file mode 100644
index f75e677..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_reference.hpp
+++ /dev/null
@@ -1,54 +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/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-
-
-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_CXX11_RVALUE_REFERENCES
-template <class T>
-struct remove_rvalue_ref<T&&>
-{
-   typedef T type;
-};
-#endif
-
-} // namespace detail
-
-template <class T> struct remove_reference{ typedef typename boost::detail::remove_rvalue_ref<T>::type type; };
-template <class T> struct remove_reference<T&>{ typedef T type; };
-
-#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...
-template <class T> struct remove_reference<T&const>{ typedef T type; };
-template <class T> struct remove_reference<T&volatile>{ typedef T type; };
-template <class T> struct remove_reference<T&const volatile>{ typedef T type; };
-#endif
-
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_volatile.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_volatile.hpp
deleted file mode 100644
index 475e39d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/remove_volatile.hpp
+++ /dev/null
@@ -1,34 +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/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <cstddef>
-
-namespace boost {
-
-   //  convert a type T to a non-cv-qualified type - remove_volatile<T>
-   template <class T> struct remove_volatile{ typedef T type; };
-   template <class T> struct remove_volatile<T volatile>{ typedef T type; };
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-   template <class T, std::size_t N> struct remove_volatile<T volatile[N]>{ typedef T type[N]; };
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-   template <class T> struct remove_volatile<T volatile[]>{ typedef T type[]; };
-#endif
-#endif
-
-
-} // namespace boost
-
-#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/same_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/same_traits.hpp
deleted file mode 100644
index dab7dac..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/transform_traits.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/transform_traits.hpp
deleted file mode 100644
index 7a82f1c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/type_traits/type_identity.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/type_identity.hpp
deleted file mode 100644
index 6d2dd5b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/type_identity.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED
-
-//
-//  Copyright 2015 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 type_identity
-{
-    typedef T type;
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/type_with_alignment.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/type_with_alignment.hpp
deleted file mode 100644
index ffa054a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/type_traits/type_with_alignment.hpp
+++ /dev/null
@@ -1,261 +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/type_traits/alignment_of.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_MSVC
-#   pragma warning(push)
-#   pragma warning(disable: 4121) // alignment is sensitive to packing
-#endif
-
-#ifdef _MSC_VER
-#include <boost/type_traits/conditional.hpp>
-#endif
-
-namespace boost {
-   namespace detail{
-
-#ifndef __BORLANDC__
-
-      union max_align
-      {
-         char c;
-         short s;
-         int i;
-         long l;
-#ifndef BOOST_NO_LONG_LONG
-         boost::long_long_type ll;
-#endif
-#ifdef BOOST_HAS_INT128
-         boost::int128_type i128;
-#endif
-         float f;
-         double d;
-         long double ld;
-#ifdef BOOST_HAS_FLOAT128
-         __float128 f128;
-#endif
-      };
-
-template <std::size_t Target, bool check> struct long_double_alignment{ typedef long double type; };
-template <std::size_t Target> struct long_double_alignment<Target, false>{ typedef boost::detail::max_align type; };
-
-template <std::size_t Target, bool check> struct double_alignment{ typedef double type; };
-template <std::size_t Target> struct double_alignment<Target, false>{ typedef typename long_double_alignment<Target, boost::alignment_of<long double>::value >= Target>::type type; };
-
-#ifndef BOOST_NO_LONG_LONG
-template <std::size_t Target, bool check> struct long_long_alignment{ typedef boost::long_long_type type; };
-template <std::size_t Target> struct long_long_alignment<Target, false>{ typedef typename double_alignment<Target, boost::alignment_of<double>::value >= Target>::type type; };
-#endif
-
-template <std::size_t Target, bool check> struct long_alignment{ typedef long type; };
-#ifndef BOOST_NO_LONG_LONG
-template <std::size_t Target> struct long_alignment<Target, false>{ typedef typename long_long_alignment<Target, boost::alignment_of<boost::long_long_type>::value >= Target>::type type; };
-#else
-template <std::size_t Target> struct long_alignment<Target, false>{ typedef typename double_alignment<Target, boost::alignment_of<double>::value >= Target>::type type; };
-#endif
-
-template <std::size_t Target, bool check> struct int_alignment{ typedef int type; };
-template <std::size_t Target> struct int_alignment<Target, false>{ typedef typename long_alignment<Target, boost::alignment_of<long>::value >= Target>::type type; };
-
-template <std::size_t Target, bool check> struct short_alignment{ typedef short type; };
-template <std::size_t Target> struct short_alignment<Target, false>{ typedef typename int_alignment<Target, boost::alignment_of<int>::value >= Target>::type type; };
-
-template <std::size_t Target, bool check> struct char_alignment{ typedef char type; };
-template <std::size_t Target> struct char_alignment<Target, false>{ typedef typename short_alignment<Target, boost::alignment_of<short>::value >= Target>::type type; };
-
-}
-
-template <std::size_t Align>
-struct type_with_alignment 
-{
-   typedef typename boost::detail::char_alignment<Align, boost::alignment_of<char>::value >= Align>::type type;
-};
-
-#if (defined(__GNUC__) || (defined (__SUNPRO_CC) &&  (__SUNPRO_CC >= 0x5130)) || defined(__clang__)) && !defined(BOOST_TT_DISABLE_INTRINSICS)
-namespace tt_align_ns {
-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 {};
-struct __attribute__((__aligned__(64))) a64 {};
-struct __attribute__((__aligned__(128))) a128 {};
-}
-
-template<> struct type_with_alignment<1>  { public: typedef char type; };
-template<> struct type_with_alignment<2>  { public: typedef tt_align_ns::a2 type; };
-template<> struct type_with_alignment<4>  { public: typedef tt_align_ns::a4 type; };
-template<> struct type_with_alignment<8>  { public: typedef tt_align_ns::a8 type; };
-template<> struct type_with_alignment<16> { public: typedef tt_align_ns::a16 type; };
-template<> struct type_with_alignment<32> { public: typedef tt_align_ns::a32 type; };
-template<> struct type_with_alignment<64> { public: typedef tt_align_ns::a64 type; };
-template<> struct type_with_alignment<128> { public: typedef tt_align_ns::a128 type; };
-
-template<> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a32> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a64> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{};
-
-#endif
-#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && !defined(BOOST_TT_DISABLE_INTRINSICS)
-//
-// 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 tt_align_ns {
-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<> struct type_with_alignment<8>  
-{ 
-   typedef boost::conditional<
-      ::boost::alignment_of<boost::detail::max_align>::value < 8,
-      tt_align_ns::a8,
-      boost::detail::char_alignment<8, false> >::type t1;
-public: 
-   typedef t1::type type;
-};
-template<> struct type_with_alignment<16> 
-{ 
-   typedef boost::conditional<
-      ::boost::alignment_of<boost::detail::max_align>::value < 16,
-      tt_align_ns::a16,
-      boost::detail::char_alignment<16, false> >::type t1;
-public: 
-   typedef t1::type type;
-};
-template<> struct type_with_alignment<32> 
-{ 
-   typedef boost::conditional<
-      ::boost::alignment_of<boost::detail::max_align>::value < 32,
-      tt_align_ns::a32,
-      boost::detail::char_alignment<32, false> >::type t1;
-public: 
-   typedef t1::type type;
-};
-template<> struct type_with_alignment<64> {
-   typedef boost::conditional<
-      ::boost::alignment_of<boost::detail::max_align>::value < 64,
-      tt_align_ns::a64,
-      boost::detail::char_alignment<64, false> >::type t1;
-public: 
-   typedef t1::type type;
-};
-template<> struct type_with_alignment<128> {
-   typedef boost::conditional<
-      ::boost::alignment_of<boost::detail::max_align>::value < 128,
-      tt_align_ns::a128,
-      boost::detail::char_alignment<128, false> >::type t1;
-public: 
-   typedef t1::type type;
-};
-
-template<> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a32> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a64> : public true_type{};
-template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{};
-
-#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 tt_align_ns{
-#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::tt_align_ns::a16 max_align;
-
-}
-//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-template <> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{};
-template <> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{};
-template <> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{};
-template <> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{};
-//#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 tt_align_ns::a16 type;
-};
-template <> struct type_with_alignment<1>{ typedef char type; };
-template <> struct type_with_alignment<2>{ typedef tt_align_ns::a2 type; };
-template <> struct type_with_alignment<4>{ typedef tt_align_ns::a4 type; };
-template <> struct type_with_alignment<8>{ typedef tt_align_ns::a8 type; };
-template <> struct type_with_alignment<16>{ typedef tt_align_ns::a16 type; };
-
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-#   pragma warning(pop)
-#endif
-
-#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/dmc/typeof_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/dmc/typeof_impl.hpp
deleted file mode 100755
index 2460622..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/encode_decode.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/encode_decode.hpp
deleted file mode 100755
index 5a13fd5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/encode_decode_params.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/encode_decode_params.hpp
deleted file mode 100755
index 640bfdc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/incr_registration_group.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/incr_registration_group.hpp
deleted file mode 100755
index 6f4803a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/incr_registration_group.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (C) 2004, 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)
-
-// Inclusion of this file increments BOOST_TYPEOF_REGISTRATION_GROUP 
-// This method was suggested by Paul Mensonides
-
-#ifdef BOOST_TYPEOF_EMULATION
-#   undef BOOST_TYPEOF_REGISTRATION_GROUP
-
-#   include <boost/preprocessor/slot/counter.hpp>
-#   include BOOST_PP_UPDATE_COUNTER()
-#   define BOOST_TYPEOF_REGISTRATION_GROUP BOOST_PP_COUNTER
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/int_encoding.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/int_encoding.hpp
deleted file mode 100755
index 482b7f6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/integral_template_param.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/integral_template_param.hpp
deleted file mode 100755
index 8543be7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/message.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/message.hpp
deleted file mode 100644
index cabbb82..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/modifiers.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/modifiers.hpp
deleted file mode 100755
index 630d0dc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/msvc/typeof_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/msvc/typeof_impl.hpp
deleted file mode 100644
index 74ebc70..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/native.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/native.hpp
deleted file mode 100755
index 8197e28..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/pointers_data_members.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/pointers_data_members.hpp
deleted file mode 100755
index 2b47e97..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/register_functions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/register_functions.hpp
deleted file mode 100644
index 407bba3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/register_functions_iterate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/register_functions_iterate.hpp
deleted file mode 100644
index aaa43f3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/register_fundamental.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/register_fundamental.hpp
deleted file mode 100755
index 3a15888..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/register_mem_functions.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/register_mem_functions.hpp
deleted file mode 100755
index 9cf9720..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/std/bitset.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/bitset.hpp
deleted file mode 100755
index bdc6ae9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/bitset.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_bitset_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_bitset_hpp_INCLUDED
-
-#include <bitset>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::bitset, (BOOST_TYPEOF_INTEGRAL(std::size_t)))
-
-#endif//BOOST_TYPEOF_STD_bitset_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/complex.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/complex.hpp
deleted file mode 100755
index 1265294..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/complex.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_complex_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_complex_hpp_INCLUDED
-
-#include <complex>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::complex, 1)
-
-#endif//BOOST_TYPEOF_STD_complex_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/deque.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/deque.hpp
deleted file mode 100755
index 643e1b2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/deque.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_deque_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_deque_hpp_INCLUDED
-
-#include <deque>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::deque, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::deque, 2)
-
-#endif//BOOST_TYPEOF_STD_deque_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/fstream.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/fstream.hpp
deleted file mode 100755
index 4ce8cbf..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/fstream.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_fstream_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_fstream_hpp_INCLUDED
-
-#include <fstream>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_filebuf, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_filebuf, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ifstream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ifstream, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ofstream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ofstream, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_fstream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_fstream, 2)
-BOOST_TYPEOF_REGISTER_TYPE(std::filebuf)
-BOOST_TYPEOF_REGISTER_TYPE(std::ifstream)
-BOOST_TYPEOF_REGISTER_TYPE(std::ofstream)
-BOOST_TYPEOF_REGISTER_TYPE(std::fstream)
-
-#endif//BOOST_TYPEOF_STD_fstream_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/functional.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/functional.hpp
deleted file mode 100755
index f1b1577..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/functional.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_functional_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_functional_hpp_INCLUDED
-
-#include <functional>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_function, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_function, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::plus, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::minus, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiplies, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::divides, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::modulus, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::negate, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::equal_to, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::not_equal_to, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::greater, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::less, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::greater_equal, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::less_equal, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_and, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_or, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_not, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_negate, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_negate, 1)
-
-#if defined(__MWERKS__) && defined(_MSL_EXTENDED_BINDERS)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder1st, 2)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder2nd, 2)
-#else
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder1st, 1)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder2nd, 1)
-#endif
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::pointer_to_unary_function, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::pointer_to_binary_function, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun_t, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_t, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun_ref_t, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_ref_t, 3)
-
-#if !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun_t, 2)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_t, 3)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun_ref_t, 2)
-    BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_ref_t, 3)
-#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-
-#endif//BOOST_TYPEOF_STD_functional_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/iostream.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/iostream.hpp
deleted file mode 100755
index 559a0ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/iostream.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_iostream_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_iostream_hpp_INCLUDED
-
-#include <iostream>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::fpos, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ios, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ios, 2)
-
-#endif//BOOST_TYPEOF_STD_iostream_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/istream.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/istream.hpp
deleted file mode 100755
index c2457f1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/istream.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_istream_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_istream_hpp_INCLUDED
-
-#include <istream>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_istream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_istream, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_iostream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_iostream, 2)
-BOOST_TYPEOF_REGISTER_TYPE(std::istream)
-BOOST_TYPEOF_REGISTER_TYPE(std::iostream)
-
-#endif//BOOST_TYPEOF_STD_istream_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/iterator.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/iterator.hpp
deleted file mode 100755
index ac7bcbc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/iterator.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_iterator_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_iterator_hpp_INCLUDED
-
-#include <iterator>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator_traits, 1)
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 3)
-#else
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 4)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::iterator, 5)
-#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-BOOST_TYPEOF_REGISTER_TYPE(std::input_iterator_tag)
-BOOST_TYPEOF_REGISTER_TYPE(std::output_iterator_tag)
-BOOST_TYPEOF_REGISTER_TYPE(std::forward_iterator_tag)
-BOOST_TYPEOF_REGISTER_TYPE(std::bidirectional_iterator_tag)
-BOOST_TYPEOF_REGISTER_TYPE(std::random_access_iterator_tag)
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 4)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 5)
-#else
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::reverse_iterator, 1)
-#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::back_insert_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::front_insert_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::insert_iterator, 1)
-#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 3)
-#else
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istream_iterator, 4)
-#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostream_iterator, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istreambuf_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::istreambuf_iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostreambuf_iterator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ostreambuf_iterator, 2)
-
-#endif//BOOST_TYPEOF_STD_iterator_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/list.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/list.hpp
deleted file mode 100755
index 7557d5e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/list.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_list_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_list_hpp_INCLUDED
-
-#include <list>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::list, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::list, 2)
-
-#endif//BOOST_TYPEOF_STD_list_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/locale.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/locale.hpp
deleted file mode 100755
index 9a21c22..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/locale.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_locale_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_locale_hpp_INCLUDED
-
-#include <locale>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TYPE(std::locale)
-BOOST_TYPEOF_REGISTER_TYPE(std::ctype_base)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ctype, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::ctype_byname, 1)
-BOOST_TYPEOF_REGISTER_TYPE(std::codecvt_base)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::codecvt, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::codecvt_byname, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::num_get, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::num_put, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::numpunct, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::numpunct_byname, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::collate, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::collate_byname, 1)
-BOOST_TYPEOF_REGISTER_TYPE(std::time_base)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::time_get, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::time_get_byname, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::time_put, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::time_put_byname, 2)
-BOOST_TYPEOF_REGISTER_TYPE(std::money_base)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::money_get, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::money_put, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::moneypunct, (class)(bool))
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::moneypunct_byname, (class)(bool))
-BOOST_TYPEOF_REGISTER_TYPE(std::messages_base)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::messages, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::messages_byname, 1)
-
-#endif//BOOST_TYPEOF_STD_locale_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/map.hpp
deleted file mode 100755
index 77839e3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/map.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_map_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_map_hpp_INCLUDED
-
-#include <map>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-#include <boost/typeof/std/functional.hpp>
-#include <boost/typeof/std/utility.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::map, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::map, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::map, 4)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multimap, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multimap, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multimap, 4)
-
-#endif//BOOST_TYPEOF_STD_map_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/memory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/memory.hpp
deleted file mode 100755
index fa3ae1d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/memory.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_memory_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_memory_hpp_INCLUDED
-
-#include <memory>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::allocator, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::raw_storage_iterator, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::auto_ptr, 1)
-
-#endif//BOOST_TYPEOF_STD_memory_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/ostream.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/ostream.hpp
deleted file mode 100755
index a792446..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/ostream.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_ostream_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_ostream_hpp_INCLUDED
-
-#include <ostream>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ostream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ostream, 2)
-BOOST_TYPEOF_REGISTER_TYPE(std::ostream)
-
-#endif//BOOST_TYPEOF_STD_ostream_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/queue.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/queue.hpp
deleted file mode 100755
index d44e24e..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/queue.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_queue_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_queue_hpp_INCLUDED
-
-#include <queue>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::queue, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::queue, 2)
-
-#endif//BOOST_TYPEOF_STD_queue_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/set.hpp
deleted file mode 100755
index 6ff6311..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/set.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_set_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_set_hpp_INCLUDED
-
-#include <set>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-#include <boost/typeof/std/functional.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::set, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::set, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::set, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiset, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiset, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiset, 3)
-
-#endif//BOOST_TYPEOF_STD_set_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/sstream.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/sstream.hpp
deleted file mode 100755
index cb92dae..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/sstream.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_sstream_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_sstream_hpp_INCLUDED
-
-#include <sstream>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_stringbuf, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_stringbuf, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_stringbuf, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_istringstream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_istringstream, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_istringstream, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ostringstream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ostringstream, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_ostringstream, 3)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_stringstream, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_stringstream, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_stringstream, 3)
-BOOST_TYPEOF_REGISTER_TYPE(std::stringbuf)
-BOOST_TYPEOF_REGISTER_TYPE(std::istringstream)
-BOOST_TYPEOF_REGISTER_TYPE(std::ostringstream)
-BOOST_TYPEOF_REGISTER_TYPE(std::stringstream)
-
-#endif//BOOST_TYPEOF_STD_sstream_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/stack.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/stack.hpp
deleted file mode 100755
index 0282678..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/stack.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_stack_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_stack_hpp_INCLUDED
-
-#include <stack>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::stack, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::stack, 2)
-
-#endif//BOOST_TYPEOF_STD_stack_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/streambuf.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/streambuf.hpp
deleted file mode 100755
index dd89b88..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/streambuf.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_streambuf_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_streambuf_hpp_INCLUDED
-
-#include <streambuf>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/string.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_streambuf, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_streambuf, 2)
-
-#endif//BOOST_TYPEOF_STD_streambuf_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/string.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/string.hpp
deleted file mode 100755
index bcafff3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/string.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_string_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_string_hpp_INCLUDED
-
-#include <string>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::char_traits, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 2)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 3)
-
-#ifndef __BORLANDC__
-//Borland chokes on this "double definition" of string
-BOOST_TYPEOF_REGISTER_TYPE(std::string)
-#endif
-
-#endif//BOOST_TYPEOF_STD_string_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/utility.hpp
deleted file mode 100755
index 2647fb6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/utility.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_utility_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_utility_hpp_INCLUDED
-
-#include <utility>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::pair, 2)
-
-#endif//BOOST_TYPEOF_STD_utility_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/valarray.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/valarray.hpp
deleted file mode 100755
index 99d4eed..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/valarray.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_valarray_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_valarray_hpp_INCLUDED
-
-#include <valarray>
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::valarray, 1)
-BOOST_TYPEOF_REGISTER_TYPE(std::slice)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::slice_array, 1)
-BOOST_TYPEOF_REGISTER_TYPE(std::gslice)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::gslice_array, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::mask_array, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::indirect_array, 1)
-
-#endif//BOOST_TYPEOF_STD_valarray_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/vector.hpp
deleted file mode 100755
index 4a5be5f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/std/vector.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb, 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_STD_vector_hpp_INCLUDED
-#define BOOST_TYPEOF_STD_vector_hpp_INCLUDED
-
-#include <vector>
-#include <boost/typeof/typeof.hpp>
-#include <boost/typeof/std/memory.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::vector, 1)
-BOOST_TYPEOF_REGISTER_TEMPLATE(std::vector, 2)
-
-#endif//BOOST_TYPEOF_STD_vector_hpp_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/typeof/template_encoding.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/template_encoding.hpp
deleted file mode 100755
index bae7e89..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/template_template_param.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/template_template_param.hpp
deleted file mode 100755
index 4d64190..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/type_encoding.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/type_encoding.hpp
deleted file mode 100755
index e0378c2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/type_template_param.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/type_template_param.hpp
deleted file mode 100755
index 28a860c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/typeof.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/typeof.hpp
deleted file mode 100644
index 4d56964..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/typeof_impl.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/typeof_impl.hpp
deleted file mode 100755
index d627b85..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/unsupported.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/unsupported.hpp
deleted file mode 100644
index 83d3a55..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/vector.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/vector.hpp
deleted file mode 100755
index 7dc8d50..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/typeof/vector100.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/vector100.hpp
deleted file mode 100755
index 5c5b97f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 > 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 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/rbgl_trimmed_boost_1_61_0/boost/typeof/vector150.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/vector150.hpp
deleted file mode 100755
index a7d7fb1..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 > 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 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/rbgl_trimmed_boost_1_61_0/boost/typeof/vector200.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/vector200.hpp
deleted file mode 100755
index 43860c3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 > 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 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/rbgl_trimmed_boost_1_61_0/boost/typeof/vector50.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/typeof/vector50.hpp
deleted file mode 100755
index d3beaff..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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 > 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 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/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/allocate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/allocate.hpp
deleted file mode 100644
index 4c20b16..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/allocate.hpp
+++ /dev/null
@@ -1,1128 +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)
-
-//  See http://www.boost.org/libs/unordered for documentation
-
-#ifndef BOOST_UNORDERED_ALLOCATE_HPP
-#define BOOST_UNORDERED_ALLOCATE_HPP
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/detail/fwd.hpp>
-#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/type_traits/add_lvalue_reference.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/detail/select_type.hpp>
-#include <boost/assert.hpp>
-#include <utility>
-
-#if !defined(BOOST_NO_CXX11_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
-
-namespace boost { namespace unordered { namespace detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Bits and pieces for implementing traits
-
-    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&);
-    };
-
-    ////////////////////////////////////////////////////////////////////////////
-    // emplace_args
-    //
-    // Either forwarding variadic arguments, or storing the arguments in
-    // emplace_args##n
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#define BOOST_UNORDERED_EMPLACE_TEMPLATE typename... Args
-#define BOOST_UNORDERED_EMPLACE_ARGS BOOST_FWD_REF(Args)... args
-#define BOOST_UNORDERED_EMPLACE_FORWARD boost::forward<Args>(args)...
-
-#define BOOST_UNORDERED_EMPLACE_ARGS1(a0) a0
-#define BOOST_UNORDERED_EMPLACE_ARGS2(a0, a1) a0, a1
-#define BOOST_UNORDERED_EMPLACE_ARGS3(a0, a1, a2) a0, a1, a2
-
-#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, b)                     \
-        ) : 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, b)                  \
-    )                                                                       \
-    {                                                                       \
-        BOOST_PP_CAT(emplace_args, n) <                                     \
-            BOOST_PP_ENUM_PARAMS_Z(z, n, A)                                 \
-        > e(BOOST_PP_ENUM_PARAMS_Z(z, n, b));                               \
-        return e;                                                           \
-    }
-
-#define BOOST_UNORDERED_EMPLACE_ARGS1 create_emplace_args
-#define BOOST_UNORDERED_EMPLACE_ARGS2 create_emplace_args
-#define BOOST_UNORDERED_EMPLACE_ARGS3 create_emplace_args
-
-#if defined(BOOST_NO_CXX11_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(b, 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(b, 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
-
-}}}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Pick which version of allocator_traits to use
-//
-// 0 = Own partial implementation
-// 1 = std::allocator_traits
-// 2 = boost::container::allocator_traits
-
-#if !defined(BOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
-#   if defined(__GXX_EXPERIMENTAL_CXX0X__) && \
-            (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
-#       define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
-#   elif defined(BOOST_MSVC)
-#       if BOOST_MSVC < 1400
-            // Use container's allocator_traits for older versions of Visual
-            // C++ as I don't test with them.
-#           define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 2
-#       endif
-#   endif
-#endif
-
-#if !defined(BOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
-#   define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
-#endif
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Some utilities for implementing allocator_traits, but useful elsewhere so
-// they're always defined.
-
-#if !defined(BOOST_NO_CXX11_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_CXX11_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
-
-    namespace func {
-        template <class T>
-        inline void destroy(T* x) {
-            x->~T();
-        }
-    }
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Expression test mechanism
-    //
-    // When SFINAE expressions are available, define
-    // BOOST_UNORDERED_HAS_FUNCTION which can check if a function call is
-    // supported by a class, otherwise define BOOST_UNORDERED_HAS_MEMBER which
-    // can detect if a class has the specified member, but not that it has the
-    // correct type, this is good enough for a passable impression of
-    // allocator_traits.
-
-#if !defined(BOOST_NO_SFINAE_EXPR)
-
-    template <typename T, unsigned int> struct expr_test;
-    template <typename T> struct expr_test<T, sizeof(char)> : T {};
-
-#   define BOOST_UNORDERED_CHECK_EXPRESSION(count, result, expression)      \
-        template <typename U>                                               \
-        static typename boost::unordered::detail::expr_test<                \
-            BOOST_PP_CAT(choice, result),                                   \
-            sizeof(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)                                         \
-    {                                                                       \
-        template <typename U> static char for_expr_test(U const&);          \
-        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
-
-    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
-//
-// First our implementation, then later light wrappers around the alternatives
-
-#if BOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 0
-
-#   include <boost/limits.hpp>
-#   include <boost/utility/enable_if.hpp>
-#   include <boost/pointer_to_other.hpp>
-#   if defined(BOOST_NO_SFINAE_EXPR)
-#       include <boost/type_traits/is_same.hpp>
-#   endif
-
-#   if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
-        !defined(BOOST_NO_SFINAE_EXPR)
-#       define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 1
-#   else
-#       define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 0
-#   endif
-
-namespace boost { namespace unordered { namespace detail {
-
-    // 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 !defined(BOOST_NO_SFINAE_EXPR)
-
-    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
-    );
-
-#       if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-    template <typename T, typename ValueType, typename... Args>
-    BOOST_UNORDERED_HAS_FUNCTION(
-    construct, U, (
-        boost::unordered::detail::make<ValueType*>(),
-        boost::unordered::detail::make<Args const>()...), 2
-    );
-
-#       else
-
-    template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_FUNCTION(
-    construct, U, (
-        boost::unordered::detail::make<ValueType*>(),
-        boost::unordered::detail::make<ValueType const>()), 2
-    );
-
-#       endif
-
-    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
-
-    namespace func
-    {
-
-    template <typename Alloc>
-    inline Alloc call_select_on_container_copy_construction(const Alloc& rhs,
-        typename boost::enable_if_c<
-            boost::unordered::detail::
-            has_select_on_container_copy_construction<Alloc>::value, void*
-        >::type = 0)
-    {
-        return rhs.select_on_container_copy_construction();
-    }
-
-    template <typename Alloc>
-    inline Alloc call_select_on_container_copy_construction(const Alloc& rhs,
-        typename boost::disable_if_c<
-            boost::unordered::detail::
-            has_select_on_container_copy_construction<Alloc>::value, void*
-        >::type = 0)
-    {
-        return rhs;
-    }
-
-    template <typename SizeType, typename Alloc>
-    inline SizeType call_max_size(const Alloc& a,
-        typename boost::enable_if_c<
-            boost::unordered::detail::has_max_size<Alloc>::value, void*
-        >::type = 0)
-    {
-        return a.max_size();
-    }
-
-    template <typename SizeType, typename Alloc>
-    inline SizeType call_max_size(const Alloc&, typename boost::disable_if_c<
-            boost::unordered::detail::has_max_size<Alloc>::value, void*
-        >::type = 0)
-    {
-        return (std::numeric_limits<SizeType>::max)();
-    }
-
-    } // namespace func.
-
-    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:
-
-#   if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
-
-        template <typename T, typename... Args>
-        static typename boost::enable_if_c<
-                boost::unordered::detail::has_construct<Alloc, T, Args...>
-                ::value>::type
-            construct(Alloc& a, T* p, BOOST_FWD_REF(Args)... x)
-        {
-            a.construct(p, boost::forward<Args>(x)...);
-        }
-
-        template <typename T, typename... Args>
-        static typename boost::disable_if_c<
-                boost::unordered::detail::has_construct<Alloc, T, Args...>
-                ::value>::type
-            construct(Alloc&, T* p, BOOST_FWD_REF(Args)... x)
-        {
-            new ((void*) p) T(boost::forward<Args>(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::func::destroy(p);
-        }
-
-#   elif !defined(BOOST_NO_SFINAE_EXPR)
-
-        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::func::destroy(p);
-        }
-
-#   else
-
-        // If we don't have SFINAE expressions, only call construct for the
-        // copy constructor for the allocator's value_type - as that's
-        // the only construct method that old fashioned allocators support.
-
-        template <typename T>
-        static void construct(Alloc& a, T* p, T const& x,
-            typename boost::enable_if_c<
-                    boost::unordered::detail::has_construct<Alloc, T>::value &&
-                    boost::is_same<T, value_type>::value,
-                    void*>::type = 0)
-        {
-            a.construct(p, x);
-        }
-
-        template <typename T>
-        static void construct(Alloc&, T* p, T const& x,
-            typename boost::disable_if_c<
-                boost::unordered::detail::has_construct<Alloc, T>::value &&
-                boost::is_same<T, value_type>::value,
-                void*>::type = 0)
-        {
-            new ((void*) p) T(x);
-        }
-
-        template <typename T>
-        static void destroy(Alloc& a, T* p,
-            typename boost::enable_if_c<
-                boost::unordered::detail::has_destroy<Alloc, T>::value &&
-                boost::is_same<T, value_type>::value,
-                void*>::type = 0)
-        {
-            a.destroy(p);
-        }
-
-        template <typename T>
-        static void destroy(Alloc&, T* p,
-            typename boost::disable_if_c<
-                boost::unordered::detail::has_destroy<Alloc, T>::value &&
-                boost::is_same<T, value_type>::value,
-                void*>::type = 0)
-        {
-            boost::unordered::detail::func::destroy(p);
-        }
-
-#   endif
-
-        static size_type max_size(const Alloc& a)
-        {
-            return boost::unordered::detail::func::
-                call_max_size<size_type>(a);
-        }
-
-        // Allocator propagation on construction
-
-        static Alloc select_on_container_copy_construction(Alloc const& rhs)
-        {
-            return boost::unordered::detail::func::
-                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
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// std::allocator_traits
-
-#elif BOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 1
-
-#   include <memory>
-
-#   define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 1
-
-namespace boost { namespace unordered { namespace detail {
-
-    template <typename Alloc>
-    struct allocator_traits : std::allocator_traits<Alloc> {};
-
-    template <typename Alloc, typename T>
-    struct rebind_wrap
-    {
-        typedef typename std::allocator_traits<Alloc>::
-            template rebind_alloc<T> type;
-    };
-}}}
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// boost::container::allocator_traits
-
-#elif BOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 2
-
-#   include <boost/container/allocator_traits.hpp>
-
-#   define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 0
-
-namespace boost { namespace unordered { namespace detail {
-
-    template <typename Alloc>
-    struct allocator_traits :
-        boost::container::allocator_traits<Alloc> {};
-
-    template <typename Alloc, typename T>
-    struct rebind_wrap :
-        boost::container::allocator_traits<Alloc>::
-            template portable_rebind_alloc<T>
-    {};
-
-}}}
-
-#else
-
-#error "Invalid BOOST_UNORDERED_USE_ALLOCATOR_TRAITS value."
-
-#endif
-
-
-namespace boost { namespace unordered { namespace detail { namespace func {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // call_construct
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#   if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
-
-    template <typename Alloc, typename T, typename... Args>
-    inline void call_construct(Alloc& alloc, T* address,
-        BOOST_FWD_REF(Args)... args)
-    {
-        boost::unordered::detail::allocator_traits<Alloc>::construct(alloc,
-            address, boost::forward<Args>(args)...);
-    }
-
-    template <typename Alloc, typename T>
-    inline void destroy_value_impl(Alloc& alloc, T* x) {
-        boost::unordered::detail::allocator_traits<Alloc>::destroy(alloc, x);
-    }
-
-
-#   else
-
-    template <typename Alloc, typename T, typename... Args>
-    inline void call_construct(Alloc&, T* address,
-        BOOST_FWD_REF(Args)... args)
-    {
-        new((void*) address) T(boost::forward<Args>(args)...);
-    }
-
-    template <typename Alloc, typename T>
-    inline void destroy_value_impl(Alloc&, T* x) {
-        boost::unordered::detail::func::destroy(x);
-    }
-
-
-#   endif
-
-#else
-
-    template <typename Alloc, typename T>
-    inline void destroy_value_impl(Alloc&, T* x) {
-        boost::unordered::detail::func::destroy(x);
-    }
-
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Construct from tuple
-    //
-    // Used for piecewise construction.
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
-    template<typename Alloc, typename T>                                    \
-    void construct_from_tuple(Alloc& alloc, T* ptr, namespace_ tuple<>)     \
-    {                                                                       \
-        boost::unordered::detail::func::call_construct(alloc, ptr);         \
-    }                                                                       \
-                                                                            \
-    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 Alloc, typename T,                                    \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
-    void construct_from_tuple(Alloc& alloc, T* ptr,                         \
-            namespace_ tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
-    {                                                                       \
-        boost::unordered::detail::func::call_construct(alloc, ptr,          \
-            BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
-        );                                                                  \
-    }
-
-#   define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
-    namespace_ get<n>(x)
-
-#elif !defined(__SUNPRO_CC)
-
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
-    template<typename Alloc, typename T>                                    \
-    void construct_from_tuple(Alloc&, 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 Alloc, typename T,                                    \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
-    void construct_from_tuple(Alloc&, 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)
-
-#else
-
-    template <int N> struct length {};
-
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
-    template<typename Alloc, typename T>                                    \
-    void construct_from_tuple_impl(                                         \
-            boost::unordered::detail::func::length<0>, Alloc&, 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 Alloc, typename T,                                    \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
-    void construct_from_tuple_impl(                                         \
-            boost::unordered::detail::func::length<n>, Alloc&, 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)
-
-#endif
-
-BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, boost::)
-
-#if !defined(__SUNPRO_CC) && !defined(BOOST_NO_CXX11_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
-
-#if defined(__SUNPRO_CC)
-
-    template <typename Alloc, typename T, typename Tuple>
-    void construct_from_tuple(Alloc& alloc, T* ptr, Tuple const& x)
-    {
-        construct_from_tuple_impl(
-            boost::unordered::detail::func::length<
-                boost::tuples::length<Tuple>::value>(),
-            alloc, ptr, x);
-    }
-
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Trait to check for piecewise construction.
-
-    template <typename A0>
-    struct use_piecewise {
-        static choice1::type test(choice1,
-            boost::unordered::piecewise_construct_t);
-
-        static choice2::type test(choice2, ...);
-
-        enum { value = sizeof(choice1::type) ==
-            sizeof(test(choose(), boost::unordered::detail::make<A0>())) };
-    };
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Construct from variadic parameters
-
-    // For the standard pair constructor.
-
-    template <typename Alloc, typename T, typename... Args>
-    inline void construct_value_impl(Alloc& alloc, T* address,
-        BOOST_FWD_REF(Args)... args)
-    {
-        boost::unordered::detail::func::call_construct(alloc,
-            address, boost::forward<Args>(args)...);
-    }
-
-    // Special case for piece_construct
-    //
-    // TODO: When possible, it might be better to use std::pair's
-    // constructor for std::piece_construct with std::tuple.
-
-    template <typename Alloc, typename A, typename B,
-        typename A0, typename A1, typename A2>
-    inline typename enable_if<use_piecewise<A0>, void>::type
-        construct_value_impl(Alloc& alloc, std::pair<A, B>* address,
-            BOOST_FWD_REF(A0), BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
-    {
-        boost::unordered::detail::func::construct_from_tuple(alloc,
-            boost::addressof(address->first), boost::forward<A1>(a1));
-        boost::unordered::detail::func::construct_from_tuple(alloc,
-            boost::addressof(address->second), boost::forward<A2>(a2));
-    }
-
-#else // BOOST_NO_CXX11_VARIADIC_TEMPLATES
-
-////////////////////////////////////////////////////////////////////////////////
-// Construct from emplace_args
-
-    // Explicitly write out first three overloads for the sake of sane
-    // error messages.
-
-    template <typename Alloc, typename T, typename A0>
-    inline void construct_value_impl(Alloc&, T* address,
-            emplace_args1<A0> const& args)
-    {
-        new((void*) address) T(boost::forward<A0>(args.a0));
-    }
-
-    template <typename Alloc, typename T, typename A0, typename A1>
-    inline void construct_value_impl(Alloc&, T* address,
-            emplace_args2<A0, A1> const& args)
-    {
-        new((void*) address) T(
-            boost::forward<A0>(args.a0),
-            boost::forward<A1>(args.a1)
-        );
-    }
-
-    template <typename Alloc, typename T, typename A0, typename A1, typename A2>
-    inline void construct_value_impl(Alloc&, T* address,
-            emplace_args3<A0, A1, A2> const& args)
-    {
-        new((void*) address) T(
-            boost::forward<A0>(args.a0),
-            boost::forward<A1>(args.a1),
-            boost::forward<A2>(args.a2)
-        );
-    }
-
-    // Use a macro for the rest.
-
-#define BOOST_UNORDERED_CONSTRUCT_IMPL(z, num_params, _)                    \
-    template <                                                              \
-        typename Alloc, typename T,                                         \
-        BOOST_PP_ENUM_PARAMS_Z(z, num_params, typename A)                   \
-    >                                                                       \
-    inline void construct_value_impl(Alloc&, 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(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-        BOOST_UNORDERED_CONSTRUCT_IMPL, _)
-
-#undef BOOST_UNORDERED_CONSTRUCT_IMPL
-
-    // Construct with piece_construct
-
-    template <typename Alloc, typename A, typename B,
-        typename A0, typename A1, typename A2>
-    inline void construct_value_impl(Alloc& alloc, std::pair<A, B>* address,
-            boost::unordered::detail::emplace_args3<A0, A1, A2> const& args,
-            typename enable_if<use_piecewise<A0>, void*>::type = 0)
-    {
-        boost::unordered::detail::func::construct_from_tuple(alloc,
-            boost::addressof(address->first), args.a1);
-        boost::unordered::detail::func::construct_from_tuple(alloc,
-            boost::addressof(address->second), args.a2);
-    }
-
-#endif // BOOST_NO_CXX11_VARIADIC_TEMPLATES
-
-}}}}
-
-namespace boost { namespace unordered { namespace detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    //
-    // 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) {
-                    boost::unordered::detail::func::destroy(
-                            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_) {
-                new ((void*) boost::addressof(*constructed_)) V(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&);
-    };
-}}}
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/buckets.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/buckets.hpp
deleted file mode 100644
index 8a67345..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/buckets.hpp
+++ /dev/null
@@ -1,928 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/detail/util.hpp>
-#include <boost/unordered/detail/allocate.hpp>
-#include <boost/type_traits/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/is_nothrow_move_constructible.hpp>
-#include <boost/type_traits/is_nothrow_move_assignable.hpp>
-#include <boost/swap.hpp>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/iterator.hpp>
-
-namespace boost { namespace unordered { namespace detail {
-
-    template <typename Types> struct table;
-    template <typename NodePointer> struct bucket;
-    struct ptr_bucket;
-    template <typename Types> struct table_impl;
-    template <typename Types> struct grouped_table_impl;
-
-}}}
-
-// The 'iterator_detail' namespace was a misguided attempt at avoiding ADL
-// in the detail namespace. It didn't work because the template parameters
-// were in detail. I'm not changing it at the moment to be safe. I might
-// do in the future if I change the iterator types.
-namespace boost { namespace unordered { namespace iterator_detail {
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Iterators
-    //
-    // all no throw
-
-    template <typename Node> struct iterator;
-    template <typename Node> struct c_iterator;
-    template <typename Node, typename Policy> struct l_iterator;
-    template <typename Node, typename Policy>
-        struct cl_iterator;
-
-    // Local Iterators
-    //
-    // all no throw
-
-    template <typename Node, typename Policy>
-    struct l_iterator
-        : public boost::iterator<
-            std::forward_iterator_tag,
-            typename Node::value_type,
-            std::ptrdiff_t,
-            typename Node::value_type*,
-            typename Node::value_type&>
-    {
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-        template <typename Node2, typename Policy2>
-        friend struct boost::unordered::iterator_detail::cl_iterator;
-    private:
-#endif
-        typedef typename Node::node_pointer node_pointer;
-        typedef boost::unordered::iterator_detail::iterator<Node> n_iterator;
-        node_pointer ptr_;
-        std::size_t bucket_;
-        std::size_t bucket_count_;
-
-    public:
-
-        typedef typename Node::value_type value_type;
-
-        l_iterator() BOOST_NOEXCEPT : ptr_() {}
-
-        l_iterator(n_iterator x, std::size_t b, std::size_t c) BOOST_NOEXCEPT
-            : ptr_(x.node_), bucket_(b), bucket_count_(c) {}
-
-        value_type& operator*() const {
-            return ptr_->value();
-        }
-
-        value_type* operator->() const {
-            return ptr_->value_ptr();
-        }
-
-        l_iterator& operator++() {
-            ptr_ = static_cast<node_pointer>(ptr_->next_);
-            if (ptr_ && Policy::to_bucket(bucket_count_, ptr_->hash_)
-                    != bucket_)
-                ptr_ = node_pointer();
-            return *this;
-        }
-
-        l_iterator operator++(int) {
-            l_iterator tmp(*this);
-            ++(*this);
-            return tmp;
-        }
-
-        bool operator==(l_iterator x) const BOOST_NOEXCEPT {
-            return ptr_ == x.ptr_;
-        }
-
-        bool operator!=(l_iterator x) const BOOST_NOEXCEPT {
-            return ptr_ != x.ptr_;
-        }
-    };
-
-    template <typename Node, typename Policy>
-    struct cl_iterator
-        : public boost::iterator<
-            std::forward_iterator_tag,
-            typename Node::value_type,
-            std::ptrdiff_t,
-            typename Node::value_type const*,
-            typename Node::value_type const&>
-    {
-        friend struct boost::unordered::iterator_detail::l_iterator
-            <Node, Policy>;
-    private:
-
-        typedef typename Node::node_pointer node_pointer;
-        typedef boost::unordered::iterator_detail::iterator<Node> n_iterator;
-        node_pointer ptr_;
-        std::size_t bucket_;
-        std::size_t bucket_count_;
-
-    public:
-
-        typedef typename Node::value_type value_type;
-
-        cl_iterator() BOOST_NOEXCEPT : ptr_() {}
-
-        cl_iterator(n_iterator x, std::size_t b, std::size_t c) BOOST_NOEXCEPT :
-            ptr_(x.node_), bucket_(b), bucket_count_(c) {}
-
-        cl_iterator(boost::unordered::iterator_detail::l_iterator<
-                Node, Policy> const& x) BOOST_NOEXCEPT :
-            ptr_(x.ptr_), bucket_(x.bucket_), bucket_count_(x.bucket_count_)
-        {}
-
-        value_type const& operator*() const {
-            return ptr_->value();
-        }
-
-        value_type const* operator->() const {
-            return ptr_->value_ptr();
-        }
-
-        cl_iterator& operator++() {
-            ptr_ = static_cast<node_pointer>(ptr_->next_);
-            if (ptr_ && Policy::to_bucket(bucket_count_, ptr_->hash_)
-                    != 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)
-            BOOST_NOEXCEPT
-        {
-            return x.ptr_ == y.ptr_;
-        }
-
-        friend bool operator!=(cl_iterator const& x, cl_iterator const& y)
-            BOOST_NOEXCEPT
-        {
-            return x.ptr_ != y.ptr_;
-        }
-    };
-
-    template <typename Node>
-    struct iterator
-        : public boost::iterator<
-            std::forward_iterator_tag,
-            typename Node::value_type,
-            std::ptrdiff_t,
-            typename Node::value_type*,
-            typename Node::value_type&>
-    {
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-        template <typename>
-        friend struct boost::unordered::iterator_detail::c_iterator;
-        template <typename, typename>
-        friend struct boost::unordered::iterator_detail::l_iterator;
-        template <typename, typename>
-        friend struct boost::unordered::iterator_detail::cl_iterator;
-        template <typename>
-        friend struct boost::unordered::detail::table;
-        template <typename>
-        friend struct boost::unordered::detail::table_impl;
-        template <typename>
-        friend struct boost::unordered::detail::grouped_table_impl;
-    private:
-#endif
-        typedef typename Node::node_pointer node_pointer;
-        node_pointer node_;
-
-    public:
-
-        typedef typename Node::value_type value_type;
-
-        iterator() BOOST_NOEXCEPT : node_() {}
-
-        explicit iterator(typename Node::link_pointer x) BOOST_NOEXCEPT :
-            node_(static_cast<node_pointer>(x)) {}
-
-        value_type& operator*() const {
-            return node_->value();
-        }
-
-        value_type* operator->() const {
-            return node_->value_ptr();
-        }
-
-        iterator& operator++() {
-            node_ = static_cast<node_pointer>(node_->next_);
-            return *this;
-        }
-
-        iterator operator++(int) {
-            iterator tmp(node_);
-            node_ = static_cast<node_pointer>(node_->next_);
-            return tmp;
-        }
-
-        bool operator==(iterator const& x) const BOOST_NOEXCEPT {
-            return node_ == x.node_;
-        }
-
-        bool operator!=(iterator const& x) const BOOST_NOEXCEPT {
-            return node_ != x.node_;
-        }
-    };
-
-    template <typename Node>
-    struct c_iterator
-        : public boost::iterator<
-            std::forward_iterator_tag,
-            typename Node::value_type,
-            std::ptrdiff_t,
-            typename Node::value_type const*,
-            typename Node::value_type const&>
-    {
-        friend struct boost::unordered::iterator_detail::iterator<Node>;
-
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
-        template <typename>
-        friend struct boost::unordered::detail::table;
-        template <typename>
-        friend struct boost::unordered::detail::table_impl;
-        template <typename>
-        friend struct boost::unordered::detail::grouped_table_impl;
-
-    private:
-#endif
-        typedef typename Node::node_pointer node_pointer;
-        typedef boost::unordered::iterator_detail::iterator<Node> n_iterator;
-        node_pointer node_;
-
-    public:
-
-        typedef typename Node::value_type value_type;
-
-        c_iterator() BOOST_NOEXCEPT : node_() {}
-
-        explicit c_iterator(typename Node::link_pointer x) BOOST_NOEXCEPT :
-            node_(static_cast<node_pointer>(x)) {}
-
-        c_iterator(n_iterator const& x) BOOST_NOEXCEPT : node_(x.node_) {}
-
-        value_type const& operator*() const {
-            return node_->value();
-        }
-
-        value_type const* operator->() const {
-            return node_->value_ptr();
-        }
-
-        c_iterator& operator++() {
-            node_ = static_cast<node_pointer>(node_->next_);
-            return *this;
-        }
-
-        c_iterator operator++(int) {
-            c_iterator tmp(node_);
-            node_ = static_cast<node_pointer>(node_->next_);
-            return tmp;
-        }
-
-        friend bool operator==(c_iterator const& x, c_iterator const& y)
-            BOOST_NOEXCEPT
-        {
-            return x.node_ == y.node_;
-        }
-
-        friend bool operator!=(c_iterator const& x, c_iterator const& y)
-            BOOST_NOEXCEPT
-        {
-            return x.node_ != y.node_;
-        }
-    };
-}}}
-
-namespace boost { namespace unordered { namespace detail {
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // 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;
-
-    protected:
-
-        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();
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        void construct_with_value(BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-            construct();
-            boost::unordered::detail::func::construct_value_impl(
-                alloc_, node_->value_ptr(), BOOST_UNORDERED_EMPLACE_FORWARD);
-            value_constructed_ = true;
-        }
-
-        template <typename A0>
-        void construct_with_value2(BOOST_FWD_REF(A0) a0)
-        {
-            construct();
-            boost::unordered::detail::func::construct_value_impl(
-                alloc_, node_->value_ptr(),
-                BOOST_UNORDERED_EMPLACE_ARGS1(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()
-        {
-            BOOST_ASSERT(node_ && node_constructed_);
-            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::func::destroy_value_impl(alloc_,
-                    node_->value_ptr());
-            }
-
-            if (node_constructed_) {
-                boost::unordered::detail::func::destroy(
-                    boost::addressof(*node_));
-            }
-
-            node_allocator_traits::deallocate(alloc_, node_, 1);
-        }
-    }
-
-    template <typename Alloc>
-    void node_constructor<Alloc>::construct()
-    {
-        if(!node_) {
-            node_constructed_ = false;
-            value_constructed_ = false;
-
-            node_ = node_allocator_traits::allocate(alloc_, 1);
-
-            new ((void*) boost::addressof(*node_)) node();
-            node_->init(node_);
-            node_constructed_ = true;
-        }
-        else {
-            BOOST_ASSERT(node_constructed_);
-
-            if (value_constructed_)
-            {
-                boost::unordered::detail::func::destroy_value_impl(alloc_,
-                    node_->value_ptr());
-                value_constructed_ = false;
-            }
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Node Holder
-    //
-    // Temporary store for nodes. Deletes any that aren't used.
-
-    template <typename NodeAlloc>
-    struct node_holder : private node_constructor<NodeAlloc>
-    {
-    private:
-        typedef node_constructor<NodeAlloc> base;
-
-        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;
-        typedef typename node::link_pointer link_pointer;
-        typedef boost::unordered::iterator_detail::iterator<node> iterator;
-
-        node_pointer nodes_;
-
-    public:
-
-        template <typename Table>
-        explicit node_holder(Table& b) :
-            base(b.node_alloc()),
-            nodes_()
-        {
-            if (b.size_) {
-                typename Table::link_pointer prev = b.get_previous_start();
-                nodes_ = static_cast<node_pointer>(prev->next_);
-                prev->next_ = link_pointer();
-                b.size_ = 0;
-            }
-        }
-
-        ~node_holder();
-
-        void node_for_assignment()
-        {
-            if (!this->node_ && nodes_) {
-                this->node_ = nodes_;
-                nodes_ = static_cast<node_pointer>(nodes_->next_);
-                this->node_->init(this->node_);
-                this->node_->next_ = link_pointer();
-
-                this->node_constructed_ = true;
-                this->value_constructed_ = true;
-            }
-        }
-
-        template <typename T>
-        inline void assign_impl(T const& v) {
-            if (this->node_ && this->value_constructed_) {
-                this->node_->value() = v;
-            }
-            else {
-                this->construct_with_value2(v);
-            }
-        }
-
-        template <typename T1, typename T2>
-        inline void assign_impl(std::pair<T1 const, T2> const& v) {
-            this->construct_with_value2(v);
-        }
-
-        template <typename T>
-        inline void move_assign_impl(T& v) {
-            if (this->node_ && this->value_constructed_) {
-                this->node_->value() = boost::move(v);
-            }
-            else {
-                this->construct_with_value2(boost::move(v));
-            }
-        }
-
-        template <typename T1, typename T2>
-        inline void move_assign_impl(std::pair<T1 const, T2>& v) {
-            this->construct_with_value2(boost::move(v));
-        }
-
-        node_pointer copy_of(value_type const& v)
-        {
-            node_for_assignment();
-            assign_impl(v);
-            return base::release();
-        }
-
-        node_pointer move_copy_of(value_type& v)
-        {
-            node_for_assignment();
-            move_assign_impl(v);
-            return base::release();
-        }
-
-        iterator begin() const
-        {
-            return iterator(nodes_);
-        }
-    };
-
-    template <typename Alloc>
-    node_holder<Alloc>::~node_holder()
-    {
-        while (nodes_) {
-            node_pointer p = nodes_;
-            nodes_ = static_cast<node_pointer>(p->next_);
-
-            boost::unordered::detail::func::destroy_value_impl(this->alloc_,
-                p->value_ptr());
-            boost::unordered::detail::func::destroy(boost::addressof(*p));
-            node_allocator_traits::deallocate(this->alloc_, p, 1);
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Bucket
-
-    template <typename NodePointer>
-    struct bucket
-    {
-        typedef NodePointer link_pointer;
-        link_pointer next_;
-
-        bucket() : next_() {}
-
-        link_pointer first_from_start()
-        {
-            return next_;
-        }
-
-        enum { extra_node = true };
-    };
-
-    struct ptr_bucket
-    {
-        typedef ptr_bucket* link_pointer;
-        link_pointer next_;
-
-        ptr_bucket() : next_(0) {}
-
-        link_pointer first_from_start()
-        {
-            return this;
-        }
-
-        enum { extra_node = false };
-    };
-
-    ///////////////////////////////////////////////////////////////////
-    //
-    // Hash Policy
-
-    template <typename SizeT>
-    struct prime_policy
-    {
-        template <typename Hash, typename T>
-        static inline SizeT apply_hash(Hash const& hf, T const& x) {
-            return hf(x);
-        }
-
-        static inline SizeT to_bucket(SizeT bucket_count, SizeT hash) {
-            return hash % bucket_count;
-        }
-
-        static inline SizeT new_bucket_count(SizeT min) {
-            return boost::unordered::detail::next_prime(min);
-        }
-
-        static inline SizeT prev_bucket_count(SizeT max) {
-            return boost::unordered::detail::prev_prime(max);
-        }
-    };
-
-    template <typename SizeT>
-    struct mix64_policy
-    {
-        template <typename Hash, typename T>
-        static inline SizeT apply_hash(Hash const& hf, T const& x) {
-            SizeT key = hf(x);
-            key = (~key) + (key << 21); // key = (key << 21) - key - 1;
-            key = key ^ (key >> 24);
-            key = (key + (key << 3)) + (key << 8); // key * 265
-            key = key ^ (key >> 14);
-            key = (key + (key << 2)) + (key << 4); // key * 21
-            key = key ^ (key >> 28);
-            key = key + (key << 31);
-            return key;
-        }
-
-        static inline SizeT to_bucket(SizeT bucket_count, SizeT hash) {
-            return hash & (bucket_count - 1);
-        }
-
-        static inline SizeT new_bucket_count(SizeT min) {
-            if (min <= 4) return 4;
-            --min;
-            min |= min >> 1;
-            min |= min >> 2;
-            min |= min >> 4;
-            min |= min >> 8;
-            min |= min >> 16;
-            min |= min >> 32;
-            return min + 1;
-        }
-
-        static inline SizeT prev_bucket_count(SizeT max) {
-            max |= max >> 1;
-            max |= max >> 2;
-            max |= max >> 4;
-            max |= max >> 8;
-            max |= max >> 16;
-            max |= max >> 32;
-            return (max >> 1) + 1;
-        }
-    };
-
-    template <int digits, int radix>
-    struct pick_policy_impl {
-        typedef prime_policy<std::size_t> type;
-    };
-
-    template <>
-    struct pick_policy_impl<64, 2> {
-        typedef mix64_policy<std::size_t> type;
-    };
-
-    template <typename T>
-    struct pick_policy :
-        pick_policy_impl<
-            std::numeric_limits<std::size_t>::digits,
-            std::numeric_limits<std::size_t>::radix> {};
-
-    // While the mix policy is generally faster, the prime policy is a lot
-    // faster when a large number consecutive integers are used, because
-    // there are no collisions. Since that is probably quite common, use
-    // prime policy for integeral types. But not the smaller ones, as they
-    // don't have enough unique values for this to be an issue.
-
-    template <>
-    struct pick_policy<int> {
-        typedef prime_policy<std::size_t> type;
-    };
-
-    template <>
-    struct pick_policy<unsigned int> {
-        typedef prime_policy<std::size_t> type;
-    };
-
-    template <>
-    struct pick_policy<long> {
-        typedef prime_policy<std::size_t> type;
-    };
-
-    template <>
-    struct pick_policy<unsigned long> {
-        typedef prime_policy<std::size_t> type;
-    };
-
-    // TODO: Maybe not if std::size_t is smaller than long long.
-#if !defined(BOOST_NO_LONG_LONG)
-    template <>
-    struct pick_policy<long long> {
-        typedef prime_policy<std::size_t> type;
-    };
-
-    template <>
-    struct pick_policy<unsigned long long> {
-        typedef prime_policy<std::size_t> type;
-    };
-#endif
-
-    ////////////////////////////////////////////////////////////////////////////
-    // 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, bool NoThrowMoveAssign>
-    class set_hash_functions;
-
-    template <class H, class P>
-    class functions
-    {
-    public:
-        static const bool nothrow_move_assignable =
-                boost::is_nothrow_move_assignable<H>::value &&
-                boost::is_nothrow_move_assignable<P>::value;
-        static const bool nothrow_move_constructible =
-                boost::is_nothrow_move_constructible<H>::value &&
-                boost::is_nothrow_move_constructible<P>::value;
-
-    private:
-        friend class boost::unordered::detail::set_hash_functions<H, P,
-               nothrow_move_assignable>;
-        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_]));
-        }
-
-        function_pair& current() {
-            return *static_cast<function_pair*>(
-                static_cast<void*>(&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,
-                boost::unordered::detail::false_type =
-                    boost::unordered::detail::false_type())
-        {
-            new((void*) &funcs_[which]) function_pair(f);
-        }
-        
-        void construct(bool which, function_pair& f,
-                boost::unordered::detail::true_type)
-        {
-            new((void*) &funcs_[which]) function_pair(f,
-                boost::unordered::detail::move_tag());
-        }
-
-        void destroy(bool which)
-        {
-            boost::unordered::detail::func::destroy((function_pair*)(&funcs_[which]));
-        }
-        
-    public:
-
-        typedef boost::unordered::detail::set_hash_functions<H, P,
-                nothrow_move_assignable> set_hash_functions;
-
-        functions(H const& hf, P const& eq)
-            : current_(false)
-        {
-            construct(current_, hf, eq);
-        }
-
-        functions(functions const& bf)
-            : current_(false)
-        {
-            construct(current_, bf.current());
-        }
-
-        functions(functions& bf, boost::unordered::detail::move_tag)
-            : current_(false)
-        {
-            construct(current_, bf.current(),
-                boost::unordered::detail::integral_constant<bool,
-                    nothrow_move_constructible>());
-        }
-
-        ~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<H, P, false>
-    {
-        set_hash_functions(set_hash_functions const&);
-        set_hash_functions& operator=(set_hash_functions const&);
-
-        typedef functions<H, P> functions_type;
-    
-        functions_type& functions_;
-        bool tmp_functions_;
-
-    public:
-
-        set_hash_functions(functions_type& f, H const& h, P const& p)
-          : functions_(f),
-            tmp_functions_(!f.current_)
-        {
-            f.construct(tmp_functions_, h, p);
-        }
-
-        set_hash_functions(functions_type& f, functions_type 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_;
-        }
-    };
-
-    template <class H, class P>
-    class set_hash_functions<H, P, true>
-    {
-        set_hash_functions(set_hash_functions const&);
-        set_hash_functions& operator=(set_hash_functions const&);
-
-        typedef functions<H, P> functions_type;
-
-        functions_type& functions_;
-        H hash_;
-        P pred_;
-    
-    public:
-
-        set_hash_functions(functions_type& f, H const& h, P const& p) :
-            functions_(f),
-            hash_(h),
-            pred_(p) {}
-
-        set_hash_functions(functions_type& f, functions_type const& other) :
-            functions_(f),
-            hash_(other.hash_function()),
-            pred_(other.key_eq()) {}
-
-        void commit()
-        {
-            functions_.current().first() = boost::move(hash_);
-            functions_.current().second() = boost::move(pred_);
-        }
-    };
-    
-    ////////////////////////////////////////////////////////////////////////////
-    // rvalue parameters when type can't be a BOOST_RV_REF(T) parameter
-    // e.g. for int
-
-#if !defined(BOOST_NO_CXX11_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
-}}}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/equivalent.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/equivalent.hpp
deleted file mode 100644
index 58478f9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/equivalent.hpp
+++ /dev/null
@@ -1,686 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/detail/table.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 allocator;
-        typedef typename ::boost::unordered::detail::
-            allocator_traits<allocator>::pointer node_pointer;
-        typedef node_pointer link_pointer;
-
-        link_pointer next_;
-        node_pointer group_prev_;
-        std::size_t hash_;
-
-        grouped_node() :
-            next_(),
-            group_prev_(),
-            hash_(0)
-        {}
-
-        void init(node_pointer self)
-        {
-            group_prev_ = self;
-        }
-
-    private:
-        grouped_node& operator=(grouped_node const&);
-    };
-
-    template <typename T>
-    struct grouped_ptr_node :
-        boost::unordered::detail::ptr_bucket
-    {
-        typedef T value_type;
-        typedef boost::unordered::detail::ptr_bucket bucket_base;
-        typedef grouped_ptr_node<T>* node_pointer;
-        typedef ptr_bucket* link_pointer;
-
-        node_pointer group_prev_;
-        std::size_t hash_;
-        boost::unordered::detail::value_base<T> value_base_;
-
-        grouped_ptr_node() :
-            bucket_base(),
-            group_prev_(0),
-            hash_(0)
-        {}
-
-        void init(node_pointer self)
-        {
-            group_prev_ = self;
-        }
-
-        void* address() { return value_base_.address(); }
-        value_type& value() { return value_base_.value(); }
-        value_type* value_ptr() { return value_base_.value_ptr(); }
-
-    private:
-        grouped_ptr_node& operator=(grouped_ptr_node const&);
-    };
-
-    // 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 T, typename H, typename P>
-    struct multiset
-    {
-        typedef boost::unordered::detail::multiset<A, T, H, P> types;
-
-        typedef A allocator;
-        typedef T value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef T key_type;
-
-        typedef boost::unordered::detail::allocator_traits<allocator> traits;
-        typedef boost::unordered::detail::pick_grouped_node<allocator,
-            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;
-
-        typedef typename boost::unordered::detail::pick_policy<T>::type policy;
-    };
-
-    template <typename A, typename K, typename M, typename H, typename P>
-    struct multimap
-    {
-        typedef boost::unordered::detail::multimap<A, K, M, H, P> types;
-
-        typedef A allocator;
-        typedef std::pair<K const, M> value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef K key_type;
-
-        typedef boost::unordered::detail::allocator_traits<allocator> traits;
-        typedef boost::unordered::detail::pick_grouped_node<allocator,
-                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;
-
-        typedef typename boost::unordered::detail::pick_policy<K>::type policy;
-    };
-
-    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::policy policy;
-        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::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 typename table::c_iterator c_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()))
-        {
-            this->init(x);
-        }
-
-        grouped_table_impl(grouped_table_impl const& x,
-                node_allocator const& a)
-          : table(x, a)
-        {
-            this->init(x);
-        }
-
-        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)
-        {
-            this->move_init(x);
-        }
-
-        // Accessors
-
-        template <class Key, class Pred>
-        iterator find_node_impl(
-                std::size_t key_hash,
-                Key const& k,
-                Pred const& eq) const
-        {
-            std::size_t bucket_index = this->hash_to_bucket(key_hash);
-            iterator n = this->begin(bucket_index);
-
-            for (;;)
-            {
-                if (!n.node_) return n;
-
-                std::size_t node_hash = n.node_->hash_;
-                if (key_hash == node_hash)
-                {
-                    if (eq(k, this->get_key(*n)))
-                        return n;
-                }
-                else
-                {
-                    if (this->hash_to_bucket(node_hash) != bucket_index)
-                        return iterator();
-                }
-
-                n = iterator(n.node_->group_prev_->next_);
-            }
-        }
-
-        std::size_t count(key_type const& k) const
-        {
-            iterator n = this->find_node(k);
-            if (!n.node_) return 0;
-
-            std::size_t x = 0;
-            node_pointer it = n.node_;
-            do {
-                it = it->group_prev_;
-                ++x;
-            } while(it != n.node_);
-
-            return x;
-        }
-
-        std::pair<iterator, iterator>
-            equal_range(key_type const& k) const
-        {
-            iterator n = this->find_node(k);
-            return std::make_pair(
-                n, n.node_ ? iterator(n.node_->group_prev_->next_) : n);
-        }
-
-        // Equality
-
-        bool equals(grouped_table_impl const& other) const
-        {
-            if(this->size_ != other.size_) return false;
-    
-            for(iterator n1 = this->begin(); n1.node_;)
-            {
-                iterator n2 = other.find_matching_node(n1);
-                if (!n2.node_) return false;
-                iterator end1(n1.node_->group_prev_->next_);
-                iterator end2(n2.node_->group_prev_->next_);
-                if (!group_equals(n1, end1, n2, end2)) return false;
-                n1 = end1;    
-            }
-    
-            return true;
-        }
-
-        static bool group_equals(iterator n1, iterator end1,
-                iterator n2, iterator end2)
-        {
-            for(;;)
-            {
-                if (*n1 != *n2) break;
-
-                ++n1;
-                ++n2;
-            
-                if (n1 == end1) return n2 == end2;
-                if (n2 == end2) return false;
-            }
-            
-            for(iterator n1a = n1, n2a = n2;;)
-            {
-                ++n1a;
-                ++n2a;
-
-                if (n1a == end1)
-                {
-                    if (n2a == end2) break;
-                    else return false;
-                }
-
-                if (n2a == end2) return false;
-            }
-
-            iterator start = n1;
-            for(;n1 != end1; ++n1)
-            {
-                value_type const& v = *n1;
-                if (find(start, n1, v)) continue;
-                std::size_t matches = count_equal(n2, end2, v);
-                if (!matches) return false;
-                iterator next = n1;
-                ++next;
-                if (matches != 1 + count_equal(next, end1, v)) return false;
-            }
-            
-            return true;
-        }
-
-        static bool find(iterator n, iterator end, value_type const& v)
-        {
-            for(;n != end; ++n)
-                if (*n == v)
-                    return true;
-            return false;
-        }
-
-        static std::size_t count_equal(iterator n, iterator end,
-            value_type const& v)
-        {
-            std::size_t count = 0;
-            for(;n != end; ++n)
-                if (*n == v) ++count;
-            return count;
-        }
-
-        // Emplace/Insert
-
-        static inline void add_after_node(
-                node_pointer n,
-                node_pointer pos)
-        {
-            n->next_ = pos->group_prev_->next_;
-            n->group_prev_ = pos->group_prev_;
-            pos->group_prev_->next_ = n;
-            pos->group_prev_ = n;
-        }
-
-        inline iterator add_node(
-                node_constructor& a,
-                std::size_t key_hash,
-                iterator pos)
-        {
-            node_pointer n = a.release();
-            n->hash_ = key_hash;
-            if (pos.node_) {
-                this->add_after_node(n, pos.node_);
-                if (n->next_) {
-                    std::size_t next_bucket = this->hash_to_bucket(
-                        static_cast<node_pointer>(n->next_)->hash_);
-                    if (next_bucket != this->hash_to_bucket(key_hash)) {
-                        this->get_bucket(next_bucket)->next_ = n;
-                    }
-                }
-            }
-            else {
-                bucket_pointer b = this->get_bucket(
-                    this->hash_to_bucket(key_hash));
-
-                if (!b->next_)
-                {
-                    link_pointer start_node = this->get_previous_start();
-                    
-                    if (start_node->next_) {
-                        this->get_bucket(this->hash_to_bucket(
-                            static_cast<node_pointer>(start_node->next_)->hash_
-                        ))->next_ = n;
-                    }
-    
-                    b->next_ = start_node;
-                    n->next_ = start_node->next_;
-                    start_node->next_ = n;
-                }
-                else
-                {
-                    n->next_ = b->next_->next_;
-                    b->next_->next_ = n;
-                }
-            }
-            ++this->size_;
-            return iterator(n);
-        }
-
-        iterator emplace_impl(node_constructor& a)
-        {
-            key_type const& k = this->get_key(a.value());
-            std::size_t key_hash = this->hash(k);
-            iterator position = this->find_node(key_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, key_hash, position);
-        }
-
-        void emplace_impl_no_rehash(node_constructor& a)
-        {
-            key_type const& k = this->get_key(a.value());
-            std::size_t key_hash = this->hash(k);
-            this->add_node(a, key_hash, this->find_node(key_hash, k));
-        }
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#   if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        iterator emplace(boost::unordered::detail::emplace_args1<
-                boost::unordered::detail::please_ignore_this_overload> const&)
-        {
-            BOOST_ASSERT(false);
-            return iterator();
-        }
-#   else
-        iterator emplace(
-                boost::unordered::detail::please_ignore_this_overload const&)
-        {
-            BOOST_ASSERT(false);
-            return iterator();
-        }
-#   endif
-#endif
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        iterator emplace(BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-            node_constructor a(this->node_alloc());
-            a.construct_with_value(BOOST_UNORDERED_EMPLACE_FORWARD);
-
-            return iterator(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_with_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_with_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_with_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 key_hash = this->hash(k);
-            std::size_t bucket_index = this->hash_to_bucket(key_hash);
-            link_pointer prev = this->get_previous_start(bucket_index);
-            if (!prev) return 0;
-
-            for (;;)
-            {
-                if (!prev->next_) return 0;
-                std::size_t node_hash =
-                    static_cast<node_pointer>(prev->next_)->hash_;
-                if (this->hash_to_bucket(node_hash) != bucket_index)
-                    return 0;
-                if (node_hash == key_hash &&
-                    this->key_eq()(k, this->get_key(
-                        static_cast<node_pointer>(prev->next_)->value())))
-                    break;
-                prev = static_cast<node_pointer>(prev->next_)->group_prev_;
-            }
-
-            node_pointer first_node = static_cast<node_pointer>(prev->next_);
-            link_pointer end = first_node->group_prev_->next_;
-
-            std::size_t deleted_count = this->delete_nodes(prev, end);
-            this->fix_bucket(bucket_index, prev);
-            return deleted_count;
-        }
-
-        iterator erase(c_iterator r)
-        {
-            BOOST_ASSERT(r.node_);
-            iterator next(r.node_);
-            ++next;
-            erase_nodes(r.node_, next.node_);
-            return next;
-        }
-
-        iterator erase_range(c_iterator r1, c_iterator r2)
-        {
-            if (r1 == r2) return iterator(r2.node_);
-            erase_nodes(r1.node_, r2.node_);
-            return iterator(r2.node_);
-        }
-
-        link_pointer erase_nodes(node_pointer i, node_pointer j)
-        {
-            std::size_t bucket_index = this->hash_to_bucket(i->hash_);
-
-            // Split the groups containing 'i' and 'j'.
-            // And get the pointer to the node before i while
-            // we're at it.
-            link_pointer prev = split_groups(i, j);
-
-            // If we don't have a 'prev' it means that i is at the
-            // beginning of a block, so search through the blocks in the
-            // same bucket.
-            if (!prev) {
-                prev = this->get_previous_start(bucket_index);
-                while (prev->next_ != i)
-                    prev = static_cast<node_pointer>(prev->next_)->group_prev_;
-            }
-
-            // Delete the nodes.
-            do {
-                link_pointer group_end =
-                    static_cast<node_pointer>(prev->next_)->group_prev_->next_;
-                this->delete_nodes(prev, group_end);
-                bucket_index = this->fix_bucket(bucket_index, prev);
-            } while(prev->next_ != j);
-
-            return prev;
-        }
-
-        static link_pointer split_groups(node_pointer i, node_pointer j)
-        {
-            node_pointer prev = i->group_prev_;
-            if (prev->next_ != i) prev = node_pointer();
-
-            if (j) {
-                node_pointer first = j;
-                while (first != i && first->group_prev_->next_ == first) {
-                    first = first->group_prev_;
-                }
-
-                boost::swap(first->group_prev_, j->group_prev_);
-                if (first == i) return prev;
-            }
-
-            if (prev) {
-                node_pointer first = prev;
-                while (first->group_prev_->next_ == first) {
-                    first = first->group_prev_;
-                }
-                boost::swap(first->group_prev_, i->group_prev_);
-            }
-
-            return prev;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // fill_buckets
-
-        template <class NodeCreator>
-        static void fill_buckets(iterator n, table& dst,
-            NodeCreator& creator)
-        {
-            link_pointer prev = dst.get_previous_start();
-
-            while (n.node_) {
-                std::size_t key_hash = n.node_->hash_;
-                iterator group_end(n.node_->group_prev_->next_);
-
-                node_pointer first_node = creator.create(*n);
-                node_pointer end = first_node;
-                first_node->hash_ = key_hash;
-                prev->next_ = first_node;
-                ++dst.size_;
-
-                for (++n; n != group_end; ++n)
-                {
-                    end = creator.create(*n);
-                    end->hash_ = key_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->buckets_);
-
-            this->create_buckets(num_buckets);
-            link_pointer prev = this->get_previous_start();
-            while (prev->next_)
-                prev = place_in_bucket(*this, prev,
-                    static_cast<node_pointer>(prev->next_)->group_prev_);
-        }
-
-        // Iterate through the nodes placing them in the correct buckets.
-        // pre: prev->next_ is not null.
-        static link_pointer place_in_bucket(table& dst,
-                link_pointer prev, node_pointer end)
-        {
-            bucket_pointer b = dst.get_bucket(dst.hash_to_bucket(end->hash_));
-
-            if (!b->next_) {
-                b->next_ = prev;
-                return 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/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/extract_key.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/extract_key.hpp
deleted file mode 100644
index d68a4a7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/extract_key.hpp
+++ /dev/null
@@ -1,188 +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/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#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;
-        }
-
-        static no_key extract()
-        {
-            return no_key();
-        }
-        
-        template <class Arg>
-        static no_key extract(Arg const&)
-        {
-            return no_key();
-        }
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        template <class Arg1, class Arg2, class... Args>
-        static no_key extract(Arg1 const&, Arg2 const&, Args const&...)
-        {
-            return no_key();
-        }
-#else
-        template <class Arg1, class Arg2>
-        static no_key extract(Arg1 const&, Arg2 const&)
-        {
-            return no_key();
-        }
-#endif
-    };
-
-    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;
-        }
-            
-        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;
-        }
-
-        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 Arg1, class Arg2>
-        static no_key extract(Arg1 const&, Arg2 const&)
-        {
-            return no_key();
-        }
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        template <class Arg1, class Arg2, class Arg3, class... Args>
-        static no_key extract(Arg1 const&, Arg2 const&, Arg3 const&,
-                Args const&...)
-        {
-            return no_key();
-        }
-#endif
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#define BOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
-        template <typename T2>                                              \
-        static no_key extract(boost::unordered::piecewise_construct_t,      \
-                namespace_ tuple<> const&, T2 const&)                       \
-        {                                                                   \
-            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 const&)                    \
-        {                                                                   \
-            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_CXX11_HDR_TUPLE)
-BOOST_UNORDERED_KEY_FROM_TUPLE(std::)
-#endif
-    };
-}}}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/fwd.hpp
deleted file mode 100644
index 87c2c23..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/fwd.hpp
+++ /dev/null
@@ -1,23 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-namespace boost
-{
-namespace unordered
-{
-    struct piecewise_construct_t {};
-    const piecewise_construct_t piecewise_construct = piecewise_construct_t();
-}
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/table.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/table.hpp
deleted file mode 100644
index b356ca2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/table.hpp
+++ /dev/null
@@ -1,873 +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/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#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 <cmath>
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable:4127) // conditional expression is constant
-#endif
-
-#if defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
-
-#if defined(__EDG__)
-#elif defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-#pragma message("Warning: BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported.")
-#elif defined(__GNUC__) || defined(__HP_aCC) || \
-    defined(__SUNPRO_CC) || defined(__IBMCPP__)
-#warning "BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported."
-#endif
-
-#endif
-
-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_;
-
-        value_base() :
-            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 NodeAlloc>
-    struct copy_nodes
-    {
-        typedef boost::unordered::detail::allocator_traits<NodeAlloc>
-            node_allocator_traits;
-
-        node_constructor<NodeAlloc> constructor;
-
-        explicit copy_nodes(NodeAlloc& a) : constructor(a) {}
-
-        typename node_allocator_traits::pointer create(
-                typename node_allocator_traits::value_type::value_type const& v)
-        {
-            constructor.construct_with_value2(v);
-            return constructor.release();
-        }
-    };
-
-    template <typename NodeAlloc>
-    struct move_nodes
-    {
-        typedef boost::unordered::detail::allocator_traits<NodeAlloc>
-            node_allocator_traits;
-
-        node_constructor<NodeAlloc> constructor;
-
-        explicit move_nodes(NodeAlloc& a) : constructor(a) {}
-
-        typename node_allocator_traits::pointer create(
-                typename node_allocator_traits::value_type::value_type& v)
-        {
-            constructor.construct_with_value2(boost::move(v));
-            return constructor.release();
-        }
-    };
-
-    template <typename Buckets>
-    struct assign_nodes
-    {
-        node_holder<typename Buckets::node_allocator> holder;
-
-        explicit assign_nodes(Buckets& b) : holder(b) {}
-
-        typename Buckets::node_pointer create(
-                typename Buckets::value_type const& v)
-        {
-            return holder.copy_of(v);
-        }
-    };
-
-    template <typename Buckets>
-    struct move_assign_nodes
-    {
-        node_holder<typename Buckets::node_allocator> holder;
-
-        explicit move_assign_nodes(Buckets& b) : holder(b) {}
-
-        typename Buckets::node_pointer create(
-                typename Buckets::value_type& v)
-        {
-            return holder.move_copy_of(v);
-        }
-    };
-
-    template <typename Types>
-    struct table :
-        boost::unordered::detail::functions<
-            typename Types::hasher,
-            typename Types::key_equal>
-    {
-    private:
-        table(table const&);
-        table& operator=(table const&);
-    public:
-        typedef typename Types::node node;
-        typedef typename Types::bucket bucket;
-        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 typename Types::policy policy;
-
-        typedef boost::unordered::detail::functions<
-            typename Types::hasher,
-            typename Types::key_equal> functions;
-        typedef typename functions::set_hash_functions set_hash_functions;
-
-        typedef typename Types::allocator allocator;
-        typedef typename boost::unordered::detail::
-            rebind_wrap<allocator, node>::type node_allocator;
-        typedef typename boost::unordered::detail::
-            rebind_wrap<allocator, 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 boost::unordered::detail::node_constructor<node_allocator>
-            node_constructor;
-
-        typedef boost::unordered::iterator_detail::
-            iterator<node> iterator;
-        typedef boost::unordered::iterator_detail::
-            c_iterator<node> c_iterator;
-        typedef boost::unordered::iterator_detail::
-            l_iterator<node, policy> l_iterator;
-        typedef boost::unordered::iterator_detail::
-            cl_iterator<node, policy> cl_iterator;
-
-        ////////////////////////////////////////////////////////////////////////
-        // Members
-
-        boost::unordered::detail::compressed<bucket_allocator, node_allocator>
-            allocators_;
-        std::size_t bucket_count_;
-        std::size_t size_;
-        float mlf_;
-        std::size_t max_load_;
-        bucket_pointer buckets_;
-
-        ////////////////////////////////////////////////////////////////////////
-        // 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 policy::prev_bucket_count(
-                bucket_allocator_traits::max_size(bucket_alloc()) - 1);
-        }
-
-        bucket_pointer get_bucket(std::size_t bucket_index) const
-        {
-            BOOST_ASSERT(buckets_);
-            return buckets_ + static_cast<std::ptrdiff_t>(bucket_index);
-        }
-
-        link_pointer get_previous_start() const
-        {
-            return get_bucket(bucket_count_)->first_from_start();
-        }
-
-        link_pointer get_previous_start(std::size_t bucket_index) const
-        {
-            return get_bucket(bucket_index)->next_;
-        }
-
-        iterator begin() const
-        {
-            return size_ ? iterator(get_previous_start()->next_) : iterator();
-        }
-
-        iterator begin(std::size_t bucket_index) const
-        {
-            if (!size_) return iterator();
-            link_pointer prev = get_previous_start(bucket_index);
-            return prev ? iterator(prev->next_) : iterator();
-        }
-        
-        std::size_t hash_to_bucket(std::size_t hash_value) const
-        {
-            return policy::to_bucket(bucket_count_, hash_value);
-        }
-
-        float load_factor() const
-        {
-            BOOST_ASSERT(bucket_count_ != 0);
-            return static_cast<float>(size_)
-                / static_cast<float>(bucket_count_);
-        }
-
-        std::size_t bucket_size(std::size_t index) const
-        {
-            iterator it = begin(index);
-            if (!it.node_) return 0;
-
-            std::size_t count = 0;
-            while(it.node_ && hash_to_bucket(it.node_->hash_) == index)
-            {
-                ++count;
-                ++it;
-            }
-
-            return count;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // 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>(mlf_) *
-                    static_cast<double>(max_bucket_count())
-                )) - 1;
-        }
-
-        void recalculate_max_load()
-        {
-            using namespace std;
-    
-            // From 6.3.1/13:
-            // Only resize when size >= mlf_ * count
-            max_load_ = buckets_ ? boost::unordered::detail::double_to_size(ceil(
-                    static_cast<double>(mlf_) *
-                    static_cast<double>(bucket_count_)
-                )) : 0;
-
-        }
-
-        void max_load_factor(float z)
-        {
-            BOOST_ASSERT(z > 0);
-            mlf_ = (std::max)(z, minimum_max_load_factor);
-            recalculate_max_load();
-        }
-
-        std::size_t min_buckets_for_size(std::size_t size) const
-        {
-            BOOST_ASSERT(mlf_ >= minimum_max_load_factor);
-    
-            using namespace std;
-    
-            // From 6.3.1/13:
-            // size < mlf_ * count
-            // => count > size / mlf_
-            //
-            // Or from rehash post-condition:
-            // count > size / mlf_
-
-            return policy::new_bucket_count(
-                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) :
-            functions(hf, eq),
-            allocators_(a,a),
-            bucket_count_(policy::new_bucket_count(num_buckets)),
-            size_(0),
-            mlf_(1.0f),
-            max_load_(0),
-            buckets_()
-        {}
-
-        table(table const& x, node_allocator const& a) :
-            functions(x),
-            allocators_(a,a),
-            bucket_count_(x.min_buckets_for_size(x.size_)),
-            size_(0),
-            mlf_(x.mlf_),
-            max_load_(0),
-            buckets_()
-        {}
-
-        table(table& x, boost::unordered::detail::move_tag m) :
-            functions(x, m),
-            allocators_(x.allocators_, m),
-            bucket_count_(x.bucket_count_),
-            size_(x.size_),
-            mlf_(x.mlf_),
-            max_load_(x.max_load_),
-            buckets_(x.buckets_)
-        {
-            x.buckets_ = bucket_pointer();
-            x.size_ = 0;
-            x.max_load_ = 0;
-        }
-
-        table(table& x, node_allocator const& a,
-                boost::unordered::detail::move_tag m) :
-            functions(x, m),
-            allocators_(a, a),
-            bucket_count_(x.bucket_count_),
-            size_(0),
-            mlf_(x.mlf_),
-            max_load_(x.max_load_),
-            buckets_()
-        {}
-
-        ////////////////////////////////////////////////////////////////////////
-        // Initialisation.
-
-        void init(table const& x)
-        {
-            if (x.size_) {
-                create_buckets(bucket_count_);
-                copy_nodes<node_allocator> node_creator(node_alloc());
-                table_impl::fill_buckets(x.begin(), *this, node_creator);
-            }
-        }
-
-        void move_init(table& x)
-        {
-            if(node_alloc() == x.node_alloc()) {
-                move_buckets_from(x);
-            }
-            else if(x.size_) {
-                // TODO: Could pick new bucket size?
-                create_buckets(bucket_count_);
-
-                move_nodes<node_allocator> node_creator(node_alloc());
-                node_holder<node_allocator> nodes(x);
-                table_impl::fill_buckets(nodes.begin(), *this, node_creator);
-            }
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Create buckets
-
-        void create_buckets(std::size_t new_count)
-        {
-            boost::unordered::detail::array_constructor<bucket_allocator>
-                constructor(bucket_alloc());
-    
-            // Creates an extra bucket to act as the start node.
-            constructor.construct(bucket(), new_count + 1);
-
-            if (buckets_)
-            {
-                // Copy the nodes to the new buckets, including the dummy
-                // node if there is one.
-                (constructor.get() +
-                    static_cast<std::ptrdiff_t>(new_count))->next_ =
-                        (buckets_ + static_cast<std::ptrdiff_t>(
-                            bucket_count_))->next_;
-                destroy_buckets();
-            }
-            else if (bucket::extra_node)
-            {
-                node_constructor a(node_alloc());
-                a.construct();
-
-                (constructor.get() +
-                    static_cast<std::ptrdiff_t>(new_count))->next_ =
-                        a.release();
-            }
-
-            bucket_count_ = new_count;
-            buckets_ = constructor.release();
-            recalculate_max_load();
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Swap and Move
-
-        void swap_allocators(table& other, false_type)
-        {
-            boost::unordered::detail::func::ignore_unused_variable_warning(other);
-
-            // According to 23.2.1.8, if propagate_on_container_swap is
-            // false the behaviour is undefined unless the allocators
-            // are equal.
-            BOOST_ASSERT(node_alloc() == other.node_alloc());
-        }
-
-        void swap_allocators(table& other, true_type)
-        {
-            allocators_.swap(other.allocators_);
-        }
-
-        // Only swaps the allocators if propagate_on_container_swap
-        void swap(table& x)
-        {
-            set_hash_functions op1(*this, x);
-            set_hash_functions op2(x, *this);
-
-            // I think swap can throw if Propagate::value,
-            // since the allocators' swap can throw. Not sure though.
-            swap_allocators(x,
-                boost::unordered::detail::integral_constant<bool,
-                    allocator_traits<node_allocator>::
-                    propagate_on_container_swap::value>());
-
-            boost::swap(buckets_, x.buckets_);
-            boost::swap(bucket_count_, x.bucket_count_);
-            boost::swap(size_, x.size_);
-            std::swap(mlf_, x.mlf_);
-            std::swap(max_load_, x.max_load_);
-            op1.commit();
-            op2.commit();
-        }
-
-        // Only call with nodes allocated with the currect allocator, or
-        // one that is equal to it. (Can't assert because other's
-        // allocators might have already been moved).
-        void move_buckets_from(table& other)
-        {
-            BOOST_ASSERT(!buckets_);
-            buckets_ = other.buckets_;
-            bucket_count_ = other.bucket_count_;
-            size_ = other.size_;
-            other.buckets_ = bucket_pointer();
-            other.size_ = 0;
-            other.max_load_ = 0;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Delete/destruct
-
-        ~table()
-        {
-            delete_buckets();
-        }
-
-        void delete_node(link_pointer prev)
-        {
-            node_pointer n = static_cast<node_pointer>(prev->next_);
-            prev->next_ = n->next_;
-
-            boost::unordered::detail::func::destroy_value_impl(node_alloc(),
-                n->value_ptr());
-            boost::unordered::detail::func::destroy(boost::addressof(*n));
-            node_allocator_traits::deallocate(node_alloc(), n, 1);
-            --size_;
-        }
-
-        std::size_t delete_nodes(link_pointer prev, link_pointer end)
-        {
-            BOOST_ASSERT(prev->next_ != end);
-
-            std::size_t count = 0;
-
-            do {
-                delete_node(prev);
-                ++count;
-            } while (prev->next_ != end);
-
-            return count;
-        }
-
-        void delete_buckets()
-        {
-            if(buckets_) {
-                if (size_) delete_nodes(get_previous_start(), link_pointer());
-
-                if (bucket::extra_node) {
-                    node_pointer n = static_cast<node_pointer>(
-                            get_bucket(bucket_count_)->next_);
-                    boost::unordered::detail::func::destroy(
-                            boost::addressof(*n));
-                    node_allocator_traits::deallocate(node_alloc(), n, 1);
-                }
-
-                destroy_buckets();
-                buckets_ = bucket_pointer();
-                max_load_ = 0;
-            }
-
-            BOOST_ASSERT(!size_);
-        }
-
-        void clear()
-        {
-            if (!size_) return;
-
-            delete_nodes(get_previous_start(), link_pointer());
-            clear_buckets();
-
-            BOOST_ASSERT(!size_);
-        }
-
-        void clear_buckets()
-        {
-            bucket_pointer end = get_bucket(bucket_count_);
-            for(bucket_pointer it = buckets_; it != end; ++it)
-            {
-                it->next_ = node_pointer();
-            }
-        }
-
-        void destroy_buckets()
-        {
-            bucket_pointer end = get_bucket(bucket_count_ + 1);
-            for(bucket_pointer it = buckets_; it != end; ++it)
-            {
-                boost::unordered::detail::func::destroy(
-                    boost::addressof(*it));
-            }
-
-            bucket_allocator_traits::deallocate(bucket_alloc(),
-                buckets_, bucket_count_ + 1);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Fix buckets after delete
-        //
-
-        std::size_t fix_bucket(std::size_t bucket_index, link_pointer prev)
-        {
-            link_pointer end = prev->next_;
-            std::size_t bucket_index2 = bucket_index;
-
-            if (end)
-            {
-                bucket_index2 = hash_to_bucket(
-                    static_cast<node_pointer>(end)->hash_);
-
-                // If begin and end are in the same bucket, then
-                // there's nothing to do.
-                if (bucket_index == bucket_index2) return bucket_index2;
-
-                // Update the bucket containing end.
-                get_bucket(bucket_index2)->next_ = prev;
-            }
-
-            // Check if this bucket is now empty.
-            bucket_pointer this_bucket = get_bucket(bucket_index);
-            if (this_bucket->next_ == prev)
-                this_bucket->next_ = link_pointer();
-
-            return bucket_index2;
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // Assignment
-
-        void assign(table const& x)
-        {
-            if (this != boost::addressof(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)
-        {
-            // Strong exception safety.
-            set_hash_functions new_func_this(*this, x);
-            new_func_this.commit();
-            mlf_ = x.mlf_;
-            recalculate_max_load();
-
-            if (!size_ && !x.size_) return;
-
-            if (x.size_ >= max_load_) {
-                create_buckets(min_buckets_for_size(x.size_));
-            }
-            else {
-                clear_buckets();
-            }
-
-            // assign_nodes takes ownership of the container's elements,
-            // assigning to them if possible, and deleting any that are
-            // left over.
-            assign_nodes<table> node_creator(*this);
-            table_impl::fill_buckets(x.begin(), *this, node_creator);
-        }
-
-        void assign(table const& x, true_type)
-        {
-            if (node_alloc() == x.node_alloc()) {
-                allocators_.assign(x.allocators_);
-                assign(x, false_type());
-            }
-            else {
-                set_hash_functions new_func_this(*this, x);
-
-                // Delete everything with current allocators before assigning
-                // the new ones.
-                delete_buckets();
-                allocators_.assign(x.allocators_);
-
-                // Copy over other data, all no throw.
-                new_func_this.commit();
-                mlf_ = x.mlf_;
-                bucket_count_ = min_buckets_for_size(x.size_);
-                max_load_ = 0;
-
-                // Finally copy the elements.
-                if (x.size_) {
-                    create_buckets(bucket_count_);
-                    copy_nodes<node_allocator> node_creator(node_alloc());
-                    table_impl::fill_buckets(x.begin(), *this, node_creator);
-                }
-            }
-        }
-
-        void move_assign(table& x)
-        {
-            if (this != boost::addressof(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)
-        {
-            delete_buckets();
-            set_hash_functions new_func_this(*this, x);
-            allocators_.move_assign(x.allocators_);
-            // No throw from here.
-            mlf_ = x.mlf_;
-            max_load_ = x.max_load_;
-            move_buckets_from(x);
-            new_func_this.commit();
-        }
-
-        void move_assign(table& x, false_type)
-        {
-            if (node_alloc() == x.node_alloc()) {
-                delete_buckets();
-                set_hash_functions new_func_this(*this, x);
-                // No throw from here.
-                mlf_ = x.mlf_;
-                max_load_ = x.max_load_;
-                move_buckets_from(x);
-                new_func_this.commit();
-            }
-            else {
-                set_hash_functions new_func_this(*this, x);
-                new_func_this.commit();
-                mlf_ = x.mlf_;
-                recalculate_max_load();
-
-                if (!size_ && !x.size_) return;
-
-                if (x.size_ >= max_load_) {
-                    create_buckets(min_buckets_for_size(x.size_));
-                }
-                else {
-                    clear_buckets();
-                }
-
-                // move_assign_nodes takes ownership of the container's
-                // elements, assigning to them if possible, and deleting
-                // any that are left over.
-                move_assign_nodes<table> node_creator(*this);
-                node_holder<node_allocator> nodes(x);
-                table_impl::fill_buckets(nodes.begin(), *this, node_creator);
-            }
-        }
-
-        // Accessors
-
-        key_type const& get_key(value_type const& x) const
-        {
-            return extractor::extract(x);
-        }
-
-        std::size_t hash(key_type const& k) const
-        {
-            return policy::apply_hash(this->hash_function(), k);
-        }
-
-        // Find Node
-
-        template <typename Key, typename Hash, typename Pred>
-        iterator generic_find_node(
-                Key const& k,
-                Hash const& hf,
-                Pred const& eq) const
-        {
-            return static_cast<table_impl const*>(this)->
-                find_node_impl(policy::apply_hash(hf, k), k, eq);
-        }
-
-        iterator find_node(
-                std::size_t key_hash,
-                key_type const& k) const
-        {
-            return static_cast<table_impl const*>(this)->
-                find_node_impl(key_hash, k, this->key_eq());
-        }
-
-        iterator find_node(key_type const& k) const
-        {
-            return static_cast<table_impl const*>(this)->
-                find_node_impl(hash(k), k, this->key_eq());
-        }
-
-        iterator find_matching_node(iterator 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));
-        }
-
-        // Reserve and rehash
-
-        void reserve_for_insert(std::size_t);
-        void rehash(std::size_t);
-        void reserve(std::size_t);
-    };
-
-    ////////////////////////////////////////////////////////////////////////////
-    // Reserve & Rehash
-
-    // basic exception safety
-    template <typename Types>
-    inline void table<Types>::reserve_for_insert(std::size_t size)
-    {
-        if (!buckets_) {
-            create_buckets((std::max)(bucket_count_,
-                min_buckets_for_size(size)));
-        }
-        // According to the standard this should be 'size >= max_load_',
-        // but I think this is better, defect report filed.
-        else if(size > max_load_) {
-            std::size_t num_buckets
-                = min_buckets_for_size((std::max)(size,
-                    size_ + (size_ >> 1)));
-
-            if (num_buckets != bucket_count_)
-                static_cast<table_impl*>(this)->rehash_impl(num_buckets);
-        }
-    }
-
-    // if hash function throws, basic exception safety
-    // strong otherwise.
-
-    template <typename Types>
-    inline void table<Types>::rehash(std::size_t min_buckets)
-    {
-        using namespace std;
-
-        if(!size_) {
-            delete_buckets();
-            bucket_count_ = policy::new_bucket_count(min_buckets);
-        }
-        else {
-            min_buckets = policy::new_bucket_count((std::max)(min_buckets,
-                boost::unordered::detail::double_to_size(floor(
-                    static_cast<double>(size_) /
-                    static_cast<double>(mlf_))) + 1));
-
-            if(min_buckets != bucket_count_)
-                static_cast<table_impl*>(this)->rehash_impl(min_buckets);
-        }
-    }
-
-    template <typename Types>
-    inline void table<Types>::reserve(std::size_t num_elements)
-    {
-        rehash(static_cast<std::size_t>(
-            std::ceil(static_cast<double>(num_elements) / mlf_)));
-    }
-}}}
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/unique.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/unique.hpp
deleted file mode 100644
index f76ca5a..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/unique.hpp
+++ /dev/null
@@ -1,628 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/detail/table.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 unique_node;
-    template <typename T> struct ptr_node;
-    template <typename Types> struct table_impl;
-
-    template <typename A, typename T>
-    struct unique_node :
-        boost::unordered::detail::value_base<T>
-    {
-        typedef typename ::boost::unordered::detail::rebind_wrap<
-            A, unique_node<A, T> >::type allocator;
-        typedef typename ::boost::unordered::detail::
-            allocator_traits<allocator>::pointer node_pointer;
-        typedef node_pointer link_pointer;
-
-        link_pointer next_;
-        std::size_t hash_;
-
-        unique_node() :
-            next_(),
-            hash_(0)
-        {}
-
-        void init(node_pointer)
-        {
-        }
-
-    private:
-        unique_node& operator=(unique_node const&);
-    };
-
-    template <typename T>
-    struct ptr_node :
-        boost::unordered::detail::ptr_bucket
-    {
-        typedef T value_type;
-        typedef boost::unordered::detail::ptr_bucket bucket_base;
-        typedef ptr_node<T>* node_pointer;
-        typedef ptr_bucket* link_pointer;
-
-        std::size_t hash_;
-        boost::unordered::detail::value_base<T> value_base_;
-
-        ptr_node() :
-            bucket_base(),
-            hash_(0)
-        {}
-
-        void init(node_pointer)
-        {
-        }
-
-        void* address() { return value_base_.address(); }
-        value_type& value() { return value_base_.value(); }
-        value_type* value_ptr() { return value_base_.value_ptr(); }
-
-    private:
-        ptr_node& operator=(ptr_node const&);
-    };
-
-    // 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::unique_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 T, typename H, typename P>
-    struct set
-    {
-        typedef boost::unordered::detail::set<A, T, H, P> types;
-
-        typedef A allocator;
-        typedef T value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef T key_type;
-
-        typedef boost::unordered::detail::allocator_traits<allocator> traits;
-        typedef boost::unordered::detail::pick_node<allocator, 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;
-
-        typedef typename boost::unordered::detail::pick_policy<T>::type policy;
-    };
-
-    template <typename A, typename K, typename M, typename H, typename P>
-    struct map
-    {
-        typedef boost::unordered::detail::map<A, K, M, H, P> types;
-
-        typedef A allocator;
-        typedef std::pair<K const, M> value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef K key_type;
-
-        typedef boost::unordered::detail::allocator_traits<allocator>
-            traits;
-        typedef boost::unordered::detail::pick_node<allocator, 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;
-
-        typedef typename boost::unordered::detail::pick_policy<K>::type policy;
-    };
-
-    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::policy policy;
-        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::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 typename table::c_iterator c_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()))
-        {
-            this->init(x);
-        }
-
-        table_impl(table_impl const& x,
-                node_allocator const& a)
-          : table(x, a)
-        {
-            this->init(x);
-        }
-
-        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)
-        {
-            this->move_init(x);
-        }
-
-        // Accessors
-
-        template <class Key, class Pred>
-        iterator find_node_impl(
-                std::size_t key_hash,
-                Key const& k,
-                Pred const& eq) const
-        {
-            std::size_t bucket_index = this->hash_to_bucket(key_hash);
-            iterator n = this->begin(bucket_index);
-
-            for (;;)
-            {
-                if (!n.node_) return n;
-
-                std::size_t node_hash = n.node_->hash_;
-                if (key_hash == node_hash)
-                {
-                    if (eq(k, this->get_key(*n)))
-                        return n;
-                }
-                else
-                {
-                    if (this->hash_to_bucket(node_hash) != bucket_index)
-                        return iterator();
-                }
-
-                ++n;
-            }
-        }
-
-        std::size_t count(key_type const& k) const
-        {
-            return this->find_node(k).node_ ? 1 : 0;
-        }
-
-        value_type& at(key_type const& k) const
-        {
-            if (this->size_) {
-                iterator it = this->find_node(k);
-                if (it.node_) return *it;
-            }
-
-            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
-        {
-            iterator n = this->find_node(k);
-            iterator n2 = n;
-            if (n2.node_) ++n2;
-            return std::make_pair(n, n2);
-        }
-
-        // equals
-
-        bool equals(table_impl const& other) const
-        {
-            if(this->size_ != other.size_) return false;
-    
-            for(iterator n1 = this->begin(); n1.node_; ++n1)
-            {
-                iterator n2 = other.find_matching_node(n1);
-
-                if (!n2.node_ || *n1 != *n2)
-                    return false;
-            }
-    
-            return true;
-        }
-
-        // Emplace/Insert
-
-        inline iterator add_node(
-                node_constructor& a,
-                std::size_t key_hash)
-        {
-            node_pointer n = a.release();
-            n->hash_ = key_hash;
-    
-            bucket_pointer b = this->get_bucket(this->hash_to_bucket(key_hash));
-
-            if (!b->next_)
-            {
-                link_pointer start_node = this->get_previous_start();
-                
-                if (start_node->next_) {
-                    this->get_bucket(this->hash_to_bucket(
-                        static_cast<node_pointer>(start_node->next_)->hash_)
-                    )->next_ = n;
-                }
-
-                b->next_ = start_node;
-                n->next_ = start_node->next_;
-                start_node->next_ = n;
-            }
-            else
-            {
-                n->next_ = b->next_->next_;
-                b->next_->next_ = n;
-            }
-
-            ++this->size_;
-            return iterator(n);
-        }
-
-        value_type& operator[](key_type const& k)
-        {
-            std::size_t key_hash = this->hash(k);
-            iterator pos = this->find_node(key_hash, k);
-    
-            if (pos.node_) return *pos;
-    
-            // 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_with_value(BOOST_UNORDERED_EMPLACE_ARGS3(
-                boost::unordered::piecewise_construct,
-                boost::make_tuple(k),
-                boost::make_tuple()));
-    
-            this->reserve_for_insert(this->size_ + 1);
-            return *add_node(a, key_hash);
-        }
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#   if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        emplace_return emplace(boost::unordered::detail::emplace_args1<
-                boost::unordered::detail::please_ignore_this_overload> const&)
-        {
-            BOOST_ASSERT(false);
-            return emplace_return(this->begin(), false);
-        }
-#   else
-        emplace_return emplace(
-                boost::unordered::detail::please_ignore_this_overload const&)
-        {
-            BOOST_ASSERT(false);
-            return emplace_return(this->begin(), false);
-        }
-#   endif
-#endif
-
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        emplace_return emplace(BOOST_UNORDERED_EMPLACE_ARGS)
-        {
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-            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_NO_CXX11_VARIADIC_TEMPLATES)
-        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 key_hash = this->hash(k);
-            iterator pos = this->find_node(key_hash, k);
-    
-            if (pos.node_) return emplace_return(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_with_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(this->add_node(a, key_hash), true);
-        }
-
-        emplace_return emplace_impl_with_node(node_constructor& a)
-        {
-            key_type const& k = this->get_key(a.value());
-            std::size_t key_hash = this->hash(k);
-            iterator pos = this->find_node(key_hash, k);
-
-            if (pos.node_) return emplace_return(pos, false);
-
-            // reserve has basic exception safety if the hash function
-            // throws, strong otherwise.
-            this->reserve_for_insert(this->size_ + 1);
-            return emplace_return(this->add_node(a, key_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_with_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());
-
-            insert_range_impl2(a, k, i, j);
-
-            while(++i != j) {
-                // 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);
-            }
-        }
-
-        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 key_hash = this->hash(k);
-            iterator pos = this->find_node(key_hash, k);
-    
-            if (!pos.node_) {
-                a.construct_with_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, key_hash);
-            }
-        }
-
-        template <class InputIt>
-        void insert_range_impl(no_key, InputIt i, InputIt j)
-        {
-            node_constructor a(this->node_alloc());
-
-            do {
-                a.construct_with_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 key_hash = this->hash(k);
-            std::size_t bucket_index = this->hash_to_bucket(key_hash);
-            link_pointer prev = this->get_previous_start(bucket_index);
-            if (!prev) return 0;
-
-            for (;;)
-            {
-                if (!prev->next_) return 0;
-                std::size_t node_hash =
-                    static_cast<node_pointer>(prev->next_)->hash_;
-                if (this->hash_to_bucket(node_hash) != bucket_index)
-                    return 0;
-                if (node_hash == key_hash &&
-                        this->key_eq()(k, this->get_key(
-                        static_cast<node_pointer>(prev->next_)->value())))
-                    break;
-                prev = prev->next_;
-            }
-
-            link_pointer end = static_cast<node_pointer>(prev->next_)->next_;
-
-            std::size_t deleted_count = this->delete_nodes(prev, end);
-            this->fix_bucket(bucket_index, prev);
-            return deleted_count;
-        }
-
-        iterator erase(c_iterator r)
-        {
-            BOOST_ASSERT(r.node_);
-            iterator next(r.node_);
-            ++next;
-            erase_nodes(r.node_, next.node_);
-            return next;
-        }
-
-        iterator erase_range(c_iterator r1, c_iterator r2)
-        {
-            if (r1 == r2) return iterator(r2.node_);
-            erase_nodes(r1.node_, r2.node_);
-            return iterator(r2.node_);
-        }
-
-        void erase_nodes(node_pointer i, node_pointer j)
-        {
-            std::size_t bucket_index = this->hash_to_bucket(i->hash_);
-
-            // Find the node before i.
-            link_pointer prev = this->get_previous_start(bucket_index);
-            while(prev->next_ != i) prev = prev->next_;
-
-            // Delete the nodes.
-            do {
-                this->delete_node(prev);
-                bucket_index = this->fix_bucket(bucket_index, prev);
-            } while (prev->next_ != j);
-        }
-
-        ////////////////////////////////////////////////////////////////////////
-        // fill_buckets
-
-        template <class NodeCreator>
-        static void fill_buckets(iterator n, table& dst,
-            NodeCreator& creator)
-        {
-            link_pointer prev = dst.get_previous_start();
-
-            while (n.node_) {
-                node_pointer node = creator.create(*n);
-                node->hash_ = n.node_->hash_;
-                prev->next_ = node;
-                ++dst.size_;
-                ++n;
-
-                prev = place_in_bucket(dst, prev);
-            }
-        }
-
-        // strong otherwise exception safety
-        void rehash_impl(std::size_t num_buckets)
-        {
-            BOOST_ASSERT(this->buckets_);
-
-            this->create_buckets(num_buckets);
-            link_pointer prev = this->get_previous_start();
-            while (prev->next_)
-                prev = place_in_bucket(*this, prev);
-        }
-
-        // Iterate through the nodes placing them in the correct buckets.
-        // pre: prev->next_ is not null.
-        static link_pointer place_in_bucket(table& dst, link_pointer prev)
-        {
-            node_pointer n = static_cast<node_pointer>(prev->next_);
-            bucket_pointer b = dst.get_bucket(dst.hash_to_bucket(n->hash_));
-
-            if (!b->next_) {
-                b->next_ = prev;
-                return n;
-            }
-            else {
-                prev->next_ = n->next_;
-                n->next_ = b->next_->next_;
-                b->next_->next_ = n;
-                return prev;
-            }
-        }
-    };
-}}}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/util.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/util.hpp
deleted file mode 100644
index 3428ed7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/detail/util.hpp
+++ /dev/null
@@ -1,266 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#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 {};
-
-    namespace func {
-        template <class T>
-        inline void ignore_unused_variable_warning(T const&) {}
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // 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 \
-    (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/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_map.hpp
deleted file mode 100644
index 9b18079..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_map.hpp
+++ /dev/null
@@ -1,1657 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/unordered_map_fwd.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_CXX11_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
-    {
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        BOOST_COPYABLE_AND_MOVABLE(unordered_map)
-#endif       
-
-    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 boost::unordered::detail::map<A, K, T, H, P> types;
-        typedef typename types::traits allocator_traits;
-        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&);
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_map(BOOST_RV_REF(unordered_map) other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#elif !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_map(unordered_map&& other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_map(unordered_map&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_CXX11_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() BOOST_NOEXCEPT;
-
-        // Assign
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        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;
-        }
-#else
-        unordered_map& operator=(unordered_map const& x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_map& operator=(unordered_map&& x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-#endif
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-        unordered_map& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const BOOST_NOEXCEPT
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const BOOST_NOEXCEPT
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const BOOST_NOEXCEPT
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const BOOST_NOEXCEPT;
-
-        // iterators
-
-        iterator begin() BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        const_iterator begin() const BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        iterator end() BOOST_NOEXCEPT
-        {
-            return iterator();
-        }
-
-        const_iterator end() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        const_iterator cend() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        template <class... Args>
-        std::pair<iterator, bool> emplace(BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...);
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...).first;
-        }
-#else
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        // 0 argument emplace requires special treatment in case
-        // the container is instantiated with a value type that
-        // doesn't have a default constructor.
-
-        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
-
-        template <typename A0>
-        std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            );
-        }
-
-        template <typename A0>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            ).first;
-        }
-
-        template <typename A0, typename A1>
-        std::pair<iterator, bool> emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            );
-        }
-
-        template <typename A0, typename A1>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            ).first;
-        }
-
-        template <typename A0, typename A1, typename A2>
-        std::pair<iterator, bool> emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            );
-        }
-
-        template <typename A0, typename A1, typename A2>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            ).first;
-        }
-
-#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 table_.emplace(                                      \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )).first;                                                   \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#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_CXX11_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 BOOST_NOEXCEPT
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const BOOST_NOEXCEPT
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_to_bucket(table_.hash(k));
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        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 const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const BOOST_NOEXCEPT
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const BOOST_NOEXCEPT;
-        void max_load_factor(float) BOOST_NOEXCEPT;
-        void rehash(size_type);
-        void reserve(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
-    {
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        BOOST_COPYABLE_AND_MOVABLE(unordered_multimap)
-#endif
-    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 boost::unordered::detail::multimap<A, K, T, H, P> types;
-        typedef typename types::traits allocator_traits;
-        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&);
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_multimap(BOOST_RV_REF(unordered_multimap) other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#elif !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_multimap(unordered_multimap&& other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_multimap(unordered_multimap&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_CXX11_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() BOOST_NOEXCEPT;
-
-        // Assign
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        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;
-        }
-#else
-        unordered_multimap& operator=(unordered_multimap const& x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_multimap& operator=(unordered_multimap&& x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-#endif
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-        unordered_multimap& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const BOOST_NOEXCEPT
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const BOOST_NOEXCEPT
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const BOOST_NOEXCEPT
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const BOOST_NOEXCEPT;
-
-        // iterators
-
-        iterator begin() BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        const_iterator begin() const BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        iterator end() BOOST_NOEXCEPT
-        {
-            return iterator();
-        }
-
-        const_iterator end() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        const_iterator cend() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        template <class... Args>
-        iterator emplace(BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...);
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...);
-        }
-#else
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        // 0 argument emplace requires special treatment in case
-        // the container is instantiated with a value type that
-        // doesn't have a default constructor.
-
-        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
-
-        template <typename A0>
-        iterator emplace(BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            );
-        }
-
-        template <typename A0>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            );
-        }
-
-        template <typename A0, typename A1>
-        iterator emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            );
-        }
-
-        template <typename A0, typename A1>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            );
-        }
-
-        template <typename A0, typename A1, typename A2>
-        iterator emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            );
-        }
-
-        template <typename A0, typename A1, typename A2>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            );
-        }
-
-#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 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 table_.emplace(                                      \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                ));                                                         \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#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_CXX11_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 BOOST_NOEXCEPT
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const BOOST_NOEXCEPT
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_to_bucket(table_.hash(k));
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        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 const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const BOOST_NOEXCEPT
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const BOOST_NOEXCEPT;
-        void max_load_factor(float) BOOST_NOEXCEPT;
-        void rehash(size_type);
-        void reserve(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() BOOST_NOEXCEPT {}
-
-    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_CXX11_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_CXX11_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 BOOST_NOEXCEPT
-    {
-        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_CXX11_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 table_.erase(position);
-    }
-
-    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 table_.erase_range(first, last);
-    }
-
-    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 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 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 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 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 BOOST_NOEXCEPT
-    {
-        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) BOOST_NOEXCEPT
-    {
-        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>
-    void unordered_map<K,T,H,P,A>::reserve(size_type n)
-    {
-        table_.reserve(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() BOOST_NOEXCEPT {}
-
-    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_CXX11_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_CXX11_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 BOOST_NOEXCEPT
-    {
-        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_CXX11_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 table_.erase(position);
-    }
-
-    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 table_.erase_range(first, last);
-    }
-
-    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 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 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 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 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 BOOST_NOEXCEPT
-    {
-        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) BOOST_NOEXCEPT
-    {
-        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>
-    void unordered_multimap<K,T,H,P,A>::reserve(size_type n)
-    {
-        table_.reserve(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/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_map_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_map_fwd.hpp
deleted file mode 100644
index 1eb26ce..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_map_fwd.hpp
+++ /dev/null
@@ -1,65 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <memory>
-#include <functional>
-#include <boost/functional/hash_fwd.hpp>
-#include <boost/unordered/detail/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, 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 = boost::hash<K>,
-            class P = std::equal_to<K>,
-            class A = std::allocator<std::pair<const K, T> > >
-        class unordered_multimap;
-
-        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/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_set.hpp
deleted file mode 100644
index 853b5d7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_set.hpp
+++ /dev/null
@@ -1,1554 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/unordered_set_fwd.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_CXX11_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
-    {
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        BOOST_COPYABLE_AND_MOVABLE(unordered_set)
-#endif
-    public:
-
-        typedef T key_type;
-        typedef T value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef A allocator_type;
-
-    private:
-
-        typedef boost::unordered::detail::set<A, T, H, P> types;
-        typedef typename types::traits allocator_traits;
-        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&);
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_set(BOOST_RV_REF(unordered_set) other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#elif !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_set(unordered_set&& other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_set(unordered_set&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_CXX11_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() BOOST_NOEXCEPT;
-
-        // Assign
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        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;
-        }
-#else
-        unordered_set& operator=(unordered_set const& x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_set& operator=(unordered_set&& x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-#endif
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-        unordered_set& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const BOOST_NOEXCEPT
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const BOOST_NOEXCEPT
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const BOOST_NOEXCEPT
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const BOOST_NOEXCEPT;
-
-        // iterators
-
-        iterator begin() BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        const_iterator begin() const BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        iterator end() BOOST_NOEXCEPT
-        {
-            return iterator();
-        }
-
-        const_iterator end() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const BOOST_NOEXCEPT
-        {
-            return table_.begin();
-        }
-
-        const_iterator cend() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        template <class... Args>
-        std::pair<iterator, bool> emplace(BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...);
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...).first;
-        }
-#else
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        // 0 argument emplace requires special treatment in case
-        // the container is instantiated with a value type that
-        // doesn't have a default constructor.
-
-        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
-
-        template <typename A0>
-        std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            );
-        }
-
-        template <typename A0>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            ).first;
-        }
-
-        template <typename A0, typename A1>
-        std::pair<iterator, bool> emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            );
-        }
-
-        template <typename A0, typename A1>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            ).first;
-        }
-
-        template <typename A0, typename A1, typename A2>
-        std::pair<iterator, bool> emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            );
-        }
-
-        template <typename A0, typename A1, typename A2>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            ).first;
-        }
-
-#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 table_.emplace(                                      \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                )).first;                                                   \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#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_CXX11_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 BOOST_NOEXCEPT
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const BOOST_NOEXCEPT
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_to_bucket(table_.hash(k));
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        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 const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const BOOST_NOEXCEPT
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const BOOST_NOEXCEPT;
-        void max_load_factor(float) BOOST_NOEXCEPT;
-        void rehash(size_type);
-        void reserve(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
-    {
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        BOOST_COPYABLE_AND_MOVABLE(unordered_multiset)
-#endif
-    public:
-
-        typedef T key_type;
-        typedef T value_type;
-        typedef H hasher;
-        typedef P key_equal;
-        typedef A allocator_type;
-
-    private:
-
-        typedef boost::unordered::detail::multiset<A, T, H, P> types;
-        typedef typename types::traits allocator_traits;
-        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&);
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_multiset(BOOST_RV_REF(unordered_multiset) other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#elif !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_multiset(unordered_multiset&& other)
-                BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
-            : table_(other.table_, boost::unordered::detail::move_tag())
-        {
-        }
-#endif
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_multiset(unordered_multiset&&, allocator_type const&);
-#endif
-
-#if !defined(BOOST_NO_CXX11_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() BOOST_NOEXCEPT;
-
-        // Assign
-
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        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;
-        }
-#else
-        unordered_multiset& operator=(unordered_multiset const& x)
-        {
-            table_.assign(x.table_);
-            return *this;
-        }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        unordered_multiset& operator=(unordered_multiset&& x)
-        {
-            table_.move_assign(x.table_);
-            return *this;
-        }
-#endif
-#endif
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-        unordered_multiset& operator=(std::initializer_list<value_type>);
-#endif
-
-        allocator_type get_allocator() const BOOST_NOEXCEPT
-        {
-            return table_.node_alloc();
-        }
-
-        // size and capacity
-
-        bool empty() const BOOST_NOEXCEPT
-        {
-            return table_.size_ == 0;
-        }
-
-        size_type size() const BOOST_NOEXCEPT
-        {
-            return table_.size_;
-        }
-
-        size_type max_size() const BOOST_NOEXCEPT;
-
-        // iterators
-
-        iterator begin() BOOST_NOEXCEPT
-        {
-            return iterator(table_.begin());
-        }
-
-        const_iterator begin() const BOOST_NOEXCEPT
-        {
-            return const_iterator(table_.begin());
-        }
-
-        iterator end() BOOST_NOEXCEPT
-        {
-            return iterator();
-        }
-
-        const_iterator end() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        const_iterator cbegin() const BOOST_NOEXCEPT
-        {
-            return const_iterator(table_.begin());
-        }
-
-        const_iterator cend() const BOOST_NOEXCEPT
-        {
-            return const_iterator();
-        }
-
-        // emplace
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-        template <class... Args>
-        iterator emplace(BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...);
-        }
-
-        template <class... Args>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(Args)... args)
-        {
-            return table_.emplace(boost::forward<Args>(args)...);
-        }
-#else
-
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-        // 0 argument emplace requires special treatment in case
-        // the container is instantiated with a value type that
-        // doesn't have a default constructor.
-
-        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
-
-        template <typename A0>
-        iterator emplace(BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            );
-        }
-
-        template <typename A0>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0))
-            );
-        }
-
-        template <typename A0, typename A1>
-        iterator emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            );
-        }
-
-        template <typename A0, typename A1>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1))
-            );
-        }
-
-        template <typename A0, typename A1, typename A2>
-        iterator emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            );
-        }
-
-        template <typename A0, typename A1, typename A2>
-        iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
-        {
-            return table_.emplace(
-                boost::unordered::detail::create_emplace_args(
-                    boost::forward<A0>(a0),
-                    boost::forward<A1>(a1),
-                    boost::forward<A2>(a2))
-            );
-        }
-
-#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 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 table_.emplace(                                      \
-                    boost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
-                            a)                                              \
-                ));                                                         \
-            }
-
-        BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
-
-#undef BOOST_UNORDERED_EMPLACE
-
-#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_CXX11_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 BOOST_NOEXCEPT
-        {
-            return table_.bucket_count_;
-        }
-
-        size_type max_bucket_count() const BOOST_NOEXCEPT
-        {
-            return table_.max_bucket_count();
-        }
-
-        size_type bucket_size(size_type) const;
-
-        size_type bucket(const key_type& k) const
-        {
-            return table_.hash_to_bucket(table_.hash(k));
-        }
-
-        local_iterator begin(size_type n)
-        {
-            return local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator begin(size_type n) const
-        {
-            return const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        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 const_local_iterator(
-                table_.begin(n), n, table_.bucket_count_);
-        }
-
-        const_local_iterator cend(size_type) const
-        {
-            return const_local_iterator();
-        }
-
-        // hash policy
-
-        float max_load_factor() const BOOST_NOEXCEPT
-        {
-            return table_.mlf_;
-        }
-
-        float load_factor() const BOOST_NOEXCEPT;
-        void max_load_factor(float) BOOST_NOEXCEPT;
-        void rehash(size_type);
-        void reserve(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() BOOST_NOEXCEPT {}
-
-    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_CXX11_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_CXX11_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 BOOST_NOEXCEPT
-    {
-        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_CXX11_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 table_.erase(position);
-    }
-
-    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 table_.erase_range(first, last);
-    }
-
-    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 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 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 BOOST_NOEXCEPT
-    {
-        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) BOOST_NOEXCEPT
-    {
-        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>
-    void unordered_set<T,H,P,A>::reserve(size_type n)
-    {
-        table_.reserve(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() BOOST_NOEXCEPT {}
-
-    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_CXX11_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_CXX11_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 BOOST_NOEXCEPT
-    {
-        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_CXX11_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 table_.erase(position);
-    }
-
-    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 table_.erase_range(first, last);
-    }
-
-    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 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 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 BOOST_NOEXCEPT
-    {
-        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) BOOST_NOEXCEPT
-    {
-        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>
-    void unordered_multiset<T,H,P,A>::reserve(size_type n)
-    {
-        table_.reserve(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/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_set_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_set_fwd.hpp
deleted file mode 100644
index 52b9e82..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered/unordered_set_fwd.hpp
+++ /dev/null
@@ -1,63 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <memory>
-#include <functional>
-#include <boost/functional/hash_fwd.hpp>
-#include <boost/unordered/detail/fwd.hpp>
-
-namespace boost
-{
-    namespace unordered
-    {
-        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, 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 = boost::hash<T>,
-            class P = std::equal_to<T>,
-            class A = std::allocator<T> >
-        class unordered_multiset;
-
-        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/rbgl_trimmed_boost_1_61_0/boost/unordered_map.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered_map.hpp
deleted file mode 100644
index 92ef4d6..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered_map.hpp
+++ /dev/null
@@ -1,19 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/unordered_map.hpp>
-
-#endif // BOOST_UNORDERED_MAP_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/unordered_set.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/unordered_set.hpp
deleted file mode 100644
index 1c83c02..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/unordered_set.hpp
+++ /dev/null
@@ -1,19 +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
-
-#include <boost/config.hpp>
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/unordered/unordered_set.hpp>
-
-#endif // BOOST_UNORDERED_SET_HPP_INCLUDED
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility.hpp
deleted file mode 100644
index 82177c8..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility.hpp
+++ /dev/null
@@ -1,21 +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/utility/identity_type.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/noncopyable.hpp>
-
-#endif  // BOOST_UTILITY_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/addressof.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/addressof.hpp
deleted file mode 100644
index db4da80..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/addressof.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_ADDRESSOF_HPP
-#define BOOST_UTILITY_ADDRESSOF_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/addressof.hpp instead.
-
-#include <boost/core/addressof.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/base_from_member.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/base_from_member.hpp
deleted file mode 100644
index fc0e13c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/base_from_member.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-//  boost utility/base_from_member.hpp header file  --------------------------//
-
-//  Copyright 2001, 2003, 2004, 2012 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/config.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>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/enable_if.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
-{
-
-namespace detail
-{
-
-//  Type-unmarking class template  -------------------------------------------//
-
-// Type-trait to get the raw type, i.e. the type without top-level reference nor
-// cv-qualification, from a type expression.  Mainly for function arguments, any
-// reference part is stripped first.
-
-// Contributed by Daryle Walker
-
-template < typename T >
-struct remove_cv_ref
-{
-    typedef typename ::boost::remove_cv<typename
-     ::boost::remove_reference<T>::type>::type  type;
-
-};  // boost::detail::remove_cv_ref
-
-//  Unmarked-type comparison class template  ---------------------------------//
-
-// Type-trait to check if two type expressions have the same raw type.
-
-// Contributed by Daryle Walker, based on a work-around by Luc Danton
-
-template < typename T, typename U >
-struct is_related
-    : public ::boost::is_same<
-     typename ::boost::detail::remove_cv_ref<T>::type,
-     typename ::boost::detail::remove_cv_ref<U>::type >
-{};
-
-//  Enable-if-on-unidentical-unmarked-type class template  -------------------//
-
-// Enable-if on the first two type expressions NOT having the same raw type.
-
-// Contributed by Daryle Walker, based on a work-around by Luc Danton
-
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-template<typename ...T>
-struct enable_if_unrelated
-    : public ::boost::enable_if_c<true>
-{};
-
-template<typename T, typename U, typename ...U2>
-struct enable_if_unrelated<T, U, U2...>
-    : public ::boost::disable_if< ::boost::detail::is_related<T, U> >
-{};
-#endif
-
-}  // namespace boost::detail
-
-
-//  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;
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
-    !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
-    !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && \
-    !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4))
-    template <typename ...T, typename EnableIf = typename
-     ::boost::detail::enable_if_unrelated<base_from_member, T...>::type>
-    explicit BOOST_CONSTEXPR base_from_member( T&& ...x )
-        BOOST_NOEXCEPT_IF( BOOST_NOEXCEPT_EXPR(::new ((void*) 0) MemberType(
-         static_cast<T&&>(x)... )) )  // no std::is_nothrow_constructible...
-        : member( static_cast<T&&>(x)... )     // ...nor std::forward needed
-        {}
-#else
-    base_from_member()
-        : member()
-        {}
-
-    BOOST_PP_REPEAT_FROM_TO( 1, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY),
-     BOOST_PRIVATE_CTR_DEF, _ )
-#endif
-
-};  // boost::base_from_member
-
-template < typename MemberType, int UniqueID >
-class base_from_member<MemberType&, UniqueID>
-{
-protected:
-    MemberType& member;
-
-    explicit BOOST_CONSTEXPR base_from_member( MemberType& x )
-        BOOST_NOEXCEPT
-        : member( x )
-        {}
-
-};  // 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/rbgl_trimmed_boost_1_61_0/boost/utility/binary.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/binary.hpp
deleted file mode 100644
index 8cef146..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/utility/compare_pointees.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/compare_pointees.hpp
deleted file mode 100644
index 7e2515c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/utility/declval.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/declval.hpp
deleted file mode 100644
index 229e9a3..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/declval.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-//  declval.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_UTILITY_DECLVAL_HPP
-#define BOOST_UTILITY_DECLVAL_HPP
-
-#include <boost/type_traits/declval.hpp>
-
-#endif  // BOOST_UTILITY_DECLVAL_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/detail/in_place_factory_prefix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/detail/in_place_factory_prefix.hpp
deleted file mode 100644
index afd76b5..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/utility/detail/in_place_factory_suffix.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/detail/in_place_factory_suffix.hpp
deleted file mode 100644
index 58f48c7..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/utility/detail/result_of_iterate.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/detail/result_of_iterate.hpp
deleted file mode 100644
index 5192172..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/detail/result_of_iterate.hpp
+++ /dev/null
@@ -1,221 +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)
-
-//  Copyright Daniel Walker, Eric Niebler, Michel Morin 2008-2012.
-//  Use, modification and distribution is subject to the 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_ENUM_TRAILING_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
-
-#ifdef BOOST_RESULT_OF_USE_DECLTYPE
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
-    : detail::cpp0x_result_of<F(BOOST_RESULT_OF_ARGS)> { };
-#endif // BOOST_RESULT_OF_USE_DECLTYPE
-
-#ifdef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
-    : mpl::if_<mpl::or_<detail::has_result_type<F>, detail::has_result<F> >,
-               tr1_result_of<F(BOOST_RESULT_OF_ARGS)>,
-               detail::cpp0x_result_of<F(BOOST_RESULT_OF_ARGS)> >::type { };
-#endif // BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-
-#if defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
-
-namespace detail {
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))>
-    : mpl::if_<
-          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
-{};
-
-#ifdef BOOST_NO_SFINAE_EXPR
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION());
-
-template<typename R BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename T)>
-struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<R(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T))> {
-    R operator()(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T)) const;
-    typedef result_of_private_type const &(*pfn_t)(...);
-    operator pfn_t() const volatile;
-};
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION());
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<F *>
-  : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<F>
-{};
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<F &>
-  : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<F>
-{};
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())
-  : mpl::eval_if<
-        is_class<typename remove_reference<F>::type>,
-        result_of_wrap_callable_class<F>,
-        mpl::identity<BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<typename remove_cv<F>::type> >
-    >
-{};
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename T)>
-struct BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION()) {
-    typedef typename BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())<F>::type wrapper_t;
-    static const bool value = (
-        sizeof(result_of_no_type) == sizeof(detail::result_of_is_private_type(
-            (boost::declval<wrapper_t>()(BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)), result_of_weird_type())
-        ))
-    );
-    typedef mpl::bool_<value> type;
-};
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), true>
-    : lazy_enable_if<
-          BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION())<F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), T)>
-        , cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false>
-      >
-{};
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false>
-{
-  typedef decltype(
-    boost::declval<F>()(
-      BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)
-    )
-  ) type;
-};
-
-#else // BOOST_NO_SFINAE_EXPR
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)),
-                            typename result_of_always_void<decltype(
-                                boost::declval<F>()(
-                                    BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)
-                                )
-                            )>::type> {
-  typedef decltype(
-    boost::declval<F>()(
-      BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)
-    )
-  ) type;
-};
-
-#endif // BOOST_NO_SFINAE_EXPR
-
-} // namespace detail
-
-#else // defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_ENUM_TRAILING_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_RESULT_OF_USE_DECLTYPE)
-
-#undef BOOST_RESULT_OF_ARGS
-
-#if BOOST_PP_ITERATION() >= 1
-
-namespace detail {
-
-template<typename R,  typename FArgs BOOST_PP_ENUM_TRAILING_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_ENUM_TRAILING_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_ENUM_TRAILING_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_ENUM_TRAILING_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_ENUM_TRAILING_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_ENUM_TRAILING_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/rbgl_trimmed_boost_1_61_0/boost/utility/empty_deleter.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/empty_deleter.hpp
deleted file mode 100644
index 91bc47b..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/empty_deleter.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *          Copyright Andrey Semashev 2007 - 2013.
- * Distributed under the Boost Software License, Version 1.0.
- *    (See accompanying file LICENSE_1_0.txt or copy at
- *          http://www.boost.org/LICENSE_1_0.txt)
- */
-
-/*!
- * \file   empty_deleter.hpp
- * \author Andrey Semashev
- * \date   22.04.2007
- *
- * This header contains an \c empty_deleter implementation. This is an empty
- * function object that receives a pointer and does nothing with it.
- * Such empty deletion strategy may be convenient, for example, when
- * constructing <tt>shared_ptr</tt>s that point to some object that should not be
- * deleted (i.e. a variable on the stack or some global singleton, like <tt>std::cout</tt>).
- */
-
-#ifndef BOOST_UTILITY_EMPTY_DELETER_HPP
-#define BOOST_UTILITY_EMPTY_DELETER_HPP
-
-#include <boost/config.hpp>
-#include <boost/core/null_deleter.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-#pragma message "This header is deprecated, use boost/core/null_deleter.hpp instead."
-#elif defined(_MSC_VER)
-#pragma message("This header is deprecated, use boost/core/null_deleter.hpp instead.")
-#endif
-
-namespace boost {
-
-//! A deprecated name for \c null_deleter
-typedef null_deleter empty_deleter;
-
-} // namespace boost
-
-#endif // BOOST_UTILITY_EMPTY_DELETER_HPP
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/enable_if.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/enable_if.hpp
deleted file mode 100644
index 803bfca..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/enable_if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_ENABLE_IF_HPP
-#define BOOST_UTILITY_ENABLE_IF_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/enable_if.hpp instead.
-
-#include <boost/core/enable_if.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/explicit_operator_bool.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/explicit_operator_bool.hpp
deleted file mode 100644
index 9b625cd..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/explicit_operator_bool.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_EXPLICIT_OPERATOR_BOOL_HPP
-#define BOOST_UTILITY_EXPLICIT_OPERATOR_BOOL_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/explicit_operator_bool.hpp instead.
-
-#include <boost/core/explicit_operator_bool.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/identity_type.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/identity_type.hpp
deleted file mode 100644
index 4a1f6c4..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/identity_type.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright (C) 2009-2012 Lorenzo Caminiti
-// Distributed under 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)
-// Home at http://www.boost.org/libs/utility/identity_type
-
-/** @file
-Wrap type expressions with round parenthesis so they can be passed to macros
-even if they contain commas.
-*/
-
-#ifndef BOOST_IDENTITY_TYPE_HPP_
-#define BOOST_IDENTITY_TYPE_HPP_
-
-#include <boost/type_traits/function_traits.hpp>
-
-/**
- at brief This macro allows to wrap the specified type expression within extra
-round parenthesis so the type can be passed as a single macro parameter even if
-it contains commas (not already wrapped within round parenthesis).
-
- at Params
- at Param{parenthesized_type,
-The type expression to be passed as macro parameter wrapped by a single set
-of round parenthesis <c>(...)</c>.
-This type expression can contain an arbitrary number of commas.
-}
- at EndParams
-
-This macro works on any C++03 compiler (it does not use variadic macros).
-
-This macro must be prefixed by <c>typename</c> when used within templates.
-Note that the compiler will not be able to automatically determine function
-template parameters when they are wrapped with this macro (these parameters
-need to be explicitly specified when calling the function template).
-
-On some compilers (like GCC), using this macro on abstract types requires to
-add and remove a reference to the specified type.
-*/
-#define BOOST_IDENTITY_TYPE(parenthesized_type) \
-    /* must NOT prefix this with `::` to work with parenthesized syntax */ \
-    boost::function_traits< void parenthesized_type >::arg1_type
-
-#endif // #include guard
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/in_place_factory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/in_place_factory.hpp
deleted file mode 100644
index 1a62ace..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/in_place_factory.hpp
+++ /dev/null
@@ -1,86 +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) const
-  {
-    return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );
-  }
-
-  template<class T>
-  void* apply(void* address, std::size_t n) 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/rbgl_trimmed_boost_1_61_0/boost/utility/result_of.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/result_of.hpp
deleted file mode 100644
index 206ae30..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/result_of.hpp
+++ /dev/null
@@ -1,210 +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/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#ifndef BOOST_RESULT_OF_NUM_ARGS
-#  define BOOST_RESULT_OF_NUM_ARGS 16
-#endif
-
-// Use the decltype-based version of result_of by default if the compiler
-// supports N3276 <http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011/n3276.pdf>.
-// The user can force the choice by defining BOOST_RESULT_OF_USE_DECLTYPE,
-// BOOST_RESULT_OF_USE_TR1, or BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK but not more than one!
-#if (defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1)) || \
-    (defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)) || \
-    (defined(BOOST_RESULT_OF_USE_TR1) && defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK))
-#  error More than one of BOOST_RESULT_OF_USE_DECLTYPE, BOOST_RESULT_OF_USE_TR1 and \
-  BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK cannot be defined at the same time.
-#endif
-
-#if defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK) && defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-#  error Cannot fallback to decltype if BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE is not defined.
-#endif
-
-#ifndef BOOST_RESULT_OF_USE_TR1
-#  ifndef BOOST_RESULT_OF_USE_DECLTYPE
-#    ifndef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-#      ifndef BOOST_NO_CXX11_DECLTYPE_N3276 // this implies !defined(BOOST_NO_CXX11_DECLTYPE)
-#        define BOOST_RESULT_OF_USE_DECLTYPE
-#      else
-#        define BOOST_RESULT_OF_USE_TR1
-#      endif
-#    endif
-#  endif
-#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)
-namespace detail {
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
-
-// Work around a nvcc bug by only defining has_result when it's needed.
-#ifdef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-BOOST_MPL_HAS_XXX_TEMPLATE_DEF(result)
-#endif
-
-template<typename F, typename FArgs, bool HasResultType> struct tr1_result_of_impl;
-
-template<typename F> struct cpp0x_result_of;
-
-#ifdef BOOST_NO_SFINAE_EXPR
-
-// There doesn't seem to be any other way to turn this off such that the presence of
-// the user-defined operator,() below doesn't cause spurious warning all over the place,
-// so unconditionally turn it off.
-#if BOOST_MSVC
-#  pragma warning(disable: 4913) // user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used
-#endif
-
-struct result_of_private_type {};
-
-struct result_of_weird_type {
-  friend result_of_private_type operator,(result_of_private_type, result_of_weird_type);
-};
-
-typedef char result_of_yes_type;      // sizeof(result_of_yes_type) == 1
-typedef char (&result_of_no_type)[2]; // sizeof(result_of_no_type)  == 2
-
-template<typename T>
-result_of_no_type result_of_is_private_type(T const &);
-result_of_yes_type result_of_is_private_type(result_of_private_type);
-
-template<typename C>
-struct result_of_callable_class : C {
-    result_of_callable_class();
-    typedef result_of_private_type const &(*pfn_t)(...);
-    operator pfn_t() const volatile;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class {
-  typedef result_of_callable_class<C> type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C const> {
-  typedef result_of_callable_class<C> const type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C volatile> {
-  typedef result_of_callable_class<C> volatile type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C const volatile> {
-  typedef result_of_callable_class<C> const volatile type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C &> {
-  typedef typename result_of_wrap_callable_class<C>::type &type;
-};
-
-template<typename F, bool TestCallability = true> struct cpp0x_result_of_impl;
-
-#else // BOOST_NO_SFINAE_EXPR
-
-template<typename T>
-struct result_of_always_void
-{
-  typedef void type;
-};
-
-template<typename F, typename Enable = void> struct cpp0x_result_of_impl {};
-
-#endif // BOOST_NO_SFINAE_EXPR
-
-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/rbgl_trimmed_boost_1_61_0/boost/utility/string_ref.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_ref.hpp
deleted file mode 100644
index 8707157..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_ref.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-/*
-   Copyright (c) Marshall Clow 2012-2015.
-
-   Distributed under the 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
-
-    Based on the StringRef implementation in LLVM (http://llvm.org) and
-    N3422 by Jeffrey Yasskin
-        http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
-
-*/
-
-#ifndef BOOST_STRING_REF_HPP
-#define BOOST_STRING_REF_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/utility/string_ref_fwd.hpp>
-#include <boost/throw_exception.hpp>
-
-#include <cstddef>
-#include <stdexcept>
-#include <algorithm>
-#include <iterator>
-#include <string>
-#include <iosfwd>
-
-namespace boost {
-
-    namespace detail {
-    //  A helper functor because sometimes we don't have lambdas
-        template <typename charT, typename traits>
-        class string_ref_traits_eq {
-        public:
-            string_ref_traits_eq ( charT ch ) : ch_(ch) {}
-            bool operator () ( charT val ) const { return traits::eq ( ch_, val ); }
-            charT ch_;
-            };
-        }
-
-    template<typename charT, typename traits>
-    class basic_string_ref {
-    public:
-        // types
-        typedef charT value_type;
-        typedef const charT* pointer;
-        typedef const charT& reference;
-        typedef const charT& const_reference;
-        typedef pointer const_iterator; // impl-defined
-        typedef const_iterator iterator;
-        typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-        typedef const_reverse_iterator reverse_iterator;
-        typedef std::size_t size_type;
-        typedef std::ptrdiff_t difference_type;
-        static BOOST_CONSTEXPR_OR_CONST size_type npos = size_type(-1);
-
-        // construct/copy
-        BOOST_CONSTEXPR basic_string_ref ()
-            : ptr_(NULL), len_(0) {}
-
-        BOOST_CONSTEXPR basic_string_ref (const basic_string_ref &rhs)
-            : ptr_(rhs.ptr_), len_(rhs.len_) {}
-
-        basic_string_ref& operator=(const basic_string_ref &rhs) {
-            ptr_ = rhs.ptr_;
-            len_ = rhs.len_;
-            return *this;
-            }
-
-        basic_string_ref(const charT* str)
-            : ptr_(str), len_(traits::length(str)) {}
-
-        template<typename Allocator>
-        basic_string_ref(const std::basic_string<charT, traits, Allocator>& str)
-            : ptr_(str.data()), len_(str.length()) {}
-
-        BOOST_CONSTEXPR basic_string_ref(const charT* str, size_type len)
-            : ptr_(str), len_(len) {}
-
-#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-        template<typename Allocator>
-        explicit operator std::basic_string<charT, traits, Allocator>() const {
-            return std::basic_string<charT, traits, Allocator> ( begin(), end());
-            }
-#endif
-
-        std::basic_string<charT, traits> to_string () const {
-            return std::basic_string<charT, traits> ( begin(), end());
-            }
-
-        // iterators
-        BOOST_CONSTEXPR const_iterator   begin() const { return ptr_; }
-        BOOST_CONSTEXPR const_iterator  cbegin() const { return ptr_; }
-        BOOST_CONSTEXPR const_iterator     end() const { return ptr_ + len_; }
-        BOOST_CONSTEXPR const_iterator    cend() const { return ptr_ + len_; }
-                const_reverse_iterator  rbegin() const { return const_reverse_iterator (end()); }
-                const_reverse_iterator crbegin() const { return const_reverse_iterator (end()); }
-                const_reverse_iterator    rend() const { return const_reverse_iterator (begin()); }
-                const_reverse_iterator   crend() const { return const_reverse_iterator (begin()); }
-
-        // capacity
-        BOOST_CONSTEXPR size_type size()     const { return len_; }
-        BOOST_CONSTEXPR size_type length()   const { return len_; }
-        BOOST_CONSTEXPR size_type max_size() const { return len_; }
-        BOOST_CONSTEXPR bool empty()         const { return len_ == 0; }
-
-        // element access
-        BOOST_CONSTEXPR const charT& operator[](size_type pos) const { return ptr_[pos]; }
-
-        const charT& at(size_t pos) const {
-            if ( pos >= len_ )
-                BOOST_THROW_EXCEPTION( std::out_of_range ( "boost::string_ref::at" ) );
-            return ptr_[pos];
-            }
-
-        BOOST_CONSTEXPR const charT& front() const { return ptr_[0]; }
-        BOOST_CONSTEXPR const charT& back()  const { return ptr_[len_-1]; }
-        BOOST_CONSTEXPR const charT* data()  const { return ptr_; }
-
-        // modifiers
-        void clear() { len_ = 0; }
-        void remove_prefix(size_type n) {
-            if ( n > len_ )
-                n = len_;
-            ptr_ += n;
-            len_ -= n;
-            }
-
-        void remove_suffix(size_type n) {
-            if ( n > len_ )
-                n = len_;
-            len_ -= n;
-            }
-
-
-        // basic_string_ref string operations
-        basic_string_ref substr(size_type pos, size_type n=npos) const {
-            if ( pos > size())
-                BOOST_THROW_EXCEPTION( std::out_of_range ( "string_ref::substr" ) );
-            if ( n == npos || pos + n > size())
-                n = size () - pos;
-            return basic_string_ref ( data() + pos, n );
-            }
-
-        int compare(basic_string_ref x) const {
-            const int cmp = traits::compare ( ptr_, x.ptr_, (std::min)(len_, x.len_));
-            return cmp != 0 ? cmp : ( len_ == x.len_ ? 0 : len_ < x.len_ ? -1 : 1 );
-            }
-
-        bool starts_with(charT c) const { return !empty() && traits::eq ( c, front()); }
-        bool starts_with(basic_string_ref x) const {
-            return len_ >= x.len_ && traits::compare ( ptr_, x.ptr_, x.len_ ) == 0;
-            }
-
-        bool ends_with(charT c) const { return !empty() && traits::eq ( c, back()); }
-        bool ends_with(basic_string_ref x) const {
-            return len_ >= x.len_ && traits::compare ( ptr_ + len_ - x.len_, x.ptr_, x.len_ ) == 0;
-            }
-
-        size_type find(basic_string_ref s) const {
-            const_iterator iter = std::search ( this->cbegin (), this->cend (),
-                                                s.cbegin (), s.cend (), traits::eq );
-            return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
-            }
-
-        size_type find(charT c) const {
-            const_iterator iter = std::find_if ( this->cbegin (), this->cend (),
-                                    detail::string_ref_traits_eq<charT, traits> ( c ));
-            return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
-            }
-
-        size_type rfind(basic_string_ref s) const {
-            const_reverse_iterator iter = std::search ( this->crbegin (), this->crend (),
-                                                s.crbegin (), s.crend (), traits::eq );
-            return iter == this->crend () ? npos : reverse_distance ( this->crbegin (), iter );
-            }
-
-        size_type rfind(charT c) const {
-            const_reverse_iterator iter = std::find_if ( this->crbegin (), this->crend (),
-                                    detail::string_ref_traits_eq<charT, traits> ( c ));
-            return iter == this->crend () ? npos : reverse_distance ( this->crbegin (), iter );
-            }
-
-        size_type find_first_of(charT c) const { return  find (c); }
-        size_type find_last_of (charT c) const { return rfind (c); }
-
-        size_type find_first_of(basic_string_ref s) const {
-            const_iterator iter = std::find_first_of
-                ( this->cbegin (), this->cend (), s.cbegin (), s.cend (), traits::eq );
-            return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
-            }
-
-        size_type find_last_of(basic_string_ref s) const {
-            const_reverse_iterator iter = std::find_first_of
-                ( this->crbegin (), this->crend (), s.cbegin (), s.cend (), traits::eq );
-            return iter == this->crend () ? npos : reverse_distance ( this->crbegin (), iter);
-            }
-
-        size_type find_first_not_of(basic_string_ref s) const {
-            const_iterator iter = find_not_of ( this->cbegin (), this->cend (), s );
-            return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
-            }
-
-        size_type find_first_not_of(charT c) const {
-            for ( const_iterator iter = this->cbegin (); iter != this->cend (); ++iter )
-                if ( !traits::eq ( c, *iter ))
-                    return std::distance ( this->cbegin (), iter );
-            return npos;
-            }
-
-        size_type find_last_not_of(basic_string_ref s) const {
-            const_reverse_iterator iter = find_not_of ( this->crbegin (), this->crend (), s );
-            return iter == this->crend () ? npos : reverse_distance ( this->crbegin (), iter );
-            }
-
-        size_type find_last_not_of(charT c) const {
-            for ( const_reverse_iterator iter = this->crbegin (); iter != this->crend (); ++iter )
-                if ( !traits::eq ( c, *iter ))
-                    return reverse_distance ( this->crbegin (), iter );
-            return npos;
-            }
-
-    private:
-        template <typename r_iter>
-        size_type reverse_distance ( r_iter first, r_iter last ) const {
-            return len_ - 1 - std::distance ( first, last );
-            }
-
-        template <typename Iterator>
-        Iterator find_not_of ( Iterator first, Iterator last, basic_string_ref s ) const {
-            for ( ; first != last ; ++first )
-                if ( 0 == traits::find ( s.ptr_, s.len_, *first ))
-                    return first;
-            return last;
-            }
-
-
-
-        const charT *ptr_;
-        std::size_t len_;
-        };
-
-
-//  Comparison operators
-//  Equality
-    template<typename charT, typename traits>
-    inline bool operator==(basic_string_ref<charT, traits> x, basic_string_ref<charT, traits> y) {
-        if ( x.size () != y.size ()) return false;
-        return x.compare(y) == 0;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator==(basic_string_ref<charT, traits> x, const std::basic_string<charT, traits, Allocator> & y) {
-        return x == basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator==(const std::basic_string<charT, traits, Allocator> & x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) == y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator==(basic_string_ref<charT, traits> x, const charT * y) {
-        return x == basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator==(const charT * x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) == y;
-        }
-
-//  Inequality
-    template<typename charT, typename traits>
-    inline bool operator!=(basic_string_ref<charT, traits> x, basic_string_ref<charT, traits> y) {
-        if ( x.size () != y.size ()) return true;
-        return x.compare(y) != 0;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator!=(basic_string_ref<charT, traits> x, const std::basic_string<charT, traits, Allocator> & y) {
-        return x != basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator!=(const std::basic_string<charT, traits, Allocator> & x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) != y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator!=(basic_string_ref<charT, traits> x, const charT * y) {
-        return x != basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator!=(const charT * x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) != y;
-        }
-
-//  Less than
-    template<typename charT, typename traits>
-    inline bool operator<(basic_string_ref<charT, traits> x, basic_string_ref<charT, traits> y) {
-        return x.compare(y) < 0;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<(basic_string_ref<charT, traits> x, const std::basic_string<charT, traits, Allocator> & y) {
-        return x < basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<(const std::basic_string<charT, traits, Allocator> & x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) < y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<(basic_string_ref<charT, traits> x, const charT * y) {
-        return x < basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<(const charT * x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) < y;
-        }
-
-//  Greater than
-    template<typename charT, typename traits>
-    inline bool operator>(basic_string_ref<charT, traits> x, basic_string_ref<charT, traits> y) {
-        return x.compare(y) > 0;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>(basic_string_ref<charT, traits> x, const std::basic_string<charT, traits, Allocator> & y) {
-        return x > basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>(const std::basic_string<charT, traits, Allocator> & x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) > y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>(basic_string_ref<charT, traits> x, const charT * y) {
-        return x > basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>(const charT * x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) > y;
-        }
-
-//  Less than or equal to
-    template<typename charT, typename traits>
-    inline bool operator<=(basic_string_ref<charT, traits> x, basic_string_ref<charT, traits> y) {
-        return x.compare(y) <= 0;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<=(basic_string_ref<charT, traits> x, const std::basic_string<charT, traits, Allocator> & y) {
-        return x <= basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<=(const std::basic_string<charT, traits, Allocator> & x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) <= y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<=(basic_string_ref<charT, traits> x, const charT * y) {
-        return x <= basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<=(const charT * x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) <= y;
-        }
-
-//  Greater than or equal to
-    template<typename charT, typename traits>
-    inline bool operator>=(basic_string_ref<charT, traits> x, basic_string_ref<charT, traits> y) {
-        return x.compare(y) >= 0;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>=(basic_string_ref<charT, traits> x, const std::basic_string<charT, traits, Allocator> & y) {
-        return x >= basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>=(const std::basic_string<charT, traits, Allocator> & x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) >= y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>=(basic_string_ref<charT, traits> x, const charT * y) {
-        return x >= basic_string_ref<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>=(const charT * x, basic_string_ref<charT, traits> y) {
-        return basic_string_ref<charT, traits>(x) >= y;
-        }
-
-    namespace detail {
-
-        template<class charT, class traits>
-        inline void insert_fill_chars(std::basic_ostream<charT, traits>& os, std::size_t n) {
-            enum { chunk_size = 8 };
-            charT fill_chars[chunk_size];
-            std::fill_n(fill_chars, static_cast< std::size_t >(chunk_size), os.fill());
-            for (; n >= chunk_size && os.good(); n -= chunk_size)
-                os.write(fill_chars, static_cast< std::size_t >(chunk_size));
-            if (n > 0 && os.good())
-                os.write(fill_chars, n);
-            }
-
-        template<class charT, class traits>
-        void insert_aligned(std::basic_ostream<charT, traits>& os, const basic_string_ref<charT,traits>& str) {
-            const std::size_t size = str.size();
-            const std::size_t alignment_size = static_cast< std::size_t >(os.width()) - size;
-            const bool align_left = (os.flags() & std::basic_ostream<charT, traits>::adjustfield) == std::basic_ostream<charT, traits>::left;
-            if (!align_left) {
-                detail::insert_fill_chars(os, alignment_size);
-                if (os.good())
-                    os.write(str.data(), size);
-                }
-            else {
-                os.write(str.data(), size);
-                if (os.good())
-                    detail::insert_fill_chars(os, alignment_size);
-                }
-            }
-
-        } // namespace detail
-
-    // Inserter
-    template<class charT, class traits>
-    inline std::basic_ostream<charT, traits>&
-    operator<<(std::basic_ostream<charT, traits>& os, const basic_string_ref<charT,traits>& str) {
-        if (os.good()) {
-            const std::size_t size = str.size();
-            const std::size_t w = static_cast< std::size_t >(os.width());
-            if (w <= size)
-                os.write(str.data(), size);
-            else
-                detail::insert_aligned(os, str);
-            os.width(0);
-            }
-        return os;
-        }
-
-#if 0
-    // numeric conversions
-    //
-    //  These are short-term implementations.
-    //  In a production environment, I would rather avoid the copying.
-    //
-    inline int stoi (string_ref str, size_t* idx=0, int base=10) {
-        return std::stoi ( std::string(str), idx, base );
-        }
-
-    inline long stol (string_ref str, size_t* idx=0, int base=10) {
-        return std::stol ( std::string(str), idx, base );
-        }
-
-    inline unsigned long stoul (string_ref str, size_t* idx=0, int base=10) {
-        return std::stoul ( std::string(str), idx, base );
-        }
-
-    inline long long stoll (string_ref str, size_t* idx=0, int base=10) {
-        return std::stoll ( std::string(str), idx, base );
-        }
-
-    inline unsigned long long stoull (string_ref str, size_t* idx=0, int base=10) {
-        return std::stoull ( std::string(str), idx, base );
-        }
-
-    inline float stof (string_ref str, size_t* idx=0) {
-        return std::stof ( std::string(str), idx );
-        }
-
-    inline double stod (string_ref str, size_t* idx=0) {
-        return std::stod ( std::string(str), idx );
-        }
-
-    inline long double stold (string_ref str, size_t* idx=0)  {
-        return std::stold ( std::string(str), idx );
-        }
-
-    inline int  stoi (wstring_ref str, size_t* idx=0, int base=10) {
-        return std::stoi ( std::wstring(str), idx, base );
-        }
-
-    inline long stol (wstring_ref str, size_t* idx=0, int base=10) {
-        return std::stol ( std::wstring(str), idx, base );
-        }
-
-    inline unsigned long stoul (wstring_ref str, size_t* idx=0, int base=10) {
-        return std::stoul ( std::wstring(str), idx, base );
-        }
-
-    inline long long stoll (wstring_ref str, size_t* idx=0, int base=10) {
-        return std::stoll ( std::wstring(str), idx, base );
-        }
-
-    inline unsigned long long stoull (wstring_ref str, size_t* idx=0, int base=10) {
-        return std::stoull ( std::wstring(str), idx, base );
-        }
-
-    inline float  stof (wstring_ref str, size_t* idx=0) {
-        return std::stof ( std::wstring(str), idx );
-        }
-
-    inline double stod (wstring_ref str, size_t* idx=0) {
-        return std::stod ( std::wstring(str), idx );
-        }
-
-    inline long double stold (wstring_ref str, size_t* idx=0) {
-        return std::stold ( std::wstring(str), idx );
-        }
-#endif
-
-}
-
-#if 0
-namespace std {
-    // Hashing
-    template<> struct hash<boost::string_ref>;
-    template<> struct hash<boost::u16string_ref>;
-    template<> struct hash<boost::u32string_ref>;
-    template<> struct hash<boost::wstring_ref>;
-}
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_ref_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_ref_fwd.hpp
deleted file mode 100644
index f58b98c..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_ref_fwd.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-   Copyright (c) Marshall Clow 2012-2012.
-
-   Distributed under the 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
-
-    Based on the StringRef implementation in LLVM (http://llvm.org) and
-    N3422 by Jeffrey Yasskin
-        http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
-
-*/
-
-#ifndef BOOST_STRING_REF_FWD_HPP
-#define BOOST_STRING_REF_FWD_HPP
-
-#include <boost/config.hpp>
-#include <string>
-
-namespace boost {
-
-    template<typename charT, typename traits = std::char_traits<charT> > class basic_string_ref;
-    typedef basic_string_ref<char,     std::char_traits<char> >        string_ref;
-    typedef basic_string_ref<wchar_t,  std::char_traits<wchar_t> >    wstring_ref;
-
-#ifndef BOOST_NO_CXX11_CHAR16_T
-    typedef basic_string_ref<char16_t, std::char_traits<char16_t> > u16string_ref;
-#endif
-
-#ifndef BOOST_NO_CXX11_CHAR32_T
-    typedef basic_string_ref<char32_t, std::char_traits<char32_t> > u32string_ref;
-#endif
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_view.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_view.hpp
deleted file mode 100644
index 9de32cc..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_view.hpp
+++ /dev/null
@@ -1,670 +0,0 @@
-/*
-   � Copyright (c) Marshall Clow 2012-2015.
-   � Copyright Beman Dawes 2015
-
-   Distributed under the 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
-
-    Based on the StringRef implementation in LLVM (http://llvm.org) and
-    N3422 by Jeffrey Yasskin
-        http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
-    Updated July 2015 to reflect the Library Fundamentals TS
-        http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4480.html
-*/
-
-#ifndef BOOST_STRING_VIEW_HPP
-#define BOOST_STRING_VIEW_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/utility/string_view_fwd.hpp>
-#include <boost/throw_exception.hpp>
-
-#include <cstddef>
-#include <stdexcept>
-#include <algorithm>
-#include <iterator>
-#include <string>
-#include <cstring>
-#include <iosfwd>
-
-namespace boost {
-
-    namespace detail {
-    //  A helper functor because sometimes we don't have lambdas
-        template <typename charT, typename traits>
-        class string_view_traits_eq {
-        public:
-            string_view_traits_eq ( charT ch ) : ch_(ch) {}
-            bool operator()( charT val ) const { return traits::eq (ch_, val); }
-            charT ch_;
-            };
-        }
-
-    template<typename charT, typename traits>  // traits defaulted in string_view_fwd.hpp
-    class basic_string_view {
-    public:
-      // types
-      typedef traits                                traits_type;
-      typedef charT                                 value_type;
-      typedef charT*                                pointer;
-      typedef const charT*                          const_pointer;
-      typedef charT&                                reference;
-      typedef const charT&                          const_reference;
-      typedef const_pointer                         const_iterator; // impl-defined
-      typedef const_iterator                        iterator;
-      typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-      typedef const_reverse_iterator                reverse_iterator;
-      typedef std::size_t                           size_type;
-      typedef std::ptrdiff_t                        difference_type;
-      static BOOST_CONSTEXPR_OR_CONST size_type     npos = size_type(-1);
-
-      // construct/copy
-      BOOST_CONSTEXPR basic_string_view() BOOST_NOEXCEPT
-        : ptr_(NULL), len_(0) {}
-
-      BOOST_CONSTEXPR basic_string_view(const basic_string_view &rhs) BOOST_NOEXCEPT
-        : ptr_(rhs.ptr_), len_(rhs.len_) {}
-
-      basic_string_view& operator=(const basic_string_view &rhs) BOOST_NOEXCEPT {
-        ptr_ = rhs.ptr_;
-        len_ = rhs.len_;
-        return *this;
-        }
-
-      template<typename Allocator>
-        basic_string_view(const std::basic_string<charT, traits,
-          Allocator>& str) BOOST_NOEXCEPT
-        : ptr_(str.data()), len_(str.length()) {}
-
-      BOOST_CONSTEXPR basic_string_view(const charT* str)
-        : ptr_(str), len_(traits::length(str)) {}
-
-      BOOST_CONSTEXPR basic_string_view(const charT* str, size_type len)
-        : ptr_(str), len_(len) {}
-
-        // iterators
-        BOOST_CONSTEXPR const_iterator   begin() const BOOST_NOEXCEPT { return ptr_; }
-        BOOST_CONSTEXPR const_iterator  cbegin() const BOOST_NOEXCEPT { return ptr_; }
-        BOOST_CONSTEXPR const_iterator     end() const BOOST_NOEXCEPT { return ptr_ + len_; }
-        BOOST_CONSTEXPR const_iterator    cend() const BOOST_NOEXCEPT { return ptr_ + len_; }
-                const_reverse_iterator  rbegin() const BOOST_NOEXCEPT { return const_reverse_iterator(end()); }
-                const_reverse_iterator crbegin() const BOOST_NOEXCEPT { return const_reverse_iterator(end()); }
-                const_reverse_iterator    rend() const BOOST_NOEXCEPT { return const_reverse_iterator(begin()); }
-                const_reverse_iterator   crend() const BOOST_NOEXCEPT { return const_reverse_iterator(begin()); }
-
-        // capacity
-        BOOST_CONSTEXPR size_type size()     const BOOST_NOEXCEPT { return len_; }
-        BOOST_CONSTEXPR size_type length()   const BOOST_NOEXCEPT { return len_; }
-        BOOST_CONSTEXPR size_type max_size() const BOOST_NOEXCEPT { return len_; }
-        BOOST_CONSTEXPR bool empty()         const BOOST_NOEXCEPT { return len_ == 0; }
-
-        // element access
-        BOOST_CONSTEXPR const_reference operator[](size_type pos) const BOOST_NOEXCEPT { return ptr_[pos]; }
-
-        BOOST_CONSTEXPR const_reference at(size_t pos) const {
-            return pos >= len_ ? BOOST_THROW_EXCEPTION(std::out_of_range("boost::string_view::at")) : ptr_[pos];
-//             if ( pos >= len_ )
-//                 BOOST_THROW_EXCEPTION( std::out_of_range ( "boost::string_view::at" ) );
-//             return ptr_[pos];
-            }
-
-        BOOST_CONSTEXPR const_reference front() const                { return ptr_[0]; }
-        BOOST_CONSTEXPR const_reference back()  const                { return ptr_[len_-1]; }
-        BOOST_CONSTEXPR const_pointer data()    const BOOST_NOEXCEPT { return ptr_; }
-
-        // modifiers
-        void clear() BOOST_NOEXCEPT { len_ = 0; }          // Boost extension
-
-        BOOST_CXX14_CONSTEXPR void remove_prefix(size_type n) {
-            if ( n > len_ )
-                n = len_;
-            ptr_ += n;
-            len_ -= n;
-            }
-
-        BOOST_CXX14_CONSTEXPR void remove_suffix(size_type n) {
-            if ( n > len_ )
-                n = len_;
-            len_ -= n;
-            }
-
-        BOOST_CXX14_CONSTEXPR void swap(basic_string_view& s) BOOST_NOEXCEPT {
-            std::swap(ptr_, s.ptr_);
-            std::swap(len_, s.len_);
-            }
-
-        // basic_string_view string operations
-#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-        template<typename Allocator>
-        explicit operator std::basic_string<charT, traits, Allocator>() const {
-            return std::basic_string<charT, traits, Allocator>(begin(), end());
-            }
-#endif
-
-#ifndef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-        template<typename Allocator = std::allocator<charT> >
-        std::basic_string<charT, traits> to_string(const Allocator& a = Allocator()) const {
-            return std::basic_string<charT, traits, Allocator>(begin(), end(), a);
-            }
-#else
-        std::basic_string<charT, traits> to_string() const {
-            return std::basic_string<charT, traits>(begin(), end());
-            }
-#endif
-
-        size_type copy(charT* s, size_type n, size_type pos=0) const {
-            if (pos > size())
-                BOOST_THROW_EXCEPTION(std::out_of_range("string_view::copy" ));
-            size_type rlen = (std::min)(n, len_ - pos);
-            // use std::copy(begin() + pos, begin() + pos + rlen, s) rather than
-            // std::copy_n(begin() + pos, rlen, s) to support pre-C++11 standard libraries
-            std::copy(begin() + pos, begin() + pos + rlen, s);
-            return rlen;
-            }
-
-        BOOST_CXX14_CONSTEXPR basic_string_view substr(size_type pos, size_type n=npos) const {
-            if ( pos > size())
-                BOOST_THROW_EXCEPTION( std::out_of_range ( "string_view::substr" ) );
-            if (n == npos || pos + n > size())
-                n = size () - pos;
-            return basic_string_view(data() + pos, n);
-            }
-
-        BOOST_CXX14_CONSTEXPR int compare(basic_string_view x) const BOOST_NOEXCEPT {
-            const int cmp = traits::compare(ptr_, x.ptr_, (std::min)(len_, x.len_));
-            return cmp != 0 ? cmp : (len_ == x.len_ ? 0 : len_ < x.len_ ? -1 : 1);
-            }
-
-        BOOST_CXX14_CONSTEXPR int compare(size_type pos1, size_type n1, basic_string_view x)
-          const BOOST_NOEXCEPT {
-            return substr(pos1, n1).compare(x);
-            }
-
-        BOOST_CXX14_CONSTEXPR int compare(size_type pos1, size_type n1,
-          basic_string_view x, size_type pos2, size_type n2) const {
-            return substr(pos1, n1).compare(x.substr(pos2, n2));
-            }
-
-        BOOST_CXX14_CONSTEXPR int compare(const charT* x) const {
-            return compare(basic_string_view(x));
-            }
-
-        BOOST_CXX14_CONSTEXPR int compare(size_type pos1, size_type n1, const charT* x) const {
-            return substr(pos1, n1).compare(basic_string_view(x));
-            }
-
-        BOOST_CXX14_CONSTEXPR int compare(size_type pos1, size_type n1,
-          const charT* x, size_type n2) const {
-            return substr(pos1, n1).compare(basic_string_view(x, n2));
-            }
-
-        //  Searches
-        BOOST_CONSTEXPR bool starts_with(charT c) const BOOST_NOEXCEPT {              // Boost extension
-            return !empty() && traits::eq(c, front());
-            }  
-
-        BOOST_CONSTEXPR bool starts_with(basic_string_view x) const BOOST_NOEXCEPT {  // Boost extension
-            return len_ >= x.len_ && traits::compare(ptr_, x.ptr_, x.len_) == 0;
-            }
-
-        BOOST_CONSTEXPR bool ends_with(charT c) const BOOST_NOEXCEPT {                // Boost extension
-            return !empty() && traits::eq(c, back());
-            }
-
-        BOOST_CONSTEXPR bool ends_with(basic_string_view x) const BOOST_NOEXCEPT {    // Boost extension
-            return len_ >= x.len_ && 
-               traits::compare(ptr_ + len_ - x.len_, x.ptr_, x.len_) == 0;
-            }
-
-        //  find
-        BOOST_CXX14_CONSTEXPR size_type find(basic_string_view s, size_type pos = 0) const BOOST_NOEXCEPT {
-            if (pos > size())
-              return npos;
-            if (s.empty())
-              return pos;
-            const_iterator iter = std::search(this->cbegin() + pos, this->cend(),
-                                               s.cbegin (), s.cend (), traits::eq);
-            return iter == this->cend () ? npos : std::distance(this->cbegin (), iter);
-            }
-        BOOST_CXX14_CONSTEXPR size_type find(charT c, size_type pos = 0) const BOOST_NOEXCEPT
-            { return find(basic_string_view(&c, 1), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find(const charT* s, size_type pos, size_type n) const BOOST_NOEXCEPT
-            { return find(basic_string_view(s, n), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find(const charT* s, size_type pos = 0) const BOOST_NOEXCEPT
-            { return find(basic_string_view(s), pos); }
-
-        //  rfind
-        BOOST_CXX14_CONSTEXPR size_type rfind(basic_string_view s, size_type pos = npos) const BOOST_NOEXCEPT {
-            if (len_ < s.len_)
-              return npos;
-            if (pos > len_ - s.len_) 
-              pos = len_ - s.len_;
-            if (s.len_ == 0u)     // an empty string is always found
-              return pos;
-            for (const charT* cur = ptr_ + pos;; --cur) {
-                if (traits::compare(cur, s.ptr_, s.len_) == 0)
-                  return cur - ptr_;
-                if (cur == ptr_)
-                  return npos;
-                };
-            }
-        BOOST_CXX14_CONSTEXPR size_type rfind(charT c, size_type pos = npos) const BOOST_NOEXCEPT
-            { return rfind(basic_string_view(&c, 1), pos); }
-        BOOST_CXX14_CONSTEXPR size_type rfind(const charT* s, size_type pos, size_type n) const BOOST_NOEXCEPT
-            { return rfind(basic_string_view(s, n), pos); }
-        BOOST_CXX14_CONSTEXPR size_type rfind(const charT* s, size_type pos = npos) const BOOST_NOEXCEPT
-            { return rfind(basic_string_view(s), pos); }
-
-        //  find_first_of
-        BOOST_CXX14_CONSTEXPR size_type find_first_of(basic_string_view s, size_type pos = 0) const BOOST_NOEXCEPT {
-            if (pos >= len_ || s.len_ == 0)
-              return npos;
-            const_iterator iter = std::find_first_of
-                (this->cbegin () + pos, this->cend (), s.cbegin (), s.cend (), traits::eq);
-            return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
-            }
-        BOOST_CXX14_CONSTEXPR size_type find_first_of(charT c, size_type pos = 0) const BOOST_NOEXCEPT
-            { return find_first_of(basic_string_view(&c, 1), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_first_of(const charT* s, size_type pos, size_type n) const BOOST_NOEXCEPT
-            { return find_first_of(basic_string_view(s, n), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_first_of(const charT* s, size_type pos = 0) const BOOST_NOEXCEPT
-            { return find_first_of(basic_string_view(s), pos); }
-
-        //  find_last_of
-        BOOST_CXX14_CONSTEXPR size_type find_last_of(basic_string_view s, size_type pos = npos) const BOOST_NOEXCEPT {
-            if (s.len_ == 0u)
-              return npos;
-            if (pos >= len_)
-              pos = 0;
-            else
-              pos = len_ - (pos+1);
-            const_reverse_iterator iter = std::find_first_of
-                ( this->crbegin () + pos, this->crend (), s.cbegin (), s.cend (), traits::eq );
-            return iter == this->crend () ? npos : reverse_distance ( this->crbegin (), iter);
-            }
-        BOOST_CXX14_CONSTEXPR size_type find_last_of(charT c, size_type pos = npos) const BOOST_NOEXCEPT
-            { return find_last_of(basic_string_view(&c, 1), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_last_of(const charT* s, size_type pos, size_type n) const BOOST_NOEXCEPT
-            { return find_last_of(basic_string_view(s, n), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_last_of(const charT* s, size_type pos = npos) const BOOST_NOEXCEPT
-            { return find_last_of(basic_string_view(s), pos); }
-
-        //  find_first_not_of
-        BOOST_CXX14_CONSTEXPR size_type find_first_not_of(basic_string_view s, size_type pos = 0) const BOOST_NOEXCEPT {
-            if (pos >= len_)
-              return npos;
-            if (s.len_ == 0)
-              return pos;
-            const_iterator iter = find_not_of ( this->cbegin () + pos, this->cend (), s );
-            return iter == this->cend () ? npos : std::distance ( this->cbegin (), iter );
-            }
-        BOOST_CXX14_CONSTEXPR size_type find_first_not_of(charT c, size_type pos = 0) const BOOST_NOEXCEPT
-            { return find_first_not_of(basic_string_view(&c, 1), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_first_not_of(const charT* s, size_type pos, size_type n) const BOOST_NOEXCEPT
-            { return find_first_not_of(basic_string_view(s, n), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_first_not_of(const charT* s, size_type pos = 0) const BOOST_NOEXCEPT
-            { return find_first_not_of(basic_string_view(s), pos); }
-
-        //  find_last_not_of
-        BOOST_CXX14_CONSTEXPR size_type find_last_not_of(basic_string_view s, size_type pos = npos) const BOOST_NOEXCEPT {
-            if (pos >= len_)
-              pos = len_ - 1;;
-            if (s.len_ == 0u)
-              return pos;
-            pos = len_ - (pos+1);
-            const_reverse_iterator iter = find_not_of ( this->crbegin () + pos, this->crend (), s );
-            return iter == this->crend () ? npos : reverse_distance ( this->crbegin (), iter );
-            }
-        BOOST_CXX14_CONSTEXPR size_type find_last_not_of(charT c, size_type pos = npos) const BOOST_NOEXCEPT
-            { return find_last_not_of(basic_string_view(&c, 1), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_last_not_of(const charT* s, size_type pos, size_type n) const BOOST_NOEXCEPT
-            { return find_last_not_of(basic_string_view(s, n), pos); }
-        BOOST_CXX14_CONSTEXPR size_type find_last_not_of(const charT* s, size_type pos = npos) const BOOST_NOEXCEPT
-            { return find_last_not_of(basic_string_view(s), pos); }
-
-    private:
-        template <typename r_iter>
-        size_type reverse_distance(r_iter first, r_iter last) const BOOST_NOEXCEPT {
-        // Portability note here: std::distance is not NOEXCEPT, but calling it with a string_view::reverse_iterator will not throw.
-            return len_ - 1 - std::distance ( first, last );
-            }
-
-        template <typename Iterator>
-        Iterator find_not_of(Iterator first, Iterator last, basic_string_view s) const BOOST_NOEXCEPT {
-            for (; first != last ; ++first)
-                if ( 0 == traits::find(s.ptr_, s.len_, *first))
-                    return first;
-            return last;
-            }
-
-        const charT *ptr_;
-        std::size_t len_;
-        };
-
-
-//  Comparison operators
-//  Equality
-    template<typename charT, typename traits>
-    inline bool operator==(basic_string_view<charT, traits> x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT {
-        if (x.size () != y.size ()) return false;
-        return x.compare(y) == 0;
-        }
-
-//  Inequality
-    template<typename charT, typename traits>
-    inline bool operator!=(basic_string_view<charT, traits> x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        if ( x.size () != y.size ()) return true;
-        return x.compare(y) != 0;
-        }
-
-//  Less than
-    template<typename charT, typename traits>
-    inline bool operator<(basic_string_view<charT, traits> x,
-                          basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return x.compare(y) < 0;
-        }
-
-//  Greater than
-    template<typename charT, typename traits>
-    inline bool operator>(basic_string_view<charT, traits> x,
-                          basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return x.compare(y) > 0;
-        }
-
-//  Less than or equal to
-    template<typename charT, typename traits>
-    inline bool operator<=(basic_string_view<charT, traits> x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return x.compare(y) <= 0;
-        }
-
-//  Greater than or equal to
-    template<typename charT, typename traits>
-    inline bool operator>=(basic_string_view<charT, traits> x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return x.compare(y) >= 0;
-        }
-
-// "sufficient additional overloads of comparison functions"
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator==(basic_string_view<charT, traits> x,
-                     const std::basic_string<charT, traits, Allocator> & y) BOOST_NOEXCEPT { 
-        return x == basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator==(const std::basic_string<charT, traits, Allocator> & x,
-                                 basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) == y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator==(basic_string_view<charT, traits> x,
-                                              const charT * y) BOOST_NOEXCEPT { 
-        return x == basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator==(const charT * x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) == y;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator!=(basic_string_view<charT, traits> x,
-                     const std::basic_string<charT, traits, Allocator> & y) BOOST_NOEXCEPT { 
-        return x != basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator!=(const std::basic_string<charT, traits, Allocator> & x,
-                                 basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) != y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator!=(basic_string_view<charT, traits> x,
-                           const charT * y) BOOST_NOEXCEPT { 
-        return x != basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator!=(const charT * x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) != y;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<(basic_string_view<charT, traits> x,
-                    const std::basic_string<charT, traits, Allocator> & y) BOOST_NOEXCEPT { 
-        return x < basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<(const std::basic_string<charT, traits, Allocator> & x,
-                                basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) < y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<(basic_string_view<charT, traits> x,
-                          const charT * y) BOOST_NOEXCEPT { 
-        return x < basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<(const charT * x,
-                          basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) < y;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>(basic_string_view<charT, traits> x,
-                    const std::basic_string<charT, traits, Allocator> & y) BOOST_NOEXCEPT { 
-        return x > basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>(const std::basic_string<charT, traits, Allocator> & x,
-                                basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) > y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>(basic_string_view<charT, traits> x,
-                          const charT * y) BOOST_NOEXCEPT { 
-        return x > basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>(const charT * x,
-                          basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) > y;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<=(basic_string_view<charT, traits> x,
-                     const std::basic_string<charT, traits, Allocator> & y) BOOST_NOEXCEPT { 
-        return x <= basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator<=(const std::basic_string<charT, traits, Allocator> & x,
-                                 basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) <= y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<=(basic_string_view<charT, traits> x,
-                           const charT * y) BOOST_NOEXCEPT { 
-        return x <= basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator<=(const charT * x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) <= y;
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>=(basic_string_view<charT, traits> x,
-                     const std::basic_string<charT, traits, Allocator> & y) BOOST_NOEXCEPT { 
-        return x >= basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits, typename Allocator>
-    inline bool operator>=(const std::basic_string<charT, traits, Allocator> & x,
-                                 basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) >= y;
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>=(basic_string_view<charT, traits> x,
-                           const charT * y) BOOST_NOEXCEPT { 
-        return x >= basic_string_view<charT, traits>(y);
-        }
-
-    template<typename charT, typename traits>
-    inline bool operator>=(const charT * x,
-                           basic_string_view<charT, traits> y) BOOST_NOEXCEPT { 
-        return basic_string_view<charT, traits>(x) >= y;
-        }
-
-    namespace detail {
-
-        template<class charT, class traits>
-        inline void insert_fill_chars(std::basic_ostream<charT, traits>& os, std::size_t n) {
-            enum { chunk_size = 8 };
-            charT fill_chars[chunk_size];
-            std::fill_n(fill_chars, static_cast< std::size_t >(chunk_size), os.fill());
-            for (; n >= chunk_size && os.good(); n -= chunk_size)
-                os.write(fill_chars, static_cast< std::size_t >(chunk_size));
-            if (n > 0 && os.good())
-                os.write(fill_chars, n);
-            }
-
-        template<class charT, class traits>
-        void insert_aligned(std::basic_ostream<charT, traits>& os, const basic_string_view<charT,traits>& str) {
-            const std::size_t size = str.size();
-            const std::size_t alignment_size = static_cast< std::size_t >(os.width()) - size;
-            const bool align_left = (os.flags() & std::basic_ostream<charT, traits>::adjustfield) == std::basic_ostream<charT, traits>::left;
-            if (!align_left) {
-                detail::insert_fill_chars(os, alignment_size);
-                if (os.good())
-                    os.write(str.data(), size);
-                }
-            else {
-                os.write(str.data(), size);
-                if (os.good())
-                    detail::insert_fill_chars(os, alignment_size);
-                }
-            }
-
-        } // namespace detail
-
-    // Inserter
-    template<class charT, class traits>
-    inline std::basic_ostream<charT, traits>&
-    operator<<(std::basic_ostream<charT, traits>& os,
-      const basic_string_view<charT,traits>& str) {
-        if (os.good()) {
-            const std::size_t size = str.size();
-            const std::size_t w = static_cast< std::size_t >(os.width());
-            if (w <= size)
-                os.write(str.data(), size);
-            else
-                detail::insert_aligned(os, str);
-            os.width(0);
-            }
-        return os;
-        }
-
-#if 0
-    // numeric conversions
-    //
-    //  These are short-term implementations.
-    //  In a production environment, I would rather avoid the copying.
-    //
-    inline int stoi (string_view str, size_t* idx=0, int base=10) {
-        return std::stoi ( std::string(str), idx, base );
-        }
-
-    inline long stol (string_view str, size_t* idx=0, int base=10) {
-        return std::stol ( std::string(str), idx, base );
-        }
-
-    inline unsigned long stoul (string_view str, size_t* idx=0, int base=10) {
-        return std::stoul ( std::string(str), idx, base );
-        }
-
-    inline long long stoll (string_view str, size_t* idx=0, int base=10) {
-        return std::stoll ( std::string(str), idx, base );
-        }
-
-    inline unsigned long long stoull (string_view str, size_t* idx=0, int base=10) {
-        return std::stoull ( std::string(str), idx, base );
-        }
-
-    inline float stof (string_view str, size_t* idx=0) {
-        return std::stof ( std::string(str), idx );
-        }
-
-    inline double stod (string_view str, size_t* idx=0) {
-        return std::stod ( std::string(str), idx );
-        }
-
-    inline long double stold (string_view str, size_t* idx=0)  {
-        return std::stold ( std::string(str), idx );
-        }
-
-    inline int  stoi (wstring_view str, size_t* idx=0, int base=10) {
-        return std::stoi ( std::wstring(str), idx, base );
-        }
-
-    inline long stol (wstring_view str, size_t* idx=0, int base=10) {
-        return std::stol ( std::wstring(str), idx, base );
-        }
-
-    inline unsigned long stoul (wstring_view str, size_t* idx=0, int base=10) {
-        return std::stoul ( std::wstring(str), idx, base );
-        }
-
-    inline long long stoll (wstring_view str, size_t* idx=0, int base=10) {
-        return std::stoll ( std::wstring(str), idx, base );
-        }
-
-    inline unsigned long long stoull (wstring_view str, size_t* idx=0, int base=10) {
-        return std::stoull ( std::wstring(str), idx, base );
-        }
-
-    inline float  stof (wstring_view str, size_t* idx=0) {
-        return std::stof ( std::wstring(str), idx );
-        }
-
-    inline double stod (wstring_view str, size_t* idx=0) {
-        return std::stod ( std::wstring(str), idx );
-        }
-
-    inline long double stold (wstring_view str, size_t* idx=0) {
-        return std::stold ( std::wstring(str), idx );
-        }
-#endif
-
-}
-
-#if 0
-namespace std {
-    // Hashing
-    template<> struct hash<boost::string_view>;
-    template<> struct hash<boost::u16string_view>;
-    template<> struct hash<boost::u32string_view>;
-    template<> struct hash<boost::wstring_view>;
-}
-#endif
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_view_fwd.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_view_fwd.hpp
deleted file mode 100644
index dbda0de..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/string_view_fwd.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-   Copyright (c) Marshall Clow 2012-2012.
-
-   Distributed under the 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
-
-    Based on the StringRef implementation in LLVM (http://llvm.org) and
-    N3422 by Jeffrey Yasskin
-        http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
-    Updated July 2015 to reflect the Library Fundamentals TS
-        http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4480.html
-
-*/
-
-#ifndef BOOST_STRING_VIEW_FWD_HPP
-#define BOOST_STRING_VIEW_FWD_HPP
-
-#include <boost/config.hpp>
-#include <string>
-
-namespace boost {
-
-    template<typename charT, typename traits = std::char_traits<charT> > class basic_string_view;
-    typedef basic_string_view<char,     std::char_traits<char> >        string_view;
-    typedef basic_string_view<wchar_t,  std::char_traits<wchar_t> >    wstring_view;
-
-#ifndef BOOST_NO_CXX11_CHAR16_T
-    typedef basic_string_view<char16_t, std::char_traits<char16_t> > u16string_view;
-#endif
-
-#ifndef BOOST_NO_CXX11_CHAR32_T
-    typedef basic_string_view<char32_t, std::char_traits<char32_t> > u32string_view;
-#endif
-
-}
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/swap.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/swap.hpp
deleted file mode 100644
index dd9ecd9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/swap.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) 2014 Glen Fernandes
- *
- * Distributed under the 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_SWAP_HPP
-#define BOOST_UTILITY_SWAP_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/swap.hpp instead.
-
-#include <boost/core/swap.hpp>
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/typed_in_place_factory.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/typed_in_place_factory.hpp
deleted file mode 100644
index 833a346..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/typed_in_place_factory.hpp
+++ /dev/null
@@ -1,77 +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_TYPED_INPLACE_FACTORY_04APR2007_HPP
-#ifndef BOOST_PP_IS_ITERATING
-
-#include <boost/utility/detail/in_place_factory_prefix.hpp>
-
-namespace boost {
-
-class typed_in_place_factory_base {} ;
-
-#define  BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)
-#define  BOOST_PP_FILENAME_1 <boost/utility/typed_in_place_factory.hpp>
-#include BOOST_PP_ITERATE()
-
-} // namespace boost
-
-#include <boost/utility/detail/in_place_factory_suffix.hpp>
-
-#define BOOST_UTILITY_TYPED_INPLACE_FACTORY_04APR2007_HPP
-#else 
-#define N BOOST_PP_ITERATION()
-
-template< class T BOOST_PP_ENUM_TRAILING_PARAMS(N,class A) >
-class BOOST_PP_CAT(typed_in_place_factory,N) 
-  : 
-  public typed_in_place_factory_base
-{
-public:
-
-  typedef T value_type;
-
-  explicit BOOST_PP_CAT(typed_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
-  {}
-
-  void* apply (void* address) const
-  {
-    return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );
-  }
-
-  void* apply (void* address, std::size_t n) const
-  {
-    for(void* next = address = this->apply(address); !! --n;)
-      this->apply(next = static_cast<char *>(next) + sizeof(T));
-    return address; 
-  }
-
-  BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)
-};
-
-template< class T BOOST_PP_ENUM_TRAILING_PARAMS(N, class A) >
-inline BOOST_PP_CAT(typed_in_place_factory,N)<
-    T BOOST_PP_ENUM_TRAILING_PARAMS(N, A) >
-in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )
-{
-  return BOOST_PP_CAT(typed_in_place_factory,N)< 
-      T BOOST_PP_ENUM_TRAILING_PARAMS(N, A) >( BOOST_PP_ENUM_PARAMS(N, a) );
-}
-
-#undef N
-#endif
-#endif
-
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/utility/value_init.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/utility/value_init.hpp
deleted file mode 100644
index 9d8de70..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/utility/value_init.hpp
+++ /dev/null
@@ -1,281 +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)
-// 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
-
-#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;
-
-      BOOST_GPU_ENABLED
-      wrapper()
-      :
-      data()
-      {
-      }
-
-      BOOST_GPU_ENABLED
-      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;
-
-    BOOST_GPU_ENABLED
-    wrapper * wrapper_address() const
-    {
-      return static_cast<wrapper *>( static_cast<void*>(&x));
-    }
-
-  public :
-
-    BOOST_GPU_ENABLED
-    initialized()
-    {
-#if BOOST_DETAIL_VALUE_INIT_WORKAROUND
-      std::memset(&x, 0, sizeof(x));
-#endif
-      new (wrapper_address()) wrapper();
-    }
-
-    BOOST_GPU_ENABLED
-    initialized(initialized const & arg)
-    {
-      new (wrapper_address()) wrapper( static_cast<wrapper const &>(*(arg.wrapper_address())));
-    }
-
-    BOOST_GPU_ENABLED
-    explicit initialized(T const & arg)
-    {
-      new (wrapper_address()) wrapper(arg);
-    }
-
-    BOOST_GPU_ENABLED
-    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;
-    }
-
-    BOOST_GPU_ENABLED
-    ~initialized()
-    {
-      wrapper_address()->wrapper::~wrapper();
-    }
-
-    BOOST_GPU_ENABLED
-    T const & data() const
-    {
-      return wrapper_address()->data;
-    }
-
-    BOOST_GPU_ENABLED
-    T& data()
-    {
-      return wrapper_address()->data;
-    }
-
-    BOOST_GPU_ENABLED
-    void swap(initialized & arg)
-    {
-      ::boost::swap( this->data(), arg.data() );
-    }
-
-    BOOST_GPU_ENABLED
-    operator T const &() const
-    {
-      return wrapper_address()->data;
-    }
-
-    BOOST_GPU_ENABLED
-    operator T&()
-    {
-      return wrapper_address()->data;
-    }
-
-} ;
-
-template<class T>
-BOOST_GPU_ENABLED
-T const& get ( initialized<T> const& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-BOOST_GPU_ENABLED
-T& get ( initialized<T>& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-BOOST_GPU_ENABLED
-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 :
-    
-    BOOST_GPU_ENABLED
-    value_initialized()
-    :
-    m_data()
-    { }
-    
-    BOOST_GPU_ENABLED
-    T const & data() const
-    {
-      return m_data.data();
-    }
-
-    BOOST_GPU_ENABLED
-    T& data()
-    {
-      return m_data.data();
-    }
-
-    BOOST_GPU_ENABLED
-    void swap(value_initialized & arg)
-    {
-      m_data.swap(arg.m_data);
-    }
-
-    BOOST_GPU_ENABLED
-    operator T const &() const
-    {
-      return m_data;
-    }
-
-    BOOST_GPU_ENABLED
-    operator T&()
-    {
-      return m_data;
-    }
-} ;
-
-
-template<class T>
-BOOST_GPU_ENABLED
-T const& get ( value_initialized<T> const& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-BOOST_GPU_ENABLED
-T& get ( value_initialized<T>& x )
-{
-  return x.data() ;
-}
-
-template<class T>
-BOOST_GPU_ENABLED
-void swap ( value_initialized<T> & lhs, value_initialized<T> & rhs )
-{
-  lhs.swap(rhs) ;
-}
-
-
-class initialized_value_t
-{
-  public :
-    
-    template <class T> BOOST_GPU_ENABLED 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/rbgl_trimmed_boost_1_61_0/boost/variant.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/variant.hpp
deleted file mode 100644
index 6088c5d..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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/rbgl_trimmed_boost_1_61_0/boost/version.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/version.hpp
deleted file mode 100644
index ce6f79f..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/version.hpp
+++ /dev/null
@@ -1,32 +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 guaranteed
-//  to change with every Boost release. Including this header
-//  will cause a recompile every time a new Boost version is
-//  used.
-//
-//  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 106100
-
-//
-//  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_61"
-
-#endif
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/visit_each.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/visit_each.hpp
deleted file mode 100644
index 6463ca9..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/visit_each.hpp
+++ /dev/null
@@ -1,27 +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
-
-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/rbgl_trimmed_boost_1_61_0/boost/wave.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/wave.hpp
deleted file mode 100644
index f2b3bc2..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/boost/wave.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*=============================================================================
-    Boost.Wave: A Standard compliant C++ preprocessor library
-
-    http://www.boost.org/
-
-    See http://www.boost.org/libs/wave for documentation
-
-    Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the 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_HPP_DCA0EA51_EF5B_4BF1_88A8_461DBC5F292B_INCLUDED)
-#define WAVE_HPP_DCA0EA51_EF5B_4BF1_88A8_461DBC5F292B_INCLUDED
-
-#include <boost/wave/wave_config.hpp>
-#include <boost/wave/cpp_exceptions.hpp>
-#include <boost/wave/cpplexer/cpplexer_exceptions.hpp>
-
-#include <boost/wave/token_ids.hpp>
-#include <boost/wave/cpp_context.hpp>
-
-#endif // !defined(WAVE_HPP_DCA0EA51_EF5B_4BF1_88A8_461DBC5F292B_INCLUDED)
diff --git a/src/rbgl_trimmed_boost_1_61_0/boost/weak_ptr.hpp b/src/rbgl_trimmed_boost_1_61_0/boost/weak_ptr.hpp
deleted file mode 100644
index dd26869..0000000
--- a/src/rbgl_trimmed_boost_1_61_0/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

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/r-bioc-rbgl.git



More information about the debian-med-commit mailing list